:root{--color-brand-primary: #163f75;--color-brand-primary-hover: #24559c;--color-brand-primary-active: #102a4d;--color-danger: #b42318;--color-info: #24559c;--color-negative: #0f766e;--color-neutral: #718096;--color-positive: #d92d20;--color-positive-muted: #d97706;--color-success: #0f766e;--color-warning: #d97706;--color-text-primary: #173a5f;--color-text-secondary: #60718e;--color-text-tertiary: #8b9bb4;--color-text-heading: #102a4d;--color-page-bg: #f3f6fb;--color-page-bg-start: #f6f9ff;--color-page-bg-end: #eef3f9;--color-surface-bg: rgba(255, 255, 255, .92);--color-surface-bg-strong: rgba(255, 255, 255, .96);--color-surface-bg-soft: rgba(248, 250, 255, .92);--color-sidebar-bg: rgba(255, 255, 255, .84);--color-nav-bg: rgba(255, 255, 255, .88);--color-border-subtle: rgba(18, 50, 93, .08);--color-border-muted: rgba(18, 50, 93, .1);--color-border-strong: rgba(18, 50, 93, .18);--color-nav-active-text: #f7fbff;--font-family-base: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-size-caption: 13px;--font-size-body: 14px;--font-size-subtitle: 16px;--font-size-title: 20px;--font-size-heading: 28px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-card: 22px;--radius-metric-card: 24px;--radius-full: 999px;--shadow-card: 0 10px 28px rgba(39, 65, 103, .06);--shadow-floating: 0 16px 32px rgba(39, 65, 103, .12);--shadow-shell: 0 14px 40px rgba(40, 67, 114, .08);--shadow-modal: 0 18px 48px rgba(40, 67, 114, .12);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--space-page: 28px;--space-section: 32px}*{box-sizing:border-box}body{margin:0;background:var(--color-page-bg);color:var(--color-text-heading);font-family:var(--font-family-base)}a{color:inherit}.review-note-editor{display:grid;gap:8px}.review-note-editor__frame{border:1px solid #dbe4f0;border-radius:6px;overflow:hidden;position:relative}.review-note-editor__toolbar{align-items:center;background:#fff;border-bottom:1px solid #e4ebf5;display:flex;flex-wrap:wrap;gap:8px;min-height:42px;padding:6px 8px}.review-note-editor__font-size{width:78px}.review-note-editor__font-color{width:86px}.review-note-editor__toolbar .ant-btn{border-color:transparent;color:#334965;font-weight:800;min-width:30px}.review-note-editor__tool--active.ant-btn{background:#e9f2ff;border-color:#b9d5f6;color:#16478e}.review-note-editor__content{background:#fff;color:#213a5b;font-size:15px;line-height:1.6;outline:none;overflow-y:auto;padding:12px 14px;position:relative;white-space:pre-wrap}.review-note-editor__content p{margin:0 0 6px}.review-note-editor__content p:last-child{margin-bottom:0}.review-note-editor__content ul{margin:0 0 6px;padding-left:22px}.review-note-editor__content li{margin:2px 0}.review-note-editor__frame--empty .review-note-editor__content:before{color:#9aa7b8;content:attr(data-placeholder);left:14px;pointer-events:none;position:absolute;top:12px}.review-note-readonly{color:#173a5f;font-size:15px;line-height:1.6;min-height:32px;overflow-wrap:anywhere;white-space:pre-wrap}.review-note-readonly p{margin:0 0 6px}.review-note-readonly p:last-child{margin-bottom:0}.review-note-readonly p:empty{min-height:1.6em}.review-note-readonly ul{margin:0 0 6px;padding-left:22px}.review-note-readonly li{margin:2px 0}.review-note-editor__image{border:1px solid rgba(18,50,93,.12);border-radius:6px;display:inline-block;margin:4px 2px;max-height:180px;max-width:260px;object-fit:contain;vertical-align:middle}.review-note-editor__actions{bottom:8px;display:flex;gap:8px;position:absolute;right:8px}.review-note-editor__frame--has-actions .review-note-editor__content{padding-bottom:40px}.quick-capture-fabs{align-items:flex-end;bottom:28px;display:flex;flex-direction:column;gap:10px;position:fixed;right:28px;z-index:1000}.quick-capture-fab{align-items:center;background:linear-gradient(135deg,var(--color-brand-primary, #1f6feb) 0%,var(--color-brand-primary-hover, #1249a8) 100%);border:none;border-radius:999px;box-shadow:var(--shadow-floating, 0 12px 32px rgba(12, 44, 86, .28));color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:6px;padding:13px 18px;transition:transform .16s ease,box-shadow .16s ease}.quick-capture-fab:hover{box-shadow:var(--shadow-modal, 0 16px 40px rgba(12, 44, 86, .34));transform:translateY(-2px)}.quick-capture-panel{background:var(--color-surface-bg-strong, #fff);border:1px solid var(--color-border-subtle, #dbe4f0);border-radius:var(--radius-card, 12px);bottom:140px;box-shadow:var(--shadow-modal, 0 16px 48px rgba(12, 44, 86, .22));display:grid;gap:10px;max-height:min(70vh,560px);overflow:hidden;padding:14px;position:fixed;right:28px;width:360px;z-index:1000}.quick-capture-panel__header{align-items:center;display:flex;justify-content:space-between}.quick-capture-panel__title{color:#173a5f;font-size:16px;margin:0}.quick-capture-panel__target{align-items:center;display:flex;gap:8px}.quick-capture-panel__target .ant-select{flex:1;min-width:0}.quick-capture-panel__editor{max-height:300px;overflow:hidden}.quick-capture-panel__footer{display:grid;gap:8px}@media (max-width: 640px){.quick-capture-panel{left:12px;right:12px;width:auto}.quick-capture-fabs{right:16px}}.app-shell{min-height:100vh;display:grid;grid-template-columns:clamp(192px,14vw,212px) minmax(0,1fr)}.app-shell__sidebar{padding:var(--space-page) var(--space-lg);border-right:1px solid var(--color-border-muted);background:var(--color-sidebar-bg);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);display:flex;flex-direction:column}.app-shell__brand{margin:0 0 var(--space-xl)}.app-shell__title{margin:0;font-size:var(--font-size-heading);line-height:1.1}.app-shell__user{display:flex;align-items:center;gap:10px;margin-top:var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-caption)}.app-shell__user-name{display:flex;align-items:center;gap:6px;min-width:0}.app-shell__user-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell__user-tier{flex:none;padding:2px 7px;border:1px solid rgba(96,113,142,.28);border-radius:var(--radius-full);background:#60718e1a;color:var(--color-text-secondary);font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}.app-shell__user-tier--vip{border-color:#d9770666;background:#d977061f;color:#b45309}.app-shell__main-card{min-width:0;overflow-x:clip}.app-shell__nav{display:grid;gap:var(--space-md);margin-top:var(--space-sm)}.app-shell__legal{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:auto;padding-top:var(--space-xl);color:var(--color-text-tertiary);font-size:12px}.app-shell__legal a{color:inherit;text-decoration:none}.app-shell__legal a:hover{color:var(--color-brand-primary-hover)}.app-shell__nav-link{display:block;padding:14px var(--space-lg);border-radius:18px;border:1px solid var(--color-border-subtle);background:var(--color-nav-bg);box-shadow:var(--shadow-card);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.app-shell__nav-link:hover{transform:translateY(-1px);border-color:#12325d33;box-shadow:var(--shadow-floating)}.app-shell__nav-link--active{border-color:#0c2c562e;background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-primary-hover) 100%);color:var(--color-nav-active-text)}.app-shell__nav-label{display:block;font-size:var(--font-size-subtitle);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell__content{padding:var(--space-page) 0 var(--space-page) var(--space-md);min-width:0}.login-page,.auth-loading{min-height:100vh;display:grid;place-items:center;padding:var(--space-xxl)}.login-page__panel{width:min(440px,100%);padding:var(--space-section);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:var(--color-surface-bg-strong);box-shadow:var(--shadow-shell)}.login-tabs{display:inline-flex;padding:4px;border:1px solid var(--color-border-subtle);border-radius:12px;background:#eef2f9;margin-bottom:28px}.login-tabs [role=tab]{border:0;background:transparent;border-radius:9px;padding:9px 26px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;letter-spacing:.3em;text-indent:.3em;transition:background .25s,color .25s,box-shadow .25s}.login-tabs [role=tab].is-active{background:#fff;color:var(--color-brand-primary);font-weight:600;box-shadow:0 1px 4px #102a4d24,0 0 0 1px #163f750d}.login-form .ant-form-item{margin-bottom:18px}.login-page .ant-form-item-label{padding-bottom:6px}.login-page .ant-form-item-label>label{height:auto;font-size:12.5px;color:var(--color-text-secondary);letter-spacing:.04em}.login-page .ant-form-item-required:before{display:none!important}.login-page .ant-form-item-required:after{content:"*";margin-inline-start:4px;color:var(--color-danger)}.login-page .ant-input-affix-wrapper{border:1.5px solid var(--color-border-strong);border-radius:13px;background:#fbfcfe;padding:12px 14px;transition:border-color .22s,box-shadow .22s,background .22s}.login-page .ant-input-affix-wrapper>.ant-input{background:transparent;font-size:14.5px}.login-page .ant-input-affix-wrapper:hover{border-color:#bfcfe6}.login-page .ant-input-affix-wrapper-focused,.login-page .ant-input-affix-wrapper:focus-within{border-color:var(--color-brand-primary-hover);background:#fff;box-shadow:0 0 0 4px #24559c29}.login-input-icon{color:#a6b5cb;display:block;transition:color .2s}.login-page .ant-input-affix-wrapper-focused .login-input-icon,.login-page .ant-input-affix-wrapper:focus-within .login-input-icon{color:var(--color-brand-primary-hover)}.login-page .ant-input-password-icon{color:#9aa9bf}.login-page .ant-input-password-icon:hover{color:var(--color-brand-primary)}.login-aux{display:flex;justify-content:flex-end;margin:-6px 0 14px}.login-page .login-link.ant-btn{height:auto;padding:0;font-size:13px;color:var(--color-brand-primary-hover)}.login-page .login-link.ant-btn:hover{color:var(--color-brand-primary)}.login-page .login-submit.ant-btn{height:52px;margin-top:4px;border:0;border-radius:13px;background:linear-gradient(135deg,#1c4a85 0%,var(--color-brand-primary) 55%,#102a4d 100%);color:#f4f8ff;font-size:15.5px;font-weight:600;letter-spacing:.5em;text-indent:.5em;box-shadow:0 10px 24px #163f7552;transition:transform .18s,box-shadow .18s,filter .18s}.login-page .login-submit.ant-btn:hover,.login-page .login-submit.ant-btn:focus{color:#f4f8ff;filter:brightness(1.08);transform:translateY(-1.5px);box-shadow:0 14px 30px #163f7566}.login-page .login-submit.ant-btn:active{transform:translateY(0);filter:brightness(.96)}.login-back{display:flex;justify-content:center;margin-top:8px}.login-page .login-note.ant-typography{margin:10px 0 0;font-size:12px;line-height:1.7;color:var(--color-text-tertiary);text-align:center}.login-page__title{margin:0;color:var(--color-text-heading);font-size:var(--font-size-heading);line-height:1.2}.login-page__title--compact{font-size:20px;margin-bottom:22px}.login-page__legal{margin:20px 0 0;color:var(--color-text-tertiary);font-size:12px;line-height:1.7;text-align:center}.login-page__legal a{color:var(--color-brand-primary-hover);text-decoration:none}.login-page__legal a:hover{text-decoration:underline}.login-consent.ant-form-item{margin-bottom:12px}.login-consent .ant-checkbox-wrapper{align-items:flex-start;color:var(--color-text-secondary);font-size:12.5px;line-height:1.6}.login-consent .ant-checkbox{align-self:flex-start;margin-top:3px}.login-consent a{color:var(--color-brand-primary-hover);text-decoration:none}.login-consent a:hover{text-decoration:underline}.login-email-hint{margin-bottom:16px;padding:10px 12px;border-radius:12px;background:#f4f8fd;color:var(--color-text-secondary);font-size:13px;text-align:center}.login-email-hint strong{color:var(--color-brand-primary);font-weight:600}.login-resend-row{display:flex;justify-content:space-between;margin:-8px 0 14px}.login-page .login-resend-row .login-link.ant-btn:disabled{color:var(--color-text-tertiary)}.login-page__alert{margin-bottom:18px}.auth-loading__text{color:var(--color-text-secondary);font-size:var(--font-size-subtitle)}.route-loading{color:var(--color-text-secondary);font-size:var(--font-size-body);padding:var(--space-xl)}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.app-shell__sidebar{border-right:none;border-bottom:1px solid var(--color-border-muted)}.app-shell__content{padding:var(--space-xl)}.app-shell__main-card{min-height:auto;padding:var(--space-xl)}}
