:root{
  --bg:#f6f8ff;
  --panel:rgba(255,255,255,.84);
  --panel-solid:#ffffff;
  --ink:#15213f;
  --muted:#6d7692;
  --line:#e6eafd;
  --blue:#4c6fff;
  --violet:#7c4dff;
  --cyan:#11b7dd;
  --green:#18b779;
  --orange:#ff9e43;
  --red:#f25f6b;
  --pink:#f05ac7;
  --shadow:0 18px 50px rgba(67,82,153,.12);
  --shadow-sm:0 8px 24px rgba(67,82,153,.09);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
body{overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.ambient{position:fixed;border-radius:999px;filter:blur(70px);opacity:.34;pointer-events:none;z-index:0}
.ambient-a{width:520px;height:520px;right:-100px;top:-100px;background:linear-gradient(135deg,#a48bff,#7ce4ff)}
.ambient-b{width:480px;height:480px;left:180px;bottom:-160px;background:linear-gradient(135deg,#96ffd3,#e7b8ff)}
.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:245px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid rgba(225,230,251,.8);background:rgba(250,251,255,.72);backdrop-filter:blur(20px);display:flex;flex-direction:column}
.brand-row{display:flex;align-items:center;gap:12px;padding:8px 10px 22px}
.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:calc(20px + var(--font-add, 0px));background:linear-gradient(135deg,#6c56ff,#12c2e9);box-shadow:0 12px 24px rgba(86,91,255,.28)}
.brand-name{font-size:calc(23px + var(--font-add, 0px));font-weight:850;letter-spacing:-.6px}.brand-sub{font-size:calc(11px + var(--font-add, 0px));color:var(--muted);margin-top:2px}
.nav-list{display:flex;flex-direction:column;gap:6px}
.nav-item{border:0;background:transparent;color:#4f5874;width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:13px;font-size:calc(13px + var(--font-add, 0px));text-align:left;transition:.2s ease;position:relative}
.nav-item:hover{background:#fff;transform:translateX(2px);box-shadow:var(--shadow-sm)}
.nav-item.active{color:#3156e8;background:linear-gradient(135deg,#eef3ff,#f4efff);font-weight:750;box-shadow:inset 3px 0 0 var(--blue)}
.nav-icon{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:#f0f3ff;font-size:calc(12px + var(--font-add, 0px))}
.sidebar-card{margin-top:auto;padding:16px;border:1px solid #e6e9fb;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(240,245,255,.92));box-shadow:var(--shadow-sm)}
.sidebar-card-title{font-weight:800}.sidebar-card-copy{font-size:calc(11px + var(--font-add, 0px));color:var(--muted);line-height:1.45;margin:4px 0 10px}.status-line{font-size:calc(11px + var(--font-add, 0px));color:#4f5874;display:flex;gap:7px;align-items:center}.status-dot{width:8px;height:8px;border-radius:50%;background:#18b779;box-shadow:0 0 0 4px rgba(24,183,121,.12)}
.main-shell{min-width:0}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(229,232,248,.7);background:rgba(248,250,255,.58);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}
.search-wrap{width:min(520px,42vw);height:42px;border:1px solid #e4e8f8;background:rgba(255,255,255,.82);border-radius:13px;display:flex;align-items:center;padding:0 10px;box-shadow:0 6px 18px rgba(85,96,155,.05)}
.search-wrap input{border:0;outline:0;background:transparent;width:100%;padding:0 8px;color:var(--ink);font-size:calc(12px + var(--font-add, 0px))}.search-icon{font-size:calc(20px + var(--font-add, 0px));color:#8690ac}.search-wrap kbd{font-size:calc(10px + var(--font-add, 0px));color:#9098ae;border:1px solid #e4e7f2;padding:3px 6px;border-radius:7px;background:#fafbff}
.top-actions{display:flex;align-items:center;gap:9px}.icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid #e6e9f7;background:rgba(255,255,255,.9);color:#5c6480}.compact-select{height:38px;border-radius:11px;border:1px solid #e4e8f7;background:white;color:#45506f;padding:0 11px;font-size:calc(12px + var(--font-add, 0px))}.profile-chip{display:flex;gap:9px;align-items:center;padding-left:4px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:800;font-size:calc(12px + var(--font-add, 0px));background:linear-gradient(135deg,#4f6eff,#8a4dff);box-shadow:0 6px 16px rgba(75,86,200,.25)}.profile-name{font-size:calc(12px + var(--font-add, 0px));font-weight:750}.profile-meta{font-size:calc(10px + var(--font-add, 0px));color:var(--muted)}
.view{padding:24px;animation:fadeUp .32s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow{font-size:calc(11px + var(--font-add, 0px));text-transform:uppercase;letter-spacing:.12em;color:#7a84a2;font-weight:700}.page-title{font-size:calc(29px + var(--font-add, 0px));letter-spacing:-.8px;font-weight:850;margin:3px 0}.page-sub{font-size:calc(13px + var(--font-add, 0px));color:var(--muted);max-width:720px;line-height:1.5}.head-actions{display:flex;gap:9px}
.btn{border:0;border-radius:12px;padding:10px 14px;font-size:calc(12px + var(--font-add, 0px));font-weight:750;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{color:white;background:linear-gradient(135deg,#4f6eff,#7557ff);box-shadow:0 9px 20px rgba(83,92,240,.22)}.btn-soft{color:#425071;background:white;border:1px solid #e5e9f8}.btn-danger{background:#fff0f1;color:#d94e5c}.btn-green{background:#e9fff5;color:#139562}.btn-sm{padding:7px 10px;font-size:calc(11px + var(--font-add, 0px))}
.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}
.card{background:var(--panel);backdrop-filter:blur(16px);border:1px solid rgba(225,229,247,.9);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px;position:relative;overflow:hidden}.card::after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-75px;top:-85px;background:radial-gradient(circle,rgba(124,77,255,.08),transparent 70%);pointer-events:none}.card-title{font-weight:800;font-size:calc(14px + var(--font-add, 0px))}.card-sub{font-size:calc(11px + var(--font-add, 0px));color:var(--muted);margin-top:3px}.metric{padding:16px}.metric-top{display:flex;justify-content:space-between;align-items:center}.metric-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:calc(18px + var(--font-add, 0px))}.metric-value{font-size:calc(23px + var(--font-add, 0px));font-weight:850;letter-spacing:-.6px;margin-top:12px}.metric-label{font-size:calc(11px + var(--font-add, 0px));color:var(--muted)}.metric-note{font-size:calc(10px + var(--font-add, 0px));margin-top:7px}.up{color:#119a67}.down{color:#da4d5b}.blue-bg{background:#edf2ff;color:#4063f2}.green-bg{background:#eafbf4;color:#119a67}.orange-bg{background:#fff5e8;color:#e9892e}.pink-bg{background:#fff0f8;color:#dc4c9f}.violet-bg{background:#f1edff;color:#7452f4}
.section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-size:calc(15px + var(--font-add, 0px));font-weight:800}.section-sub{font-size:calc(11px + var(--font-add, 0px));color:var(--muted)}
.progress-rail{height:10px;border-radius:99px;background:#eef1fb;overflow:hidden}.progress-bar{height:100%;border-radius:99px;background:linear-gradient(90deg,#14c48a,#5c75ff,#8753ff);transition:width .5s ease}.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.journey-step{text-align:center;font-size:calc(10px + var(--font-add, 0px));color:#7b849e;position:relative}.journey-step .dot{width:28px;height:28px;margin:0 auto 7px;border-radius:50%;display:grid;place-items:center;background:#edf0fa;color:#77809a;font-weight:800}.journey-step.done .dot{background:#e8fff5;color:#15a46e}.journey-step.current .dot{background:linear-gradient(135deg,#4f6eff,#7e58ff);color:#fff;box-shadow:0 7px 18px rgba(79,110,255,.28)}
.chart-box{height:205px;display:flex;align-items:flex-end;gap:16px;padding:20px 8px 8px}.bar-group{flex:1;display:flex;gap:6px;align-items:flex-end;height:100%;position:relative}.bar{flex:1;border-radius:8px 8px 3px 3px;min-height:8px;transition:.3s ease}.bar.blue{background:linear-gradient(#6d8cff,#4166ee)}.bar.green{background:linear-gradient(#5bdfb4,#18a979)}.bar.purple{background:linear-gradient(#a77aff,#754bf0)}.bar-group small{position:absolute;bottom:-22px;width:100%;text-align:center;color:#8d95aa;font-size:calc(9px + var(--font-add, 0px))}
.donut{width:168px;height:168px;border-radius:50%;background:conic-gradient(#4f6eff 0 58%,#12c2a4 58% 74%,#ff9f43 74% 84%,#ed5aa7 84% 93%,#8f62ff 93%);position:relative;display:grid;place-items:center}.donut::after{content:"";width:105px;height:105px;border-radius:50%;background:white;position:absolute}.donut-center{z-index:1;text-align:center}.donut-center b{display:block;font-size:calc(18px + var(--font-add, 0px))}.donut-center span{font-size:calc(9px + var(--font-add, 0px));color:var(--muted)}.legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:flex;justify-content:space-between;gap:15px;font-size:calc(11px + var(--font-add, 0px));color:#5e6780}.legend-row span:first-child{display:flex;align-items:center;gap:7px}.swatch{width:8px;height:8px;border-radius:50%}
.quick-actions{display:grid;gap:9px;margin-top:12px}.quick-action{display:flex;align-items:center;gap:10px;border:1px solid #e9ecf8;background:#fff;border-radius:14px;padding:10px 12px;font-size:calc(11px + var(--font-add, 0px));color:#4c5672;transition:.2s}.quick-action:hover{transform:translateX(2px);box-shadow:var(--shadow-sm)}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:calc(10px + var(--font-add, 0px));color:#6f7891;font-weight:700}.field input,.field select,.field textarea{border:1px solid #e2e7f6;background:#fbfcff;border-radius:11px;min-height:40px;padding:9px 11px;color:#283451;outline:0;transition:.15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8296ff;box-shadow:0 0 0 3px rgba(94,111,255,.1);background:white}.field textarea{min-height:90px;resize:vertical}.field.span2{grid-column:span 2}.field.span3{grid-column:span 3}
.profile-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.profile-big{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7ccfff,#6c5cff 58%,#ec6bc5);color:white;font-size:calc(22px + var(--font-add, 0px));font-weight:850;box-shadow:0 12px 30px rgba(86,95,211,.24)}.profile-facts{display:flex;flex-wrap:wrap;gap:20px;margin-top:8px}.fact b{display:block;font-size:calc(12px + var(--font-add, 0px))}.fact span{font-size:calc(9px + var(--font-add, 0px));color:var(--muted)}.completion{min-width:205px}.completion-label{display:flex;justify-content:space-between;font-size:calc(10px + var(--font-add, 0px));font-weight:700;margin-bottom:7px}
.tabs{display:flex;gap:6px;border-bottom:1px solid #edf0fa;margin-bottom:16px;overflow-x:auto}.tab{border:0;background:transparent;padding:10px 12px;font-size:calc(11px + var(--font-add, 0px));color:#75809b;position:relative;white-space:nowrap}.tab.active{color:#3157e7;font-weight:800}.tab.active::after{content:"";position:absolute;height:2px;left:8px;right:8px;bottom:-1px;background:#5573ff;border-radius:3px}
.income-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.income-choice{border:1px solid #e4e8f7;background:#fff;border-radius:16px;padding:14px;transition:.2s;position:relative}.income-choice:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.income-choice.selected{border-color:#8093ff;background:linear-gradient(145deg,#f7f9ff,#f3efff);box-shadow:0 8px 22px rgba(80,93,205,.1)}.income-choice .check{position:absolute;right:10px;top:10px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#edf0f8;color:#a0a7b7;font-size:calc(10px + var(--font-add, 0px))}.income-choice.selected .check{background:#1bb57b;color:#fff}.income-choice .ic{font-size:calc(22px + var(--font-add, 0px))}.income-choice b{display:block;font-size:calc(12px + var(--font-add, 0px));margin:8px 0 3px}.income-choice small{color:var(--muted);font-size:calc(9px + var(--font-add, 0px));line-height:1.4}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:calc(11px + var(--font-add, 0px))}.table th{text-align:left;padding:10px;border-bottom:1px solid #e6eaf6;color:#7a849e;font-weight:750;white-space:nowrap}.table td{padding:11px 10px;border-bottom:1px solid #f0f2f8;color:#4e5872;white-space:nowrap}.table tr:last-child td{border-bottom:0}.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:calc(9px + var(--font-add, 0px));font-weight:700;background:#eff3ff;color:#4b63d7}.tag.green{background:#eafff5;color:#149668}.tag.orange{background:#fff4e7;color:#dd842c}.tag.red{background:#fff0f2;color:#d85563}.tag.violet{background:#f0ecff;color:#724fe5}.tag.gray{background:#f1f3f7;color:#6e778d}
.master-grid{display:grid;grid-template-columns:320px 1fr;gap:14px}.master-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-select{border:1px solid #e7eaf6;background:#fff;border-radius:12px;padding:10px;font-size:calc(10px + var(--font-add, 0px));text-align:center;color:#63708b;transition:.2s}.mini-select.active{border-color:#8194ff;background:#f3f5ff;color:#3157e7;font-weight:800}
.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-pill{padding:12px;border-radius:15px;background:#fff;border:1px solid #e8ebf7}.summary-pill span{font-size:calc(9px + var(--font-add, 0px));color:#838ca3}.summary-pill b{display:block;margin-top:4px;font-size:calc(15px + var(--font-add, 0px))}
.calc-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.calc-line{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #e8ebf4;font-size:calc(11px + var(--font-add, 0px))}.calc-line:last-child{border-bottom:0}.calc-line.total{font-size:calc(14px + var(--font-add, 0px));font-weight:850;color:#2446d4;padding-top:14px}.regime-switch{display:inline-flex;padding:4px;background:#eff2fa;border-radius:12px}.regime-btn{border:0;background:transparent;padding:8px 12px;border-radius:9px;font-size:calc(10px + var(--font-add, 0px));color:#78819a}.regime-btn.active{background:white;color:#3155e8;font-weight:800;box-shadow:0 5px 13px rgba(70,80,130,.1)}
.notice{border-radius:14px;padding:12px 13px;font-size:calc(10px + var(--font-add, 0px));line-height:1.5;border:1px solid}.notice.info{background:#eef5ff;border-color:#dbe9ff;color:#44618d}.notice.warn{background:#fff7e9;border-color:#ffe2b6;color:#8e6639}.notice.success{background:#ecfff7;border-color:#d4f7e8;color:#25765b}.notice.danger{background:#fff1f3;border-color:#ffd8de;color:#8d4650}
.installments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.installment{background:#fff;border:1px solid #e8ebf7;border-radius:16px;padding:13px}.installment .date{font-size:calc(10px + var(--font-add, 0px));color:#7f899f}.installment .pct{font-size:calc(24px + var(--font-add, 0px));font-weight:850;margin:6px 0 2px}.installment .amt{font-size:calc(11px + var(--font-add, 0px));color:#536079}.installment.done{background:#effff8;border-color:#d9f7e9}.installment.current{background:linear-gradient(145deg,#eef3ff,#f5efff);border-color:#cbd5ff}
.suggestion{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:12px;border-radius:15px;background:#fff;border:1px solid #e8ebf7;margin-bottom:9px}.suggestion-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center}.suggestion b{font-size:calc(11px + var(--font-add, 0px))}.suggestion p{font-size:calc(9px + var(--font-add, 0px));color:var(--muted);margin:3px 0 0}.saving{font-size:calc(11px + var(--font-add, 0px));font-weight:850;color:#119a67}
.empty{padding:35px;text-align:center;color:#8991a8;font-size:calc(12px + var(--font-add, 0px));border:1px dashed #dfe4f3;border-radius:16px;background:#fafbff}.empty strong{display:block;color:#4c5672;font-size:calc(13px + var(--font-add, 0px));margin-bottom:4px}
.toast{position:fixed;right:24px;bottom:24px;background:#17203a;color:white;padding:12px 15px;border-radius:12px;box-shadow:0 12px 30px rgba(24,31,58,.28);font-size:calc(11px + var(--font-add, 0px));transform:translateY(90px);opacity:0;transition:.25s;z-index:80}.toast.show{transform:none;opacity:1}
body.dark{--bg:#091326;--panel:rgba(14,27,50,.86);--panel-solid:#10213e;--ink:#edf3ff;--muted:#91a0bd;--line:#253553}.dark .sidebar{background:rgba(8,18,35,.8);border-color:#243551}.dark .topbar{background:rgba(8,18,35,.72);border-color:#243551}.dark .card,.dark .summary-pill,.dark .quick-action,.dark .income-choice,.dark .installment,.dark .suggestion,.dark .field input,.dark .field select,.dark .field textarea,.dark .mini-select,.dark .search-wrap,.dark .icon-btn,.dark .compact-select,.dark .regime-btn.active{background:#10213e;color:#edf3ff;border-color:#253858}.dark .donut::after{background:#10213e}.dark .table td{color:#c3cee4;border-color:#223654}.dark .table th{border-color:#2b3d5a}.dark .tabs{border-color:#263954}.dark .empty{background:#0d1b33;border-color:#2b3d59}.dark .nav-item:hover{background:#10213e}.dark .nav-item.active{background:linear-gradient(135deg,#112b57,#241e57)}
@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.income-selector{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.field.span3{grid-column:span 2}.master-grid,.calc-layout{grid-template-columns:1fr}.top-actions .profile-chip{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.topbar{padding:0 12px}.search-wrap{width:55vw}.view{padding:14px}.grid-3,.grid-2,.grid-4,.summary-strip,.installments{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.page-head{flex-direction:column}.form-grid{grid-template-columns:1fr}.field.span2,.field.span3{grid-column:auto}.income-selector{grid-template-columns:1fr 1fr}.profile-banner{grid-template-columns:auto 1fr}.completion{grid-column:1/-1}.master-type-grid{grid-template-columns:1fr 1fr}}

/* v0.3 — Assessee Information + Income Selection foundation */
.required{color:var(--red)}
.auto-badge{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:#eef3ff;color:#4c63dc;font-size:calc(8px + var(--font-add, 0px));font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.field-hint{font-size:calc(9px + var(--font-add, 0px));color:var(--muted);line-height:1.4;min-height:13px}.field-hint.ok{color:#149568}.field-hint.error{color:#c85b65}
.readonly-input{background:#f2f5fb!important;color:#59657e!important;font-weight:750;cursor:not-allowed}
.income-config-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.income-config-card{border:1px solid #e4e8f7;background:rgba(255,255,255,.9);border-radius:18px;padding:15px;transition:.22s ease;min-height:190px;display:flex;flex-direction:column;cursor:pointer;position:relative;overflow:hidden}
.income-config-card::after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-52px;bottom:-50px;background:radial-gradient(circle,rgba(97,102,255,.12),transparent 70%)}
.income-config-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(67,82,153,.13);border-color:#cfd7ff}.income-config-card.selected{border-color:#8194ff;background:linear-gradient(145deg,#fff,#f4f5ff)}
.income-config-top{display:flex;justify-content:space-between;align-items:flex-start}.income-config-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:calc(20px + var(--font-add, 0px))}.head-toggle{position:relative;z-index:2;width:25px;height:25px;border:0;border-radius:50%;background:#edf0f7;color:#939bae;font-size:calc(11px + var(--font-add, 0px));font-weight:900}.head-toggle.on{background:#18b779;color:#fff;box-shadow:0 5px 14px rgba(24,183,121,.25)}
.income-config-title{font-size:calc(13px + var(--font-add, 0px));font-weight:850;margin-top:15px}.income-config-desc{font-size:calc(9px + var(--font-add, 0px));line-height:1.5;color:var(--muted);margin-top:4px;flex:1}.income-config-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f7;padding-top:10px;margin-top:13px;font-size:calc(9px + var(--font-add, 0px));color:#7b849c}.income-config-bottom b{color:#4b63df}
body.modal-open{overflow:hidden}
#modalRoot:empty{display:none}
.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(24,31,58,.34);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vh,28px) 24px;overflow:auto;overscroll-behavior:contain;animation:modalFade .2s ease both}@keyframes modalFade{from{opacity:0}to{opacity:1}}
.modal-sheet{width:min(1040px,94vw);max-height:calc(100dvh - clamp(32px,6vh,56px));overflow:auto;overscroll-behavior:contain;background:rgba(248,250,255,.98);border:1px solid rgba(225,229,247,.95);border-radius:26px;box-shadow:0 28px 80px rgba(29,37,91,.28);animation:modalUp .24s ease both;scrollbar-gutter:stable}@keyframes modalUp{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px 16px;background:rgba(248,250,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid #e8ebf6}.modal-kicker{font-size:calc(9px + var(--font-add, 0px));text-transform:uppercase;letter-spacing:.12em;color:#7c86a0;font-weight:800}.modal-title{font-size:calc(22px + var(--font-add, 0px));font-weight:880;letter-spacing:-.45px;margin-top:3px}.modal-sub{font-size:calc(11px + var(--font-add, 0px));color:var(--muted);margin-top:3px}.modal-close{width:36px;height:36px;border-radius:12px;border:1px solid #e2e6f4;background:white;color:#63708a;font-size:calc(23px + var(--font-add, 0px));line-height:1}.modal-body{padding:20px 22px 24px}
.split-config{display:grid;grid-template-columns:340px 1fr;gap:14px}.card.inset{box-shadow:none;background:rgba(255,255,255,.72);border-radius:18px}.config-summary{display:grid;grid-template-columns:220px 250px 1fr;gap:10px;margin-bottom:14px}.config-summary>div{border:1px solid #e2e7f7;background:#fff;border-radius:16px;padding:13px}.config-summary span{font-size:calc(9px + var(--font-add, 0px));color:#7b859f;display:block}.config-summary b{display:block;font-size:calc(15px + var(--font-add, 0px));margin-top:3px}.config-summary .config-summary-note{font-size:calc(10px + var(--font-add, 0px));line-height:1.55;color:#55617d;background:linear-gradient(135deg,#eff5ff,#f4f0ff)}
.capital-placeholder{text-align:center;padding:44px 18px}.capital-placeholder p{max-width:650px;margin:10px auto 18px;color:var(--muted);font-size:calc(11px + var(--font-add, 0px));line-height:1.7}.capital-orb{width:72px;height:72px;margin:0 auto 14px;border-radius:24px;display:grid;place-items:center;font-size:calc(30px + var(--font-add, 0px));color:#fff;background:linear-gradient(135deg,#ed5aa7,#7c4dff);box-shadow:0 16px 34px rgba(194,76,183,.24)}
.tag.blue{background:#edf2ff;color:#4463df}
.dark .income-config-card,.dark .modal-sheet,.dark .modal-head,.dark .card.inset,.dark .config-summary>div,.dark .modal-close{background:#10213e;color:#edf3ff;border-color:#253858}.dark .modal-head{background:rgba(16,33,62,.94)}.dark .readonly-input{background:#0d1b33!important;color:#b7c4dc!important}.dark .income-config-bottom{border-color:#263956}
@media(max-width:1200px){.income-config-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.split-config{grid-template-columns:1fr}.config-summary{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal-sheet{width:100%;max-height:calc(100dvh - 24px)}}
@media(max-height:700px){.modal-backdrop{align-items:flex-start;padding-top:12px;padding-bottom:12px}.modal-sheet{max-height:calc(100dvh - 24px)}}
@media(max-width:760px){.income-config-grid{grid-template-columns:1fr 1fr}}

/* v0.4 — rule-aware Master Taxonomy */
.taxonomy-master-grid{grid-template-columns:390px 1fr}
.master-principle{font-size:calc(11px + var(--font-add, 0px))}
.optional{font-size:calc(8px + var(--font-add, 0px));color:var(--muted);font-weight:600;margin-left:4px}
.tax-rule-preview{margin-top:12px;border:1px solid #dfe5fb;border-radius:16px;background:linear-gradient(145deg,#f7f9ff,#f6f1ff);padding:13px}
.rule-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.rule-preview-head span:first-child{display:block;font-size:calc(8px + var(--font-add, 0px));text-transform:uppercase;letter-spacing:.1em;color:#8490aa;font-weight:800}.rule-preview-head b{display:block;margin-top:3px;font-size:calc(12px + var(--font-add, 0px))}
.rule-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.rule-preview-grid>div{background:rgba(255,255,255,.8);border:1px solid #e7eaf8;border-radius:11px;padding:9px}.rule-preview-grid>div:last-child{grid-column:1/-1}.rule-preview-grid span{font-size:calc(8px + var(--font-add, 0px));color:#8790a5;display:block}.rule-preview-grid b{font-size:calc(10px + var(--font-add, 0px));line-height:1.45;display:block;margin-top:3px}
.rule-copy{font-size:calc(9px + var(--font-add, 0px));line-height:1.55;color:#59657e;margin-top:10px}.facts-line{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;align-items:center}.facts-line span{font-size:calc(8px + var(--font-add, 0px));color:#7e889f;width:100%}.facts-line em{font-style:normal;font-size:calc(8px + var(--font-add, 0px));padding:4px 7px;border-radius:99px;background:#fff;border:1px solid #e5e8f6;color:#5d6881}
.register-stats{display:flex;gap:6px}.cell-note{font-size:calc(8px + var(--font-add, 0px));color:var(--muted);margin-top:3px;max-width:180px}
.taxonomy-browser{padding-bottom:10px}.taxonomy-family{border-top:1px solid #edf0f8;padding:14px 0}.taxonomy-family:first-of-type{border-top:0;padding-top:4px}.taxonomy-family-head{display:flex;justify-content:space-between;margin-bottom:9px}.taxonomy-family-head b{font-size:calc(12px + var(--font-add, 0px))}.taxonomy-family-head span{font-size:calc(8px + var(--font-add, 0px));color:var(--muted);display:block;margin-top:2px}.taxonomy-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.taxonomy-item{width:100%;border:1px solid #e7eaf7;background:#fff;border-radius:13px;padding:10px 11px;text-align:left;color:var(--ink);display:flex;justify-content:space-between;gap:12px;transition:.18s ease}.taxonomy-item:hover{border-color:#aebaff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(67,82,153,.08)}.taxonomy-item strong{font-size:calc(10px + var(--font-add, 0px));display:block}.taxonomy-item>div>span{font-size:calc(8px + var(--font-add, 0px));color:var(--muted);line-height:1.4;display:block;margin-top:3px;max-width:500px}.taxonomy-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:135px}.taxonomy-meta>span:first-child{font-size:calc(9px + var(--font-add, 0px))!important;font-weight:800;color:#4c5d85!important;margin:0!important;white-space:nowrap}
.dark .tax-rule-preview{background:linear-gradient(145deg,#10213e,#171b43);border-color:#2b3d5b}.dark .rule-preview-grid>div,.dark .facts-line em,.dark .taxonomy-item{background:#10213e;color:#edf3ff;border-color:#253858}.dark .taxonomy-family{border-color:#263956}.dark .rule-copy{color:#aebbd2}
@media(max-width:1150px){.taxonomy-master-grid{grid-template-columns:1fr}.taxonomy-items{grid-template-columns:1fr}}
@media(max-width:760px){.rule-preview-grid{grid-template-columns:1fr}.rule-preview-grid>div:last-child{grid-column:auto}.taxonomy-meta{min-width:100px}}


/* v0.5 — readability, themes, settings and automatic salary deduction UX */
:root{
  --ink:#0b1428;
  --muted:#4f5d78;
  --text-secondary:#33415f;
  --font-add:2px;
}
body[data-font-size="standard"]{--font-add:0px}
body[data-font-size="large"]{--font-add:2px}
body[data-font-size="xlarge"]{--font-add:4px}
body[data-ui-scale="90"] .app-shell{zoom:.90}
body[data-ui-scale="100"] .app-shell{zoom:1}
body[data-ui-scale="110"] .app-shell{zoom:1.10}
body[data-ui-scale="120"] .app-shell{zoom:1.20}

body[data-theme="arctic"]{
  --bg:#f5f7fc;--panel:rgba(255,255,255,.94);--panel-solid:#fff;--ink:#071224;--muted:#45536c;--text-secondary:#283650;--line:#dce3f1;
  --blue:#315bea;--violet:#6e45e8;--cyan:#009fc4;--green:#07895b;--orange:#cc6d11;--red:#d83f50;--pink:#c6359c;
}
body[data-theme="lavender"]{
  --bg:#f5f2ff;--panel:rgba(255,255,255,.90);--panel-solid:#fff;--ink:#17102f;--muted:#5d5277;--text-secondary:#40345e;--line:#e1daf4;
  --blue:#5166f0;--violet:#7a43e6;--cyan:#008fb2;--green:#0b8c62;--orange:#c86a16;--red:#d13c5a;--pink:#c52f9e;
}
body[data-theme="graphite"]{
  --bg:#10131a;--panel:rgba(24,29,39,.96);--panel-solid:#181d27;--ink:#f7f9ff;--muted:#bec7d7;--text-secondary:#dce3ef;--line:#343c4c;
  --blue:#7696ff;--violet:#a484ff;--cyan:#4ed8f4;--green:#45d59a;--orange:#ffb86a;--red:#ff7f8e;--pink:#f47bd0;
}
body[data-theme="midnight"]{
  --bg:#07101f;--panel:rgba(8,24,48,.95);--panel-solid:#0b1a31;--ink:#f5f9ff;--muted:#b8c8df;--text-secondary:#d7e7fb;--line:#244263;
  --blue:#55a6ff;--violet:#9a71ff;--cyan:#20e0e8;--green:#37dba1;--orange:#ffbd69;--red:#ff7387;--pink:#ff6bd5;
}
body[data-theme="lavender"] .ambient-a{background:linear-gradient(135deg,#b59cff,#b7e9ff);opacity:.48}
body[data-theme="lavender"] .ambient-b{background:linear-gradient(135deg,#d6c0ff,#ffd7ef);opacity:.42}
body[data-theme="midnight"] .ambient-a{background:linear-gradient(135deg,#315cff,#a43cff);opacity:.38}
body[data-theme="midnight"] .ambient-b{background:linear-gradient(135deg,#00d7d2,#5137ff);opacity:.28}
body[data-theme="graphite"] .ambient{opacity:.10}

/* Force higher contrast for previously faint copy. */
.nav-item,.status-line,.compact-select,.icon-btn{color:var(--text-secondary)}
.page-sub,.section-sub,.metric-label,.metric-note,.profile-meta,.brand-sub,.sidebar-card-copy,.income-config-desc,.income-config-bottom,.field-hint,.cell-note,.rule-copy,.taxonomy-item>div>span,.taxonomy-family-head span,.modal-sub,.config-summary span,.facts-line span,.optional{color:var(--muted)!important}
.field label,.table th,.eyebrow,.modal-kicker{color:var(--text-secondary)!important;font-weight:750}
input,select,textarea{color:var(--ink)!important}
.table td{color:var(--ink)}
.card,.income-config-card,.sidebar-card{border-color:var(--line)}

/* Dark themes: maintain true light text on dark surfaces. */
.dark .sidebar,.dark .topbar{background:color-mix(in srgb,var(--bg) 88%,transparent);border-color:var(--line)}
.dark .card,.dark .sidebar-card,.dark .income-config-card,.dark .modal-sheet,.dark .modal-head,.dark .card.inset,.dark .config-summary>div,.dark .modal-close,.dark .taxonomy-item,.dark .rule-preview-grid>div,.dark .facts-line em{background:var(--panel-solid);color:var(--ink);border-color:var(--line)}
.dark .field input,.dark .field select,.dark .field textarea,.dark .search-wrap,.dark .icon-btn,.dark .compact-select{background:#111f35;color:var(--ink)!important;border-color:var(--line)}
.dark .readonly-input{background:#101b2c!important;color:var(--muted)!important}
.dark .table td,.dark .table th{color:var(--ink);border-color:var(--line)}
.dark .nav-item:hover{background:rgba(255,255,255,.07)}

.settings-stack{display:grid;gap:14px}.settings-card{overflow:hidden}
.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.theme-card{position:relative;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);border-radius:18px;padding:10px;text-align:left;transition:.2s ease;box-shadow:none}
.theme-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.theme-card.selected{border:2px solid var(--blue);padding:9px}
.theme-card b{display:block;margin-top:10px;font-size:calc(12px + var(--font-add,0px))}.theme-card p{margin:4px 0 2px;line-height:1.45;color:var(--muted);font-size:calc(9px + var(--font-add,0px))}
.theme-check{position:absolute;right:14px;top:14px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:white;font-weight:900}
.theme-swatch{height:92px;border-radius:13px;display:grid;place-items:center;font-size:28px;overflow:hidden;position:relative}
.theme-swatch::before,.theme-swatch::after{content:"";position:absolute;border-radius:999px;filter:blur(16px)}
.theme-swatch span{position:relative;z-index:2}.theme-arctic{background:#fff;color:#17244a;border:1px solid #e2e8f3}.theme-arctic::before{width:80px;height:80px;background:#a8d8ff;right:-15px;top:-20px}.theme-arctic::after{width:70px;height:70px;background:#d4b6ff;left:-20px;bottom:-25px}
.theme-lavender{background:#f7f0ff;color:#2a1653}.theme-lavender::before{width:90px;height:90px;background:#ad91ff;right:-20px;top:-25px}.theme-lavender::after{width:75px;height:75px;background:#8cecff;left:-20px;bottom:-20px}
.theme-graphite{background:#171b23;color:#f6f8ff}.theme-graphite::before{width:85px;height:85px;background:#55657f;right:-25px;top:-25px}.theme-graphite::after{width:65px;height:65px;background:#33415c;left:-15px;bottom:-25px}
.theme-midnight{background:#061226;color:#f3f8ff}.theme-midnight::before{width:90px;height:90px;background:#315fff;right:-18px;top:-25px}.theme-midnight::after{width:75px;height:75px;background:#9c3bff;left:-15px;bottom:-20px}
.choice-list{display:grid;gap:9px;margin-top:15px}.setting-choice{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--panel-solid);color:var(--ink);text-align:left}.setting-choice.selected{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--panel-solid))}.setting-choice b,.setting-choice small{display:block}.setting-choice small{color:var(--muted);margin-top:2px}.setting-choice em{font-style:normal;color:var(--blue);font-weight:850}.readability-preview{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,var(--panel-solid)),color-mix(in srgb,var(--violet) 9%,var(--panel-solid)))}.readability-preview h3{margin:5px 0 4px;font-size:calc(19px + var(--font-add,0px))}.readability-preview p{margin:0;color:var(--muted);line-height:1.6}

.auto-rule-card{margin-top:12px;padding:13px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--green) 7%,var(--panel-solid))}.auto-rule-card>div:first-child,.auto-rule-result{display:flex;justify-content:space-between;gap:12px;align-items:center}.auto-rule-card span{color:var(--muted);font-size:calc(9px + var(--font-add,0px))}.auto-rule-card b{color:var(--green)}.auto-rule-card p{margin:7px 0 10px;color:var(--muted);line-height:1.5;font-size:calc(9px + var(--font-add,0px))}.auto-rule-result{border-top:1px solid color-mix(in srgb,var(--green) 18%,var(--line));padding-top:9px}.auto-rule-result b{font-size:calc(14px + var(--font-add,0px))}

@media(max-width:1180px){.theme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.theme-grid{grid-template-columns:1fr}.readability-preview{align-items:flex-start;flex-direction:column}}


/* v0.5.1 — advance-tax payment position */
.tax-total-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tax-total-item{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--panel-solid)}.tax-total-item span{display:block;color:var(--muted);font-size:calc(11px + var(--font-add,0px));font-weight:650}.tax-total-item b{display:block;margin-top:7px;font-size:calc(20px + var(--font-add,0px));color:var(--ink)}.tax-total-item.total{background:linear-gradient(135deg,rgba(79,110,255,.12),rgba(140,96,255,.10));border-color:rgba(79,110,255,.28)}.tax-total-item.total b{color:var(--primary,#3957ee)}
.advance-position-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.calc-line.strong{font-weight:800;background:rgba(79,110,255,.055);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}.action-card{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--panel-solid),rgba(79,110,255,.07))}.action-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-65px;top:-85px;background:radial-gradient(circle,rgba(124,92,255,.18),transparent 68%);pointer-events:none}.action-card.action-danger{background:linear-gradient(145deg,var(--panel-solid),rgba(246,158,11,.08))}.action-date{margin-top:18px;color:var(--muted);font-weight:750;font-size:calc(12px + var(--font-add,0px))}.action-amount{font-size:calc(34px + var(--font-add,0px));line-height:1.05;font-weight:900;letter-spacing:-.025em;margin:7px 0 13px;color:var(--ink)}.action-meta{display:flex;gap:8px;flex-wrap:wrap}.action-meta span{padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--panel-solid);font-size:calc(10px + var(--font-add,0px));color:var(--muted);font-weight:650}.advance-table th,.advance-table td{white-space:nowrap}.advance-table .relevant-row td{background:rgba(79,110,255,.055)}.balance-due{color:#d74b4b}.balance-clear{color:#15966b}.tag.red{background:#fff0f0;color:#c43f3f;border-color:#ffd5d5}
.dark .tax-total-item,.dark .action-meta span{background:#10213e}.dark .tax-total-item.total{background:linear-gradient(135deg,rgba(75,111,255,.2),rgba(139,92,246,.16))}.dark .advance-table .relevant-row td{background:rgba(79,110,255,.10)}.dark .tag.red{background:#3b1c27;color:#ff9ca8;border-color:#633044}.dark .balance-due{color:#ff9ca8}.dark .balance-clear{color:#61d6ad}
@media(max-width:980px){.tax-total-grid{grid-template-columns:1fr 1fr}.advance-position-grid{grid-template-columns:1fr}}@media(max-width:620px){.tax-total-grid{grid-template-columns:1fr}.action-amount{font-size:30px}}

/* v0.6 — top-right workspace navigation + universal searchable dropdowns */
.app-shell{display:block;min-height:100vh}
.main-shell{width:100%;min-width:0}
.topbar{height:76px;display:grid;grid-template-columns:auto minmax(300px,560px) auto;gap:20px;align-items:center;padding:0 24px;z-index:500}
.topbar-brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);padding:6px 8px 6px 2px;border-radius:14px;text-align:left;min-width:max-content}
.topbar-brand:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}
.topbar-brand .brand-mark{width:38px;height:38px;border-radius:12px;font-size:calc(17px + var(--font-add,0px))}
.topbar-brand .brand-name{font-size:calc(18px + var(--font-add,0px));letter-spacing:-.4px}
.topbar-brand .brand-sub{font-size:calc(9px + var(--font-add,0px));margin-top:0}
.search-wrap{width:100%;justify-self:center}
.top-actions{justify-self:end;position:relative}
.profile-chip{border:1px solid transparent;background:transparent;color:var(--ink);padding:5px 8px 5px 5px;border-radius:14px;transition:.18s ease}
.profile-menu-toggle{cursor:pointer;display:flex;align-items:center;gap:9px;min-height:46px}
.profile-menu-toggle:hover,.profile-menu-toggle[aria-expanded="true"]{background:var(--panel-solid);border-color:var(--line);box-shadow:var(--shadow-sm)}
.profile-chip-copy{text-align:left;min-width:96px}.profile-chevron{font-size:16px;color:var(--muted);transition:transform .18s ease}.profile-menu-toggle[aria-expanded="true"] .profile-chevron{transform:rotate(180deg)}
.workspace-menu-wrap{position:relative}
.workspace-menu{position:absolute;right:0;top:calc(100% + 11px);width:min(390px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--panel-solid) 97%,transparent);box-shadow:0 26px 70px rgba(31,43,90,.22);backdrop-filter:blur(22px);opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transform-origin:top right;transition:.16s ease;z-index:1200}
.workspace-menu.open{opacity:1;visibility:visible;transform:none}
.workspace-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:5px 5px 10px}.workspace-menu-head>div>b,.workspace-menu-head>div>span{display:block}.workspace-menu-head>div>b{font-size:calc(14px + var(--font-add,0px))}.workspace-menu-head>div>span{font-size:calc(10px + var(--font-add,0px));color:var(--muted);margin-top:2px}
.workspace-status{white-space:nowrap;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--panel-solid));color:var(--green);border-radius:999px;padding:5px 8px;font-size:calc(9px + var(--font-add,0px));font-weight:800}.workspace-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}
.workspace-search{height:42px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,var(--panel-solid));border-radius:12px;display:flex;align-items:center;padding:0 11px;margin-bottom:9px}.workspace-search span{color:var(--muted);font-size:18px}.workspace-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)!important;padding:0 8px;font-size:calc(11px + var(--font-add,0px))}
.workspace-menu-items{display:grid;gap:4px;max-height:min(61vh,520px);overflow:auto;padding:1px 2px 2px}
.workspace-route{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:13px;padding:8px 9px;text-align:left;transition:.15s ease}.workspace-route:hover{background:color-mix(in srgb,var(--blue) 6%,var(--panel-solid));border-color:color-mix(in srgb,var(--blue) 14%,var(--line));transform:translateX(2px)}.workspace-route.active{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 10%,var(--panel-solid)),color-mix(in srgb,var(--violet) 8%,var(--panel-solid)));border-color:color-mix(in srgb,var(--blue) 22%,var(--line))}
.workspace-route-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 8%,var(--panel-solid));color:var(--blue);font-weight:850}.workspace-route-copy b,.workspace-route-copy small{display:block}.workspace-route-copy b{font-size:calc(11px + var(--font-add,0px));font-weight:800}.workspace-route-copy small{font-size:calc(8px + var(--font-add,0px));color:var(--muted);margin-top:2px}.workspace-route em{font-style:normal;color:var(--blue);font-weight:900}.workspace-route-arrow{color:var(--muted)}.workspace-empty{padding:24px 12px;text-align:center;color:var(--muted);font-size:calc(10px + var(--font-add,0px))}

/* Searchable select system */
.native-select-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important}
.smart-select{position:relative;width:100%;min-width:0}.smart-select-trigger{width:100%;min-height:40px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 95%,var(--bg));color:var(--ink);border-radius:11px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;outline:0;transition:.15s ease;font-size:calc(11px + var(--font-add,0px));font-weight:600}.smart-select-trigger:hover{border-color:color-mix(in srgb,var(--blue) 44%,var(--line));background:var(--panel-solid)}.smart-select-trigger:focus,.smart-select-trigger.open{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent);background:var(--panel-solid)}.smart-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-select-trigger>i{font-style:normal;color:var(--muted);font-size:14px;transition:transform .15s ease}.smart-select-trigger.open>i{transform:rotate(180deg)}.smart-select-trigger.disabled,.smart-select-trigger:disabled{opacity:.55;cursor:not-allowed;background:color-mix(in srgb,var(--muted) 6%,var(--panel-solid))}
.smart-select-compact{width:auto;min-width:112px}.smart-select-compact .smart-select-trigger{min-height:38px;padding:8px 10px;border-radius:11px;white-space:nowrap}
.smart-select-panel{position:fixed;z-index:2500;border:1px solid var(--line);border-radius:16px;padding:9px;background:color-mix(in srgb,var(--panel-solid) 98%,transparent);box-shadow:0 24px 65px rgba(28,39,83,.24);backdrop-filter:blur(24px);animation:smartDropIn .14s ease both}@keyframes smartDropIn{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.smart-select-search{height:39px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg) 58%,var(--panel-solid));display:flex;align-items:center;padding:0 9px;margin-bottom:7px}.smart-select-search>span{color:var(--muted);font-size:17px}.smart-select-search input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--ink)!important;padding:0 7px!important;min-height:0!important;font-size:calc(10px + var(--font-add,0px))}
.smart-select-options{max-height:300px;overflow:auto;overscroll-behavior:contain;padding:1px}.smart-select-group{padding:8px 9px 5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:calc(8px + var(--font-add,0px));font-weight:850}.smart-select-option{width:100%;min-height:37px;border:0;background:transparent;color:var(--ink);border-radius:9px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-size:calc(10px + var(--font-add,0px));transition:.12s ease}.smart-select-option:hover{background:color-mix(in srgb,var(--blue) 7%,var(--panel-solid));color:var(--blue)}.smart-select-option.selected{background:color-mix(in srgb,var(--blue) 10%,var(--panel-solid));color:var(--blue);font-weight:800}.smart-select-option b{font-weight:900}.smart-select-option:disabled{opacity:.45}.smart-select-empty{padding:20px 8px;text-align:center;color:var(--muted);font-size:calc(10px + var(--font-add,0px))}

.dark .topbar-brand,.dark .profile-chip{color:var(--ink)}
.dark .profile-menu-toggle:hover,.dark .profile-menu-toggle[aria-expanded="true"],.dark .workspace-menu,.dark .smart-select-panel,.dark .smart-select-trigger{background:var(--panel-solid);border-color:var(--line);color:var(--ink)}
.dark .workspace-search,.dark .smart-select-search{background:color-mix(in srgb,var(--bg) 65%,var(--panel-solid));border-color:var(--line)}
.dark .workspace-route:hover,.dark .smart-select-option:hover{background:color-mix(in srgb,var(--blue) 13%,var(--panel-solid))}

@media(max-width:1040px){
  .topbar{grid-template-columns:auto minmax(220px,1fr) auto;gap:12px;padding:0 14px}.topbar-brand-copy .brand-sub{display:none}.profile-chip-copy{display:none}.profile-menu-toggle{padding-right:5px}.profile-chip-copy{min-width:0}
}
@media(max-width:760px){
  .topbar{grid-template-columns:auto 1fr auto;height:68px;padding:0 10px;gap:8px}.topbar-brand-copy{display:none}.topbar-brand .brand-mark{width:36px;height:36px}.search-wrap{width:100%}.top-actions{gap:5px}.top-actions>.icon-btn:nth-of-type(2){display:none}.top-actions>.smart-select{display:none}.profile-chevron{display:none}.workspace-menu{position:fixed;right:10px;top:62px;width:calc(100vw - 20px)}
}
.top-actions .profile-chip{display:flex!important}

/* v0.7 — dedicated capital-gains transaction engine */
.entry-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.entry-mode-btn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);border-radius:18px;padding:13px 15px;transition:.18s ease}.entry-mode-btn>span{grid-row:1/3;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 10%,var(--panel-solid));color:var(--blue);font-size:18px;font-weight:900}.entry-mode-btn b{font-size:calc(13px + var(--font-add,0px))}.entry-mode-btn small{color:var(--muted);font-size:calc(9px + var(--font-add,0px));margin-top:2px}.entry-mode-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.entry-mode-btn.active{border-color:color-mix(in srgb,var(--blue) 55%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,var(--panel-solid)),color-mix(in srgb,var(--violet) 7%,var(--panel-solid)));box-shadow:inset 3px 0 0 var(--blue)}
.capital-entry-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:14px;align-items:start}.capital-form-card{overflow:visible}.capital-side-stack{display:grid;gap:14px;position:sticky;top:92px}.form-section-label{margin:18px 0 9px;padding-top:13px;border-top:1px solid var(--line);font-size:calc(10px + var(--font-add,0px));font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.capital-stt-note{margin-top:14px}.cg-live-card{overflow:visible}.cg-preview-empty{margin-top:14px;padding:26px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-solid) 88%,var(--bg))}.cg-live-preview{margin-top:14px}.cg-preview-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.cg-preview-top span,.cg-preview-top b,.cg-preview-top small{display:block}.cg-preview-top>div>span{color:var(--muted);font-size:calc(9px + var(--font-add,0px));font-weight:700}.cg-preview-top>div>b{font-size:calc(14px + var(--font-add,0px));margin-top:3px}.cg-preview-top>div>small{font-size:calc(9px + var(--font-add,0px));color:var(--muted);margin-top:3px}.cg-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.cg-preview-grid>div{padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel-solid) 96%,var(--bg))}.cg-preview-grid span,.cg-preview-grid b,.cg-preview-grid small{display:block}.cg-preview-grid span{font-size:calc(8px + var(--font-add,0px));color:var(--muted);font-weight:700}.cg-preview-grid b{font-size:calc(11px + var(--font-add,0px));margin-top:4px;line-height:1.35}.cg-preview-grid small{font-size:calc(8px + var(--font-add,0px));color:var(--muted);margin-top:3px;line-height:1.35}.cg-preview-grid .preview-gain{grid-column:1/-1;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,var(--panel-solid)),color-mix(in srgb,var(--green) 8%,var(--panel-solid)))}.cg-preview-grid .preview-gain b{font-size:calc(18px + var(--font-add,0px));color:var(--ink)}.preview-flags{display:grid;gap:6px;margin-top:10px}.preview-flags>div{padding:8px 9px;border-radius:10px;background:color-mix(in srgb,#f59e0b 9%,var(--panel-solid));border:1px solid color-mix(in srgb,#f59e0b 22%,var(--line));color:var(--ink);font-size:calc(8px + var(--font-add,0px));line-height:1.45}.preview-ready{margin-top:10px;padding:9px 10px;border-radius:10px;background:color-mix(in srgb,var(--green) 8%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));color:var(--green);font-weight:750;font-size:calc(9px + var(--font-add,0px))}
.setoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.setoff-grid>div{padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel-solid)}.setoff-grid span,.setoff-grid b{display:block}.setoff-grid span{font-size:calc(9px + var(--font-add,0px));color:var(--muted)}.setoff-grid b{margin-top:4px;font-size:calc(13px + var(--font-add,0px))}.setoff-grid .setoff-result{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 7%,var(--panel-solid)),color-mix(in srgb,var(--violet) 7%,var(--panel-solid)));border-color:color-mix(in srgb,var(--blue) 22%,var(--line))}.setoff-ledger{display:grid;gap:6px;margin-top:9px}.setoff-ledger>div{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px dashed var(--line);font-size:calc(9px + var(--font-add,0px))}.setoff-ledger span{color:var(--muted)}.gain-amount{color:var(--green)!important}.loss-amount{color:#d84b5f!important}.flag-count{border:1px solid color-mix(in srgb,#f59e0b 25%,var(--line));background:color-mix(in srgb,#f59e0b 9%,var(--panel-solid));color:#b66c08;border-radius:999px;padding:5px 8px;font-size:calc(8px + var(--font-add,0px));font-weight:800}.cg-table td{vertical-align:top}.classification-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.classification-summary-grid>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel-solid)}.classification-summary-grid span,.classification-summary-grid b{display:block}.classification-summary-grid span{color:var(--muted);font-size:calc(9px + var(--font-add,0px))}.classification-summary-grid b{font-size:calc(14px + var(--font-add,0px));margin-top:4px}.classification-summary-grid .highlight{background:linear-gradient(135deg,color-mix(in srgb,var(--green) 7%,var(--panel-solid)),color-mix(in srgb,var(--blue) 6%,var(--panel-solid)));border-color:color-mix(in srgb,var(--green) 22%,var(--line))}
.dark .entry-mode-btn,.dark .cg-preview-grid>div,.dark .setoff-grid>div,.dark .classification-summary-grid>div{background:var(--panel-solid)}.dark .loss-amount{color:#ff8796!important}.dark .flag-count{color:#ffc36b}.dark .cg-preview-empty{background:color-mix(in srgb,var(--panel-solid) 93%,black)}
@media(max-width:1180px){.capital-entry-layout{grid-template-columns:1fr}.capital-side-stack{position:static;grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.entry-mode-tabs,.capital-side-stack,.form-grid-3,.classification-summary-grid{grid-template-columns:1fr}.cg-preview-grid,.setoff-grid{grid-template-columns:1fr}.cg-preview-grid .preview-gain{grid-column:auto}}

/* v0.7.1 — calmer capital-gain entry */
.capital-entry-simple{display:grid;gap:14px}.cg-essential-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}.cg-essential-block{min-width:0}.form-section-label.compact{margin:14px 0 9px;padding-top:0;border-top:0}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tc-disclosure{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-solid) 97%,var(--bg));overflow:visible}.tc-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;color:var(--ink);user-select:none}.tc-disclosure>summary::-webkit-details-marker{display:none}.tc-disclosure>summary>span:first-child{display:grid;gap:2px}.tc-disclosure>summary b{font-size:calc(11px + var(--font-add,0px));line-height:1.35}.tc-disclosure>summary small{color:var(--muted);font-size:calc(8px + var(--font-add,0px));line-height:1.45;font-weight:550}.tc-disclosure>summary:after{content:'⌄';flex:0 0 auto;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 8%,var(--panel-solid));color:var(--blue);font-weight:900;transition:.18s ease}.tc-disclosure[open]>summary:after{transform:rotate(180deg)}.tc-disclosure[open]>summary{border-bottom:1px solid var(--line)}.tc-disclosure-body{padding:14px 15px}.setoff-disclosure{padding:0}.setoff-disclosure>summary{padding:15px 16px}.setoff-disclosure>summary:after{order:3}.setoff-disclosure>summary .tag{margin-left:auto}.dark .tc-disclosure{background:var(--panel-solid)}
@media(max-width:1000px){.cg-essential-grid{grid-template-columns:1fr}}@media(max-width:760px){.form-grid-2{grid-template-columns:1fr}.tc-disclosure>summary{align-items:flex-start}.setoff-disclosure>summary .tag{display:none}}

/* v0.8 — spring motion, modern dates and expanded premium themes */
:root{
  --ease-spring:cubic-bezier(.2,.82,.22,1.14);
  --ease-smooth:cubic-bezier(.22,.72,.24,1);
  --motion-fast:160ms;
  --motion-med:260ms;
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* More tactile, bouncy UI without making the workspace feel restless. */
button,.btn,.icon-btn,.profile-menu-toggle,.smart-select-trigger,.modern-date-trigger,.theme-card,.setting-choice,.income-config-card,.taxonomy-item,.quick-action,.workspace-route,.tc-disclosure>summary:after{
  transition:transform var(--motion-med) var(--ease-spring),box-shadow var(--motion-med) var(--ease-smooth),border-color var(--motion-fast) ease,background var(--motion-med) ease,color var(--motion-fast) ease,opacity var(--motion-fast) ease;
}
.btn:hover,.icon-btn:hover,.theme-card:hover,.setting-choice:hover,.quick-action:hover{transform:translateY(-2px) scale(1.012)}
.btn:active,.icon-btn:active,.theme-card:active,.setting-choice:active,.quick-action:active,.smart-select-trigger:active,.modern-date-trigger:active{transform:translateY(0) scale(.975)}
.card{transition:box-shadow .3s var(--ease-smooth),border-color .25s ease,background .3s ease}

/* Workspace popover deliberately uses calm motion. Spring scaling + backdrop blur can shimmer/jitter in Chromium. */
.workspace-menu{position:fixed;right:auto;top:auto;transform:translate3d(0,6px,0);transform-origin:top right;opacity:0;visibility:hidden;transition:opacity 150ms ease-out,transform 180ms cubic-bezier(.2,.75,.25,1),visibility 0s linear 180ms;will-change:opacity,transform;isolation:isolate;contain:layout paint}
.workspace-menu.open{opacity:1;visibility:visible;transform:translate3d(0,0,0);transition:opacity 150ms ease-out,transform 180ms cubic-bezier(.2,.75,.25,1),visibility 0s}
.workspace-menu-items{scrollbar-gutter:stable;overscroll-behavior:contain}
.workspace-route:hover{transform:none;box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 55%,transparent)}
.profile-menu-toggle[aria-expanded="true"]{transform:none}

.smart-select-trigger>i,.modern-date-trigger>i{transition:transform .28s var(--ease-spring),color .2s ease}
.smart-select-trigger.open>i,.modern-date-trigger.open>i{transform:rotate(180deg)}
.smart-select-panel{transform-origin:top center;animation:smartDropIn .26s var(--ease-spring) both;will-change:transform,opacity}
.smart-select-panel.closing{animation:smartDropOut .14s ease both}
@keyframes smartDropIn{0%{opacity:0;transform:translateY(-9px) scale(.96)}70%{opacity:1;transform:translateY(2px) scale(1.008)}100%{opacity:1;transform:none}}
@keyframes smartDropOut{to{opacity:0;transform:translateY(-4px) scale(.985)}}
.smart-select-option{transition:transform .18s var(--ease-spring),background .16s ease,color .16s ease}
.smart-select-option:hover{transform:translateX(3px)}
.smart-select-option:active{transform:translateX(2px) scale(.985)}
.smart-select-search:focus-within{border-color:color-mix(in srgb,var(--blue) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 10%,transparent)}

.tc-disclosure[open]>.tc-disclosure-body{animation:disclosureIn .28s var(--ease-spring) both}
@keyframes disclosureIn{from{opacity:0;transform:translateY(-7px) scale(.993)}to{opacity:1;transform:none}}
.tc-disclosure>summary:hover:after{transform:translateY(1px) scale(1.08)}
.tc-disclosure[open]>summary:after{transform:rotate(180deg) scale(1.03)}

/* Modern date picker — native value remains underneath for all existing validation and tax logic. */
.native-date-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important}
.modern-date{position:relative;width:100%;min-width:0}
.modern-date-trigger{width:100%;min-height:42px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 95%,var(--bg));color:var(--ink);border-radius:12px;padding:8px 11px;display:grid;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:8px;text-align:left;font-weight:650;outline:0}
.modern-date-trigger:hover{border-color:color-mix(in srgb,var(--blue) 46%,var(--line));background:var(--panel-solid);transform:translateY(-1px)}
.modern-date-trigger:focus,.modern-date-trigger.open{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent);background:var(--panel-solid)}
.modern-date-trigger .modern-date-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 9%,var(--panel-solid));color:var(--blue);font-size:12px}
.modern-date-trigger .modern-date-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.modern-date-trigger.has-value .modern-date-label{color:var(--ink)}
.modern-date-trigger i{font-style:normal;color:var(--muted)}
.date-picker-panel{position:fixed;z-index:2600;padding:11px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:20px;background:color-mix(in srgb,var(--panel-solid) 94%,transparent);box-shadow:0 30px 80px rgba(22,33,75,.24);backdrop-filter:blur(28px) saturate(1.35);animation:datePopIn .28s var(--ease-spring) both;transform-origin:top center;will-change:transform,opacity}
.date-picker-panel.closing{animation:datePopOut .15s ease both;pointer-events:none}
@keyframes datePopIn{0%{opacity:0;transform:translateY(-9px) scale(.95)}72%{opacity:1;transform:translateY(2px) scale(1.008)}100%{opacity:1;transform:none}}
@keyframes datePopOut{to{opacity:0;transform:translateY(-4px) scale(.985)}}
.date-picker-editor{height:40px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 52%,var(--panel-solid));display:flex;align-items:center;gap:7px;padding:0 10px;margin-bottom:10px}
.date-picker-editor>span{color:var(--muted)}
.date-picker-editor input{min-width:0;width:100%;min-height:0!important;padding:0!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--ink)!important;font-weight:700;letter-spacing:.02em}
.date-picker-editor input.invalid{color:var(--red)!important}
.date-picker-editor:focus-within{border-color:color-mix(in srgb,var(--blue) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 10%,transparent)}
.date-picker-head{display:grid;grid-template-columns:38px minmax(0,1fr) 92px 38px;align-items:center;gap:6px;padding:2px 1px 9px;text-align:center}
.date-period-btn{height:36px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--panel-solid) 96%,var(--bg));color:var(--ink);padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:820;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.date-period-btn:hover,.date-period-btn.active{border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:color-mix(in srgb,var(--blue) 7%,var(--panel-solid));color:var(--blue);box-shadow:0 4px 14px color-mix(in srgb,var(--blue) 10%,transparent)}
.date-period-btn i{font-style:normal;font-size:11px;color:var(--muted)}
.date-nav{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--panel-solid) 96%,var(--bg));color:var(--ink);font-size:22px;display:grid;place-items:center;line-height:1;transition:.18s var(--ease-smooth)}
.date-nav:hover{transform:scale(1.08);border-color:color-mix(in srgb,var(--blue) 40%,var(--line));color:var(--blue)}.date-nav:active{transform:scale(.94)}
.date-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:5px 1px 7px}.date-month-cell,.date-year-cell{min-height:42px;border:1px solid transparent;border-radius:12px;background:color-mix(in srgb,var(--muted) 5%,transparent);color:var(--ink);font-weight:760;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.date-month-cell:hover,.date-year-cell:hover{background:color-mix(in srgb,var(--blue) 8%,var(--panel-solid));border-color:color-mix(in srgb,var(--blue) 18%,var(--line));color:var(--blue)}.date-month-cell.selected,.date-year-cell.selected{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;border-color:transparent;box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 22%,transparent)}
.date-year-tools{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:7px;margin:3px 0 8px}.date-year-range{text-align:center;color:var(--muted);font-size:calc(9px + var(--font-add,0px));font-weight:760}.date-year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:2px 1px 7px}.date-year-cell{min-height:39px}.date-picker-hint{padding:1px 2px 7px;text-align:center;color:var(--muted);font-size:calc(8px + var(--font-add,0px))}
.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-weekdays{padding:4px 2px 6px}.date-weekdays span{text-align:center;color:var(--muted);font-size:calc(8px + var(--font-add,0px));font-weight:800}
.date-cell{aspect-ratio:1;border:0;border-radius:11px;background:transparent;color:var(--ink);font-weight:700;font-size:calc(9px + var(--font-add,0px));display:grid;place-items:center;transition:.18s var(--ease-spring)}.date-cell.spacer{pointer-events:none}.date-cell:not(.spacer):hover{background:color-mix(in srgb,var(--blue) 9%,var(--panel-solid));color:var(--blue);transform:translateY(-2px) scale(1.07)}.date-cell.today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 52%,var(--line));color:var(--blue)}.date-cell.selected{background:linear-gradient(135deg,var(--blue),var(--violet));color:white!important;box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 26%,transparent);transform:scale(1.02)}
.date-picker-actions{display:flex;justify-content:space-between;gap:8px;padding-top:10px;margin-top:7px;border-top:1px solid var(--line)}.date-action{border:0;border-radius:10px;padding:8px 11px;background:color-mix(in srgb,var(--muted) 7%,var(--panel-solid));color:var(--text-secondary);font-weight:750}.date-action.primary{background:color-mix(in srgb,var(--blue) 11%,var(--panel-solid));color:var(--blue)}.date-action:hover{transform:translateY(-1px)}

/* Additional premium themes */
body[data-theme="iosglass"]{
  --bg:#edf3ff;--panel:rgba(255,255,255,.48);--panel-solid:rgba(255,255,255,.74);--ink:#101828;--muted:#526078;--text-secondary:#26344c;--line:rgba(124,145,186,.24);
  --blue:#3478f6;--violet:#8757ff;--cyan:#14b8d4;--green:#0a9f73;--orange:#d77a16;--red:#dc435d;--pink:#d641ac;
  --shadow:0 20px 54px rgba(59,78,126,.13);--shadow-sm:0 10px 30px rgba(59,78,126,.10)
}
body[data-theme="iosglass"] .ambient-a{width:620px;height:620px;right:-130px;top:-180px;background:linear-gradient(135deg,#7aa8ff,#d293ff,#67e7d2);opacity:.43;filter:blur(92px)}
body[data-theme="iosglass"] .ambient-b{width:560px;height:560px;left:5vw;bottom:-220px;background:linear-gradient(135deg,#ffd0e8,#a7e8ff,#d9c4ff);opacity:.46;filter:blur(95px)}
body[data-theme="iosglass"] .topbar,body[data-theme="iosglass"] .card,body[data-theme="iosglass"] .smart-select-panel,body[data-theme="iosglass"] .date-picker-panel,body[data-theme="iosglass"] .modal-sheet{backdrop-filter:blur(30px) saturate(1.45);-webkit-backdrop-filter:blur(30px) saturate(1.45);box-shadow:0 20px 54px rgba(72,89,139,.12),inset 0 1px 0 rgba(255,255,255,.7)}
body[data-theme="iosglass"] .workspace-menu{background:rgba(248,250,255,.92);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 24px 58px rgba(72,89,139,.18),inset 0 1px 0 rgba(255,255,255,.88)}
body[data-theme="iosglass"] .topbar{background:rgba(246,249,255,.52);border-color:rgba(255,255,255,.65)}
body[data-theme="iosglass"] .card{border-color:rgba(255,255,255,.72)}

body[data-theme="champagne"]{
  --bg:#fbf6f2;--panel:rgba(255,252,249,.92);--panel-solid:#fffaf7;--ink:#2b1c20;--muted:#755e64;--text-secondary:#50383f;--line:#eadcd6;
  --blue:#8c5d73;--violet:#9d6689;--cyan:#8b7480;--green:#688b75;--orange:#bb7b49;--red:#c55c68;--pink:#b84f7e
}
body[data-theme="champagne"] .ambient-a{background:linear-gradient(135deg,#e7b7a6,#f4d2cf);opacity:.48}body[data-theme="champagne"] .ambient-b{background:linear-gradient(135deg,#f0d39e,#e5bdd3);opacity:.42}

body[data-theme="jade"]{
  --bg:#071713;--panel:rgba(12,34,29,.93);--panel-solid:#0d2720;--ink:#effff9;--muted:#a8c9bd;--text-secondary:#d8eee6;--line:#23483d;
  --blue:#5fc8ad;--violet:#8bd8b5;--cyan:#5ae6ce;--green:#54d9a5;--orange:#ffc276;--red:#ff8390;--pink:#f095c8
}
body[data-theme="jade"] .ambient-a{background:linear-gradient(135deg,#00ad7b,#5bffd5);opacity:.25}body[data-theme="jade"] .ambient-b{background:linear-gradient(135deg,#124e3c,#96e7bd);opacity:.23}

body[data-theme="sapphire"]{
  --bg:#06101e;--panel:rgba(8,26,50,.94);--panel-solid:#0a1b35;--ink:#f4f9ff;--muted:#afc3dc;--text-secondary:#d8e9fa;--line:#234569;
  --blue:#58a9ff;--violet:#7994ff;--cyan:#64e7ff;--green:#4dd3ac;--orange:#ffc06f;--red:#ff8192;--pink:#ef7dcd
}
body[data-theme="sapphire"] .ambient-a{background:linear-gradient(135deg,#0867ff,#19d1ff);opacity:.31}body[data-theme="sapphire"] .ambient-b{background:linear-gradient(135deg,#3f49ff,#55e0ff);opacity:.22}

.theme-iosglass{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(220,233,255,.58));color:#16213a;border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 1px 0 white}.theme-iosglass::before{width:95px;height:95px;background:#72a6ff;right:-20px;top:-28px}.theme-iosglass::after{width:85px;height:85px;background:#e4a2ff;left:-18px;bottom:-28px}
.theme-champagne{background:#fff8f2;color:#3b2228}.theme-champagne::before{width:90px;height:90px;background:#dfad91;right:-18px;top:-24px}.theme-champagne::after{width:78px;height:78px;background:#e8bdcf;left:-18px;bottom:-25px}
.theme-jade{background:#0a241c;color:#f2fff9}.theme-jade::before{width:92px;height:92px;background:#16c88d;right:-20px;top:-25px}.theme-jade::after{width:75px;height:75px;background:#6ce5bc;left:-18px;bottom:-22px}
.theme-sapphire{background:#081a33;color:#f4f9ff}.theme-sapphire::before{width:95px;height:95px;background:#1678ff;right:-22px;top:-28px}.theme-sapphire::after{width:78px;height:78px;background:#54dcff;left:-18px;bottom:-23px}

/* Keep dark premium themes fully legible. */
body[data-theme="jade"] .field input,body[data-theme="jade"] .field textarea,body[data-theme="sapphire"] .field input,body[data-theme="sapphire"] .field textarea{background:color-mix(in srgb,var(--panel-solid) 92%,black);border-color:var(--line);color:var(--ink)!important}
body[data-theme="jade"] .btn-soft,body[data-theme="sapphire"] .btn-soft{background:var(--panel-solid);border-color:var(--line);color:var(--ink)}

@media(max-width:760px){.date-picker-panel{width:calc(100vw - 24px)!important}.date-cell{border-radius:9px}}

/* A little more life on page/modal transitions. */
.view{animation:pageBounceIn .38s var(--ease-spring) both}
@keyframes pageBounceIn{0%{opacity:0;transform:translateY(10px) scale(.997)}72%{opacity:1;transform:translateY(-1px) scale(1.001)}100%{opacity:1;transform:none}}
.modal-backdrop{animation:modalGlassFade .24s ease both}.modal-sheet{animation:modalSpringUp .34s var(--ease-spring) both}
@keyframes modalGlassFade{from{opacity:0}to{opacity:1}}@keyframes modalSpringUp{0%{opacity:0;transform:translateY(18px) scale(.972)}72%{opacity:1;transform:translateY(-2px) scale(1.003)}100%{opacity:1;transform:none}}

/* v0.8.2 — persistent primary tax workflow navigation */
.core-nav{
  position:sticky;
  top:76px;
  z-index:440;
  width:100%;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  padding:8px 24px 9px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  background:color-mix(in srgb,var(--bg) 72%,transparent);
  backdrop-filter:blur(22px) saturate(1.18);
  -webkit-backdrop-filter:blur(22px) saturate(1.18);
  box-shadow:0 8px 24px rgba(35,48,91,.035);
}
.core-nav-item{
  min-width:0;
  height:46px;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  color:var(--text-secondary);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 14px;
  font-size:calc(11px + var(--font-add,0px));
  font-weight:760;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.2,.75,.25,1);
  overflow:hidden;
}
.core-nav-item:hover{
  color:var(--ink);
  background:color-mix(in srgb,var(--blue) 6%,var(--panel-solid));
  border-color:color-mix(in srgb,var(--blue) 13%,var(--line));
  transform:translateY(-1px);
}
.core-nav-item:active{transform:translateY(0) scale(.985)}
.core-nav-item.active{
  color:var(--blue);
  background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 11%,var(--panel-solid)),color-mix(in srgb,var(--violet) 8%,var(--panel-solid)));
  border-color:color-mix(in srgb,var(--blue) 24%,var(--line));
  box-shadow:0 7px 20px color-mix(in srgb,var(--blue) 9%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent);
}
.core-nav-icon{
  width:27px;
  height:27px;
  flex:0 0 27px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--blue) 7%,var(--panel-solid));
  color:var(--blue);
  font-size:13px;
  font-weight:900;
  transition:transform .18s cubic-bezier(.2,.75,.25,1),background .18s ease;
}
.core-nav-item:hover .core-nav-icon{transform:scale(1.055)}
.core-nav-item.active .core-nav-icon{background:color-mix(in srgb,var(--blue) 13%,var(--panel-solid))}
.core-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dark .core-nav{background:color-mix(in srgb,var(--bg) 84%,transparent);border-color:var(--line);box-shadow:0 8px 24px rgba(0,0,0,.11)}
body[data-theme="iosglass"] .core-nav{
  background:rgba(246,249,255,.48);
  border-color:rgba(255,255,255,.68);
  backdrop-filter:blur(28px) saturate(1.42);
  -webkit-backdrop-filter:blur(28px) saturate(1.42);
  box-shadow:0 12px 30px rgba(72,89,139,.07),inset 0 1px 0 rgba(255,255,255,.7);
}
body[data-theme="iosglass"] .core-nav-item.active{box-shadow:0 9px 22px rgba(74,103,190,.09),inset 0 1px 0 rgba(255,255,255,.82)}
@media(max-width:900px){
  .core-nav{padding-left:12px;padding-right:12px;gap:5px}
  .core-nav-item{padding:0 8px;gap:6px;font-size:calc(10px + var(--font-add,0px))}
  .core-nav-icon{width:25px;height:25px;flex-basis:25px}
}
@media(max-width:620px){
  .core-nav{top:68px;padding:7px 8px 8px;gap:4px}
  .core-nav-item{height:43px;padding:0 6px;border-radius:12px;gap:5px}
  .core-nav-icon{width:24px;height:24px;flex-basis:24px;font-size:12px}
  .core-nav-label{font-size:calc(9px + var(--font-add,0px))}
}
@media(max-width:470px){
  .core-nav-item{padding:0 5px}
  .core-nav-icon{display:none}
}

/* v0.9 — compact information-dense shell + stronger section separation */
:root{
  --radius:16px;
  --shadow-sm:0 5px 16px rgba(48,61,119,.075);
  --section-line:color-mix(in srgb,var(--ink) 13%,var(--line));
}
.topbar{height:64px;padding:0 18px;gap:14px;grid-template-columns:auto minmax(280px,520px) auto}
.topbar-brand .brand-mark{width:34px;height:34px;border-radius:11px}
.topbar-brand .brand-name{font-size:calc(17px + var(--font-add,0px))}
.profile-menu-toggle{min-height:40px;padding-top:3px;padding-bottom:3px}.avatar{width:32px;height:32px}.icon-btn{width:34px;height:34px}.smart-select-compact .smart-select-trigger{min-height:34px}
.search-wrap{height:37px;border-radius:11px}.view{padding:15px 18px 22px}.page-head{margin-bottom:11px;align-items:center}.page-title{font-size:calc(24px + var(--font-add,0px));margin:1px 0}.page-sub{font-size:calc(11px + var(--font-add,0px));line-height:1.4;max-width:900px}.eyebrow{font-size:calc(9px + var(--font-add,0px))}
.core-nav{top:64px;padding:6px 18px 7px;gap:6px}.core-nav-item{height:40px;border-radius:11px;padding:0 11px;font-size:calc(10px + var(--font-add,0px));gap:7px}.core-nav-icon{width:25px;height:25px;flex-basis:25px;border-radius:8px}
.grid{gap:10px}.card{padding:13px 14px;border:1px solid var(--section-line);border-radius:16px;box-shadow:var(--shadow-sm);background:color-mix(in srgb,var(--panel-solid) 93%,transparent)}
.card::after{width:92px;height:92px;right:-55px;top:-58px;opacity:.8}.card-title{font-size:calc(13px + var(--font-add,0px))}.card-sub,.section-sub{font-size:calc(9px + var(--font-add,0px));line-height:1.4}.section-row{margin-bottom:9px}.section-title{font-size:calc(13px + var(--font-add,0px))}.metric{padding:12px}.metric-icon{width:32px;height:32px;border-radius:10px;font-size:calc(15px + var(--font-add,0px))}.metric-value{font-size:calc(19px + var(--font-add,0px));margin-top:8px}.metric-label{font-size:calc(9px + var(--font-add,0px))}
.form-grid{gap:9px 10px}.field{gap:4px}.field label{font-size:calc(9px + var(--font-add,0px))}.field input,.field select,.field textarea{min-height:36px;border-radius:9px;padding:7px 9px}.field textarea{min-height:72px}.field-hint{font-size:calc(8px + var(--font-add,0px));line-height:1.3}.smart-select-trigger{min-height:36px;border-radius:9px;padding:7px 9px}.modern-date-trigger{min-height:36px!important;border-radius:9px!important;padding:7px 9px!important}
.btn{border-radius:10px;padding:8px 11px;font-size:calc(10px + var(--font-add,0px))}.btn-sm{padding:5px 8px}.tag{padding:4px 7px;font-size:calc(8px + var(--font-add,0px))}.notice{padding:9px 11px;border-radius:11px;font-size:calc(9px + var(--font-add,0px))}.compact-notice{line-height:1.4}
.summary-strip{gap:7px}.summary-pill{padding:9px 10px;border-radius:11px;border-color:var(--section-line)}.summary-pill span{font-size:calc(8px + var(--font-add,0px))}.summary-pill b{font-size:calc(13px + var(--font-add,0px));margin-top:2px}
.table{font-size:calc(9px + var(--font-add,0px))}.table th{padding:7px 8px;background:color-mix(in srgb,var(--bg) 58%,var(--panel-solid));border-bottom:1px solid var(--section-line)}.table td{padding:8px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.table-wrap{border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:11px;overflow:auto}
.entry-mode-tabs{gap:8px;margin-bottom:10px}.entry-mode-btn{border-radius:13px;padding:9px 11px}.entry-mode-btn>span{width:31px;height:31px;border-radius:9px}.income-config-grid{gap:9px}.income-config-card{border-radius:14px;padding:11px;min-height:158px}.income-config-icon{width:36px;height:36px;border-radius:11px}.income-config-title{margin-top:10px}.income-config-bottom{padding-top:8px;margin-top:9px}
.tax-total-grid,.advance-position-grid{gap:10px}.tax-total-item{padding:11px;border-radius:12px}.tax-total-item b{font-size:calc(16px + var(--font-add,0px));margin-top:4px}.action-amount{font-size:calc(28px + var(--font-add,0px));margin:5px 0 9px}
.modal-head{padding:14px 17px 11px}.modal-body{padding:14px 17px 18px}.modal-title{font-size:calc(19px + var(--font-add,0px))}.modal-sheet{border-radius:20px}

/* Clear card identity without making the UI heavy. */
.card>.section-row:first-child,.card>.section-title:first-child{position:relative}.card>.section-row:first-child::before{content:"";position:absolute;left:-14px;top:0;bottom:0;width:3px;border-radius:0 6px 6px 0;background:linear-gradient(var(--blue),var(--violet));opacity:.7}
.dark .card{border-color:color-mix(in srgb,var(--ink) 18%,var(--line));box-shadow:0 5px 18px rgba(0,0,0,.16)}

/* Focus layer for every workspace/select/date dropdown. */
.focus-backdrop{position:fixed;inset:0;z-index:2300;background:color-mix(in srgb,var(--bg) 5%,transparent);backdrop-filter:blur(3.5px) saturate(.92);-webkit-backdrop-filter:blur(3.5px) saturate(.92);opacity:0;visibility:hidden;transition:opacity .16s ease,visibility 0s linear .16s;pointer-events:none}
.focus-backdrop.show{opacity:1;visibility:visible;transition:opacity .16s ease;pointer-events:auto}
.workspace-menu{z-index:2800}.smart-select-panel,.date-picker-panel{z-index:2900}
.workspace-menu,.smart-select-panel,.date-picker-panel{border-color:color-mix(in srgb,var(--ink) 15%,var(--line));box-shadow:0 24px 68px rgba(26,35,77,.24)}
.smart-select-panel{padding:7px;border-radius:13px}.smart-select-search{height:35px;margin-bottom:5px}.smart-select-options{max-height:min(46vh,360px)}
body[data-theme="iosglass"] .focus-backdrop{background:rgba(226,235,255,.08);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}
.dark .focus-backdrop{background:rgba(3,8,20,.10)}

/* Tax Classification — compact expandable head audit trail. */
.classification-overview{padding:12px 13px}.classification-total{text-align:right;padding-left:16px;border-left:1px solid var(--section-line)}.classification-total span,.classification-total b{display:block}.classification-total span{font-size:calc(8px + var(--font-add,0px));color:var(--muted)}.classification-total b{font-size:calc(16px + var(--font-add,0px));margin-top:2px}
.tax-head-stack{display:grid;gap:7px}.tax-head-card{border:1px solid var(--section-line);border-radius:12px;background:color-mix(in srgb,var(--panel-solid) 96%,var(--bg));overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.tax-head-card[open]{border-color:color-mix(in srgb,var(--blue) 32%,var(--section-line));box-shadow:0 7px 18px rgba(54,72,145,.08)}.tax-head-card>summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr) auto 20px;gap:9px;align-items:center;padding:9px 10px;cursor:pointer;user-select:none}.tax-head-card>summary::-webkit-details-marker{display:none}.tax-head-card>summary:hover{background:color-mix(in srgb,var(--blue) 4%,var(--panel-solid))}.tax-head-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--head-color) 12%,var(--panel-solid));color:var(--head-color);font-weight:900}.tax-head-copy b,.tax-head-copy small,.tax-head-amount b,.tax-head-amount small{display:block}.tax-head-copy b{font-size:calc(11px + var(--font-add,0px))}.tax-head-copy small{font-size:calc(8px + var(--font-add,0px));color:var(--muted);margin-top:1px}.tax-head-amount{text-align:right}.tax-head-amount b{font-size:calc(12px + var(--font-add,0px))}.tax-head-amount small{font-size:calc(8px + var(--font-add,0px));color:var(--muted)}.tax-head-chevron{color:var(--muted);transition:transform .18s ease}.tax-head-card[open] .tax-head-chevron{transform:rotate(180deg)}.tax-head-detail{border-top:1px solid var(--section-line);padding:8px 10px 10px;background:color-mix(in srgb,var(--bg) 38%,var(--panel-solid))}
.head-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px}.head-ledger>div{display:flex;justify-content:space-between;gap:12px;padding:6px 8px;border-bottom:1px dashed color-mix(in srgb,var(--line) 88%,transparent);font-size:calc(9px + var(--font-add,0px))}.head-ledger span{color:var(--text-secondary)}.head-ledger b{white-space:nowrap}.head-ledger .less b{color:var(--red)}.head-ledger .result{grid-column:1/-1;border:1px solid color-mix(in srgb,var(--green) 22%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--panel-solid));border-radius:8px;font-weight:850}.head-ledger .result b{color:var(--green)}.head-source-title{margin:9px 2px 5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:calc(7px + var(--font-add,0px));font-weight:850}.head-source-list{display:grid;gap:4px}.head-source-list>div{display:flex;justify-content:space-between;gap:12px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:7px;background:var(--panel-solid);font-size:calc(8px + var(--font-add,0px))}.head-empty-note{font-size:calc(8px + var(--font-add,0px));color:var(--muted);padding:5px 2px}.head-loss-note{margin-top:7px;padding:7px 8px;border-radius:8px;background:color-mix(in srgb,var(--orange) 7%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--orange) 20%,var(--line));font-size:calc(8px + var(--font-add,0px));color:var(--text-secondary)}
.compact-disclosure{padding:0!important;overflow:hidden}.compact-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;cursor:pointer}.compact-disclosure>summary::-webkit-details-marker{display:none}.compact-disclosure>summary span b,.compact-disclosure>summary span small{display:block}.compact-disclosure>summary span b{font-size:calc(11px + var(--font-add,0px))}.compact-disclosure>summary span small{color:var(--muted);font-size:calc(8px + var(--font-add,0px));margin-top:2px}.compact-disclosure>summary em{font-style:normal;color:var(--blue);font-size:calc(8px + var(--font-add,0px));font-weight:800}.compact-disclosure-body{border-top:1px solid var(--section-line);padding:10px 12px 12px}.classification-summary-grid{gap:6px;margin-top:0}.classification-summary-grid>div{padding:8px 9px;border-radius:9px}.classification-summary-grid b{font-size:calc(11px + var(--font-add,0px));margin-top:2px}

@media(max-width:900px){.topbar{padding:0 10px}.view{padding:12px}.head-ledger{grid-template-columns:1fr}.head-ledger .result{grid-column:auto}.classification-total{display:none}}

/* v0.10 — denser data-entry / classification / advance-tax interaction redesign */
.entry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px;margin-bottom:10px;overflow:visible;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 5%,var(--panel-solid)),color-mix(in srgb,var(--violet) 4%,var(--panel-solid)))}
.entry-toolbar>div:first-child{min-width:0}.entry-toolbar-label{display:block;font-size:calc(10px + var(--font-add,0px));font-weight:850;color:var(--ink)}.entry-toolbar small{display:block;margin-top:1px;color:var(--muted);font-size:calc(8px + var(--font-add,0px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-type-select{width:min(320px,36vw);flex:0 0 min(320px,36vw)}.entry-type-select .smart-select-trigger{font-weight:800;background:var(--panel-solid)}

.capital-form-card{padding:12px 13px}.capital-form-card>.section-row{margin-bottom:6px}.capital-form-card>.field{margin-top:8px!important}.cg-transaction-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.cg-stage-card{position:relative;border:1px solid var(--section-line);border-radius:13px;padding:10px;background:color-mix(in srgb,var(--panel-solid) 96%,var(--bg));overflow:hidden}.cg-stage-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stage-accent)}.cg-stage-card.purchase{--stage-accent:#5a72f4;background:linear-gradient(135deg,color-mix(in srgb,#5a72f4 5%,var(--panel-solid)),var(--panel-solid))}.cg-stage-card.sale{--stage-accent:#13a976;background:linear-gradient(135deg,color-mix(in srgb,#13a976 5%,var(--panel-solid)),var(--panel-solid))}.cg-stage-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cg-stage-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--stage-accent) 12%,var(--panel-solid));color:var(--stage-accent);font-weight:900}.cg-stage-head b,.cg-stage-head small{display:block}.cg-stage-head b{font-size:calc(10px + var(--font-add,0px))}.cg-stage-head small{font-size:calc(7px + var(--font-add,0px));color:var(--muted);margin-top:1px}.cg-stage-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cg-stage-fields .field input,.cg-stage-fields .modern-date-trigger{background:var(--panel-solid)}
.cg-optional-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cg-optional-stage{border:1px solid var(--section-line);border-radius:11px;padding:10px;background:color-mix(in srgb,var(--bg) 28%,var(--panel-solid))}.cg-optional-stage.purchase{box-shadow:inset 3px 0 0 color-mix(in srgb,#5a72f4 70%,transparent)}.cg-optional-stage.sale{box-shadow:inset 3px 0 0 color-mix(in srgb,#13a976 70%,transparent)}.cg-optional-head{margin-bottom:8px}.cg-optional-head b,.cg-optional-head small{display:block}.cg-optional-head b{font-size:calc(9px + var(--font-add,0px))}.cg-optional-head small{margin-top:2px;color:var(--muted);font-size:calc(7px + var(--font-add,0px))}.capital-stt-note{margin-top:9px}.cg-register-disclosure{overflow:hidden!important}.cg-register-disclosure>summary{background:color-mix(in srgb,var(--blue) 2.5%,var(--panel-solid))}

/* Classification cards: show the answer first, reveal the ledger only when requested. */
.classification-overview{overflow:visible}.tax-head-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.tax-head-card{border-radius:13px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--head-color) 5%,var(--panel-solid)),var(--panel-solid));min-width:0}.tax-head-card>summary{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:10px 11px;min-height:126px;position:relative}.tax-head-card>summary:hover{background:color-mix(in srgb,var(--head-color) 5%,var(--panel-solid))}.tax-head-card-top{display:flex;align-items:center;justify-content:space-between}.tax-head-icon{width:31px;height:31px;border-radius:9px;background:color-mix(in srgb,var(--head-color) 13%,var(--panel-solid));color:var(--head-color)}.tax-head-chevron{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--head-color) 8%,var(--panel-solid));color:var(--head-color)}.tax-head-copy{margin-top:1px}.tax-head-copy b{font-size:calc(10px + var(--font-add,0px))}.tax-head-copy small{font-size:calc(7px + var(--font-add,0px));text-transform:uppercase;letter-spacing:.06em}.tax-head-amount{text-align:left;margin-top:1px}.tax-head-amount b{font-size:calc(17px + var(--font-add,0px));letter-spacing:-.25px}.tax-head-amount small{font-size:calc(7px + var(--font-add,0px));margin-top:1px}.tax-head-audit{margin-top:auto;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--head-color) 13%,var(--section-line));font-size:calc(7px + var(--font-add,0px));font-weight:800;color:var(--head-color)}.tax-head-detail{padding:9px;background:color-mix(in srgb,var(--bg) 26%,var(--panel-solid))}.tax-head-card[open]{grid-column:span 2}.tax-head-card[open]>summary{min-height:0}.tax-head-card[open] .tax-head-audit{display:none}.classification-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.classification-support-grid .compact-disclosure{margin-top:0!important;height:max-content}.classification-support-grid .compact-disclosure>summary{min-height:54px}

/* Advance Tax: compact card-first summary. */
.advance-summary-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10px}.advance-regime-panel,.advance-tax-total-panel{padding:12px 13px}.regime-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.regime-choice-card{border:1px solid var(--section-line);border-radius:11px;background:var(--panel-solid);color:var(--ink);padding:9px 10px;text-align:left;min-width:0;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.regime-choice-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 30%,var(--section-line))}.regime-choice-card.active{border-color:color-mix(in srgb,var(--blue) 55%,var(--section-line));box-shadow:inset 3px 0 0 var(--blue),0 4px 12px rgba(61,82,169,.08);background:color-mix(in srgb,var(--blue) 5%,var(--panel-solid))}.regime-choice-card span,.regime-choice-card b,.regime-choice-card small{display:block}.regime-choice-card span{font-size:calc(8px + var(--font-add,0px));font-weight:800;color:var(--text-secondary)}.regime-choice-card b{font-size:calc(15px + var(--font-add,0px));margin-top:3px}.regime-choice-card small{font-size:calc(7px + var(--font-add,0px));color:var(--muted);margin-top:2px}.regime-context-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.regime-context-row span{padding:6px 7px;border-radius:8px;background:color-mix(in srgb,var(--bg) 38%,var(--panel-solid));font-size:calc(7px + var(--font-add,0px));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.regime-context-row b{color:var(--ink);margin-left:3px}.tax-total-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tax-total-mini{border:1px solid var(--section-line);border-radius:11px;padding:8px 9px;background:var(--panel-solid);min-width:0}.tax-total-mini span,.tax-total-mini b{display:block}.tax-total-mini span{font-size:calc(7px + var(--font-add,0px));color:var(--muted)}.tax-total-mini b{font-size:calc(14px + var(--font-add,0px));margin-top:3px}.tax-total-mini.total{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 9%,var(--panel-solid)),color-mix(in srgb,var(--violet) 8%,var(--panel-solid)));border-color:color-mix(in srgb,var(--blue) 28%,var(--section-line))}.tax-total-mini.total b{color:var(--blue);font-size:calc(17px + var(--font-add,0px))}.advance-pending-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--orange) 7%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--orange) 18%,var(--section-line));font-size:calc(7px + var(--font-add,0px));color:var(--text-secondary)}.advance-pending-note b{color:var(--orange)}

/* Typed dates: Enter commits immediately and the trigger reflects the chosen date. */
.date-picker-editor input.invalid{border-color:#e25768!important;box-shadow:0 0 0 3px rgba(226,87,104,.10)!important}.date-picker-editor:has(input.invalid)::after{content:'Use dd-mm-yyyy';font-size:9px;color:#d84b5f;margin-left:auto;white-space:nowrap}

@media(max-width:1050px){.tax-head-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advance-summary-grid{grid-template-columns:1fr}.classification-support-grid{grid-template-columns:1fr}.cg-optional-grid{grid-template-columns:1fr}}
@media(max-width:760px){.entry-toolbar{align-items:flex-end}.entry-type-select{width:46%;flex-basis:46%}.cg-transaction-grid,.cg-stage-fields,.tax-head-grid{grid-template-columns:1fr}.tax-head-card[open]{grid-column:auto}.regime-context-row{grid-template-columns:1fr}.cg-stage-head small,.entry-toolbar small{white-space:normal}.tax-total-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.entry-toolbar{display:grid;grid-template-columns:1fr}.entry-type-select{width:100%;flex-basis:auto}.regime-card-grid,.tax-total-card-grid{grid-template-columns:1fr}}

/* v0.10.1 — classification cards keep their grid position when expanded. */
.tax-head-grid{grid-auto-flow:row;align-items:start}
.tax-head-card[open]{grid-column:auto!important;min-width:0}
.tax-head-card[open]>summary{min-width:0}
.tax-head-card[open] .tax-head-copy,
.tax-head-card[open] .tax-head-amount{min-width:0}
.tax-head-card[open] .tax-head-copy b,
.tax-head-card[open] .tax-head-copy small,
.tax-head-card[open] .tax-head-amount b,
.tax-head-card[open] .tax-head-amount small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tax-head-detail{min-width:0;overflow:hidden}
.tax-head-detail .head-ledger{grid-template-columns:1fr;gap:3px}
.tax-head-detail .head-ledger .result{grid-column:auto}
.tax-head-detail .head-ledger>div{min-width:0;padding:5px 7px;gap:8px}
.tax-head-detail .head-ledger span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tax-head-detail .head-ledger b{flex:0 0 auto}
.tax-head-detail .head-source-list>div{min-width:0}
.tax-head-detail .head-source-list span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tax-head-detail .head-source-list b{flex:0 0 auto;white-space:nowrap}

/* Keep dense three-column classification layout for wider desktop screens. */
@media(min-width:1051px){
  .tax-head-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* v0.10.2 — prevent table text collisions without over-truncating normal content. */
.classification-cg-table{
  table-layout:fixed;
  min-width:690px;
}
.classification-cg-table th,
.classification-cg-table td{
  min-width:0;
  overflow:hidden;
}
.classification-cg-table th:nth-child(1){width:27%}
.classification-cg-table th:nth-child(2){width:9%}
.classification-cg-table th:nth-child(3){width:19%}
.classification-cg-table th:nth-child(4){width:31%}
.classification-cg-table th:nth-child(5){width:14%}
.classification-cg-table .cg-master-cell,
.classification-cg-table .cg-bucket-cell{
  white-space:normal;
}
.classification-cg-table .cg-term-cell,
.classification-cg-table .cg-gain-cell,
.classification-cg-table .cg-status-cell{
  white-space:nowrap;
}
.classification-cg-table .cell-fit{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.classification-cg-table .cell-note{
  max-width:100%;
}
.classification-cg-table .cg-status-cell .tag{
  max-width:100%;
}

/* The wider Data Entry register already scrolls horizontally; just stop secondary notes from spilling into neighbours. */
.cg-table .cell-note{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* v0.10.3 — allow descriptive register text to wrap naturally; never replace it with ellipsis. */
.classification-cg-table .cell-fit{
  display:block;
  max-width:100%;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.28;
}
.classification-cg-table .cell-note{
  max-width:100%;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.28;
}
.classification-cg-table .cg-master-cell,
.classification-cg-table .cg-bucket-cell{
  overflow:visible;
  white-space:normal;
  vertical-align:top;
}
.classification-cg-table .cg-bucket-cell{
  padding-right:12px;
}

/* Data Entry register: secondary descriptions may use additional lines instead of ellipsis. */
.cg-table .cell-note{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.28;
}

/* v0.13.0 — expanded personal/HUF deduction catalog. */
.deduction-summary{padding:12px 13px}.deduction-regime-switch{display:flex;gap:6px;flex:0 0 auto}.deduction-builder{align-self:start}.deduction-rule-preview{margin-top:10px;padding:10px;border:1px solid var(--section-line);border-radius:11px;background:color-mix(in srgb,var(--blue) 4%,var(--panel-solid))}.deduction-rule-preview>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.deduction-rule-preview span,.deduction-rule-preview small{font-size:calc(7px + var(--font-add,0px));color:var(--muted)}.deduction-rule-preview b{font-size:calc(9px + var(--font-add,0px));color:var(--blue)}.deduction-rule-preview p{margin:6px 0 0;font-size:calc(8px + var(--font-add,0px));line-height:1.45;color:var(--text-secondary)}.deduction-dynamic{margin-top:10px}.deduction-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.deduction-fact-grid .field{margin-top:0!important}.deduction-register td{vertical-align:top}.deduction-register .cell-note{margin-top:3px;line-height:1.35}.wrap-text{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:normal}.house-entry-fields{margin-top:10px}.house-rule-card,.house-live-preview{margin-top:10px;padding:10px;border-radius:11px;border:1px solid var(--section-line);background:color-mix(in srgb,var(--orange) 4%,var(--panel-solid))}.house-rule-card p{margin:5px 0 0;font-size:calc(8px + var(--font-add,0px));line-height:1.45;color:var(--text-secondary)}.house-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.house-preview-grid>div{padding:7px;border-radius:8px;background:color-mix(in srgb,var(--bg) 36%,var(--panel-solid));min-width:0}.house-preview-grid span,.house-preview-grid b{display:block}.house-preview-grid span{font-size:calc(7px + var(--font-add,0px));color:var(--muted);line-height:1.25}.house-preview-grid b{margin-top:3px;font-size:calc(10px + var(--font-add,0px));overflow-wrap:anywhere}.advance-supported-note{background:color-mix(in srgb,var(--green) 7%,var(--panel-solid));border-color:color-mix(in srgb,var(--green) 20%,var(--section-line))}.advance-supported-note b{color:var(--green)}

/* Long audit descriptions should grow vertically instead of becoming an ellipsis. */
.classification-cg-table .cell-fit,.classification-cg-table .cell-note,.cg-table .cell-note,.deduction-register .cell-note,.head-source-list .wrap-text{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:normal}

@media(max-width:760px){.deduction-fact-grid,.house-preview-grid{grid-template-columns:1fr}.deduction-regime-switch{width:100%;justify-content:flex-end}}
