@font-face{font-family:Geist;src:url(/fonts/geist-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist;src:url(/fonts/geist-latin-ext.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0300-0303,u+0305-0307,u+0309-0328,u+032a-036f,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}:root{color-scheme:light;--background:#f5f7f8;--surface:rgba(255,255,255,.95);--surface-muted:#eef2f1;--surface-hover:#e3ebe8;--sidebar-background:rgba(255,255,255,.84);--text-primary:#15201d;--text-secondary:#66736f;--border:#dfe7e4;--accent:#1d7567;--accent-hover:#145e53;--accent-soft:#e5f2ef;--accent-muted:#bfd0cb;--success:#145e53;--success-soft:#e5f2ef;--warning:#9b6b19;--warning-soft:#fff5d8;--danger:#a8463c;--danger-soft:#fce9e6;--danger-hover:#f5d9d4;--focus-halo:rgba(29,117,103,.16);--backdrop:rgba(20,35,31,.35);--shadow-subtle:0 2px 8px rgba(27,54,47,.07);--shadow-dialog:0 12px 40px rgba(19,44,38,.22);--radius-card:10px;--radius-control:8px;--radius-dialog:12px;--font-sans:Geist,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:14px;--font-secondary:13px;--font-title:28px;--font-section:17px;--font-financial:28px;--motion-fast:150ms;--chart-income:var(--accent);--chart-expense:var(--danger);--chart-cashflow:var(--text-primary);--bg:var(--background);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--accent-strong:var(--accent-hover);--shadow:var(--shadow-subtle);--radius:var(--radius-card)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--background);color:var(--text);font-family:var(--font-sans);font-size:var(--font-body);line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;padding:24px 16px;background:var(--sidebar-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--accent);color:white;display:grid;place-items:center;font-weight:800}.brand span,.brand strong{display:block}.brand span{color:var(--muted);font-size:12px;margin-top:2px}.nav-list{display:grid;grid-gap:6px;gap:6px}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;color:var(--muted);border-radius:13px;font-weight:650;font-size:14px}.nav-item:hover{background:#f3f7f6;color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-icon{width:24px;text-align:center;font-size:17px}.sidebar-note{margin-top:auto;background:#f6f8f8;border:1px solid var(--line);border-radius:14px;padding:12px}.sidebar-note span,.sidebar-note strong{display:block}.sidebar-note span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.main-content{margin-left:246px;min-height:100vh;padding:40px clamp(24px,4vw,64px) 80px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-header h1{margin:0 0 8px;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.page-header p{margin:0;color:var(--muted);max-width:720px;line-height:1.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.card h2,.card h3{margin-top:0}.card h2{font-size:18px}.card h3{margin-bottom:5px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:18px}.kpi-grid .card{min-height:145px;display:flex;flex-direction:column;margin-bottom:0}.attention-card{border-color:#efdca5;background:linear-gradient(180deg,#fffdf8,#fff)}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:750}.kpi{font-size:clamp(24px,3vw,34px);margin:auto 0 3px;letter-spacing:-.04em}.muted{color:var(--muted);font-size:12px}.money.negative{color:var(--danger)}.two-column{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);grid-gap:18px;gap:18px;margin-top:18px}.section-title{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.section-title h2{margin:0 0 4px}.section-title p{margin:0;color:var(--muted);font-size:13px}.chart{height:230px;display:flex;gap:12px;align-items:stretch;padding-top:12px}.chart-col{flex:1 1;display:grid;grid-template-rows:1fr auto;grid-gap:8px;gap:8px;text-align:center;color:var(--muted);font-size:11px}.chart-track{display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}.chart-bar{width:min(38px,70%);min-height:4px;background:var(--accent);border-radius:9px 9px 3px 3px}.chart-bar.negative{background:#c86b60}.status-list{display:grid;grid-gap:12px;gap:12px}.status-row{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.status-row:last-child{border-bottom:0;padding-bottom:0}.status-row strong{font-size:14px}.status-row p{margin:3px 0 0;color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:5px 8px;border-radius:999px;background:#eef2f1;color:var(--muted);font-size:11px;font-weight:750;white-space:nowrap}.badge.success{background:var(--accent-soft);color:var(--accent-strong)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.text-link{margin-top:auto;color:var(--accent-strong);font-size:12px;font-weight:700}.segmented{display:inline-flex;padding:4px;gap:4px;background:#eff3f2;border-radius:13px;margin-bottom:18px}.segment{border:0;background:transparent;border-radius:10px;padding:9px 13px;color:var(--muted)}.segment.active{background:white;color:var(--text);box-shadow:0 3px 12px rgba(28,54,47,.08)}.drop-zone{min-height:235px;border:1.5px dashed #bfd0cb;background:#f8fbfa;border-radius:18px;display:grid;place-items:center;align-content:center;grid-gap:6px;gap:6px;text-align:center;cursor:pointer;padding:30px}.drop-zone strong{color:var(--accent-strong)}.drop-zone span{color:var(--muted);font-size:13px}.drop-zone input{margin-top:10px;max-width:240px}.empty-state{min-height:250px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.empty-state strong{color:var(--text)}.empty-state p{max-width:340px}.result-list{display:grid;grid-gap:10px;gap:10px}.result-row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.result-row div span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.result-row small{color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px}.process-grid div{background:#f7faf9;border:1px solid var(--line);border-radius:14px;padding:14px;min-height:95px}.process-grid strong{display:grid;place-items:center;width:27px;height:27px;margin-bottom:12px;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong)}.process-grid span{font-size:12px;line-height:1.4}.stack{display:grid;grid-gap:14px;gap:14px;margin-bottom:22px}.stack .card{margin-bottom:0}.review-card{border-left:4px solid var(--warning)}.transaction-head{display:flex;justify-content:space-between;gap:24px}.review-amount{font-size:22px}.review-actions{justify-content:space-between;gap:20px;margin-top:18px}.checkbox,.review-actions{display:flex;align-items:center}.checkbox{gap:9px}.checkbox input{width:auto}.checkbox span{margin:0}.celebration{text-align:center;padding:55px 24px}.celebration-icon{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 13px;border-radius:16px;background:var(--accent-soft);color:var(--accent-strong);font-size:25px;font-weight:800}.celebration h2{margin-bottom:3px}.celebration p{margin:0;color:var(--muted)}.toolbar{display:flex;gap:10px;margin-bottom:16px}.search{flex:1 1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px}td,th{border-bottom:1px solid var(--line)}td{padding:13px 10px}tbody tr:last-child td{border-bottom:0}.right{text-align:right}.description-cell{min-width:250px}.expected-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.expected-row h3{margin-top:5px}.expected-row p{color:var(--muted);margin:0;font-size:13px}.expected-actions{display:flex;align-items:center;gap:14px}.bottom-nav{display:none}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.sidebar{display:none}.main-content{margin-left:0;padding:24px 15px 100px}.page-header{align-items:stretch;flex-direction:column}.page-header .button{text-align:center}.form-grid,.kpi-grid,.two-column{grid-template-columns:1fr}.kpi-grid{gap:10px}.kpi-grid .card{min-height:125px}.process-grid{grid-template-columns:repeat(2,1fr)}.expected-row,.review-actions,.transaction-head{align-items:stretch;flex-direction:column}.expected-actions{justify-content:space-between}.bottom-nav{position:fixed;z-index:30;display:flex;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));min-height:64px;border:1px solid rgba(223,231,228,.9);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 14px 45px rgba(22,48,41,.15);border-radius:20px;padding:6px}.bottom-item{flex:1 1;display:grid;place-items:center;align-content:center;grid-gap:2px;gap:2px;color:var(--muted);border-radius:14px;font-size:18px}.bottom-item small{font-size:9px}.bottom-item.active{color:var(--accent-strong);background:var(--accent-soft)}.toolbar{flex-direction:column}}.import-warning{margin-bottom:16px;padding:14px 16px;border-radius:14px;background:var(--warning-soft);color:var(--warning);border:1px solid #efdca5}.import-warning p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.import-actions{display:flex;gap:10px;align-items:center}.dashboard-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.dashboard-controls label{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.dashboard-controls label span{margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.dashboard-chart-card{overflow:hidden}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-income{background:var(--accent)}.legend-expense{background:var(--danger)}.legend-cashflow{background:var(--text)}.cashflow-chart{min-height:340px;display:flex;align-items:stretch;gap:12px;padding:18px 4px 4px}.cashflow-month{flex:1 1;min-width:54px;border:0;background:transparent;display:grid;grid-template-rows:1fr 1px 1fr auto;grid-gap:0;gap:0;color:var(--muted);border-radius:14px;padding:8px 4px 6px}.cashflow-month.selected,.cashflow-month:hover{background:#f5f8f7;color:var(--text)}.bar-zone{position:relative;display:flex;justify-content:center}.income-zone{align-items:flex-end}.expense-zone{align-items:flex-start}.expense-bar,.income-bar{width:min(44px,72%);min-height:4px;border-radius:10px}.income-bar{background:var(--accent);border-radius:10px 10px 3px 3px}.expense-bar{background:var(--danger);border-radius:3px 3px 10px 10px}.cashflow-zero{background:var(--line)}.cashflow-month span{font-size:11px;margin-top:9px}.line-chart-wrap{min-height:340px;display:grid;grid-template-rows:1fr auto}.line-chart{width:100%;height:285px;overflow:visible}.line-chart polyline{stroke:var(--text);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.line-chart-months{display:flex;gap:6px}.line-chart-months button{flex:1 1;border:0;background:transparent;color:var(--muted);padding:7px 4px;border-radius:9px;font-size:11px}.line-chart-months button.selected{background:var(--accent-soft);color:var(--accent-strong)}.dashboard-breakdown{align-items:start}.category-breakdown{display:grid;grid-gap:8px;gap:8px}.category-breakdown-row{display:block;border-radius:13px;padding:10px 11px}.category-breakdown-row:hover{background:#f6f9f8}.category-breakdown-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px}.category-breakdown-head strong{white-space:nowrap}.category-breakdown-head small{color:var(--muted);font-weight:500}.category-track{margin-top:8px;height:7px;background:#edf1f0;border-radius:999px;overflow:hidden}.category-fill{height:100%;border-radius:999px}.category-fill.income{background:var(--accent)}.category-fill.expense{background:var(--danger)}.dashboard-transactions{display:grid}.dashboard-transaction-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--line)}.dashboard-transaction-row:last-child{border-bottom:0}.dashboard-transaction-row:hover{background:#f8faf9}.dashboard-transaction-row span,.dashboard-transaction-row strong{display:block}.dashboard-transaction-row span{color:var(--muted);font-size:12px;margin-top:3px}.dashboard-transaction-amount{display:flex;align-items:center;gap:10px;white-space:nowrap}@media (max-width:760px){.dashboard-controls{grid-template-columns:1fr}.cashflow-chart{overflow-x:auto;min-height:310px}.cashflow-month{min-width:64px}.chart-legend{justify-content:flex-start}.dashboard-transaction-row{align-items:flex-start;flex-direction:column}.dashboard-transaction-amount{width:100%;justify-content:space-between}}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:18px;margin-bottom:22px}.hub-link{display:block}.hub-link .card{height:100%;min-height:170px;margin-bottom:0;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.hub-link:hover .card{transform:translateY(-2px);border-color:#bfd0cb;box-shadow:0 18px 45px rgba(27,54,47,.1)}.hub-grid .card h2,.hub-link h2{margin:12px 0 6px}.hub-grid .card p,.hub-link p{margin:0;color:var(--muted);line-height:1.5;font-size:13px}.hub-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);font-size:19px;font-weight:800}.compact-hub .card{min-height:145px}@media (max-width:760px){.hub-grid{grid-template-columns:1fr}}.sidebar-search{margin:0 0 14px}.sidebar-search input{padding:9px 10px;border-radius:11px;background:#f6f9f8}.mobile-search-trigger{display:none;margin-bottom:14px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:700}@media (max-width:760px){.mobile-search-trigger{display:inline-flex;align-items:center;gap:6px}}.dashboard-owner-card-link{display:flex;min-width:0;color:inherit;text-decoration:none}.dashboard-owner-card-link>.card{flex:1 1;width:100%}.dashboard-owner-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius)}.dashboard-period-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}@media (max-width:620px){.dashboard-period-controls .segmented{width:100%}}.storage-notice{position:fixed;z-index:2000;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:760px;max-height:45vh;margin:0 auto;overflow:auto;padding:16px;border:1px solid #e4b454;border-radius:16px;background:var(--surface,#fff);color:var(--text,#172b25);box-shadow:0 8px 32px #0002}.storage-notice p{margin:0 0 12px}.property-unit-input{display:flex;align-items:flex-end;gap:12px}.property-unit-input label{flex:1 1;min-width:0}.form-error,.success-message{margin-bottom:16px;padding:13px 15px;border-radius:13px;border:1px solid}.form-error{background:var(--danger-soft);border-color:#efc7c1;color:var(--danger)}.success-message{background:var(--accent-soft);border-color:#bddbd4;color:var(--accent-strong)}.form-error p,.success-message p{margin:4px 0 0;color:inherit;font-size:13px;line-height:1.45}.compact-field{display:block}.compact-field,.compact-field select{min-width:150px}.dashboard-main-row{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)}.combined-chart{position:relative;height:330px;margin-top:12px}.combined-baseline{position:absolute;z-index:1;left:0;right:0;top:50%;height:1px;background:var(--line)}.combined-line{position:absolute;z-index:4;inset:0 0 30px 0;width:100%;height:calc(100% - 30px);pointer-events:none;overflow:visible}.combined-line polyline{stroke:var(--text);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.combined-months{position:absolute;z-index:2;inset:0;display:flex;gap:8px}.combined-month{position:relative;flex:1 1;min-width:48px;border:0;background:transparent;color:var(--muted);display:grid;grid-template-rows:1fr 1fr 30px;padding:0 3px;border-radius:12px}.combined-month.selected,.combined-month:hover{background:rgba(29,117,103,.045);color:var(--text)}.combined-lower,.combined-upper{display:flex;justify-content:center}.combined-upper{align-items:flex-end}.combined-lower{align-items:flex-start}.combined-expense,.combined-income{width:min(40px,72%);min-height:3px}.combined-income{background:var(--accent);border-radius:9px 9px 2px 2px}.combined-expense{background:var(--danger);border-radius:2px 2px 9px 9px}.combined-month>span{align-self:end;padding-bottom:4px;font-size:11px}.chart-tooltip{display:none;position:absolute;z-index:20;left:50%;bottom:calc(100% - 42px);transform:translateX(-50%);min-width:155px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:var(--shadow);text-align:left;color:var(--text);pointer-events:none}.chart-tooltip small,.chart-tooltip strong{display:block}.chart-tooltip small{margin-top:3px;color:var(--muted);font-size:11px}.combined-month:hover .chart-tooltip{display:block}.compact-empty{min-height:100px}.transaction-filters{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}.transaction-primary-filters{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(150px,.7fr));grid-gap:10px;gap:10px}.transaction-search{min-width:260px}.advanced-filters{border-top:1px solid var(--line);padding-top:10px}.advanced-filters summary{width:max-content;cursor:pointer;color:var(--accent-strong);font-size:12px;font-weight:750}.advanced-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));grid-gap:10px;gap:10px;margin-top:10px}.review-actions input[type=checkbox],.table-wrap input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:16px;height:16px;min-width:16px;padding:0;border-radius:3px}@media (max-width:1100px){.transaction-primary-filters{grid-template-columns:1fr 1fr}.transaction-search{min-width:0;grid-column:1/-1}.dashboard-main-row{grid-template-columns:1fr}}@media (max-width:760px){.advanced-filter-grid,.transaction-primary-filters{grid-template-columns:1fr}.transaction-search{grid-column:auto}.combined-chart{overflow-x:auto;min-height:310px}.combined-baseline,.combined-line,.combined-months{min-width:520px}}.budget-period-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.budget-period-nav{display:flex;align-items:center;gap:10px}.budget-period-nav strong{min-width:170px;text-align:center;text-transform:capitalize}.budget-view-toggle{margin:0}.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:18px;gap:18px;align-items:start}.budget-main{display:grid;grid-gap:12px;gap:12px}.budget-row,.budget-section>summary,.budget-subheader,.budget-subsection>summary,.budget-table-header,.budget-total-row{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(120px,.65fr));grid-gap:12px;gap:12px;align-items:center}.budget-table-header{padding:0 18px 7px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.budget-row>span:not(:first-child),.budget-section>summary>span,.budget-subheader>span,.budget-subsection>summary>span,.budget-table-header span:not(:first-child),.budget-total-row>:not(:first-child){text-align:right}.budget-section,.budget-subsection{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.budget-section>summary,.budget-subsection>summary{cursor:pointer;list-style:none}.budget-section>summary::-webkit-details-marker,.budget-subsection>summary::-webkit-details-marker{display:none}.budget-section>summary{padding:17px 18px;background:#f7f9f8}.budget-section>summary:before,.budget-subsection>summary:before{content:"›";position:absolute;transform:rotate(90deg)}.budget-section>summary strong,.budget-subsection>summary strong{padding-left:20px}.budget-section:not([open])>summary:before,.budget-subsection:not([open])>summary:before{transform:rotate(0)}.budget-section-body{display:grid}.budget-subheader{padding:13px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfc;font-size:13px}.budget-subsection{margin:10px 12px;box-shadow:none;border-radius:13px}.budget-subsection>summary{padding:13px 14px;background:#fbfcfc;font-size:13px}.budget-row{width:100%;border:0;border-top:1px solid var(--line);background:white;padding:13px 18px;color:var(--text);text-align:left}.budget-row:hover{background:#f8fbfa}.budget-row>span:first-child small,.budget-row>span:first-child strong{display:block}.budget-row>span:first-child small{margin-top:3px;color:var(--muted);font-size:11px}.warning-row{cursor:default;background:#fffdf8}.budget-total-row{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.budget-variance{font-weight:750;white-space:nowrap}.budget-variance.favorable{color:var(--accent-strong)}.budget-variance.unfavorable{color:var(--danger)}.budget-variance.neutral{color:var(--muted)}.budget-summary{position:-webkit-sticky;position:sticky;top:24px}.budget-cashflow-hero{margin:14px 0 18px;padding:18px;border-radius:16px;background:var(--accent-soft);text-align:center}.budget-cashflow-hero small,.budget-cashflow-hero span{display:block;color:var(--muted)}.budget-cashflow-hero strong{display:block;margin:5px 0;font-size:30px;letter-spacing:-.04em}.budget-summary-list{display:grid;grid-gap:14px;gap:14px}.budget-summary-list>div{padding-top:12px;border-top:1px solid var(--line)}.budget-summary-list small,.budget-summary-list span,.budget-summary-list strong{display:block}.budget-summary-list span{color:var(--muted);font-size:12px}.budget-summary-list strong{margin-top:4px;font-size:18px}.budget-summary-list small{margin-top:3px;color:var(--muted)}@media (max-width:1100px){.budget-layout{grid-template-columns:1fr}.budget-summary{position:static;grid-row:1}}@media (max-width:760px){.budget-period-bar,.budget-period-nav{align-items:stretch}.budget-period-bar{flex-direction:column}.budget-period-nav{display:grid;grid-template-columns:auto 1fr auto}.budget-period-nav strong{min-width:0;align-self:center}.budget-period-nav .button:last-child{grid-column:1/-1}.budget-view-toggle{width:100%}.budget-view-toggle .segment{flex:1 1}.budget-table-header{display:none}.budget-row,.budget-section>summary,.budget-subheader,.budget-subsection>summary,.budget-total-row{grid-template-columns:minmax(145px,1.4fr) repeat(3,minmax(78px,.7fr));gap:7px;padding-left:10px;padding-right:10px;font-size:11px}.budget-section>summary strong,.budget-subsection>summary strong{padding-left:14px}.budget-row>span:first-child strong{font-size:12px}}.review-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.review-toolbar{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));grid-gap:12px;gap:12px}.review-toolbar label>span{margin-bottom:6px}.review-undo{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-inbox-section{margin-top:22px}.review-inbox-card{padding:0;overflow:hidden}.review-inbox-row{display:grid;grid-template-columns:120px minmax(260px,1.6fr) 140px minmax(330px,1.2fr);grid-gap:14px;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.review-inbox-row:last-child{border-bottom:0}.review-main span,.review-main strong,.review-money span,.review-money strong{display:block}.review-main span,.review-money span{margin-top:3px;color:var(--muted);font-size:12px}.review-money{text-align:right}.review-inline-action,.review-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.review-inline-action select{min-width:180px}.compact-checkbox{font-size:11px}.compact-checkbox,.review-row-actions .button{white-space:nowrap}@media (max-width:1100px){.review-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.review-inbox-row{grid-template-columns:105px minmax(220px,1fr) 120px}.review-inline-action,.review-row-actions{grid-column:1/-1;justify-content:flex-start;padding-top:2px}}@media (max-width:760px){.review-inbox-row,.review-kpis,.review-toolbar{grid-template-columns:1fr}.review-inbox-row{gap:9px}.review-money{text-align:left}.review-inline-action,.review-row-actions{grid-column:auto;flex-direction:column;align-items:stretch}.review-inline-action .button,.review-inline-action select,.review-row-actions .button{width:100%}.review-undo{align-items:flex-start;flex-direction:column}}.review-budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:18px;gap:18px;align-items:start}.review-budget-main{display:grid;grid-gap:12px;gap:12px}.review-budget-sort{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:0 2px 4px}.review-budget-sort .compact-field{min-width:180px}.review-budget-section{margin:0}.review-budget-section>summary{grid-template-columns:minmax(200px,.9fr) minmax(260px,1.7fr) auto}.review-section-subtitle{color:var(--muted);font-size:12px;text-align:left!important}.review-budget-section-body{display:grid}.review-table-row{display:grid;grid-template-columns:minmax(260px,1.3fr) 135px minmax(320px,1fr);grid-gap:14px;gap:14px;align-items:center;padding:14px 16px;border-top:1px solid var(--line)}.review-table-amount span,.review-table-amount strong,.review-table-row>div:first-child span,.review-table-row>div:first-child strong{display:block}.review-table-amount span,.review-table-row>div:first-child span{margin-top:3px;color:var(--muted);font-size:12px}.review-table-amount{text-align:right}.review-empty-row{display:flex;align-items:center;gap:10px;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.review-summary{position:-webkit-sticky;position:sticky;top:24px}.review-summary-hero{margin:14px 0 18px;padding:18px;border-radius:16px;background:var(--warning-soft);text-align:center}.review-summary-hero small,.review-summary-hero span{display:block;color:var(--muted)}.review-summary-hero strong{display:block;margin:4px 0;font-size:34px;letter-spacing:-.04em}.review-year-breakdown{display:grid;grid-gap:6px;gap:6px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.review-year-breakdown>.eyebrow{margin-bottom:3px}.review-month-summary{width:100%;border:0;background:transparent;border-radius:10px;display:flex;justify-content:space-between;align-items:center;padding:8px 9px;color:var(--text)}.review-month-summary:hover{background:#f6f9f8}.review-month-summary span{text-transform:capitalize;color:var(--muted);font-size:12px}.review-month-ok{color:var(--accent-strong)}.review-budget-section .review-inline-action{justify-content:flex-end}@media (max-width:1100px){.review-budget-layout{grid-template-columns:1fr}.review-summary{position:static;grid-row:1}.review-table-row{grid-template-columns:minmax(220px,1fr) 120px}.review-table-row .review-inline-action,.review-table-row .review-row-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:760px){.review-budget-sort{align-items:stretch;flex-direction:column}.review-budget-sort .compact-field{width:100%;min-width:0}.review-budget-section>summary{grid-template-columns:minmax(120px,1fr) auto;gap:8px}.review-section-subtitle{grid-column:1/-1;padding-left:14px;order:3}.review-table-row{grid-template-columns:1fr;gap:10px}.review-table-amount{text-align:left}.review-table-row .review-inline-action,.review-table-row .review-row-actions{grid-column:auto;align-items:stretch;flex-direction:column}.review-table-row .review-inline-action .button,.review-table-row .review-inline-action select,.review-table-row .review-row-actions .button{width:100%}}.review-resolution-action{display:grid;grid-template-columns:minmax(190px,1fr) auto;grid-gap:8px 10px;gap:8px 10px;align-items:center}.review-resolution-action>select{min-width:0}.review-resolution-action .review-automation-choice{grid-column:1/-1;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fafcfc}.review-automation-choice small,.review-automation-choice span{display:block}.review-automation-choice small{margin-top:2px;color:var(--muted);font-weight:500;line-height:1.35}.review-action-buttons{display:flex;gap:8px;justify-content:flex-end}.review-action-buttons .button{white-space:nowrap}@media (max-width:760px){.review-resolution-action{grid-template-columns:1fr}.review-resolution-action .review-automation-choice{grid-column:auto}.review-action-buttons{flex-direction:column}.review-action-buttons .button{width:100%}}.rule-preview{grid-column:1/-1;display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#f8faf9}.rule-preview strong{font-size:12px}.rule-preview span{color:var(--muted);font-size:11px;line-height:1.4}.delete-rule-choices{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.delete-rule-choice{width:100%;text-align:left;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text)}.delete-rule-choice:hover{background:#f8faf9;border-color:#c6d3cf}.delete-rule-choice span,.delete-rule-choice strong{display:block}.delete-rule-choice span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.delete-rule-choice.danger-choice{border-color:#efc7c1}.delete-rule-choice.danger-choice strong{color:var(--danger)}.transaction-origin{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}.transaction-origin a{color:var(--accent-strong);font-weight:700;text-decoration:none}.transaction-origin a:hover{text-decoration:underline}.rule-history-note{margin:0 0 14px;max-width:820px;font-size:12px;line-height:1.45}.rule-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.rule-stats>span{display:flex;align-items:baseline;gap:5px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.rule-stats strong{color:var(--text);font-size:13px}.rule-apply-actions{margin-top:12px}.rule-apply-actions .button{width:auto}.rule-preview-impact{margin-top:3px;padding-top:7px;border-top:1px solid var(--line);color:var(--text)!important;font-weight:650}.budget-change-scope{display:grid;grid-gap:10px;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#f8faf9}.budget-change-scope>strong{font-size:13px}.budget-change-scope>p{margin:0}.budget-change-options{margin:0;width:max-content;max-width:100%}.budget-change-options .segment{white-space:nowrap}@media (max-width:760px){.budget-change-options{width:100%;flex-direction:column}.budget-change-options .segment{width:100%}}.clickable-card{cursor:pointer;border-radius:var(--radius)}.clickable-card .card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.clickable-card:focus-visible .card,.clickable-card:hover .card{transform:translateY(-1px);border-color:#bfd0cb;box-shadow:0 18px 45px rgba(27,54,47,.1)}.clickable-card:focus-visible{outline:3px solid rgba(29,117,103,.16);outline-offset:2px}.rent-budget-context{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#f8faf9}.rent-budget-context strong{display:block;margin-top:3px}.rent-budget-context small{color:var(--muted)}@media (max-width:760px){.rent-budget-context{align-items:flex-start;flex-direction:column}}.location-actions{flex-wrap:wrap}.location-property-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.location-property-head h2{margin:4px 0 5px}.location-unit-list{display:grid}.location-unit-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 4px;border-bottom:1px solid var(--line);border-radius:12px}.location-unit-row:last-child{border-bottom:0}.location-unit-row:hover{background:#f8faf9}.location-unit-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.location-unit-main p,.location-unit-main strong,.location-unit-main>span,.location-unit-meta strong,.location-unit-meta>span{display:block}.location-unit-main>div>span{margin-top:3px;color:var(--muted);font-size:11px}.location-unit-main p{margin:3px 0 0;font-size:13px}.location-unit-meta{text-align:right;min-width:220px}.location-unit-meta strong{font-size:13px}.location-unit-meta>span{margin-top:3px;color:var(--muted);font-size:11px}.field-label{display:block;color:var(--muted);font-size:12px;font-weight:650;margin-bottom:6px}.lease-tenant-picker{display:grid;grid-gap:7px;gap:7px;max-height:150px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:11px;background:white}.lease-tenant-picker .checkbox span{color:var(--text);font-size:13px;font-weight:500}@media (max-width:760px){.location-actions{width:100%}.location-actions .button{flex:1 1;text-align:center}.location-property-head,.location-unit-row{align-items:flex-start;flex-direction:column}.location-unit-meta{min-width:0;width:100%;text-align:left;padding-left:54px}}.location-nav-button{min-width:112px;padding-left:16px;padding-right:16px}.location-property-link{min-height:42px;padding-left:16px;padding-right:16px;font-weight:750;white-space:nowrap}@media (max-width:760px){.location-property-link{width:100%;text-align:center}}.tenant-lease-history{display:grid;grid-gap:10px;gap:10px;padding-top:6px;border-top:1px solid var(--line)}.tenant-lease-history .section-title{margin:0}.tenant-lease-row{align-items:flex-start}.tenant-lease-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.unit-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.unit-hero-value{display:block;margin:7px 0 4px;font-size:22px;letter-spacing:-.03em}.unit-current-layout{margin-bottom:18px}.unit-contact-row,.unit-history-row{color:inherit}.unit-contact-row:hover,.unit-history-row:hover{background:#f8faf9}.unit-detail-list{display:grid;grid-gap:0;gap:0;border-top:1px solid var(--line)}.unit-detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.unit-detail-list span{color:var(--muted);font-size:12px}.unit-detail-list strong{text-align:right;font-size:13px}.unit-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.unit-empty-occupation .button{margin-top:8px}.unit-page-actions{flex-wrap:wrap}@media (max-width:1100px){.unit-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.unit-overview-grid{grid-template-columns:1fr}.unit-page-actions{width:100%}.unit-page-actions .button{flex:1 1;text-align:center}.unit-detail-list>div{align-items:flex-start;flex-direction:column;gap:4px}.unit-detail-list strong{text-align:left}.tenant-lease-links,.unit-inline-actions{flex-direction:column}.tenant-lease-links .text-link,.unit-inline-actions .button{width:100%}}.lease-rent-history{display:grid;grid-gap:10px;gap:10px}.lease-rent-toggle{align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#f8faf9}.lease-rent-toggle small,.lease-rent-toggle span,.lease-rent-toggle strong{display:block}.lease-rent-toggle small{margin-top:3px;color:var(--muted);font-weight:500;line-height:1.4}.lease-rent-summary{display:grid;grid-gap:4px;gap:4px;padding:10px 14px;border-left:3px solid var(--line)}.lease-rent-summary strong,.lease-rent-summary>span:not(.muted){font-size:12px}.lease-rent-change-list{display:grid;grid-gap:8px;gap:8px}.lease-rent-change-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.7fr) auto;grid-gap:8px;gap:8px;align-items:flex-end}@media (max-width:760px){.lease-rent-change-row{grid-template-columns:1fr}}.rule-suggestion-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.rule-suggestion-header h3{margin:0 0 4px}.rule-match-preview{display:grid;grid-gap:6px;gap:6px;max-height:220px;overflow:auto;padding:8px 0}.rule-match-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:12px}.rule-match-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-create-toggle{align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#f8faf9}.rule-create-toggle small,.rule-create-toggle span,.rule-create-toggle strong{display:block}.rule-create-toggle small{margin-top:3px;color:var(--muted);font-weight:500;line-height:1.4}.rule-inline-editor{display:grid;grid-gap:12px;gap:12px;padding-top:4px}.rule-result-preview{display:grid;grid-gap:3px;gap:3px;padding:10px 12px;border-left:3px solid var(--line)}.rule-result-preview small,.rule-result-preview span{color:var(--muted)}@media (max-width:760px){.rule-suggestion-header{display:grid}.rule-match-row{grid-template-columns:1fr}}.transaction-filters-compact{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center}.transaction-bulk-actions{margin-top:12px;margin-bottom:14px}.table-header-button,.table-header-select{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:4px 2px;cursor:pointer;max-width:170px}.table-header-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.table-header-select.active{color:var(--accent)}.transaction-edit-button{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:18px;line-height:1;cursor:pointer}.transaction-edit-button:hover{color:var(--accent)}@media (max-width:760px){.transaction-filters-compact{grid-template-columns:1fr}.transactions-table .table-header-select{max-width:120px}}.unit-history-button{width:100%;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.transaction-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-filter-card{font:inherit;color:inherit;text-align:left;cursor:pointer}.kpi-filter-card small{color:var(--muted);font-size:11px}.transactions-table .table-header-select{min-width:118px;max-width:190px;padding:7px 8px;font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}.transactions-table .table-header-select option{font-size:14px}.transaction-edit-button{border-color:#c5d2ce;background:#f4f8f7;color:var(--accent-strong);font-size:19px;font-weight:800;opacity:1;box-shadow:0 2px 8px rgba(27,54,47,.06)}.transaction-edit-button:hover{background:var(--accent-soft);border-color:var(--accent)}.budget-cell-button,.budget-summary-button{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.budget-cell-button{width:100%;text-align:right;font-weight:750;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:3px;-webkit-text-decoration-color:#a9bbb6;text-decoration-color:#a9bbb6}.budget-cell-button:hover,.budget-summary-button:hover{color:var(--accent-strong)}.budget-label-button{border:0;background:transparent;color:inherit;font:inherit;padding:0;text-align:left;cursor:pointer}.budget-label-button small,.budget-label-button strong{display:block}.budget-label-button small{margin-top:3px;color:var(--muted);font-size:11px}.budget-detail-list{display:grid;grid-gap:0;gap:0;margin-top:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.budget-detail-row{display:grid;grid-template-columns:100px minmax(180px,1fr) 105px 105px;grid-gap:12px;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}.budget-detail-row:last-child{border-bottom:0}.budget-detail-row span:nth-child(3),.budget-detail-row strong{text-align:right}.budget-detail-row small{color:var(--muted);font-size:11px}@media (max-width:1100px){.transaction-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.transaction-kpi-grid{grid-template-columns:1fr}.budget-detail-row{grid-template-columns:1fr auto}.budget-detail-row span:nth-child(3){text-align:left}}.transaction-edit-button svg{display:block}.rule-period-editor{display:grid;grid-gap:10px;gap:10px}.rule-period-preview{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.rule-period-preview small{color:var(--muted)}.rule-summary-button{display:grid;grid-gap:6px;gap:6px;flex:1 1;min-width:0;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.rule-summary-button strong{font-size:18px}.rule-summary-button span{color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rule-editor-section{display:grid;grid-gap:14px;gap:14px;border-top:1px solid var(--line);padding-top:18px}.rule-editor-section h3,.rule-editor-section p{margin:0}.rule-condition-summary{color:var(--muted);font-size:14px;line-height:1.6}.rule-impact-list{display:grid;grid-gap:8px;gap:8px}.rule-impact-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}.rule-impact-row strong{overflow-wrap:anywhere}.rule-list-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}@media (max-width:720px){.rule-impact-row{grid-template-columns:1fr;gap:5px}.rule-compact-row{align-items:flex-start;flex-direction:column}}.rules-intro{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:22px;border-radius:18px;background:var(--accent-soft)}.rules-intro strong{font-size:16px}.rules-intro p{margin:5px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.friendly-rule-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;color:var(--accent);background:var(--accent-soft)}.friendly-rule-icon svg{width:25px;height:25px}.friendly-rule-icon.period{color:#8b5d30;background:#faf1e4}.friendly-rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.friendly-rule-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 4px 20px rgba(25,55,45,.035);transition:border-color .18s,box-shadow .18s}.friendly-rule-card:hover{border-color:var(--accent);box-shadow:0 6px 24px rgba(25,55,45,.07)}.friendly-rule-main{display:flex;align-items:flex-start;gap:15px;width:100%;padding:22px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.friendly-rule-copy{min-width:0;flex:1 1}.friendly-rule-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.friendly-rule-title h3{margin:0;font-size:18px;line-height:1.3;overflow-wrap:anywhere}.friendly-rule-kind{font-size:11px;font-weight:600;padding:4px 8px;border-radius:20px;color:var(--accent);background:var(--accent-soft)}.friendly-rule-kind.period{color:#8b5d30;background:#faf1e4}.friendly-rule-outcome{font-size:14px;font-weight:600;margin:9px 0 6px}.friendly-rule-criteria{margin:0;color:var(--muted);font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.friendly-rule-chevron{font-size:25px;color:var(--muted)}.friendly-rule-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-top:1px solid var(--line);background:rgba(245,248,246,.55);font-size:12px}.friendly-rule-footer>span{display:flex;align-items:center;gap:6px;color:var(--muted)}.rule-active-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.friendly-rule-footer button{border:0;padding:5px 0;background:transparent;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.rules-empty{display:grid;justify-items:center;text-align:center;grid-gap:10px;gap:10px;padding:36px 20px}.rules-empty h3{margin:8px 0 0}.rules-empty p{color:var(--muted);max-width:360px}.rule-fields{display:grid;grid-gap:16px;gap:16px}.payment-agreements{border-top:1px solid var(--line);padding-top:20px}.payment-agreements .section-title{flex-wrap:wrap;gap:10px}.agreement-history{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px}.agreement-history p{overflow-wrap:anywhere}.agreement-history .expected-row{flex-wrap:wrap;gap:10px}.agreement-history summary{cursor:pointer;color:var(--accent-strong)}.rule-keywords{display:grid;grid-gap:7px;gap:7px;min-width:0}.rule-keywords>label{display:flex;justify-content:space-between;gap:12px}.rule-keywords>label small{color:var(--muted);font-weight:400}.keyword-box{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface)}.keyword-box:focus-within{border-color:var(--accent)}.keyword-chips{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.keyword-chips li{display:flex;align-items:center;gap:6px;max-width:100%;padding:4px 7px 4px 11px;border-radius:18px;background:var(--accent-soft);color:var(--accent-strong);font-size:13px}.keyword-chips li span{overflow-wrap:anywhere;min-width:0}.keyword-chips button{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font-size:20px}.keyword-chips button:hover{background:var(--surface)}.keyword-entry{display:flex;gap:8px;align-items:center;margin-top:8px}.rule-fields .keyword-entry input{border:0;background:transparent;flex:1 1;width:0;min-width:0;padding:8px 4px}.keyword-entry .button{flex-shrink:0}.rule-keywords>small[role=status]:empty{display:none}.rule-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.rule-fields-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-fields label{min-width:0}.rule-fields input,.rule-fields select{min-width:0;width:100%}.rule-fields label>span>small{font-weight:400;color:var(--muted)}.rule-type-choice{display:flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f7f9f8}.rule-type-choice button{flex:1 1;border:0;background:transparent;border-radius:9px;padding:10px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.rule-type-choice button.selected{background:white;color:var(--accent);font-weight:700;box-shadow:0 2px 7px rgba(20,40,30,.06)}.friendly-rule-section{display:grid;grid-gap:14px;gap:14px;border-top:1px solid var(--line);padding-top:18px}.rule-section-caption{display:flex;align-items:center;gap:9px}.rule-section-caption>span{font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);padding:5px 7px;border-radius:6px}.rule-section-caption strong{font-size:14px}.rule-date-options summary{color:var(--muted);font-size:13px;cursor:pointer}.rule-date-options[open] .rule-fields-grid{margin-top:12px}.rule-day-window{display:grid;grid-gap:9px;gap:9px}.rule-day-window>span{font-size:13px;color:var(--muted)}.rule-period-companion{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafcfb}.rule-period-companion .checkbox{align-items:flex-start}.rule-period-companion .checkbox>span{display:grid;grid-gap:4px;gap:4px}.rule-period-companion small{color:var(--muted);line-height:1.5}.rule-period-companion input[type=checkbox]{width:auto;flex:none}.rule-companion-body{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.friendly-rule-preview{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;background:var(--accent-soft);border-radius:14px}.friendly-rule-preview>div{display:grid;grid-gap:4px;gap:4px;font-size:14px}.friendly-rule-preview small{color:var(--muted);font-size:12px}.rule-viewer-backdrop{z-index:90}.rule-viewer-list{display:grid}.rule-viewer-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.rule-viewer-row>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.rule-viewer-row>div strong{font-size:14px;overflow-wrap:anywhere}.rule-viewer-row>div span{color:var(--muted);font-size:12px}.rule-viewer-row>strong{white-space:nowrap;font-size:14px}.rule-list-pagination{margin-top:16px}@media(max-width:850px){.friendly-rule-list{grid-template-columns:1fr}}@media(max-width:560px){.rules-intro{padding:16px;align-items:flex-start}.friendly-rule-main{padding:18px;gap:12px}.friendly-rule-title h3{font-size:17px}.friendly-rule-footer{padding:12px 18px}.rule-fields-grid{grid-template-columns:1fr}.friendly-rule-preview{align-items:flex-start;flex-direction:column}.rule-viewer-row{gap:10px}}.friendly-rule-card{display:flex;flex-direction:column}.friendly-rule-main{flex:1 1}.friendly-rule-editor{display:flex;flex-direction:column;overflow:hidden}.friendly-rule-editor>.dialog-actions,.friendly-rule-editor>.dialog-header{flex:none}.friendly-rule-editor>.rule-fields{min-height:0;overflow-y:auto;padding:0 3px 8px 0}.friendly-rule-period-window{margin:0 0 6px;color:#8b5d30;font-size:12px;line-height:1.5}.budget-transaction-link{display:block;font-weight:750;color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.budget-detail-row span:nth-child(2) small{display:block;margin-top:4px}.budget-detail-pagination{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}.budget-cell-button:focus-visible,.budget-summary-button:focus-visible,.budget-transaction-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.budget-detail-row>span:nth-child(3) small{display:block}.budget-detail-pagination>span{white-space:nowrap;font-size:13px}@media (max-width:760px){.budget-detail-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px}.budget-detail-row>span:first-child{white-space:nowrap;font-size:13px}.budget-transaction-link{overflow-wrap:anywhere}.budget-detail-pagination{gap:8px}.budget-detail-pagination .button{padding:10px;font-size:13px}}.unit-history-button{background:transparent;border-radius:8px;padding:12px}.unit-history-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.location-unit-main>div .person-occupancy-badge{display:inline-flex;margin:0 0 0 8px;vertical-align:middle}.rule-effect-detail{display:grid;grid-gap:4px;gap:4px;margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--accent-soft)}.rule-effect-detail>strong{font-size:12px}.rule-viewer-row .rule-effect-detail>span{overflow-wrap:anywhere;color:var(--text);font-size:12px}.person-roles{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.person-roles legend{font-weight:700;padding:0 6px}.person-contribution-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:12px 0}.person-contribution-totals strong{display:block;margin-top:4px}@media(max-width:600px){.person-contribution-totals{grid-template-columns:1fr}}.person-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.person-occupancy-control small{display:block;margin-top:4px;font-size:12px;font-weight:400;line-height:1.4}.budget-detail-amount-selection{display:flex;justify-content:flex-end;align-items:center;gap:14px}input.budget-transaction-radio{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:18px;height:18px;min-width:18px;padding:0;margin:0;border:0;border-radius:50%;background:none;accent-color:var(--accent);cursor:pointer;box-shadow:none}input.budget-transaction-radio:focus{box-shadow:none}input.budget-transaction-radio:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (min-width:761px){.budget-detail-row:has(.budget-transaction-radio){grid-template-columns:100px minmax(180px,1fr) 105px 145px}}.document-file-button{position:relative;cursor:pointer}.document-file-button input[type=file]{position:absolute;width:1px;height:1px;padding:0;opacity:0;overflow:hidden}.document-file-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}.unit-dossier-tabs{display:flex;flex-wrap:wrap;gap:24px;margin:24px 0;border-bottom:1px solid var(--line)}.dossier-modal>h3{margin-top:24px}.dossier-modal .status-row{width:100%;text-align:left}.dossier-tabs{display:flex;flex-wrap:wrap;gap:24px;margin:22px 0 16px;border-bottom:1px solid var(--line)}.dossier-disclosure{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0}.dossier-disclosure>summary{cursor:pointer;font-weight:650;color:var(--text)}.dossier-disclosure[open]>summary{margin-bottom:16px}.dossier-disclosure>label{margin-top:12px}.location-people-card{margin-top:24px}.location-people-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.location-people-head h2{margin:0 0 6px}.location-people-head p{margin:0;color:var(--muted);font-size:13px}.location-people-summary{display:flex;flex-wrap:wrap;gap:16px 32px;margin:20px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.location-people-summary div{display:flex;flex-direction:column;gap:4px}.location-people-summary dt{color:var(--muted);font-size:13px}.location-people-summary dd{margin:0;font-weight:600;font-size:20px}.location-owner-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.location-owner{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;cursor:pointer;text-align:left;font:inherit}.location-owner:hover{border-color:var(--accent);background:var(--accent-soft)}.location-owner>span:first-child{display:flex;flex-direction:column;gap:5px}.location-owner>span:first-child>span{color:var(--muted);font-size:13px}.dossier-header-actions{display:flex;flex-wrap:wrap;gap:8px}.lease-dossier-summary{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;grid-gap:20px;gap:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--accent-soft);margin:16px 0 20px}.lease-dossier-summary h3{font-size:23px;margin:4px 0 10px}.lease-dossier-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;grid-gap:14px;gap:14px;margin:0}.lease-dossier-facts>div:last-child{grid-column:1/-1}.lease-dossier-facts dt{color:var(--muted);font-size:12px;margin-bottom:4px}.lease-dossier-facts dd{font-size:15px;font-weight:650;margin:0}.lease-dossier-people h3{margin:0 0 12px;font-size:16px}.lease-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.lease-contact-grid:has(>:only-child){grid-template-columns:1fr}.lease-contact{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.lease-contact-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-bottom:8px}.lease-contact-heading .muted{font-size:12px}.lease-contact-details{display:flex;flex-wrap:wrap;gap:6px 20px;margin:8px 0;font-size:14px;overflow-wrap:anywhere}.lease-contact-details a{color:var(--text)}.lease-contact-details a:hover{text-decoration:underline}.lease-reference{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.lease-reference h4{margin:0 0 6px;font-size:13px;color:var(--muted)}@media(max-width:760px){.location-people-head{align-items:flex-start;flex-direction:column;gap:12px}.lease-contact-grid,.lease-dossier-summary{grid-template-columns:1fr}.dossier-tabs,.unit-dossier-tabs{gap:16px}}.lease-lifecycle-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.lease-lifecycle-hint{font-size:13px;margin:0 0 16px}.lease-termination-summary{border:1px solid var(--line);border-radius:12px;padding:14px;margin:16px 0}.lease-termination-summary h3{margin:0 0 8px;font-size:16px}.person-dossier-summary{display:grid;grid-template-columns:1fr 1.3fr;grid-gap:20px;gap:20px;margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--accent-soft)}.person-role-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.person-dossier-summary dd{overflow-wrap:anywhere}.person-occupation .status-row>span:first-child{display:flex;flex-direction:column;gap:6px}.person-occupation .status-row>span:last-child{text-align:right;font-size:13px}.person-follow-up-list{display:grid;grid-gap:12px;gap:12px}.person-follow-up,.person-follow-up-editor{padding:16px;border:1px solid var(--line);border-radius:12px}.person-follow-up-editor{margin-bottom:16px}.person-follow-up-actions{display:flex;flex-wrap:wrap;gap:10px}.person-follow-up p,.person-general-notes p,.person-preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.person-dossier-summary{grid-template-columns:1fr}.person-occupation .status-row{align-items:flex-start;flex-direction:column}.person-occupation .status-row>span:last-child{text-align:left}}.person-dossier-summary h3{font-size:23px;margin:4px 0 10px;line-height:1.3;overflow-wrap:anywhere}.documents-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}.documents-toolbar>p{margin:0;font-size:13px}.document-list{display:grid;grid-gap:12px;gap:12px}.document-row{padding:16px;margin:0}.document-more{padding:0 8px;font-weight:700;font-size:24px;line-height:28px;color:var(--muted);border-radius:6px}.document-more:hover{background:var(--accent-soft)}.document-contexts{margin:10px 0}.document-contexts p,.document-event-date{margin:4px 0;font-size:13px;color:var(--text);overflow-wrap:anywhere}.document-original-name{font-size:12px;overflow-wrap:anywhere;margin:10px 0 0}.document-description{white-space:pre-wrap;overflow-wrap:anywhere}.document-empty,.document-notice{font-size:13px}.document-context-filter,.document-editor-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:13px}.document-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:760px){.document-context-filter,.document-editor-link{align-items:flex-start;flex-direction:column}.document-menu-items{min-width:200px;max-width:calc(100vw - 64px)}}.dossier-section{margin-top:24px}.lease-period-history{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px}.lease-period-history h3{flex-basis:100%;margin:0 0 4px}.lease-action-menu{width:max-content;margin:0 0 12px auto}.dossier-header-actions{align-items:center;justify-content:flex-end}.dossier-modal>.section-title{align-items:flex-start;gap:16px}.person-occupation .status-row{gap:16px;align-items:center;justify-content:space-between;padding:12px 0}.dossier-modal .lease-dossier-facts dd{overflow-wrap:anywhere}.document-group{display:grid;grid-gap:12px;gap:12px}.document-group>h3{margin:10px 0 0;font-size:15px}.dossier-document-links{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.person-contact-fields{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.person-phone-field{width:100%;max-width:320px}.person-editor-modal .tenant-lease-history{margin:0;padding-top:20px}.person-editor-modal .tenant-lease-history h3{margin:0 0 12px}.person-editor-modal .payment-agreements{padding-top:20px}.person-editor-modal .payment-agreements>.section-title{align-items:center;gap:16px;margin:0 0 16px}.person-editor-modal .payment-agreements>.muted,.person-editor-modal .payment-agreements>.section-title h3{margin:0}.person-delete-explanation{margin:20px 0 0;font-size:12px}.lease-period-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.person-editor-modal .tenant-lease-links{align-items:center}.document-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:8px 0 12px}.document-filters label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.document-filters select{width:auto;max-width:100%;padding:8px 30px 8px 10px}.documents-library>.dossier-tabs{margin-bottom:10px}.unit-dossier-tabs:has(+.documents-library){margin-bottom:12px}.settings-backups{margin-bottom:24px;scroll-margin-top:24px}.settings-backups>h2{margin-bottom:12px}.document-association-controls{display:flex;align-items:center;gap:10px;margin-top:10px}.document-association-controls select{min-width:0;flex:1 1}.document-association-picker{display:grid;grid-gap:8px;gap:8px}.document-association-picker h3{margin:0}.document-saved-links,.transaction-documents{border-top:1px solid var(--line)}.transaction-documents{padding-top:16px;margin-top:16px;min-width:0}.transaction-documents .section-title{flex-wrap:wrap;gap:10px}.transaction-document-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 0}.transaction-document-row>span{flex:1 1 200px;overflow-wrap:anywhere}.transaction-receipt-draft p{overflow-wrap:anywhere}.rule-suggestion{padding:16px;margin:0}.rule-suggestion-header h3{font-size:15px;margin:0}.report-year{min-width:130px}.report-detail-context,.report-period,.report-preparation-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.report-period{color:var(--muted);font-size:13px}.annual-workspace [role=tabpanel]{display:grid;grid-gap:var(--space-5);gap:var(--space-5);margin-top:var(--space-5)}.annual-workspace [role=tabpanel]>.kpi-grid{margin:0}.report-preparation-links{margin-top:var(--space-3)}.report-preparation .field-help{margin-bottom:0}.report-row-meta{display:block;color:var(--muted);font-size:12px;margin-top:var(--space-1);line-height:1.5}.report-empty{padding:var(--space-4) 0 0}.report-detail-context{margin-bottom:var(--space-4)}.report-evidence-actions{margin-top:var(--space-4)}.annual-workspace [role=tabpanel]>.card{margin-bottom:0}.batch-payment-list{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:var(--control-radius);padding:var(--space-3)}.batch-payment-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.batch-payment-row>span:not(.money){flex:1 1;min-width:0;overflow-wrap:anywhere;margin:0}.batch-payment-row>.money{flex:none;color:var(--text);margin:0;font-size:13px;white-space:nowrap}.mortgage-dossier-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.document-saved-links{max-height:240px;overflow:auto}.report-evidence-group{border-top:1px solid var(--line);padding-top:var(--space-4)}.report-evidence-group h3{margin:0}.report-evidence-group .section-title{flex-wrap:wrap;gap:var(--space-3)}.report-evidence-group .section-title p{margin:var(--space-1) 0 0}