:root {
  --bg:#f5f7fb; --panel:#fff; --text:#172033; --muted:#6b7486; --line:#e5e9f1;
  --nav:#101827; --nav2:#1a2435; --accent:#2563eb; --accent2:#e8f0ff;
  --red:#b42318; --redbg:#fef3f2; --amber:#b54708; --amberbg:#fffaeb; --green:#067647; --greenbg:#ecfdf3;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#fff;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:6px 8px 28px}.brand-mark{width:38px;height:38px;border-radius:10px;background:#fff;color:var(--nav);display:grid;place-items:center;font-weight:800}.brand span{display:block;color:#97a3b5;font-size:12px;margin-top:2px}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#c8d0dc;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--nav2);color:#fff}.sidebar-note{margin-top:auto;border-top:1px solid #263246;padding:18px 8px 4px;color:#8e9aad;font-size:12px;line-height:1.45}.main{padding:0 28px 40px;min-width:0}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:11px;color:var(--muted);font-weight:700;margin:0 0 4px}.topbar h1,.modal h2{margin:0;font-size:26px}.top-actions{display:flex;gap:10px}.primary,.secondary{border-radius:9px;padding:10px 14px;cursor:pointer;border:1px solid transparent;font-weight:650}.primary{background:var(--accent);color:#fff}.secondary{background:#fff;border-color:var(--line);color:var(--text)}.view{display:none}.view.active{display:block}.grid{display:grid;gap:16px}.grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.grid.two{grid-template-columns:1.25fr .75fr}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.metric .value{font-size:30px;font-weight:800;margin-top:8px}.metric .label{color:var(--muted);font-size:13px}.card h3{margin:0 0 14px;font-size:16px}.card h2{margin:0 0 5px}.subtle{color:var(--muted);font-size:13px}.lease-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.lease-hero .title{font-size:28px;font-weight:800}.badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.badge{font-size:12px;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#455166;font-weight:650}.badge.green{background:var(--greenbg);color:var(--green)}.badge.amber{background:var(--amberbg);color:var(--amber)}.badge.red{background:var(--redbg);color:var(--red)}.rent-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.rent-box{padding:14px;border-radius:11px;background:#f8fafc;border:1px solid var(--line)}.rent-box strong{display:block;font-size:21px}.rent-box span{font-size:12px;color:var(--muted)}.list{display:grid;gap:10px}.row{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:12px}.row .type{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase}.row .title{font-weight:700}.row .meta{font-size:12px;color:var(--muted);margin-top:4px}.row .right{text-align:right}.pill{display:inline-flex;font-size:11px;padding:5px 7px;border-radius:999px;font-weight:700}.pill.high{background:var(--redbg);color:var(--red)}.pill.med{background:var(--amberbg);color:var(--amber)}.pill.ok{background:var(--greenbg);color:var(--green)}.pill.info{background:var(--accent2);color:var(--accent)}.source{margin-top:8px;padding:10px 12px;background:#f8fafc;border-left:3px solid #cbd5e1;font-size:12px;color:#4b5565;line-height:1.5}.action-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;cursor:pointer;font-size:12px}.tabs{display:flex;gap:8px;margin:14px 0}.tab{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}.tab.active{background:var(--accent2);border-color:#c9d9ff;color:var(--accent)}.qa{display:grid;grid-template-columns:1fr auto;gap:8px}.qa input{border:1px solid var(--line);border-radius:9px;padding:11px}.answer{margin-top:12px;border-radius:10px;background:#f8fafc;padding:14px;min-height:70px}.review-item{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:13px 0}.review-item:last-child{border-bottom:0}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:6px;top:5px;bottom:5px;width:2px;background:#d9dee8}.timeline-item{position:relative;padding:0 0 18px 10px}.timeline-item:before{content:"";position:absolute;left:-21px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #dbe7ff}.timeline-item .date{font-size:12px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.45);display:grid;place-items:center;padding:20px}.modal-backdrop.hidden,.hidden{display:none!important}.modal{width:min(520px,100%);background:#fff;border-radius:16px;padding:20px;box-shadow:0 30px 80px rgba(16,24,40,.25)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.icon-btn{border:0;background:#f2f4f7;width:34px;height:34px;border-radius:8px;font-size:23px;cursor:pointer}.modal label{display:grid;gap:6px;font-weight:650;font-size:13px;margin-bottom:14px}.modal input,.modal select{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;right:22px;bottom:22px;background:#111827;color:#fff;padding:12px 15px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.empty{color:var(--muted);padding:20px 0;text-align:center}.kpi-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.kpi-row:last-child{border-bottom:0}.small{font-size:12px}.danger-text{color:var(--red);font-weight:700}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:0 16px 30px}.grid.metrics,.grid.two,.grid.three{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;padding-top:20px;gap:14px}.row{grid-template-columns:1fr}.row .right{text-align:left}}
@media(max-width:620px){.grid.metrics,.grid.two,.grid.three,.rent-strip{grid-template-columns:1fr}.topbar{flex-direction:column;padding-bottom:18px}.top-actions{width:100%}.top-actions button{flex:1}}
.table-wrap{overflow:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:middle}td span:not(.pill){display:block;color:var(--muted);font-size:11px;margin-top:3px}.click-row{cursor:pointer}.click-row:hover{background:#f8fafc}.missing-row{background:var(--redbg)}.small-right{max-width:310px;text-align:right;font-size:12px}.doc-stack{display:grid;gap:8px}.doc{padding:9px 10px;border-radius:8px;font-size:12px}.okdoc{background:var(--greenbg);color:var(--green)}.missdoc{background:var(--redbg);color:var(--red)}.review-note{border-left:3px solid #f59e0b;background:var(--amberbg);padding:10px 12px;margin:8px 0;font-size:12px;line-height:1.45}.pill.med{background:var(--amberbg);color:var(--amber)}

.search-results{display:grid;gap:10px;margin-top:12px}.search-hit{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.hit-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:12px}.hit-head span{color:var(--muted);text-align:right}.search-hit mark{background:#fff1a8;padding:0 2px;border-radius:2px}.answer{max-height:520px;overflow:auto}.metric .value{letter-spacing:-1px}
.scope-controls{display:flex;gap:10px;align-items:flex-end;margin-left:auto;margin-right:16px}.scope-controls label{font-size:11px;color:#64748b;display:grid;gap:4px}.scope-controls select{background:#fff;border:1px solid #dbe2ec;border-radius:10px;padding:8px 28px 8px 10px;font:inherit;color:#172033}.property-row{cursor:pointer}.property-row:hover{background:#f8fafc}@media(max-width:1100px){.topbar{flex-wrap:wrap}.scope-controls{order:3;width:100%;margin:8px 0 0}.scope-controls label{flex:1}.scope-controls select{width:100%}}
.sidebar-portfolio{padding:0 8px 18px;margin-bottom:12px;border-bottom:1px solid #263246}.sidebar-portfolio label{display:block;color:#8e9aad;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}.sidebar-portfolio select{width:100%;background:#182235;color:#fff;border:1px solid #2b3950;border-radius:9px;padding:10px 11px;font:inherit}.metric-link{width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.metric-link:hover{border-color:#c9d9ff;background:#fbfdff}.metric-link:focus-visible,.doc-row:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}.doc-row{width:100%;text-align:left;background:#fff;cursor:pointer;font:inherit;color:inherit}.doc-row:hover{background:#fffafa;border-color:#f3c7c2}.roster-heading{display:flex;align-items:center;gap:8px;margin:4px 0 10px;font-size:15px}.roster-gap{margin-top:24px}

.property-summary{margin-bottom:16px}.property-title-row{margin-bottom:14px}.property-title-row h2{margin:0 0 5px;font-size:24px}.property-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.property-metric{min-height:132px}.property-metric.metric-selected{border-color:#9db9ff;background:#f8fbff}.property-metric-detail{padding:15px 18px;margin-bottom:16px}.metric-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.metric-detail-head strong{font-size:15px}.metric-detail-head span{font-size:13px;color:var(--muted);font-weight:650}.metric-detail-body{font-size:13px;line-height:1.55;padding-top:11px;color:#4b5565}.mini-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:11px}.mini-lease-link{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 10px;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;cursor:pointer;color:var(--text)}.mini-lease-link:hover{background:#f8fafc;border-color:#cbd5e1}.mini-lease-link span{font-size:12px;color:var(--muted)}.mini-lease-link strong{font-size:12px}.property-metric:focus-visible,.mini-lease-link:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}@media(max-width:1000px){.property-metrics{grid-template-columns:1fr 1fr}.mini-breakdown{grid-template-columns:1fr 1fr}}@media(max-width:620px){.property-metrics,.mini-breakdown{grid-template-columns:1fr}.metric-detail-head{align-items:flex-start;flex-direction:column}}

.nav-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7f8da3;margin:22px 14px 7px;font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.module-card{padding:20px;text-align:left}.module-card .big{font-size:28px;font-weight:800;margin:6px 0}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analysis-table{width:100%;border-collapse:collapse}.analysis-table th,.analysis-table td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left}.analysis-table th{font-size:11px;text-transform:uppercase;color:#65728a}.winner{border:2px solid #22a06b}.upload-box{border:2px dashed #cbd5e1;border-radius:14px;padding:22px;background:#f8fafc}.tag-demo{display:inline-block;background:#eef2ff;color:#3b5ccc;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.decision-note{padding:14px;border-left:4px solid #2563eb;background:#eff6ff;border-radius:8px;margin-top:14px}@media(max-width:1100px){.module-grid{grid-template-columns:1fr 1fr}.compare-grid{grid-template-columns:1fr}}

.recurring-services-btn{white-space:nowrap}.recurring-services-panel{margin-top:14px}.recurring-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.service-group{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.service-group-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:15px 16px;background:#f8fafc;border-bottom:1px solid var(--line)}.service-group-head h3{margin:0 0 4px}.service-list{display:grid}.service-row{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line);align-items:center}.service-row:last-child{border-bottom:0}.service-row strong{display:block;font-size:13px}.service-row span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.service-label{text-transform:uppercase;letter-spacing:.04em;font-weight:700}.service-cost{text-align:right}@media(max-width:900px){.recurring-grid{grid-template-columns:1fr}.service-row{grid-template-columns:1fr 1fr}.service-cost{text-align:left}}@media(max-width:620px){.property-title-row{flex-direction:column}.recurring-services-btn{width:100%}.service-row{grid-template-columns:1fr}}

/* V16 Ownership / executive reporting */
.ownership-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:18px}.ownership-summary{padding:22px}.ownership-summary h2{margin:3px 0 7px;font-size:25px}.ownership-summary p{margin:0;color:var(--muted);line-height:1.55}.owner-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.owner-kpi{border:1px solid var(--line);background:#fff;border-radius:12px;padding:17px;text-align:left;color:inherit;font:inherit;cursor:pointer}.owner-kpi:hover,.owner-report-row:hover{border-color:#b8cbfb;background:#fbfdff}.owner-kpi .value{display:block;font-size:25px;font-weight:800;margin:6px 0 3px}.ownership-flow{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ownership-column{padding:0;overflow:hidden}.ownership-column-head{padding:17px 18px;background:#f8fafc;border-bottom:1px solid var(--line)}.ownership-column-head h3{margin:2px 0 4px}.owner-report-list{display:grid}.owner-report-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:15px 18px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:inherit;font:inherit;cursor:pointer}.owner-report-row:last-child{border-bottom:0}.owner-report-row strong{display:block;font-size:13px;margin-bottom:4px}.owner-report-row span{font-size:12px;color:var(--muted);line-height:1.45}.owner-report-meta{text-align:right}.owner-report-meta .pill{white-space:nowrap}.owner-direction-empty{padding:24px 18px;color:var(--muted);text-align:center}.ownership-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.ownership-portfolio-strip{display:grid;gap:8px}.ownership-property-row{width:100%;display:grid;grid-template-columns:80px 1.4fr .8fr .8fr .8fr;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 12px;text-align:left;color:inherit;font:inherit;cursor:pointer}.ownership-property-row:hover{background:#f8fafc;border-color:#cbd5e1}.ownership-property-row span{font-size:12px;color:var(--muted)}.ownership-property-row strong{font-size:13px}@media(max-width:1000px){.ownership-hero,.ownership-flow{grid-template-columns:1fr}.owner-kpis{grid-template-columns:1fr 1fr}.ownership-property-row{grid-template-columns:70px 1.4fr .8fr}.ownership-property-row .hide-mobile{display:none}}@media(max-width:620px){.owner-kpis{grid-template-columns:1fr}.ownership-property-row{grid-template-columns:65px 1fr}.ownership-property-row .hide-mobile{display:none}}

/* V17 tenant health + Yardi anomaly readiness */
.traffic-score{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.traffic-score.compact{padding:5px 8px;font-size:11px}.traffic-dot{width:10px;height:10px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 2px #fff,0 0 0 3px #d0d5dd}.traffic-green .traffic-dot{background:#12b76a;box-shadow:0 0 0 2px #fff,0 0 0 3px #a6f4c5}.traffic-yellow .traffic-dot{background:#f79009;box-shadow:0 0 0 2px #fff,0 0 0 3px #fedf89}.traffic-red .traffic-dot{background:#f04438;box-shadow:0 0 0 2px #fff,0 0 0 3px #fecdca}.traffic-green{background:var(--greenbg);color:var(--green)}.traffic-yellow{background:var(--amberbg);color:var(--amber)}.traffic-red{background:var(--redbg);color:var(--red)}.traffic-unscored{color:var(--muted)}
.tenant-health-card{grid-column:1/-1}.traffic-controls{display:flex;gap:8px;flex-wrap:wrap}.health-choice{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:700}.green-choice:hover{background:var(--greenbg);color:var(--green)}.yellow-choice:hover{background:var(--amberbg);color:var(--amber)}.red-choice:hover{background:var(--redbg);color:var(--red)}
.service-row{grid-template-columns:1.25fr 1.2fr .8fr .85fr!important}.service-anomaly{display:grid;gap:4px;justify-items:start}.anomaly-pill{border:1px solid var(--line);border-radius:999px;background:#fff;padding:5px 8px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.anomaly-normal{background:var(--greenbg);color:var(--green);border-color:#abefc6}.anomaly-spike{background:var(--amberbg);color:var(--amber);border-color:#fedf89}.anomaly-missing{background:var(--redbg);color:var(--red);border-color:#fecdca}.anomaly-nodata{color:var(--muted);background:#f8fafc}
@media(max-width:900px){.service-row{grid-template-columns:1fr 1fr!important}.tenant-health-card{grid-column:auto}}
.property-title-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.accounting-source-list{display:grid;gap:10px;margin-top:16px}
.accounting-source-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:12px}
.accounting-source-row div{display:flex;flex-direction:column;gap:3px}
.accounting-source-row span{font-size:12px;color:var(--muted)}
.accounting-notes{margin-top:16px}.accounting-actions{margin-top:16px}
@media(max-width:760px){.accounting-source-row{grid-template-columns:1fr}.property-title-actions{justify-content:flex-start}}

/* V20 health drilldown + regression-safe clickable roster */
.click-row{cursor:pointer}.click-row td:first-child strong{text-decoration:none}.click-row:hover td:first-child strong{text-decoration:underline}.health-reason{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.health-reason ul{margin:8px 0 0 18px;padding:0}.health-reason li{margin:4px 0}.health-focus{outline:3px solid #f79009;outline-offset:2px;transition:outline-color .3s}.traffic-score{position:relative;z-index:1}


/* V21 accounting history / pacing */
.single-column-services{grid-template-columns:1fr}.service-row-trend{grid-template-columns:1.35fr .75fr .75fr .65fr .9fr .8fr}.service-trend{display:inline-block!important;font-weight:800!important;font-size:12px!important;margin:0!important}.trend-up{color:#b45309!important}.trend-down{color:#047857!important}.trend-flat{color:var(--muted)!important}.accounting-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.accounting-kpis .metric{width:100%;text-align:left;cursor:pointer}.accounting-section{margin-top:20px;padding-top:4px}.accounting-tenant-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.accounting-tenant-row{display:grid;grid-template-columns:1.5fr repeat(6,minmax(100px,.72fr));gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);align-items:center}.accounting-tenant-row:last-child{border-bottom:0}.accounting-tenant-row strong{display:block;font-size:12px}.accounting-tenant-row span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.clickable-accounting{cursor:pointer}.clickable-accounting:hover{background:#f8fafc}.property-total-row{background:#f8fafc;border-top:2px solid var(--line)}.property-total-row strong{font-weight:800}.credit-text{color:#047857!important}.due-text{color:#b91c1c!important}.leakage-row{display:grid;grid-template-columns:1.4fr .7fr .7fr .7fr 1.6fr;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;margin-top:10px;background:#fff}.leakage-row>div>strong{display:block;font-size:12px}.leakage-row span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.leakage-row .pill{display:inline-flex;width:max-content}.leakage-reason{margin-top:6px!important;line-height:1.35}.trend-callout{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fffbeb;font-size:12px;line-height:1.5}.accounting-jump strong .service-trend{font-size:18px!important}
@media(max-width:1100px){.service-row-trend{grid-template-columns:1.3fr repeat(3,.8fr)}.service-row-trend>div:nth-child(5),.service-row-trend>div:nth-child(6){grid-column:auto}.accounting-kpis{grid-template-columns:repeat(2,1fr)}.accounting-tenant-row{grid-template-columns:1.4fr repeat(3,1fr)}.accounting-tenant-row>div:nth-child(n+5){margin-top:4px}.leakage-row{grid-template-columns:1.4fr repeat(3,.8fr)}.leakage-row>div:last-child{grid-column:1/-1}}
@media(max-width:700px){.accounting-kpis{grid-template-columns:1fr}.service-row-trend{grid-template-columns:1fr 1fr}.service-row-trend>div:first-child{grid-column:1/-1}.accounting-tenant-row{grid-template-columns:1fr 1fr}.accounting-tenant-row>div:first-child{grid-column:1/-1}.leakage-row{grid-template-columns:1fr 1fr}.leakage-row>div:first-child,.leakage-row>div:last-child{grid-column:1/-1}}

/* V24 — TOVA premium interface refresh. Visual-only: existing IDs/classes/JS flows remain intact. */
:root{
  --bg:#07131f; --panel:#0c1a28; --panel-2:#102131; --text:#f4f7fb; --muted:#8fa0b2; --line:#213447;
  --nav:#07131f; --nav2:#122538; --accent:#c99a56; --accent2:#2d2419;
  --red:#ff7b72; --redbg:#331f23; --amber:#f2b84b; --amberbg:#33291b; --green:#4bd09a; --greenbg:#15352c;
  --gold:#c99a56; --gold-soft:#e8c27d; --ink:#07131f; --card-shadow:0 12px 34px rgba(0,0,0,.18);
}
body{background:radial-gradient(circle at 74% -10%,#102c42 0,transparent 32%),var(--bg);color:var(--text)}
.app-shell{grid-template-columns:242px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#061625 0%,#07131f 62%,#0b1d2b 100%);padding:25px 14px 20px;border-right:1px solid #193047;box-shadow:16px 0 40px rgba(0,0,0,.12)}
.brand.tova-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:3px 14px 28px;border-bottom:1px solid #1d3448;margin-bottom:18px}.brand-copy strong{display:block;font-size:34px;line-height:1;letter-spacing:.22em;font-weight:500;color:#fff}.brand-copy span{display:block;max-width:178px;margin-top:9px;color:#ccd6df;font-size:9px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}.brand-copy small{display:block;margin-top:10px;color:var(--gold-soft);font-size:9px;letter-spacing:.24em}
.tova-logo{width:56px;height:50px;position:relative;filter:drop-shadow(0 5px 8px rgba(0,0,0,.22))}.tova-cap{position:absolute;left:6px;top:2px;width:45px;height:8px;background:linear-gradient(90deg,#e6bd79,#b67b38);transform:skewX(-34deg);border-radius:1px}.tova-stem-a{position:absolute;left:13px;top:15px;width:12px;height:35px;background:#fff;clip-path:polygon(0 0,100% 0,100% 76%,0 100%)}.tova-stem-b{position:absolute;left:29px;top:15px;width:9px;height:28px;background:linear-gradient(180deg,#e3bd7c,#ad7132);clip-path:polygon(0 0,100% 0,100% 77%,0 100%)}
.sidebar-portfolio{padding:0 8px 18px}.sidebar-portfolio label{color:#7f93a7;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.sidebar-portfolio select{margin-top:6px;background:#0d2030;color:#eef4f8;border:1px solid #274158;border-radius:8px;padding:9px 10px;width:100%}
.nav-section-label{color:#60758a!important;font-size:9px!important;letter-spacing:.14em!important;text-transform:uppercase;margin:17px 12px 4px!important}.nav-item{position:relative;color:#b8c6d3;border-radius:8px;padding:11px 12px 11px 16px;font-size:13px;transition:.18s ease}.nav-item:hover{background:#102437;color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(201,154,86,.22),rgba(201,154,86,.04));color:#fff}.nav-item.active:before{content:"";position:absolute;left:-14px;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--gold)}.sidebar-note{border-top:1px solid #1d3448;padding:18px 12px 4px;color:#798fa3}.sidebar-note strong{display:block;color:#dce5ed;font-size:9px;letter-spacing:.18em;line-height:1.7}.sidebar-note span{display:block;margin-top:10px;font-size:10px;line-height:1.55}
.main{padding:0 26px 44px;background:linear-gradient(180deg,rgba(8,22,34,.94),rgba(7,19,31,.98));min-height:100vh}.topbar{position:sticky;top:0;z-index:20;min-height:88px;background:rgba(7,19,31,.88);backdrop-filter:blur(16px);border-bottom:1px solid #1b3144;margin-bottom:22px}.topbar h1,.modal h2{color:#fff;font-weight:650;letter-spacing:-.025em}.eyebrow{color:#7f94a8}.scope-controls{gap:9px}.scope-controls label{color:#7f94a8;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.scope-controls select,.topbar select{background:#0c1d2c;color:#dfe8ef;border:1px solid #263d51;border-radius:8px}.primary,.secondary{border-radius:8px;box-shadow:none;transition:.18s ease}.primary{background:linear-gradient(180deg,#ddb877,#b9833f);color:#0a1420;border-color:#d2a962}.primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.secondary{background:#0d2030;border-color:#28445b;color:#dce5ed}.secondary:hover{background:#132a3e;border-color:#3a5871}
.card,.metric,.panel,.module-card,.owner-kpi,.service-group,.accounting-tenant-list,.accounting-source-row,.leakage-row{background:linear-gradient(180deg,rgba(16,33,49,.96),rgba(11,26,40,.98))!important;border-color:#21394e!important;box-shadow:var(--card-shadow)!important;color:var(--text)}.card{border-radius:12px}.card h2,.card h3,.metric strong,.module-card h3,.ownership-summary h2,.ownership-column-head h3{color:#f6f8fa}.metric .value,.owner-kpi .value{color:#fff}.muted,.source,.metric span,.card p,.module-card p{color:var(--muted)}
.table-wrap,table{background:transparent}th{background:#132638!important;color:#a9b8c6!important;border-color:#253b4e!important}td{color:#e6edf3!important;border-color:#1d3346!important}tr:hover td,.click-row:hover td,.clickable-accounting:hover{background:#11283a!important}.pill{border-color:#355069!important}.property-total-row,.service-group-head,.ownership-column-head{background:#102536!important;border-color:#21394e!important}.service-row,.owner-report-row,.accounting-tenant-row{border-color:#21394e!important;background:transparent!important}.owner-report-row:hover,.owner-kpi:hover{background:#10283a!important;border-color:#3d5c75!important}
.traffic-score{background:#102333;border-color:#2a455c}.traffic-green{background:#14362c;color:#55d9a6}.traffic-yellow{background:#3a2c19;color:#f5c665}.traffic-red{background:#3a2023;color:#ff8b82}.traffic-unscored{color:#a5b2bf}.health-reason,.trend-callout{background:#0d2030;border-color:#29445b;color:#cbd6df}.trend-callout{border-left:3px solid var(--gold)}
input,select,textarea{background:#0a1c2b!important;border-color:#2a445a!important;color:#eaf1f6!important}input::placeholder,textarea::placeholder{color:#647b90}.modal{background:#0b1b29!important;color:#eef4f8;border:1px solid #28445a;box-shadow:0 30px 80px rgba(0,0,0,.45)}.modal-backdrop{background:rgba(1,8,14,.74)}
a{color:#e2b86f}.view button:not(.primary):not(.secondary):not(.nav-item):not(.traffic-score):not(.health-choice):not(.anomaly-pill){color:inherit}
.accounting-kpis .metric,.owner-kpi{background:linear-gradient(145deg,#10283a,#0b1d2b)!important}.owner-kpi .label,.metric .label{color:#8ea0b0}.trend-up{color:#f0b659!important}.trend-down{color:#55d9a6!important}.credit-text{color:#55d9a6!important}.due-text{color:#ff8b82!important}
/* premium depth and spacing */
.grid{gap:14px}.grid.metrics{gap:14px}.metric,.card{padding:17px}.card:hover{border-color:#2d4d66!important}.property-title-row{padding-bottom:3px}.property-title-row h2{font-size:27px;letter-spacing:-.025em}.property-title-actions{gap:8px}.accounting-tenant-row,.service-row-trend{transition:background .15s ease}.accounting-tenant-row:hover,.service-row-trend:hover{background:#102638}
/* responsive safeguard */
@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.brand-copy strong{font-size:28px}.topbar{align-items:flex-start;padding:18px 0;gap:14px;flex-wrap:wrap}.scope-controls,.top-actions{flex-wrap:wrap}}
@media(max-width:780px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:1fr 1fr}.main{padding:0 14px 28px}.topbar{position:relative}.brand.tova-brand{flex-direction:row}.brand-copy strong{font-size:25px}}


/* V25 — Ownership report generator */
.ownership-report-overlay{position:fixed;inset:0;z-index:9999;background:rgba(2,9,15,.82);backdrop-filter:blur(10px);overflow:auto;padding:28px}
.ownership-report-sheet{width:min(1180px,96vw);margin:0 auto 40px;background:#f6f4ef;color:#152331;border-radius:14px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.ownership-report-topbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 22px;background:#091827;color:#fff;border-bottom:1px solid #22384b}.ownership-report-topbar>div:first-child{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ownership-report-topbar strong{font-size:14px}.ownership-report-topbar span:not(.report-status){font-size:11px;color:#8fa0b2}.ownership-report-actions{display:flex;gap:8px}.report-status{font-size:9px;font-weight:900;letter-spacing:.13em;padding:6px 8px;border-radius:999px;background:#3b2c1a;color:#e8c27d}.report-status.sent{background:#173c31;color:#63dcae}
.ownership-report-brand{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:30px 34px 24px;background:#0c1b2a;color:#fff}.mini-tova{display:flex;align-items:center;gap:13px}.mini-tova .tova-logo{transform:scale(.75);transform-origin:left center;width:47px}.mini-tova>div:last-child strong{display:block;font-size:25px;letter-spacing:.2em;font-weight:500}.mini-tova>div:last-child span{display:block;font-size:8px;letter-spacing:.13em;color:#b8c6d3;text-transform:uppercase;margin-top:5px}.mini-tova>div:last-child small{display:block;font-size:8px;letter-spacing:.2em;color:#e1b66c;margin-top:5px}.report-period{text-align:right}.report-period strong,.report-period span{display:block}.report-period strong{font-size:18px}.report-period span{font-size:10px;color:#9eb0c0;margin-top:4px;letter-spacing:.04em}
.ownership-report-body{padding:34px}.ownership-report-body .eyebrow{color:#94703c;font-size:9px;letter-spacing:.15em;font-weight:800}.report-exec{padding-bottom:22px;border-bottom:1px solid #d8d5cd}.report-exec h1{font-size:30px;margin:6px 0 9px;color:#102131}.report-exec p{color:#4b5965;line-height:1.65;max-width:900px}.report-exec p strong{color:#102131}
.report-kpi-grid,.report-comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.report-kpi-grid>div,.report-comparison-grid>div{padding:16px;border:1px solid #ddd8ce;border-radius:9px;background:#fff}.report-kpi-grid span,.report-comparison-grid span{display:block;font-size:10px;color:#6b7782;text-transform:uppercase;letter-spacing:.06em}.report-kpi-grid strong,.report-comparison-grid strong{display:block;margin-top:7px;font-size:20px;color:#15283a}.report-comparison-grid small{display:block;color:#7a858f;font-size:10px;margin-top:5px}.report-comparison-grid .positive{border-left:3px solid #c99a56;background:#fffdf8}.report-comparison-grid .positive strong{color:#8b652e}
.report-section{margin-top:26px;padding-top:24px;border-top:1px solid #d8d5cd}.report-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.report-section h2{margin:5px 0 0;color:#142639;font-size:20px}.ownership-report-body .pill{background:#edf1f4!important;border:1px solid #d4dce2!important;color:#465665!important}.report-note{padding:11px 13px;background:#f1ece2;border-left:3px solid #c99a56;color:#5a5e60;font-size:11px;line-height:1.5;border-radius:4px}.owner-report-health-row{display:grid;grid-template-columns:310px 1fr;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #e1ded7}.owner-report-health-row:last-child{border-bottom:0}.owner-report-health-row>div{display:flex;align-items:center;gap:9px}.owner-report-health-row strong{color:#142639}.owner-report-health-row>span{color:#63717d;font-size:11px}.ownership-report-body .traffic-score{pointer-events:none}.clickable-report-link{cursor:pointer}.clickable-report-link:hover{background:#f2f0e9}.report-leakage{display:grid;grid-template-columns:1.5fr repeat(3,.7fr);gap:10px;align-items:center;background:#fff;border:1px solid #ddd8ce;border-radius:9px;padding:14px}.report-leakage div span{display:block;font-size:9px;color:#7b8791;text-transform:uppercase}.report-leakage div strong{display:block;margin-top:4px;color:#17293a}.report-leakage>div:first-child span{text-transform:none;font-size:10px}.report-recommendation{background:#0f2233;color:#fff;padding:22px;border-radius:10px;border:0}.report-recommendation .eyebrow{color:#e3b970}.report-recommendation h2{color:#fff}.report-recommendation p{color:#c4d0da;line-height:1.6;margin-bottom:0}.report-footer{display:flex;justify-content:space-between;gap:20px;margin-top:26px;padding-top:15px;border-top:1px solid #d8d5cd;color:#7a858e;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:900px){.report-kpi-grid,.report-comparison-grid{grid-template-columns:1fr 1fr}.ownership-report-brand{align-items:flex-start}.report-leakage{grid-template-columns:1fr 1fr}.report-leakage>div:first-child{grid-column:1/-1}.owner-report-health-row{grid-template-columns:1fr}.ownership-report-topbar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.ownership-report-overlay{padding:0}.ownership-report-sheet{width:100%;border-radius:0}.ownership-report-body{padding:22px 16px}.ownership-report-brand{padding:22px 16px;flex-direction:column}.report-period{text-align:left}.report-kpi-grid,.report-comparison-grid{grid-template-columns:1fr}.ownership-report-topbar{position:relative}.report-footer{flex-direction:column}}

/* V26 — Ask Lease dark-theme legibility fix */
.qa input{background:#091a28!important;color:#f3f7fa!important;border:1px solid #31516a!important}
.qa input::placeholder{color:#8298aa!important}
.answer{background:#0a1b29!important;color:#dfe8ef!important;border:1px solid #223d52!important}
.answer .subtle{color:#91a5b5!important}
.answer p,.answer div,.answer span:not(.pill),.answer strong{color:inherit}
.search-results{color:#dfe8ef}
.search-hit{background:#0d2233!important;border-color:#2a455b!important;color:#dfe8ef!important}
.search-hit .hit-head,.search-hit .hit-head strong{color:#f2f6f9!important}
.search-hit .hit-head span{color:#8fa4b5!important}
.search-hit mark{background:#d6aa62!important;color:#07131e!important;padding:1px 3px;border-radius:3px}
.answer .source,.search-hit .source{background:#0a1926!important;color:#9fb1bf!important;border-left-color:#b98b49!important}

/* V28 — Ask Lease full-article review */
.qa-review-hit{cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.qa-review-hit:hover,.qa-review-hit:focus{border-color:#b98b49!important;background:#112b3f!important;transform:translateY(-1px);outline:none}
.qa-review-cue{margin-top:9px;color:#d6aa62;font-size:11px;font-weight:750;letter-spacing:.02em}
.qa-review-modal{width:min(940px,94vw)!important;max-height:88vh;display:flex;flex-direction:column}
.qa-review-body{white-space:pre-wrap;overflow:auto;line-height:1.7;font-size:14px;color:#dfe8ef;background:#081824;border:1px solid #29465c;border-radius:10px;padding:18px;min-height:220px;max-height:62vh}
.qa-review-modal .modal-head{flex:0 0 auto}.qa-review-modal .modal-actions{flex:0 0 auto}


/* V29 — Leasing legibility, expandable detail cards, vendor secure submission preview */
#leasing,#projects{color:#e7eef4}
#leasing h2,#leasing h3,#leasing strong,#leasing .big,#leasing .label,
#projects h2,#projects h3,#projects strong,#projects .big,#projects .label{color:#f2f6f9!important}
#leasing .subtle,#projects .subtle{color:#9fb0bf!important}
#leasing .kpi-row span,#projects .kpi-row span{color:#a8b8c5!important}
#leasing .kpi-row strong,#projects .kpi-row strong{color:#f4f7fa!important}
#leasing .decision-note,#projects .decision-note{
  background:#0c2435!important;border:1px solid #294a61!important;border-left:4px solid var(--gold)!important;color:#dfe8ef!important
}
#leasing .decision-note strong,#projects .decision-note strong{color:#f5d79e!important}
#leasing .decision-note .subtle,#projects .decision-note .subtle{color:#bdd0dd!important}
#leasing .upload-box,#projects .upload-box{
  background:#0b2030!important;border:1px dashed #49657a!important;color:#e9f0f5!important
}
#leasing .tag-demo,#projects .tag-demo{background:#2b2419!important;color:#e8c27d!important;border:1px solid #665137}
#leasing .tag,#projects .tag{background:#122d40!important;color:#d7e4ed!important;border:1px solid #35536a}
#leasing .field span,#projects .field span{color:#a9bac7!important}
#leasing .winner{border:2px solid #c99a56!important}
#leasing .analysis-table td,#projects .analysis-table td{color:#e9eff4!important}
#leasing .analysis-table td strong,#projects .analysis-table td strong{color:#fff!important}
#leasing .card,#projects .card{overflow:visible}
.expandable-box{position:relative;cursor:zoom-in;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.expandable-box:hover,.expandable-box:focus{border-color:#b88a49!important;background:#10283a!important;outline:none}
.expand-cue{display:block;margin-top:10px;color:#d4a960!important;font-size:10px!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tova-expand-overlay{z-index:10020}
.tova-expand-modal{width:min(1050px,95vw)!important;max-height:90vh;display:flex;flex-direction:column}
.tova-expand-body{overflow:auto;min-height:160px;max-height:68vh}
.tova-expand-body .card,.tova-expand-body .module-card,.tova-expand-body .upload-box{
  background:#0d2232!important;border-color:#29485f!important;color:#e8eef3!important;box-shadow:none!important
}
.tova-expand-body .subtle{color:#a7b8c6!important}
.tova-expand-body strong,.tova-expand-body h2,.tova-expand-body h3,.tova-expand-body .big,.tova-expand-body .label{color:#f3f7fa!important}
.tova-expand-body .decision-note{background:#0c2435!important;color:#dfe8ef!important;border-color:#b98b49!important}
.tova-expand-body .analysis-table td{color:#e7eef4!important}

.vendor-flow-overlay{z-index:10030;overflow:auto;align-items:start;padding:28px}
.vendor-flow-modal{width:min(1080px,96vw)!important;margin:0 auto 30px}
.vendor-owner-panel{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px;border:1px solid #2b4a61;background:#0a2030;border-radius:12px}
.vendor-owner-panel strong,.vendor-owner-panel span{display:block}.vendor-owner-panel code{display:block;margin-top:9px;padding:9px 10px;border-radius:7px;background:#06131d;color:#d8b36f;border:1px solid #233b4d;word-break:break-all;font-size:11px}
.vendor-link-actions{display:flex;gap:8px;flex-wrap:wrap}
.vendor-flow-note{margin-top:12px;padding:12px 14px;border-left:3px solid var(--gold);background:#10283a;color:#bccbd6;border-radius:7px;line-height:1.55;font-size:12px}
.vendor-flow-note strong{color:#f0f5f8}
.vendor-view-pane{margin-top:20px;border:1px solid #37536a;border-radius:14px;overflow:hidden;background:#f5f6f7;color:#172532}
.vendor-portal-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#0a1a28;color:#fff;padding:18px 20px}
.tova-vendor-mark{font-size:21px;letter-spacing:.22em;color:#e4bd77;font-weight:800}
.vendor-portal-head strong,.vendor-portal-head span{display:block}.vendor-portal-head>div:nth-child(2) span{font-size:11px;color:#9db0c1;margin-top:3px}
.vendor-project-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 20px;background:#fff;border-bottom:1px solid #d9dee3}
.vendor-project-summary div{padding:12px;background:#f6f7f8;border:1px solid #e0e4e8;border-radius:8px}.vendor-project-summary span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#71808c}.vendor-project-summary strong{display:block;margin-top:5px;color:#1b2d3b}
.vendor-scope-card{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px;background:#fbfbfa;border-bottom:1px solid #d9dee3}.vendor-scope-card h3{margin:3px 0 6px;color:#182b39}.vendor-scope-card p{margin:0;color:#596875;line-height:1.55;max-width:720px}.vendor-scope-card .eyebrow{color:#946d37}
.vendor-demo-form{padding:20px;background:#fff}.vendor-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vendor-demo-form label{display:grid;gap:6px;margin-bottom:14px;color:#344652;font-size:12px;font-weight:700}.vendor-demo-form input,.vendor-demo-form textarea{background:#fff!important;color:#172532!important;border:1px solid #cbd4dc!important;border-radius:8px;padding:10px}.vendor-demo-form textarea{resize:vertical}.vendor-submit-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:8px}.vendor-submit-row .subtle{color:#667782!important}
.vendor-submit-success{margin:20px;padding:18px;border-radius:10px;background:#e9f7f1;border:1px solid #addcc7;color:#154c39}.vendor-submit-success strong,.vendor-submit-success span{display:block}.vendor-submit-success span{margin-top:4px;font-size:12px}
.vendor-internal-submission{margin-top:14px;padding:14px;border:1px solid #2c5266;background:#0b2434;border-radius:10px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.vendor-internal-submission strong{color:#f2f6f9}.vendor-internal-submission span:not(.pill),.vendor-internal-submission small{color:#9fb3c1}.vendor-internal-submission small{grid-column:2/-1}
@media(max-width:760px){.vendor-owner-panel,.vendor-project-summary,.vendor-form-grid{grid-template-columns:1fr}.vendor-scope-card,.vendor-submit-row{align-items:flex-start;flex-direction:column}.vendor-portal-head{grid-template-columns:1fr}.vendor-internal-submission{grid-template-columns:1fr}}
.scope-package{margin:14px 0}.scope-rule{padding:16px;border:1px solid rgba(201,164,92,.55);border-radius:12px;background:rgba(201,164,92,.08);color:#eef2f7}.scope-rule strong{color:#d9b76e;letter-spacing:.08em}.scope-rule p{margin:8px 0 0;line-height:1.55}.scope-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.scope-spec-grid>div{padding:11px 12px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:4px}.scope-spec-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#98a5b5}.scope-spec-grid strong{color:#eef2f7;font-size:13px;line-height:1.4}.scope-certification{display:flex!important;gap:10px;align-items:flex-start;padding:14px;border:1px solid rgba(201,164,92,.45);border-radius:10px;background:rgba(201,164,92,.07)}.scope-certification input{width:18px!important;height:18px;margin-top:2px}.scope-internal-card{margin:16px 0;padding:18px;border:1px solid rgba(201,164,92,.28);border-radius:14px;background:rgba(255,255,255,.025);position:relative}.scope-internal-card .expand-cue{position:absolute;right:14px;bottom:10px}@media(max-width:700px){.scope-spec-grid{grid-template-columns:1fr}}

/* V33 navigation affordances */
.nav-back-btn{border-color:#80653f!important;background:rgba(185,131,63,.12)!important;color:#e7c58d!important;font-weight:750!important}
.nav-back-btn:hover{background:rgba(185,131,63,.22)!important;border-color:#b9833f!important}
.modal-head .icon-btn{flex:0 0 auto}
@media(max-width:900px){.top-actions{flex-wrap:wrap}.nav-back-btn{order:-1}}

/* V34 — Ownership Portal demo */
.owner-preview-btn{border-color:#b98b49!important;color:#f0cf92!important}
.owner-portal-overlay{position:fixed;inset:0;z-index:12000;background:#06121c;overflow:auto;color:#e8eef3}
.owner-portal-shell{min-height:100%;display:grid;grid-template-columns:250px minmax(0,1fr);background:linear-gradient(135deg,#081824 0%,#0b1d2a 45%,#07141e 100%)}
.owner-portal-side{padding:24px 18px;border-right:1px solid #21394b;background:#071621;display:flex;flex-direction:column;gap:22px}
.owner-portal-brand{display:flex;gap:12px;align-items:center;padding:6px 6px 18px;border-bottom:1px solid #203746}.owner-portal-brand>div:last-child{display:grid}.owner-portal-brand strong{font-size:20px;letter-spacing:.18em;color:#f2f5f7}.owner-portal-brand span{font-size:10px;color:#a7bac7;text-transform:uppercase;letter-spacing:.08em}.owner-portal-brand small{font-size:9px;color:#d8b36f;letter-spacing:.16em;margin-top:4px}
.owner-role-card{padding:13px;border:1px solid #294559;border-radius:10px;background:#0c2130;display:grid;gap:4px}.owner-role-card span,.owner-role-card small{font-size:10px;color:#91a5b5}.owner-role-card strong{color:#f2f6f9}
.owner-portal-nav{display:grid;gap:5px}.owner-portal-nav button{border:0;background:transparent;color:#9eb0bd;padding:11px 12px;border-radius:8px;text-align:left;font-weight:650;display:flex;justify-content:space-between;align-items:center}.owner-portal-nav button:hover,.owner-portal-nav button.active{background:#112b3d;color:#fff}.owner-nav-count{min-width:22px;height:22px;border-radius:999px;background:#8b6735;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px}.owner-exit{margin-top:auto;width:100%;text-align:left}
.owner-portal-main{min-width:0;padding:0 30px 38px}.owner-portal-top{position:sticky;top:0;z-index:5;background:rgba(7,20,30,.96);backdrop-filter:blur(12px);display:flex;justify-content:space-between;gap:22px;align-items:center;padding:25px 0 18px;border-bottom:1px solid #213848}.owner-portal-top h1{margin:2px 0 4px;color:#f5f7f9;font-size:29px}.owner-portal-top p:not(.eyebrow){margin:0;color:#92a5b2}.owner-top-actions{display:flex;align-items:center;gap:8px;color:#9db0bd;font-size:11px}.owner-live-dot{width:8px;height:8px;border-radius:50%;background:#49b887;box-shadow:0 0 0 4px rgba(73,184,135,.12)}
.owner-tab-panel{display:none;padding-top:24px}.owner-tab-panel.active{display:block}.owner-exec-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.owner-exec-kpis>div{padding:18px;border:1px solid #274458;background:#0b2130;border-radius:12px}.owner-exec-kpis span,.owner-exec-kpis small{display:block;color:#8fa4b4;font-size:10px}.owner-exec-kpis strong{display:block;color:#f3f6f8;font-size:23px;margin:8px 0 5px}
.owner-layout-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.owner-lower-grid{margin-top:16px}.owner-section-card{border:1px solid #28465a;background:#0b2030;border-radius:13px;padding:18px;min-width:0}.owner-section-title{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.owner-section-title h2{margin:2px 0;color:#eef3f6;font-size:18px}.text-btn{border:0;background:transparent;color:#d5ad69;font-weight:750;cursor:pointer;padding:5px}
.owner-decision-card{padding:17px;border:1px solid #38536a;background:#0c2536;border-radius:12px;margin-top:10px;outline:none}.owner-decision-card:focus,.owner-decision-card:hover{border-color:#b98b49}.owner-decision-card.owner-decided{border-color:#2d6653}.owner-decision-head{display:flex;justify-content:space-between;gap:12px}.owner-decision-head h3{margin:4px 0;color:#f3f6f8}.owner-decision-kicker{font-size:9px;color:#d1aa68;letter-spacing:.1em}.owner-decision-card p{color:#aabac5;line-height:1.55}.owner-impact{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #233f51;border-bottom:1px solid #233f51}.owner-impact span{color:#8ea3b1}.owner-impact strong{color:#e7c37f}.owner-decision-detail{padding-top:12px;color:#aebfca;font-size:12px;line-height:1.55}.owner-decision-detail strong{color:#f0f4f7}.owner-decision-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.owner-report-preview{padding:14px;background:#091a27;border:1px solid #244154;border-radius:10px}.owner-report-preview strong,.owner-report-preview span{display:block}.owner-report-preview strong{color:#f1f5f7;font-size:17px}.owner-report-preview span{color:#d1aa68;font-size:10px;margin-top:3px}.owner-report-preview p{color:#9fb1bd;line-height:1.5}.owner-property-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.owner-property-metrics>div{padding:12px;border:1px solid #294457;border-radius:9px;background:#091a27}.owner-property-metrics span{display:block;color:#8fa4b2;font-size:10px}.owner-property-metrics strong{display:block;color:#eef3f6;margin-top:5px}
.owner-exception{width:100%;border:0;border-bottom:1px solid #223d4e;background:transparent;color:#dfe7ec;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;padding:12px 2px;cursor:pointer}.owner-exception:last-child{border-bottom:0}.owner-exception strong,.owner-exception small{display:block}.owner-exception small{color:#8ea3b1;margin-top:2px}.owner-exception>span:last-child{color:#d4ad6d;font-size:11px}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.status-dot.yellow{background:#d5a84e}.status-dot.red{background:#cc6d63}
.owner-panel-heading{margin-bottom:16px}.owner-panel-heading h2{font-size:25px;margin:3px 0;color:#f3f6f8}.owner-panel-heading p:not(.eyebrow){color:#9dafbb;max-width:760px}.owner-decision-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.owner-report-library,.owner-property-card{width:100%;border:1px solid #2c485c;background:#0b2130;color:#e8eef2;border-radius:12px;padding:18px;display:grid;grid-template-columns:minmax(250px,1.5fr) 1fr 1fr auto;gap:18px;align-items:center;text-align:left;cursor:pointer}.owner-report-library:hover,.owner-property-card:hover{border-color:#b98b49}.owner-report-library strong,.owner-property-card strong{display:block;color:#eef3f6;margin-top:5px}.owner-report-library span:not(.pill),.owner-property-card span:not(.pill){display:block;color:#8da2b1;font-size:10px}.owner-report-library p,.owner-property-card p{color:#91a5b3;margin:5px 0 0}.owner-arrow{font-size:24px!important;color:#d1aa68!important}.owner-property-card{grid-template-columns:minmax(250px,1.5fr) repeat(4,1fr) auto}.owner-property-card h3{margin:7px 0 0;color:#f2f6f8}
.owner-history-list{display:grid;gap:8px}.owner-history-row,.am-directive-row{width:100%;border:1px solid #29475b;background:#0a2030;color:#e6edf2;border-radius:10px;padding:13px;display:flex;justify-content:space-between;gap:15px;text-align:left}.owner-history-row span,.am-directive-row span,.owner-history-row small,.am-directive-row small{display:block;color:#91a6b4;font-size:10px;margin-top:4px}.owner-empty-state{padding:22px;border:1px dashed #38566a;border-radius:10px;color:#95a8b5}.am-directive-list{display:grid;gap:8px}
.owner-decision-overlay{z-index:13000}.owner-decision-modal{width:min(720px,94vw)!important}.owner-decision-summary{padding:14px;border:1px solid #2a485d;background:#0a2030;border-radius:10px;margin-bottom:14px}.owner-decision-summary>div>span{display:block;color:#95a9b6;font-size:10px}.owner-decision-summary>div>strong{display:block;color:#f1f5f7;margin-top:5px;line-height:1.5}.owner-decision-econ{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.owner-decision-econ>div{padding:10px;border:1px solid #29475b;border-radius:8px}.owner-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 14px}.owner-choice{position:relative}.owner-choice input{position:absolute;opacity:0}.owner-choice span{display:block;padding:12px;border:1px solid #355167;border-radius:9px;color:#b8c6cf;cursor:pointer}.owner-choice input:checked+span{border-color:#c39958;background:rgba(195,153,88,.12);color:#f3d69f}.owner-limit-field{margin-top:4px}.owner-decision-modal textarea{width:100%}.directive-review-modal{width:min(620px,94vw)!important}.directive-stamp{padding:16px;border:1px solid #4c745f;background:#0b2b24;border-radius:10px;margin-bottom:12px}.directive-stamp span,.directive-row span{display:block;color:#91a5b3;font-size:10px}.directive-stamp strong{display:block;color:#8bd1ad;font-size:24px;margin-top:5px}.directive-row{padding:12px;border-bottom:1px solid #294457}.directive-row strong{display:block;color:#e9eff3;margin-top:5px;line-height:1.5}
@media(max-width:1050px){.owner-portal-shell{grid-template-columns:200px minmax(0,1fr)}.owner-exec-kpis{grid-template-columns:repeat(2,1fr)}.owner-layout-grid,.owner-decision-list{grid-template-columns:1fr}.owner-report-library,.owner-property-card{grid-template-columns:1fr 1fr}.owner-arrow{display:none}}
@media(max-width:720px){.owner-portal-shell{display:block}.owner-portal-side{position:static;border-right:0;border-bottom:1px solid #21394b}.owner-portal-nav{grid-template-columns:1fr 1fr}.owner-portal-main{padding:0 16px 28px}.owner-portal-top{position:static;align-items:flex-start;flex-direction:column}.owner-exec-kpis{grid-template-columns:1fr}.owner-property-metrics,.owner-decision-econ,.owner-choice-grid{grid-template-columns:1fr}.owner-report-library,.owner-property-card{grid-template-columns:1fr}.owner-portal-side .owner-exit{margin-top:0}}

/* V36 — Strategy, forecast, risk, capital planning, decision memory and portfolio intelligence */
.strategy-hero{background:linear-gradient(135deg,rgba(180,145,64,.12),rgba(20,30,46,.04));border-color:rgba(180,145,64,.3)}
.strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.strategy-goals{display:grid;gap:10px}.strategy-goal{display:grid;grid-template-columns:1.25fr .7fr .7fr .45fr;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.strategy-goal:last-child{border-bottom:0}.strategy-goal span,.risk-row span,.capital-row span,.memory-row span,.watch-row span{color:var(--muted);font-size:12px}.progress-track{height:8px;background:rgba(127,140,160,.16);border-radius:999px;overflow:hidden;margin-top:7px}.progress-fill{height:100%;background:var(--accent);border-radius:999px}.strategy-notes{white-space:pre-line;line-height:1.6}.forecast-table,.risk-table,.capital-table{display:grid;gap:0}.forecast-row,.risk-row,.capital-row{display:grid;align-items:center;gap:10px;padding:12px 8px;border-bottom:1px solid var(--line)}.forecast-row{grid-template-columns:1.3fr repeat(5,.72fr)}.risk-row{grid-template-columns:1.35fr .7fr .7fr .7fr .55fr}.capital-row{grid-template-columns:.45fr 1.3fr .7fr .7fr .7fr .55fr}.forecast-row.head,.risk-row.head,.capital-row.head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.forecast-row:not(.head):hover,.risk-row:not(.head):hover,.capital-row:not(.head):hover{background:rgba(127,140,160,.06)}.watch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.watch-row,.memory-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.watch-row strong,.memory-row strong{display:block;margin-bottom:5px}.watch-actions,.memory-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.intel-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.intel-question{border:1px solid var(--line);background:var(--panel);padding:16px;border-radius:12px;text-align:left;cursor:pointer;color:var(--text)}.intel-question:hover{border-color:var(--accent);transform:translateY(-1px)}.intel-question strong{display:block;font-size:15px;margin-bottom:6px}.intel-question span{font-size:12px;color:var(--muted)}.intel-answer{display:grid;gap:10px}.intel-answer-row{display:flex;justify-content:space-between;gap:20px;padding:12px;border:1px solid var(--line);border-radius:10px}.economics-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.economics-strip>div{padding:12px;border:1px solid var(--line);border-radius:10px}.economics-strip span{display:block;color:var(--muted);font-size:11px}.economics-strip strong{display:block;margin-top:5px;font-size:16px}.inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.small-input{max-width:135px}.linked-card{cursor:pointer}.linked-card:hover{border-color:var(--accent)}
@media(max-width:1050px){.strategy-grid,.watch-grid,.intel-question-grid{grid-template-columns:1fr}.forecast-row{grid-template-columns:1.2fr repeat(3,.75fr)}.forecast-row>:nth-child(5),.forecast-row>:nth-child(6){display:none}.risk-row{grid-template-columns:1.3fr .7fr .7fr .55fr}.risk-row>:nth-child(4){display:none}.capital-row{grid-template-columns:.5fr 1.4fr .8fr .6fr}.capital-row>:nth-child(4),.capital-row>:nth-child(5){display:none}.economics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V37 demo reliability / discoverability */
.vendor-intake-direct{border:1px solid rgba(201,164,92,.38);background:rgba(201,164,92,.055);border-radius:12px;padding:16px}
.demo-cert-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:11px 14px;border:1px solid rgba(201,164,92,.35);border-radius:10px;background:rgba(201,164,92,.06)}
.demo-cert-banner strong{font-size:11px;letter-spacing:.08em;color:#d9b76e;white-space:nowrap}.demo-cert-banner span{font-size:11px;color:var(--muted);text-align:right}
@media(max-width:800px){.demo-cert-banner{align-items:flex-start;flex-direction:column}.demo-cert-banner span{text-align:left}}

/* V38 — command center, lease stack, ownership glance, CAM cap treatment */
.command-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:12px;padding:24px!important;background:linear-gradient(120deg,#0d2435,#102b3d 62%,#152b39)!important}.command-hero h2{font-size:30px;margin:3px 0 6px}.command-hero p{margin:0;color:#91a6b5;max-width:650px}.command-rent{text-align:right;min-width:220px}.command-rent span,.command-rent small{display:block;color:#8ea2b0;font-size:11px}.command-rent strong{display:block;color:#f3f6f8;font-size:29px;margin:4px 0}.command-kpi-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #21394e;border-radius:12px;overflow:hidden;margin-bottom:14px;background:#0b1d2b}.command-kpi{appearance:none;border:0;border-right:1px solid #21394e;background:transparent;padding:16px 17px;text-align:left;color:inherit;font:inherit}.command-kpi:last-child{border-right:0}.command-kpi[role=button],button.command-kpi{cursor:pointer}.command-kpi[role=button]:hover,button.command-kpi:hover{background:#10283a}.command-kpi span,.command-kpi small{display:block;color:#8ea2b0;font-size:10px}.command-kpi strong{display:block;color:#f4f7f9;font-size:23px;margin:5px 0}.command-kpi.needs-review strong{color:#efbd70}.command-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:14px}.command-side{display:grid;gap:14px;align-content:start}.command-attention{min-height:500px}.command-snapshot .kpi-row{font-size:12px}
.gla-alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;margin:4px 0 18px;border:1px solid #76562d;background:linear-gradient(90deg,rgba(119,78,28,.25),rgba(67,48,27,.12));border-radius:11px}.gla-alert-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d59b47;color:#0b1720;font-weight:900}.gla-alert strong{color:#ffd18d}.gla-alert p{margin:3px 0 0!important;color:#c9b18e!important;font-size:12px;line-height:1.45}.verified-lease-stack{display:grid;gap:9px;margin-bottom:22px}.verified-lease-card{width:100%;display:grid;grid-template-columns:minmax(230px,1.5fr) .55fr .8fr .75fr auto 22px;gap:15px;align-items:center;border:1px solid #29465a;border-left:4px solid #527c97;background:#0b1f2e;border-radius:10px;padding:13px 14px;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:.15s ease}.verified-lease-card:hover{transform:translateX(3px);background:#10283a;border-color:#3a6079}.verified-lease-card.tone-1{border-left-color:#b38a4b}.verified-lease-card.tone-2{border-left-color:#5d927d}.verified-lease-card.tone-3{border-left-color:#7b6d9c}.verified-lease-main{display:flex;gap:11px;align-items:center}.verified-suite{display:grid;place-items:center;min-width:42px;height:34px;padding:0 7px;border-radius:7px;background:#132e40;color:#c6d4dd!important;font-size:10px!important;font-weight:800}.verified-lease-card strong{display:block;color:#f1f5f7;font-size:13px}.verified-lease-card span,.verified-lease-card small{display:block;color:#8fa3b1;font-size:10px}.verified-health{justify-self:end}.stack-arrow{font-size:18px!important;color:#657f91!important}.roster-heading{margin-top:18px}
.owner-summary-band{display:grid;grid-template-columns:1.2fr .8fr 1fr;border:1px solid #21394e;border-radius:11px;overflow:hidden;margin-bottom:18px;background:#0b1d2b}.owner-summary-band>div{padding:15px 18px;border-right:1px solid #21394e}.owner-summary-band>div:last-child{border-right:0}.owner-summary-band span,.owner-summary-band small{display:block;color:#8ea2b0;font-size:10px}.owner-summary-band strong{display:block;color:#f3f6f8;font-size:22px;margin:4px 0}.ownership-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.ownership-asset-card{border:1px solid #294457;background:#091c2a;border-radius:11px;padding:15px;text-align:left;color:inherit;font:inherit;cursor:pointer}.ownership-asset-card:hover{background:#10283a;border-color:#3d6078}.asset-card-head{display:flex;gap:9px;align-items:center}.asset-card-head>span{padding:4px 6px;border-radius:5px;background:#173145;color:#d1aa68;font-size:9px;font-weight:800}.asset-card-head strong{color:#eaf0f4;font-size:12px}.asset-card-rent{font-size:22px;font-weight:800;color:#f4f7f9;margin:17px 0}.asset-card-rent span{display:block;color:#8096a5;font-size:9px;font-weight:500;margin-top:2px}.asset-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.asset-card-stats>div{padding:8px;border-radius:7px;background:#0d2434}.asset-card-stats span{display:block;color:#7f95a4;font-size:8px}.asset-card-stats strong{display:block;color:#dbe4e9;font-size:10px;margin-top:3px}.asset-card-foot{display:flex;justify-content:space-between;margin-top:13px;padding-top:10px;border-top:1px solid #1d3749;color:#8196a4;font-size:9px}
.cap-status-btn{width:100%;border:1px solid #2d4c61;border-radius:8px;background:#0d2637;padding:8px 9px;text-align:left;color:inherit;cursor:pointer}.cap-status-btn strong,.cap-status-btn span{display:block}.cap-status-btn strong{font-size:11px}.cap-status-btn span{font-size:9px;color:#849aa9;margin-top:2px}.cap-status-btn.cap-verified{border-color:#426e5f;background:rgba(40,91,72,.22)}.cap-status-btn.cap-verified strong{color:#75d2aa}.cap-status-btn.cap-none{border-color:#526272;background:rgba(75,88,99,.18)}.cap-status-btn.cap-none strong{color:#c7d1d8}.cap-status-btn.cap-special{border-color:#7b633d;background:rgba(111,82,38,.2)}.cap-status-btn.cap-special strong{color:#e7bd78}.cap-detail-panel{display:grid;gap:14px}.cap-detail-panel p{line-height:1.6;color:#c3d0d8}.cap-detail-status{padding:12px;border:1px solid #29475b;border-radius:9px;background:#0b2130}.cap-detail-status span,.cap-detail-status strong{display:block}.cap-detail-status span{font-size:10px;color:#8298a7}.cap-detail-status strong{font-size:18px;color:#f1f5f7;margin-top:3px}.cap-open-lease{justify-self:start}
@media(max-width:1050px){.command-kpi-band{grid-template-columns:1fr 1fr}.command-kpi:nth-child(2){border-right:0}.command-kpi:nth-child(-n+2){border-bottom:1px solid #21394e}.command-layout{grid-template-columns:1fr}.verified-lease-card{grid-template-columns:1.3fr .55fr .8fr .75fr}.verified-health,.stack-arrow{display:none}.ownership-asset-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.command-hero{align-items:flex-start;flex-direction:column}.command-rent{text-align:left}.command-kpi-band,.owner-summary-band,.ownership-asset-grid{grid-template-columns:1fr}.command-kpi,.owner-summary-band>div{border-right:0;border-bottom:1px solid #21394e}.verified-lease-card{grid-template-columns:1fr 1fr}.verified-lease-main{grid-column:1/-1}.gla-alert{grid-template-columns:auto 1fr}.gla-alert button{grid-column:1/-1}.asset-card-stats{grid-template-columns:1fr}.owner-summary-band>div:last-child{border-bottom:0}}

/* V40 — digestibility pass: ownership controls, occupancy deck, document gaps, 95% recovery clauses */
.topbar.ownership-mode #add-property,.topbar.ownership-mode #add-folder,.topbar.ownership-mode #add-document,.topbar.ownership-mode #log-event{display:none!important}
.topbar.ownership-mode .top-actions{margin-left:auto}.ownership-glance-raised{margin:0 0 16px}.ownership-flow-lower{margin-top:0}

/* Make verified occupancy unmistakably stacked and visually segmented. */
.verified-occupancy-deck{gap:0;padding:4px 0 10px}.occupancy-card{position:relative;margin-top:-1px;border-radius:0!important;grid-template-columns:42px minmax(220px,1.35fr) .55fr .8fr .75fr auto 20px!important;padding:15px 16px!important;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.occupancy-card:first-child{border-radius:12px 12px 0 0!important;margin-top:0}.occupancy-card:last-child{border-radius:0 0 12px 12px!important}.occupancy-card:hover{z-index:3;transform:translateX(5px) scale(1.003)!important}
.occupancy-card-index{font-size:10px;font-weight:850;letter-spacing:.08em;color:#708b9f}.occupancy-card.tone-0{background:linear-gradient(90deg,#0b2232,#0c1f2e)!important;border-left-color:#6b91aa!important}.occupancy-card.tone-1{background:linear-gradient(90deg,#241f18,#0d202d 24%)!important;border-left-color:#c09654!important}.occupancy-card.tone-2{background:linear-gradient(90deg,#10281f,#0c202e 24%)!important;border-left-color:#69a88c!important}.occupancy-card.tone-3{background:linear-gradient(90deg,#211d2b,#0c202e 24%)!important;border-left-color:#8d7ab2!important}
.occupancy-stat{padding-left:12px;border-left:1px solid rgba(125,155,174,.16)}.occupancy-stat>span{letter-spacing:.05em;text-transform:uppercase}.occupancy-stat>strong{margin-top:3px}

/* Document completeness is important but should not read like a page full of red errors. */
.doc-completeness-shell{padding:20px!important}.doc-count-pill{background:rgba(192,150,84,.14)!important;color:#dfba7b!important;border:1px solid #705b3d!important}.doc-completeness-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid #294457;border-radius:10px;overflow:hidden;background:#294457;margin-bottom:16px}.doc-completeness-summary>div{background:#0b2130;padding:13px 15px}.doc-completeness-summary span{display:block;color:#8197a6;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.doc-completeness-summary strong{display:block;color:#eff4f7;font-size:20px;margin-top:4px}.doc-gap-list{display:grid;gap:8px}.doc-gap-card{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto 18px;gap:13px;align-items:center;border:1px solid #29475b;border-left:4px solid #547d96;background:#0b1f2e;border-radius:10px;padding:13px 14px;text-align:left;color:inherit;cursor:pointer}.doc-gap-card:hover{background:#10283a;transform:translateX(3px)}.doc-gap-card.doc-tone-1{border-left-color:#b38a4b}.doc-gap-card.doc-tone-2{border-left-color:#648f7e}.doc-gap-card.doc-tone-3{border-left-color:#766b96}.doc-gap-mark{font-size:9px;font-weight:850;color:#738b9b}.doc-gap-top{display:flex;gap:9px;align-items:center}.doc-gap-top span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#d1aa68}.doc-gap-top strong{font-size:11px;color:#aebfca}.doc-gap-copy h3{margin:4px 0!important;color:#edf3f6;font-size:13px!important}.doc-gap-copy p{margin:0;color:#8399a8;font-size:10px}.doc-gap-copy details{margin-top:7px}.doc-gap-copy summary{font-size:9px;color:#8198a8;cursor:pointer}.doc-gap-status{font-size:8px;letter-spacing:.07em;font-weight:800;color:#d7b270;background:rgba(180,135,69,.13);border:1px solid #665137;border-radius:999px;padding:5px 7px}.doc-gap-arrow{color:#6f8797}

/* Surface lease-specific 95% recovery denominator clauses separately from caps. */
.recovery-95-section{border:1px solid #31526a;border-radius:12px;padding:16px;background:linear-gradient(135deg,rgba(18,47,65,.65),rgba(10,29,42,.45))}.clause95-pill{background:rgba(92,139,164,.16)!important;color:#a9d0e4!important;border:1px solid #3c677d!important}.clause95-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.clause95-card{border:1px solid #315064;background:#0a2130;border-radius:10px;padding:13px;text-align:left;color:inherit;cursor:pointer}.clause95-card:hover{background:#102b3d;border-color:#527d96}.clause95-card>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:4px 9px;align-items:center}.clause95-status{grid-row:1/3;align-self:start;font-size:8px;font-weight:800;color:#d3b06f;background:rgba(184,137,69,.12);padding:5px 6px;border-radius:6px}.clause95-card strong{display:block;color:#edf4f7;font-size:12px}.clause95-card small{display:block;color:#7f96a6;font-size:8px}.clause95-value{font-size:30px;font-weight:900;color:#a9cee2;margin:12px 0 6px}.clause95-card p{color:#9db0bc;font-size:10px;line-height:1.5;margin:0}.clause95-open{display:block;color:#d4aa67;font-size:9px;margin-top:10px}

@media(max-width:1050px){.occupancy-card{grid-template-columns:34px 1.25fr .55fr .8fr .75fr!important}.occupancy-card .verified-health,.occupancy-card .stack-arrow{display:none}.clause95-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.occupancy-card{grid-template-columns:32px 1fr 1fr!important}.occupancy-card .verified-lease-main{grid-column:2/-1}.occupancy-card .occupancy-stat{padding:8px 0;border-left:0}.doc-completeness-summary,.clause95-grid{grid-template-columns:1fr}.doc-gap-card{grid-template-columns:28px 1fr}.doc-gap-status,.doc-gap-arrow{display:none}}

/* V40 — production-ready clickable occupancy stacking chart */
.occupancy-chart-head{align-items:flex-end}.occupancy-chart-head>div strong,.occupancy-chart-head>div small{display:block}.occupancy-chart-head>div small{margin-top:4px;color:#7f96a6;font-size:9px;font-weight:500}
.occupancy-stack-chart{display:flex;width:100%;min-height:62px;overflow:hidden;border:1px solid #315269;border-radius:11px;background:#081a27;margin:14px 0 12px}.occupancy-segment{flex:0 0 var(--occ-share);min-width:16px;border:0;border-right:1px solid rgba(5,18,27,.6);padding:0 7px;display:flex;align-items:center;justify-content:center;color:#f5f8fa;font:inherit;cursor:pointer;overflow:hidden;transition:filter .15s ease,transform .15s ease}.occupancy-segment:last-child{border-right:0}.occupancy-segment span{font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.occupancy-segment:hover,.occupancy-segment:focus-visible{filter:brightness(1.18);outline:2px solid #d4aa67;outline-offset:-3px;z-index:2}.occupancy-segment:active{transform:scaleY(.95)}
.occ-series-0{background:#315f7b}.occ-series-1{background:#8b6d3e}.occ-series-2{background:#467863}.occ-series-3{background:#665782}.occ-series-4{background:#486a87}.occ-series-5{background:#7b5847}.occ-series-6{background:#536f68}.occupancy-vacant{background:repeating-linear-gradient(135deg,#263644 0,#263644 7px,#1a2a36 7px,#1a2a36 14px);cursor:default}
.occupancy-stack-list{display:grid;border:1px solid #253f52;border-radius:10px;overflow:hidden}.occupancy-stack-row{display:grid;grid-template-columns:8px minmax(180px,1fr) 120px 20px;gap:12px;align-items:center;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #20394b;background:#0a1e2c;color:inherit;text-align:left;font:inherit;cursor:pointer}.occupancy-stack-row:last-child{border-bottom:0}.occupancy-stack-row:hover{background:#102a3a}.occupancy-swatch{width:8px;height:32px;border-radius:4px}.occupancy-tenant strong,.occupancy-tenant small,.occupancy-sf strong,.occupancy-sf small{display:block}.occupancy-tenant strong,.occupancy-sf strong{color:#eaf1f5;font-size:11px}.occupancy-tenant small,.occupancy-sf small{color:#7f96a5;font-size:9px;margin-top:2px}.occupancy-sf{text-align:right}.occupancy-open{color:#d2aa69;font-size:16px;text-align:right}
@media(max-width:700px){.occupancy-stack-chart{min-height:48px}.occupancy-segment span{display:none}.occupancy-stack-row{grid-template-columns:7px 1fr auto 16px}.occupancy-sf{min-width:90px}}
/* V41 Yardi monthly upload */
.yardi-upload-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.yardi-upload-hero h2{margin:2px 0 8px}.yardi-upload-hero p{max-width:760px}.yardi-period{display:flex;gap:14px;align-items:flex-end;min-width:330px}.yardi-period label{flex:1}.yardi-period>div{min-width:130px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.yardi-period>div span,.yardi-period>div small{display:block;color:var(--muted);font-size:11px}.yardi-period>div strong{display:block;font-size:22px;margin:2px 0}.yardi-data-map,.yardi-package,.yardi-setup-card{margin-top:16px}.yardi-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.yardi-map-grid>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02)}.yardi-map-grid strong,.yardi-map-grid span{display:block}.yardi-map-grid span{margin-top:5px;color:var(--muted);font-size:12px}.yardi-report-list{display:grid;gap:8px}.yardi-report-row{display:grid;grid-template-columns:42px minmax(0,1fr) 310px;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(255,255,255,.008))}.yardi-report-row.uploaded{border-color:rgba(80,180,130,.35);background:linear-gradient(90deg,rgba(70,160,115,.08),rgba(255,255,255,.01))}.yardi-report-num{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.yardi-report-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.yardi-report-title>span:not(.pill){font-size:11px;color:var(--muted)}.yardi-report-copy p{margin:6px 0 4px;color:var(--muted);font-size:12px;line-height:1.45}.yardi-report-copy details summary{font-size:11px;color:var(--muted);cursor:pointer}.yardi-upload-slot{display:flex;gap:8px;align-items:center;justify-content:flex-end}.yardi-upload-slot input[type=file]{min-width:0;width:205px;font-size:11px}.yardi-file-ok{min-width:0;flex:1}.yardi-file-ok span{display:block;font-size:10px;letter-spacing:.08em;color:#6fc89b}.yardi-file-ok strong,.yardi-file-ok small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yardi-file-ok small{color:var(--muted);font-size:10px;margin-top:2px}.yardi-setup-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.yardi-setup-list>div{padding:14px;border:1px solid var(--border);border-radius:12px}.yardi-setup-list strong,.yardi-setup-list span{display:block}.yardi-setup-list span{font-size:11px;color:var(--muted);margin-top:3px}.yardi-setup-list p{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.45}.yardi-source-note{margin-top:16px}.sidebar .nav-item[data-view="yardi-upload"]{position:relative}.sidebar .nav-item[data-view="yardi-upload"]:after{content:'MONTHLY';font-size:8px;letter-spacing:.08em;opacity:.55;margin-left:auto}
@media(max-width:1100px){.yardi-report-row{grid-template-columns:36px minmax(0,1fr)}.yardi-upload-slot{grid-column:2}.yardi-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.yardi-upload-hero{flex-direction:column}.yardi-period{width:100%}}

/* V42 — single Yardi monthly package */
.yardi-v42-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px 30px;margin-bottom:18px;background:linear-gradient(135deg,rgba(15,37,53,.96),rgba(8,23,35,.96));border-color:#2f536c}.yardi-v42-hero h2{margin:3px 0 8px;font-size:28px}.yardi-v42-hero p{max-width:850px;color:#9fb1c1;margin:0}.yardi-v42-status{min-width:190px;padding:17px 20px;border:1px solid #554d2c;border-radius:14px;background:rgba(178,143,55,.08);display:flex;flex-direction:column;gap:3px}.yardi-v42-status.validated{border-color:#285a49;background:rgba(47,133,98,.08)}.yardi-v42-status span,.yardi-v42-status small{color:#93a4b5;font-size:12px}.yardi-v42-status strong{font-size:20px;color:#f1f5f8}.yardi-v42-month{position:absolute;right:30px;bottom:-52px;display:flex;align-items:center;gap:10px;color:#8297a9;font-size:12px}.yardi-v42-month input{background:#081723;border:1px solid #28445b;color:#dfe8ee;padding:8px 10px;border-radius:8px}.yardi-v42-upload{margin-top:58px}.yardi-v42-drop{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,420px) auto;gap:16px;align-items:center;border:1px dashed #34566d;border-radius:14px;padding:20px;background:rgba(24,52,70,.22)}.yardi-v42-drop strong{font-size:16px}.yardi-v42-drop p{margin:6px 0 0;color:#8fa4b6;line-height:1.5}.yardi-v42-drop input{width:100%;background:#071521;border:1px solid #29475d;border-radius:10px;padding:10px;color:#b8c6d1}.yardi-v42-current{margin-top:14px;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 16px;border-radius:12px;background:rgba(44,133,97,.08);border:1px solid #275846}.yardi-v42-current>div{display:flex;flex-direction:column;gap:3px}.yardi-v42-current span{font-size:10px;letter-spacing:.12em;color:#6fae91}.yardi-v42-current small{color:#8499aa}.yardi-v42-contract{margin-top:18px}.yardi-v42-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.yardi-v42-tab{appearance:none;text-align:left;background:#091927;border:1px solid #203c51;border-radius:11px;color:#d9e3ea;padding:12px 14px;display:grid;grid-template-columns:36px minmax(0,1fr) 24px;gap:10px;align-items:center;cursor:pointer;transition:.16s ease}.yardi-v42-tab:hover{border-color:#416983;background:#0b1e2e}.yardi-v42-tab>span{font-variant-numeric:tabular-nums;color:#5f7990;font-size:11px}.yardi-v42-tab div{min-width:0;display:flex;flex-direction:column;gap:2px}.yardi-v42-tab strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yardi-v42-tab small{font-size:11px;color:#7f94a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yardi-v42-tab>b{color:#6c8396;text-align:right}.yardi-v42-tab.found{border-color:#2b624d;background:rgba(43,98,77,.12)}.yardi-v42-tab.found>b{color:#72c49f}.yardi-v42-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.yardi-v42-source-list,.yardi-v42-rules{display:grid;gap:8px}.yardi-v42-source-list>div,.yardi-v42-rules>div{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid #1e394d;border-radius:10px;background:#091825}.yardi-v42-source-list strong,.yardi-v42-rules strong{font-size:13px;color:#dce5eb}.yardi-v42-source-list span,.yardi-v42-rules span{font-size:12px;line-height:1.4;color:#7f95a7}
@media(max-width:980px){.yardi-v42-hero{grid-template-columns:1fr}.yardi-v42-status{min-width:0}.yardi-v42-month{position:static;margin-top:8px}.yardi-v42-upload{margin-top:18px}.yardi-v42-drop{grid-template-columns:1fr}.yardi-v42-tabs,.yardi-v42-grid{grid-template-columns:1fr}}

/* ===== TOVA V43 · RENT & ROLLOVER ===== */
.rr-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:linear-gradient(135deg,rgba(18,31,50,.96),rgba(25,43,65,.92));}
.rr-hero h2{margin:3px 0 8px;font-size:30px}.rr-hero p{max-width:760px;color:var(--muted);line-height:1.55}.rr-source{margin-top:12px;font-size:12px;color:#c8d2df}.rr-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.rr-controls{display:flex;gap:14px;align-items:end;margin-top:16px;flex-wrap:wrap}.rr-controls label{min-width:180px;flex:1}.rr-controls select{width:100%}
.rr-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:16px}.rr-kpi{border:1px solid var(--border);background:rgba(255,255,255,.035);border-radius:14px;padding:14px;text-align:left;color:inherit;min-width:0}.rr-kpi span,.rr-kpi small{display:block;color:var(--muted)}.rr-kpi span{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.rr-kpi strong{display:block;font-size:22px;margin:7px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-kpi small{font-size:11px}.rr-kpi.clickable{cursor:pointer;width:100%;font:inherit}.rr-kpi.clickable:hover{border-color:rgba(207,170,95,.65);background:rgba(207,170,95,.07)}
.rr-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}.rr-trend-svg{width:100%;height:auto;display:block;margin-top:10px}.rr-trend-svg text{fill:var(--muted);font-size:11px}.rr-axis{stroke:rgba(255,255,255,.15);stroke-width:1}.rr-line{stroke:#d5b46d;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.rr-dot{fill:#d5b46d}
.rr-year-bars{height:185px;display:flex;gap:9px;align-items:flex-end;padding:14px 2px 0;overflow-x:auto}.rr-year{background:none;border:0;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:56px;cursor:pointer;padding:0 3px 4px}.rr-year i{display:block;width:30px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#6f8da8,#38556d);border:1px solid rgba(255,255,255,.14);transition:.18s ease}.rr-year:hover i{filter:brightness(1.25);transform:translateY(-2px)}.rr-year b{font-size:11px}.rr-year-amount{font-size:10px;color:var(--muted);white-space:nowrap;transform:rotate(-35deg);transform-origin:center;margin-bottom:9px}
.rr-fee-card,.rr-property-card,.rr-contract-note{margin-top:16px}.rr-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.rr-scenarios>div{padding:15px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.rr-scenarios span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.rr-scenarios strong{display:block;font-size:21px;margin-top:6px}
.rr-table{margin-top:12px;border:1px solid var(--border);border-radius:13px;overflow:hidden}.rr-row{display:grid;grid-template-columns:minmax(230px,1.8fr) repeat(6,minmax(105px,1fr));align-items:center;gap:8px;padding:11px 12px;border-top:1px solid var(--border);min-width:1020px}.rr-row:first-child{border-top:0}.rr-row.head{background:rgba(255,255,255,.045);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.rr-row:not(.head):hover{background:rgba(255,255,255,.025)}.rr-property-name{border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:0;font:inherit}.rr-property-name strong,.rr-property-name small{display:block}.rr-property-name strong{font-size:14px}.rr-property-name small{color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-fee-input{display:flex;align-items:center;gap:5px}.rr-fee-input input{width:76px;min-width:0}.rr-fee-input span{color:var(--muted)}.rr-property-card{overflow-x:auto}.rr-contract-note p{margin:8px 0 0;color:var(--muted);line-height:1.55}
@media(max-width:1200px){.rr-kpis{grid-template-columns:repeat(3,1fr)}.rr-grid{grid-template-columns:1fr}.rr-scenarios{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.rr-hero{flex-direction:column}.rr-actions{justify-content:flex-start}.rr-kpis{grid-template-columns:1fr 1fr}.rr-scenarios{grid-template-columns:1fr}.rr-controls{display:grid;grid-template-columns:1fr}.rr-year-amount{transform:none;margin-bottom:0}}

/* ===== TOVA V44 · RENT & ROLLOVER MONTH-BY-MONTH + SDI FEE MODEL ===== */
.rr-month-card{margin-top:16px;overflow:hidden}.rr-month-headline{gap:18px;align-items:flex-end}.rr-month-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.rr-month-actions label{min-width:128px;margin:0}.rr-month-actions .rr-search-label{min-width:210px}.rr-month-actions select,.rr-month-actions input{width:100%}
.rr-month-table-wrap{margin-top:14px;border:1px solid var(--border);border-radius:13px;overflow:auto;max-height:620px;background:rgba(7,14,24,.55)}
.rr-month-table{border-collapse:separate;border-spacing:0;min-width:max-content;width:max-content;font-size:12px}.rr-month-table th,.rr-month-table td{height:42px;padding:7px 10px;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap;text-align:right;background:#101a28}.rr-month-table thead th{position:sticky;top:0;z-index:8;background:#182638;color:#cbd5e1;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.rr-month-table .rr-sticky{position:sticky;text-align:left;z-index:5}.rr-month-table thead .rr-sticky{z-index:12}.rr-col-portfolio{left:0;min-width:82px;width:82px}.rr-col-property{left:82px;min-width:224px;width:224px}.rr-col-tenant{left:306px;min-width:270px;width:270px}.rr-month-table tbody .rr-sticky{background:#111d2c}.rr-month-table tr:hover td{background:#142235}.rr-month-table tr:hover .rr-sticky{background:#16263a}.rr-month-table .rr-month-head{min-width:106px;text-align:center}.rr-month-table .rr-property-total td{background:#172537;font-weight:700}.rr-month-table .rr-property-total .rr-sticky{background:#1a2b40}.rr-month-table .rr-grand-total td{background:#1f3045;font-weight:800;border-bottom-color:rgba(213,180,109,.45)}.rr-month-table .rr-grand-total .rr-sticky{background:#21344b}.rr-month-table .rr-col-property button{border:0;background:none;color:inherit;text-align:left;padding:0;cursor:pointer;font:inherit}.rr-month-table .rr-col-property button strong,.rr-month-table .rr-col-property button small,.rr-month-table .rr-col-tenant strong,.rr-month-table .rr-col-tenant small{display:block}.rr-month-table .rr-col-property small,.rr-month-table .rr-col-tenant small{color:var(--muted);margin-top:2px;max-width:250px;overflow:hidden;text-overflow:ellipsis}.rr-month-table .rr-cell.step{background:rgba(213,180,109,.16);box-shadow:inset 0 2px 0 rgba(213,180,109,.7)}.rr-month-table .rr-cell.commence{background:rgba(75,150,112,.18);box-shadow:inset 0 2px 0 rgba(91,184,134,.78)}.rr-month-table .rr-cell.rolloff{background:rgba(160,73,73,.18);box-shadow:inset 0 2px 0 rgba(206,91,91,.82)}.rr-month-table .rr-cell.zero{color:#526174;background:#0d1723}
.rr-fee-lanes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.rr-fee-lanes>div{border:1px solid var(--border);border-radius:13px;padding:16px;background:rgba(255,255,255,.025)}.rr-fee-lanes strong{display:block;font-size:17px;margin:10px 0 5px}.rr-fee-lanes p{margin:0;color:var(--muted);line-height:1.55}
.rr-fee-model-wrap{margin-top:14px;border:1px solid var(--border);border-radius:13px;overflow:auto}.rr-fee-model{border-collapse:separate;border-spacing:0;min-width:1800px;width:100%;font-size:12px}.rr-fee-model th,.rr-fee-model td{padding:9px 10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.rr-fee-model th{position:sticky;top:0;background:#1b2a3d;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.055em;text-align:left;z-index:2}.rr-fee-model tr:last-child td{border-bottom:0}.rr-fee-model td:first-child{min-width:250px}.rr-fee-model input{min-width:120px;width:140px}.rr-fee-model td:last-child input{width:240px}.rr-inline-input{display:flex;align-items:center;gap:5px}.rr-inline-input input{width:80px;min-width:70px}.rr-inline-input span{color:var(--muted)}.rr-fee-model .rr-negative{color:#f1a2a2;font-weight:700}.rr-fee-foot{padding:12px 2px 0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:900px){.rr-month-headline{align-items:flex-start;flex-direction:column}.rr-month-actions{justify-content:flex-start;width:100%}.rr-fee-lanes{grid-template-columns:1fr}.rr-col-property{min-width:190px;width:190px}.rr-col-tenant{left:272px;min-width:220px;width:220px}}
.topbar.rent-roll-mode .scope-controls{display:none}
/* V45 financial coverage */
.fin-source-card{margin-top:18px}.fin-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.fin-source-grid>div,.fin-rule-grid>div{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:10px;padding:13px}.fin-source-grid span,.fin-source-grid small,.fin-rule-grid span{display:block;color:var(--muted);font-size:12px}.fin-source-grid strong{display:block;margin:6px 0;font-size:15px}.fin-hierarchy{margin-top:12px;padding:12px 14px;border-left:3px solid var(--gold);background:rgba(196,163,94,.06);font-size:13px;color:var(--muted)}.fin-table-wrap{overflow:auto;max-height:560px;border:1px solid var(--line);border-radius:10px}.fin-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.fin-table th{position:sticky;top:0;z-index:2;background:#111821;color:var(--muted);text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.fin-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.fin-table td small{display:block;color:var(--muted);margin-top:3px}.fin-check{color:#76c893}.fin-gap{color:#d8b25c}.fin-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fin-rule-grid b{display:block;margin-bottom:5px}.fin-conflict-card{margin-top:18px}@media(max-width:1100px){.fin-source-grid,.fin-rule-grid{grid-template-columns:1fr 1fr}}

/* V46 combined portfolio / source confidence */
.dashboard-combine-control{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}.dashboard-combine-control span{font-size:12px;color:var(--muted)}
.pill.med + .pill.med{display:inline-flex;margin-left:0}

/* V47 owner report modeling */
.owner-modeler-v47{margin:18px 0}.owner-model-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.owner-model-controls label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.owner-model-controls input,.owner-model-controls select{width:100%}.owner-model-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.owner-model-metrics label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:9px 11px;border-radius:9px;font-size:13px}.owner-model-actions{display:flex;gap:10px}.owner-model-preview{margin-top:16px}.owner-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;border-top:1px solid var(--line);padding-top:16px}.owner-preview-head span{color:var(--gold);font-size:11px;letter-spacing:.12em}.owner-preview-head h3{margin:4px 0 0}.owner-preview-head small{color:var(--muted)}.owner-model-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.owner-model-kpi{padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.owner-model-kpi span{display:block;color:var(--muted);font-size:12px}.owner-model-kpi strong{display:block;font-size:20px;margin-top:6px}.owner-saved-models{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.owner-saved-model{width:100%;display:flex;justify-content:space-between;text-align:left;padding:11px 12px;margin-top:7px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit}.owner-saved-model span{color:var(--muted)}
@media(max-width:1000px){.owner-model-controls,.owner-model-kpi-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.owner-model-controls,.owner-model-kpi-grid{grid-template-columns:1fr}}

/* TOVA V48 */
.rent-confidence-v48{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px;font-size:11px}.rent-confidence-v48 span{padding:5px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.rent-confidence-v48 .verified{color:#9ed8bd;background:rgba(37,111,84,.16)}.rent-confidence-v48 .unverified{color:#f0c06d;background:rgba(180,119,28,.14)}
/* V49 navigation + tenant buildout */
.sidebar{height:100vh;position:sticky;top:0;overflow:hidden;min-height:0}
.sidebar nav{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;padding-right:5px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:8px}
.sidebar-note{flex:0 0 auto}
.nav-section-label{cursor:pointer;user-select:none;position:relative;padding-right:22px}
.nav-section-label:after{content:'▾';position:absolute;right:5px;transition:transform .18s ease;color:#8093aa}
.nav-section-label.collapsed:after{transform:rotate(-90deg)}
.nav-item.nav-collapsed{display:none}
.buildout-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.buildout-stage{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel)}
.buildout-stage strong{display:block;font-size:14px}.buildout-stage span{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.buildout-stage.complete{border-color:rgba(6,118,71,.4)}.buildout-stage.current{border-color:#d5a54b;box-shadow:inset 0 0 0 1px rgba(213,165,75,.2)}
.buildout-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.buildout-checklist{display:grid;gap:9px}
.buildout-check{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}
.buildout-check input{width:18px;height:18px}.buildout-check .req{font-size:11px;font-weight:800}.buildout-check .req.required{color:#b54708}.buildout-check .req.optional{color:var(--muted)}
.release-gate{border:1px solid var(--line);border-radius:13px;padding:16px}.release-gate.blocked{border-color:rgba(181,71,8,.45)}.release-gate.ready{border-color:rgba(6,118,71,.45)}
.release-gate .gate-status{font-size:22px;font-weight:800;margin:6px 0}.buildout-project-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.buildout-project-tabs button.active{border-color:#d5a54b;color:#d5a54b}
@media(max-width:1050px){.buildout-stage-grid{grid-template-columns:1fr 1fr}.buildout-layout{grid-template-columns:1fr}}

/* V50 Decision Intelligence */
.v50-value-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.v50-value-band button{background:linear-gradient(180deg,rgba(22,45,60,.96),rgba(12,29,40,.96));border:1px solid rgba(211,160,77,.22);border-radius:14px;padding:16px;text-align:left;color:inherit;cursor:pointer;min-height:112px}
.v50-value-band span,.v50-ledger span{display:block;font-size:10px;letter-spacing:.12em;color:#9fb0bb;font-weight:800}.v50-value-band strong{display:block;font-size:25px;margin:8px 0 5px;color:#f4f7f8}.v50-value-band small{color:#91a3ae}
.v50-decision-shell{margin:16px 0;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(8,22,31,.66)}
.v50-exception-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.v50-exception{display:block;width:100%;text-align:left;background:#102733;border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:15px;color:inherit;cursor:pointer}.v50-exception:hover{border-color:rgba(211,160,77,.55);transform:translateY(-1px)}.v50-exception.urgent{border-left:3px solid #d26b62}.v50-exception-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.v50-domain{font-size:10px;letter-spacing:.12em;color:#d3a04d;font-weight:900}.v50-exception>strong{display:block;margin:9px 0 5px;font-size:15px}.v50-exception p{margin:0 0 10px;color:#aebcc4;font-size:12px;line-height:1.45}.v50-chain{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v50-chain span{background:rgba(255,255,255,.035);padding:9px;border-radius:8px;font-size:11px;color:#c3cdd2}.v50-chain b{display:block;font-size:9px;letter-spacing:.1em;color:#80949f;margin-bottom:4px}.v50-exception small{display:block;margin-top:10px;color:#8297a2}
.v50-confidence{display:inline-block!important;font-size:9px!important;letter-spacing:.08em!important;border-radius:999px;padding:4px 7px;font-weight:900!important;background:#243946;color:#b9c8d0!important}.v50-confidence.verified{background:rgba(71,151,111,.18);color:#7fd0a1!important}.v50-confidence.derived{background:rgba(70,123,164,.2);color:#8db8dc!important}.v50-confidence.modeled{background:rgba(211,160,77,.16);color:#e0b76d!important}.v50-confidence.incomplete,.v50-confidence.conflict{background:rgba(190,91,80,.17);color:#df8b81!important}
.v50-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v50-ledger>div{background:#102733;border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:15px}.v50-ledger strong{display:block;font-size:22px;margin:7px 0}.v50-ledger small{display:flex;gap:8px;align-items:center;color:#aebcc4}.owner-summary-band{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}.v50-owner-decisions{margin-top:16px}
@media(max-width:1000px){.v50-value-band{grid-template-columns:repeat(2,1fr)}.v50-exception-grid{grid-template-columns:1fr}}@media(max-width:650px){.v50-value-band,.v50-ledger{grid-template-columns:1fr}.v50-chain{grid-template-columns:1fr}}


/* ===== TOVA V51 · dark-theme legibility hardening ===== */
/* Legacy V1–V33 components used light hard-coded surfaces. In the production-dark shell,
   all information-bearing surfaces must preserve readable contrast. */
.rent-box,.source,.answer,.health-reason,.search-hit,.doc-row,.owner-kpi,.owner-report-row,
.ownership-property-row,.accounting-tenant-list,.accounting-tenant-row,.leakage-row,
.traffic-score,.health-choice,.action-btn,.tab,.secondary,.modal,.modal input,.modal select,
.scope-controls select,.owner-model-controls input,.owner-model-controls select,
.owner-model-kpi,.owner-saved-model,.buildout-stage {
  background:#0f2231 !important;color:#edf3f7 !important;border-color:#29465a !important;
}
.rent-box strong,.owner-model-kpi strong,.health-reason strong,.source strong{color:#f5f8fa!important}
.rent-box span,.source,.health-reason,.owner-model-kpi span,.owner-preview-head small{color:#9fb0bd!important}
.source{border-left-color:#6d8291!important}
.secondary:hover,.action-btn:hover,.tab:hover,.health-choice:hover{background:#173247!important}
.modal-backdrop{background:rgba(2,9,15,.78)!important}
.modal h2,.modal label{color:#f2f6f8!important}
.owner-model-preview{min-height:110px}
.owner-preview-head{border-top-color:#29465a!important}
/* Report overlay is intentionally a printable light report; isolate its colors from dark global tokens. */
.ownership-report-sheet{--text:#172033;--muted:#6b7486;--line:#e5e9f1;--panel:#fff;color:#172033}
.ownership-report-sheet .secondary{background:#fff!important;color:#172033!important;border-color:#d9e0e8!important}
.ownership-report-sheet .primary{background:#b9833f!important;color:#08131c!important}
.ownership-report-sheet .eyebrow{color:#6b7486!important}
/* Never allow legacy white surface + white inherited text combinations. */
.card input,.card select{color:#edf3f7;background:#0b1d2b;border-color:#29465a}

/* V53 · 3011 Capital / CAM decision control */
.capital-review-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.capital-review-hero>div{border:1px solid var(--line);background:rgba(8,29,43,.62);border-radius:12px;padding:14px}.capital-review-hero span,.capital-review-hero small{display:block;color:var(--muted);font-size:12px}.capital-review-hero strong{display:block;font-size:18px;margin:5px 0;color:var(--text)}.capex-lease-grid{display:grid;gap:9px;margin-top:12px}.capex-lease-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;text-align:left;border:1px solid var(--line);background:rgba(7,28,41,.56);border-radius:12px;padding:13px 14px;color:var(--text);cursor:pointer}.capex-lease-row:hover{border-color:rgba(211,160,77,.75);transform:translateY(-1px)}.capex-lease-row strong,.capex-lease-row span,.capex-lease-row small{display:block}.capex-lease-row span:not(.pill),.capex-lease-row small{color:var(--muted);margin-top:4px}.high-attention{border-left:3px solid var(--gold)}
@media(max-width:1000px){.capital-review-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.capex-lease-row{grid-template-columns:1fr}}

/* V55 — owner-review hardening: vacancy visibility and 3011 intelligence */
.occupancy-vacant{color:#e7edf1;font-weight:800;min-width:72px}
.occupancy-vacant span{font-size:10px;letter-spacing:.04em}
.occupancy-stack-row.vacant-row{cursor:default;background:rgba(255,255,255,.025)}
.occupancy-stack-row.vacant-row:hover{transform:none;filter:none}
.occupancy-swatch.vacant-swatch{background:repeating-linear-gradient(135deg,#52616e 0,#52616e 6px,#2b3944 6px,#2b3944 12px)}
.v55-vacancy-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#244052;border:1px solid #294a5e;border-radius:12px;overflow:hidden;margin-bottom:16px}
.v55-vacancy-hero>div{background:#0d2230;padding:16px}.v55-vacancy-hero span{display:block;color:#9db0bf;font-size:11px}.v55-vacancy-hero strong{display:block;color:#f2f5f7;font-size:21px;margin-top:4px}
.v55-assumption-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v55-assumption-grid .field{margin:0}
.v55-intel-alert{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:14px 16px;border:1px solid #35546a;border-radius:10px;background:#0d2635;margin-top:12px}.v55-intel-alert p{margin:4px 0 0;color:#aebdca}.v55-intel-alert strong{color:#f0f4f7}
@media(max-width:1000px){.v55-vacancy-hero,.v55-assumption-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V57 · Expense Treatment Scenario */
.v57-scenario{border:1px solid rgba(211,160,77,.38)!important;border-radius:14px;padding:16px;background:rgba(10,31,43,.72)}
.v57-controls{display:flex;gap:10px;align-items:end;margin:12px 0 14px}.v57-controls label{font-size:12px;color:#aebdca}.v57-controls input{width:90px;margin-left:8px;padding:9px;border:1px solid #35546a;border-radius:8px;background:#081c29;color:#f2f5f7}
.v57-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v57-scenario-card{border:1px solid #35546a;border-radius:13px;padding:16px;background:#0b2230}.v57-scenario-card.preferred{border-color:rgba(211,160,77,.62)}.v57-label{font-size:10px;letter-spacing:.12em;color:#d3a04d;font-weight:900}.v57-scenario-card h4{margin:6px 0}.v57-big{font-size:27px;font-weight:900;color:#f4f7f8;margin:10px 0}.v57-big small{font-size:12px;color:#9fb0bd}.v57-scenario-card p,.v57-scenario-card>small{color:#9fb0bd}.v57-stat{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.07);padding:9px 0;font-size:12px}.v57-stat.total{color:#f0c06c;font-weight:800}
.v57-table{margin-top:14px;border:1px solid #29465a;border-radius:12px;overflow:hidden}.v57-row{display:grid;grid-template-columns:1.25fr .75fr .8fr .9fr 1.65fr;gap:10px;align-items:center;width:100%;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:#0d2230;color:#edf3f7}.v57-row.head{background:#102b3b;font-size:10px;letter-spacing:.06em;color:#9fb0bd;font-weight:800}.v57-row.clickable{cursor:pointer}.v57-row.clickable:hover{background:#153247}.v57-row span,.v57-row small{display:block}.v57-row small{color:#91a3ae;margin-top:3px;font-size:10px}
@media(max-width:1050px){.v57-compare{grid-template-columns:1fr}.v57-row{grid-template-columns:1fr 1fr}.v57-row.head{display:none}}

/* TOVA V58 · source-linked capital-expense lease matrix */
.v58-capex-matrix{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.v58-lease-card{width:100%;display:grid;grid-template-columns:220px 1fr;gap:18px;text-align:left;background:#0b2231;border:1px solid #27485b;border-radius:12px;padding:16px;margin:10px 0;color:var(--text);cursor:pointer}.v58-lease-card:hover{border-color:#d7a44d}.v58-lease-name{display:flex;flex-direction:column;gap:5px}.v58-lease-name span,.v58-evidence p,.v58-hit span,.v58-nohit{color:var(--muted)}.v58-evidence p{margin:8px 0 6px}.v58-evidence details{margin-top:8px}.v58-evidence summary{color:#e6b75d;cursor:pointer;font-weight:700}.v58-hit{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid #27485b}.v58-hit:first-of-type{margin-top:8px}.v58-hit strong{font-size:12px;color:#e6b75d}.v58-hit span{font-size:13px;line-height:1.45}.v58-nohit{font-size:13px;font-weight:700;margin-top:8px}.pill.muted{background:#263745;color:#b9c7d1}@media(max-width:900px){.v58-lease-card{grid-template-columns:1fr}}


/* TOVA V62 · evidence interaction + recovery coverage */
.v62-lease-card{width:100%;display:grid;grid-template-columns:220px 1fr;gap:18px;text-align:left;background:#0b2231;border:1px solid #27485b;border-radius:12px;padding:16px;margin:10px 0;color:var(--text)}
.v62-lease-card:hover{border-color:#46677a}.v62-lease-card .secondary.small,.v62-recovery-row .secondary.small{margin-top:10px;width:max-content;padding:7px 10px;font-size:12px}
.v62-evidence-toggle{appearance:none;border:0;background:transparent;padding:0;margin-top:8px;color:#e6b75d;font-weight:800;cursor:pointer;font:inherit}.v62-evidence-toggle:hover{text-decoration:underline}
.v62-evidence-panel{margin-top:10px;padding:4px 12px;background:#071a27;border-left:3px solid #d7a44d;border-radius:8px}.v62-evidence-panel.hidden{display:none}
.v62-recovery-bridge{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.v62-recovery-bridge>div{background:#0b2231;border:1px solid #27485b;border-radius:10px;padding:12px}.v62-recovery-bridge span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.v62-recovery-bridge strong{font-size:17px}
.v62-recovery-list{display:flex;flex-direction:column;gap:8px}.v62-recovery-row{display:grid;grid-template-columns:1.5fr .8fr 1.3fr auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #27485b;background:#0b2231;border-radius:10px}.v62-recovery-row>div{min-width:0}.v62-recovery-row span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.v62-recovery-row strong{display:block}.section-head.compact{margin-top:18px;margin-bottom:10px}.section-head.compact h4{margin:0 0 4px}
@media(max-width:1000px){.v62-lease-card{grid-template-columns:1fr}.v62-recovery-bridge{grid-template-columns:1fr 1fr}.v62-recovery-row{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.v62-recovery-bridge,.v62-recovery-row{grid-template-columns:1fr}}

/* TOVA V63 · Ownership valuation */
.v63-valuation-card{margin-top:16px}
.v63-value-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.v63-value-box{appearance:none;text-align:left;background:linear-gradient(145deg,rgba(18,49,66,.96),rgba(8,30,43,.96));border:1px solid rgba(215,166,82,.28);border-radius:14px;padding:18px;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:7px;min-height:190px}
.v63-value-box:hover,.v63-value-box.active{border-color:rgba(215,166,82,.72);transform:translateY(-1px)}
.v63-value-box-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.v63-value-box-head>span:first-child{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#a9bdc9;font-weight:700}
.v63-value-box>strong{font-size:32px;line-height:1.05}.v63-value-box>small{color:#91a8b6;line-height:1.4;min-height:38px}
.v63-cap-control{margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.v63-cap-control label{display:flex;align-items:center;gap:8px;font-size:12px;color:#a9bdc9}.v63-cap-control input{width:84px}
.v63-open-cue{color:#e1b25d;font-weight:700;font-size:13px;margin-top:4px}
.v63-value-detail{margin-top:18px;border-top:1px solid rgba(255,255,255,.09);padding-top:16px}
.v63-value-table{display:grid;gap:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.v63-value-row{display:grid;grid-template-columns:2.2fr 1.35fr .9fr 1.2fr 1.7fr;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.07)}.v63-value-row:last-child{border-bottom:0}.v63-value-row.head{background:rgba(255,255,255,.035);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#91a8b6;font-weight:700}.v63-value-row strong{display:block}.v63-value-row small{display:block;color:#91a8b6;margin-top:4px;line-height:1.35}.v63-value-row input{width:100%;min-width:0}.v63-pace-btn{margin-top:5px;padding:0;font-size:11px;color:#e1b25d}
@media(max-width:1100px){.v63-value-boxes{grid-template-columns:1fr}.v63-value-row{grid-template-columns:1.8fr 1.2fr .8fr 1fr 1.4fr}}

/* TOVA V64 · SI financial baseline / data quality */
.v64-tax-status{margin-top:6px!important;padding-top:6px;border-top:1px solid rgba(255,255,255,.06);color:#9fb4c1!important}
.v64-tax-status.warn{color:#e5b65e!important;font-weight:650}
.v64-quality-callout{display:grid;grid-template-columns:220px 1fr;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid rgba(229,182,94,.3);background:rgba(229,182,94,.07);border-radius:10px}
.v64-quality-callout strong{color:#e5b65e}.v64-quality-callout span{color:#b7c8d2;line-height:1.5}
@media(max-width:900px){.v64-quality-callout{grid-template-columns:1fr}}
.v64-value-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

/* TOVA V65 · Recovery Lifecycle */
.v65-life-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.v65-life-card{background:#101923;border:1px solid #273545;border-radius:14px;padding:16px;text-align:left;color:inherit;cursor:pointer}.v65-life-card:hover{border-color:#9b7a3e;transform:translateY(-1px)}.v65-life-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.v65-life-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.v65-life-grid div,.v65-dimension-grid div{background:#0b121a;border:1px solid #202d3a;border-radius:10px;padding:10px}.v65-life-grid span,.v65-dimension-grid span{display:block;font-size:11px;color:#8797a7;margin-bottom:5px}.v65-life-grid strong,.v65-dimension-grid strong{font-size:13px}.v65-life-card>small{display:block;color:#91a0ae;line-height:1.45;min-height:58px}.v65-open-cue{display:block;color:#c6a766;font-size:12px;margin-top:10px}.v65-life-detail{margin:14px 0 18px;padding:14px;border:1px solid #29394a;border-radius:14px;background:#0d151e}.v65-dimension-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}@media(max-width:1100px){.v65-life-cards{grid-template-columns:1fr}.v65-dimension-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.v65-dimension-grid,.v65-life-grid{grid-template-columns:1fr}}

/* V66 · First-class Recovery & Leakage */
.v66-leak-hero{border:1px solid rgba(205,169,95,.32)}
.v66-map-list,.v66-leak-table{display:grid;gap:10px}
.v66-map-row{display:grid;grid-template-columns:minmax(240px,1.2fr) auto minmax(300px,2fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018)}
.v66-map-row>div{display:flex;flex-direction:column;gap:4px}.v66-map-row span,.v66-map-row p{font-size:12px;color:var(--muted);margin:0}.v66-map-row .pill{color:inherit}
.v66-leak-row{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(3,minmax(115px,.72fr)) minmax(280px,1.6fr);gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018)}
.v66-leak-row>div{display:flex;flex-direction:column;gap:4px}.v66-leak-row span,.v66-leak-row small{font-size:11px;color:var(--muted)}.v66-leak-row .pill{color:inherit;align-self:flex-start}.v66-leak-row strong{line-height:1.25}
.v66-definition-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v66-definition-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018)}.v66-definition-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.v66-definition-grid strong{display:block;margin:7px 0}.v66-definition-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:1200px){.v66-map-row{grid-template-columns:1fr auto}.v66-map-row p{grid-column:1/-1}.v66-leak-row{grid-template-columns:repeat(2,minmax(0,1fr))}.v66-leak-row>div:last-child{grid-column:1/-1}.v66-definition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== MAVIRELO LIGHT BRAND REFRESH · 2026-09-11 ===== */
:root{
  --bg:#f5f8f7;--panel:#ffffff;--panel-2:#f8fbfa;--text:#102532;--muted:#6e7f82;--line:#dfe8e5;
  --nav:#f7faf9;--nav2:#e8f1ee;--accent:#2f7869;--accent2:#e2f0ec;
  --red:#b54843;--redbg:#fbeceb;--amber:#9a6b24;--amberbg:#fbf3e3;--green:#2f7869;--greenbg:#e6f3ef;
  --gold:#c5a06b;--gold-soft:#d6b985;--ink:#102532;--border:#dfe8e5;
  --card-shadow:0 5px 18px rgba(20,48,55,.055);
}
body{background:#f5f8f7!important;color:var(--text)!important}
.app-shell{grid-template-columns:238px 1fr}
.sidebar{background:#f8fbfa!important;color:#17303a!important;border-right:1px solid #dce7e3!important;box-shadow:none!important}
.brand.tova-brand{border-bottom:1px solid #dce7e3!important;padding-bottom:22px!important}
.brand-copy strong{font-size:24px!important;letter-spacing:.16em!important;font-weight:650!important;color:#102532!important}
.brand-copy span{max-width:190px!important;color:#607477!important;font-size:8px!important;letter-spacing:.09em!important}
.brand-copy small{color:#2f7869!important;font-size:7.5px!important;letter-spacing:.16em!important}
/* Geometric MAVIRELO M mark */
.tova-logo{width:48px!important;height:43px!important;filter:none!important;position:relative!important;background:linear-gradient(135deg,#d5d8d7 0%,#f4f5f4 30%,#6f8f88 58%,#1e6257 100%);clip-path:polygon(0 0,22% 0,50% 38%,78% 0,100% 0,100% 100%,77% 100%,77% 38%,50% 75%,23% 38%,23% 100%,0 100%)}
.tova-logo:after{content:"";position:absolute;inset:5px 19px 0 19px;background:rgba(255,255,255,.72);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.tova-cap,.tova-stem-a,.tova-stem-b{display:none!important}
.sidebar-portfolio label,.nav-section-label{color:#83928f!important}
.sidebar-portfolio select,.scope-controls select,.topbar select,input,select,textarea{background:#fff!important;color:#18313a!important;border-color:#d7e3df!important}
.nav-item{color:#51676b!important}.nav-item:hover{background:#eef4f2!important;color:#173d38!important}.nav-item.active{background:#dcece7!important;color:#174d44!important;font-weight:650}.nav-item.active:before{background:#2f7869!important}
.sidebar-note{border-top-color:#dce7e3!important;color:#758785!important}.sidebar-note strong{color:#2f5f57!important}
.main{background:linear-gradient(180deg,#fbfdfc 0%,#f3f7f6 100%)!important}
.topbar{background:rgba(251,253,252,.94)!important;border-bottom-color:#dce7e3!important}.topbar h1,.modal h2{color:#102532!important}.eyebrow{color:#6f8582!important}
.primary{background:#2f7869!important;color:#fff!important;border-color:#2f7869!important}.primary:hover{background:#28695c!important}
.secondary{background:#fff!important;border-color:#d7e3df!important;color:#27434a!important}.secondary:hover{background:#f0f6f4!important;border-color:#b9cfca!important}
.card,.metric,.panel,.module-card,.owner-kpi,.service-group,.accounting-tenant-list,.accounting-source-row,.leakage-row{background:#fff!important;border-color:#dfe8e5!important;box-shadow:var(--card-shadow)!important;color:#17303a!important}
.card h2,.card h3,.metric strong,.module-card h3,.ownership-summary h2,.ownership-column-head h3,.metric .value,.owner-kpi .value{color:#102532!important}
.muted,.source,.metric span,.card p,.module-card p,.subtle{color:#70817f!important}
.source{background:#f4f8f7!important;border-color:#a9c7bf!important;color:#536967!important}
th{background:#eef4f2!important;color:#58706e!important;border-color:#dce7e3!important}td{color:#243b42!important;border-color:#e2eae8!important}tr:hover td,.click-row:hover td,.clickable-accounting:hover{background:#f4f8f7!important}
.property-total-row,.service-group-head,.ownership-column-head{background:#eef4f2!important;border-color:#dce7e3!important}.service-row,.owner-report-row,.accounting-tenant-row{border-color:#dce7e3!important}.owner-report-row:hover,.owner-kpi:hover{background:#f4f8f7!important;border-color:#bfd2cd!important}
.traffic-score{background:#f4f8f7!important;border-color:#d7e3df!important}.health-reason,.trend-callout{background:#f4f8f7!important;border-color:#d7e3df!important;color:#536967!important}.trend-callout{border-left-color:#2f7869!important}
.modal{background:#fff!important;color:#17303a!important;border-color:#dce7e3!important;box-shadow:0 28px 80px rgba(25,48,55,.18)!important}.modal-backdrop{background:rgba(24,43,49,.28)!important;backdrop-filter:blur(5px)}
a{color:#2f7869!important}.accounting-kpis .metric,.owner-kpi{background:#fff!important}.owner-kpi .label,.metric .label{color:#70817f!important}
.rr-hero{background:linear-gradient(135deg,#f8fbfa,#edf5f2)!important}.rr-source{color:#70817f!important}.rr-kpi,.rr-scenarios>div,.rr-fee-lanes>div{background:#fff!important}.rr-month-table-wrap{background:#fff!important}.rr-month-table th,.rr-month-table td{background:#fff!important;border-color:#e1e9e7!important;color:#294149!important}.rr-month-table thead th{background:#edf4f2!important;color:#5d7370!important}.rr-month-table tbody .rr-sticky{background:#fff!important}.rr-month-table tr:hover td,.rr-month-table tr:hover .rr-sticky{background:#f3f8f6!important}.rr-month-table .rr-property-total td,.rr-month-table .rr-property-total .rr-sticky{background:#eef5f3!important}.rr-month-table .rr-grand-total td,.rr-month-table .rr-grand-total .rr-sticky{background:#e1eeea!important}.rr-month-table .rr-cell.zero{color:#a3aeac!important;background:#fafcfc!important}.rr-fee-model th{background:#edf4f2!important;color:#5d7370!important}
.yardi-v42-source-list>div,.yardi-v42-rules>div{background:#f7faf9!important;border-color:#dce7e3!important}.yardi-v42-source-list strong,.yardi-v42-rules strong{color:#294149!important}.yardi-v42-source-list span,.yardi-v42-rules span{color:#70817f!important}
.qa-review-body{color:#294149!important;background:#f7faf9!important;border-color:#dce7e3!important}
.toast{background:#173f39!important;color:#fff!important}
