body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--paper:#F1ECE1;--panel:#FBF8F1;--panel-2:#F6F1E6;--ink:#1B1813;--text:#1B1813;--muted:#877F70;--faint:#A89F8E;--border:rgba(27,24,19,.14);--line:#1B1813;--hair:rgba(27,24,19,.1);--accent:#5C6B3C;--accent-soft:#E8EBD9;--forest:#2E4636;--forest-soft:#E0E6DE;--gold:#94661B;--gold-soft:#EFE5CE;--good:#2E4636;--warn:#94661B;--danger:#8E2C22;--bg:var(--paper);--radius:3px;--shadow:0 1px 2px rgba(40,30,20,.04),0 12px 30px -18px rgba(40,30,20,.16);--display:"Cormorant Garamond",Georgia,serif;--ui:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:14px;-webkit-font-smoothing:antialiased}#root{height:100vh}h1{font-family:var(--display);font-size:46px;font-weight:500;margin:0;letter-spacing:-.01em;line-height:1.02}h2{margin:0}.muted{color:var(--muted)}.pos{color:var(--forest)}.neg{color:var(--danger)}.mono,.num{font-variant-numeric:tabular-nums}button{font-family:inherit}button{background:var(--accent);color:#fbf8f1;border:none;border-radius:var(--radius);padding:11px 20px;font-weight:600;cursor:pointer;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;transition:filter .14s,background .14s}button:hover{filter:brightness(1.08)}button:active{filter:brightness(.94)}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button.secondary:hover{background:var(--ink);color:var(--panel);filter:none}button.ghost{background:transparent;color:var(--accent);padding:7px 12px;letter-spacing:.08em}button.ghost:hover{background:var(--accent-soft);filter:none}button:disabled{opacity:.45;cursor:not-allowed;filter:none}button.btn-sm{padding:5px 11px;font-size:11px;letter-spacing:.03em;text-transform:none;border-radius:4px}button.ghost.btn-sm{padding:5px 9px}.btn-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.icon-btn{background:transparent;color:var(--muted);border:none;padding:6px;border-radius:var(--radius);font-size:14px;line-height:1;letter-spacing:0;text-transform:none}.icon-btn:hover{background:var(--panel-2);filter:none}.danger-btn:hover{background:#f3e0db;color:var(--danger)}button.danger-solid{background:var(--danger);color:#fbf8f1}button.danger-solid:hover{filter:brightness(1.07)}.row-gap{display:flex;gap:10px}.badge{display:inline-block;padding:3px 9px;border-radius:2px;font-size:10px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.1em}.badge.good{background:var(--forest-soft);color:var(--forest)}.badge.warn{background:var(--gold-soft);color:var(--gold)}.badge.danger{background:#f3e0db;color:var(--danger)}.badge.info{background:#eae4d6;color:#6e6655}.note-msg{display:block;border-radius:3px;padding:8px 11px;font-size:12px;font-weight:600;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.note-msg.warn{background:var(--gold-soft);color:var(--gold)}.note-msg.danger{background:#f3e0db;color:var(--danger)}.note-msg.info{background:var(--accent-soft);color:var(--accent)}.month-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.month-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);cursor:pointer;font-family:var(--ui);line-height:1.15;transition:border-color .12s ease,background .12s ease}.month-cell:hover:not(:disabled){border-color:var(--accent)}.month-cell:disabled{opacity:.55;cursor:default}.month-cell .month-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.month-cell .month-amt{font-size:12.5px;color:var(--ink)}.month-cell.paid{background:var(--forest-soft);border-color:var(--forest)}.month-cell.paid .month-label,.month-cell.paid .month-amt{color:var(--forest);font-weight:700}.month-cell.late{background:var(--gold-soft);border-color:var(--gold)}.month-cell.late .month-label,.month-cell.late .month-amt{color:var(--gold);font-weight:700}.month-cell.outside{background:transparent;border-style:dashed;cursor:default;opacity:.7}.month-cell.outside .month-amt{color:var(--muted)}.month-cell.current{box-shadow:0 0 0 2px var(--accent)}@media(max-width:680px){.month-grid{grid-template-columns:repeat(3,1fr)}}.rent-roll th,.rent-roll td{text-align:center;vertical-align:middle;padding-left:5px;padding-right:5px}.rent-roll th:first-child,.rent-roll td:first-child{text-align:left;padding-left:16px}.rent-roll th:last-child,.rent-roll td:last-child{padding-right:16px}.rr-mhead{display:flex;flex-direction:column;align-items:center;gap:3px}.rr-all{padding:1px 6px;font-size:10px;line-height:1.5;text-transform:none;letter-spacing:0}.rr-cell{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;min-width:30px;min-height:26px;padding:2px 3px;line-height:1.1;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);cursor:pointer;color:var(--faint);font-weight:700;font-family:var(--ui)}.rr-cell:hover:not(:disabled){border-color:var(--accent)}.rr-cell:disabled{opacity:.55;cursor:default}.rr-cell.paid{background:var(--forest-soft);border-color:var(--forest);color:var(--forest)}.rr-cell.late{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}.rr-cell.rr-step{box-shadow:inset 3px 0 0 var(--accent)}.rr-cell.vacant,.rr-cell.outside{cursor:default;background:transparent;border-style:dashed}.rent-roll th.rr-current{box-shadow:inset 0 -2px 0 var(--accent)}.rent-roll tr.rr-vacant td{opacity:.72}span.rr-cell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.rr-cell.partial{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}.rr-cell.pool{cursor:default;border-style:dashed;opacity:.72}.rr-cell.abated{cursor:default}button.rr-cell.abated{cursor:pointer}.rr-amt{font-size:9.5px;font-weight:700;line-height:1;margin-top:1px;opacity:.9;white-space:nowrap;font-variant-numeric:tabular-nums}.rr-cell.paid{min-width:46px}.rr-amt.under{color:var(--gold);opacity:1}.rr-amt.over{opacity:1}.rr-cell.recv{background:var(--gold-soft);border-color:var(--gold);color:var(--gold);border-style:dashed;min-width:46px}.rr-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0 14px;font-size:11.5px;color:var(--faint)}.rr-key-label{font-family:var(--ui);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.rr-key-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.rr-key .rr-cell{cursor:default;pointer-events:none;min-height:22px}.rr-key-note{flex-basis:100%;font-size:11px;color:var(--faint)}.rent-roll th.rr-owes,.rent-roll td.rr-owes{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rr-split{color:var(--faint);font-size:11px;margin-top:2px;white-space:nowrap}.rr-step-note{color:var(--accent);font-size:11px;margin-top:2px;white-space:nowrap;font-weight:600}.rr-tenant{color:inherit;text-decoration:none}.rr-tenant:hover{color:var(--accent)}.rr-collected{white-space:nowrap}.rr-progress{height:4px;border-radius:3px;background:var(--panel-2);border:1px solid var(--border);overflow:hidden;margin:3px 0 2px}.rr-progress>span{display:block;height:100%;background:var(--forest)}.rr-collected-sub{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:11px;margin-top:1px}.rr-credit{color:var(--forest);background:var(--forest-soft);border-radius:10px;padding:0 6px;font-size:10px;font-weight:700;white-space:nowrap}.rr-behind{color:var(--danger);background:#f3e0db;border-radius:10px;padding:0 6px;font-size:10px;font-weight:700;white-space:nowrap}.rr-short{color:var(--gold);background:var(--gold-soft);border-radius:10px;padding:0 6px;font-size:10px;font-weight:700;white-space:nowrap}.rr-over{color:var(--forest);background:var(--forest-soft);border-radius:10px;padding:0 6px;font-size:10px;font-weight:700;white-space:nowrap}.rent-roll tr.rr-totals td{border-top:1px solid var(--border);padding-top:8px}.stmt-propline{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 10px}.stmt-group{margin-top:14px}.stmt-table th,.stmt-table td{vertical-align:middle}.stmt-table th:first-child,.stmt-table td:first-child,.stmt-table th:last-child,.stmt-table td:last-child{text-align:center;width:1%;white-space:nowrap}.stmt-table td.stmt-desc{min-width:200px;max-width:340px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}.stmt-table select.text-input{font-size:12.5px;padding:4px 6px;max-width:230px}tr.stmt-off td{opacity:.55}.stmt-footer{margin-top:16px;border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.stmt-mismatch{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:5px}.stmt-mismatch-chip{display:inline-block;background:var(--gold-soft);color:var(--gold);border-radius:3px;padding:3px 7px;font-size:10.5px;font-weight:700;line-height:1.35;white-space:normal;font-variant-numeric:tabular-nums}.stmt-auto{font-size:10px;font-style:italic;letter-spacing:.02em}.stmt-learn{font-size:10px;font-style:italic;line-height:1.3;margin-top:3px;color:var(--faint)}.stmt-monthhint{color:var(--faint);font-size:10px;line-height:1.3;margin-top:2px}.stmt-ai-row{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}button.stmt-ai{background:var(--accent-soft);color:var(--accent);border:1px solid transparent;padding:5px 10px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:none;border-radius:var(--radius)}button.stmt-ai:hover:not(:disabled){border-color:var(--accent);filter:none}.stmt-ai-n{display:inline-block;margin-left:4px;background:var(--panel);border-radius:8px;padding:0 5px;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.stmt-month{margin-top:18px}.stmt-month-head{font-weight:600}.stmt-month-body{margin-left:6px;padding-left:10px;border-left:2px solid var(--border)}.stmt-month-body .stmt-group{margin-top:10px}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:244px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 16px;transition:width .18s ease,padding .18s ease}.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:.02em;padding:2px 8px 22px}.brand-mark{width:30px;height:30px;border-radius:2px;background:var(--accent);display:grid;place-items:center;overflow:hidden}.brand-mark svg{display:block;width:100%;height:100%}.side-nav{display:flex;flex-direction:column;gap:2px}.side-item{display:flex;align-items:center;gap:11px;background:transparent;color:var(--ink);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;justify-content:flex-start;padding:11px 13px;border-radius:var(--radius);text-decoration:none}.side-item:hover{background:var(--panel-2);filter:none}.side-item.active{background:var(--accent);color:#fbf8f1}.si-ico{width:17px;height:17px;flex-shrink:0;display:block;opacity:.78}.side-item.active .si-ico{opacity:1}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:18px}.side-alerts{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:6px}.side-alerts-h{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--faint)}.side-alert{display:flex;align-items:center;gap:9px;background:transparent;color:var(--ink);font-weight:500;font-size:12.5px;padding:6px;border-radius:var(--radius);justify-content:flex-start;text-align:left;text-transform:none;letter-spacing:0;border:none;cursor:pointer;width:100%}.side-alert:hover{background:var(--panel-2);filter:none}.side-alert-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--muted)}.dot.warn{background:var(--gold)}.dot.danger{background:var(--danger)}.reset-btn{display:flex;align-items:center;gap:9px;justify-content:flex-start;background:transparent;color:var(--muted);border:1px solid var(--border);font-size:10.5px;font-weight:600;letter-spacing:.08em;padding:9px;text-decoration:none;text-align:left;overflow:hidden}.reset-btn:hover{background:var(--panel-2);filter:none}.reset-btn .side-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sidebar.collapsed{width:72px;padding:24px 12px}.sidebar.collapsed .brand{justify-content:center;padding:2px 0 22px;gap:0}.sidebar.collapsed .side-item{justify-content:center;padding:11px 0}.sidebar.collapsed .reset-btn{justify-content:center;gap:0;padding:9px 0}.sidebar.collapsed .side-label{display:none}.collapse-toggle{margin-top:2px;color:var(--faint)}.collapse-toggle .si-ico{transition:transform .18s ease}.sidebar.collapsed .collapse-toggle .si-ico{transform:rotate(180deg)}.side-item-wrap{position:relative;display:block}.side-flyout{position:absolute;top:-6px;left:calc(100% - 2px);z-index:60;min-width:214px;max-width:264px;max-height:72vh;overflow-y:auto;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease}.side-item-wrap:hover .side-flyout,.side-item-wrap:focus-within .side-flyout{opacity:1;visibility:visible;pointer-events:auto;transform:none}.side-flyout-corp+.side-flyout-corp{border-top:1px solid var(--hair);margin-top:5px;padding-top:6px}.side-flyout-head{display:block;padding:6px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-flyout-head:hover,.side-flyout-head:focus{background:var(--panel-2);color:var(--accent);outline:none}.side-flyout-item{display:block;padding:5px 10px 5px 22px;border-radius:6px;color:var(--muted);text-decoration:none;font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-flyout-item:hover,.side-flyout-item:focus{background:var(--panel-2);color:var(--accent);outline:none}.side-flyout-lease{display:block;padding:4px 10px 4px 34px;border-radius:6px;color:var(--faint);text-decoration:none;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-flyout-lease:hover,.side-flyout-lease:focus{background:var(--panel-2);color:var(--accent);outline:none}.main-col{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:62px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--panel);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:18px}.topbar-right{display:flex;align-items:center;gap:22px}.year-sel{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.year-sel select{font-family:var(--ui);font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius);padding:7px 9px;background:var(--panel);color:var(--ink)}.content{flex:1;overflow:auto;padding:34px 40px 72px}.crumbs{display:flex;align-items:center;gap:5px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap}.crumb{display:flex;align-items:center;gap:5px}.crumb-link{background:transparent;color:var(--muted);padding:3px 4px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;border:none;cursor:pointer;text-decoration:none}.crumb-link:hover{color:var(--accent);background:transparent;filter:none}.crumb-cur{font-weight:700;padding:3px 4px;color:var(--ink)}.crumb-sep{color:var(--faint)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}.page-head h1{margin-bottom:0}.page-head .muted{margin-top:8px;font-size:14px;letter-spacing:.01em}.head-actions{display:flex;gap:10px}.corp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.corp-card{display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;text-align:left;color:var(--ink);box-shadow:var(--shadow);font-weight:400;text-transform:none;letter-spacing:0;text-decoration:none;cursor:pointer;width:100%}.corp-card>.corp-info{min-width:150px}.corp-card:hover{border-color:var(--accent);filter:none}.corp-card.fin{align-items:stretch;flex-wrap:wrap;container-type:inline-size}.corp-list{display:flex;flex-direction:column;gap:10px}.corp-row{display:flex;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;text-align:left;color:var(--ink);font-weight:400;text-transform:none;letter-spacing:0;text-decoration:none;cursor:pointer;width:100%}.corp-row:hover{border-color:var(--accent);filter:none}.corp-badge{width:46px;height:46px;border-radius:2px;background:var(--accent);color:#fbf8f1;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:17px;flex-shrink:0;letter-spacing:.02em}.corp-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.corp-info strong{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.corp-info .muted{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.chevron{color:var(--faint);font-size:22px;flex-shrink:0;font-family:var(--display)}.corp-fin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}.corp-card.fin .corp-fin{border-top:1px solid var(--border);padding-top:14px;width:100%}.corp-row.fin .corp-fin{margin-left:auto}.corp-head{display:flex;align-items:center;gap:16px;width:100%;flex-wrap:wrap}.corp-head .corp-info{flex:1;min-width:150px}.corp-head .corp-info strong{white-space:normal;overflow:visible}.corp-row.fin{flex-wrap:wrap}.corp-row.fin .corp-head{flex:1;min-width:230px}.corp-fin>div{display:flex;flex-direction:column;gap:3px;min-width:0}.corp-fin .muted{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em}.corp-fin b{font-family:var(--display);font-size:clamp(13px,4.5cqw,20px);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.corp-card.fin .chevron{display:none}.corp-card.has-flyout,.prop-card.has-flyout{position:relative}.corp-flyout{position:absolute;top:calc(100% - 4px);left:0;right:0;z-index:30;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;margin-top:4px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.corp-card.has-flyout:hover .corp-flyout,.corp-card.has-flyout:focus-within .corp-flyout,.prop-card.has-flyout:hover .corp-flyout,.prop-card.has-flyout:focus-within .corp-flyout{opacity:1;visibility:visible;pointer-events:auto;transform:none}.corp-flyout-head{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);padding:2px 8px 4px}.corp-flyout-item{display:block;padding:8px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.corp-flyout-item:hover,.corp-flyout-item:focus{background:var(--panel-2);color:var(--accent);outline:none}.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.prop-card{display:flex;flex-direction:column;gap:9px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;text-align:left;color:var(--ink);box-shadow:var(--shadow);font-weight:400;align-items:stretch;text-transform:none;letter-spacing:0;text-decoration:none;cursor:pointer}.prop-card:hover{border-color:var(--accent);filter:none}.prop-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.prop-card-head strong{font-family:var(--display);font-size:22px;font-weight:600}.prop-addr{font-size:12.5px;letter-spacing:.01em}.prop-card-stats,.fin-mini{display:flex;gap:20px;margin-top:8px;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:12px}.prop-card-stats>div,.fin-mini>div{display:flex;flex-direction:column;gap:2px}.prop-card-stats .muted,.fin-mini .muted{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em}.prop-card-stats b,.fin-mini b{font-family:var(--display);font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.fin-mini{gap:14px 26px}.alert-stack{display:flex;flex-direction:column;gap:11px;margin-bottom:26px}.callout{border:1px solid var(--border);border-left:3px solid var(--forest);background:var(--panel);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.callout.warn{border-left-color:var(--gold)}.callout.danger{border-left-color:var(--danger)}.between{display:flex;justify-content:space-between;align-items:center;gap:16px}.alert-main{min-width:0}.alert-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.alert-title strong{font-family:var(--display);font-size:19px;font-weight:600}.alert-ico{width:22px;height:22px;border-radius:2px;background:var(--panel-2);display:grid;place-items:center;font-size:12px;flex-shrink:0}.alert-main .muted{font-size:13.5px;margin-top:5px}.lease-list{display:flex;flex-direction:column;gap:9px}.lease-row{display:grid;grid-template-columns:1.6fr 1fr .9fr 1.1fr 1fr 1.15fr auto;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:17px 22px;text-align:left;color:var(--ink);font-weight:400;text-transform:none;letter-spacing:0;text-decoration:none;cursor:pointer}.lease-row:hover{border-color:var(--accent);filter:none}.lease-row[draggable=true]{cursor:grab}.lease-row.dragging{opacity:.5;border-style:dashed}.lease-row.drag-over{border-color:var(--accent);box-shadow:0 -2px 0 0 var(--accent) inset}.lease-sortbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.lease-sortbar label{display:flex;align-items:center;gap:8px;margin:0}.lease-sortbar .muted{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.lease-sortbar select{max-width:180px;padding:6px 10px}.sort-dir{padding:6px 12px}.sortbar-hint{font-size:11px}.lease-row.empty-slot{grid-template-columns:1.6fr 1fr 1fr 1fr auto;border-style:dashed;background:transparent;align-items:center;cursor:pointer}.lease-row.empty-slot:hover{border-color:var(--accent);background:var(--accent-soft)}.lease-row.empty-slot .lease-name strong{color:var(--muted);font-style:italic}.slot-cta{display:flex;align-items:center;gap:9px;color:var(--accent);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.slot-plus{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--accent);border-radius:50%;font-size:15px;flex-shrink:0}.lease-name{display:flex;flex-direction:column;gap:3px}.lease-name strong{font-family:var(--display);font-size:20px;font-weight:600}.lease-name .muted{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.lease-col{display:flex;flex-direction:column;gap:2px}.lease-col .muted{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em}.lease-col b{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums}.psf-sub{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:1px}.est-tag{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.04em}.ask-page h1{display:flex;align-items:center;gap:9px}.ask-page h1 .si-ico{width:22px;height:22px;color:var(--gold)}.ask-form{display:flex;gap:10px;align-items:center;margin:6px 0 12px;max-width:680px}.ask-input{flex:1}.ask-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}.ask-chip{display:inline-block;padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;text-transform:none;letter-spacing:0;text-decoration:none;line-height:1.5}.ask-chip:hover{background:var(--gold-soft);border-color:var(--gold)}.ask-chip:disabled{opacity:.5;cursor:default}.ask-log{margin-top:20px;display:flex;flex-direction:column;gap:14px}.ask-entry{border:1px solid var(--border);border-radius:8px;overflow:hidden}.ask-q{background:var(--bg-soft,#f6f5f2);padding:10px 14px;font-weight:600;font-size:13.5px}.ask-a{padding:12px 14px}.ask-a-head{font-family:var(--display);font-size:14px;margin-bottom:6px}.ask-a-body{white-space:pre-wrap;font-size:13.5px;line-height:1.6;color:var(--ink)}.ask-jump{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid var(--border);font-size:12.5px}.ask-empty{margin-top:22px}.ask-log-head{display:flex;justify-content:flex-end;margin-top:18px;margin-bottom:-6px}.ask-docs-btn{margin-top:14px;text-transform:none;letter-spacing:0;font-size:13px}.ask-docs-btn .muted{font-weight:400}.ask-docs-link{margin-top:12px;font-size:12.5px}.ask-docs-answer{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.cam-block{border-top:1px solid var(--border);padding-top:20px}.cam-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.cam-head strong{font-family:var(--display);font-size:19px;font-weight:600}.cam-table{display:flex;flex-direction:column}.cam-row{display:grid;grid-template-columns:1fr 170px 110px 34px;gap:14px;align-items:center;padding:7px 0;border-bottom:1px solid var(--hair)}.cam-row.cam-th{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;padding-bottom:10px;border-bottom:1px solid var(--line)}.cam-row.cam-th .num,.cam-row .num{text-align:right}.cam-row.last{border-bottom:none}.cam-row.cam-total{border-bottom:none;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}.cam-row.cam-total b{font-family:var(--display);font-size:18px;font-weight:600}.cam-input{font-family:inherit;font-size:14px;padding:9px 11px;border:1px solid transparent;border-radius:var(--radius);background:var(--panel-2);color:var(--ink);width:100%;outline:none}.cam-input:hover{border-color:var(--border);background:#fff}.cam-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.cam-input.num{text-align:right;font-variant-numeric:tabular-nums}.cam-amt{display:flex;align-items:center;position:relative}.cam-amt .cam-pre{position:absolute;left:11px;color:var(--muted);font-size:14px;pointer-events:none}.cam-amt .cam-input{padding-left:21px}.cam-psf{color:var(--muted);font-size:13.5px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--hair)}.panel-head strong{font-family:var(--display);font-size:21px;font-weight:600}.panel-head .muted{font-size:12px}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:8px}.field-value{font-size:16px;font-weight:600;padding:9px 11px;border:1px solid transparent;border-radius:var(--radius);cursor:text;display:flex;align-items:center;gap:6px;background:var(--panel-2)}.field-value:hover{border-color:var(--border);background:#fff}.field-value .edit-pencil{opacity:0;color:var(--muted);font-size:11px;margin-left:auto}.field-value:hover .edit-pencil{opacity:1}.field-input{font-family:inherit;font-size:16px;font-weight:600;padding:9px 11px;border:1px solid var(--accent);border-radius:var(--radius);background:#fff;color:var(--ink);width:100%;outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.field-review .field-value{background:var(--gold-soft);border-color:#dcc89a}.field-hint{font-size:11.5px}.seg{display:inline-flex;align-self:flex-start;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--panel-2)}.seg-btn{background:transparent;color:var(--muted);border:none;border-radius:0;padding:9px 16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.seg-btn:hover{background:var(--panel);color:var(--ink);filter:none}.seg-btn.on,.seg-btn.on:hover{background:var(--accent);color:#fbf8f1}.esc-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:20px;align-items:end;padding:14px 0;border-top:1px solid var(--hair)}.esc-calc{display:flex;flex-direction:column;gap:5px}.esc-calc .muted{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em}.esc-calc b{font-family:var(--display);font-size:19px;font-weight:600}.empty-line{padding:6px 0;font-size:14px}.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.metric{background:var(--panel);border:1px solid var(--border);border-top:2px solid var(--border);border-radius:var(--radius);padding:18px 20px}.metric .label{color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.metric .value{font-family:var(--display);font-size:32px;font-weight:600;margin-top:8px;font-variant-numeric:tabular-nums;line-height:1}.metric-sub{font-size:11.5px;color:var(--muted);margin-top:6px}.metric-group{margin-bottom:28px}.fin-subhead{font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:700;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--hair)}.notify-info{margin-top:14px;padding:12px 14px;border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--hair)}.notify-list{margin-top:6px}.notify-row{display:grid;grid-template-columns:1fr 168px;gap:6px 20px;align-items:start;padding:12px 0;border-bottom:1px solid var(--hair)}.notify-row:last-child{border-bottom:none}.notify-label{font-weight:600;font-size:13.5px}.notify-hint{color:var(--muted);font-size:11.5px;margin-top:3px;line-height:1.4}.notify-input .text-input{width:100%;padding:8px 10px;font-variant-numeric:tabular-nums}.notify-reading{color:var(--muted);font-size:11px;margin-top:4px;min-height:15px;font-variant-numeric:tabular-nums}.notify-reading.bad{color:var(--gold)}.notify-save{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notify-save button.saved,.notify-save button.saved:disabled{opacity:1;background:var(--forest-soft);border-color:var(--forest);color:var(--forest);cursor:default}@media(max-width:560px){.notify-row{grid-template-columns:1fr}}.metric.stat .stat-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--hair)}.stat-psf{font-family:var(--display);font-size:21px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.stat-cap{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:right;line-height:1.3}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:640px}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--hair);font-size:14px}th{background:var(--panel-2);color:var(--muted);font-weight:700;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td:first-child{font-weight:500}tbody tr:last-child td{border-bottom:none}.total-row td{background:var(--panel-2);border-top:1px solid var(--line);font-family:var(--display);font-size:16px}.hl-row td{background:var(--accent-soft)}.table-note{font-size:11.5px;padding:12px 16px;background:var(--panel-2);border-top:1px solid var(--hair)}.ledger-grid{display:grid;grid-template-columns:minmax(158px,1.5fr) repeat(6,minmax(74px,1fr));gap:2px 12px;align-items:stretch;padding:15px 20px}.ledger-head{padding:11px 20px 9px;background:var(--panel-2);border-bottom:1px solid var(--line);color:var(--muted);font-weight:700;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;align-items:end}.ledger-toolbar{padding:11px 20px;background:var(--panel-2);border-bottom:1px solid var(--line)}.ledger-toolbar .lease-sortbar{margin-bottom:0}.ledger-head .lg-num{text-align:right;padding-right:8px}.ledger-head .sub-cap{display:block;font-size:8.5px;font-weight:500;color:var(--faint);letter-spacing:.06em;text-transform:none;margin-top:2px}.ledger-row{border-bottom:1px solid var(--hair)}.ledger-name{font-weight:600;line-height:1.25}.ledger-meta{font-size:11.5px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}.ledger-sf{font-weight:700;color:var(--ink);font-size:12.5px}.ledger-head .lg-est,.ledger-stat.lg-est{background:var(--gold-soft);border-radius:5px}.ledger-head .lg-actual,.ledger-stat.lg-actual{background:var(--accent-soft);border-radius:5px}.ledger-head .lg-est,.ledger-head .lg-actual{padding:5px 8px 6px}.ledger-total .cell-main{font-weight:700}.ledger-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px}.ledger-stat{position:relative;text-align:right;min-width:0;padding:4px 8px}.stat-label{display:block;font-size:9px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}@media(min-width:881px){.stat-label{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.ledger-diff{border-left:1px solid var(--hair);padding-left:14px}.ledger-diff .cell-main{font-family:var(--display);font-size:17px;line-height:1.15}.ledger-vacant .ledger-name{color:var(--muted);font-weight:500;font-style:italic}.ledger-vacant .cell-main{color:var(--muted)}.ledger-totals{background:var(--panel-2);border-top:1px solid var(--line);border-bottom:none}.ledger-totals .ledger-name,.ledger-totals .cell-main{font-family:var(--display);font-size:16px;font-weight:500}.est-cell-btn{display:block;width:100%;background:none;border:0;margin-top:-3px;padding:3px 5px;border-radius:5px;text-align:inherit;cursor:pointer;font:inherit;color:inherit;text-transform:none;letter-spacing:normal;transition:background .12s ease,box-shadow .12s ease}.est-cell-btn .cell-main{text-decoration:underline;text-decoration-style:dashed;text-decoration-color:var(--faint);text-underline-offset:3px}.est-cell-btn:hover,.est-cell-btn.editing{background:var(--panel);box-shadow:0 0 0 1px var(--gold) inset}.est-cell-btn:hover .cell-main,.est-cell-btn.editing .cell-main{text-decoration-color:var(--gold)}.est-cell-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.est-edit-hint{margin-left:5px;opacity:0;color:var(--gold);font-size:11px;transition:opacity .12s ease}.est-cell-btn:hover .est-edit-hint,.est-cell-btn.editing .est-edit-hint,.est-cell-btn:focus-visible .est-edit-hint{opacity:1}.est-cell-btn.carried .cell-main{color:var(--gold)}.cell-sub.carried-hint{color:var(--gold);font-weight:600;font-size:10px;white-space:normal}.ledger-edit{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:10px;padding:11px 14px;background:var(--panel-2);border:1px solid var(--hair);border-radius:var(--radius)}.ledger-edit label{display:flex;align-items:center;gap:7px}.ledger-edit label span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.ledger-edit .text-input{width:92px;padding:4px 7px;font-size:12px}.est-preview{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.est-edit-actions{display:flex;gap:6px;margin-left:auto}.pos-owed{color:var(--gold);font-weight:600}.neg-owed{color:var(--danger);font-weight:600}.recon-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.recon-note{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.undo-strip{display:inline-flex;align-items:center;gap:6px}.undo-strip .undo-note{font-size:11.5px;color:var(--muted)}.cell-sub{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-weight:400}@media(max-width:880px){.ledger-head{display:none}.ledger-toolbar{padding:12px 16px}.ledger-grid{grid-template-columns:repeat(3,1fr);gap:14px 16px;padding:14px 16px}.ledger-id{grid-column:1/-1}.ledger-stat{text-align:left}.ledger-diff{border-left:none;padding-left:0}}@media(max-width:520px){.ledger-grid{grid-template-columns:repeat(2,1fr)}}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:26px}.tab{background:transparent;color:var(--muted);font-weight:600;border-radius:0;padding:11px 4px;margin-right:18px;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.tab:hover{color:var(--ink);filter:none;background:transparent}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.stack-sec{margin-bottom:36px}.sec-title{font-family:var(--display);font-size:24px;font-weight:600;margin-bottom:16px}.chart-legend{display:flex;gap:20px;margin-bottom:10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:8px}.chart-legend .ln{width:16px;height:3px;border-radius:2px}.chart-legend .sw{width:12px;height:12px;border-radius:2px}.yoy-strip{display:flex;gap:14px;margin-bottom:20px;flex-wrap:wrap}.yoy{flex:1;min-width:170px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:15px 18px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow)}.yoy-l{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.yoy-v{font-family:var(--display);font-size:26px;font-weight:600;line-height:1}.yoy-v.pos{color:var(--forest)}.yoy-v.neg{color:var(--danger)}.yoy-sub{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.exp-block{margin-top:30px}.exp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.exp-head strong{font-family:var(--display);font-size:22px;font-weight:600}.outcome{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exp-note{font-size:12px}.hist-chart{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px;width:100%}.modal-scrim{position:fixed;inset:0;background:#1b161075;display:grid;place-items:center;z-index:50;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--panel);border-radius:var(--radius);box-shadow:0 30px 70px #1b140c57;max-width:94vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:pop .15s ease-out;border:1px solid var(--border)}@keyframes pop{0%{transform:translateY(8px) scale(.985);opacity:0}to{transform:none;opacity:1}}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-head strong{font-family:var(--display);font-size:21px;font-weight:600}.modal-body{padding:22px;overflow:auto}.modal-foot{padding:15px 22px;border-top:1px solid var(--border);background:var(--panel-2)}.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:14px}.modal-actions .muted{font-size:12.5px}.confirm-msg{font-size:14px;line-height:1.55;margin:0 0 14px;color:var(--ink)}.confirm-imp{border:1px solid var(--border);border-left:3px solid var(--danger);background:#f7ebe7;border-radius:var(--radius);padding:12px 14px}.confirm-imp.warn{border-left-color:var(--gold);background:var(--gold-soft)}.confirm-imp.info{border-left-color:var(--accent);background:var(--accent-soft)}.confirm-imp-title{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--danger);margin:0 0 7px}.confirm-imp.warn .confirm-imp-title{color:var(--gold)}.confirm-imp.info .confirm-imp-title{color:var(--accent)}.confirm-imp ul{margin:0;padding-left:17px}.confirm-imp li{font-size:12.5px;line-height:1.5;color:var(--ink);margin:3px 0}.invoice-text{width:100%;min-height:300px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.6;border:1px solid var(--border);border-radius:var(--radius);padding:16px;resize:vertical;color:var(--ink);background:var(--panel-2);outline:none}.invoice-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ai-loading{display:flex;align-items:center;gap:12px;padding:44px;justify-content:center;color:var(--muted);font-size:15px;font-style:italic;font-family:var(--display)}.ai-error{padding:34px;text-align:center;color:var(--muted)}.spinner{width:20px;height:20px;border:2.5px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.extract-review{display:flex;flex-direction:column;gap:1px}.rev-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px;border-radius:var(--radius)}.rev-row:nth-child(odd){background:var(--panel-2)}.rev-row.low{background:var(--gold-soft)}.rev-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;display:flex;gap:8px;align-items:center}.rev-val{font-size:15px;font-weight:600;text-align:right}.bell-wrap{position:relative}.bell{position:relative;font-size:17px;padding:7px;background:transparent;color:var(--ink);text-transform:none;letter-spacing:0}.bell:hover{background:var(--panel-2);filter:none}.bell-count{position:absolute;top:0;right:0;background:var(--danger);color:#fbf8f1;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:grid;place-items:center;padding:0 4px;border:2px solid var(--panel)}.bell-panel{position:absolute;top:46px;right:0;width:336px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 22px 54px #1b140c3d;z-index:40;overflow:hidden}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.bell-head strong{font-family:var(--display);font-size:17px;font-weight:600}.bell-head .muted{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.bell-list{max-height:382px;overflow:auto}.bell-item{display:flex;gap:11px;align-items:flex-start;width:100%;background:transparent;color:var(--ink);text-align:left;padding:12px 16px;border-radius:0;border-bottom:1px solid var(--hair);font-weight:400;text-transform:none;letter-spacing:0;border-left:none;border-right:none;border-top:none;cursor:pointer}.bell-item:last-child{border-bottom:none}.bell-item:hover{background:var(--panel-2);filter:none}.bell-item .dot{margin-top:5px}.bell-item-body{display:flex;flex-direction:column;gap:2px;min-width:0}.bell-item-title{font-size:13.5px;font-weight:600}.bell-item-body .muted{font-size:11px}.bell-empty{padding:28px 16px;text-align:center;font-size:13px;font-style:italic;font-family:var(--display)}.centered{display:flex;min-height:100vh;align-items:center;justify-content:center;color:var(--muted);font-family:var(--display);font-size:20px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dropzone{display:flex;flex-direction:column;gap:10px;align-items:flex-start;border:1.5px dashed var(--line);border-radius:var(--radius);padding:18px;transition:border-color .14s,background .14s}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone-hint{font-size:12px}.file-native{font-family:var(--ui);font-size:13px;color:var(--ink)}.file-native::file-selector-button{background:var(--accent);color:#fbf8f1;border:none;border-radius:var(--radius);padding:10px 18px;font-weight:600;cursor:pointer;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;margin-right:12px;transition:filter .14s}.file-native::file-selector-button:hover{filter:brightness(1.06)}.file-native:disabled::file-selector-button{opacity:.55;cursor:default}.corp-edit{flex-shrink:0;align-self:center;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:6px 12px;cursor:pointer;line-height:1;white-space:nowrap}.corp-edit:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);filter:none}.corp-edit svg{width:13px;height:13px;flex-shrink:0}.corp-actions{flex-shrink:0;align-self:center;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.stat-note{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--hair);font-size:11.5px;color:var(--muted);white-space:nowrap}.stat-note strong{font-variant-numeric:tabular-nums;color:var(--ink)}.stat-note .pos{color:var(--forest)}.ar-empty{margin-top:14px;padding:14px 16px;border:1px solid var(--hair);border-radius:var(--radius);background:var(--panel-2);color:var(--muted);font-size:13px}.ar-list{margin-top:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.ar-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;text-decoration:none;color:inherit;border-bottom:1px solid var(--hair)}.ar-row:last-child{border-bottom:none}.ar-row:hover{background:var(--accent-soft)}.ar-name{font-weight:700;color:var(--ink);min-width:0;overflow-wrap:anywhere}.ar-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ar-tag{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.ar-tag.warn{background:var(--gold-soft);color:var(--gold)}.ar-tag.danger{background:#f3e0db;color:var(--danger)}.ar-fy{font-weight:600;font-size:10px;letter-spacing:.04em;opacity:.75;font-variant-numeric:tabular-nums}.ar-breakdown{margin-top:12px}.ar-toggle{background:none;border:none;padding:4px 0;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0}.ar-toggle:hover{filter:none;text-decoration:underline}.ar-invoices{margin-top:8px;border:1px solid var(--hair);border-radius:var(--radius);background:var(--panel-2);overflow:hidden}.ar-invrow{display:flex;align-items:center;gap:12px;padding:9px 14px;text-decoration:none;color:inherit;border-bottom:1px solid var(--hair);font-size:12.5px}.ar-invrow:last-child{border-bottom:none}.ar-invrow:hover{background:var(--accent-soft)}.ar-invrow .ar-fy{color:var(--muted)}.ar-invrow .ar-bal{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.ar-invrow .ar-tag{padding:2px 8px;font-size:10px}.side-alert .dot{background:var(--accent)}.side-alert-t{flex:1;min-width:0}.side-alert-d{margin-left:auto;padding-left:8px;font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}.cell-main{font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}.cell-sub{white-space:nowrap}.cell-sub.wrap{white-space:normal;line-height:1.3}.sf-rate,.mo-rate{font-weight:700;color:var(--ink)}.bar-label{fill:var(--muted);font-size:10px;font-weight:600}.bell-section{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--faint);padding:10px 16px 4px;background:var(--panel-2)}.bell-item{cursor:default}.bell-item .bell-item-body{cursor:pointer;flex:1}.bell-item--event .dot.good{background:var(--accent)}.bell-link{font-size:11px;font-weight:600;color:var(--accent);margin-top:2px}.dismiss-x{align-self:center;color:var(--faint);font-size:12px;flex-shrink:0}.dismiss-x:hover{background:#f3e0db;color:var(--danger)}.panel-flash{animation:panelFlash 2.2s ease-out}@keyframes panelFlash{0%{box-shadow:0 0 0 3px var(--accent);border-color:var(--accent)}60%{box-shadow:0 0 0 3px var(--accent);border-color:var(--accent)}to{box-shadow:0 0 #0000;border-color:var(--border)}}.section-title{font-family:var(--display);font-size:21px;font-weight:600;margin:26px 0 12px}.stack-gap{display:flex;flex-direction:column;gap:14px}.text-input{font-family:var(--ui);font-size:14px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--ink);outline:none}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select.text-input{font-weight:600}textarea.text-input{resize:vertical;min-height:90px}.form-field{display:flex;flex-direction:column;gap:6px;max-width:440px;margin-bottom:16px}.form-field>span{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.field-note{font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400;line-height:1.4}.demo-banner{background:var(--gold-soft);border-bottom:1px solid #e6d3a6;color:#7a5a17;padding:7px 30px;font-size:12px;text-align:center;letter-spacing:.01em}.demo-banner code{font-family:ui-monospace,Menlo,monospace}.bell{display:grid;place-items:center}.bell .si-ico{width:19px;height:19px;opacity:.9;color:var(--ink)}.lease-doc{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;font-size:13px;line-height:1.6;white-space:pre-wrap;max-height:340px;overflow:auto;color:var(--ink);margin-bottom:16px}.qa-log{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.qa-item{display:flex;flex-direction:column;gap:6px}.qa-q{font-weight:600;font-size:13.5px}.qa-a{background:var(--accent-soft);border-radius:var(--radius);padding:11px 13px;font-size:13px;line-height:1.55;white-space:pre-wrap}.qa-a.thinking{background:var(--panel-2);color:var(--muted);font-style:italic}.qa-form{display:flex;gap:8px;align-items:center}.qa-form .text-input{flex:1}.no-ren{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--hair)}.no-ren button{margin-left:auto}.exp-doc-row td{background:var(--panel-2);padding:0}.exp-doc-panel{padding:18px 22px;border-top:1px solid var(--border)}.ins-card{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:flex-start;padding:15px 18px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}.ins-card>div{display:flex;flex-direction:column;gap:2px}.ins-k{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.ins-v{font-family:var(--display);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.seg a.seg-btn{text-decoration:none;display:inline-flex;align-items:center}.svc-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.svc-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.svc-row{display:flex;align-items:center;gap:14px;padding:14px 16px}.svc-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.svc-main strong{font-family:var(--display);font-size:18px;font-weight:600}.svc-main .muted{font-size:12px}.svc-doc{padding:4px 16px 16px;border-top:1px solid var(--hair)}.svc-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--hair);padding-top:16px}.svc-add .text-input,.svc-add select{flex:0 0 auto}.svc-vendor{flex:1 1 140px;min-width:140px}.login-wrap{max-width:380px;margin:12vh auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.login-wrap h1{font-size:34px;margin-bottom:6px}.brand-lockup{display:flex;align-items:baseline;justify-content:center;gap:12px}.brand-lockup .brand-mark{flex-shrink:0;transform:translateY(.08em)}.brand-lockup+.muted{text-align:center}.skeleton{position:relative;overflow:hidden;background:var(--panel-2);border:1px solid var(--hair)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}@media(max-width:768px){.sidebar{width:64px;padding:20px 8px}.sidebar .brand{justify-content:center;padding:2px 0 20px;gap:0}.sidebar .side-item{justify-content:center;padding:11px 0}.sidebar .reset-btn{justify-content:center;gap:0;padding:9px 0}.sidebar .side-label,.sidebar .collapse-toggle{display:none}.content{padding:20px 16px 56px}.page-head{flex-wrap:wrap;align-items:flex-start}.head-actions{flex-wrap:wrap}.lease-row{grid-template-columns:1fr auto;gap:8px 14px}.esc-row{grid-template-columns:1fr 1fr;gap:12px}.cam-row{grid-template-columns:1fr 110px 34px;gap:10px}}
