:root{color-scheme:light;--ink:#14233b;--muted:#66758a;--line:#dce4ef;--soft:#f3f6fb;--navy:#102a56;--blue:#285de0;--green:#17845c;--red:#c64c55;--amber:#a66b00;--white:#fff;--shadow:0 12px 36px rgba(20,35,59,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f5f7fb;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px}
button,input{font:inherit}
a{color:inherit}
.topbar{min-height:82px;padding:14px clamp(18px,4vw,58px);display:flex;align-items:center;gap:24px;background:var(--white);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--blue);color:#fff;font-weight:900;font-size:27px}
.brand strong{display:block;font-size:21px;letter-spacing:.04em}.brand small{display:block;margin-top:3px;color:var(--muted)}
.brand b{padding:4px 8px;border-radius:999px;background:#e7edff;color:#214ebc;font-size:12px}
.top-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;flex-wrap:wrap}
.top-actions a{padding:9px 11px;border-radius:9px;color:#30435e;text-decoration:none;font-weight:650;font-size:13px}.top-actions a:hover,.top-actions a:focus-visible{background:#eef3fb;outline:none}
.account{color:var(--muted);font-weight:600;text-align:right;min-width:max-content}
.account-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.logout{padding:8px 10px;border:0;background:transparent;color:var(--ink);font-weight:750;cursor:pointer}.logout:hover{color:var(--blue)}.view-settings-button{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#f6f8fc;color:var(--ink);font-weight:700;cursor:pointer}.view-settings-button:hover{border-color:#9fb0c8;background:#eef3fb}
.page{max-width:1560px;margin:0 auto;padding:32px clamp(16px,3.6vw,54px) 64px}
.hero{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.eyebrow{margin:0 0 6px;color:#607493;font-size:12px;font-weight:800;letter-spacing:.16em}
h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(30px,4vw,48px);letter-spacing:-.04em}h2{margin-bottom:0;font-size:24px}h3{font-size:18px}
.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.filters label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.filters input{height:44px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);min-width:170px}.filters input[type=search]{min-width:250px}.filters button{height:44px;padding:0 17px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}.filters button:hover{border-color:#9fb0c8;background:#f9fbff}
.status{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted)}.status[hidden]{display:none}.status.error{border-color:#efc2c5;background:#fff5f5;color:#982e38}
.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.metric{min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.metric.primary{border-color:#aac0f6;background:linear-gradient(145deg,#fff,#eef3ff)}.metric.potential{background:var(--navy);color:#fff;border-color:var(--navy)}.metric-label{display:block;color:var(--muted);font-size:11px;line-height:1.2;font-weight:700}.potential .metric-label{color:#b8c7df}.metric-value{display:block;margin:4px 0 2px;font-size:clamp(21px,2.2vw,27px);line-height:1.05;font-weight:850;letter-spacing:-.025em;white-space:nowrap}.metric-note{display:block;min-height:0;color:var(--muted);font-size:10px;line-height:1.25}.potential .metric-note{color:#b8c7df}.value-positive{color:var(--green)}.value-negative{color:var(--red)}.potential .value-positive,.potential .value-negative{color:#fff}
.workspace{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:start}.objects-panel,.details{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.objects-panel{position:static;max-height:none;overflow:visible}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 13px;border-bottom:1px solid var(--line)}.count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 9px;border-radius:8px;background:#e8eef9;color:#244267;font-size:13px;font-weight:800}.section-heading h2{font-size:18px;line-height:1.25}
.objects{padding:10px;display:grid;gap:8px}.object-button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:5px 10px;text-align:left;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.object-button:hover{background:var(--soft);border-color:#c4d0df}.object-button.selected{background:#edf2ff;border-color:#b9caf5;box-shadow:0 2px 8px rgba(36,83,206,.08)}.object-name{grid-column:2;grid-row:1;font-weight:750;line-height:1.35}.object-meta{grid-column:2;grid-row:2;color:var(--muted);font-size:12px}.object-result{grid-row:1/3;grid-column:3;align-self:center;font-weight:800;color:var(--green);white-space:nowrap}.object-result.negative{color:var(--red)}.object-vacancy{grid-column:2/4;grid-row:3;display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;color:#9a5b00;font-size:11px;font-weight:750;line-height:1.4}.empty{padding:34px;text-align:center;color:var(--muted)}
.details{min-height:260px;overflow:visible}.details-head{position:static;padding:7px 14px;border-radius:17px 17px 0 0;background:linear-gradient(135deg,#102a56,#183d78);color:#fff;box-shadow:0 6px 12px rgba(16,42,86,.14)}.details-head .eyebrow{color:#adc0df}.details-head h2{font-size:clamp(17px,1.8vw,20px);line-height:1.25}.details-head p{margin:4px 0 0;color:#c9d6e9;font-size:12px}.details-head>a{color:inherit;font-size:12px;white-space:nowrap;margin-left:12px}.details-body{padding:14px 16px 16px}.object-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:13px}.mini-metric{padding:8px 9px;border-radius:9px;background:var(--soft);min-width:0}.mini-metric span{display:block;color:var(--muted);font-size:10px}.mini-metric strong{display:block;margin-top:3px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subsection{margin-top:13px}.subsection-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.subsection-title h3{margin:0;font-size:17px}.tenant-list{display:grid;gap:9px}.tenant{border:1px solid #cbd6e5;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 10px rgba(20,35,59,.06)}.tenant-button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:2px 9px;padding:10px 11px;text-align:left;border:0;background:#fff;color:var(--ink);cursor:pointer}.tenant-button:hover{background:#f8faff}.tenant-button[aria-expanded=true]{background:#edf2ff}.tenant-name{grid-column:2;color:var(--muted);font-size:11px;font-weight:500}.tenant-activity{grid-column:2;color:var(--ink);font-size:13px;font-weight:750}.tenant-rent{grid-row:1/3;grid-column:3;align-self:center;font-weight:800;font-size:13px}.tenant-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;padding:10px 12px;border-top:1px solid #cbd8ed;background:#f8faff}.field span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.field strong{display:block;margin-top:2px;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.vacancies{display:flex;flex-wrap:wrap;gap:5px}.vacancy{padding:6px 8px;border-radius:8px;background:#fff7e6;border:1px solid #eed39b;color:#764e00;font-size:11px}.muted{color:var(--muted)}
@media(max-width:1180px){.topbar{flex-wrap:wrap}.top-actions{order:3;flex-basis:100%;justify-content:flex-start}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.object-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.page{padding-top:22px}.hero{align-items:stretch;flex-direction:column}.filters{justify-content:flex-start}.workspace{grid-template-columns:1fr}.objects-panel{position:static;max-height:none}.details{min-height:0}.account{margin-left:auto}.top-actions{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}.top-actions a{white-space:nowrap}}
@media(max-width:560px){.topbar{gap:12px;padding:11px 14px}.brand-mark{width:42px;height:42px}.brand strong{font-size:18px}.account{font-size:12px}.filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.filters label:nth-child(2){grid-column:1/-1}.filters input,.filters input[type=search]{width:100%;min-width:0}.summary{grid-template-columns:1fr}.metric{padding:9px 11px}.workspace{gap:12px}.object-metrics{grid-template-columns:1fr 1fr}.tenant-detail{grid-template-columns:1fr}.details-body{padding:12px}.page{padding-left:12px;padding-right:12px}}
.metric-rows{display:grid;gap:3px;margin-top:7px;padding-top:6px;border-top:1px solid var(--line)}.metric-row{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.metric-row strong{color:inherit;white-space:nowrap}.potential .metric-rows{border-color:rgba(255,255,255,.22)}.potential .metric-row{color:#dbe5f4}.facts-through{grid-column:1/-1;text-align:right;color:var(--muted);font-size:10px;padding:0 4px}
.object-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.tenant-payments{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:7px 11px;border-top:1px solid var(--line);background:#fbfcfe}.payment-line{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:5px 7px;border-radius:7px;background:#fff}.payment-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.payment-dot{width:9px;height:9px;border-radius:50%;background:#98a4b4;box-shadow:0 0 0 3px rgba(152,164,180,.14)}.payment-line.green .payment-dot{background:#20a36a;box-shadow:0 0 0 3px rgba(32,163,106,.14)}.payment-line.yellow .payment-dot{background:#e2a21b;box-shadow:0 0 0 3px rgba(226,162,27,.16)}.payment-line.red .payment-dot{background:#d9535f;box-shadow:0 0 0 3px rgba(217,83,95,.14)}.payment-values{text-align:right;min-width:0}.payment-values strong,.payment-values small{display:block;white-space:nowrap}.payment-values strong{font-size:11px}.payment-values small{color:var(--muted);font-size:9px}.payment-history{grid-column:1/-1;padding:7px;border-radius:7px;background:#fff;border:1px solid var(--line)}.payment-history>strong{display:block;margin-bottom:4px;font-size:11px}.payment-history-row{display:flex;justify-content:space-between;gap:8px;padding:2px 0;color:var(--muted);font-size:10px}.payment-history-row strong{color:var(--ink)}
@media(max-width:1180px){.object-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.tenant-payments{grid-template-columns:1fr}.object-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tenant-detail>a{color:#2453ce;padding:8px 0}.subsection-heading{display:flex;align-items:center;gap:8px}.add-tenant{border:1px solid #2453ce;border-radius:8px;background:#fff;color:#2453ce;padding:6px 10px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.add-tenant:hover{background:#edf2ff}.tenant-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100vh - 24px);padding:0;border:0;border-radius:20px;box-shadow:0 24px 70px rgba(16,42,86,.28)}.tenant-dialog::backdrop{background:rgba(16,42,86,.45)}.tenant-form{padding:22px}.dialog-object{margin:4px 0 0;color:var(--muted);font-size:12px}.tenant-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.tenant-fields label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.tenant-fields input,.tenant-fields select{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px 11px;font:inherit}.tenant-fields input:focus,.tenant-fields select:focus{outline:2px solid rgba(36,83,206,.2);border-color:#2453ce}.deposit-check{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:10px;background:var(--soft)}.deposit-check input{margin-top:3px}.deposit-check span{display:grid;gap:2px}.deposit-check small{color:var(--muted)}
.tenant-detail-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1}.release-tenant{border:1px solid #d23b50;border-radius:8px;background:#fff;color:#b4273b;padding:7px 10px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.release-tenant:hover{background:#fff1f3}.view-actions .danger{border:0;border-radius:10px;background:#c92f45;color:#fff;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer}.view-actions .danger:disabled{opacity:.55;cursor:wait}
@media(max-width:560px){.tenant-fields{grid-template-columns:1fr}.tenant-form{padding:16px}.subsection-title{align-items:flex-start}.add-tenant{white-space:nowrap}}
.item-number{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#e8eef9;color:#244267;font-size:11px;font-weight:850}.object-button>.item-number{grid-row:1/4;grid-column:1;align-self:start}.tenant-button>.tenant-number{grid-row:1/3;grid-column:1;align-self:start}
.tenant-button{grid-template-columns:28px minmax(0,1fr) auto}.tenant-rent{grid-column:3}.tenant-detail{padding:10px 12px}

/* Account controls and dialogs are kept with the rest of the cabinet styles. */
.view-dialog{width:min(540px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:18px;color:var(--ink);box-shadow:0 24px 80px rgba(16,42,86,.28)}.view-dialog::backdrop{background:rgba(16,32,56,.48)}.view-form{display:grid;gap:8px;padding:22px}.view-dialog-head,.view-actions,.view-option{display:flex;align-items:center}.view-dialog-head,.view-actions{justify-content:space-between;gap:14px}.view-dialog-head h2{font-size:23px}.dialog-close{width:38px;height:38px;border:0;border-radius:10px;background:var(--soft);color:var(--muted);font-size:25px;cursor:pointer}.view-explanation{margin:2px 0 8px;color:var(--muted);line-height:1.45}.view-option{gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;cursor:pointer}.view-option:hover{background:#f8faff}.view-option input{width:19px;height:19px;flex:0 0 auto;accent-color:var(--blue)}.view-option strong,.view-option small{display:block}.view-option small{margin-top:2px;color:var(--muted);font-size:11px}.view-message{min-height:20px;margin:4px 0 0;color:var(--green)}.view-message.error{color:var(--red)}.view-actions button{min-height:42px;padding:0 16px;border-radius:10px;font-weight:750;cursor:pointer}.view-actions .secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.view-actions .primary{border:1px solid var(--blue);background:var(--blue);color:#fff}
@media(max-width:700px){.account-actions{gap:5px}.view-settings-button{padding:7px 8px;font-size:12px}.view-form{padding:16px}}
