:root{--font-sans:"Instrument Sans Variable";--font-mono:"JetBrains Mono Variable";--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--surface-3:#e6e9ee;--border:#e1e4ea;--border-strong:#c9ced8;--text:#141922;--text-2:#4a5263;--text-3:#626b7f;--accent:#1f5fd6;--accent-hover:#174fb8;--accent-soft:#e8effc;--accent-text:#fff;--success:#157046;--success-soft:#e6f4ec;--warning:#985600;--warning-soft:#fdf1df;--danger:#b8352e;--danger-soft:#fbeaea;--chart-1:#1f5fd6;--chart-2:#14a39a;--chart-3:#e08a1e;--chart-4:#8a5cf0;--chart-5:#d94f8a;--chart-6:#5b6b82;--brand-navy:#16305c;--brand-teal:#0f9d8d;--brand-gold:#c9a227;--brand-ink:#16305c;--chart-income:#2a78d6;--chart-expense:#eb6834;--overlay:rgba(15,20,30,.42);--shadow-1:0 1px 2px rgba(16,24,40,.05);--shadow-2:0 6px 20px rgba(16,24,40,.12),0 1px 3px rgba(16,24,40,.08);--shadow-3:0 24px 60px rgba(16,24,40,.22),0 2px 8px rgba(16,24,40,.1);--focus:0 0 0 2px var(--surface),0 0 0 4px var(--accent);--fs-xs:0.75rem;--fs-sm:0.8125rem;--fs-base:0.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--r-sm:6px;--r-md:10px;--r-lg:14px;--sidebar-w:248px;--topbar-h:56px;--ease:cubic-bezier(0.2,0.7,0.2,1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--brand-ink:#fff;--bg:#0d1016;--surface:#151a22;--surface-2:#1b212b;--surface-3:#232a35;--border:#262d38;--border-strong:#353e4c;--text:#e7eaf0;--text-2:#a9b1c0;--text-3:#848d9d;--accent:#5b8def;--accent-hover:#7aa3f3;--accent-soft:#1a2741;--accent-text:#0b1222;--success:#4cc38a;--success-soft:#13291f;--warning:#f0b45a;--warning-soft:#2f2412;--danger:#f2847d;--danger-soft:#331a1a;--chart-1:#6c9bf5;--chart-2:#3fd0c2;--chart-3:#f5b25c;--chart-4:#ad8cff;--chart-5:#f08ab6;--chart-6:#8d9bb0;--chart-income:#3987e5;--chart-expense:#d95926;--overlay:rgba(0,0,0,.6);--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 8px 24px rgba(0,0,0,.5);--shadow-3:0 28px 70px rgba(0,0,0,.6);color-scheme:dark}}:root[data-theme=dark]{--brand-ink:#fff;--bg:#0d1016;--surface:#151a22;--surface-2:#1b212b;--surface-3:#232a35;--border:#262d38;--border-strong:#353e4c;--text:#e7eaf0;--text-2:#a9b1c0;--text-3:#848d9d;--accent:#5b8def;--accent-hover:#7aa3f3;--accent-soft:#1a2741;--accent-text:#0b1222;--success:#4cc38a;--success-soft:#13291f;--warning:#f0b45a;--warning-soft:#2f2412;--danger:#f2847d;--danger-soft:#331a1a;--chart-1:#6c9bf5;--chart-2:#3fd0c2;--chart-3:#f5b25c;--chart-4:#ad8cff;--chart-5:#f08ab6;--chart-6:#8d9bb0;--chart-income:#3987e5;--chart-expense:#d95926;--overlay:rgba(0,0,0,.6);--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 8px 24px rgba(0,0,0,.5);--shadow-3:0 28px 70px rgba(0,0,0,.6);color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body,html{background:var(--bg)}body{font-family:var(--font-sans,system-ui),system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4{color:var(--text)}h1,h2,h3,h4{margin:0;line-height:1.25;text-wrap:balance}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono,code,kbd{font-family:var(--font-mono,ui-monospace),ui-monospace,Consolas,monospace}code{font-size:.92em;background:var(--surface-2);padding:1px 5px;border-radius:4px}kbd{font-size:var(--fs-xs);padding:1px 6px;border:solid var(--border-strong);border-width:1px 1px 2px;border-radius:4px;background:var(--surface);color:var(--text-2)}img{max-width:100%}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}::selection{background:var(--accent-soft)}.num,td.num,th.num{text-align:right;white-space:nowrap}.num,.stat-value,.tabular,table,td.num,th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.shell[data-collapsed=true]{--sidebar-w:64px}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:20;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--sp-3) var(--sp-2)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 14px;color:var(--text);font-weight:700;font-size:var(--fs-md);letter-spacing:-.01em}.sidebar-brand,.sidebar-brand:hover{text-decoration:none}.brand-mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none;overflow:hidden}.brand-mark-logo{background:var(--surface);border:1px solid var(--border)}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:999px;background:var(--warning-soft);color:var(--warning)}.nav-group{display:grid;grid-gap:1px;gap:1px;margin-bottom:var(--sp-3)}.nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:6px 10px 4px}.nav-link{position:relative;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-sm);color:var(--text-2);font-weight:500;text-decoration:none;transition:background .12s,color .12s}.nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link svg{flex:none}.nav-link-active{color:var(--accent);background:var(--accent-soft)}.nav-link-active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-label{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-count{font-size:11px;font-weight:600;min-width:20px;padding:0 6px;height:18px;border-radius:999px;display:inline-grid;place-items:center;background:var(--accent);color:var(--accent-text)}.nav-count-warn{background:var(--warning);color:var(--surface)}.nav-tag{font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:var(--surface-3,var(--surface-2));color:var(--text-3);border:1px solid var(--border)}.sidebar-footer{margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--border);display:grid;grid-gap:4px;gap:4px}.sidebar{overflow-x:hidden;scrollbar-width:thin}.sidebar-brand-text{display:grid;line-height:1.15;min-width:0}.sidebar-collapse{border:none;background:none;width:100%;cursor:pointer;font:inherit;text-align:left}@media (min-width:901px){.shell[data-collapsed=true] .nav-count,.shell[data-collapsed=true] .nav-group-label,.shell[data-collapsed=true] .nav-label,.shell[data-collapsed=true] .nav-tag,.shell[data-collapsed=true] .sidebar-brand-text{display:none}.shell[data-collapsed=true] .sidebar{padding-left:6px;padding-right:6px}.shell[data-collapsed=true] .sidebar-brand{justify-content:center;padding:6px 0 14px}.shell[data-collapsed=true] .nav-group{margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border)}.shell[data-collapsed=true] .nav-link{justify-content:center;padding:10px 0}.shell[data-collapsed=true] .nav-link svg{width:22px;height:22px}.shell[data-collapsed=true] .nav-link-active:before{left:-6px}.shell[data-collapsed=true] .nav-link:has(.nav-count):after{content:"";position:absolute;top:7px;right:13px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface)}}@media (max-width:900px){.sidebar-collapse{display:none}}.icon-btn.menu-trigger{width:auto;min-width:30px;padding:0 4px}.account-trigger{display:inline-flex;align-items:center;gap:4px}.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.02em;flex:none}.avatar-admin{background:var(--warning-soft);color:var(--warning)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:15;height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-6);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar-context{flex:1 1;min-width:0;color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-context strong{color:var(--text);font-weight:600}.topbar-actions{display:flex;align-items:center;gap:6px;flex:none}.menu-toggle{display:none}.page{width:100%;max-width:1320px;margin:0 auto;padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-5)}.page>*{margin:0}.sidebar-scrim{display:none}@media (max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:272px;transform:translateX(-100%);transition:transform .2s var(--ease);box-shadow:var(--shadow-3);z-index:55}.shell[data-mobile-open=true] .sidebar{transform:translateX(0)}.shell[data-mobile-open=true] .sidebar-scrim{display:block;position:fixed;inset:0;background:var(--overlay);z-index:54}.menu-toggle{display:inline-flex}.topbar{padding:0 var(--sp-4)}.page{padding:var(--sp-4)}.shell[data-collapsed=true]{--sidebar-w:248px}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.page-header>div:first-child{min-width:0;flex:1 1 320px}.page-title{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em}.page-desc{color:var(--text-2);margin-top:4px;max-width:72ch}.page-actions{gap:var(--sp-2);flex-wrap:wrap}.breadcrumb,.page-actions{display:flex;align-items:center}.breadcrumb{font-size:var(--fs-sm);color:var(--text-3);margin-bottom:4px;gap:6px}.breadcrumb a{color:var(--text-2)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:500 var(--fs-base)/1 inherit;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--surface-2)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--surface);border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:var(--surface)}.btn-sm,.btn-small{height:30px;padding:0 10px;font-size:var(--fs-sm)}.btn-lg{height:44px;padding:0 20px;font-size:var(--fs-md)}.btn-block{width:100%}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;position:relative;transition:background .12s,color .12s}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn-ok,.icon-btn-ok:hover{color:var(--success)}.icon-btn-ok:hover{background:var(--success-soft)}.icon-btn-bad{color:var(--danger)}.icon-btn-bad:hover{background:var(--danger-soft);color:var(--danger)}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}.link-btn:hover{text-decoration:underline}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-4);min-width:0}.field>label,.label{font-size:var(--fs-sm);font-weight:500;color:var(--text);display:flex;align-items:center;gap:6px}.field-hint{font-size:var(--fs-xs);color:var(--text-3);display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.field-error{font-size:var(--fs-xs);color:var(--danger)}.field-tag{margin-left:auto;font-size:var(--fs-xs);color:var(--text-3);font-weight:500}.input{width:100%;height:36px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-base);transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--text-3)}.input:hover{border-color:color-mix(in srgb,var(--border-strong) 60%,var(--text-3))}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}select.input{padding-right:30px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}textarea.input{height:auto;min-height:72px;padding:8px 10px;resize:vertical;line-height:1.5}.input-warn{border-color:var(--warning);background:color-mix(in srgb,var(--warning-soft) 60%,var(--surface))}.input-error{border-color:var(--danger)}.input-money{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input-group{position:relative;align-items:center}.input-group>.input-prefix,.input-group>svg{position:absolute;left:10px;color:var(--text-3);pointer-events:none}.input-group>.input{padding-left:32px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:0 var(--sp-4);gap:0 var(--sp-4)}.form-section{padding-bottom:var(--sp-5);margin-bottom:var(--sp-5);border-bottom:1px solid var(--border)}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 var(--sp-3)}.form-actions{gap:var(--sp-2);flex-wrap:wrap}.checkbox-row,.form-actions{display:flex;align-items:center}.checkbox-row{gap:8px;margin:6px 0 12px;font-size:var(--fs-base);cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.switch{display:inline-flex;align-items:center;gap:10px}.switch,.switch input{position:relative;cursor:pointer}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:20px;border-radius:999px;background:var(--border-strong);transition:background .15s;margin:0;flex:none}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);transition:transform .15s var(--ease)}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translateX(14px)}.switch input:disabled{opacity:.5;cursor:not-allowed}.segmented{display:inline-flex;padding:3px;gap:3px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:100%}.segmented-btn{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-2);padding:6px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:500;white-space:nowrap}.segmented-btn:hover{color:var(--text)}.segmented-btn-active{color:var(--text)}.card,.segmented-btn-active{background:var(--surface);box-shadow:var(--shadow-1)}.card{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5);min-width:0}.card-header{justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}.card-header,.card-title{display:flex;align-items:center}.card-title{font-size:var(--fs-md);font-weight:600;margin:0 0 var(--sp-3);gap:8px}.card-header .card-title{margin:0}.card-flush{padding:0;overflow:hidden}.card-flush>.card-header{padding:var(--sp-4) var(--sp-5) 0}.stack{flex-direction:column;gap:var(--sp-4)}.row,.stack{display:flex}.row{gap:var(--sp-3);align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.dash-grid>.card{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);display:flex;flex-direction:column;gap:4px;min-width:0;color:inherit;box-shadow:var(--shadow-1)}.stat-card-link{text-decoration:none;transition:border-color .12s,transform .12s}.stat-card-link:hover{border-color:var(--border-strong);text-decoration:none}.stat-label{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);display:flex;align-items:center;gap:6px}.stat-value{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--text);overflow-wrap:anywhere}.stat-inline,.stat-sub{font-size:var(--fs-sm);color:var(--text-2)}.stat-inline{display:flex;flex-wrap:wrap;gap:var(--sp-5)}.stat-inline strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.card .table-wrap,.drawer .table-wrap,.modal .table-wrap{box-shadow:none}table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-2);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:9px 12px;white-space:nowrap}tbody td,thead th{border-bottom:1px solid var(--border)}tbody td{padding:10px 12px;vertical-align:middle;color:var(--text)}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .1s}tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}tbody tr.row-selected{background:var(--accent-soft)}.card table thead th{background:transparent}.card>div>table,.card>table{margin:0}.row-link{cursor:pointer}.row-title{color:var(--text);font-weight:600;text-decoration:none}.row-title:hover{color:var(--accent);text-decoration:none}.row-sub{color:var(--text-3);font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.4}.row-actions{display:flex;gap:2px;justify-content:flex-end}@media (hover:hover){tbody tr .row-actions-hover{opacity:0;transition:opacity .12s}tbody tr:focus-within .row-actions-hover,tbody tr:hover .row-actions-hover{opacity:1}}.empty-row td{text-align:center;color:var(--text-3);padding:var(--sp-8) var(--sp-4)}.table-footer{padding:10px 12px;border-top:1px solid var(--border);color:var(--text-3);font-size:var(--fs-sm)}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;white-space:nowrap;background:var(--surface-3);color:var(--text-2);line-height:1}.badge svg{width:12px;height:12px}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-accent,.badge-info{background:var(--accent-soft);color:var(--accent)}.badge-neutral,.tab-count{background:var(--surface-3);color:var(--text-2)}.tab-count{margin-left:6px;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:var(--fs-sm);color:var(--text)}button.chip{cursor:pointer}button.chip:hover{border-color:var(--accent);color:var(--accent)}.chip-fixed{border-style:dashed;color:var(--text-2)}.chip-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--text-3);cursor:pointer;padding:0;display:inline-grid;place-items:center;border-radius:4px}.chip-x:hover{color:var(--danger)}.legend{display:flex;gap:var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);margin-bottom:6px}.legend-dot{width:9px;height:9px;border-radius:2px;margin-right:6px}.dot,.legend-dot{display:inline-block}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-3)}.callout,.error-banner,.hint-banner,.success-banner{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:var(--r-sm);font-size:var(--fs-base);line-height:1.5;border:1px solid transparent;margin:0}.callout>svg{flex:none;margin-top:2px}.callout-body{flex:1 1;min-width:0}.callout-title{font-weight:600;display:block}.callout-info,.hint-banner{background:var(--accent-soft);color:var(--text);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.callout-info>svg{color:var(--accent)}.callout-success,.success-banner{background:var(--success-soft);color:var(--text);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.callout-success>svg{color:var(--success)}.callout-warning{background:var(--warning-soft);color:var(--text);border-color:color-mix(in srgb,var(--warning) 25%,transparent)}.callout-warning>svg{color:var(--warning)}.callout-danger,.error-banner{background:var(--danger-soft);color:var(--text);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.callout-danger>svg,.error-banner{color:var(--danger)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-2);padding:10px 12px;font:inherit;font-weight:500;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.tab,.tab:hover{text-decoration:none}.tab:hover{color:var(--text)}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.toolbar{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.toolbar>.input{width:auto;flex:0 1 220px}.toolbar .toolbar-search{flex:1 1 260px}.filters{gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.empty-state,.filters{display:flex;align-items:center}.empty-state{flex-direction:column;text-align:center;gap:8px;padding:var(--sp-10) var(--sp-6);color:var(--text-2)}.empty-state>svg{color:var(--text-3);margin-bottom:4px}.empty-state h3{font-size:var(--fs-md);font-weight:600}.empty-state p{max-width:48ch}.empty-state .btn{margin-top:8px}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.overlay{position:fixed;inset:0;background:var(--overlay);z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);animation:fade .16s var(--ease)}.modal{background:var(--surface);color:var(--text);border-radius:var(--r-lg);box-shadow:var(--shadow-3);width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;animation:rise .2s var(--ease);border:1px solid var(--border)}.modal-sm{max-width:420px}.modal-md{max-width:600px}.modal-lg{max-width:880px}.drawer-header,.modal-header{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-3)}.drawer-header h2,.modal-header h2{font-size:var(--fs-lg);font-weight:600;flex:1 1;min-width:0}.drawer-header p,.modal-header p{color:var(--text-2);margin-top:4px;font-size:var(--fs-sm)}.drawer-body,.modal-body{padding:var(--sp-2) var(--sp-5) var(--sp-5);overflow-y:auto;flex:1 1;min-height:0}.drawer-footer,.modal-footer{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--r-lg) var(--r-lg);flex-wrap:wrap}.drawer-overlay{position:fixed;inset:0;background:var(--overlay);z-index:50;animation:fade .16s var(--ease)}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(100vw,var(--drawer-w,560px));background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:slide-in .22s var(--ease)}.drawer-md{--drawer-w:560px}.drawer-lg{--drawer-w:880px}.drawer-xl{--drawer-w:1100px}.drawer-footer{border-radius:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.99)}}@keyframes slide-in{0%{transform:translateX(24px);opacity:0}}.toast-region{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:70;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-2);animation:rise .2s var(--ease);font-size:var(--fs-base)}.toast>svg{flex:none;margin-top:1px}.toast-success>svg{color:var(--success)}.toast-error>svg{color:var(--danger)}.toast-info>svg{color:var(--accent)}.toast-error{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.toast-body{flex:1 1;min-width:0}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:6px;animation:rise .14s var(--ease)}.menu-floating{position:fixed;right:auto;z-index:75;max-width:calc(100vw - 16px)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--r-sm);border:none;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;text-decoration:none}.menu-item:focus-visible,.menu-item:hover{background:var(--surface-2);text-decoration:none;box-shadow:none}.menu-item-danger{color:var(--danger)}.menu-sep{height:1px;background:var(--border);margin:6px 0}.menu-head{padding:8px 10px;font-size:var(--fs-sm);color:var(--text-2)}.menu-head strong{display:block;color:var(--text)}.detail-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--sp-4) var(--sp-6);gap:var(--sp-4) var(--sp-6);margin:0}.detail-list dt{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.detail-list dd{margin:3px 0 0;overflow-wrap:anywhere}.kv-list{list-style:none;margin:0;padding:0}.kv-list li{display:flex;justify-content:space-between;gap:var(--sp-3);padding:10px 0;border-bottom:1px solid var(--border)}.kv-list li:last-child{border-bottom:none}.kv-list span{color:var(--text-2)}.kv-list strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plain-list{margin:0;padding-left:18px;display:grid;grid-gap:8px;gap:8px}.feature-row{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) 0;border-bottom:1px solid var(--border);cursor:pointer}.feature-row:last-of-type{border-bottom:none}.feature-row>span{display:grid;grid-gap:2px;gap:2px}.feature-row-disabled{opacity:.55;cursor:not-allowed}.bar-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.bar-list-head{display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-sm);margin-bottom:5px}.bar-list-head span{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-list-track{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.bar-list-track>div{height:100%;border-radius:0 4px 4px 0}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:var(--sp-4) var(--sp-6);gap:var(--sp-4) var(--sp-6)}.progress-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .4s var(--ease)}.confidence-track{display:inline-block;width:56px;height:5px;background:var(--surface-3);border-radius:999px;overflow:hidden;vertical-align:middle}.confidence-fill{display:block;height:100%;border-radius:999px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:var(--sp-10) var(--sp-6);border:1.5px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:border-color .12s,background .12s}.dropzone strong{color:var(--text);font-size:var(--fs-md)}.dropzone>svg{color:var(--accent)}.dropzone-active,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone-disabled{opacity:.55;cursor:not-allowed}.upload-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:0 var(--sp-4);gap:0 var(--sp-4);margin-bottom:var(--sp-2)}.upload-summary{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.queue-layout{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start}.queue-list{border:1px solid var(--border);border-radius:var(--r-md);max-height:calc(100vh - 170px);overflow-y:auto;top:calc(var(--topbar-h) + 16px)}.queue-count,.queue-list{background:var(--surface);position:-webkit-sticky;position:sticky}.queue-count{padding:10px 14px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);border-bottom:1px solid var(--border);top:0}.queue-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 14px;border:none;border-bottom:1px solid var(--border);background:none;color:var(--text);font:inherit;cursor:pointer;border-left:3px solid transparent}.queue-item:hover{background:var(--surface-2)}.queue-item-active{background:var(--accent-soft);border-left-color:var(--accent)}.queue-item-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item-meta{font-size:var(--fs-sm);color:var(--text-3);display:flex;gap:8px;justify-content:space-between}.review-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start}.review-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;height:calc(100vh - 170px);position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 16px)}.drawer .review-preview{height:calc(100vh - 150px);top:0}.preview-frame{width:100%;height:100%;border:0;background:#fff}.preview-image-wrap{width:100%;height:100%;overflow:auto;display:flex;justify-content:center;padding:var(--sp-4)}.preview-image{max-width:100%;height:auto;box-shadow:var(--shadow-2);background:#fff}.preview-empty{height:100%;display:grid;place-items:center;color:var(--text-3);padding:var(--sp-6);text-align:center}.review-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.review-form-header{display:flex;justify-content:space-between;gap:var(--sp-3);align-items:flex-start}.review-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 var(--sp-3);gap:0 var(--sp-3)}.review-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;position:-webkit-sticky;position:sticky;bottom:0;background:var(--surface);padding-top:var(--sp-3);border-top:1px solid var(--border)}@media (max-width:1100px){.review-layout{grid-template-columns:minmax(0,1fr)}.review-preview{height:60vh;position:static}}@media (max-width:900px){.queue-layout{grid-template-columns:minmax(0,1fr)}.queue-list{position:static;max-height:260px}.review-fields{grid-template-columns:minmax(0,1fr)}}.alert-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.alert-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface)}.alert-critical{border-left:3px solid var(--danger)}.alert-warning{border-left:3px solid var(--warning)}.alert-info{border-left:3px solid var(--accent)}.alert-icon{flex:none;margin-top:1px}.alert-critical .alert-icon{color:var(--danger)}.alert-warning .alert-icon{color:var(--warning)}.alert-info .alert-icon{color:var(--accent)}.alert-body{flex:1 1;min-width:0;display:grid;grid-gap:3px;gap:3px}.alert-actions{display:flex;gap:4px;align-items:center}.alert-list-compact .alert-item{padding:9px 12px}.bell{position:relative}.bell-count{position:absolute;top:-3px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}.bell-count-urgent{background:var(--warning);color:var(--surface)}.bell-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(380px,calc(100vw - 24px));max-height:460px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:6px;z-index:40;animation:rise .14s var(--ease)}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px}.bell-item{display:flex;gap:10px;padding:9px 10px;border-radius:var(--r-sm);color:var(--text);text-decoration:none;font-size:var(--fs-sm)}.bell-item:hover{background:var(--surface-2);text-decoration:none}.bell-item>span:last-child{display:grid;grid-gap:2px;gap:2px;min-width:0}.thread{display:grid;grid-gap:10px;gap:10px;margin:var(--sp-4) 0}.thread-msg{padding:10px 14px;border-radius:var(--r-md);background:var(--surface-2);max-width:82%}.thread-msg-admin{margin-left:auto;background:var(--accent-soft)}.thread-msg-internal{border:1px dashed var(--warning);background:var(--warning-soft)}.chat-layout{display:grid;grid-template-columns:290px minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);align-items:stretch}.chat-list{max-height:calc(100vh - 170px);overflow-y:auto}.chat-conv{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:var(--r-sm);cursor:pointer}.chat-conv:hover{background:var(--surface-2)}.chat-conv-active{background:var(--accent-soft)}.chat-conv-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.chat-main{display:flex;flex-direction:column;min-height:calc(100vh - 170px);padding:0;overflow:hidden}.chat-thread{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:var(--sp-5)}.chat-msg{max-width:min(80%,70ch);padding:10px 14px;border-radius:14px;line-height:1.55}.chat-msg-user{margin-left:auto;background:var(--accent);color:var(--accent-text);border-bottom-right-radius:4px}.chat-msg-assistant{background:var(--surface-2);border-bottom-left-radius:4px}.chat-empty{margin:auto;text-align:center;display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);justify-items:center;max-width:560px}.chat-input{display:flex;gap:8px;align-items:flex-end;padding:var(--sp-4);border-top:1px solid var(--border)}.chat-input textarea{flex:1 1;min-height:44px}@media (max-width:900px){.chat-layout{grid-template-columns:minmax(0,1fr)}.chat-list{max-height:220px}}.vat-return{background:#fff;color:#111;font-family:Times New Roman,Georgia,serif;padding:28px 32px;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.vat-intro{font-size:.8rem;text-transform:uppercase;margin:0 0 18px;color:#222;letter-spacing:.01em}.vat-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px;gap:12px}.vat-head h2{margin:0;font-size:1.6rem;color:#111;letter-spacing:.02em}.vat-head p{margin:2px 0 0;font-size:.85rem;color:#333}.vat-currency{font-weight:700;width:150px;text-align:center}.vat-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:7px 6px;cursor:pointer;border-radius:4px}.vat-row:hover{background:#f1f5fb}.vat-row-focus{background:#e3edfb}.vat-row-total .vat-label{font-weight:700}.vat-label{max-width:620px;line-height:1.35}.vat-value{border:2px solid #111;padding:4px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:#fff}.vat-value,.vat-value-plain{min-width:150px;text-align:right}.vat-value-plain{padding:4px 10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vat-outcome{margin-top:16px;padding:10px 14px;border-radius:6px;font-family:var(--font-sans),system-ui,sans-serif;font-weight:600}.vat-outcome-pay{background:#fff4e5;color:#7a4300}.vat-outcome-repay{background:#e8f7ef;color:#11643a}.vat-outcome-nil{background:#f1f3f6;color:#444}@media (max-width:640px){.vat-return{padding:18px}.vat-row{flex-direction:column;align-items:stretch;gap:6px}.vat-value,.vat-value-plain{min-width:0}}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}.auth-aside{background:var(--brand-navy);color:#e8eef9;padding:var(--sp-10);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-8);position:relative;overflow:hidden}.auth-aside h2{color:#fff;font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;max-width:20ch}.auth-aside p{color:#b8c4da;max-width:46ch}.auth-aside ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px;color:#d5ddec}.auth-aside li{display:flex;gap:10px;align-items:flex-start}.auth-aside li svg{color:#7fb0ff;flex:none;margin-top:2px}.auth-ledger{position:absolute;right:-40px;bottom:-40px;width:340px;opacity:.12;pointer-events:none}.auth-main{position:relative;align-items:center;justify-content:center;padding:var(--sp-8) var(--sp-5)}.auth-card,.auth-main{display:flex;flex-direction:column}.auth-card{width:100%;max-width:400px;gap:var(--sp-4)}.auth-card .card{padding:var(--sp-6)}.auth-title{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em}.auth-sub{color:var(--text-2)}.auth-brand{display:flex;align-items:center;gap:10px;color:#fff;width:-moz-fit-content;width:fit-content}.auth-brand,.auth-brand:hover,.auth-mobile-brand{text-decoration:none}.auth-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:var(--sp-6)}@media (max-width:900px){.auth-shell{grid-template-columns:minmax(0,1fr)}.auth-aside{display:none}.auth-mobile-brand{display:flex}}.mono-ref{font-family:var(--font-mono),ui-monospace,monospace;font-size:.92em;color:var(--text-2)}.divider{height:1px;background:var(--border);margin:var(--sp-4) 0}.section-title{font-size:var(--fs-md);font-weight:600}.swatch{width:100%;height:44px;border-radius:var(--r-sm);border:1px solid var(--border)}@media print{.no-print,.sidebar,.toast-region,.topbar{display:none!important}.shell{display:block!important}body,html{background:#fff!important}.page{padding:0;max-width:none}.card,.table-wrap{border:none!important;box-shadow:none!important}.print-only{display:block!important}}.print-only{display:none}.drawer-body form>div[style*=flex]:last-child,.modal-body form>div[style*=flex]:last-child{flex-direction:row-reverse;justify-content:flex-start;border-top:1px solid var(--border);padding-top:var(--sp-4);margin-top:var(--sp-2)}.dash-grid-main{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}@media (max-width:1100px){.dash-grid-main{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.table-wrap>table{min-width:620px}}.date-input{position:relative;display:inline-flex;width:100%;min-width:140px}.date-input>.input{width:100%;padding-right:36px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.date-input-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);cursor:pointer}.date-input-btn:hover{color:var(--text);background:var(--surface-2)}.date-input-native{position:absolute;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.doc-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 10px;margin-bottom:12px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2)}.doc-tools-actions{display:flex;flex-wrap:wrap;gap:4px}.split-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);min-height:420px}.split-preview{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);min-height:420px;display:flex}.split-preview>*{flex:1 1}.split-preview .preview-frame{width:100%;height:100%;min-height:420px;border:0}.split-page-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;max-height:460px;overflow:auto}.split-page{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md)}.split-page-active{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:760px){.split-layout{grid-template-columns:minmax(0,1fr)}.split-preview,.split-preview .preview-frame{min-height:300px}}.sidebar-brand-row{display:flex;align-items:center;gap:8px}.plan-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer}.plan-option-active{border-color:var(--accent);background:var(--accent-soft)}.client-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:6px 12px;gap:6px 12px;max-height:220px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:var(--r-md)}.perm-table td:first-child{min-width:260px}.tour{z-index:90}.tour,.tour-dim{position:fixed;inset:0}.tour-dim{background:var(--overlay)}.tour-spot{position:fixed;border-radius:var(--r-md);box-shadow:0 0 0 9999px var(--overlay),0 0 0 2px var(--accent);transition:all .22s var(--ease);pointer-events:none}.tour-card{position:fixed;width:min(340px,calc(100vw - 24px));background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:16px 18px;outline:none;animation:rise .16s var(--ease)}.tour-card h2{margin:2px 0 6px;font-size:var(--fs-lg);letter-spacing:-.01em}.tour-card p{margin:0;color:var(--text-2);line-height:1.55;font-size:var(--fs-sm)}.tour-card-head{display:flex;justify-content:space-between;align-items:center;margin:-4px -6px 0 0}.tour-progress{font-size:12px;font-weight:600;color:var(--accent)}.tour-dots{display:flex;gap:4px;margin:14px 0 12px}.tour-dots span{width:6px;height:6px;border-radius:50%;background:var(--border-strong)}.tour-dots span.on{width:16px;border-radius:3px;background:var(--accent)}.tour-actions{display:flex;justify-content:space-between;gap:8px}.guide-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}.guide-toc{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 16px);display:grid;grid-gap:2px;gap:2px}.guide-toc a{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm);text-decoration:none}.guide-toc a:hover{background:var(--surface-2);color:var(--text)}.guide-section{scroll-margin-top:calc(var(--topbar-h) + 16px)}.guide-section h2{display:flex;align-items:center;gap:10px}.guide-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.guide-section ol{margin:0 0 14px;padding-left:20px;display:grid;grid-gap:6px;gap:6px;color:var(--text-2);line-height:1.55}@media (max-width:900px){.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-toc{position:static;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.attach{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.attach-list{margin-top:8px}.attach .chip{max-width:100%}.cat-hint{margin-top:4px;font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:6px}.cat-hint-suggest{color:var(--warning)}.cat-hint-suggest strong{color:var(--text);font-weight:600}.cat-hint-ok{color:var(--success)}.cat-hint .icon-btn{width:22px;height:22px}.perm-edit{display:inline-flex;align-items:center;gap:4px;color:var(--success);font-size:var(--fs-sm);font-weight:600}.cost-bars{display:flex;align-items:flex-end;gap:3px;height:140px;padding-top:8px}.cost-bar{flex:1 1;min-width:6px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.cost-bar span{width:100%;border-radius:3px 3px 0 0;background:var(--chart-income)}.cost-bar em{font-style:normal;font-size:10px;color:var(--text-3)}.input-group{display:flex;gap:6px}.kb-text{white-space:pre-wrap;font-size:var(--fs-sm);line-height:1.6;color:var(--text-2);max-height:520px;overflow:auto}.aw-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:0;cursor:pointer;font:inherit;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--brand-navy),#1f4a7d);box-shadow:var(--shadow-3);transition:transform .15s var(--ease)}.aw-fab:hover{transform:translateY(-2px)}.aw-fab svg{color:#7fe3d6}.aw-panel{position:fixed;right:20px;bottom:20px;z-index:60;width:min(400px,calc(100vw - 24px));height:min(620px,calc(100vh - 100px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);overflow:hidden;animation:rise .16s var(--ease)}.aw-head{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.aw-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#7fe3d6;background:linear-gradient(135deg,var(--brand-navy),#1f4a7d);flex:none}.aw-title{flex:1 1;min-width:0;display:grid;line-height:1.2}.aw-title span{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aw-body{flex:1 1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.aw-msg{max-width:88%;padding:10px 12px;border-radius:14px;font-size:var(--fs-sm);line-height:1.5}.aw-msg-assistant{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px}.aw-msg-user{align-self:flex-end;background:var(--accent);color:var(--accent-text);border-bottom-right-radius:4px}.aw-rich p{margin:0 0 6px}.aw-rich p:last-child{margin-bottom:0}.aw-bullet{position:relative;padding-left:14px;margin:2px 0}.aw-bullet:before{content:"•";position:absolute;left:2px;color:var(--text-3)}.aw-link{font-weight:600;text-decoration:underline}.aw-msg-user .aw-link{color:inherit}.aw-tasks{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-gap:6px;gap:6px}.aw-tasks a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);color:var(--text);text-decoration:none}.aw-tasks a:hover{border-color:var(--accent)}.aw-tasks span{display:grid}.aw-tasks em{font-style:normal;font-size:12px;color:var(--text-3)}.aw-task-high a{border-left:3px solid var(--warning)}.aw-typing{display:inline-flex;gap:4px}.aw-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:aw-dot 1s ease-in-out infinite}.aw-typing span:nth-child(2){animation-delay:.15s}.aw-typing span:nth-child(3){animation-delay:.3s}@keyframes aw-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.aw-suggest{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-top:1px solid var(--border);scrollbar-width:thin}.aw-suggest .chip{white-space:nowrap;font-size:12px}.aw-input{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--border)}.aw-input textarea{flex:1 1;resize:none;max-height:120px;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:8px 10px;font:inherit;font-size:var(--fs-sm);background:var(--surface);color:var(--text)}@media (max-width:560px){.aw-fab span{display:none}.aw-fab{padding:14px}.aw-panel{right:12px;bottom:12px;height:calc(100vh - 80px)}}@media print{.aw-fab,.aw-panel{display:none!important}}.task-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.task-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.task-list li.task-high{border-left:3px solid var(--warning)}@media (max-width:560px){.task-list li{flex-direction:column;align-items:stretch}}.guide-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,300px);grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start;margin-bottom:var(--sp-5);background:linear-gradient(135deg,var(--accent-soft),var(--surface) 60%)}.guide-hero-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#7fe3d6;background:linear-gradient(135deg,var(--brand-navy),#1f4a7d);box-shadow:var(--shadow-2,0 4px 12px rgba(0,0,0,.15))}.guide-hero-body h2{margin:0 0 4px;font-size:1.25rem}.guide-hero-body{display:grid;grid-gap:10px;gap:10px}.guide-ask{display:flex;gap:8px}.guide-ask .input{flex:1 1;min-width:0}.guide-hero-tasks{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border)}.guide-hero-tasks .task-list li{padding:6px 8px;font-size:var(--fs-sm)}.guide-filter{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-bottom:6px;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-3);background:var(--surface)}.guide-filter input{border:0;outline:0;background:transparent;font:inherit;font-size:var(--fs-sm);color:var(--text);width:100%}.guide-steps{list-style:none;counter-reset:step;padding-left:0!important}.guide-steps li{counter-increment:step;position:relative;padding-left:34px;min-height:24px}.guide-steps li:before{content:counter(step);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft)}.guide-actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width:900px){.guide-hero{grid-template-columns:minmax(0,1fr)}.guide-hero-avatar{display:none}.guide-ask{flex-direction:column}}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart-grid line{stroke:var(--border);stroke-dasharray:3 4}.chart-axis{fill:var(--text-3);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-zero{stroke:var(--border-strong)}.chart-bar{transition:opacity .12s var(--ease)}.chart-dim .chart-bar:not(.is-hot){opacity:.45}.chart-tip{position:absolute;pointer-events:none;transform:translate(-50%,calc(-100% - 10px));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:8px 10px;font-size:12px;white-space:nowrap;z-index:2}.chart-tip strong{display:block;margin-bottom:4px}.chart-tip-row{display:flex;align-items:center;gap:6px;justify-content:space-between}.chart-tip-row span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;margin-left:12px}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-2);margin-top:8px}.chart-legend span,.chart-tip-row span:first-child{display:inline-flex;align-items:center;gap:6px}.chart-swatch{width:10px;height:10px;border-radius:3px;flex:none}.donut{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:16px;gap:16px;align-items:center}.donut-center{font-size:12px;fill:var(--text-3)}.donut-total{font-size:15px;font-weight:700;fill:var(--text)}.donut-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;font-size:var(--fs-sm)}.donut-list li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.donut-list li span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.donut-list li span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:560px){.donut{grid-template-columns:minmax(0,1fr);justify-items:center}}.link-like{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-align:left}.link-like:hover{text-decoration:underline}tfoot .total-row td{font-weight:700;border-top:2px solid var(--border-strong);background:var(--surface-2)}.insight-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.insight{display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:12px;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.insight-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.insight-warning .insight-icon{background:var(--warning-soft);color:var(--warning)}.insight-critical .insight-icon{background:var(--danger-soft);color:var(--danger)}.insight-critical{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.insight-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.insight-amount{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.insight p{margin:4px 0 6px;color:var(--text-2);font-size:var(--fs-sm);line-height:1.5}.insight-links{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;align-items:center}.insight-links a{display:inline-flex;align-items:center;gap:4px}.totals-bar{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm)}.totals-bar strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals-bar em{font-style:normal;color:var(--text-3);margin-left:4px;font-size:12px}.bu-calc{padding:12px;margin-bottom:var(--sp-4);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);display:grid;grid-gap:8px;gap:8px}.bu-calc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px;align-items:end}.bu-grid td,.bu-grid th{padding-top:4px;padding-bottom:4px}.bu-grid .input{width:100%;max-width:120px;margin-left:auto;text-align:right;padding:4px 8px}.mtd-connect{display:inline-flex}.mtd-dev{display:grid;grid-gap:12px;gap:12px;border-style:dashed}.mtd-dev-head{display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.mtd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:8px;gap:8px}.mtd-steps li{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm)}.mtd-steps li svg{flex:none;margin-top:2px;color:var(--text-3)}.mtd-steps li.current{color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.mtd-steps li.current svg{color:var(--accent)}.mtd-steps li.done svg{color:var(--success)}.mtd-boxes{width:100%}.mtd-boxes td{padding:8px 4px;border-bottom:1px solid var(--border);vertical-align:top}.mtd-boxes code{font-size:11px;color:var(--text-3)}.mtd-boxes .total-row td{font-weight:700}.mtd-declare{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.5}.mtd-declare input{margin-top:3px}.mtd-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap}.mtd-footer .row-sub{display:inline-flex;gap:6px;align-items:center}body:has(.overlay) .aw-fab,body:has(.overlay) .aw-panel{display:none}.sub-history{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;font-size:var(--fs-sm)}.sub-history li{padding:8px 0 8px 14px;border-left:2px solid var(--border-strong);display:grid;grid-gap:2px;gap:2px}.page-hints{display:grid;grid-gap:8px;gap:8px}.page-hint{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 8px 8px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);font-size:var(--fs-sm)}.page-hint>svg{color:var(--accent)}.page-hint-high{background:var(--warning-soft)}.page-hint-high>svg{color:var(--warning)}.page-hint-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.page-hint{grid-template-columns:auto minmax(0,1fr) auto}.page-hint-text{white-space:normal}.page-hint .btn{grid-column:2/3;justify-self:start}}.dv{display:flex;flex-direction:column;height:100%;min-height:360px;background:var(--surface-2);border-radius:var(--r-md);overflow:hidden;outline:none}.dv-full{border-radius:0}.dv-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;border-bottom:1px solid var(--border);background:var(--surface)}.dv-group{gap:2px;padding:0 2px}.dv-btn,.dv-group{display:inline-flex;align-items:center}.dv-btn{gap:6px;height:32px;min-width:32px;justify-content:center;padding:0 8px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer}.dv-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.dv-btn:disabled{opacity:.4;cursor:default}.dv-btn.is-on{background:var(--accent-soft);color:var(--accent)}.dv-page{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--text-3)}.dv-page input{width:42px;text-align:center}.dv-page input,.dv-zoom{height:28px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm)}.dv-zoom{padding:0 4px}.dv-pct{min-width:44px;text-align:center;font-size:var(--fs-sm);color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dv-spacer{flex:1 1}.dv-body{flex:1 1;display:flex;min-height:0}.dv-thumbs{width:120px;flex:none;overflow-y:auto;padding:8px;display:grid;grid-gap:8px;gap:8px;align-content:start;border-right:1px solid var(--border);background:var(--surface)}.dv-thumb{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:4px;border:2px solid transparent;border-radius:var(--r-sm);background:none;cursor:pointer;color:var(--text-3);font-size:11px}.dv-thumb canvas{box-shadow:var(--shadow-1,0 1px 3px rgba(0,0,0,.15));background:#fff}.dv-thumb.is-on{border-color:var(--accent);color:var(--accent)}.dv-thumb.is-mine canvas{outline:3px solid var(--warning)}.dv-scroll{flex:1 1;overflow:auto;padding:12px;display:flex;flex-direction:column;align-items:center;gap:12px;overscroll-behavior:contain}.dv-page-wrap{flex:none;background:#fff;box-shadow:0 1px 4px rgba(16,24,40,.18);display:grid;place-items:center}.dv-page-wrap.is-mine{outline:3px solid var(--warning);outline-offset:2px}.dv-canvas{display:block}.dv-image{flex:1 1;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:zoom-in}.dv-image.is-zoomed{cursor:-webkit-grab;cursor:grab}.dv-image img{max-width:100%;max-height:100%;transition:transform .12s var(--ease);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-width:640px){.dv-hide-sm,.dv-label{display:none!important}.dv-scroll{padding:6px}}.app-loader{min-height:100vh;display:grid;place-items:center;align-content:center;grid-gap:18px;gap:18px;background:var(--bg)}.app-loader-inline{min-height:240px;background:transparent}.app-loader-mark{position:relative;display:grid;place-items:center;width:96px;height:96px}.app-loader-inline .app-loader-mark{width:64px;height:64px}.app-loader-mark svg{animation:app-loader-pulse 1.6s var(--ease) infinite}.app-loader-ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:spin 1s linear infinite}.app-loader-label{font-size:var(--fs-sm);color:var(--text-3);letter-spacing:.01em}@keyframes app-loader-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.92);opacity:.8}}@media (prefers-reduced-motion:reduce){.app-loader-mark svg,.app-loader-ring{animation:none}}.update-notice{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:80;display:inline-flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-3);font-size:var(--fs-sm);animation:rise .16s var(--ease);max-width:calc(100vw - 24px)}.update-notice>svg{color:var(--accent);flex:none}.client-switch{position:relative}.client-switch-btn{display:inline-flex;align-items:center;gap:8px;height:36px;max-width:260px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:var(--fs-sm);font-weight:500;cursor:pointer}.client-switch-btn:hover{border-color:var(--border-strong);color:var(--text)}.client-switch-btn.is-set{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft);color:var(--accent)}.client-switch-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-switch-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:70;width:min(340px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);overflow:hidden;animation:rise .12s var(--ease)}.client-switch-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-3)}.client-switch-search input{flex:1 1;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:var(--fs-sm)}.client-switch-list{max-height:320px;overflow-y:auto;padding:4px;display:grid}.client-switch-list button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;border:0;border-radius:var(--r-sm);background:none;color:var(--text);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer}.client-switch-list button:hover{background:var(--surface-2)}.client-switch-list button.is-on{background:var(--accent-soft);color:var(--accent)}.client-switch-list button span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-switch-list em{font-style:normal;color:var(--text-3)}.client-switch-initial{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--surface-2);color:var(--text-2);font-size:12px;font-weight:700}.client-switch-manage{display:block;padding:10px 14px;border-top:1px solid var(--border);font-size:var(--fs-sm);font-weight:500}@media (max-width:640px){.client-switch-btn{max-width:140px;padding:0 8px}}.bulk-bar{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:4px 6px 4px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-sm);font-weight:600}tr.is-selected td{background:color-mix(in srgb,var(--accent-soft) 60%,transparent)}.client-cell{display:flex;align-items:center;gap:10px}.client-initial{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:14px}.menu-item-danger{color:var(--danger)!important}.upload-batch{display:grid;grid-gap:10px;gap:10px}.upload-batch-head{display:flex;align-items:center;gap:12px;cursor:pointer}.upload-batch-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.upload-batch.is-done .upload-batch-icon{background:var(--success-soft);color:var(--success)}.upload-batch-files{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-batch-state{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);white-space:nowrap}.upload-batch-links{margin-left:auto;display:inline-flex;gap:6px}.upload-issues{list-style:none;margin:0;padding:8px 10px;border-radius:var(--r-md);background:var(--warning-soft);display:grid;grid-gap:4px;gap:4px;font-size:var(--fs-sm)}.upload-issues li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.upload-issues li.is-error{color:var(--danger)}.dropzone svg{color:var(--accent)}.stat-inline span{display:inline-flex;align-items:center;gap:4px}.client-hero{display:grid;grid-gap:16px;gap:16px}.client-hero-main{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.client-hero-initial{display:grid;place-items:center;width:56px;height:56px;flex:none;border-radius:16px;background:linear-gradient(135deg,var(--brand-navy),#1f4a7d);color:#fff;font-size:24px;font-weight:700}.client-hero-main>div:nth-child(2){flex:1 1}.client-hero-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.client-hero-title .page-title{margin:0}.client-hero-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.client-hero-chips span{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:12px}.client-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.client-hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px}.client-hero-stats a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:8px;column-gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);text-decoration:none}.client-hero-stats a:hover{border-color:var(--accent)}.client-hero-stats svg{grid-row:span 2;color:var(--accent)}.client-hero-stats strong{font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.client-hero-stats span{font-size:12px;color:var(--text-3)}.choice-pills{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:var(--r-md);background:var(--surface-2)}.choice-pills button{border:0;padding:6px 12px;border-radius:var(--r-sm);background:none;color:var(--text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer}.choice-pills button.is-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1,0 1px 2px rgba(0,0,0,.12));font-weight:600}@media (max-width:640px){.client-hero-actions{width:100%}.client-hero-actions .btn{flex:1 1;justify-content:center}}.topbar-context{display:flex;align-items:center;gap:8px}.topbar-firm{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text)}.topbar-firm img{height:26px;max-width:90px;object-fit:contain;border-radius:6px}.topbar-firm-initial{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:13px}.topbar-firm strong{max-width:220px}.topbar-crumb,.topbar-firm strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-crumb{display:inline-flex;gap:6px;min-width:0}@media (max-width:760px){.topbar-crumb{display:none}.topbar-firm strong{max-width:120px}}.impersonation-bar{display:flex;align-items:center;gap:10px;padding:8px 24px;background:var(--warning-soft);color:var(--text);border-bottom:1px solid color-mix(in srgb,var(--warning) 40%,var(--border));font-size:var(--fs-sm);flex-wrap:wrap}.impersonation-bar>svg{color:var(--warning);flex:none}.impersonation-bar span{flex:1 1;min-width:0}.impersonation-bar.is-view{background:var(--accent-soft);border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.impersonation-bar.is-view>svg{color:var(--accent)}.aw-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.aw-actions .btn{white-space:normal;text-align:left}.pt-offer{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:80;width:min(360px,calc(100vw - 32px));display:flex;gap:10px;align-items:flex-start;padding:12px 12px 12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);animation:rise .16s var(--ease)}.pt-offer-icon{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.pt-offer-body{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px;font-size:var(--fs-sm)}.pt-offer-body span{color:var(--text-2)}.pt-offer-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}@media (min-width:1024px){.pt-offer{left:calc(var(--sidebar-w, 248px) + 16px)}}.guide-new{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.guide-new li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--border)}.guide-new li:last-child{border-bottom:0}.guide-new-date{font-size:var(--fs-xs);color:var(--text-3);padding-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.guide-new-body{min-width:0}.guide-new-body p{margin:2px 0 0;color:var(--text-2);font-size:var(--fs-sm)}@media (max-width:640px){.guide-new li{grid-template-columns:minmax(0,1fr);gap:6px}}.guide-pages{display:grid;grid-gap:8px;gap:8px}.guide-page{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.guide-page summary{cursor:pointer;list-style:none;padding:12px 14px;display:grid;grid-gap:2px;gap:2px}.guide-page summary::-webkit-details-marker{display:none}.guide-page summary span{color:var(--text-2);font-size:var(--fs-sm)}.guide-page[open] summary{border-bottom:1px solid var(--border)}.guide-page .guide-actions,.guide-page .guide-steps{margin:12px 14px}.error-screen{min-height:100vh;display:grid;place-items:center;padding:32px max(16px,env(safe-area-inset-left,0px));background:var(--bg)}.error-screen.is-embedded{min-height:60vh;background:none}.error-screen-card{max-width:480px;text-align:center;display:grid;grid-gap:10px;gap:10px;justify-items:center}.error-screen-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text);text-decoration:none;margin-bottom:18px}.error-screen-code{margin:0;font-size:clamp(64px,14vw,104px);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.error-screen h1{margin:0;font-size:var(--fs-xl,1.5rem);text-wrap:balance}.error-screen-message{margin:0;color:var(--text-2);line-height:1.6}.error-screen-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}.audit-table td{vertical-align:top}.audit-detail>td{background:var(--surface-2)}.audit-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:24px;gap:24px;padding:6px 4px}@media (max-width:860px){.audit-detail-grid{grid-template-columns:minmax(0,1fr)}}.kv-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:var(--fs-sm)}.kv-table td,.kv-table th{padding:4px 8px 4px 0;text-align:left;vertical-align:top;border:0;word-break:break-word}.kv-table th{color:var(--text-2);font-weight:600;white-space:nowrap}.pager{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/instrument-sans-latin-ext-wght-normal.7db92424.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/instrument-sans-latin-wght-normal.ae05c57c.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-wght-normal.0d2c2f66.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.23645aad.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.c6c31cb1.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.93fc40a8.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.9c9751ca.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.a865edea.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}