:root,[data-theme=light]{--brand:#2fd38f;--brand-strong:#23b378;--brand-deep:#16805a;--brand-soft:#e8faf1;--brand-glow:#2fd38f2e;--bg:#fafbfb;--sidebar:#f3f6f4;--surface:#fff;--surface-muted:#f6f8f7;--surface-elev:#fff;--surface-selected:var(--brand-soft);--ink:#0c1a14;--text:#1a2a23;--muted:#5b6c64;--muted-soft:#8a9892;--line:#e3eae6;--line-strong:#cfdad4;--line-soft:#eef2f0;--success:var(--brand-deep);--success-soft:var(--brand-soft);--warning:#b45309;--warning-soft:#fef3c7;--warning-strong:#92400e;--danger:#b91c1c;--danger-soft:#fee2e2;--info:#1d4ed8;--info-soft:#dbeafe;--primary:var(--brand-deep);--primary-strong:#115e3f;--primary-soft:var(--brand-soft);--blue-soft:var(--info-soft);--font-display:var(--font-outfit), system-ui, -apple-system, sans-serif;--font-body:var(--font-outfit), system-ui, -apple-system, sans-serif;--font-mono:var(--font-dm-mono), ui-monospace, "Roboto Mono", monospace;--shadow-sm:0 1px 2px #0c1a140a, 0 2px 6px #0c1a140a;--shadow-md:0 4px 12px #0c1a140f, 0 12px 24px #0c1a140d;--shadow-lg:0 12px 36px #0c1a1414;--shadow-glow:0 8px 32px var(--brand-glow);--shadow:var(--shadow-sm);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px}[data-theme=dark]{--brand:#4c8dff;--brand-strong:#3573e0;--brand-deep:#d8e7ff;--brand-soft:#4c8dff29;--brand-glow:#4c8dff52;--bg:#0f1115;--sidebar:#131720;--surface:#161a20;--surface-muted:#1b2028;--surface-elev:#1e242d;--surface-selected:var(--brand-soft);--ink:#f2f5fa;--text:#d8dde3;--muted:#98a2b3;--muted-soft:#7f8a9a;--line:#2c3440;--line-strong:#3d4754;--line-soft:#232a34;--success:#63d297;--success-soft:#63d29729;--warning:#e3b15f;--warning-soft:#e3b15f29;--warning-strong:#f1c57a;--danger:#ff8a80;--danger-soft:#ff8a8029;--info:#8db7ff;--info-soft:#8db7ff29;--primary:var(--brand);--primary-strong:var(--brand-deep);--primary-soft:var(--brand-soft);--blue-soft:var(--brand-soft);--shadow-sm:0 1px 2px #00000073, 0 2px 6px #00000059;--shadow-md:0 4px 12px #00000073, 0 12px 24px #0006;--shadow-lg:0 12px 36px #0000008c;--shadow-glow:0 8px 32px var(--brand-glow);--shadow:var(--shadow-sm)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--brand:#4c8dff;--brand-strong:#3573e0;--brand-deep:#d8e7ff;--brand-soft:#4c8dff29;--brand-glow:#4c8dff52;--bg:#0f1115;--sidebar:#131720;--surface:#161a20;--surface-muted:#1b2028;--surface-elev:#1e242d;--surface-selected:var(--brand-soft);--ink:#f2f5fa;--text:#d8dde3;--muted:#98a2b3;--muted-soft:#7f8a9a;--line:#2c3440;--line-strong:#3d4754;--line-soft:#232a34;--success:#63d297;--success-soft:#63d29729;--warning:#e3b15f;--warning-soft:#e3b15f29;--warning-strong:#f1c57a;--danger:#ff8a80;--danger-soft:#ff8a8029;--info:#8db7ff;--info-soft:#8db7ff29;--primary:var(--brand);--primary-strong:var(--brand-deep);--primary-soft:var(--brand-soft);--blue-soft:var(--brand-soft);--shadow-sm:0 1px 2px #00000073, 0 2px 6px #00000059;--shadow-md:0 4px 12px #00000073, 0 12px 24px #0006;--shadow-lg:0 12px 36px #0000008c;--shadow-glow:0 8px 32px var(--brand-glow);--shadow:var(--shadow-sm)}}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-size:16px;line-height:1.55;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);flex-direction:column;justify-content:space-between;height:100vh;padding:24px 18px 20px;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;width:max-content;display:inline-flex}.brand img{height:auto;display:block}.sidebar-brand-row{justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:0 6px;display:flex}.brand-glyph{border-radius:10px;display:none!important}.collapse-button{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.collapse-button:hover{color:var(--ink);background:var(--surface)}.collapse-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.nav-list{gap:2px;margin-top:32px;display:grid}.nav-item{border-radius:var(--radius-sm);min-height:40px;color:var(--text);align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:hover{background:#0c1a140a}.nav-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.nav-item.active{color:var(--brand-deep);background:var(--brand-soft);font-weight:700}.nav-item.active:before{content:"";background:var(--brand);border-radius:999px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-footer{border-top:1px solid var(--line);gap:2px;padding-top:12px;display:grid}.footer-item{color:var(--muted);font-size:15px}.footer-item:hover{color:var(--ink)}.nav-item-button{appearance:none;font:inherit;color:inherit;text-align:left;background:0 0;border:0;width:100%}.main-frame{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:24px;height:64px;padding:0 28px;display:flex}.topbar-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.topbar-left .topbar-title{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.topbar-back{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin-right:6px;transition:background .12s,color .12s;display:inline-flex}.topbar-back:hover{background:var(--surface-muted);color:var(--ink)}.topbar-back:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.topbar-left .topbar-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;overflow:hidden}.topbar-actions{align-items:center;gap:4px;display:flex}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.icon-button:hover{color:var(--ink);background:var(--surface-muted)}.icon-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.content{width:100%;max-width:1320px;padding:28px 32px 64px}h1{color:var(--ink);font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:26px;font-weight:700;line-height:1.2}h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:17px;font-weight:700}p{margin:0}.page-heading,.workspace-title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.page-header:not(:has(.page-header-text)){justify-content:flex-end}.page-status{color:var(--muted);margin:32px 0 0;font-size:15px}.page-header-text h1{font-size:24px}.page-header-text p{color:var(--muted);margin-top:4px;font-size:15px}.page-header-actions{align-items:center;gap:10px;display:inline-flex}.tax-year-picker{align-items:center;display:inline-flex;position:relative}.tax-year-picker select{appearance:none;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--ink);cursor:pointer;padding:0 30px 0 12px;font-size:14px;font-weight:600}.tax-year-picker select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.tax-year-picker>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary-button,.secondary-button,.select-control{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:38px;transition:background .12s,border-color .12s,transform .12s,box-shadow .12s;display:inline-flex}.primary-button{border:1px solid var(--brand-strong);background:var(--brand);color:#06301f;min-height:40px;padding:0 18px;font-size:15px;font-weight:700;box-shadow:0 1px 2px #081c1014}.primary-button:hover{background:var(--brand-strong);border-color:var(--brand-strong);box-shadow:0 4px 14px #2fd38f52}.primary-button.compact{min-height:36px;padding:0 14px;font-size:14.5px}.secondary-button{border:1px solid var(--line-strong);background:var(--surface);min-height:38px;color:var(--ink);padding:0 14px;font-size:14.5px;font-weight:600}.secondary-button:hover{background:var(--surface-muted);border-color:var(--muted-soft)}.ghost-button{min-height:36px;color:var(--muted);border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;font-size:14.5px;font-weight:600;display:inline-flex}.ghost-button:hover{color:var(--ink);background:var(--surface-muted)}.filters-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);align-items:center;gap:14px;min-height:64px;margin-top:24px;padding:14px;display:flex}.search-control{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);width:320px;min-height:40px;color:var(--muted);align-items:center;gap:10px;padding:0 14px;display:flex}.search-control input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:15px}.search-control input::placeholder{color:var(--muted-soft)}.select-control{border:1px solid var(--line-strong);background:var(--surface);min-width:168px;color:var(--ink);padding:0 14px;font-size:14.5px;font-weight:600}.select-control:hover{background:var(--surface-muted)}.filter-tabs{gap:8px;margin-left:auto;display:flex}.filter-pill{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);align-items:center;gap:8px;padding:0 14px;font-size:14.5px;font-weight:600;display:inline-flex}.filter-pill.active{color:var(--brand-deep);border-color:var(--brand);background:var(--brand-soft)}.count-dot{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.property-table-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.property-grid{grid-template-columns:minmax(220px,1.8fr) .9fr .9fr .9fr 1.2fr 1fr 44px;align-items:center;column-gap:24px;padding:0 22px;display:grid}.property-header-row{border-bottom:1px solid var(--line);min-height:44px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.property-row{border-bottom:1px solid var(--line-soft);min-height:70px;font-size:15px;transition:background .12s}.property-row:last-child{border-bottom:0}.property-row:hover{background:var(--surface-muted)}.property-name-cell{align-items:center;gap:14px;display:flex}.property-name-cell strong{color:var(--ink);font-size:15.5px;font-weight:700;line-height:1.3;display:block}.property-name-cell span{color:var(--muted);margin-top:2px;font-size:14px;display:block}.property-thumb{border-radius:var(--radius-sm);width:38px;height:38px;font-family:var(--font-display);letter-spacing:-.01em;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.thumb-0{background:var(--brand-soft);color:var(--brand-deep)}.thumb-1{color:#1d4ed8;background:#eaf2ff}.thumb-2{color:#92400e;background:#fef3c7}.thumb-3{color:#9d174d;background:#fce7f3}.positive-result{color:var(--brand-deep);font-weight:700}.date-cell{text-align:left;color:var(--muted);font-size:14px}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:max-content;min-height:26px;padding:0 10px;font-size:13.5px;font-weight:600;display:inline-flex}.status-badge.ready{color:var(--brand-deep);background:var(--brand-soft)}.status-badge.review{color:var(--warning-strong);background:var(--warning-soft)}.status-badge.setup{color:var(--info);background:var(--info-soft)}.workspace-header,.setup-header{gap:14px;display:grid}.back-link{width:max-content;color:var(--muted);align-items:center;gap:6px;font-size:14.5px;font-weight:600;transition:color .12s;display:inline-flex}.back-link:hover{color:var(--brand-deep)}.workspace-title-row p{color:var(--muted);margin-top:6px;font-size:15px}.setup-title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.setup-title-row p{max-width:640px;color:var(--muted);margin-top:6px;font-size:15px;line-height:1.5}.setup-progress{align-items:center;gap:8px;min-height:36px;display:flex}.progress-step{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--muted);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.progress-step.active{color:#06301f;background:var(--brand);border-color:var(--brand-strong)}.progress-line{background:var(--line-strong);width:28px;height:1px}.setup-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;max-width:980px;margin-top:22px;display:grid}.setup-main{gap:14px;display:grid}.setup-card,.setup-choice-card,.review-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:20px}.setup-card-heading{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.setup-card-heading p{color:var(--muted);margin-top:4px;line-height:1.5}.section-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--brand-deep);background:var(--brand-soft);flex:none;justify-content:center;align-items:center;display:inline-flex}.start-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.start-option{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:left;grid-template-columns:auto minmax(0,1fr);gap:12px;min-height:100px;padding:16px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid;position:relative}.start-option:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.start-option.recommended{border-color:var(--brand);background:var(--brand-soft);box-shadow:var(--shadow-glow)}.option-icon{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--brand-deep);background:var(--surface);justify-content:center;align-items:center;display:inline-flex}.start-option strong{color:var(--ink);font-size:15.5px;font-weight:700;display:block}.start-option small{color:var(--muted);margin-top:4px;font-size:13.5px;line-height:1.5;display:block}.start-option em{color:var(--brand-deep);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-style:normal;font-weight:800;position:absolute;top:12px;right:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.field{color:var(--ink);grid-template-rows:auto 40px auto;gap:6px;font-size:14px;font-weight:600;display:grid}.field.wide{grid-column:1/-1}.field input,.field-select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--ink);padding:0 12px;font-size:15px;font-weight:500}.field input:focus,.field-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.field-select{text-align:left;justify-content:space-between;align-items:center;display:flex}.setup-upload{border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface-muted);min-height:144px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;transition:border-color .12s,background .12s;display:grid}.setup-upload:hover{border-color:var(--brand);background:var(--brand-soft)}.primary-upload{min-height:132px}.setup-upload strong{color:var(--ink);font-weight:700}.review-card{gap:12px;display:grid}.review-card p{color:var(--muted)}.detected-grid{grid-template-columns:repeat(6,minmax(0,auto));justify-content:start;gap:6px;display:grid}.detected-grid span{background:var(--surface-muted);border:1px solid var(--line-soft);min-height:28px;color:var(--text);border-radius:999px;align-items:center;padding:0 10px;font-size:13.5px;font-weight:600;display:inline-flex}.missing-note{font-size:14px}.setup-actions{justify-content:flex-end;gap:8px;padding-bottom:16px;display:flex}.setup-cancel{text-decoration:none}.yearend-card{border-radius:var(--radius-lg);background:linear-gradient(135deg, #2fd38f0f, #2fd38f00 60%), var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-glow), var(--shadow-sm);margin-top:18px;padding:22px 24px;position:relative;overflow:hidden}.yearend-card:before{content:"";pointer-events:none;background:radial-gradient(620px 260px at 8% 0,#2fd38f1a,#0000 60%);position:absolute;inset:0}.yearend-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex;position:relative}.yearend-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-deep);align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:inline-flex}.yearend-eyebrow .yearend-pulse{background:var(--brand);width:8px;height:8px;box-shadow:0 0 0 4px var(--brand-glow);border-radius:999px}.yearend-headline{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex;position:relative}.yearend-headline h2{letter-spacing:-.02em;font-size:22px}.yearend-headline .yearend-context{color:var(--muted);font-size:15px}.yearend-actions{gap:8px;display:flex;position:relative}.yearend-progress{align-items:center;gap:14px;margin-bottom:18px;display:flex;position:relative}.yearend-progress-bar{background:#0c1a140f;border-radius:999px;flex:1;height:8px;overflow:hidden}.yearend-progress-bar .fill{background:linear-gradient(90deg, var(--brand), var(--brand-strong));border-radius:999px;height:100%;display:block}.yearend-progress-pct{font-family:var(--font-mono);color:var(--ink);text-align:right;min-width:38px;font-size:14px;font-weight:600}.yearend-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid;position:relative}.yearend-stat{gap:4px;display:grid}.yearend-stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.yearend-stat .label .dot{background:var(--brand);border-radius:999px;width:6px;height:6px}.yearend-stat .label .dot.amber{background:#f59e0b}.yearend-stat .value{color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:700}.yearend-stat .meta{color:var(--muted);font-size:13.5px}.yearend-stat .meta.warn{color:var(--warning-strong)}.story-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:28px;padding:22px 24px}.story-section+.story-section{margin-top:16px}.story-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-deep);margin-bottom:6px;font-size:11px;font-weight:700;display:inline-block}.story-section h2{letter-spacing:-.015em;font-size:19px;font-weight:700}.story-section h3.story-subhead{letter-spacing:-.01em;color:var(--ink);margin:4px 0 0;font-size:15px;font-weight:700}.story-lead{color:var(--text);max-width:720px;margin-top:8px;font-size:15px;line-height:1.55}.story-lead strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.story-lead-sm{color:var(--muted);max-width:720px;margin-top:4px;font-size:14.5px;line-height:1.55}.story-divider{background:var(--line-soft);height:1px;margin:22px 0 16px}.bar-pair{gap:12px;margin-top:16px;display:grid}.bar-row{grid-template-columns:1fr;gap:6px;display:grid}.bar-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.bar-amount{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.bar-track{background:#0c1a140d;border-radius:999px;height:12px;overflow:hidden}.bar-fill{border-radius:999px;height:100%;display:block}.bar-fill.positive{background:linear-gradient(90deg, var(--brand), var(--brand-strong))}.bar-fill.neutral{background:linear-gradient(90deg,#c7d4cd,#94a8a0)}.cost-breakdown{gap:8px;margin-top:12px;display:grid}.cost-row{grid-template-columns:200px minmax(0,1fr) 100px;align-items:center;gap:14px;font-size:14.5px;display:grid}.cost-label{color:var(--text);font-weight:500}.cost-bar{background:#0c1a140d;border-radius:999px;height:8px;overflow:hidden}.cost-bar-fill{background:linear-gradient(90deg, var(--brand), var(--brand-strong));border-radius:999px;height:100%;display:block}.cost-bar-fill.is-capex{background:linear-gradient(90deg,#f59e0b,#d97706)}.cost-value{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.metric{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-muted);gap:4px;padding:14px 16px;display:grid}.metric-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:12.5px;font-weight:600}.metric-value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:17px;font-weight:700}.mortgage-timeline{margin-top:18px}.timeline-bar{background:#0c1a140d;border-radius:999px;height:8px;overflow:hidden}.timeline-bar>span{background:linear-gradient(90deg, var(--brand), var(--brand-strong));border-radius:999px;height:100%;display:block}.timeline-marks{color:var(--muted);grid-template-columns:repeat(4,1fr);margin-top:6px;font-size:12.5px;font-weight:600;display:grid}.timeline-marks span:first-child{text-align:left}.timeline-marks span:nth-child(2),.timeline-marks span:nth-child(3){text-align:center}.timeline-marks span:nth-child(4){text-align:right}.tax-page-header{align-items:flex-start}.tax-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tax-actions .select-control{min-width:168px}.tax-readiness{border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:14px;margin-top:16px;padding:16px 20px;display:flex;position:relative;overflow:hidden}.tax-readiness:before{content:"";pointer-events:none;opacity:.5;position:absolute;inset:0}.tax-readiness.ready{background:var(--brand-soft);color:var(--brand-deep);border-color:#2fd38f52}.tax-readiness.ready:before{background:radial-gradient(420px 200px at 0%,#2fd38f2e,#0000 70%)}.tax-readiness.review{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.tax-readiness.review:before{background:radial-gradient(420px 200px at 0%,#f59e0b29,#0000 70%)}.tax-readiness-icon{background:var(--surface);z-index:1;border-radius:999px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.tax-readiness.ready .tax-readiness-icon{color:var(--brand-deep)}.tax-readiness.review .tax-readiness-icon{color:var(--warning-strong)}.tax-readiness-copy{z-index:1;gap:2px;min-width:0;display:grid;position:relative}.tax-readiness-copy strong{letter-spacing:-.01em;font-size:15px;font-weight:700}.tax-readiness-copy span{color:var(--text);opacity:.85;font-size:14px}.tax-readiness.review .tax-readiness-copy span{color:var(--warning-strong)}.tax-readiness.ready .tax-readiness-copy span{color:var(--brand-deep)}.tax-readiness-note{color:var(--text);opacity:.78;border-top:1px solid #081c101a;margin:10px 0 0;padding-top:10px;font-size:13.5px;line-height:1.55}.tax-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.portfolio-table{border:1px solid var(--line-soft);border-radius:var(--radius-md);margin-top:14px;overflow:hidden}.portfolio-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(180px,1.7fr) 1fr 1fr 1fr minmax(140px,1.2fr);align-items:center;gap:16px;padding:12px 18px;font-size:14.5px;display:grid}.portfolio-row:last-child{border-bottom:0}.portfolio-head{background:var(--surface-muted);color:var(--muted);text-transform:uppercase;letter-spacing:.07em;padding-top:10px;padding-bottom:10px;font-size:11px;font-weight:700}.portfolio-name{color:var(--ink);font-weight:600}.portfolio-num{font-variant-numeric:tabular-nums;text-align:left;color:var(--text)}.portfolio-result{color:var(--ink);font-weight:700}.portfolio-result.positive{color:var(--brand-deep)}.portfolio-totals{background:var(--brand-soft);color:var(--brand-deep);font-weight:700}.portfolio-totals .portfolio-num{color:var(--brand-deep)}.ir3r-tabs{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);flex-wrap:wrap;gap:8px;margin-top:16px;padding:8px;display:flex}.ir3r-tab{appearance:none;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 14px;font-size:14.5px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.ir3r-tab:hover{color:var(--ink);background:var(--surface)}.ir3r-tab.active{color:var(--brand-deep);background:var(--surface);box-shadow:var(--shadow-sm);border-color:#2fd38f52}.ir3r-tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ir3r-tab-label{font-weight:inherit}.ir3r-tab-dot{border-radius:999px;flex:none;width:8px;height:8px}.ir3r-tab-dot.ok{background:var(--brand)}.ir3r-tab-dot.warn{background:#f59e0b}.ir3r-tab-meta{min-width:20px;height:18px;color:var(--muted);font-variant-numeric:tabular-nums;background:#0c1a140f;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.ir3r-tab.active .ir3r-tab-meta{background:var(--brand-soft);color:var(--brand-deep)}.ir3r-tab-meta.warn{color:#9a3412;background:#fed7aa}.dashboard-tabs{background:var(--surface-muted);border:1px solid var(--line-soft);border-radius:14px;flex-wrap:wrap;gap:6px;margin-top:4px;margin-bottom:18px;padding:6px;display:flex}.dashboard-tab{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:14.5px;font-weight:600;transition:background .12s,color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.dashboard-tab:hover{color:var(--ink);background:#0c1a140a}.dashboard-tab.active{background:var(--surface);border-color:var(--brand);color:var(--ink);box-shadow:var(--shadow-sm), 0 0 0 1px #2fd38f2e}.dashboard-tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.dashboard-tab-label{font-weight:600}.dashboard-tab.active .dashboard-tab-label{font-weight:700}.dashboard-tab-meta{background:var(--surface);border:1px solid var(--line);min-width:22px;height:22px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12.5px;font-weight:700;display:inline-flex}.dashboard-tab.active .dashboard-tab-meta{background:var(--brand-soft);color:var(--brand-deep);border-color:#2fd38f52}.dashboard-tab-dot{border-radius:999px;flex:none;width:8px;height:8px}.dashboard-tab-dot.ok{background:var(--brand)}.dashboard-tab-dot.warn{background:#f59e0b}.dashboard-tab-dot.info{background:var(--info)}.stat-value.warn-value{color:var(--warning-strong)}.property-row-button{appearance:none;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--line-soft);background:0 0}.property-row-button:last-child{border-bottom:0}.property-row-button:hover{background:var(--surface-muted)}.property-row-button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-sm)}.property-row-delete{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.property-row-delete:hover:not(:disabled){color:var(--danger);background:#b91c1c1a}.property-row-delete:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.property-row-delete:disabled{opacity:.4;cursor:progress}.single-property-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;margin:4px 0 22px;display:flex}.single-property-fy{background:var(--brand-soft);color:var(--brand-deep);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}.property-upload-anchor{align-items:center;display:inline-flex;position:relative}.property-upload-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.property-upload-button:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.property-upload-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.property-settings-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.property-settings-button:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.property-settings-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.property-upload-panel{z-index:40;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);width:360px;max-width:88vw;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 40px #081c102e}.property-upload-panel-head{border-bottom:1px solid var(--line-soft);background:var(--surface-muted);color:var(--muted);justify-content:space-between;align-items:baseline;padding:10px 14px;font-size:13px;display:flex}.property-upload-panel-head strong{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:700}.property-upload-rows{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.property-upload-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:grid}.property-upload-row:last-child{border-bottom:0}.property-upload-filename{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.property-upload-type-picker{align-items:center;min-width:160px;display:inline-flex;position:relative}.property-upload-type-picker select{appearance:none;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:30px;color:var(--ink);cursor:pointer;padding:0 24px 0 10px;font-size:13.5px;font-weight:500}.property-upload-type-picker select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.property-upload-type-picker>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.property-upload-status{color:var(--muted);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.property-upload-status.done{color:var(--brand-deep)}.property-upload-status.failed{color:var(--danger)}.property-upload-dismiss{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.property-upload-dismiss:hover{background:var(--surface-muted);color:var(--ink)}.property-upload-row .property-upload-filename{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.property-upload-chip{background:var(--brand-soft,#2fd38f1f);color:var(--brand-deep,#0e5237);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.property-upload-note{color:#8a5a00;width:100%;margin-top:4px;font-size:12.5px;font-style:italic;display:block}.property-upload-step{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.property-upload-step-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.property-upload-status.done.warn{color:#8a5a00}.property-upload-chevron{margin-left:2px;transition:transform .12s}.property-upload-chevron.open{transform:rotate(180deg)}.property-upload-menu{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:2px;min-width:260px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #081c101a}.property-upload-menu-item{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:20px 1fr;align-items:center;gap:10px;padding:10px;transition:background .1s;display:grid}.property-upload-menu-item:hover,.property-upload-menu-item:focus-visible{background:#0c1a140d;outline:none}.property-upload-menu-item>span{gap:2px;min-width:0;display:grid}.property-upload-menu-item strong{font-size:14.5px;font-weight:600}.property-upload-menu-item small{color:var(--muted);font-size:12.5px}.property-manual-form{border-top:1px solid var(--line);gap:10px;padding:14px 14px 12px;display:grid}.property-manual-form:first-child{border-top:0}.property-manual-head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.property-manual-head strong{letter-spacing:-.005em;font-size:14px;font-weight:700}.property-manual-row{gap:4px;font-size:13.5px;display:grid}.property-manual-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.property-manual-form input[type=text],.property-manual-form input[type=number],.property-manual-form input[type=date],.property-manual-form select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:7px 9px;font-size:14px}.property-manual-form input:focus,.property-manual-form select:focus{border-color:var(--brand-strong,var(--brand));box-shadow:0 0 0 3px var(--brand-glow);outline:0}.property-manual-kind{grid-template-columns:1fr 1fr;gap:8px;display:grid}.property-manual-radio{border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:14px 1fr;align-items:start;gap:8px;padding:8px 10px;transition:background .1s,border-color .1s;display:grid}.property-manual-radio:hover{background:#0c1a1408}.property-manual-radio input[type=radio]{accent-color:var(--brand);margin:2px 0 0}.property-manual-radio:has(input:checked){background:var(--brand-soft,#2fd38f14);border-color:var(--brand)}.property-manual-radio>span{gap:1px;display:grid}.property-manual-radio strong{font-size:13.5px;font-weight:600}.property-manual-radio small{color:var(--muted);font-size:10.5px}.property-manual-error{color:var(--danger,#b91c1c);margin:0;font-size:13px}.property-manual-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}@media (max-width:720px){.dashboard-tabs{flex-wrap:nowrap;overflow-x:auto}.dashboard-tab{flex:none}.single-property-actions{justify-content:flex-start;width:100%}}.ir3r-layout{grid-template-columns:minmax(0,1fr) 304px;align-items:start;gap:20px;margin-top:14px;display:grid}.ir3r-stack{gap:16px;min-width:0;display:grid}.ir3r-stack-item.is-hidden{display:none}.ir3r-methodology{align-self:start;gap:10px;display:grid;position:sticky;top:16px}.methodology-aside-head{margin-bottom:2px}.methodology-aside-head h3{color:var(--ink);letter-spacing:-.01em;margin:4px 0 0;font-size:14.5px;font-weight:700}.ir3r-methodology .methodology-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);gap:4px;padding:12px 14px}.ir3r-methodology .methodology-icon{width:28px;height:28px}.ir3r-methodology .methodology-card h3{margin:2px 0 0;font-size:14px}.ir3r-methodology .methodology-card p{font-size:13.5px;line-height:1.5}.ir3r-methodology .methodology-card p strong{color:var(--ink);font-weight:700}@media print{.ir3r-stack-item.is-hidden{display:block!important}.ir3r-stack-item+.ir3r-stack-item{page-break-before:always}.ir3r-tabs{display:none!important}}.ir3r-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);page-break-inside:avoid;overflow:hidden}.ir3r-card-head{background:var(--surface-muted);border-bottom:1px solid var(--line);padding:14px 18px}.ir3r-card-head h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:700}.ir3r-meta{grid-template-columns:repeat(3,minmax(0,auto));gap:4px 24px;margin:0;font-size:13px;display:grid}.ir3r-meta div{align-items:baseline;gap:6px;min-width:0;display:flex}.ir3r-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:10.5px;font-weight:700}.ir3r-meta dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.ir3r-block{border-bottom:1px solid var(--line-soft)}.ir3r-block:last-of-type{border-bottom:0}.ir3r-block-head{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line-soft);background:#0c1a1405;padding:10px 18px;font-size:11px;font-weight:700}.ir3r-row{border-bottom:1px solid var(--line-soft);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 18px 10px 14px;font-size:14.5px;display:grid}.ir3r-row:last-child{border-bottom:0}.ir3r-line-items{border-bottom:1px solid var(--line-soft);background:#081c1004;padding:6px 18px 12px 30px}.ir3r-line-items ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ir3r-line-item{color:var(--muted);font-variant-numeric:tabular-nums;grid-template-columns:118px minmax(0,1fr) auto;align-items:baseline;gap:12px;font-size:13.5px;display:grid}.ir3r-line-date{font-family:var(--font-mono,ui-monospace, monospace);color:var(--muted);white-space:nowrap;font-size:12.5px}.ir3r-line-desc{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ir3r-line-amount{color:var(--ink);font-weight:600}.ir3r-row.ir3r-muted{color:var(--muted)}.ir3r-box-num{color:#fff;min-width:36px;height:22px;font-family:var(--font-mono);letter-spacing:.02em;background:#1d3a52;border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.ir3r-row.ir3r-muted .ir3r-box-num{background:#1d3a5273}.ir3r-row-label{gap:2px;min-width:0;display:grid}.ir3r-row-label>span{color:var(--ink);font-weight:500}.ir3r-row.ir3r-muted .ir3r-row-label>span{color:var(--muted);font-weight:500}.ir3r-row-label>small{color:var(--muted);font-size:12.5px;line-height:1.45}.ir3r-row-value{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;text-align:right;font-weight:600}.ir3r-row.ir3r-muted .ir3r-row-value{color:var(--muted);font-weight:500}.ir3r-tbd{color:var(--muted);font-size:12.5px;font-style:italic;font-weight:600}.ir3r-7c-toggle{appearance:none;border:1px dashed var(--line-strong);cursor:pointer;color:var(--ink);text-align:left;background:0 0;border-radius:8px;justify-content:flex-end;align-items:center;gap:6px;max-width:100%;min-height:28px;padding:4px 10px;font-size:14px;transition:background .12s,border-color .12s;display:inline-flex}.ir3r-7c-toggle:hover{border-color:var(--brand);background:var(--brand-soft)}.ir3r-7c-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ir3r-7c.is-expanded .ir3r-7c-toggle{border-color:var(--brand);background:var(--brand-soft)}.ir3r-7c-selected{color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ir3r-7c-chevron{color:var(--muted);flex:none;transition:transform .18s}.ir3r-7c-chevron.open{color:var(--brand-deep);transform:rotate(180deg)}.ir3r-7c-options{border:0;border-bottom:1px solid var(--line-soft);background:var(--brand-soft);gap:8px;margin:0;padding:12px 16px 16px 60px;display:grid}.ir3r-7c-option{cursor:pointer;color:var(--ink);align-items:flex-start;gap:10px;padding:4px 0;font-size:14px;line-height:1.45;display:flex}.ir3r-7c-option:hover{color:var(--brand-deep)}.ir3r-7c-option input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;flex:none;margin:2px 0 0}.ir3r-subtotal{background:#0c1a1405}.ir3r-subtotal .ir3r-row-label>span,.ir3r-subtotal .ir3r-row-value{color:var(--ink);font-weight:700}.ir3r-final{background:var(--brand-soft);border-top:1px solid #2fd38f52;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.ir3r-final>div{flex-direction:column;gap:2px;display:flex}.ir3r-final-label{color:var(--brand-deep);font-size:15.5px;font-weight:700}.ir3r-final-formula{color:var(--brand-deep);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.02em;opacity:.8}.ir3r-final strong{color:var(--brand-deep);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:18px;font-weight:800}.ir3r-note{border-radius:var(--radius-sm);color:#6b3608;background:#fff7ed;border:1px solid #fed7aa;align-items:flex-start;gap:10px;margin:12px 18px 16px;padding:10px 14px;font-size:13.5px;line-height:1.5;display:flex}.ir3r-note>svg{color:#9a3412;flex:none;margin-top:2px}.ir3r-note strong{color:#6b3608;font-weight:700}@media (max-width:1100px){.ir3r-layout{grid-template-columns:1fr}.ir3r-methodology{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;position:static}.methodology-aside-head{grid-column:1/-1}}@media (max-width:720px){.ir3r-meta{grid-template-columns:1fr}.ir3r-row{grid-template-columns:40px minmax(0,1fr)}.ir3r-row-value{text-align:left;grid-column:2}.ir3r-methodology{grid-template-columns:1fr}}.ir3r-ledger{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);margin-top:14px;overflow:hidden}.ledger-section{border-bottom:1px solid var(--line-soft)}.ledger-section:last-of-type{border-bottom:0}.ledger-section-head{background:var(--surface-muted);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line-soft);padding:10px 18px;font-size:11px;font-weight:700}.ledger-line{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;font-size:15px;display:flex}.ledger-line:last-child{border-bottom:0}.ledger-line span{color:var(--text)}.ledger-line strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.ledger-subtotal{background:var(--surface-muted);font-weight:700}.ledger-subtotal span,.ledger-subtotal strong{color:var(--ink);font-weight:700}.ledger-final{background:var(--brand-soft);padding:16px 18px;font-size:16px}.ledger-final span{color:var(--brand-deep);font-weight:700}.ledger-final strong{color:var(--brand-deep);font-size:18px;font-weight:800}.ledger-note{border-radius:var(--radius-sm);color:#6b3608;background:#fff7ed;border:1px solid #fed7aa;align-items:flex-start;gap:10px;margin:14px 18px 16px;padding:10px 14px;font-size:13.5px;line-height:1.5;display:flex}.ledger-note>svg{color:#9a3412;flex:none;margin-top:2px}.ledger-note strong{color:#6b3608;font-weight:700}.methodology-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.methodology-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);gap:6px;padding:16px 18px;display:grid}.methodology-icon{border-radius:var(--radius-sm);background:var(--brand-soft);width:32px;height:32px;color:var(--brand-deep);justify-content:center;align-items:center;display:inline-flex}.methodology-card h3{color:var(--ink);letter-spacing:-.01em;margin:4px 0 0;font-size:15px;font-weight:700}.methodology-card p{color:var(--text);font-size:14px;line-height:1.55}.methodology-card p em{color:var(--muted);font-style:italic}.review-section .review-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.review-item{border-radius:var(--radius-md);background:#fff7ed;border:1px solid #fed7aa;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.review-item .review-icon{background:var(--surface);width:28px;height:28px;color:var(--warning-strong);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.review-item .review-meta{gap:2px;min-width:0;display:grid}.review-item .review-meta strong{color:var(--ink);font-size:15px;font-weight:600}.review-item .review-meta span{color:#6b3608;font-size:13.5px}.review-link{color:var(--brand-deep);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:6px 10px;font-size:14px;font-weight:700;transition:background .12s;display:inline-flex}.review-link:hover{background:var(--brand-soft)}.disclaimer-section{background:var(--surface-muted)}.disclaimer-large{color:var(--text);max-width:760px;font-size:14px;line-height:1.65}.disclaimer-large strong{color:var(--ink)}.ir3r-print-header,.ir3r-print-footer{display:none}@media print{.sidebar,.topbar,.app-shell-topbar,.app-shell-sidebar,.page-header,.tax-actions,.tax-readiness,.tax-stat-grid,.ir3r-tabs,.ir3r-methodology,.review-section,.review-link{display:none!important}.shell,.shell.sidebar-collapsed{grid-template-columns:1fr}.content{max-width:none;padding:0}body{color:#000;background:#fff}.ir3r-stack-item.is-hidden,.ir3r-stack-item{display:block!important}.ir3r-stack-item+.ir3r-stack-item,.ir3r-card{page-break-before:always;break-before:page}.ir3r-stack-item:first-of-type .ir3r-card{page-break-before:auto;break-before:auto}.ir3r-card{page-break-inside:avoid;box-shadow:none!important;color:#000!important;background:#fff!important;border:1.5px solid #000!important;border-radius:0!important;padding:18px 22px!important}.ir3r-card-head{display:none!important}.ir3r-print-header{border-bottom:1.5px solid #000;margin-bottom:14px;padding-bottom:10px;display:block!important}.ir3r-print-title{align-items:center;gap:12px;margin-bottom:4px;display:flex}.ir3r-print-form-code{letter-spacing:.04em;border:1.5px solid #000;padding:2px 8px;font-size:20px;font-weight:800}.ir3r-print-form-name{letter-spacing:-.01em;font-size:18px;font-weight:700}.ir3r-print-subtitle{margin-bottom:10px;font-size:13px}.ir3r-print-id{grid-template-columns:1fr 1fr;gap:6px 18px;margin:0;font-size:12.5px;display:grid}.ir3r-print-id>div{grid-template-columns:130px 1fr;align-items:end;gap:8px;display:grid}.ir3r-print-id dt{text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.ir3r-print-id dd{border-bottom:1px solid #000;min-height:14px;margin:0;padding:0 2px 1px}.ir3r-print-blank{height:14px;display:block}.ir3r-block{page-break-inside:avoid;border:1px solid #000;border-radius:0;margin-top:10px}.ir3r-block-head{text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;font-size:11px;font-weight:800;color:#fff!important;background:#000!important}.ir3r-row{border-top:1px solid #000;padding:6px 10px;background:#fff!important}.ir3r-row:first-of-type{border-top:0}.ir3r-box-num{border:1px solid #000;font-weight:800;color:#000!important;background:#fff!important}.ir3r-row-label>small{display:none!important}.ir3r-row-value{font-variant-numeric:tabular-nums;font-weight:700}.ir3r-subtotal{font-weight:800;background:#f4f4f4!important}.ir3r-muted{opacity:1!important;color:#000!important}.ir3r-tbd{font-size:11px;font-style:italic;color:#444!important}.ir3r-7c-toggle{cursor:default;color:#000!important;background:0 0!important;border:0!important;padding:0!important}.ir3r-7c-chevron,.ir3r-7c-options{display:none!important}.ir3r-final{page-break-inside:avoid;border:1.5px solid #000;margin-top:12px;padding:10px 12px;background:#fff!important}.ir3r-final strong{font-size:16px;color:#000!important}.ir3r-note{color:#000!important;background:#f8f8f8!important;border:1px dashed #000!important}.ir3r-print-footer{page-break-inside:avoid;margin-top:22px;display:block!important}.ir3r-print-sign{grid-template-columns:1fr 160px;align-items:end;gap:12px;margin-top:18px;display:grid}.ir3r-print-sign-line{border-bottom:1px solid #000;height:14px}.ir3r-print-sign-label{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.ir3r-print-foot-note{color:#444;margin-top:18px;font-size:10px;font-style:italic}}@media (max-width:1100px){.tax-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.methodology-grid{grid-template-columns:1fr}.portfolio-row{grid-template-columns:minmax(160px,1.5fr) 1fr 1fr 1fr}.portfolio-row>:nth-child(5){display:none}}@media (max-width:720px){.tax-stat-grid{grid-template-columns:1fr}.portfolio-row{grid-template-columns:1fr 1fr;gap:8px 12px}.portfolio-head{display:none}.portfolio-name{grid-column:1/-1}.review-item{grid-template-columns:auto minmax(0,1fr)}.review-link{grid-column:2;justify-self:end}}.document-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.document-stat{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:6px;padding:16px 18px;display:grid}.document-stat .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:12.5px;font-weight:700}.document-stat .stat-value{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.document-stat .stat-value.warn-value{color:var(--warning-strong)}.doc-fy-group{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:18px;padding:0;overflow:hidden}.doc-fy-header{border-bottom:1px solid var(--line-soft);background:var(--surface-muted);justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px;display:flex}.doc-fy-header h2{letter-spacing:-.01em;color:var(--ink);font-size:15px;font-weight:700}.doc-fy-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.doc-list{margin:0;padding:0;list-style:none}.doc-row{border-bottom:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr) auto auto 36px;align-items:center;gap:16px;padding:14px 20px;transition:background .12s;display:grid}.doc-row:last-child{border-bottom:0}.doc-row:hover{background:var(--surface-muted)}.doc-row .doc-icon{border-radius:var(--radius-sm);background:var(--brand-soft);width:36px;height:36px;color:var(--brand-deep);flex:none;justify-content:center;align-items:center;display:inline-flex}.doc-row .doc-meta{gap:2px;min-width:0;display:grid}.doc-row .doc-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.doc-row .doc-sub{color:var(--muted);font-size:13.5px}.doc-row .doc-property-link{color:var(--brand-deep);font-weight:600;transition:color .12s}.doc-row .doc-property-link:hover{color:var(--brand-strong);text-decoration:underline}.doc-row .doc-date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:96px;font-size:14px}.doc-row .doc-row-delete{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.doc-row .doc-row-delete:hover:not(:disabled){color:var(--danger);background:#b91c1c1a}.doc-row .doc-row-delete:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.doc-row .doc-row-delete:disabled{opacity:.4;cursor:progress}.empty-doc-library{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);text-align:center;justify-items:center;gap:8px;margin-top:24px;padding:56px 32px;display:grid}.empty-doc-library .empty-doc-icon{background:var(--brand-soft);width:56px;height:56px;color:var(--brand-deep);border-radius:999px;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.empty-doc-library strong{color:var(--ink);font-size:17px;font-weight:700}.empty-doc-library p{max-width:420px;color:var(--muted);font-size:14.5px}.empty-doc-library .primary-button{margin-top:12px}@media (max-width:720px){.document-stats{grid-template-columns:1fr}.doc-row{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;padding:12px 16px}.doc-row .doc-icon{grid-row:1/span 2}.doc-row .status-badge,.doc-row .doc-date{grid-column:2;justify-self:start}.doc-row .doc-date{text-align:left;min-width:0}}.magic-dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(135deg, #2fd38f0a, #2fd38f00 70%), var(--surface);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:168px;margin-top:22px;padding:28px 32px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.magic-dropzone:after{content:"";pointer-events:none;opacity:.6;background:radial-gradient(420px 200px at 50% -20%,#2fd38f1a,#0000 60%);transition:opacity .18s;position:absolute;inset:0}.magic-dropzone:hover,.magic-dropzone:focus-visible{border-color:var(--brand);background:linear-gradient(135deg, #2fd38f14, #2fd38f00 70%), var(--surface);box-shadow:var(--shadow-glow);outline:none}.magic-dropzone.drag-over{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 4px var(--brand-glow), var(--shadow-md);border-style:solid}.magic-dropzone.drag-over:after{opacity:1}.magic-dropzone.compact{text-align:left;flex-direction:row;gap:16px;min-height:96px;padding:16px 20px}.magic-dropzone .dropzone-icon{background:var(--brand-soft);width:52px;height:52px;color:var(--brand-deep);z-index:1;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.magic-dropzone.compact .dropzone-icon{width:40px;height:40px}.magic-dropzone .dropzone-copy{z-index:1;gap:4px;display:grid;position:relative}.magic-dropzone strong{color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:700;display:block}.magic-dropzone.compact strong{font-size:15.5px}.magic-dropzone span{color:var(--muted);font-size:14px}.upload-list{gap:8px;margin-top:12px;padding:0;list-style:none;display:grid}.upload-row{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 12px 10px 14px;display:grid;overflow:hidden}.upload-row .upload-icon{border-radius:var(--radius-sm);background:var(--surface-muted);width:32px;height:32px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.upload-row .upload-meta{gap:2px;min-width:0;display:grid}.upload-row .upload-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.upload-row .upload-meta span{color:var(--muted);font-size:13px}.upload-row .upload-meta .upload-period{color:var(--brand);letter-spacing:.01em;font-size:12.5px;font-weight:600}.upload-row .upload-type-picker{align-items:center;min-width:200px;display:inline-flex;position:relative}.upload-row .upload-type-picker select{appearance:none;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:34px;color:var(--ink);cursor:pointer;padding:0 28px 0 10px;font-size:14px;font-weight:500}.upload-row .upload-type-picker select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.upload-row .upload-type-picker>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.upload-row .upload-failed{width:24px;height:24px;color:var(--danger);background:#b91c1c1f;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.upload-row .upload-status{justify-content:center;align-items:center;min-width:28px;display:inline-flex}.upload-progress{background:#0c1a140f;border-radius:999px;width:100px;height:6px;overflow:hidden}.upload-progress>span{background:linear-gradient(90deg, var(--brand), var(--brand-strong));border-radius:999px;height:100%;transition:width .1s linear;display:block}.upload-check{background:var(--brand);color:#06301f;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;box-shadow:0 2px 6px #2fd38f52}.spinner{border:2px solid #0c1a141f;border-top-color:var(--brand-strong);border-radius:999px;width:16px;height:16px;display:inline-block}.upload-remove{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.upload-remove:hover{background:var(--surface-muted);color:var(--ink)}.extract-banner{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--brand-soft), #2fd38f0a);border:1px solid #2fd38f52;align-items:center;gap:12px;margin-top:16px;padding:14px 18px;display:flex}.extract-banner .extract-icon{background:var(--surface);width:32px;height:32px;color:var(--brand-deep);box-shadow:var(--shadow-sm);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.extract-banner .extract-copy{gap:2px;min-width:0;display:grid}.extract-banner strong{color:var(--ink);font-size:15.5px;font-weight:700}.extract-banner span{color:var(--muted);font-size:14px}.field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-label{color:var(--ink);font-size:14px;font-weight:600}.field-source{color:var(--muted);letter-spacing:0;margin-top:4px;font-size:12.5px;font-weight:500}.field-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.field-badge.found{background:var(--brand-soft);color:var(--brand-deep)}.field-badge.guessed{color:#92400e;background:#fef3c7}.field-badge.filled{background:var(--surface-muted);color:var(--muted)}.field-badge.needed{color:var(--danger);background:#fee2e2}.field-badge.needed-neutral{background:var(--surface-muted);color:var(--muted)}.field input.field-needs-fill{background:snow;border-color:#b91c1c73}.field input.field-needs-fill:focus{border-color:var(--danger);box-shadow:0 0 0 3px #b91c1c24}.field-select-wrap{position:relative}.field-select-wrap select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--ink);appearance:none;padding:0 36px 0 12px;font-size:15px;font-weight:500}.field-select-wrap select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.field-select-wrap>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.primary-button:disabled{cursor:not-allowed}.auth-page{background:radial-gradient(120% 220% at 100% 0%, #2fd38f1a, transparent 60%), radial-gradient(80% 160% at 0% 100%, #0850320f, transparent 60%), var(--bg);place-items:center;min-height:100dvh;padding:48px 20px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md,0 4px 24px #081c1014);padding:32px 30px}.auth-logo{justify-content:center;margin:0 0 24px;display:flex}.auth-logo img{width:auto;height:28px;display:block}.auth-logo .auth-logo-dark{display:none}.auth-logo .auth-logo-light{display:block}[data-theme=dark] .auth-logo .auth-logo-light{display:none}[data-theme=dark] .auth-logo .auth-logo-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .auth-logo .auth-logo-light{display:none}:root:not([data-theme]) .auth-logo .auth-logo-dark{display:block}}.auth-card h1{letter-spacing:-.02em;margin:0 0 4px;font-size:24px}.auth-sub{color:var(--muted);margin:0 0 22px;font-size:15px}.auth-form{gap:14px;display:grid}.auth-field{gap:4px;display:grid}.auth-field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:420px){.auth-field-row{grid-template-columns:1fr}}.auth-role-group{border:0;margin:0;padding:0}.auth-role-group legend{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.auth-role-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (max-width:480px){.auth-role-options{grid-template-columns:1fr}}.auth-role-option{border:1px solid var(--line);border-radius:var(--radius-md,8px);background:var(--surface);cursor:pointer;align-items:flex-start;gap:8px;padding:10px 12px;transition:border-color .1s,background .1s,box-shadow .1s;display:flex}.auth-role-option:hover{background:#0c1a1408}.auth-role-option input[type=radio]{accent-color:var(--brand);margin-top:3px}.auth-role-option.is-checked{border-color:var(--brand);background:var(--brand-soft,#2fd38f14)}.auth-role-option-body{gap:2px;min-width:0;display:grid}.auth-role-option-body strong{color:var(--ink);font-size:14.5px;font-weight:600}.auth-role-option-body small{color:var(--muted);font-size:12.5px;line-height:1.35}.auth-field>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:600}.auth-field>span em{text-transform:none;letter-spacing:0;color:var(--muted);opacity:.75;margin-left:4px;font-style:normal;font-weight:500}.auth-field input{font:inherit;border:1px solid var(--line);border-radius:var(--radius-md,8px);background:var(--surface);color:var(--ink);padding:10px 12px;font-size:15.5px}.auth-field input:focus{border-color:var(--brand-strong,var(--brand));box-shadow:0 0 0 3px var(--brand-glow);outline:0}.auth-error{color:var(--danger,#b91c1c);background:#b91c1c14;border-radius:8px;margin:4px 0 0;padding:9px 12px;font-size:14px;font-weight:500}.auth-form .primary-button{justify-content:center;margin-top:6px}.auth-footer{color:var(--muted);text-align:center;margin:22px 0 0;font-size:14.5px}.auth-code-actions{justify-content:space-between;gap:16px;margin-top:6px;font-size:13.5px;display:flex}.auth-text-button{appearance:none;font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:13.5px;text-decoration:underline}.auth-text-button:hover:not(:disabled){color:var(--brand-strong,var(--brand))}.auth-text-button:disabled{color:var(--muted);cursor:default;text-decoration:none}.auth-footer a{color:var(--brand-deep,var(--brand));font-weight:600}.auth-loading{min-height:50dvh;color:var(--muted);place-items:center;font-size:15px;display:grid}.auth-switch{color:var(--muted);text-align:center;margin:16px 0 0;font-size:13.5px}.auth-switch a{color:var(--primary);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-demo{margin-top:20px}.auth-divider{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 14px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-demo-button{justify-content:center;width:100%}.demo-banner{background:linear-gradient(90deg, var(--brand-soft,#2fd38f1a), transparent);border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:12px;padding:10px 24px;font-size:14.5px;display:flex}.demo-banner>svg{color:var(--brand-deep,var(--brand));flex:none}.demo-banner strong{font-weight:700}.demo-banner-actions{margin-left:auto}.demo-banner-link{color:var(--brand-deep,var(--brand));white-space:nowrap;font-size:14px;font-weight:600}.demo-banner-link:hover{text-decoration:underline}.mortgage-chart{margin-top:4px}.mortgage-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.chart-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:13.5px;display:flex}.chart-legend-item{align-items:center;gap:8px;font-weight:600;display:inline-flex}.chart-legend .swatch{border-radius:2px;width:18px;height:3px;display:inline-block}.chart-legend .swatch-base{background:var(--muted-soft);background-image:linear-gradient(90deg, var(--muted-soft) 50%, transparent 50%);background-size:6px 100%}.chart-legend .swatch-accel{background:var(--brand-strong)}.mortgage-chart-canvas{width:100%;position:relative}.mortgage-chart-svg{aspect-ratio:760/260;cursor:crosshair;width:100%;min-height:220px;max-height:420px;display:block}.mortgage-chart-svg .grid-line{stroke:var(--line-soft);stroke-width:1px}.mortgage-chart-svg .axis-label{font-family:var(--font-body);fill:var(--muted);font-size:11px;font-weight:500}.mortgage-chart-svg .chart-fill{fill:var(--brand);fill-opacity:.1}.mortgage-chart-svg .chart-base{fill:none;stroke:var(--muted-soft);stroke-width:1.5px;stroke-dasharray:4 4;stroke-linecap:round}.mortgage-chart-svg .chart-accel{fill:none;stroke:var(--brand-strong);stroke-width:2.5px;stroke-linecap:round}.mortgage-chart-svg .hover-line{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:2 3}.mortgage-chart-svg .hover-dot{stroke:var(--surface);stroke-width:2px}.mortgage-chart-svg .hover-dot.dot-base{fill:var(--muted-soft)}.mortgage-chart-svg .hover-dot.dot-accel{fill:var(--brand-strong)}.chart-tooltip{background:var(--ink);color:#f3f8f5;border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-md);z-index:1;gap:4px;padding:10px 12px;font-size:13.5px;display:grid;position:absolute;top:8px;transform:translate(12px)}.chart-tooltip.flip{transform:translate(calc(-100% - 12px))}.chart-tooltip>div{align-items:center;gap:8px;display:flex}.chart-tooltip .tooltip-time{color:#fff;margin-bottom:2px;font-weight:700;display:block}.chart-tooltip strong{color:#fff;font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.chart-tooltip .dot-base,.chart-tooltip .dot-accel{border-radius:999px;flex:none;width:8px;height:8px}.chart-tooltip .dot-base{background:var(--muted-soft)}.chart-tooltip .dot-accel{background:var(--brand)}.chart-controls{gap:6px;margin-top:22px;display:grid}.chart-controls .control-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-controls label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:700}.chart-controls .control-value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:18px;font-weight:700}.chart-controls input[type=range]{appearance:none;cursor:pointer;background:#0c1a1414;border-radius:999px;outline:0;width:100%;height:8px;margin:6px 0}.chart-controls input[type=range]:focus-visible{box-shadow:0 0 0 3px var(--brand-glow)}.chart-controls input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--brand);border:3px solid var(--surface);width:22px;height:22px;box-shadow:0 0 0 1px var(--brand-strong), 0 4px 10px #081c102e;cursor:pointer;border-radius:999px;transition:transform .12s}.chart-controls input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.08)}.chart-controls input[type=range]::-moz-range-thumb{background:var(--brand);border:3px solid var(--surface);width:22px;height:22px;box-shadow:0 0 0 1px var(--brand-strong), 0 4px 10px #081c102e;cursor:pointer;border-radius:999px}.chart-controls .slider-marks{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12.5px;display:flex}.chart-controls .slider-marks-clickable{height:34px;margin-top:2px;display:block;position:relative}.chart-controls .slider-mark{color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;font-size:12.5px;display:flex;position:absolute;top:0;transform:translate(-50%)}.chart-controls .slider-mark-tick{background:#0c1a1440;width:1px;height:8px;transition:background .12s,height .12s}.chart-controls .slider-mark-label{transition:color .12s}.chart-controls .slider-mark:hover .slider-mark-tick,.chart-controls .slider-mark.is-active .slider-mark-tick{background:var(--brand-strong,var(--text));height:10px}.chart-controls .slider-mark:hover .slider-mark-label,.chart-controls .slider-mark.is-active .slider-mark-label{color:var(--text)}.chart-controls .slider-mark.is-active .slider-mark-label{font-weight:600}.chart-controls .slider-mark:focus-visible{outline:none}.chart-controls .slider-mark:focus-visible .slider-mark-tick{outline:2px solid var(--brand,currentColor);outline-offset:2px}.savings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.savings-metric{border:1px solid var(--line);background:var(--surface)}.savings-metric .metric-meta{color:var(--muted);margin-top:2px;font-size:13px}.claimable-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.claimable-tile{border-radius:var(--radius-md);border:1px solid var(--line);gap:4px;padding:16px 18px;display:grid}.claimable-tile.claimable-yes{background:var(--brand-soft);border-color:#2fd38f59}.claimable-tile.claimable-no{background:#fff7ed;border-color:#fed7aa}.claimable-tile .tile-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:12.5px;font-weight:700}.claimable-tile.claimable-yes .tile-label{color:var(--brand-deep)}.claimable-tile.claimable-no .tile-label{color:#9a3412}.claimable-tile .tile-value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:700}.claimable-tile small{color:var(--muted);font-size:13.5px}.source-section .upload-dropzone{margin-top:14px}.source-list{gap:8px;margin-top:12px;display:grid}.source-row{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 14px;transition:border-color .12s,background .12s;display:grid}.source-row:hover{border-color:var(--line-strong);background:var(--surface)}.source-icon{border-radius:var(--radius-sm);background:var(--brand-soft);width:32px;height:32px;color:var(--brand-deep);flex:none;justify-content:center;align-items:center;display:inline-flex}.source-meta{gap:2px;min-width:0;display:grid}.source-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.source-meta span{color:var(--muted);font-size:13.5px}.empty-story{text-align:left}.empty-story .upload-dropzone{margin-top:14px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:4px;display:grid}.stat-card,.workspace-card,.review-band{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-card{gap:6px;padding:16px 18px;display:grid}.stat-card .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.stat-card .stat-value{color:var(--ink);letter-spacing:-.02em;margin-top:2px;font-size:22px;font-weight:700}.stat-card .stat-meta{color:var(--muted);font-size:13.5px}.stat-card .stat-meta.positive{color:var(--brand-deep)}.stat-card .stat-meta.negative{color:var(--danger)}.review-band{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:14px 18px;display:flex}.review-band p{color:var(--muted);margin-top:2px;font-size:14.5px}.workspace-card{margin-top:18px;padding:20px}.section-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-title-row p{color:var(--muted);margin-top:4px;font-size:14.5px}.action-row{align-items:center;gap:8px;display:flex}.data-table{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.data-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;min-height:52px;padding:10px 16px;font-size:14.5px;display:grid}.data-row:last-child{border-bottom:0}.data-header{background:var(--surface-muted);min-height:40px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700}.transactions-table .data-row{grid-template-columns:110px 1.6fr 1fr 1.2fr .7fr .7fr 1fr}.documents-table .data-row{grid-template-columns:1.7fr 1fr .8fr 1fr .8fr}.empty-panel{min-height:140px;color:var(--muted);text-align:center;place-items:center;gap:6px;display:grid}.empty-panel strong{color:var(--ink);font-weight:700}.upload-dropzone{border:1px dashed var(--line-strong);border-radius:var(--radius-md);min-height:132px;color:var(--muted);background:var(--surface-muted);align-content:center;place-items:center;gap:6px;margin-bottom:16px;transition:border-color .12s,background .12s;display:grid}.upload-dropzone:hover{border-color:var(--brand);background:var(--brand-soft)}.upload-dropzone strong{color:var(--ink);font-weight:700}.summary-list{border:1px solid var(--line-soft);border-radius:var(--radius-md);display:grid;overflow:hidden}.summary-list div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:24px;padding:13px 16px;font-size:15px;display:flex}.summary-list div:last-child{border-bottom:0}.summary-list span{color:var(--text)}.summary-list strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.summary-total{background:var(--brand-soft);font-weight:700}.summary-total strong{color:var(--brand-deep);font-weight:700}.disclaimer{color:var(--muted);margin-top:12px;font-size:13.5px}.projection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.projection-grid label{color:var(--muted);gap:6px;font-size:14px;font-weight:600;display:grid}.projection-grid input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:40px;color:var(--ink);background:var(--surface);font-variant-numeric:tabular-nums;padding:0 12px;font-weight:500}.settings-page{gap:18px;max-width:760px;margin:8px auto 64px;padding:0 24px;display:grid}.settings-loading{color:var(--muted);font-size:14.5px}.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px 18px}.settings-section>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.settings-section>header>div:first-child{flex:auto;min-width:0}.settings-section>header h2{color:var(--ink);margin:0 0 4px;font-size:18px;font-weight:700}.settings-section>header p{color:var(--muted);margin:0;font-size:13.5px}.settings-section-body{gap:14px;display:grid}.settings-section-body select,.settings-section-body input,.settings-section-body textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-md,8px);background:var(--surface);color:var(--ink);padding:10px 12px;font-size:15px}.settings-section-body select:focus,.settings-section-body input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.settings-section-body input:disabled{color:var(--muted);background:#7f7f7f0d}.settings-section-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.settings-section-error{flex:1;margin:0}.settings-section-saved{color:var(--success,#16805a);font-size:13.5px;font-weight:600}.settings-balance-date{grid-template-columns:2fr 1fr;gap:8px;display:grid}.settings-toggle{cursor:pointer;grid-template-columns:18px 1fr;align-items:start;gap:12px;padding:4px 0;display:grid}.settings-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);margin-top:4px}.settings-toggle>span{gap:2px;display:grid}.settings-toggle strong{color:var(--ink);font-size:14.5px;font-weight:600}.settings-toggle small{color:var(--muted);font-size:13px;line-height:1.4}.settings-soon{border:1px dashed var(--line-strong);border-radius:var(--radius-md,8px);background:#7f7f7f0a;margin-top:6px;padding:12px 14px}.settings-soon strong{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12.5px;font-weight:700;display:block}.settings-soon ul{color:var(--muted);gap:3px;margin:0;padding-left:18px;font-size:13.5px;display:grid}.settings-danger{border-color:#b91c1c4d}.settings-danger>header h2{color:var(--danger,#b91c1c)}.settings-danger>p{color:var(--muted);margin:0 0 14px;font-size:14px}.settings-danger-trigger{color:var(--danger,#b91c1c);border-color:#b91c1c66}.settings-danger-confirm{gap:10px;display:grid}.settings-danger-confirm p{color:var(--ink);margin:0;font-size:14px}.settings-danger-confirm code{color:var(--danger,#b91c1c);font-family:var(--font-mono,monospace);background:#b91c1c14;border-radius:4px;padding:1px 6px;font-size:13px}.settings-danger-confirm input{border:1px solid var(--line);border-radius:var(--radius-md,8px);background:var(--surface);color:var(--ink);font:inherit;padding:10px 12px}.settings-danger-confirm input:focus{border-color:var(--danger,#b91c1c);outline:0;box-shadow:0 0 0 3px #b91c1c26}.settings-danger-actions{justify-content:flex-end;gap:10px;display:flex}.settings-danger-confirm-button{background:var(--danger,#b91c1c)}.settings-danger-confirm-button:hover:not(:disabled){background:#991b1b}.placeholder-page{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);text-align:center;justify-items:center;gap:8px;margin-top:24px;padding:48px 32px;display:grid}.placeholder-page .placeholder-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand-deep);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.placeholder-page strong{color:var(--ink);font-size:16px;font-weight:700}.placeholder-page p{max-width:420px;color:var(--muted);font-size:14.5px}.sidebar-collapsed .sidebar{padding-inline:12px}.sidebar-collapsed .sidebar-brand-row{justify-content:center;gap:0}.sidebar-collapsed .brand-wordmark,.sidebar-collapsed .brand-glyph{display:none!important}.sidebar-collapsed .collapse-button{position:absolute;top:24px;left:50%;transform:translate(-50%)}.sidebar-collapsed .nav-item span{display:none}.sidebar-collapsed .nav-item{justify-content:center;min-height:44px;padding:0}.sidebar-collapsed .nav-item.active:before{left:6px}.sidebar-collapsed .sidebar-footer{justify-items:center}@media (max-width:1100px){.shell,.shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{height:auto;min-height:auto;padding:16px;position:static;overflow:visible}.sidebar-collapsed .sidebar{padding:16px}.sidebar-collapsed .sidebar-brand-row{justify-content:space-between}.sidebar-collapsed .brand-wordmark{display:block!important}.sidebar-collapsed .collapse-button{width:36px;height:36px;position:static;transform:none}.sidebar-footer{display:none}.nav-list{margin-top:16px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;min-height:38px}.topbar{height:56px;padding:0 18px}.filters-panel,.page-heading,.workspace-title-row,.setup-title-row,.section-title-row,.review-band,.yearend-top{flex-direction:column;align-items:stretch}.setup-layout{grid-template-columns:1fr}.filter-tabs{margin-left:0}.property-grid{grid-template-columns:1.5fr .8fr .8fr 1fr 40px}.property-grid>:nth-child(3),.property-grid>:nth-child(5){display:none}.stat-grid,.projection-grid,.form-grid,.start-options,.yearend-stats,.metric-grid,.claimable-split,.savings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) auto}.transactions-table,.documents-table{overflow-x:auto}.transactions-table .data-row{min-width:980px}.documents-table .data-row{min-width:760px}}@media (max-width:720px){.content{padding:20px 14px 48px}h1{font-size:24px}.page-header{flex-direction:column;align-items:stretch}.filters-panel{margin-top:18px;padding:12px}.search-control,.select-control{width:100%}.filter-tabs{flex-wrap:wrap}.property-table-card{margin-top:18px;overflow-x:auto}.property-grid{min-width:720px}.stat-grid,.projection-grid,.form-grid,.start-options,.detected-grid,.yearend-stats,.metric-grid,.claimable-split,.savings-grid{grid-template-columns:1fr}.mortgage-chart-svg{min-height:180px}.cost-row{grid-template-columns:1fr auto}.cost-row .cost-bar{grid-column:1/-1}.story-section{padding:18px}.setup-actions{flex-direction:column-reverse}.setup-actions .primary-button,.setup-actions .secondary-button{width:100%}}.dash-hero{position:relative;overflow:hidden}.dash-hero.negative .dash-hero-eyebrow{color:#9c2626}.dash-hero.negative .dash-hero-progress-track>span{background:linear-gradient(90deg,#ef4444,#b91c1c)}.dash-hero-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.dash-hero-eyebrow{color:var(--brand-deep);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.dash-hero-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.dash-hero-pill.positive{background:var(--brand-soft);color:var(--brand-deep)}.dash-hero-pill.negative{color:var(--danger);background:#b91c1c1a}.dash-hero-headline{gap:6px;margin-top:18px;display:grid}.dash-hero-label{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:14px;font-weight:600}.dash-hero-number{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(40px,6vw,56px);font-weight:800;line-height:1.05}.dash-hero-number.positive{color:var(--brand-deep)}.dash-hero-sub{color:var(--muted);max-width:70ch;font-size:15px}.dash-hero-progress{gap:8px;margin-top:22px;display:grid}.dash-hero-progress-meta{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:14px;font-weight:600;display:flex}.dash-hero-progress-meta strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px}.dash-hero-progress-track{background:#081c100f;border-radius:999px;height:8px;position:relative;overflow:hidden}.dash-hero-progress-track>span{background:linear-gradient(90deg, var(--brand), var(--brand-deep));height:100%;transition:width .6s cubic-bezier(.16,1,.3,1);display:block}.dash-hero-progress-hint{color:var(--muted);font-size:13.5px}.cashflow-story h2{font-size:22px}.cashflow-empty .story-lead-sm{margin-top:4px}.cashflow-section{background:var(--surface-muted);border-radius:var(--radius-md);border:1px solid var(--line-soft);margin-top:22px;padding:18px 20px}.cashflow-section-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.cashflow-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:700}.cashflow-section-total{color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.cashflow-bars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cashflow-bar-row{grid-template-columns:minmax(180px,1.4fr) minmax(160px,3fr) minmax(110px,auto);align-items:center;gap:14px;display:grid}.cashflow-bar-label{color:var(--ink);flex-direction:column;font-size:14.5px;font-weight:600;display:flex}.cashflow-bar-pct{color:var(--muted);letter-spacing:.01em;margin-top:2px;font-size:12.5px;font-style:normal;font-weight:500}.cashflow-bar-track{background:#081c100d;border-radius:999px;height:14px;position:relative;overflow:hidden}.cashflow-bar-fill{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1);display:block}.cashflow-bar-fill.in{background:linear-gradient(90deg, var(--brand), var(--brand-deep))}.cashflow-bar-fill.out{background:linear-gradient(90deg,#d97757,#b35636)}.cashflow-bar-fill.capital{background:linear-gradient(90deg,#94a3b8,#64748b)}.cashflow-section-capital{background:var(--surface-muted);border:1px dashed var(--line)}.cashflow-section-hint{color:var(--muted);margin:4px 0 12px;font-size:13px;line-height:1.45}.cashflow-bar-amount{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-size:15px;font-weight:600}.cashflow-empty-row{color:var(--muted);margin:4px 0 0;font-size:14.5px;font-style:italic}.cashflow-result{border-radius:var(--radius-md);border:1px solid var(--line);background:radial-gradient(120% 200% at 100% 0%, #2fd38f1f, transparent 60%), var(--surface);margin-top:22px;padding:22px 20px}.cashflow-result.negative{background:radial-gradient(120% 200% at 100% 0%, #b91c1c1a, transparent 60%), var(--surface)}.cashflow-result .cashflow-section-total{letter-spacing:-.01em;font-size:24px}.cashflow-result.positive .cashflow-section-total{color:var(--brand-deep)}.cashflow-result.negative .cashflow-section-total{color:var(--danger)}.cashflow-result-note{color:var(--muted);margin:12px 0 0;font-size:14.5px}.action-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.action-row{border-radius:var(--radius-md);border:1px solid var(--line-soft);background:var(--surface);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;transition:background .12s,border-color .12s;display:grid}.action-row.tone-warn{border-left:3px solid #d97757}.action-row.tone-info{border-left:3px solid var(--brand)}.action-row.tone-ok{border-left:3px solid var(--brand-deep)}.action-icon{background:var(--brand-soft);width:32px;height:32px;color:var(--brand-deep);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.action-row.tone-warn .action-icon{color:#b35636;background:#d9775724}.action-row.tone-ok .action-icon{background:var(--brand-soft);color:var(--brand-deep)}.action-body{min-width:0}.action-body strong{color:var(--ink);font-size:15px;font-weight:600;display:block}.action-body span{color:var(--muted);margin-top:2px;font-size:14px;display:block}.action-cta{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.action-cta:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.property-cards-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.property-card{border-radius:var(--radius-md);border:1px solid var(--line-soft);background:var(--surface);transition:border-color .12s,box-shadow .12s,transform .12s;position:relative}.property-card:hover{border-color:var(--brand);box-shadow:0 8px 24px #081c1014}.property-card-body{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:14px;padding:18px;display:grid}.property-card-thumb{border-radius:var(--radius-sm);color:#fff;letter-spacing:.04em;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:inline-flex}.property-card-main{min-width:0}.property-card-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.property-card-title strong{color:var(--ink);font-size:15px;font-weight:700}.property-card-address{color:var(--muted);margin-top:3px;font-size:13.5px;display:block}.property-card-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.property-card-stats>div{gap:2px;display:grid}.property-card-stats span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.property-card-stats strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px}.property-card-stats>.positive strong{color:var(--brand-deep)}.property-card-stats>.negative strong{color:var(--danger)}.property-card-arrow{color:var(--muted);margin-top:4px;transition:color .12s,transform .12s}.property-card:hover .property-card-arrow{color:var(--brand-deep);transform:translate(2px,-2px)}.property-card-delete{width:28px;height:28px;color:var(--muted);opacity:0;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:inline-flex;position:absolute;top:10px;right:10px}.property-card:hover .property-card-delete{opacity:1}.property-card-delete:hover:not(:disabled){color:var(--danger);background:#b91c1c1a}.property-card-delete:disabled{opacity:.4;cursor:progress}.hero-insights-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:16px;margin-top:6px;display:grid}.hero-insights-row>.dash-hero,.hero-insights-row>.story-section{margin-top:0}@media (max-width:960px){.hero-insights-row{grid-template-columns:1fr}}.insights-list{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.insight-row{border-radius:var(--radius-md);border:1px solid var(--line-soft);background:var(--surface);gap:3px;padding:12px 14px;display:grid}.insight-row strong{color:var(--ink);letter-spacing:-.005em;font-size:14.5px;font-weight:700}.insight-row span{color:var(--muted);font-size:13.5px;line-height:1.45}.insights-flank{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:24px;margin-top:14px;display:grid}.insights-list-flank{margin:0}.insights-pie-wrap{justify-content:center;align-items:center;display:flex}.insights-pie{width:220px;height:220px;display:block;overflow:visible}.insight-row-chip{border-left:4px solid var(--insight-color,var(--line-soft));padding-left:14px}.insights-pie .pie-slice{cursor:pointer;stroke:var(--surface);outline:none;transition:d .18s,transform .18s}.insights-pie .insights-pie-track{stroke:var(--line)}.insights-pie-label{fill:var(--muted);letter-spacing:.02em;font-size:13px;font-weight:600}.insights-pie-value{fill:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.insights-pie-foot{fill:var(--muted);font-size:11px;font-weight:500}@media (max-width:960px){.insights-flank{grid-template-columns:1fr;justify-items:center}.insights-list-flank{width:100%}}@media (max-width:720px){.dash-hero-number{font-size:36px}.cashflow-bar-row{grid-template-columns:1fr;gap:6px}.cashflow-bar-amount{text-align:left}.property-cards-grid{grid-template-columns:1fr}.property-card-delete{opacity:1}.action-row{grid-template-columns:28px minmax(0,1fr)}.action-cta{grid-column:1/-1;justify-self:start}}.large-properties-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;min-width:0;margin-top:4px;display:grid}.large-property-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.large-property-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 14px 36px #081c101a}.large-property-card.is-deleting{opacity:.55;pointer-events:none}.large-property-photo{aspect-ratio:16/9;background:0 0;width:100%;position:relative;overflow:hidden}.large-property-photo-placeholder{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex;position:absolute;inset:0;overflow:hidden}.large-property-photo-img{object-fit:cover;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.large-property-photo-upload{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,transform .12s;display:inline-flex;position:absolute;top:12px;right:12px}.large-property-photo-upload:hover:not(:disabled){background:#000000c7;transform:translateY(-1px)}.large-property-photo-upload:focus-visible{outline-offset:2px;outline:2px solid #fff}.large-property-photo-upload:disabled{cursor:progress;opacity:.85}.large-property-photo-error{color:var(--danger);background:#b91c1c1a;border-bottom:1px solid #b91c1c2e;padding:10px 18px;font-size:13.5px;font-weight:600}.large-property-photo-upload .spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.large-property-photo-bg{background:radial-gradient(120% 90% at 20% 0,#ffffff38,#0000 50%),radial-gradient(120% 90% at 100% 100%,#0000002e,#0000 60%);position:absolute;inset:0}.thumb-0 .large-property-photo-bg{background-color:#2fd38f}.thumb-1 .large-property-photo-bg{background-color:#4f8df9}.thumb-2 .large-property-photo-bg{background-color:#f59e51}.thumb-3 .large-property-photo-bg{background-color:#b07cf9}.large-property-photo-monogram{z-index:1;color:#fff;letter-spacing:.04em;text-shadow:0 6px 24px #0000003d;justify-content:center;align-items:center;font-size:clamp(48px,8vw,88px);font-weight:800;display:inline-flex;position:relative}.large-property-body{flex-direction:column;gap:20px;padding:22px 24px;display:flex}.large-property-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.large-property-title-button{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex:1;padding:0}.large-property-title-button h3{letter-spacing:-.01em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;font-weight:700;overflow:hidden}.large-property-address{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:14px;display:block;overflow:hidden}.large-property-net{text-align:right;flex-shrink:0;gap:2px;display:grid}.large-property-net-number{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(22px,2.6vw,30px);font-weight:800;line-height:1.05}.large-property-net-number.positive{color:var(--brand-deep)}.large-property-net-number.negative{color:var(--danger)}.large-property-net-label{color:var(--muted);margin-top:2px;font-size:14px}.large-property-stats{border-top:1px solid var(--line-soft);flex-direction:column;margin:0;padding:0;display:flex}.large-property-stats>div{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.large-property-stats>div:last-child{border-bottom:0}.large-property-stats dt{color:var(--muted);font-size:14px;font-weight:500}.large-property-stats dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.large-property-footer{justify-content:space-between;align-items:center;padding-top:2px;display:flex}.large-property-open{border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-deep);cursor:pointer;border:0;align-items:center;gap:6px;padding:9px 16px;font-size:14.5px;font-weight:600;transition:background .12s,color .12s,transform .12s;display:inline-flex}.large-property-open:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}.large-property-delete{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.large-property-delete:hover:not(:disabled){color:var(--danger);background:#b91c1c1a}.large-property-delete:disabled{opacity:.4;cursor:progress}.portfolio-rollup{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:22px;padding:22px 26px}.portfolio-rollup-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portfolio-rollup-head h2{letter-spacing:-.01em;color:var(--ink);margin:4px 0 0;font-size:18px}.portfolio-rollup-pill{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}.portfolio-rollup-pill.positive{background:var(--brand-soft);color:var(--brand-deep)}.portfolio-rollup-pill.negative{color:var(--danger);background:#b91c1c1a}.portfolio-rollup-trio{background:var(--surface-muted);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;padding:16px 18px;display:grid}.portfolio-rollup-trio>div{gap:3px;display:grid}.portfolio-rollup-trio span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.portfolio-rollup-trio strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.portfolio-rollup-progress{gap:8px;margin-top:18px;display:grid}.portfolio-rollup.single .portfolio-rollup-progress{margin-top:14px}.portfolio-rollup-progress-meta{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:14px;font-weight:600;display:flex}.portfolio-rollup-progress-meta strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px}.portfolio-rollup-progress-track{background:#081c100f;border-radius:999px;height:8px;position:relative;overflow:hidden}.portfolio-rollup-progress-track>span{background:linear-gradient(90deg, var(--brand), var(--brand-deep));height:100%;transition:width .6s cubic-bezier(.16,1,.3,1);display:block}.portfolio-rollup-progress-hint{color:var(--muted);font-size:13.5px}@media (max-width:960px){.large-properties-grid{grid-template-columns:1fr}}@media (max-width:640px){.large-property-body{padding:18px}.portfolio-rollup-trio{grid-template-columns:1fr}}.needs-review-section{background:radial-gradient(120% 200% at 100% 0%, #d977571a, transparent 60%), var(--surface);border:1px solid #d977574d}.needs-review-list{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.needs-review-row{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);grid-template-columns:minmax(0,1.7fr) auto minmax(0,.9fr);align-items:center;gap:16px;padding:14px 16px;display:grid}.needs-review-row-meta{gap:3px;min-width:0;display:grid}.needs-review-row-date{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.needs-review-row-desc{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.needs-review-row-source{color:var(--muted);font-size:13px}.needs-review-row-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:700}.needs-review-row-amount.in{color:var(--brand-deep)}.needs-review-row-amount.out{color:var(--ink)}.needs-review-row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.needs-review-category{appearance:none;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface) url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23667781' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;height:34px;color:var(--ink);cursor:pointer;min-width:180px;padding:0 28px 0 12px;font-size:14px;font-weight:500}.needs-review-category:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.needs-review-category:disabled{opacity:.5;cursor:progress}.needs-review-confirm{border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand-soft);height:34px;color:var(--brand-deep);cursor:pointer;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .12s;display:inline-flex}.needs-review-confirm:hover:not(:disabled){background:var(--brand);color:#fff}.needs-review-confirm:disabled{opacity:.5;cursor:progress}@media (max-width:720px){.needs-review-row{grid-template-columns:1fr auto}.needs-review-row-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.needs-review-category{flex:1;min-width:0}}.first-run{background:radial-gradient(120% 220% at 100% 0%, #2fd38f1a, transparent 60%), radial-gradient(80% 160% at 0% 100%, #0850320f, transparent 60%), var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;margin-top:36px;padding:56px 48px 48px}.first-run-hero{max-width:580px;margin:0 auto 36px}.first-run-hero h1{letter-spacing:-.02em;margin:6px 0 10px;font-size:clamp(28px,3.5vw,36px)}.first-run-hero p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.first-run-steps{text-align:left;grid-template-columns:repeat(3,1fr);gap:16px;max-width:820px;margin:0 auto 36px;padding:0;list-style:none;display:grid}.first-run-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:10px;padding:22px 20px 20px;display:grid;position:relative}.first-run-step-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.first-run-step-num{background:var(--brand-soft,#2fd38f1a);width:26px;height:26px;color:var(--brand-deep,var(--brand));letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.first-run-step-head strong{color:var(--ink);letter-spacing:-.005em;font-size:15.5px;font-weight:700}.first-run-step-icon{color:var(--brand);opacity:.4;flex:none}.first-run-step-body{color:var(--muted);font-size:14px;line-height:1.55}.first-run-cta{justify-content:center;display:flex}@media (max-width:800px){.first-run{padding:36px 22px 32px}.first-run-steps{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .nav-item:hover,[data-theme=dark] .dashboard-tab:hover,[data-theme=dark] .property-upload-menu-item:hover,[data-theme=dark] .property-upload-menu-item:focus-visible,[data-theme=dark] .property-manual-radio:hover,[data-theme=dark] .auth-role-option:hover{background:#ffffff0f}[data-theme=dark] .yearend-progress-bar,[data-theme=dark] .bar-track,[data-theme=dark] .cost-bar,[data-theme=dark] .timeline-bar,[data-theme=dark] .upload-progress,[data-theme=dark] .dash-hero-progress-track,[data-theme=dark] .portfolio-rollup-progress-track,[data-theme=dark] .cashflow-bar-track,[data-theme=dark] .ir3r-tab-meta{background:#ffffff14}[data-theme=dark] .chart-controls input[type=range]{background:#ffffff1a}[data-theme=dark] .chart-controls .slider-mark-tick{background:#ffffff4d}[data-theme=dark] .ir3r-line-items{background:#ffffff06}[data-theme=dark] .ir3r-subtotal,[data-theme=dark] .ir3r-block-head{background:#ffffff08}[data-theme=dark] .spinner{border-color:#ffffff2e;border-top-color:var(--brand-strong)}[data-theme=dark] .property-row-delete:hover:not(:disabled),[data-theme=dark] .property-card-delete:hover:not(:disabled),[data-theme=dark] .large-property-delete:hover:not(:disabled),[data-theme=dark] .doc-row .doc-row-delete:hover:not(:disabled){background:#f8717124}[data-theme=dark] .dash-hero-pill.negative,[data-theme=dark] .portfolio-rollup-pill.negative,[data-theme=dark] .large-property-photo-error,[data-theme=dark] .upload-row .upload-failed,[data-theme=dark] .auth-error{background:#f8717129}[data-theme=dark] .large-property-photo-error{border-bottom-color:#f8717140}[data-theme=dark] .dash-hero.negative .dash-hero-eyebrow{color:var(--danger)}[data-theme=dark] .first-run{background:radial-gradient(120% 220% at 100% 0%, #4c8dff24, transparent 60%), radial-gradient(80% 160% at 0% 100%, #081e502e, transparent 60%), var(--surface)}[data-theme=dark] .yearend-card{background:linear-gradient(135deg, #4c8dff1a, #4c8dff00 60%), var(--surface)}[data-theme=dark] .yearend-card:before{background:radial-gradient(620px 260px at 8% 0,#4c8dff24,#0000 60%)}[data-theme=dark] .cashflow-result{background:radial-gradient(120% 200% at 100% 0%, #4c8dff24, transparent 60%), var(--surface)}[data-theme=dark] .cashflow-result.negative{background:radial-gradient(120% 200% at 100% 0%, #f8717129, transparent 60%), var(--surface)}[data-theme=dark] .auth-page{background:radial-gradient(120% 220% at 100% 0%, #4c8dff24, transparent 60%), radial-gradient(80% 160% at 0% 100%, #081e502e, transparent 60%), var(--bg)}[data-theme=dark] .magic-dropzone{background:linear-gradient(135deg, #4c8dff0f, #4c8dff00 70%), var(--surface)}[data-theme=dark] .magic-dropzone:hover,[data-theme=dark] .magic-dropzone:focus-visible{background:linear-gradient(135deg, #4c8dff1f, #4c8dff00 70%), var(--surface)}[data-theme=dark] .magic-dropzone:after{background:radial-gradient(420px 200px at 50% -20%,#4c8dff24,#0000 60%)}[data-theme=dark] .extract-banner{background:linear-gradient(135deg, var(--brand-soft), #4c8dff0a);border-color:#4c8dff59}[data-theme=dark] .tax-readiness.ready:before{background:radial-gradient(420px 200px at 0%,#4c8dff38,#0000 70%)}[data-theme=dark] .tax-readiness.review{color:var(--warning-strong);background:#f59e0b1f;border-color:#f59e0b59}[data-theme=dark] .tax-readiness.review:before{background:radial-gradient(420px 200px at 0%,#f59e0b33,#0000 70%)}[data-theme=dark] .tax-readiness.review .tax-readiness-copy span{color:var(--warning-strong)}[data-theme=dark] .tax-readiness.ready .tax-readiness-copy span{color:var(--brand-deep)}[data-theme=dark] .tax-readiness-note{border-top-color:#ffffff1a}[data-theme=dark] .ir3r-note,[data-theme=dark] .ledger-note{color:var(--warning-strong);background:#f59e0b14;border-color:#f59e0b47}[data-theme=dark] .ir3r-note strong,[data-theme=dark] .ledger-note strong{color:var(--warning-strong)}[data-theme=dark] .ir3r-note>svg,[data-theme=dark] .ledger-note>svg{color:var(--warning)}[data-theme=dark] .review-item{background:#f59e0b14;border-color:#f59e0b47}[data-theme=dark] .review-item .review-meta span{color:var(--warning-strong)}[data-theme=dark] .ir3r-box-num{color:#e9f0f6;background:#2d4a64}[data-theme=dark] .ir3r-row.ir3r-muted .ir3r-box-num{background:#2d4a648c}[data-theme=dark] .ir3r-7c-toggle{border-color:var(--line-strong)}[data-theme=dark] .claimable-tile.claimable-no{background:#f59e0b1a;border-color:#f59e0b52}[data-theme=dark] .claimable-tile.claimable-no .tile-label{color:var(--warning-strong)}[data-theme=dark] .thumb-1{color:#93c5fd;background:#60a5fa29}[data-theme=dark] .thumb-2{color:#fbbf24;background:#f59e0b29}[data-theme=dark] .thumb-3{color:#f9a8d4;background:#f472b629}[data-theme=dark] .data-header,[data-theme=dark] .portfolio-head{background:var(--surface-muted)}[data-theme=dark] .field-badge.guessed{color:var(--warning-strong);background:#f59e0b29}[data-theme=dark] .field-badge.needed{color:var(--danger);background:#f8717129}[data-theme=dark] .field input.field-needs-fill{background:#f871710f;border-color:#f8717173}[data-theme=dark] .field input.field-needs-fill:focus{box-shadow:0 0 0 3px #f8717133}[data-theme=dark] .chart-tooltip{background:var(--surface-elev);color:var(--ink);border:1px solid var(--line)}[data-theme=dark] .chart-tooltip .tooltip-time,[data-theme=dark] .chart-tooltip strong{color:var(--ink)}[data-theme=dark] .cashflow-bar-fill.out{background:linear-gradient(90deg,#f08b6b,#d97757)}[data-theme=dark] .action-row.tone-warn{border-left-color:#f08b6b}[data-theme=dark] .action-row.tone-warn .action-icon{color:#f08b6b;background:#d9775733}[data-theme=dark] .demo-banner{background:linear-gradient(90deg,#4c8dff29,#0000)}[data-theme=dark] .needs-review-section{background:radial-gradient(120% 200% at 100% 0%, #d9775724, transparent 60%), var(--surface);border-color:#d9775759}[data-theme=dark] .mortgage-chart-svg .chart-fill{fill-opacity:.16}[data-theme=dark] .mortgage-chart-svg .hover-dot{stroke:var(--surface-elev)}[data-theme=dark] .primary-button,[data-theme=dark] .progress-step.active,[data-theme=dark] .upload-check{color:#062014}.brand .brand-wordmark-dark,.brand .brand-glyph-dark,[data-theme=dark] .brand .brand-wordmark-light,[data-theme=dark] .brand .brand-glyph-light{display:none}[data-theme=dark] .brand .brand-wordmark-dark,[data-theme=dark] .brand .brand-glyph-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .brand .brand-wordmark-light,:root:not([data-theme]) .brand .brand-glyph-light{display:none}:root:not([data-theme]) .brand .brand-wordmark-dark,:root:not([data-theme]) .brand .brand-glyph-dark{display:block}}[data-theme=dark] .upload-row .upload-meta .upload-period{color:var(--brand)}[data-theme=dark] .primary-button:hover{box-shadow:0 4px 14px #4c8dff52}[data-theme=dark] .tax-readiness.ready,[data-theme=dark] .ir3r-tab.active{border-color:#4c8dff52}[data-theme=dark] .dashboard-tab.active{box-shadow:var(--shadow-sm), 0 0 0 1px #4c8dff38}[data-theme=dark] .dashboard-tab.active .dashboard-tab-meta{border-color:#4c8dff52}[data-theme=dark] .ir3r-final{border-top-color:#4c8dff52}[data-theme=dark] .upload-check{box-shadow:0 2px 6px #4c8dff52}[data-theme=dark] .claimable-tile.claimable-yes{border-color:#4c8dff59}.docslot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:4px;display:grid}@media (max-width:880px){.docslot-grid{grid-template-columns:1fr}}.docslot-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:12px;padding:16px;transition:border-color .16s,box-shadow .16s;display:flex}.docslot-card[data-done]{border-color:var(--success);background:linear-gradient(180deg, var(--brand-soft) 0%, var(--surface) 60%)}.docslot-card[data-phase=failed]{border-color:var(--danger)}.docslot-head{grid-template-columns:40px 1fr auto;align-items:start;gap:12px;display:grid}.docslot-icon{background:var(--brand-soft);width:40px;height:40px;color:var(--primary);border-radius:10px;place-items:center;display:grid}.docslot-head-body{flex-direction:column;gap:2px;min-width:0;display:flex}.docslot-head-body strong{letter-spacing:-.005em;color:var(--text);font-size:15px}.docslot-blurb{color:var(--muted);font-size:12.5px;line-height:1.45}.docslot-counter{color:var(--muted);font-variant-numeric:tabular-nums;background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;align-self:start;padding:2px 8px;font-size:12px}.docslot-badge{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.docslot-badge-pending{color:var(--muted);background:var(--surface-muted);border-color:var(--line)}.docslot-badge-busy{color:var(--info);background:var(--info-soft)}.docslot-badge-review{color:var(--warning-strong);background:var(--warning-soft)}.docslot-badge-done{color:#fff;background:var(--success)}.docslot-badge-fail{color:var(--danger);background:var(--danger-soft)}.docslot-badge .spinner{width:10px;height:10px}.docslot-drop{border:1.5px dashed var(--line-strong);background:var(--surface-muted);color:var(--muted);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:22px 12px;transition:background .16s,border-color .16s;display:flex}.docslot-drop:hover,.docslot-drop:focus-visible{border-color:var(--primary);background:var(--brand-soft);color:var(--primary);outline:none}.docslot-drop.drag{border-color:var(--primary);background:var(--brand-soft);color:var(--primary)}.docslot-drop strong{color:var(--text);font-size:13px}.docslot-drop span{font-size:11.5px}.docslot-filerow{background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;grid-template-columns:16px 1fr auto auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.docslot-fileinfo{flex-direction:column;gap:1px;min-width:0;display:flex}.docslot-fileinfo strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.docslot-fileinfo span{color:var(--muted);font-size:11.5px}.docslot-iconbtn{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.docslot-iconbtn:hover{background:var(--surface);color:var(--text);border-color:var(--line)}.docslot-iconbtn-danger:hover{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}.docslot-reject{background:var(--danger-soft);color:var(--danger);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.docslot-receipt-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.docslot-receipt-row{flex-direction:column;gap:8px;display:flex}.docreview{background:var(--surface-muted);border:1px solid var(--line-soft);border-radius:12px;flex-direction:column;gap:12px;padding:12px;display:flex}.docreview[data-readonly]{background:var(--brand-soft);border-color:var(--brand)}.docreview-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.docreview-summary-pill{background:var(--surface);border:1px solid var(--line);color:var(--text);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.docreview-summary-stat{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.docreview-save{color:var(--muted);align-items:center;gap:4px;margin-left:auto;font-size:11.5px;display:inline-flex}.docreview-save[data-state=saved]{color:var(--success)}.docreview-save[data-state=error]{color:var(--danger)}.docreview-save .spinner{width:10px;height:10px}.docreview-facts-head,.docreview-lines-head{flex-direction:column;gap:1px;display:flex}.docreview-facts-head strong,.docreview-lines-head strong{color:var(--text);font-size:12.5px;font-weight:600}.docreview-facts-sub{color:var(--muted);font-size:11.5px}.docreview-facts-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0;display:grid}.docreview-fact{flex-direction:column;gap:2px;margin:0;display:flex}.docreview-fact dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:600}.docreview-fact dd{margin:0}.docreview-fact dd input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}.docreview-fact dd input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.docreview-fact dd input:disabled{color:var(--muted);background:var(--surface-muted);cursor:not-allowed}.docreview-fact-empty{color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:6px;grid-column:1/-1;padding:8px 10px;font-size:12px}.docreview-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;font-size:12px;overflow:hidden}.docreview-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface-muted);padding:6px 10px;font-size:10.5px;font-weight:600}.docreview-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:6px 10px}.docreview-table tr:last-child td{border-bottom:none}.docreview-table .t-date{font-variant-numeric:tabular-nums;width:92px;color:var(--muted)}.docreview-table .t-direction{width:64px}.docreview-table .t-amount{font-variant-numeric:tabular-nums;text-align:right;width:96px;font-weight:600}.docreview-table tr[data-direction=inflow] .t-amount{color:var(--success)}.docreview-table tr[data-direction=outflow] .t-amount,.docreview-table .t-desc{color:var(--text)}.docreview-table .t-desc input{border:1px solid var(--primary);border-radius:4px;width:100%;padding:4px 6px;font-family:inherit;font-size:12px}.docreview-table .t-actions{text-align:right;white-space:nowrap;width:60px}.docreview-table .t-actions .docslot-iconbtn{width:22px;height:22px}.t-pill{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:2px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.t-pill-in{color:var(--success);background:var(--success-soft)}.t-pill-out{color:var(--text);background:var(--surface-muted)}.t-pill-amb{color:var(--warning-strong);background:var(--warning-soft)}.t-pill-select{appearance:none;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='currentColor' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E");background-position:right 5px center;background-repeat:no-repeat;background-size:8px 8px;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 18px 2px 6px;font-family:inherit;font-size:10px;font-weight:600;transition:border-color .12s,box-shadow .12s;display:inline-flex}.t-pill-select:hover{border-color:currentColor}.t-pill-select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px var(--brand-glow);outline:none}.t-pill-select-in{color:var(--success);background-color:var(--success-soft)}.t-pill-select-out{color:var(--text);background-color:var(--surface-muted)}.t-pill-select-amb{color:var(--warning-strong);background-color:var(--warning-soft)}.docreview-lines-empty{color:var(--muted);background:var(--surface);text-align:center;border:1px dashed var(--line);border-radius:8px;padding:10px;font-size:12px}.docreview-showall{color:var(--primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:6px 0 0;font-family:inherit;font-size:12px;display:inline-flex}.docreview-showall:hover{color:var(--primary-strong)}.docreview-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.docreview-secondary,.docreview-primary{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.docreview-secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.docreview-secondary:hover{border-color:var(--line-strong);background:var(--surface-muted)}.docreview-primary{background:var(--primary);border:1px solid var(--primary);color:#fff}.docreview-primary:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.settings-shell{flex-direction:column;gap:20px;max-width:760px;margin:0 auto;padding:24px 0 80px;display:flex}.settings-hero{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.settings-hero h1{letter-spacing:-.015em;color:var(--ink);margin:8px 0 4px;font-size:28px}.settings-hero p{color:var(--muted);max-width:60ch;margin:0;font-size:14.5px;line-height:1.55}.settings-empty{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:64px 24px;font-size:14px;display:flex}.settings-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:18px;padding:20px 22px;display:flex}.settings-card-head{grid-template-columns:40px 1fr auto;align-items:start;gap:14px;display:grid}.settings-card-icon{background:var(--brand-soft);width:40px;height:40px;color:var(--primary);border-radius:10px;place-items:center;display:grid}.settings-card-head-text h2{letter-spacing:-.005em;color:var(--ink);margin:0 0 4px;font-size:18px;font-weight:700}.settings-card-head-text p{color:var(--muted);max-width:55ch;margin:0;font-size:13.5px;line-height:1.5}.settings-save{color:var(--muted);background:var(--surface-muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-self:start;align-items:center;gap:4px;padding:4px 8px;font-size:12.5px;display:inline-flex}.settings-save .spinner{width:10px;height:10px}.settings-save.saved{color:var(--success);background:var(--success-soft);border-color:#0000}.settings-save.error{color:var(--danger);background:var(--danger-soft);border-color:#0000}.settings-card-body{flex-direction:column;gap:16px;display:flex}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field-label{color:var(--text);letter-spacing:.01em;align-items:baseline;gap:8px;font-size:13.5px;font-weight:600;display:flex}.settings-field-label em{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-style:normal;font-weight:500}.settings-field input[type=text],.settings-field input[type=number],.settings-field select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .12s,box-shadow .12s}.settings-field input:focus-visible,.settings-field select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.settings-field input:disabled,.settings-field select:disabled{color:var(--muted);background:var(--surface-muted);cursor:not-allowed}.settings-field-hint{color:var(--muted);max-width:65ch;font-size:13px;line-height:1.5}.settings-field-hint strong{color:var(--text);font-weight:600}.settings-edu{background:linear-gradient(180deg, var(--brand-soft) 0%, transparent 100%);border:1px dashed var(--brand);border-radius:12px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.settings-edu-headline{color:var(--primary-strong);align-items:center;gap:8px;font-size:15px;display:flex}.settings-edu p{color:var(--text);margin:0;font-size:14px;line-height:1.6}.settings-edu-footer{margin-top:2px;font-size:13px}.settings-edu-footer a{color:var(--primary-strong);font-weight:600;text-decoration:none}.settings-edu-footer a:hover{text-decoration:underline}.topbar-property-link{color:inherit;text-decoration:none}.topbar-property-link:hover{text-decoration:underline}.topbar-divider{color:var(--muted);margin:0 4px}.chattels-headline{background:var(--brand-soft);color:var(--primary-strong);border-radius:12px;align-items:center;gap:10px;padding:14px 16px;display:flex}.chattels-headline strong{letter-spacing:-.01em;font-size:19px}.chattels-headline span{color:var(--text);margin-left:4px;font-size:13.5px}.chattels-add-row{display:flex}.chattels-add-btn{border:1px dashed var(--line-strong);background:var(--surface-muted);color:var(--primary-strong);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.chattels-add-btn:hover:not(:disabled){background:var(--brand-soft);border-color:var(--primary)}.chattels-add-btn:disabled{opacity:.5;cursor:not-allowed}.chattels-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chattels-row{display:block}.chattels-row.editing{padding:0}.chattels-row-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.chattels-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.chattels-row-name{color:var(--text);font-size:15px}.chattels-row-meta{color:var(--muted);font-size:13px}.chattels-row-sub{color:var(--muted-soft);margin-top:2px;font-size:12.5px}.chattels-row-side{align-items:center;gap:8px;display:flex}.chattels-row-depr{flex-direction:column;align-items:flex-end;line-height:1;display:flex}.chattels-row-depr span{font-variant-numeric:tabular-nums;color:var(--success);font-size:16px;font-weight:700}.chattels-row-depr small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:11px}.chattels-form{border:1px solid var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--brand-glow);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.chattels-form-head{justify-content:space-between;align-items:center;display:flex}.chattels-form-head strong{color:var(--text);font-size:15px}.chattels-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}@media (max-width:600px){.chattels-form-grid{grid-template-columns:1fr}}.chattels-form-advanced-toggle{color:var(--primary-strong);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:2px 0;font-family:inherit;font-size:13.5px;display:inline-flex}.chattels-form-advanced-toggle:hover{text-decoration:underline}.chattels-form-actions{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.chattels-form-actions-right{gap:8px;margin-left:auto;display:flex}.chattels-delete-btn{color:var(--danger);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.chattels-delete-btn:hover{background:var(--danger-soft);border-color:var(--danger-soft)}.settings-field-select{position:relative}.settings-field-select select{appearance:none;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:10px 30px 10px 12px;font-family:inherit;font-size:15px}.settings-field-select svg{pointer-events:none;color:var(--muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.settings-field-checkbox{flex-direction:row;grid-column:1/-1;align-items:flex-start;gap:10px}.settings-field-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);margin-top:3px}.settings-field-checkbox .settings-field-label{flex-direction:column;align-items:flex-start}.chattels-error{background:var(--danger-soft);color:var(--danger);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.chattels-link{color:var(--primary-strong);font-weight:600;text-decoration:none}.chattels-link:hover{text-decoration:underline}.large-property-ringfence{letter-spacing:.02em;color:var(--warning-strong);background:var(--warning-soft);white-space:nowrap;border-radius:999px;margin-top:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.settings-ringfence-card{background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.settings-ringfence-head{color:var(--text);align-items:center;gap:6px;margin-bottom:6px;font-size:13px;display:flex}.settings-ringfence-stats{grid-template-columns:1fr;gap:8px 16px;margin:0;display:grid}@media (min-width:540px){.settings-ringfence-stats{grid-template-columns:1fr 1fr}}.settings-ringfence-stats>div{flex-direction:column;gap:1px;display:flex}.settings-ringfence-stats dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10.5px;font-weight:600}.settings-ringfence-stats dd{font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-size:14px;font-weight:600}.settings-ringfence-total{border-top:1px dashed var(--line);grid-column:1/-1;margin-top:4px;padding-top:8px}.settings-ringfence-total dt{color:var(--text)!important}.settings-ringfence-total dd{color:var(--warning-strong)!important;font-size:16px!important}@keyframes ledge-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ledge-skeleton{background:linear-gradient(90deg, var(--surface-muted) 0%, var(--line-soft) 50%, var(--surface-muted) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite ledge-shimmer;display:block}@media (prefers-reduced-motion:reduce){.ledge-skeleton{animation:none}}.dashboard-skeleton{margin-top:18px}.dashboard-skeleton-tabs{gap:8px;margin-bottom:18px;display:flex}.dashboard-skeleton-tab{border-radius:var(--radius-md);width:110px;height:36px}.dashboard-skeleton-tab.is-first{width:130px}.dashboard-skeleton-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.dashboard-skeleton-photo{aspect-ratio:16/9;border-radius:0;width:100%}.dashboard-skeleton-body{flex-direction:column;gap:12px;padding:18px 22px 22px;display:flex}.dashboard-skeleton-title{width:70%;height:22px}.dashboard-skeleton-sub{width:55%;height:14px}.dashboard-skeleton-row{width:100%;height:18px}.property-skeleton{flex-direction:column;gap:16px;margin-top:16px;animation:.18s ease-out both ledge-fade-in;display:flex}@keyframes ledge-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.property-skeleton{animation:none}}.property-skeleton-banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:16px 20px;display:flex}.property-skeleton-banner-text{flex-direction:column;gap:2px;min-width:0;display:flex}.property-skeleton-banner-text strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.property-skeleton-banner-text span{color:var(--muted);font-size:13px}.property-skeleton-spinner{border:2.5px solid var(--line);border-top-color:var(--primary,var(--text));border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.property-skeleton-spinner{animation:2.4s linear infinite spin}}.property-skeleton-actions{justify-content:flex-end;gap:10px;display:flex}.property-skeleton-action{border-radius:var(--radius-md);width:130px;height:38px}.property-skeleton-hero{border-radius:var(--radius-lg);height:220px}.property-skeleton-block-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.property-skeleton-block{border-radius:var(--radius-lg);height:140px}.property-skeleton-wide{border-radius:var(--radius-lg);height:180px}.settings-carry-forward-row{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:540px){.settings-carry-forward-row{grid-template-columns:2fr 1.5fr;gap:18px}}.settings-carry-forward-impact{border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--text);margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.5}.settings-carry-forward-impact strong{font-variant-numeric:tabular-nums;font-weight:700}.settings-carry-forward-empty{color:var(--muted);margin:12px 0 0;font-size:12.5px;font-style:italic}.ir3r-ringfence{background:var(--surface-muted);border-left:3px solid var(--brand);border-radius:var(--radius-sm);margin:12px -4px;padding:12px 14px}.ir3r-ringfence-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:11.5px;font-weight:700;display:flex}.ir3r-ringfence-rows{gap:4px;margin:0;display:grid}.ir3r-ringfence-rows>div{justify-content:space-between;align-items:baseline;font-size:13.5px;display:flex}.ir3r-ringfence-rows dt{color:var(--muted)}.ir3r-ringfence-rows dd{font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-weight:600}.ir3r-ringfence-total{border-top:1px dashed var(--line);margin-top:2px;padding-top:4px}.ir3r-ringfence-total dt{font-weight:600;color:var(--text)!important}.ring-fence-story{background:var(--brand-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px}.ring-fence-story-head{color:var(--primary,var(--text));align-items:center;gap:10px;margin-bottom:10px;display:flex}.ring-fence-story-head h2{color:var(--text);margin:0;font-size:18px;font-weight:700}.ring-fence-story-lead{color:var(--text);margin:0;font-size:14.5px;line-height:1.6}.ring-fence-story-lead strong{font-variant-numeric:tabular-nums}.ring-fence-story-math{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;margin:18px 0 6px;padding:14px 16px;display:flex}.ring-fence-story-math-item{flex-direction:column;align-items:center;gap:4px;min-width:120px;display:flex}.ring-fence-story-math-value{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:700}.ring-fence-story-math-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;font-size:11.5px;font-weight:600}.ring-fence-story-math-op{color:var(--muted-soft);align-items:center;font-size:22px;font-weight:300;display:inline-flex}.ring-fence-story-math-result .ring-fence-story-math-value{color:var(--primary,var(--text))}.ring-fence-story-footnote{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.5}.ring-fence-story-footnote em{color:var(--muted-strong,var(--muted));font-style:normal;font-weight:600}.topbar-fy-picker{align-items:center;display:inline-flex;position:relative}.topbar-fy-picker select{appearance:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);height:32px;color:var(--text);cursor:pointer;padding:0 28px 0 12px;font-size:13px;font-weight:600;transition:border-color .12s,background .12s}.topbar-fy-picker select:hover{border-color:var(--line-strong)}.topbar-fy-picker select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:0}.topbar-fy-picker:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:10px;transform:translateY(-70%)rotate(45deg)}
