:root{--accent: #0e8a6f;--accent-strong: #0b6f59;--accent-strongest: #094c3d;--accent-soft: #b8e6d8;--accent-bg: #e6f4ef;--bg: #f5f2ec;--surface: #fffdf9;--surface-2: #faf7f1;--surface-hover: #f2eee6;--border: #e9e3d7;--border-strong: #d8d0c1;--text: #211d18;--text-secondary: #55504a;--text-muted: #857e74;--text-faint: #a8a196;--success: #0e8a6f;--danger: #cf4b3e;--warn: #d98324;--radius-sm: 8px;--radius: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(45, 35, 20, .06);--shadow-card: 0 1px 3px rgba(45, 35, 20, .05), 0 8px 24px rgba(45, 35, 20, .045);--shadow-modal: 0 20px 60px rgba(30, 22, 10, .28);--scrim: rgba(30, 22, 12, .45);--sidebar-w: 244px}:root[data-theme=dark]{--accent: #2fb894;--accent-strong: #46c9a6;--accent-strongest: #74dcc2;--accent-soft: #1e5344;--accent-bg: #14352b;--bg: #17130f;--surface: #221d18;--surface-2: #2a241e;--surface-hover: #2c261f;--border: #362f27;--border-strong: #4a4137;--text: #f3ede3;--text-secondary: #cfc6b9;--text-muted: #a49b8d;--text-faint: #7d7568;--success: #2fb894;--danger: #f0776a;--warn: #e0a250;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-card: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .6);--scrim: rgba(0, 0, 0, .6)}*{box-sizing:border-box;margin:0}body{font-family:ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{max-width:1100px;margin:0 auto;padding:20px}h1{font-size:22px;letter-spacing:-.02em}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:3px;padding:18px 14px;background:var(--surface);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text);padding:4px 8px 16px}.brandMark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--accent-bg);color:var(--accent-strong);flex-shrink:0;font-size:17px}.navGroupLabel{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:16px 10px 5px}.navItem{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;padding:9px 10px;border-radius:10px;cursor:pointer;transition:background .12s,color .12s}.navItem:hover{background:var(--surface-hover);color:var(--text)}.navItem.active{background:var(--accent-bg);color:var(--accent-strong);font-weight:600}.navItem .navIcon{flex-shrink:0;opacity:.85}.navItem.active .navIcon{opacity:1}.sidebarSpacer{flex:1 1 auto;min-height:16px}.sidebarFoot{display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:1px solid var(--border)}.sidebarUser{font-size:12px;color:var(--text-muted);padding:4px 10px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profileItem{align-items:center}.profileItemText{display:flex;flex-direction:column;line-height:1.25;min-width:0}.profileItemLabel{font-size:14px}.profileItemEmail{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profileItem.active .profileItemEmail{color:var(--accent-strong);opacity:.8}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;min-height:64px;padding:13px 28px;background:var(--bg);border-bottom:1px solid var(--border)}.topbarScope{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbarRight{margin-left:auto;display:flex;align-items:center;gap:14px}.topbarMeta{text-align:right;line-height:1.25;color:var(--text-muted);font-size:12px}.topbarMeta b{display:block;color:var(--text-secondary);font-size:14px;font-variant-numeric:tabular-nums}.themeToggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.themeToggle:hover{background:var(--surface-hover, var(--border));color:var(--text)}.content{padding:24px 28px 56px;width:100%;max-width:1240px}.scopeSelect{font-weight:500}.scopeSelect.needsPick{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-bg);font-weight:600}.scopeSkeleton{display:flex;align-items:center;gap:10px}.scopeChip{height:38px;width:132px;border-radius:var(--radius)}.scopeChip.wide{width:190px}.entityPicker{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.entityBanner.needsPick{border:1px solid var(--accent);background:var(--accent-bg)}.customRange{display:inline-flex;align-items:center;gap:6px;color:var(--text-faint)}.customRange input{padding:6px 9px}.fySelect{font-weight:600}.fySelect.active{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-bg)}.fySelect.loading{font-weight:500;animation:fyPulse 1.3s ease-in-out infinite}@keyframes fyPulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.fySelect.loading{animation:none}}.presets{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px;gap:2px}.chip{background:transparent;color:var(--text-secondary);border:none;padding:5px 12px;border-radius:var(--radius-pill);font-size:13px;font-weight:500;cursor:pointer;transition:color .12s,background .12s}.chip:hover{color:var(--text);background:var(--surface-hover)}.chip.active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.iconBtn{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:10px;background:transparent;color:var(--text-muted);border:1px solid var(--border);cursor:pointer}.iconBtn:hover{background:var(--surface-hover);color:var(--text)}.mobileBar,.drawerClose{display:none}.hamburger{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-secondary);cursor:pointer}.hamburger:hover{background:var(--surface-hover);color:var(--text)}.navScrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:55;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;z-index:60;height:100vh;height:100dvh;width:284px;max-width:84vw;flex-direction:column;align-items:stretch;gap:3px;padding:16px 14px;border-right:1px solid var(--border);border-bottom:none;overflow-y:auto;box-shadow:var(--shadow-modal);transform:translate(-100%);transition:transform .24s ease}.sidebar.open{transform:translate(0)}.brand{padding:4px 4px 12px}.drawerClose{display:inline-grid;place-items:center;margin-left:auto;width:34px;height:34px;border:none;background:transparent;color:var(--text-muted);border-radius:8px;cursor:pointer}.drawerClose:hover{background:var(--surface-hover);color:var(--text)}.sidebarSpacer{flex:1 1 auto;min-height:16px}.sidebarFoot{flex-direction:column;border-top:1px solid var(--border);padding-top:10px}.navItem{white-space:normal;padding:11px 12px;font-size:15px}.mobileBar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border)}.mobileBar .brand{padding:0;font-size:15px}.mobileBar .themeToggle{margin-left:auto}.topbar{position:static;padding:12px 14px}.topbar:not(.hasFilters){display:none}.topbar .themeToggle{display:none}.topbarScope{width:100%;gap:8px}.topbarScope .scopeSelect,.topbarScope .fySelect{flex:1 1 46%;min-width:0}.customRange{width:100%}.customRange input{flex:1 1 0;min-width:0}.topbarRight{width:100%;margin-left:0;justify-content:flex-end}.content{padding:16px 14px 48px}.card{padding:16px}.cardHead{gap:10px}.filters{width:100%}.filters input{flex:1 1 100%}.filters select{flex:1 1 46%;min-width:0}.txnTable{min-width:900px}.txnTable .snoCol,.txnTable td:nth-child(2),.txnTable th:nth-child(2){position:sticky;left:0;background:var(--surface)}.headCell select{width:112px}.subheadCell select{width:132px}.noteCell{min-width:160px}}.selectFyPrompt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:56px 24px}.selectFyIcon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--accent-bg);color:var(--accent-strong);margin-bottom:8px}.selectFyPrompt h3{margin:0;font-size:18px}.selectFyPrompt .muted{max-width:40ch}.selectFyPrompt select{margin-top:14px;min-width:220px;font-weight:600}.selectFyPrompt button{margin-top:16px}.cashForm{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.cashForm label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary)}.cashForm label.grow{flex:1 1 220px}.fieldWarn{margin-top:12px;font-size:13px;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-sm);padding:9px 12px}:root[data-theme=dark] .fieldWarn{color:#fcd34d;background:#785a0a2e;border-color:#b4821480}.draftBox{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.draftBox h4{font-size:13px;margin-bottom:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-card)}.card h3{margin-bottom:14px;font-size:15px;font-weight:600;letter-spacing:-.01em}.donut{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.donutChart{position:relative;flex:0 1 220px;min-width:190px}.donutCenter{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donutCenter span{font-size:11px;color:var(--text-muted)}.donutCenter strong{font-size:17px;color:var(--text)}.legend{list-style:none;flex:1 1 300px;min-width:260px;max-height:440px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.legend li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.35;padding:4px 6px;border-radius:6px}.legend li:hover{background:var(--surface-hover)}.legend .dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;margin-top:4px}.legend .legendName{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--text-secondary)}.legend .legendPct{color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:32px;text-align:right}.legend .legendVal{font-variant-numeric:tabular-nums;color:var(--text);font-weight:500;white-space:nowrap}.cardHead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 800px){.grid2{grid-template-columns:1fr}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(184px,1fr));gap:14px;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.stat span{font-size:12px;color:var(--text-muted);display:block;margin-bottom:6px;font-weight:500}.stat strong{font-size:25px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat small{display:block;font-size:11px;color:var(--text-faint);margin-top:4px;font-weight:400}.stat.green strong{color:var(--success)}.stat.red strong{color:var(--danger)}.movements .movementHead h3{margin-bottom:2px}.movements .movementHead .muted{display:block;margin-bottom:12px}.movementFigs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.movementFigs>div{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.movementFigs span{display:block;font-size:12px;color:var(--text-muted);margin-bottom:3px}.movementFigs strong{font-size:16px;font-variant-numeric:tabular-nums}.movementFigs .movementCat strong{font-size:14px;color:var(--text-secondary);font-weight:600}.tableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tableWrap table{min-width:640px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--text-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--border)}td{padding:6px 8px;border-bottom:1px solid var(--bg)}.amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.green{color:var(--success)}.red{color:var(--danger)}.desc{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remarks{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent)}.cashBadge{margin-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;background:#fef3c7;color:#92400e;border-radius:4px;padding:1px 5px}.rowActions{white-space:nowrap}.rowActions .linkBtn{margin-right:8px}.linkBtn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0}.linkBtn:hover{text-decoration:underline}.linkBtn.red{color:var(--danger)}.linkBtn.muted{color:var(--text-muted)}tr.editing input,tr.editing select{width:100%;font-size:13px;padding:3px 4px}.nowrap{white-space:nowrap}.snoCol{width:1%;white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right}.txnTable{min-width:1040px}.txnTable td{vertical-align:middle;padding:4px 8px}.txnTable select,.txnTable input{height:28px;padding:3px 6px;font-size:12.5px}.payee{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.headCell select{width:132px}.headCell select.derivedHead{color:var(--text-faint);font-style:italic}.subheadCell select{width:158px}.noteCell{min-width:200px}.noteInput{display:block}.noteInput input{width:100%}.chipSuggest{margin-left:6px;font-size:12px;white-space:nowrap}.rowPending{opacity:.55}.discloseBtn{font-size:11px}.editing .amt select{width:auto;margin-top:4px}.detailRow>td{background:var(--surface-2);padding:10px 14px}.detailGrid{display:grid;grid-template-columns:130px 1fr;gap:4px 14px;font-size:12.5px;margin:0}.detailGrid dt{color:var(--text-muted)}.detailGrid dd{margin:0;overflow-wrap:anywhere}.headList{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.headRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px;flex-wrap:wrap}.pagination .muted{margin:0}.pill{background:var(--accent-bg);color:var(--accent-strongest);padding:2px 8px;border-radius:999px;font-size:11px}.muted{color:var(--text-muted);font-size:13px}.insight{white-space:pre-wrap;font-size:14px;line-height:1.5;margin-top:8px}button{background:var(--accent);color:#fff;border:none;padding:8px 14px;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;transition:background .12s}button:hover:not(:disabled,.navItem,.themeToggle,.chip,.iconBtn,.linkBtn,.ghost,.linklike,.pwToggle,.toastClose,.modalClose,.legalClose,.drawerClose,.promoDot,.adToggle){background:var(--accent-strong)}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--accent-strong);border:1px solid var(--border-strong)}button.ghost:hover:not(:disabled){background:var(--surface-hover)}input,select,textarea{padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);font-size:13px;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}button:focus-visible,.navItem:focus-visible,.iconBtn:focus-visible,.linkBtn:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filters{display:flex;gap:8px;flex-wrap:wrap}.entityBanner{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.inlineField{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.inlineField select{margin:0}.uploadHead{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.uploadHead h3{margin:0 0 3px}.uploadHead p{margin:0;font-size:13px}.uploadHeadTitle{display:flex;align-items:center;gap:10px}.stepBadge{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:700;font-size:14px}.stepBadge.ghost{background:var(--accent-bg);color:var(--accent-strong)}.uploadForm{display:flex;flex-direction:column;gap:16px;max-width:460px}.field{display:flex;flex-direction:column;gap:5px}.fieldLabel{font-size:13px;font-weight:600;color:var(--text-secondary)}.fieldHint{font-size:12px;color:var(--text-muted)}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);padding:22px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-bg)}.dropzone.filled{text-align:left;padding:14px 16px}.dropzone.disabled{opacity:.55;cursor:default;pointer-events:none}.dropEmpty{display:flex;flex-direction:column;align-items:center;gap:4px}.dropIcon{font-size:24px}.dropText{font-size:13px;color:var(--text-secondary)}.dropBrowse{color:var(--accent-strong);font-weight:600;text-decoration:underline}.dropFormats{font-size:12px;color:var(--text-muted)}.dropFile{display:flex;align-items:center;gap:12px}.dropFileIcon{font-size:22px;flex-shrink:0}.dropFileMeta{display:flex;flex-direction:column;min-width:0;flex:1}.dropFileName{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropFileSize{font-size:12px;color:var(--text-muted)}.btnBlock{width:100%;max-width:460px;padding:11px;font-size:14px}.uploadTips{list-style:none;margin:18px 0 0;padding:14px 16px;border-radius:var(--radius);background:var(--surface-2);display:flex;flex-direction:column;gap:7px}.uploadTips li{position:relative;padding-left:20px;font-size:12.5px;color:var(--text-muted);line-height:1.45}.uploadTips li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.uploadTips.asNote{max-width:460px;font-size:12.5px;color:var(--text-muted);line-height:1.5}.success{color:var(--success);margin-top:14px}.error{color:var(--danger);margin-top:14px}.profileTab{display:flex;flex-direction:column;gap:16px}.profileHeader{display:flex;align-items:center;gap:16px}.profileAvatar{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--accent-bg);color:var(--accent-strong);font-size:22px;font-weight:700}.profileIdentity{min-width:0}.profileEmail{font-size:16px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis}.profileHint{max-width:62ch;margin-top:2px}.uploadList{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}.detailList{margin:4px 0 0}.detailRow{display:flex;align-items:baseline;gap:12px;padding:11px 4px;border-top:1px solid var(--border)}.detailRow:first-child{border-top:none}.detailRow dt{flex:0 0 110px;color:var(--text-muted);font-size:13px}.detailRow dd{margin:0;color:var(--text);font-size:14px;min-width:0;overflow-wrap:anywhere}.detailForm{max-width:380px;margin-top:10px}.detailForm .modalActions{justify-content:flex-start}@media (max-width: 520px){.detailRow{flex-direction:column;gap:2px}}.uploadRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px;border-top:1px solid var(--border)}.uploadRow:first-child{border-top:none}.uploadRowMain{display:flex;flex-direction:column;gap:2px;min-width:0}.uploadName{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploadMeta{font-size:12px;color:var(--text-muted)}.uploadRowActions{display:flex;gap:14px;flex-shrink:0}.uploadGroup{margin-top:18px}.uploadGroup:first-of-type{margin-top:8px}.uploadGroupHead{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding-bottom:6px;border-bottom:2px solid var(--border-strong)}.uploadGroup .uploadList{margin-top:4px}.notice{margin:10px 0;padding:10px 12px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:8px}.notice.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.notice .linkBtn{margin-left:auto}.spinner{width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loadingBox{display:flex;align-items:center;justify-content:center;padding:40px 0}.loadingInline{display:flex;align-items:center;justify-content:center;padding:14px 0}.loadingInline .spinner{width:16px;height:16px;border-width:2px}.skeleton{background:linear-gradient(90deg,var(--surface-hover) 25%,var(--border) 50%,var(--surface-hover) 75%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skelStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.skelStat{height:78px}.skelCard{height:260px;margin-bottom:16px}@media (prefers-reduced-motion: reduce){.spinner,.skeleton{animation:none}}.toastStack{position:fixed;bottom:20px;right:20px;z-index:1100;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-modal);border-left:4px solid var(--accent);font-size:13px;color:var(--text);animation:toastIn .15s ease-out}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--accent)}.toastMsg{flex:1;line-height:1.4}.toastClose{background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width: 480px){.toastStack{left:12px;right:12px;max-width:none}}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modalCard{background:var(--surface);border-radius:var(--radius-lg);width:440px;max-width:100%;box-shadow:var(--shadow-modal)}.modalHead{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.modalHead h3{margin:0}.modalClose{background:none;border:none;font-size:24px;line-height:1;color:var(--text-muted);cursor:pointer;padding:0 4px}.modalBody{padding:12px 20px 20px}.modalMessage{margin:0 0 16px;color:var(--text-secondary);line-height:1.5}.modalField{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:16px}.modalActions{display:flex;gap:8px;justify-content:flex-end}button.danger{background:var(--danger)}button.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,#000)}.dataPrivacyActions{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 10px}.authHint{font-size:12px;margin:-4px 0 4px}.mfaEnroll{margin-top:10px;display:flex;flex-direction:column;gap:10px}.mfaQr{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:8px;align-self:flex-start}.mfaSecret code{background:var(--surface-hover);padding:2px 6px;border-radius:6px;font-size:12px;word-break:break-all}.mfaVerifyRow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mfaVerifyRow input{width:130px;letter-spacing:3px;text-align:center}.pill.ok{background:var(--accent);color:#fff}.confirmBox{margin-top:12px;padding:12px 14px;border:1px solid #f59e0b;background:#fffbeb;border-radius:8px;max-width:520px}.confirmBox p{margin:0 0 8px}.confirmActions{display:flex;gap:8px}.ocrBox{margin-top:12px;padding:12px 14px;border:1px solid var(--border-strong);background:var(--surface-2);border-radius:var(--radius)}.ocrBox p{margin:0 0 10px}.ocrBar{height:8px;border-radius:var(--radius-pill);background:var(--surface-hover);overflow:hidden}.ocrBarFill{height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width .3s ease}.ocrReview{margin-top:12px;padding:12px 14px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius)}.ocrReviewHead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.ocrWarn{color:var(--warn);margin:0 0 10px}.ocrTableWrap{max-height:340px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.ocrTable{width:100%;border-collapse:collapse;font-size:13px}.ocrTable thead th{position:sticky;top:0;background:var(--surface-2);text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:600}.ocrTable td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top}.ocrTable tr:last-child td{border-bottom:none}.ocrTable td.desc{max-width:260px;word-break:break-word}.ocrTable td.num,.ocrTable th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ocrTable td.num.cr{color:var(--success)}.ocrTable td.num.dr{color:var(--text)}.ocrTable tr.excluded{opacity:.42}.ocrTable tr.excluded td.desc{text-decoration:line-through}.ocrReview .confirmActions{margin-top:12px}.ocrSample{margin-top:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:8px 12px}.ocrSample summary{cursor:pointer;color:var(--text-secondary);font-weight:600}.ocrSample pre{margin:8px 0 0;max-height:260px;overflow:auto;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary)}.signOutOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1100}.signOutBox{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:12px;padding:18px 24px;color:var(--text-secondary);font-size:14px;box-shadow:var(--shadow-modal)}.idleOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000}.idleModal{background:var(--surface);border-radius:12px;padding:24px;max-width:380px;width:calc(100% - 40px);box-shadow:var(--shadow-modal)}.idleModal h3{margin:0 0 8px}.idleModal p{margin:0 0 16px;color:var(--text-secondary)}.idleActions{display:flex;gap:8px}.authPage{--accent: #157f4f;--accent-strong: #10633c;--accent-soft: #bbf7d0;min-height:100vh;background:radial-gradient(760px 400px at 50% -6%,rgba(21,127,79,.09),transparent 62%),#f6faf8;display:flex;justify-content:center;padding:48px 20px;overflow-y:auto}.authInner{width:100%;max-width:540px;display:flex;flex-direction:column;align-items:center}.authBrand{color:#0f172a;font-size:24px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:22px}.authCard{background:#fff;border:1px solid #e3ecea;border-radius:16px;padding:28px 28px 24px;width:100%;box-shadow:0 16px 40px #0f2e2c1a}.authCard h2{font-size:24px;margin:0 0 4px;color:#0f172a}.authSub{color:#64748b;font-size:14px;margin:0 0 20px}.authForm{display:flex;flex-direction:column;gap:12px}.authField{position:relative;display:block}.authField input{width:100%;padding:11px 13px;font-size:14px;border:1px solid #cbd5e1;border-radius:10px}.authField input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.authPw input{padding-right:42px}.pwToggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px 6px;font-size:15px;line-height:1;opacity:.75;cursor:pointer}.pwToggle:hover{opacity:1}.authSubmit{margin-top:4px;padding:11px;font-size:15px;font-weight:600;border-radius:10px}.authToggle{margin-top:16px;font-size:14px;color:#64748b;text-align:center}.authToggle .linklike{color:var(--accent-strong);font-weight:600;text-decoration:none}.authToggle .linklike:hover{text-decoration:underline}.promo{width:100%;margin-top:36px}.promoHead{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-bottom:14px}.promoSlider{position:relative;display:flex;align-items:center;background:#fff;border:1px solid #e6efec;border-radius:14px;padding:6px 8px}.promoViewport{flex:1;overflow:hidden;border-radius:10px}.promoTrack{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){.promoTrack{transition:none}}.promoSlide{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 22px 20px;text-decoration:none;border-radius:10px}.promoBody{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.promoName{color:var(--promo-accent, var(--accent-strong));font-size:16.5px;font-weight:700}.promoTagline{color:#0f172a;font-size:13px;font-weight:700}.promoDesc{color:#475569;font-size:13.5px;line-height:1.6;margin:3px auto 4px;max-width:52ch}.promoCta{color:#0f172a;font-size:13px;font-weight:700}.promoSlide:hover .promoCta{color:var(--promo-accent, var(--accent-strong))}.promoDots{display:flex;justify-content:center;gap:8px;margin-top:14px}.promoDot{width:8px;height:8px;padding:0;border-radius:50%;border:none;background:#cbd5d3;cursor:pointer;transition:background .15s,width .15s}.promoDot.active{background:var(--accent);width:22px;border-radius:4px}@media (max-width: 520px){.promoDots{margin-top:16px}.promoDot{width:9px;height:9px}.promoDot.active{width:24px}}.authPage .authFooter{margin-top:32px;color:#94a3b8}.authPage .authFooter .linklike{color:#64748b}.authPage .authFooter .linklike:hover{color:#0f172a}.authFooter{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px auto 0;color:var(--text-faint);font-size:13px}.linklike{background:none;border:none;padding:0;color:var(--text-muted);font-size:13px;cursor:pointer;text-decoration:underline}.linklike:hover{color:var(--accent-strong)}.legalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.legalModal{background:var(--surface);border-radius:12px;width:640px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal)}.legalHead{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.legalHead h2{margin:0}.legalClose{background:none;border:none;font-size:26px;line-height:1;color:var(--text-muted);cursor:pointer}.legalMeta{margin:4px 24px 0;color:var(--text-faint);font-size:12px}.legalBody{overflow-y:auto;padding:12px 24px 24px}.legalBody section{margin-top:16px}.legalBody h4{margin:0 0 4px;color:var(--text)}.legalBody p{margin:0 0 6px;color:var(--text-secondary);font-size:14px;line-height:1.5}.legalDisclaimer{margin-top:20px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-faint);font-size:12px;font-style:italic}.empty{text-align:center;padding:32px}.planGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}.planCard{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--surface)}.planCard.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.planCard h4{margin:0 0 6px}.planCard p{margin:4px 0;font-size:14px}.badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:var(--accent-strong);font-size:11px;font-weight:600}.suggestChips{margin-top:4px;display:flex;flex-wrap:wrap;gap:6px}.suggestChips .linkBtn{font-size:12px;background:var(--accent-bg);border:1px solid var(--accent-soft);border-radius:var(--radius-pill);padding:1px 8px;color:var(--accent-strong)}.suggestChips .linkBtn:hover{background:var(--surface-hover);text-decoration:none}.filters button.active{background:var(--accent);color:var(--surface);border-color:var(--accent)}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.healthGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 16px}.healthItem{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.healthDot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.healthDot.green{background:var(--success)}.healthDot.red{background:var(--danger)}.healthDot.warn{background:#f59e0b}.healthMeta{grid-column:1 / -1;color:var(--text-faint);font-size:12px;margin-top:4px}.checkLabel{flex-direction:row!important;align-items:center;gap:6px}.admin .rowMuted td{opacity:.5}.adEditor{display:flex;flex-direction:column;gap:14px}.adSlide{border:1px solid var(--border);border-left:3px solid var(--promo-accent, var(--accent));border-radius:10px;padding:12px 14px;background:var(--surface-hover)}.adSlideHead{display:flex;align-items:center;gap:12px}.adSlideHead .checkLabel{margin-left:auto;font-size:13px;color:var(--text-secondary)}.adToggle{display:flex;align-items:center;gap:10px;min-width:0;padding:2px 0;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.adCaret{color:var(--text-muted);font-size:11px;transition:transform .15s}.adCaret.open{transform:rotate(90deg)}@media (prefers-reduced-motion: reduce){.adCaret{transition:none}}.adSummary{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adToggle:hover .adSummary{color:var(--accent-strong)}.adGrid{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:12px}.adGrid label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary)}.adGrid label.grow{flex:1 1 200px}.adGrid label.adFull{flex:1 1 100%}.adGrid .adColor input[type=color]{width:46px;height:34px;padding:2px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);cursor:pointer}.adGrid textarea{padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;font:inherit;font-size:13px;background:var(--surface);resize:vertical}.adActions{display:flex;gap:10px;margin-top:4px}.uploadTab{display:flex;flex-direction:column;gap:16px}.uploadGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.uploadGrid{grid-template-columns:1fr}}.badge.green{background:#f0fdf4;color:#15803d}.badge.red{background:#fef2f2;color:var(--danger)}.notice.warn{background:var(--accent-bg);color:var(--accent-strong);border:1px solid var(--accent-soft)}.badge.amber{background:#fef3c7;color:#92400e}.taxView{display:flex;flex-direction:column;gap:16px}.taxHeads .stat{display:flex;flex-direction:column}.taxHeads .stat .movePair small{font-size:15px;color:var(--text-muted);font-weight:600}.headCats{margin-top:10px;border-top:1px solid var(--border);padding-top:8px;display:flex;flex-direction:column;gap:3px}.headCats>div{display:flex;justify-content:space-between;font-size:12px}.headCats span{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.headCats b{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.taxSub{margin:18px 0 6px;font-size:14px}.taxSub .muted{font-weight:400}.readinessCard{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:16px;background:var(--surface-2);display:flex;flex-wrap:wrap;gap:20px;align-items:center}.readinessScore{display:flex;align-items:center;gap:14px}.scoreDial{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--border);color:var(--text)}.scoreDial.green{background:#dcfce7;color:#15803d}.scoreDial.amber{background:#fef3c7;color:#92400e}.scoreDial.red{background:#fee2e2;color:#b91c1c}.readinessScore b{font-size:15px}.readinessScore p{margin:2px 0 0}.readinessFacts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.readinessFacts li{color:var(--text-secondary)}.readinessFacts li.ok:before{content:"✓ ";color:var(--success)}.readinessFacts li.warn:before{content:"• ";color:var(--warn)}.readinessFacts .linkBtn{margin-left:6px}.triage .triageRow{cursor:pointer}.triage .triageRow:hover{background:var(--accent-bg)}.scorePill{display:inline-block;min-width:30px;text-align:center;padding:2px 9px;border-radius:var(--radius-pill);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;background:var(--border)}.scorePill.green{background:#dcfce7;color:#15803d}.scorePill.amber{background:#fef3c7;color:#92400e}.scorePill.red{background:#fee2e2;color:#b91c1c}
