/* Local OFL fonts: Latin and Cyrillic, cached with the app shell. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/ibm-plex-sans-cyrillic-400-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/ibm-plex-sans-latin-400-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/ibm-plex-sans-cyrillic-500-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/ibm-plex-sans-latin-500-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/ibm-plex-sans-cyrillic-600-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/ibm-plex-sans-latin-600-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/ibm-plex-sans-cyrillic-700-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/ibm-plex-sans-latin-700-normal.woff2?v=0a6b446111e6") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215}
:root{
 --sp-2xs:2px;--sp-xs:4px;--sp-sm:8px;--sp-md:12px;--sp-lg:16px;--sp-xl:24px;--sp-2xl:32px;
 --row-h:34px;--card-pad:var(--sp-lg);
 color-scheme:light;
 --bg:#f0fdfa;--surface:#fff;--ink:#0f172a;--muted:#475569;--line:#cbdedc;
 --nav:#134e4a;--accent:#0369a1;--soft:#e7f5fa;
 --good:#064e3b;--good-bg:#d1fae5;--bad:#7f1d1d;--bad-bg:#fee2e2;--warn:#b45309;--warn-bg:#fef3c7;
 --teal:#0f766e;--teal-bg:#e0f7f3;--blue:#1d4ed8;--blue-bg:#dbeafe;
 --violet:#6d28d9;--violet-bg:#ede9fe;--indigo:#4338ca;--indigo-bg:#e0e7ff;
 --slate:#475569;--slate-bg:#e2e8f0;
 --glass:#ffffffed;--stripe:#f5fafb;--row-hover:#e5f5f3;--focus:#0f766e;
 --primary-start:#0f766e;--primary-end:#0369a1;--negative-end:#9f1239;
 --shadow:0 4px 18px #134e4a0b,0 1px 3px #134e4a08;
 --shadow-lift:0 10px 26px #134e4a16;--motion:180ms ease;
}
[data-theme=dark]{
 color-scheme:dark;
 --bg:#0d1c24;--surface:#152c36;--ink:#e6f4f4;--muted:#b2c7ce;--line:#35505b;
 --nav:#103d46;--accent:#7dd3fc;--soft:#183e50;
 --good:#6ee7b7;--good-bg:#143e33;--bad:#fda8a8;--bad-bg:#4a242d;--warn:#fcd34d;--warn-bg:#45351d;
 --teal:#5eead4;--teal-bg:#153e3f;--blue:#93c5fd;--blue-bg:#1b3556;
 --violet:#c4b5fd;--violet-bg:#32264c;--indigo:#a5b4fc;--indigo-bg:#292e52;
 --slate:#cbd5e1;--slate-bg:#2c3d4a;
 --glass:#152c36ed;--stripe:#19323e;--row-hover:#20434c;--focus:#5eead4;
 --negative-end:#fda4af;--shadow:0 4px 18px #0002,0 1px 3px #0002;--shadow-lift:0 10px 28px #0004;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;min-height:44px;padding:var(--sp-sm) var(--sp-lg);font-weight:600}button:hover{filter:brightness(.96)}button:disabled{opacity:.55;cursor:wait}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ux-color-58a7f4);outline-offset:3px}input,select,textarea{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:9px;min-height:46px;padding:var(--sp-sm) var(--sp-md)}textarea{resize:vertical}label{display:block;font-weight:600;font-size:14px}label input,label select,label textarea{display:block;margin-top:var(--sp-sm)}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-.8px}h2{font-size:22px;letter-spacing:-.4px}h3{font-size:18px}.muted,small{color:var(--muted)}.primary{background:var(--accent);border-color:var(--accent);color:var(--ux-color-fff)}[data-theme=dark] .primary{color:var(--ux-color-102c47)}.quiet{background:transparent}.wide{width:100%}.error{color:var(--bad);min-height:0}.error:not(:empty){margin:var(--sp-md) 0}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:8vw;padding:var(--sp-2xl);background:var(--bg)}.login-brand{font-size:180px;font-weight:800;letter-spacing:-28px;line-height:1;color:var(--nav)}.login-brand span{color:var(--ux-color-7ea9cc)}.login-card{width:min(100%,430px);background:var(--surface);padding:var(--sp-2xl);border-radius:20px;box-shadow:var(--shadow)}.login-card h1{margin:var(--sp-lg) 0;font-size:34px}.login-card>p{margin-bottom:var(--sp-xl)}.login-card label{margin:var(--sp-lg) 0}.login-card small{display:block;margin-top:var(--sp-lg);font-size:13px}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--nav);color:var(--ux-color-d4e4f5);position:fixed;inset:0 auto 0 0;width:245px;padding:var(--sp-2xl) var(--sp-lg);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:var(--sp-md);color:var(--ux-color-fff);font-size:17px;font-weight:700;margin-bottom:var(--sp-2xl)}.brand:hover{text-decoration:none}.brand small{display:block;font-size:13px;font-weight:400;color:var(--ux-color-b0cce5);margin-top:var(--sp-xs)}.brand-mark{font-size:21px;letter-spacing:-2px;border:1px solid var(--ux-color-7795b0);border-radius:10px;padding:var(--sp-sm)}.sidebar nav{display:grid;gap:var(--sp-xs)}.nav-link{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-md);color:var(--ux-color-d4e4f5);border-radius:10px;font-size:15px}.nav-link:hover{background:var(--ux-color-ffffff10);text-decoration:none}.nav-link.active{background:var(--ux-color-fff);color:var(--ux-color-123c65);font-weight:700}.nav-icon{font-size:20px;width:24px;text-align:center}.sidebar-foot{margin-top:auto;font-size:13px;padding:var(--sp-lg) var(--sp-lg) 0}.live-dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:var(--ux-color-82d4b2);margin-right:var(--sp-xs)}.main-wrap{grid-column:2;min-width:0}.topbar{padding:var(--sp-lg) var(--sp-2xl);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--sp-lg);align-items:center;background:var(--surface)}#today{font-size:13px}#user-label{font-size:14px;font-weight:600}.top-actions,.actions{display:flex;gap:var(--sp-sm);flex-wrap:wrap}main{max-width:1450px;margin:auto;padding:var(--sp-2xl) var(--sp-2xl) 60px;outline:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);margin-bottom:var(--sp-xl)}.page-head p{margin-top:var(--sp-sm);font-size:14px}.money-panel{display:grid;grid-template-columns:1fr 1fr 1.1fr;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:var(--sp-xl)}.money-item{padding:var(--sp-2xl) var(--sp-xl)}.money-item+.money-item{border-left:1px solid var(--line)}.money-item strong{display:block;margin:var(--sp-sm) 0;font-size:clamp(22px,2.6vw,38px);line-height:1.15;letter-spacing:-1px;font-variant-numeric:tabular-nums}.money-item small{font-size:13px}.money-item.result{background:var(--nav);color:var(--ux-color-fff)}.result small{color:var(--ux-color-c3d8eb)}.money-item.result.negative{background:var(--ux-color-7f3542)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-lg);margin:var(--sp-xl) 0}.stat{border-left:3px solid var(--line);padding:var(--sp-xs) var(--sp-lg)}.stat strong{display:block;font-size:26px;letter-spacing:-.5px}.stat span{font-size:13px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-lg)}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:var(--sp-xl)}.card h3{margin-bottom:var(--sp-xs)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md)}.card p{font-size:14px;margin-top:var(--sp-sm)}.card .amount{font-size:30px;letter-spacing:-.7px;font-weight:750;margin:var(--sp-lg) 0}.card .actions{margin-top:var(--sp-lg)}.object-kind{display:block;width:42px;height:42px;border-radius:9px;background:var(--soft);color:var(--accent);text-align:center;padding-top:var(--sp-sm);font-size:22px}.mini-money{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-sm);border-top:1px solid var(--line);padding-top:var(--sp-lg);margin-top:var(--sp-lg)}.mini-money span{font-size:13px;color:var(--muted)}.mini-money strong{display:block;font-size:14px;margin-top:var(--sp-xs)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:var(--sp-2xl) 0 var(--sp-lg)}.toolbar{display:flex;align-items:flex-end;gap:var(--sp-md);flex-wrap:wrap;margin:0 0 var(--sp-lg)}.toolbar label{min-width:140px;flex:1}.toolbar label.search{flex:2;min-width:220px}.tabs{display:flex;gap:var(--sp-sm);overflow-x:auto;padding-bottom:var(--sp-sm);margin-bottom:var(--sp-lg)}.tabs button{white-space:nowrap}.tabs button.active{background:var(--soft);color:var(--accent);border-color:var(--accent)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:13px;color:var(--muted);background:var(--surface);font-weight:650;white-space:nowrap}td,th{padding:var(--sp-lg) var(--sp-lg);border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td strong{display:block;font-weight:600}td small{display:block;font-size:13px;margin-top:var(--sp-2xs)}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-actions{display:flex;gap:var(--sp-sm);flex-wrap:wrap;min-width:90px}.row-actions button{font-size:13px;padding:var(--sp-xs) var(--sp-sm);min-height:38px}.pill{display:inline-block;border-radius:6px;padding:var(--sp-xs) var(--sp-sm);font-size:13px;font-weight:600;white-space:nowrap;background:var(--soft);color:var(--accent)}.pill.good{background:var(--good-bg);color:var(--good)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.empty{padding:50px var(--sp-xl);text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:14px}.empty h2{margin-bottom:var(--sp-sm)}.empty p{max-width:450px;margin:0 auto var(--sp-lg);color:var(--muted);font-size:14px}.loading{padding:50px;text-align:center;color:var(--muted)}.dropzone{background:var(--soft);border:2px dashed var(--line);border-radius:14px;padding:var(--sp-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);margin-bottom:var(--sp-xl)}.dropzone h3{margin-bottom:var(--sp-xs)}.dropzone p{font-size:13px;color:var(--muted)}.dropzone.drag{border-color:var(--accent)}.dropzone button{white-space:nowrap}.legend{display:flex;gap:var(--sp-md);flex-wrap:wrap;font-size:13px;color:var(--muted);margin:var(--sp-lg) 0}.legend i{display:inline-block;width:13px;height:13px;border-radius:3px;margin-right:var(--sp-xs);vertical-align:middle}.paid{background:var(--good-bg);color:var(--good)}.partial{background:var(--warn-bg);color:var(--warn)}.debt{background:var(--bad-bg);color:var(--bad)}.future{background:var(--soft);color:var(--muted)}.none{background:var(--bg);color:var(--muted)}.grid-table td{padding:var(--sp-sm);min-width:60px;text-align:center}.grid-table th{padding:var(--sp-md) var(--sp-sm);text-align:center}.grid-table td:first-child,.grid-table th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;min-width:175px;border-right:1px solid var(--line)}.grid-table th:first-child{z-index:2}.grid-cell{display:block;padding:var(--sp-sm) var(--sp-xs);border-radius:5px;font-size:13px;font-weight:650}.back-button{margin-bottom:var(--sp-lg)}.details-note{font-size:14px;color:var(--muted);margin:var(--sp-lg) 0}.danger{color:var(--bad)}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:18px;padding:var(--sp-xl);width:min(570px,calc(100vw - 24px));max-height:90dvh;box-shadow:var(--shadow)}dialog::backdrop{background:var(--ux-color-102c4780);backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);margin-bottom:var(--sp-lg)}.dialog-head .quiet{border:0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg)}.form-fields .full{grid-column:1/-1}.form-fields small{display:block;font-size:13px;font-weight:400;margin-top:var(--sp-xs)}.dialog-foot{display:flex;justify-content:flex-end;gap:var(--sp-sm);margin-top:var(--sp-xl)}#text-dialog>p{font-size:13px;margin-bottom:var(--sp-lg)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:var(--sp-md) var(--sp-xl);background:var(--ink);color:var(--surface);border-radius:12px;box-shadow:var(--shadow);z-index:20;max-width:calc(100vw - 28px);font-size:14px}.toast.failure{background:var(--bad);color:var(--ux-color-fff)}.hint{padding:var(--sp-lg) var(--sp-lg);background:var(--soft);border-radius:10px;font-size:14px;margin-bottom:var(--sp-lg)}.cash-owners{font-size:13px;color:var(--muted)}.cash-owners div{display:flex;justify-content:space-between;gap:var(--sp-sm);margin:var(--sp-sm) 0}.list-note{margin:var(--sp-lg) 0;color:var(--muted);font-size:13px}[hidden]{display:none!important}@media(max-width:1100px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{width:205px;padding:var(--sp-xl) var(--sp-md);padding-left:calc(var(--sp-md) + env(safe-area-inset-left));padding-right:calc(var(--sp-md) + env(safe-area-inset-right))}.brand{font-size:15px;gap:var(--sp-sm)}.brand small{font-size:13px}.nav-link{padding:var(--sp-md) var(--sp-md)}main{padding:var(--sp-xl) var(--sp-xl);padding-left:calc(var(--sp-xl) + env(safe-area-inset-left));padding-right:calc(var(--sp-xl) + env(safe-area-inset-right))}.topbar{padding:var(--sp-lg) var(--sp-xl);padding-left:calc(var(--sp-xl) + env(safe-area-inset-left));padding-right:calc(var(--sp-xl) + env(safe-area-inset-right))}.money-item{padding:var(--sp-xl) var(--sp-lg)}.stat-row{gap:var(--sp-sm)}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;width:100%;padding:var(--sp-md) var(--sp-lg) 0}.brand{margin-bottom:var(--sp-md);font-size:17px}.brand-mark{padding:var(--sp-xs) var(--sp-sm);font-size:18px}.brand small{font-size:13px}.sidebar nav{display:flex;gap:var(--sp-xs);overflow-x:auto;margin:0 -16px;padding:0 var(--sp-lg) var(--sp-sm);scrollbar-width:thin}.nav-link{white-space:nowrap;padding:var(--sp-sm) var(--sp-md);font-size:14px;min-height:44px}.nav-icon{display:none}.sidebar-foot{display:none}.topbar{padding:var(--sp-md) var(--sp-lg)}.top-actions{gap:var(--sp-xs)}.top-actions button{padding:var(--sp-sm) var(--sp-sm);font-size:13px}.main-wrap{width:100%}main{padding:var(--sp-xl) var(--sp-lg) 45px}.page-head{align-items:flex-start;gap:var(--sp-md)}.page-head h1{font-size:28px}.page-head .actions button{padding:var(--sp-sm) var(--sp-md);font-size:13px}.money-panel{grid-template-columns:1fr 1fr;margin-bottom:var(--sp-lg)}.money-item{padding:var(--sp-lg) var(--sp-lg)}.money-item strong{font-size:26px;letter-spacing:-.5px}.money-item.result{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.money-item.result strong{font-size:38px}.stat-row{grid-template-columns:1fr 1fr;gap:var(--sp-lg) var(--sp-sm)}.stat strong{font-size:23px}.card-grid{grid-template-columns:1fr}.card,.panel{padding:var(--sp-lg)}.toolbar{gap:var(--sp-md)}.toolbar label{min-width:125px}.toolbar label.search{min-width:100%;order:3}.dropzone{display:block;padding:var(--sp-lg)}.dropzone button{margin-top:var(--sp-lg);width:100%}.table-wrap td,.table-wrap th{padding:var(--sp-md)}.grid-table td,.grid-table th{padding:var(--sp-xs)}.grid-table td:first-child,.grid-table th:first-child{min-width:145px;font-size:13px}.grid-cell{min-width:45px}.form-fields{gap:var(--sp-md)}.login-screen{padding:var(--sp-lg);display:block}.login-brand{font-size:60px;letter-spacing:-9px;margin:var(--sp-2xl) 0;text-align:center}.login-card{padding:var(--sp-xl);margin:auto}.login-card h1{font-size:30px}dialog{padding:var(--sp-lg)}.dialog-foot button{flex:1}.toast{bottom:15px;width:max-content}.section-title{gap:var(--sp-sm)}.section-title h2{font-size:20px}}@media(prefers-reduced-motion:no-preference){button{transition:background .12s,color .12s}dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
.button-link{display:inline-flex;align-items:center;min-height:44px;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--line);border-radius:10px;font-weight:600;font-size:14px;background:var(--surface);white-space:nowrap}.button-link:hover{background:var(--soft);text-decoration:none}.mini-money{grid-template-columns:1fr;gap:var(--sp-sm)}.mini-money>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-md)}.mini-money strong{margin-top:0;font-variant-numeric:tabular-nums}.money-item{min-width:0}.money-item strong{white-space:nowrap}@media(max-width:760px){.money-item:not(.result) strong{font-size:clamp(17px,5vw,26px)}.page-head{flex-wrap:wrap}.page-head .actions{width:100%}.page-head .actions .button-link{font-size:13px}}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);margin-top:var(--sp-lg);font-size:13px;color:var(--muted)}@media(max-width:760px){.pagination{align-items:flex-start;flex-direction:column}}
.valuation-panel{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--sp-sm)}
.valuation-panel .money-item{padding:var(--sp-xl) var(--sp-lg)}
.valuation-panel .money-item strong{font-size:clamp(21px,2.2vw,32px)}
.valuation-panel .result.positive{background:var(--good-bg);color:var(--ink)}
.valuation-panel .result.neutral{background:var(--surface);color:var(--ink)}
.valuation-panel .result.positive small,.valuation-panel .result.neutral small{color:var(--muted)}
.valuation-panel .result.positive strong,.positive-money{color:var(--good)}
.valuation-panel .result.neutral strong{color:var(--ink)}
.cash-result{color:var(--muted);font-size:13px;margin-bottom:var(--sp-xl)}
.cash-result strong{color:var(--ink)}
.mini-money .cash-result{margin-bottom:0}
.rental-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-md);margin:var(--sp-xl) 0;padding:0;background:transparent;border:0;border-radius:0}
.rental-metrics span,.rental-metrics strong,.rental-metrics small{display:block}
.rental-metrics span{font-size:13px;color:var(--muted)}
.rental-metrics .kpi{padding:var(--sp-md) var(--sp-lg);box-shadow:none}
.rental-metrics .kpi strong{font-size:22px;margin:var(--sp-xs) 0}
.rental-metrics small{font-size:13px}
@media(max-width:1200px){.valuation-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.valuation-panel .result{grid-column:auto;border-left:1px solid var(--line);border-top:0}.valuation-panel .money-item strong{font-size:clamp(20px,3vw,30px)}}
@media(max-width:760px){.valuation-panel .money-item{padding:var(--sp-lg) var(--sp-md)}.valuation-panel .money-item strong{font-size:clamp(16px,4.5vw,26px)}.valuation-panel .money-item span{font-size:13px}.valuation-panel .money-item small{font-size:13px}.cash-result span{display:block}.rental-metrics{grid-template-columns:1fr}.mini-money>div{flex-wrap:wrap}}
.adesk-table th:not(:first-child),.adesk-table td:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.adesk-table th{white-space:normal;vertical-align:bottom}.adesk-table{font-size:13px}.adesk-table td,.adesk-table th{padding:var(--sp-md) var(--sp-xs)}
.adesk-table td:first-child{min-width:128px;max-width:170px}.adesk-table td:nth-child(8),.adesk-table td:nth-child(9){white-space:normal;min-width:92px;max-width:150px}
.adesk-table tbody tr:last-child td{font-weight:700;background:var(--soft)}
.adesk-cards{display:none}
@media(max-width:760px){.adesk-desktop{display:none}.adesk-cards{display:grid;gap:var(--sp-md)}.adesk-cards .mini-money>div{flex-wrap:wrap}}
.adesk-map{margin-top:var(--sp-sm);font-weight:400}.adesk-map small{display:block;font-size:13px;margin:0}.adesk-map select{min-height:36px;padding:var(--sp-xs) var(--sp-sm);font-size:13px;margin-top:var(--sp-2xs);min-width:118px;max-width:160px}
.adesk-cards .adesk-map{margin:var(--sp-md) 0 var(--sp-xs)}.adesk-cards .adesk-map select{max-width:none;width:100%}
.money-item.returned strong{color:var(--accent)}
.adesk-cards h3.danger,.adesk-table strong.danger{color:var(--bad)}
.adesk-table th span[title]{border-bottom:1px dotted var(--muted);cursor:help}
@media(max-width:760px){.money-item.returned{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}}
/* Автопилот и Касса-бот */
.badge{display:inline-block;margin-left:var(--sp-sm);min-width:20px;padding:var(--sp-2xs) var(--sp-sm);border-radius:99px;background:var(--ux-color-e0526a);color:var(--ux-color-fff);font-size:13px;font-weight:700;text-align:center}
.news-banner{position:sticky;top:0;z-index:15;background:var(--accent);color:var(--ux-color-fff);padding:var(--sp-md) var(--sp-lg);border-radius:12px;margin-bottom:var(--sp-lg);font-weight:600;cursor:pointer}
[data-theme=dark] .news-banner{color:var(--ux-color-102c47)}
.alert{background:var(--bad);color:var(--ux-color-fff);padding:var(--sp-md) var(--sp-lg);border-radius:12px;margin-bottom:var(--sp-lg);font-weight:600}.alert a{color:var(--ux-color-fff);text-decoration:underline}
.bad-hint{background:var(--bad-bg);color:var(--bad)}
.fresh{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px;padding:var(--sp-2xs) var(--sp-xs)}.fresh-tag{color:var(--accent);font-weight:700}
.ap-status .stat-row{margin-bottom:var(--sp-xs)}.ap-sub{margin:var(--sp-lg) 0 var(--sp-sm)}
.ap-q{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:var(--sp-lg) var(--sp-lg);margin-bottom:var(--sp-md)}.ap-q strong{display:block;font-size:16px}.ap-q small{display:block;margin:var(--sp-xs) 0}.ap-q .row-actions{margin-top:var(--sp-sm)}
.ap-list{margin:0;padding-left:var(--sp-lg);font-size:14px}.ap-list li{margin:var(--sp-sm) 0}.ap-list small{display:block;color:var(--muted)}
.tg{display:flex}.tg-bubble{max-width:620px;background:var(--surface);border:1px solid var(--line);border-radius:4px 18px 18px 18px;padding:var(--sp-md) var(--sp-lg);box-shadow:var(--shadow)}.tg-bubble pre{margin:0 0 var(--sp-sm);white-space:pre-wrap;font:15px/1.5 inherit;font-family:inherit}.tg-bubble small{color:var(--muted)}
.funnel{display:flex;gap:var(--sp-md);overflow-x:auto;padding-bottom:var(--sp-md);margin-bottom:var(--sp-xs)}.fcol{flex:0 0 220px;background:var(--soft);border-radius:14px;padding:var(--sp-md)}.fcol h4{margin:0 0 var(--sp-xs);font-size:14px}.fcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:var(--sp-sm) var(--sp-md);margin-top:var(--sp-sm);font-size:13px}.fcard strong{display:block}.fcard small{display:block;margin:var(--sp-2xs) 0}.fcard select{min-height:36px;font-size:13px;padding:var(--sp-xs) var(--sp-xs)}.fcard .row-actions button{min-height:34px}
.msg-links{display:flex;gap:var(--sp-sm);flex-wrap:wrap;margin-bottom:var(--sp-md)}
.chat{display:flex;flex-direction:column;gap:var(--sp-sm);background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:var(--sp-lg);min-height:300px;max-height:58vh;overflow:auto}
.bubble{max-width:82%;padding:var(--sp-sm) var(--sp-md);border-radius:14px;white-space:pre-wrap;line-height:1.45}.bubble.me{align-self:flex-end;background:var(--accent);color:var(--ux-color-fff);border-bottom-right-radius:4px}[data-theme=dark] .bubble.me{color:var(--ux-color-102c47)}
.bubble.bot{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.sys{align-self:center;background:var(--warn-bg);color:var(--warn);font-size:13px;text-align:center}
.chips{display:flex;gap:var(--sp-xs);flex-wrap:wrap;margin-top:var(--sp-sm)}.chips button{min-height:36px;font-size:13px;padding:var(--sp-xs) var(--sp-md)}
.chat-form{display:flex;gap:var(--sp-sm);margin-top:var(--sp-md)}.chat-form input{flex:1}
@media(max-width:760px){.fcol{flex-basis:78vw}.bubble{max-width:92%}.tg-bubble{max-width:100%}.ap-q .row-actions button{flex:1 1 100%;text-align:left}}
.ap-status .card-header{flex-wrap:wrap}.ap-status .card-header h3{min-width:0;flex:1 1 200px}.ap-status .card-header button{flex:0 0 auto}

.ag-pre{white-space:pre-wrap;font:13px/1.5 ui-monospace,Menlo,monospace;background:var(--soft);border-radius:10px;padding:var(--sp-md);margin:var(--sp-sm) 0;max-height:360px;overflow:auto}details[data-prompt]{margin:var(--sp-xs) 0}details[data-prompt] summary{cursor:pointer;font-weight:600;padding:var(--sp-xs) 0}#ag-sandbox{margin-top:var(--sp-md)}
.lesson-form{margin-top:var(--sp-md)}.lesson-form textarea{width:100%;box-sizing:border-box}.lessons-table td{vertical-align:top}.lessons-table .row-actions{flex-wrap:wrap}.lessons-table small{display:inline}
@media(max-width:700px){.lessons-table .row-actions button{flex:1 1 100%}}
/* Движение денег */
.flow-pos{color:var(--good)}.flow-neg{color:var(--bad)}
.flow-block{margin-bottom:var(--sp-sm)}
.flow-card h3{margin:0}.flow-card .muted{margin:var(--sp-2xs) 0 0;font-size:13px}.flow-mask{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.flow-card .mini-money{grid-template-columns:1fr;gap:var(--sp-sm)}.flow-card .mini-money>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-md)}
.flow-card .mini-money strong{margin-top:0;font-variant-numeric:tabular-nums}
.flow-transfers{margin:var(--sp-md) 0 0;font-size:13px;color:var(--muted)}.flow-card small{margin-top:var(--sp-sm)}
.valuation-panel .money-item strong.flow-pos{color:var(--good)}.valuation-panel .money-item strong.flow-neg{color:var(--bad)}
.fc-legend{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;font-size:13px;color:var(--muted)}
.fc-dot{display:inline-block;width:12px;height:12px;border-radius:3px}.fc-dot.in,.fc-bar.in{background:var(--good)}.fc-dot.out,.fc-bar.out{background:var(--bad)}
.fc-chart{--fc-h:190px;display:flex;gap:var(--sp-xs);align-items:stretch;padding:var(--sp-lg) var(--sp-md) var(--sp-md);background:var(--surface);border:1px solid var(--line);border-radius:14px}
.fc-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center}
.fc-bars{display:flex;align-items:flex-end;justify-content:center;gap:var(--sp-2xs);height:var(--fc-h);width:100%;border-bottom:1px solid var(--line)}
.fc-bar{flex:0 1 14px;min-height:2px;border-radius:3px 3px 0 0}
.fc-m{margin-top:var(--sp-xs);font-size:13px;font-weight:600;color:var(--ink)}
.fc-v{font-size:13px;line-height:1.35;font-variant-numeric:tabular-nums;white-space:nowrap}.fc-v.in{color:var(--good)}.fc-v.out{color:var(--bad)}
.fc-table{margin:var(--sp-md) 0 0}.fc-table summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:600;padding:var(--sp-sm) 0}
.flow-num td,.flow-num th{font-variant-numeric:tabular-nums}.flow-num th:not(:first-child),.flow-num td:not(:first-child){text-align:right}
.fb-list{list-style:none;margin:0;padding:var(--sp-lg) var(--sp-lg);background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;gap:var(--sp-md)}
.fb-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-md);flex-wrap:wrap}
.fb-name{font-weight:600;min-width:0;overflow-wrap:normal}.fb-sum{font-variant-numeric:tabular-nums;white-space:nowrap}.fb-sum small{display:inline;color:var(--muted);margin-left:var(--sp-xs)}
.fb-track{height:10px;background:var(--soft);border-radius:6px;overflow:hidden;margin-top:var(--sp-xs)}.fb-fill{display:block;height:100%;background:var(--bad);border-radius:6px}.fb-fill.none{background:var(--warn)}
a.pill.warn{text-decoration:none}a.pill.warn:hover{text-decoration:underline}
.flow-ops td,.flow-ops th{font-size:13px}.flow-ops th:nth-child(6),.flow-ops td:nth-child(6){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.flow-ops td:nth-child(1){white-space:nowrap}.flow-ops td:nth-child(3){min-width:160px}
.flow-amt{font-variant-numeric:tabular-nums;font-weight:700}.flow-xfer{color:var(--muted)}
.flow-cards{display:none;list-style:none;margin:0;padding:0;gap:var(--sp-sm)}
.flow-op{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:var(--sp-md) var(--sp-md)}
.flow-op-top{display:flex;justify-content:space-between;gap:var(--sp-sm);font-size:13px;color:var(--muted)}.flow-op-top .flow-amt{font-size:16px;color:var(--ink)}
.flow-op-who{margin:var(--sp-xs) 0}.flow-op-who small{margin-top:var(--sp-2xs)}.flow-op-meta{font-size:13px;color:var(--muted);overflow-wrap:normal}.flow-op-tags{display:flex;gap:var(--sp-xs);flex-wrap:wrap;margin-top:var(--sp-sm)}.flow-op-tags:empty{display:none}
@media(max-width:900px){.fc-v{display:none}.fc-chart{--fc-h:150px}.fc-bar{flex-basis:9px}}
@media(max-width:760px){.flow-desktop{display:none}.flow-cards{display:grid}.fc-chart{padding:var(--sp-md) var(--sp-sm) var(--sp-sm);gap:var(--sp-2xs)}.fc-m{font-size:13px}.fb-list{padding:var(--sp-md)}}
.fc-bar.clip{background-image:repeating-linear-gradient(135deg,transparent 0 4px,var(--ux-color-ffffff66) 4px 7px)}

.ag-link-row{display:flex;gap:var(--sp-sm);flex-wrap:wrap;align-items:center;margin-top:var(--sp-md)}.ag-link-row select,.ag-link-row input{flex:1 1 240px;width:auto;min-width:0}
/* Объект интеграции: цифры по месяцам и годам */
.adesk-open{margin-top:var(--sp-sm)}.adesk-open button{min-height:36px;padding:var(--sp-xs) var(--sp-sm);font-size:13px}
.period-table td:first-child{min-width:150px;max-width:none}.period-table td:nth-child(8),.period-table td:nth-child(9){white-space:nowrap;min-width:0}
.period-table tbody tr:last-child td{font-weight:400;background:none}
.obj-panel .money-item strong{white-space:normal}
/* Банки напрямую */
.bank-list{display:grid;gap:var(--sp-sm)}.bank-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) auto;gap:var(--sp-md);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:var(--sp-md) var(--sp-md)}
.bank-row small{display:block;font-size:13px}.bank-state{display:flex;justify-content:space-between;gap:var(--sp-sm);align-items:center}.bank-state b{font-variant-numeric:tabular-nums;white-space:nowrap}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:var(--sp-sm);vertical-align:middle}.dot.g{background:var(--good)}.dot.y{background:var(--warn)}.dot.r{background:var(--bad)}
.bank-how{margin-top:var(--sp-xl)}.bank-how p{margin:var(--sp-sm) 0;font-size:14px}
@media(max-width:760px){.bank-row{grid-template-columns:1fr}.bank-state{justify-content:flex-start;flex-wrap:wrap}}
.bank-panel .money-item strong{font-size:clamp(20px,2.4vw,32px)}@media(max-width:760px){.bank-panel{grid-template-columns:1fr 1fr}.bank-panel .result{grid-column:1/-1}}
/* Приложение на телефоне: не залезать под «чёлку» и «домашнюю» полосу */
.topbar{padding-top:calc(var(--sp-lg) + env(safe-area-inset-top));padding-left:calc(var(--sp-2xl) + env(safe-area-inset-left));padding-right:calc(var(--sp-2xl) + env(safe-area-inset-right))}
.sidebar{padding-top:calc(var(--sp-2xl) + env(safe-area-inset-top));padding-left:calc(var(--sp-lg) + env(safe-area-inset-left))}
main{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
.login-screen{padding-top:calc(var(--sp-2xl) + env(safe-area-inset-top));padding-bottom:calc(var(--sp-2xl) + env(safe-area-inset-bottom))}
dialog{max-height:calc(90dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
@media(max-width:760px){.sidebar{padding-top:calc(var(--sp-md) + env(safe-area-inset-top));padding-left:calc(var(--sp-lg) + env(safe-area-inset-left));padding-right:calc(var(--sp-lg) + env(safe-area-inset-right))}.topbar{padding-top:calc(var(--sp-md) + env(safe-area-inset-top));padding-left:calc(var(--sp-lg) + env(safe-area-inset-left));padding-right:calc(var(--sp-lg) + env(safe-area-inset-right))}main{padding-left:calc(var(--sp-lg) + env(safe-area-inset-left));padding-right:calc(var(--sp-lg) + env(safe-area-inset-right));padding-bottom:calc(45px + env(safe-area-inset-bottom))}.login-screen{padding-left:calc(var(--sp-lg) + env(safe-area-inset-left));padding-right:calc(var(--sp-lg) + env(safe-area-inset-right))}.toast{bottom:calc(15px + env(safe-area-inset-bottom))}}
#install-steps p{margin:var(--sp-md) 0}

/* У меню и страницы собственная область прокрутки на любой высоте. */
.shell{height:100dvh;min-height:0;overflow:hidden}.sidebar{height:100dvh;overflow:hidden}.sidebar .brand{flex-shrink:0;margin-bottom:var(--sp-xl)}.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;align-content:start;padding-right:var(--sp-xs)}.sidebar-foot{flex-shrink:0;margin-top:var(--sp-md)}.main-wrap{height:100dvh;overflow-y:auto;overscroll-behavior:contain}.funnel-panel{position:relative}.funnel-panel .section-title{gap:var(--sp-md);flex-wrap:wrap}.funnel{height:310px;max-height:42dvh;overflow:auto;overscroll-behavior:contain;align-items:flex-start}.fcol{min-height:100%;height:max-content}.funnel-panel.expanded{position:fixed;inset:16px;z-index:40;background:var(--bg);padding:var(--sp-lg);border:1px solid var(--line);border-radius:16px;box-shadow:0 0 0 30px var(--ux-color-102c4780);display:flex;flex-direction:column}.funnel-panel.expanded .section-title{margin:0 0 var(--sp-sm)}.funnel-panel.expanded .funnel{height:auto;max-height:none;flex:1;min-height:0}.funnel-open{overflow:hidden}.account-tree{background:var(--surface);border:1px solid var(--line);padding:var(--sp-lg);border-radius:12px;margin:0 0 var(--sp-lg)}.account-tree summary{font-weight:650;cursor:pointer}.accounts-scroll{max-height:280px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-lg);padding-top:var(--sp-md)}.account-company>label{font-size:15px}.account-company>div{padding-left:var(--sp-xl)}.account-company label{display:flex;align-items:center;gap:var(--sp-sm);margin:var(--sp-sm) 0}.account-company input,.row-check{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--accent)}.account-company small{display:block;font-weight:400}.operations-filters label{min-width:150px}.detail-dialog{width:min(1120px,calc(100vw - 24px))}.detail-dialog .table-wrap{max-height:55dvh}.detail-dialog .dialog-head{position:sticky;top:-25px;background:var(--surface);padding:var(--sp-md) 0;z-index:2}.detail-dialog th select{min-width:150px;font-size:13px;margin-top:var(--sp-sm)}.category-detail{padding:var(--sp-md) 0;border-bottom:1px solid var(--line)}.category-detail>summary{font-weight:600;cursor:pointer}.category-detail .table-wrap{margin:var(--sp-md) 0}.month-detail{margin:var(--sp-xl) 0}.month-detail h3{margin-top:var(--sp-lg)}.excel-report{margin-bottom:var(--sp-xl)}.excel-report p{margin:var(--sp-md) 0}.settlement-line{font-size:17px;font-weight:600}.cash-owners>small{display:block}.account-tree input:focus-visible{outline-offset:2px}
@media(max-width:760px){.shell{display:flex;flex-direction:column}.sidebar{position:relative;flex:0 0 auto;height:auto;padding-bottom:var(--sp-sm);max-height:260px}.sidebar .brand{margin-bottom:var(--sp-xs)}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;max-height:140px;overflow-y:auto;overflow-x:hidden;margin:0;padding:0 var(--sp-xs) var(--sp-xs) 0;gap:var(--sp-2xs)}.nav-link{white-space:normal;padding:var(--sp-sm) var(--sp-sm);min-height:40px;font-size:13px}.main-wrap{flex:1;min-height:0;height:auto}.topbar{gap:var(--sp-sm)}.page-head{flex-wrap:wrap}.funnel{height:270px;max-height:40dvh}.funnel-panel.expanded{inset:6px;padding:var(--sp-md)}.funnel-panel.expanded h2{font-size:20px}.accounts-scroll{grid-template-columns:1fr;max-height:230px}.detail-dialog{padding:var(--sp-lg)}.detail-dialog .dialog-head{top:-16px}.operations-filters label{min-width:125px}.form-fields{grid-template-columns:1fr}.detail-dialog td,.detail-dialog th{padding:var(--sp-sm)}.funnel-panel .section-title button{font-size:13px;padding:var(--sp-sm) var(--sp-sm)}.top-actions{justify-content:flex-end}.topbar #today{display:none}}
.account-company .account-edit{min-height:30px;padding:var(--sp-2xs) var(--sp-sm);font-size:13px;margin-left:var(--sp-2xl);margin-top:-4px}.cash-owners{margin-top:var(--sp-sm)}
.excel-preview-table th{min-width:180px;white-space:normal;vertical-align:top;line-height:1.4}.excel-preview-table th select{display:block;width:100%;min-width:0;margin-top:var(--sp-sm)}.excel-preview-table td{min-width:180px}
/* Раздел «Объекты»: собственники с долями, части, объединение мест, расходы */
.dyn-rows{display:grid;gap:var(--sp-sm);margin-top:var(--sp-sm)}
.dyn-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:var(--sp-sm);align-items:end}
.dyn-row .dyn-grow{display:flex;flex-direction:column}
.dyn-row.split-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr) auto}
.dyn-row button{min-height:40px;padding:var(--sp-xs) var(--sp-sm)}
.dyn-row small{margin:var(--sp-xs) 0 0;font-size:13px;font-weight:400}
.dyn-new{margin-top:var(--sp-sm)}
.merge-list{max-height:46dvh;overflow:auto;display:grid;gap:var(--sp-xs);margin:var(--sp-md) 0}
.merge-row{display:flex;align-items:center;gap:var(--sp-sm);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:var(--sp-sm) var(--sp-md)}
.merge-row label{display:flex;align-items:center;gap:var(--sp-sm);margin:0;font-weight:400;flex:1;min-width:0}
.merge-row input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--accent)}
.merge-row .why{margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}
.toolbar-check{display:flex;align-items:center;gap:var(--sp-sm);font-weight:600;font-size:14px;min-height:46px;white-space:nowrap}
.toolbar-check input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--accent)}
.merge-mark{margin-top:var(--sp-2xs)}
.merge-mark summary{cursor:pointer;color:var(--accent);font-size:13px;font-weight:600}
.merge-mark small{display:block;font-size:13px;margin-top:var(--sp-2xs)}
.radio-list{display:grid;gap:var(--sp-xs);margin:var(--sp-md) 0;max-height:40dvh;overflow:auto}
.radio-row{display:flex;align-items:flex-start;gap:var(--sp-sm);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:var(--sp-sm) var(--sp-md)}
.radio-row label{display:flex;align-items:flex-start;gap:var(--sp-sm);margin:0;font-weight:400;flex:1}
.radio-row input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:var(--sp-2xs) 0 0;accent-color:var(--accent)}
.radio-row small{display:block;margin-top:var(--sp-2xs)}
.source-note{margin:var(--sp-xs) 0 0;font-size:13px;color:var(--muted)}
@media(max-width:760px){.dyn-row{grid-template-columns:1fr 1fr auto}.dyn-row.split-row{grid-template-columns:1fr 1fr}.dyn-row.split-row .dyn-grow:nth-child(3){grid-column:1/-1}}
/* Исправления приёмки 24.10: доступ к разделам и действиям без смены оформления. */
.mobile-navigation,.mobile-copy{display:none}.nav-scroll-hint{display:block;color:var(--ux-color-d5e4f1);font-size:13px;margin:var(--sp-sm) var(--sp-xs)}.sidebar nav{scrollbar-color:var(--ux-color-9ab7d2) var(--ux-color-123c65)}.sidebar nav::-webkit-scrollbar{width:8px}.sidebar nav::-webkit-scrollbar-thumb{background:var(--ux-color-9ab7d2);border-radius:8px}.sidebar nav::-webkit-scrollbar-track{background:var(--ux-color-123c65)}.sidebar .nav-link{padding-top:var(--sp-sm);padding-bottom:var(--sp-sm)}.legend>span,.fc-legend>span{display:inline-flex;align-items:center;white-space:nowrap}.legend i{border:1px solid var(--muted);flex:0 0 13px}.stat{min-width:0}.stat strong{overflow-wrap:normal}.adesk-map select{width:100%;min-width:0}.debt-total{grid-template-columns:1fr}.mobile-card-table td{word-break:normal;overflow-wrap:normal}.mobile-card-table td:last-child button{white-space:normal}.nav-scroll-hint{flex-shrink:0}#more-links{display:grid;gap:var(--sp-xs)}#more-links .nav-link{color:var(--ink);background:var(--soft)}#more-links .nav-link.active{outline:2px solid var(--accent)}
@media(max-width:760px){
 .shell{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.sidebar{padding-top:calc(var(--sp-sm) + env(safe-area-inset-top));padding-bottom:var(--sp-sm)}.sidebar .brand{margin:0;font-size:15px}.sidebar .brand small{display:none}.sidebar #navigation,.sidebar .nav-scroll-hint{display:none}.mobile-navigation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:var(--sp-xs) var(--sp-xs) calc(var(--sp-xs) + env(safe-area-inset-bottom));gap:var(--sp-2xs);min-height:64px}.mobile-navigation .nav-link,.mobile-navigation button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--sp-2xs);color:var(--ink);font-size:13px;min-height:48px;padding:var(--sp-2xs) 0;border:0;white-space:normal}.mobile-navigation .nav-link.active{color:var(--accent);background:var(--soft)}.mobile-navigation .nav-link span{font-size:18px}.toast{bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{padding-top:var(--sp-sm);padding-bottom:var(--sp-sm);flex-wrap:wrap}.topbar #user-label{font-size:13px}.top-actions{gap:var(--sp-xs);flex-wrap:wrap}.top-actions button{font-size:13px;padding:var(--sp-xs) var(--sp-sm);min-height:36px}main{padding-top:var(--sp-lg)}.desktop-copy{display:none}.mobile-copy{display:inline}.dropzone{padding:var(--sp-md)}.dropzone h3{font-size:15px}.dropzone p{display:none}.dropzone button{margin-top:var(--sp-sm)}.stat strong{font-size:clamp(16px,4.9vw,23px)}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.debt-total .money-item{grid-column:1/-1}.mobile-card-table{border:0;background:transparent;overflow:visible}.mobile-card-table table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{display:block;width:100%;min-width:0}.mobile-card-table thead{display:none}.mobile-card-table tr{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:var(--sp-md);padding:var(--sp-xs) var(--sp-md)}.mobile-card-table td{padding:var(--sp-sm) 0;border:0}.mobile-card-table td::before{content:attr(data-label);display:block;font-size:13px;color:var(--muted);margin-bottom:var(--sp-xs)}.mobile-card-table td:last-child .row-actions{display:flex;flex-wrap:wrap}.mobile-card-table td:last-child button{min-height:44px}.mobile-card-table td small{white-space:normal}.mobile-card-table .row-actions button{padding:var(--sp-sm) var(--sp-sm);font-size:13px}.page-head .actions .button-link,.page-head .actions button{white-space:normal}.money-item strong{max-width:100%;font-size:clamp(16px,5vw,26px)}.bank-panel .money-item strong{font-size:clamp(16px,5vw,26px)}.page-head h1{overflow-wrap:normal}.mini-money>div{min-width:0}.money-panel{max-width:100%}
}

/* Отдельные компоненты оплаты сохраняют размер цели касания на телефоне. */
.grid-components{display:flex;gap:var(--sp-xs);align-items:stretch}.grid-components button{min-width:72px;min-height:48px;padding:var(--sp-xs);border:1px solid currentColor;flex:1}.grid-components small{font-size:13px;white-space:nowrap}.place-documents{padding-left:var(--sp-lg);overflow-wrap:normal}.place-documents li{margin:var(--sp-md) 0}.place-documents button{margin:var(--sp-xs) var(--sp-sm)}#sale-documents{display:flex;flex-direction:column;gap:var(--sp-sm)}#sale-documents label{display:flex;align-items:center;gap:var(--sp-sm);overflow-wrap:normal}#sale-documents input{width:auto;min-height:24px}.stat small{display:block;font-size:13px;color:var(--muted)}

/* Дизайн 27.10.2026: роли и контракт из pages/app.md.
   Слой оформления оставляет прежние классы и адаптивное поведение. */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
html{scrollbar-color:var(--line) var(--bg)}
::selection{background:var(--teal);color:var(--bg)}
button,a,input,select,textarea,summary{touch-action:manipulation}
button,.button-link,.nav-link{transition:background var(--motion),color var(--motion),border-color var(--motion),box-shadow var(--motion),transform var(--motion)}
button:hover{filter:none;background:var(--soft);border-color:var(--accent)}
button:active:not(:disabled),.button-link:active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
input,select,textarea{transition:border-color var(--motion),box-shadow var(--motion);accent-color:var(--teal)}
input:hover,select:hover,textarea:hover{border-color:var(--teal)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.primary,[data-theme=dark] .primary{
 background:linear-gradient(115deg,var(--primary-start),var(--primary-end));
 color:var(--ux-color-fff);border-color:transparent;box-shadow:0 3px 8px var(--ux-color-0369a122);
}
.primary:hover{background:linear-gradient(115deg,var(--ux-color-115e59),var(--ux-color-075985));border-color:transparent;box-shadow:0 5px 14px var(--ux-color-0369a133)}
.primary:active:not(:disabled){background:linear-gradient(115deg,var(--ux-color-134e4a),var(--ux-color-0c4a6e));box-shadow:none}
.quiet{color:var(--ink);background:transparent}
.quiet:hover{background:var(--soft);border-color:var(--line)}
button.danger,.button-link.danger{color:var(--bad);background:var(--bad-bg);border-color:var(--bad)}
button.danger:hover,.button-link.danger:hover{box-shadow:0 0 0 2px var(--bad-bg)}
.row-actions button.danger{background:transparent;border-color:var(--line);color:var(--bad)}
.row-actions button.danger:hover,.row-actions button.danger:focus-visible{background:var(--bad-bg);border-color:var(--bad)}
.row-actions button,.chips button,.dyn-row button,.adesk-open button,.fcard .row-actions button{min-height:44px}

/* Разделы: светлый цвет на белой плашке, отдельный тон на тёмном меню. */
.sec-teal{--section:var(--teal);--section-bg:var(--teal-bg);--nav-section:var(--ux-color-5eead4)}
.sec-blue{--section:var(--accent);--section-bg:var(--blue-bg);--nav-section:var(--ux-color-7dd3fc)}
.sec-green{--section:var(--good);--section-bg:var(--good-bg);--nav-section:var(--ux-color-6ee7b7)}
.sec-red{--section:var(--bad);--section-bg:var(--bad-bg);--nav-section:var(--ux-color-fca5a5)}
.sec-violet{--section:var(--violet);--section-bg:var(--violet-bg);--nav-section:var(--ux-color-c4b5fd)}
.sec-amber{--section:var(--warn);--section-bg:var(--warn-bg);--nav-section:var(--ux-color-fcd34d)}
.sec-indigo{--section:var(--indigo);--section-bg:var(--indigo-bg);--nav-section:var(--ux-color-a5b4fc)}
/* Совместимость до добавления sec-* соседним исполнителем. */
.nav-link[data-page=portfolio]{--section:var(--teal);--nav-section:var(--ux-color-5eead4)}
.nav-link[data-page=objects],.nav-link[data-page=places]{--section:var(--accent);--nav-section:var(--ux-color-7dd3fc)}
.nav-link[data-page=payments],.nav-link[data-page=grid]{--section:var(--good);--nav-section:var(--ux-color-6ee7b7)}
.nav-link[data-page=debts]{--section:var(--bad);--nav-section:var(--ux-color-fca5a5)}
.nav-link[data-page=cashboxes],.nav-link[data-page=operations]{--section:var(--violet);--nav-section:var(--ux-color-c4b5fd)}
.nav-link[data-page=agents],.nav-link[data-page=autopilot]{--section:var(--warn);--nav-section:var(--ux-color-fcd34d)}
.nav-link[data-page=banks],.nav-link[data-page=reports]{--section:var(--indigo);--nav-section:var(--ux-color-a5b4fc)}
.sidebar{background:linear-gradient(155deg,var(--ux-color-134e4a) 0%,var(--ux-color-10445a) 58%,var(--ux-color-17365b) 100%);color:var(--ux-color-d6f1ed);border-right:1px solid var(--ux-color-ffffff14)}
.brand small,.nav-scroll-hint{color:var(--ux-color-c1dfdf)}
.brand-mark{background:var(--ux-color-ffffff0d);border-color:var(--ux-color-ffffff40);box-shadow:inset 0 1px var(--ux-color-ffffff18)}
.sidebar .nav-link{color:var(--ux-color-e0f2f1);border:1px solid transparent;border-radius:12px;min-height:44px}
.sidebar .nav-link:hover{background:var(--ux-color-ffffff14);border-color:var(--ux-color-ffffff1a)}
.sidebar .nav-link.active{color:var(--ux-color-134e4a);background:var(--ux-color-f0fdfa);border-color:var(--ux-color-d1fae5);box-shadow:0 3px 12px var(--ux-color-062f3926)}
.sidebar .nav-icon,.sidebar .nav-link>.ico{color:var(--nav-section,var(--ux-color-5eead4))}
.sidebar .nav-link.active .nav-icon,.sidebar .nav-link.active>.ico{color:var(--section,var(--primary-start))}
[data-theme=dark] .sidebar .nav-link.active .nav-icon,[data-theme=dark] .sidebar .nav-link.active>.ico{color:var(--ux-color-134e4a)}
.sidebar .nav-link[class*=sec-]:not(:has(.nav-icon,.ico))::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--nav-section)}
.sidebar .nav-link.active::before{box-shadow:0 0 0 2px var(--ux-color-134e4a)}
.sidebar nav{scrollbar-color:var(--ux-color-83bdbb) var(--ux-color-123e4d)}
.sidebar nav::-webkit-scrollbar-thumb{background:var(--ux-color-83bdbb)}
.sidebar nav::-webkit-scrollbar-track{background:var(--ux-color-123e4d)}
.topbar{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
#page-title{border-left:4px solid var(--section,var(--teal));padding-left:var(--sp-md);overflow-wrap:normal}
.page-head>div,.card-header>div,.form-fields>*,.toolbar>*{min-width:0}
.toolbar label.toolbar-check{flex:1 1 240px;min-width:min(100%,240px);white-space:normal}
.toolbar-check span{min-width:0;overflow-wrap:normal}

/* Финансовая сводка: цифры на непрозрачных поверхностях. */
.money-panel{box-shadow:var(--shadow);background:var(--surface)}
.money-item{background:var(--teal-bg);border-top:3px solid var(--teal);min-width:0}
.money-item:nth-child(2){background:var(--good-bg);border-top-color:var(--good)}
.money-item:nth-child(3){background:var(--blue-bg);border-top-color:var(--blue)}
.money-item span{font-size:14px;font-weight:600}
.money-item strong,.valuation-panel .money-item strong,.bank-panel .money-item strong{white-space:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.money-item small{display:block;line-height:1.5;color:var(--muted)}
.money-item.result,.money-item.result.positive,.money-item.result.neutral{background:var(--teal-bg);color:var(--ink);border-top:3px solid var(--teal)}
.money-item.result.negative{background:var(--bad-bg);color:var(--ink);border-top-color:var(--bad)}
.money-item.result small{color:var(--muted)}
/* Financial values use solid text: transparent gradient glyphs can disappear
   when the browser fails to clip the background to the text. */
.money-item.result strong,.valuation-panel .result.positive strong,.valuation-panel .result.neutral strong{
 color:var(--ink);background:none;-webkit-background-clip:border-box;background-clip:border-box;
 -webkit-text-fill-color:currentColor;
}
.money-item.result.positive strong,.valuation-panel .result.positive strong{color:var(--good)}
.money-item.result.negative strong,.money-item.result strong.danger{color:var(--bad)}
.money-item.result strong.positive-money{color:var(--good)}
.valuation-panel .money-item.result.neutral{background:var(--surface);border-top-color:var(--muted)}
.debt-total .money-item{background:var(--bad-bg);border-top-color:var(--bad)}
.debt-total strong{color:var(--bad)}
.debt-total.is-clear .money-item{background:var(--good-bg);border-top-color:var(--good)}
.debt-total.is-clear strong{color:var(--good)}
.debt-amount{font-size:20px;font-weight:750;color:var(--bad)}
.numeric{font-weight:650;font-variant-numeric:tabular-nums}
.stat{border-left:3px solid var(--section,var(--teal));border-radius:4px;padding:var(--sp-sm) var(--sp-md)}
.stat:nth-child(4n+2){border-left-color:var(--blue)}
.stat:nth-child(4n+3){border-left-color:var(--good)}
.stat:nth-child(4n){border-left-color:var(--violet)}
.stat strong,.kpi strong{font-variant-numeric:tabular-nums}
.kpi{--kpi-color:var(--teal);--kpi-bg:var(--teal-bg);min-width:0;padding:var(--sp-lg) var(--sp-lg);background:var(--kpi-bg);border:1px solid var(--line);border-left:4px solid var(--kpi-color);border-radius:16px;box-shadow:var(--shadow)}
.kpi strong{display:block;font-size:clamp(22px,2.5vw,32px);line-height:1.25;color:var(--kpi-color);overflow-wrap:normal;margin:var(--sp-sm) 0}
.kpi small,.kpi span{color:var(--muted)}
.kpi-teal{--kpi-color:var(--teal);--kpi-bg:var(--teal-bg)}
.kpi-blue{--kpi-color:var(--blue);--kpi-bg:var(--blue-bg)}
.kpi-green{--kpi-color:var(--good);--kpi-bg:var(--good-bg)}
.kpi-red{--kpi-color:var(--bad);--kpi-bg:var(--bad-bg)}
.kpi-violet{--kpi-color:var(--violet);--kpi-bg:var(--violet-bg)}
.kpi-amber{--kpi-color:var(--warn);--kpi-bg:var(--warn-bg)}
/* Смысловые классы сильнее позиции плитки в строке. */
.money-item.kpi{background:var(--kpi-bg);border-top-color:var(--kpi-color)}
.stat.kpi{border-left-color:var(--kpi-color)}
.valuation-panel .money-item strong{font-size:24px;line-height:1.25;font-weight:650}
.valuation-panel .money-item.result strong{font-size:36px;font-weight:750}
@media(min-width:1201px){.valuation-panel{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr)}}
.mini-money{gap:var(--sp-sm)}
.mini-money>.kpi{padding:var(--sp-xs) 0;background:transparent;border:0;border-radius:0;box-shadow:none}
.mini-money>.kpi strong{font-size:16px;line-height:1.3;margin:0}
.mini-money>.kpi.kpi-teal strong{font-size:20px;font-weight:750}
.card,.panel{border-radius:16px;box-shadow:var(--shadow);min-width:0;transition:border-color var(--motion)}
.card-grid>.card{border-left:4px solid var(--section,var(--teal))}
.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.card p,.panel p,.mini-money strong{overflow-wrap:normal}
.card h3{overflow-wrap:normal}
.object-kind{border-radius:12px;background:var(--section-bg,var(--teal-bg));color:var(--section,var(--teal))}
.card:focus-within{border-color:var(--section,var(--teal))}

.pill{display:inline-flex;align-items:center;gap:var(--sp-xs);border-radius:999px;padding:var(--sp-xs) var(--sp-sm);width:max-content;max-width:none;flex-shrink:0;white-space:nowrap;word-break:normal;overflow-wrap:normal;vertical-align:middle;line-height:1.5}
.mobile-card-table td .pill{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.pill::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 6px}
.pill.good,.pill.st-free{color:var(--good);background:var(--good-bg)}
.pill.bad,.pill.st-debt{color:var(--bad);background:var(--bad-bg)}
.pill.warn,.pill.st-own{color:var(--warn);background:var(--warn-bg)}
.pill.st-rented{color:var(--blue);background:var(--blue-bg)}
.pill.st-sold{color:var(--violet);background:var(--violet-bg)}
.pill.st-merged{color:var(--slate);background:var(--slate-bg)}
.pill.st-booked{color:var(--ux-color-0e7490);background:var(--ux-color-cffafe)}
[data-theme="dark"] .pill.st-booked{color:var(--ux-color-67e8f9);background:var(--ux-color-164e63)}
.integration-panel{min-width:0;border-left:4px solid var(--accent)}
.receipt-toggle{min-height:44px;cursor:pointer}
.person-results,.person-stack{display:grid;gap:var(--sp-sm)}
.person-results{max-height:260px;overflow:auto;margin-top:var(--sp-sm)}
.person-results[hidden]{display:none}
.person-fields{margin-top:var(--sp-lg)}
.termination-total{white-space:normal;font-size:1.1em}
.batch-places-table{table-layout:fixed}
.batch-area-column{width:34%}
.batch-action-column{width:64px}
@media(max-width:760px){
 .batch-places-table colgroup{display:none}
 [data-person-picker] input,[data-person-picker] select{min-height:44px}
 .person-results button{min-height:44px}
}
.badge{background:var(--ux-color-be185d);color:var(--ux-color-fff)}
.table-wrap{border-radius:16px;box-shadow:var(--shadow);max-width:100%;isolation:isolate}
table{font-variant-numeric:tabular-nums}
th{background:var(--soft);color:var(--muted)}
tbody tr:nth-child(even)>td{background:var(--stripe)}
tbody tr:hover>td{background:var(--row-hover)}
.grid-table td:first-child{background:var(--surface)}
.grid-table th:first-child{background:var(--soft)}
.grid-table tbody tr:nth-child(even)>td:first-child{background:var(--stripe)}
.grid-table tbody tr:hover>td:first-child{background:var(--row-hover)}
.grid-cell{border-radius:8px;min-height:44px;font-variant-numeric:tabular-nums}
.grid-cell small{color:inherit}
.grid-cell.paid{background:var(--good-bg);color:var(--good);border-color:var(--good)}
.grid-cell.partial{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}
.grid-cell.debt{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}
.grid-cell.future{background:var(--blue-bg);color:var(--blue);border-color:var(--blue)}
.grid-cell.none{background:var(--slate-bg);color:var(--slate)}
.grid-cell:hover:not(:disabled){box-shadow:inset 0 0 0 1px currentColor}
.future{background:var(--blue-bg);color:var(--blue)}
.none{background:var(--slate-bg);color:var(--slate)}

.ico{display:inline-block;width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px}
.ico-lg{width:40px;height:40px}
.empty{border-radius:16px;border-color:var(--line);box-shadow:var(--shadow)}
.empty-ico{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--section-bg,var(--teal-bg));color:var(--section,var(--teal));margin:0 auto var(--sp-lg)}
.empty-ico .ico{width:40px;height:40px}
.login-screen{
 background:radial-gradient(ellipse at 12% 20%,var(--teal-bg),transparent 55%),radial-gradient(ellipse at 90% 85%,var(--blue-bg),transparent 60%),var(--bg);
}
.login-brand,.login-brand span{color:var(--teal);background:linear-gradient(135deg,var(--teal),var(--accent));-webkit-background-clip:text;background-clip:text}
@supports (background-clip:text){.login-brand,.login-brand span{-webkit-text-fill-color:transparent}}
/* Inline-размер оболочки временно перекрыт в пределах CSS-брифа. */
.login-brand{letter-spacing:normal;line-height:0}
.login-brand>svg{width:96px;height:auto;max-width:100%}
.brand-mark{display:inline-flex;flex-shrink:0;padding:0;border:0;border-radius:10px;line-height:0}
.brand-mark>svg{width:42px;height:42px}
.login-card h1{font-size:28px;line-height:1.2}
#dropzone{padding:var(--sp-md) var(--sp-lg);border-width:1px;border-style:dashed;border-radius:12px}
.login-card{background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px}
dialog{background:var(--glass);border-radius:20px;box-shadow:0 24px 72px var(--ux-color-071c3a33);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow-wrap:normal}
dialog::backdrop{background:var(--ux-color-071c3a80);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.detail-dialog .dialog-head{background:var(--surface);border-bottom:1px solid var(--line)}
.toast{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--teal);box-shadow:var(--shadow-lift);overflow-wrap:normal}
.toast.failure{background:var(--bad-bg);color:var(--bad);border-left-color:var(--bad)}
.news-banner,[data-theme=dark] .news-banner{background:var(--soft);color:var(--accent);border:1px solid var(--line);border-left:4px solid var(--accent);box-shadow:var(--shadow)}
.alert{background:var(--bad-bg);color:var(--bad);border:1px solid var(--line);border-left:4px solid var(--bad)}
.alert a{color:inherit}
.hint{background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px}
.hint.error,.bad-hint{background:var(--bad-bg);color:var(--bad);border-left-color:var(--bad)}
.button-link,.tabs button,.hint,.alert,.news-banner{overflow-wrap:normal}
.mobile-navigation{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -4px 20px var(--ux-color-134e4a0b)}
.mobile-navigation .nav-link.active{color:var(--section,var(--teal));background:var(--soft);box-shadow:inset 0 3px var(--section,var(--teal));border-radius:10px}
.mobile-navigation .ico{color:var(--section,var(--teal))}
@media(max-width:1100px) and (min-width:761px){
 .topbar{padding-left:var(--sp-xl);padding-right:var(--sp-xl)}
 .money-item{padding:var(--sp-xl) var(--sp-lg)}
}
@media(max-width:760px){
 .sidebar{border-right:0}
 .topbar{gap:var(--sp-sm) var(--sp-md)}
 .top-actions{gap:var(--sp-xs)}
 .top-actions button{min-height:44px;padding:var(--sp-sm) var(--sp-sm);font-size:13px}
 .money-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
 .debt-total{grid-template-columns:minmax(0,1fr)}
 .money-item,.valuation-panel .money-item{padding:var(--sp-lg) var(--sp-md)}
 .money-item strong,.money-item:not(.result) strong,.money-item.result strong,.valuation-panel .money-item strong,.bank-panel .money-item strong{font-size:clamp(19px,5vw,26px);line-height:1.25}
 .money-item span,.valuation-panel .money-item span{font-size:13px}
 .money-item small,.valuation-panel .money-item small{font-size:13px}
 .money-item.result{border-top-width:3px}
 .valuation-panel .money-item strong{font-size:20px}
 .valuation-panel .money-item.result{grid-column:1/-1}
 .valuation-panel .money-item.result strong{font-size:28px}
 .money-item:nth-child(odd){border-left:0}
 .toolbar label,.toolbar label.search{max-width:100%;min-width:0;flex-basis:140px}
 .toolbar label.search{flex-basis:100%}
 .toolbar-check{white-space:normal}
 .card,.panel{padding:var(--sp-lg)}
 .kpi{padding:var(--sp-lg)}
 .mini-money>div{align-items:flex-start}
 .mini-money strong{max-width:100%}
 #more-links .nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;color:var(--section,var(--teal))}
 .mobile-card-table{box-shadow:none;border-radius:0}
 .mobile-card-table tr{border-radius:16px;box-shadow:var(--shadow)}
 .mobile-card-table tbody tr:nth-child(even)>td{background:transparent}
 .mobile-card-table td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--sp-sm);padding:var(--sp-sm) 0;font-size:14px}
 .mobile-card-table td::before{font-size:13px;margin:0;font-weight:400;text-align:left}
 .mobile-card-table td>*{min-width:0}
 .mobile-card-table td>small,.mobile-card-table td>details{grid-column:2}
 .mobile-card-table td:first-child{font-weight:650}
 .mobile-card-table td:first-child small{font-weight:400}
 .mobile-card-table td.numeric{white-space:normal;text-align:left}
 .mobile-card-table td:last-child{display:block}
 .mobile-card-table td:last-child::before{margin-bottom:var(--sp-sm)}
 .mobile-card-table td:last-child .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-sm)}
 .mobile-card-table td:last-child .row-actions button{width:100%;min-height:44px;padding:var(--sp-sm);font-size:13px}
 #dropzone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-md);align-items:center}
 #dropzone button{width:auto;max-width:128px;margin:0;min-height:44px;white-space:normal}
 #dropzone h3{font-size:14px;line-height:1.35}
 .mobile-navigation .nav-link,.mobile-navigation button{min-height:48px}
 .mobile-navigation .nav-link .ico{width:20px;height:20px}
 .login-screen{min-height:100dvh}
 .login-brand{margin:var(--sp-md) 0 var(--sp-lg)}
 .login-brand>svg{width:56px}
 .login-card{padding:var(--sp-xl)}
 .login-card h1{font-size:28px;line-height:1.2}
 .dialog-head{flex-wrap:wrap}
 .dialog-head h2{min-width:0;overflow-wrap:normal}
 .dialog-foot{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .card:hover,.panel:hover,button:active:not(:disabled),.button-link:active{transform:none}
}
@media(forced-colors:active){
 .money-item.result strong,.login-brand,.login-brand span{background:none;-webkit-text-fill-color:currentColor}
 .pill::before{forced-color-adjust:none}
 .primary{border:1px solid ButtonText}
}

/* Касса: текст флажка переносится независимо от самого флажка. */
#editor label.cash-all-tenants{display:flex;align-items:flex-start;gap:var(--sp-sm);min-width:0;min-height:44px;white-space:normal}
#editor .cash-all-tenants input[type=checkbox]{width:20px;min-height:20px;height:20px;flex:0 0 20px;margin:var(--sp-2xs) 0 0}
#editor .cash-all-tenants span{min-width:0;overflow-wrap:normal;white-space:normal}

/* Места: одна таблица на ноутбуке, компактная шапка карточки на телефоне. */
.places-list .place-select-column,.places-list .place-select-cell{width:60px;padding:var(--sp-sm)}
.places-list .place-select-cell label{width:44px;min-height:44px;justify-content:center;cursor:pointer}
.places-list .place-name{min-width:0;overflow-wrap:normal}
.places-list .place-meta{color:var(--muted)}
.places-list .place-registry summary{min-height:44px;padding:var(--sp-sm) 0;cursor:pointer;word-break:normal;overflow-wrap:normal}
.places-list .place-registry small{word-break:normal;overflow-wrap:normal}
@media(max-width:760px){
 .places-list tr{display:grid;grid-template-columns:44px minmax(0,1fr) max-content;gap:0 var(--sp-sm);padding:var(--sp-md)}
 .places-list tbody tr:hover>td{background:transparent}
 .places-list .place-select-cell{grid-column:1;grid-row:1;width:44px;padding:0;display:block;align-self:center}
 .places-list .place-select-cell::before,.places-list .place-name-cell::before,.places-list .place-status-cell::before{display:none}
 .places-list .place-name-cell,.places-list .place-status-cell{display:contents}
 .places-list .place-name{grid-column:2;grid-row:1;align-self:center}
 .places-list .place-name button{max-width:100%;min-height:44px;padding:var(--sp-sm) var(--sp-sm);white-space:normal;overflow-wrap:normal}
 .places-list .place-status{grid-column:3;grid-row:1;align-self:center}
 .places-list .place-status small{white-space:normal;max-width:130px}
 .places-list .place-meta{grid-column:1/-1;grid-row:2;display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-xs) var(--sp-md);padding:var(--sp-xs) 0}
 .places-list .place-meta small{margin:0;font-size:13px}
 .places-list .place-registry{grid-column:1/-1;grid-row:4;border-bottom:1px solid var(--line);margin-bottom:var(--sp-xs)}
 .places-list .place-registry:empty{display:none}
 .places-list .place-registry summary{font-weight:600;color:var(--accent)}
 .places-list .place-registry details[open]{padding-bottom:var(--sp-sm)}
 .places-list .place-status-note{grid-column:1/-1;grid-row:3}
 .places-list .place-status-note:empty{display:none}
 .places-list .place-fact-cell{grid-column:1/-1;width:100%;word-break:normal;overflow-wrap:normal}
 .places-list .place-fact-cell:last-child{border-top:1px solid var(--line);margin-top:var(--sp-sm);padding-top:var(--sp-md)}
 .places-list .place-fact-cell:last-child::before{display:none}
 .places-list .place-fact-cell:last-child .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-sm);min-width:0}
 .places-list .row-actions button{word-break:normal;overflow-wrap:normal}
}
/* Общие блоки карточек и окон (контракт 27.10): action-bar, meta-chips, card-section */
.action-bar{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-sm);margin:var(--sp-lg) 0}
.action-bar>button,.action-bar>.button-link{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-sm);white-space:nowrap;margin:0}
.action-bar>.primary{order:-1}
.action-bar>.danger,.action-bar>[data-tone=danger]{background:transparent;border-color:var(--line);color:var(--bad)}
.action-bar>.danger:hover,.action-bar>[data-tone=danger]:hover{background:var(--bad-bg);border-color:var(--bad)}
.meta-chips{display:flex;flex-wrap:wrap;gap:var(--sp-xs) var(--sp-sm);align-items:center;margin:var(--sp-xs) 0 var(--sp-sm)}
.meta-chips>span{display:inline-flex;align-items:center;gap:var(--sp-xs);padding:var(--sp-xs) var(--sp-sm);border-radius:999px;background:var(--soft);color:var(--ink);font-size:13px;white-space:nowrap}
.meta-chips>span small{color:var(--muted);font-size:13px}
.card-section{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--section,var(--teal));border-radius:16px;padding:var(--sp-lg) var(--sp-lg);margin:var(--sp-md) 0}
.card-section>h3{font-size:15px;margin:0 0 var(--sp-sm);color:var(--muted);font-weight:650}
.card-section .big{font-size:clamp(24px,6vw,34px);font-weight:750;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
@media(max-width:760px){.action-bar{grid-template-columns:1fr 1fr}.action-bar>button{white-space:normal;line-height:1.2}}

/* K1: карточка места — компактные секции и раскрытие цены без пустой полосы. */
.k1-place-card{min-width:0;--section:var(--blue)}
.k1-place-card button{overflow-wrap:normal;word-break:normal}
.k1-place-price{--section:var(--blue);background:var(--blue-bg);box-shadow:none}
.k1-place-price .big{display:block;color:var(--blue);line-height:1.2;margin:var(--sp-xs) 0 var(--sp-md);overflow-wrap:normal}
.k1-place-price .category-detail{padding:0;border:0}
.k1-place-price summary{min-height:44px;display:list-item;align-content:center;font-weight:600;cursor:pointer}
.k1-place-price details[open] summary{margin-bottom:var(--sp-sm)}
.k1-place-price details p{margin:var(--sp-sm) 0;overflow-wrap:normal}
.k1-place-price .hint{padding:0;border:0;background:transparent;margin:var(--sp-sm) 0}
.k1-place-contract{--section:var(--teal)}
.k1-place-cars{--section:var(--blue)}
.k1-place-cars small{display:block;margin:var(--sp-xs) 0}
.k1-place-advance{--section:var(--warn)}
.k1-place-advance>section>h3{font-size:14px;margin:var(--sp-sm) 0}
.k1-place-owners,.k1-place-sale{--section:var(--violet)}
.k1-place-expenses{--section:var(--warn)}
.k1-place-history{--section:var(--slate)}
.k1-place-history>h3:not(:first-child){margin-top:var(--sp-lg)}
.k1-place-card .k1-place-empty{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-xs) var(--sp-md);padding:var(--sp-sm) var(--sp-md);border-width:0 0 0 3px;border-radius:0;background:transparent}
.k1-place-empty>h3{font-size:14px;margin:0}
.k1-place-empty>p{font-size:14px}
.k1-place-card .place-documents{padding-left:var(--sp-lg);margin:var(--sp-sm) 0 0}
.k1-place-card .place-documents li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm);margin:var(--sp-sm) 0}
.k1-place-card .place-documents a{min-width:0;overflow-wrap:normal}

.k1-place-card .k1-place-object{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:normal}
/* K2: карточка объекта — ровные цифры, секции и действия */
.k2-object-overview{min-width:0;margin-top:var(--sp-md)}
.k2-object-meta{margin:var(--sp-md) 0 var(--sp-lg)}
.k2-object-meta>.good{background:var(--good-bg);color:var(--good)}
.k2-object-meta>.st-sold{background:var(--violet-bg);color:var(--violet)}
.k2-object-overview .valuation-panel{gap:var(--sp-md);background:transparent;border:0;box-shadow:none;overflow:visible;margin-bottom:var(--sp-lg)}
.k2-object-overview .money-item{min-width:0;border-radius:16px;padding:var(--sp-lg) var(--sp-lg)}
.k2-object-overview .money-item.result{grid-column:auto}
.k2-object-overview .money-item strong{white-space:normal;word-break:normal;overflow-wrap:normal;font-size:clamp(20px,2vw,30px);line-height:1.3;letter-spacing:-.5px}
.k2-object-overview .money-item span{display:block;font-weight:600;line-height:1.5}
.k2-object-overview .money-item small{display:block;line-height:1.5}
.k2-object-overview .rental-metrics{align-items:stretch;margin:var(--sp-lg) 0 var(--sp-xl)}
.k2-object-overview .rental-metrics strong{overflow-wrap:normal;word-break:normal}
.k2-object-section-head{margin:0 0 var(--sp-md);gap:var(--sp-md);align-items:flex-start}
.k2-object-owners{--section:var(--violet)}
.k2-object-expenses{--section:var(--blue)}
.k2-object-details{--section:var(--teal)}
.k2-object-owners .list-note{margin:0 0 var(--sp-lg)}
.k2-object-expenses .list-note{margin:var(--sp-lg) 0 0}
.k2-object-expenses .empty{padding:var(--sp-xl) var(--sp-md);background:transparent;border:0;box-shadow:none}
.k2-object-owners .table-wrap,.k2-object-expenses .table-wrap,.k2-object-details .table-wrap{margin-bottom:0}
.k2-object-head-actions{margin:0}
.k2-object-head-actions>button{grid-column:1/-1}
.k2-object-expense-actions,.k2-object-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
.k2-object-footer{margin-top:var(--sp-lg)}
@media(min-width:761px){
 .page-head:has(.k2-object-head-actions){align-items:flex-start}
 .page-head:has(.k2-object-head-actions) #page-actions{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:var(--sp-sm);flex:0 1 440px}
 .page-head:has(.k2-object-head-actions) #page-actions>.button-link,.page-head:has(.k2-object-head-actions) #page-actions>button{width:100%;min-height:48px;margin:0}
 .k2-object-head-actions{grid-column:1/-1}
}
@media(max-width:1000px) and (min-width:761px){
 .k2-object-overview .valuation-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
 .k2-object-overview .rental-metrics{grid-template-columns:1fr}
}
@media(max-width:760px){
 .page-head:has(.k2-object-head-actions) #page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:var(--sp-sm)}
 .page-head:has(.k2-object-head-actions) #page-actions>.button-link,.page-head:has(.k2-object-head-actions) #page-actions>button{width:100%;min-height:48px;margin:0;text-align:center;display:flex;align-items:center;justify-content:center}
 .k2-object-head-actions{grid-column:1/-1}
 .k2-object-overview .money-item{padding:var(--sp-lg) var(--sp-md)}
 .k2-object-overview .money-item strong{font-size:clamp(18px,4.9vw,25px)}
 .k2-object-overview .rental-metrics{grid-template-columns:1fr;gap:var(--sp-md)}
 .k2-object-owners,.k2-object-expenses,.k2-object-details{padding:var(--sp-lg) var(--sp-md)}
 .k2-object-expense-actions{grid-template-columns:1fr}
 .k2-object-owners td:last-child,.k2-object-expenses td:last-child,.k2-object-details td:last-child{display:grid}
 .k2-object-footer{grid-template-columns:1fr}
}

.k2-object-expense-actions:empty{display:none}
/* K3: договор, профиль и список арендаторов — секции и читаемые реквизиты. */
.k3-contract,.k3-profile{min-width:0;line-height:1.5}
.k3-contract button,.k3-profile button,.k3-tenants button{white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.35;min-width:0}
.k3-contract p,.k3-profile p{margin:var(--sp-sm) 0;overflow-wrap:normal}
.k3-contract-person{--section:var(--accent)}
.k3-deposit{--section:var(--good)}
.k3-deposit .big{color:var(--good)}
.k3-deposit-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm) var(--sp-md);margin-top:var(--sp-sm)}
.k3-deposit-status small{color:var(--muted)}
.k3-settlement{--section:var(--warn)}
.k3-settlement .detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:var(--sp-lg) 0;gap:var(--sp-md)}
.k3-settlement dt{color:var(--muted);font-size:13px}
.k3-settlement dd{margin:var(--sp-xs) 0 0;font-weight:650;overflow-wrap:normal}
.k3-contact{--section:var(--accent)}
.k3-requisite-section,.k3-requisite-editor{--section:var(--teal)}
.k3-cars,.k3-car-editor{--section:var(--accent)}
.k3-requisites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-xl);margin:0}
.k3-requisites>div{min-width:0;padding:var(--sp-md) 0;border-bottom:1px solid var(--line)}
.k3-requisites dt{font-size:13px;color:var(--muted);margin-bottom:var(--sp-xs)}
.k3-requisites dd{margin:0;min-width:0;font-weight:600;overflow-wrap:normal;user-select:text}
.k3-profile .k3-copy{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);width:100%;min-height:44px;padding:var(--sp-sm) var(--sp-sm);text-align:left;font-weight:600;overflow-wrap:normal;user-select:text}
.k3-copy .ico{flex:0 0 16px;color:var(--muted)}
.k3-cars>small{display:block;padding:var(--sp-sm) 0;border-bottom:1px solid var(--line);overflow-wrap:normal}
.k3-cars>small:last-child{border-bottom:0;padding-bottom:0}
.k3-note{white-space:pre-wrap}
.k3-requisite-editor>summary{cursor:pointer;font-weight:650;min-height:44px;align-content:center}
.k3-requisite-editor[open]>.form-fields{margin-top:var(--sp-md)}
.k3-car-editor .panel{box-shadow:none;margin:var(--sp-md) 0;padding:var(--sp-md);background:var(--soft)}
.k3-car-editor .list-note{margin:var(--sp-sm) 0 var(--sp-md)}
.k3-tenants td:last-child{width:40%;min-width:350px}
.k3-tenants .pill{white-space:nowrap}
.k3-tenants td:nth-child(2){white-space:nowrap}
@media(min-width:761px){.k3-tenants td:nth-child(2){min-width:170px}.k3-tenants td:nth-child(3){min-width:110px}}
.k3-tenants .k3-tenant-name,.k3-profile .k3-tenant-name,.k3-contract .k3-tenant-name{max-width:100%;padding:var(--sp-sm) var(--sp-sm);text-align:left;color:var(--accent);font-weight:650;overflow-wrap:normal}
 .detail-dialog:has(.k3-contract,.k3-profile) .dialog-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.detail-dialog:has(.k3-contract,.k3-profile) .dialog-head h2{line-height:1.3}
@media(max-width:760px){
 .detail-dialog:has(.k3-contract,.k3-profile) .dialog-head{gap:var(--sp-sm)}

 .k3-requisites{grid-template-columns:minmax(0,1fr)}
 .k3-tenants td:last-child{width:100%;min-width:0}
 .k3-tenants td:last-child button{height:100%}
 .k3-settlement .detail-grid{grid-template-columns:minmax(0,1fr)}
 .k3-contract .termination-total{display:block;white-space:normal}
}
/* K4: ровные формы, закреплённые действия и мобильные карточки строк. */
#editor{width:min(760px,calc(100vw - 32px));padding:0;overflow:hidden;overflow-wrap:normal;background:var(--surface)}
#editor[open]{display:flex;flex-direction:column}
#editor>.dialog-head{flex:0 0 auto;display:flex;flex-wrap:nowrap;align-items:flex-start;gap:var(--sp-lg);margin:0;padding:var(--sp-xl) var(--sp-xl) var(--sp-lg);border-bottom:1px solid var(--line);background:linear-gradient(115deg,var(--teal-bg),var(--surface))}
#editor>.dialog-head h2{flex:1;min-width:0;margin:0;font-size:23px;line-height:1.3;word-break:normal;overflow-wrap:normal}
#editor #close-editor{flex:0 0 44px;width:44px;min-height:44px;padding:var(--sp-sm);margin:-6px -8px -6px 0}
#editor-form{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-lg) var(--sp-lg);padding:var(--sp-lg) var(--sp-xl) var(--sp-sm);align-items:start}
#editor-fields>label,#editor .form-fields>label{min-width:0;display:flex;flex-direction:column;gap:var(--sp-sm);line-height:1.45;word-break:normal;overflow-wrap:break-word}
#editor input:not([type=checkbox]):not([type=radio]),#editor select,#editor textarea{width:100%;min-width:0;max-width:100%;min-height:46px;font-size:16px}
#editor input[type=checkbox],#editor input[type=radio]{flex-shrink:0;width:20px;min-height:20px;accent-color:var(--teal)}
#editor small{line-height:1.5;color:var(--muted)}
#editor .k4-form-section{grid-column:1/-1;margin:var(--sp-xs) 0 0;padding:0 0 var(--sp-sm);border-bottom:1px solid var(--line);color:var(--teal);font-size:15px;line-height:1.4;font-weight:700}
#editor .k4-form-section:first-child{margin-top:0}
#editor .k4-form-table>.k4-form-section{margin-bottom:var(--sp-md)}
#editor .card-section{margin:0}
#editor .card-section:empty,#editor-error:empty{display:none}
#editor .hint{margin:0;line-height:1.5}
#editor .integration-panel{padding:var(--sp-lg) var(--sp-lg);box-shadow:none}
#editor [data-payment-receipt] .form-fields{margin-top:var(--sp-md)}
#editor .receipt-toggle{white-space:normal;align-items:flex-start;line-height:1.5}
#editor .receipt-toggle input{margin-top:var(--sp-2xs)}
#editor .dyn-rows{margin-bottom:var(--sp-md)}
#editor .dyn-row{padding:var(--sp-md);border:1px solid var(--line);border-radius:12px;background:var(--stripe)}
#editor-error{margin:var(--sp-sm) var(--sp-xl);line-height:1.5}
#editor .dialog-foot{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,220px));justify-content:space-between;gap:var(--sp-md);margin:var(--sp-lg) 0 0;padding:var(--sp-lg) var(--sp-xl);background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 16px var(--ux-color-134e4a08)}
#editor .dialog-foot button{width:100%;min-height:48px;padding:var(--sp-md) var(--sp-lg);white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.35}
#editor .table-wrap{max-height:none;min-width:0;box-shadow:none}
#editor .table-wrap td{vertical-align:top}
#editor .batch-places-table td:last-child{padding-left:var(--sp-sm);padding-right:var(--sp-sm)}
#editor [data-batch-remove]{width:44px;min-height:44px;padding:var(--sp-sm);display:inline-flex;align-items:center;justify-content:center}
#editor #termination-calculation dl{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-sm)}
#editor #termination-calculation dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-md)}
#editor #termination-calculation dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
#editor [data-recut-rows] table{table-layout:fixed}
#editor [data-recut-rows] th{white-space:normal}
#editor #sale-documents,#editor #advance-documents{display:grid;gap:var(--sp-md)}
#editor #sale-documents label,#editor #advance-documents label{display:flex;align-items:center;gap:var(--sp-sm);word-break:normal;overflow-wrap:normal}
@media(max-width:760px){
 #editor{width:calc(100vw - 20px);max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:18px}
 #editor>.dialog-head{padding:var(--sp-lg) var(--sp-lg) var(--sp-lg)}
 #editor>.dialog-head h2{font-size:21px}
 #editor-fields{grid-template-columns:minmax(0,1fr);padding:var(--sp-lg) var(--sp-lg) var(--sp-sm);gap:var(--sp-lg)}
 #editor .form-fields{grid-template-columns:minmax(0,1fr)}
 #editor .dialog-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-sm);padding:var(--sp-md) var(--sp-lg) max(var(--sp-md),env(safe-area-inset-bottom))}
 #editor .dialog-foot button{padding:var(--sp-sm);font-size:14px}
 #editor-error{margin:var(--sp-sm) var(--sp-lg)}
 #editor .dyn-row,#editor .dyn-row.split-row{grid-template-columns:minmax(0,1fr);gap:var(--sp-md)}
 #editor .dyn-row.split-row .dyn-grow:nth-child(3){grid-column:auto}
 #editor .mobile-card-table td,#editor .mobile-card-table td:last-child{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-xs);white-space:normal}
 #editor .mobile-card-table td>details,#editor .mobile-card-table td>small{grid-column:auto}
 #editor .mobile-card-table td::before{margin:0;font-size:13px}
 #editor .mobile-card-table tr{padding:var(--sp-sm) var(--sp-md);border-left:3px solid var(--teal);box-shadow:none}
 #editor .mobile-card-table td:last-child button{width:100%}
 #editor .mobile-card-table td[data-label="Действия"]::before{display:none}
}

/* Z3: читаемые подписи; данные места без повторов на телефоне. */
.cash-owners>small,.stat-row .stat.kpi-red>small,.ap-list>li>small,.fcard small,.grid-components small{font-size:13px}
@media(max-width:760px){
 .mobile-navigation .nav-link,.mobile-navigation button{font-size:13px}
 .places-list .place-area-cell{display:none}
}
/* Длинный заголовок сверки сохраняет кнопку закрытия справа. */
.detail-dialog>.dialog-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start}
.detail-dialog>.dialog-head h2{min-width:0;word-break:normal;overflow-wrap:normal}
@media(max-width:760px){.detail-dialog>.dialog-head h2{line-height:1.35}}
/* S2 */
.termination-panel{min-width:0;border-left:4px solid var(--accent)}
.termination-caption{margin:var(--sp-lg) 0 var(--sp-xs);color:var(--muted);font-size:13px;font-weight:650}
.k3-settlement .termination-lines{grid-template-columns:minmax(0,1fr);margin:0;gap:0}
.k3-contract .termination-total{display:grid}
.termination-lines{display:grid;gap:0;margin:0}
.termination-lines>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:var(--sp-md);padding:var(--sp-md) 0;border-bottom:1px solid var(--line)}
.termination-lines dt{min-width:0;font-size:14px;line-height:1.5;overflow-wrap:normal}
.termination-lines dt small{display:block;margin-top:var(--sp-xs);color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}
.termination-lines dd{margin:0;text-align:right;white-space:nowrap;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.termination-charges{padding:0 var(--sp-md);border-radius:10px;background:var(--soft)}
.termination-charges>div:last-child{border-bottom:0}
.termination-total{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:var(--sp-md);margin:var(--sp-lg) 0 var(--sp-sm);padding:var(--sp-lg);border-radius:12px;white-space:normal;font-size:16px;line-height:1.3}
.termination-total::before{display:none}
.termination-total strong{font-size:clamp(20px,4vw,26px);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
@media(max-width:480px){
 .termination-panel{padding:var(--sp-md)}
 .termination-lines>div{gap:var(--sp-sm)}
 .termination-lines dd{font-size:14px}
 .termination-total{gap:var(--sp-sm);padding:var(--sp-md)}
 .termination-total strong{font-size:20px}
}

/* K1: карточка места — компактные секции и раскрытие цены без пустой полосы. */
.k1-place-card{min-width:0;--section:var(--blue)}
.k1-place-card button{overflow-wrap:normal;word-break:normal}
.k1-place-price{--section:var(--blue);background:var(--blue-bg);box-shadow:none}
.k1-place-price .big{display:block;color:var(--blue);line-height:1.2;margin:var(--sp-xs) 0 var(--sp-md);overflow-wrap:normal}
.k1-place-price .category-detail{padding:0;border:0}
.k1-place-price summary{min-height:44px;display:list-item;align-content:center;font-weight:600;cursor:pointer}
.k1-place-price details[open] summary{margin-bottom:var(--sp-sm)}
.k1-place-price details p{margin:var(--sp-sm) 0;overflow-wrap:normal}
.k1-place-price .hint{padding:0;border:0;background:transparent;margin:var(--sp-sm) 0}
.k1-place-contract{--section:var(--teal)}
.k1-place-cars{--section:var(--blue)}
.k1-place-cars small{display:block;margin:var(--sp-xs) 0}
.k1-place-advance{--section:var(--warn)}
.k1-place-advance>section>h3{font-size:14px;margin:var(--sp-sm) 0}
.k1-place-owners,.k1-place-sale{--section:var(--violet)}
.k1-place-expenses{--section:var(--warn)}
.k1-place-history{--section:var(--slate)}
.k1-place-history>h3:not(:first-child){margin-top:var(--sp-lg)}
.k1-place-card .k1-place-empty{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-xs) var(--sp-md);padding:var(--sp-sm) var(--sp-md);border-width:0 0 0 3px;border-radius:0;background:transparent}
.k1-place-empty>h3{font-size:14px;margin:0}
.k1-place-empty>p{font-size:14px}
.k1-place-card .place-documents{padding-left:var(--sp-lg);margin:var(--sp-sm) 0 0}
.k1-place-card .place-documents li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm);margin:var(--sp-sm) 0}
.k1-place-card .place-documents a{min-width:0;overflow-wrap:normal}

.k1-place-card .k1-place-object{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:normal}

/* FULL: полные карточки договора и места. */
.full-card{min-width:0;line-height:1.5}
    #detail-dialog:has(.full-card) .dialog-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-sm);align-items:center}
    #detail-dialog:has(.full-card) #detail-title{min-width:0;line-height:1.3;overflow-wrap:normal}
    .full-card .full-card-fields{display:block;margin:var(--sp-sm) 0}
    .full-card-fields>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:var(--sp-sm) var(--sp-lg);padding:var(--sp-sm) 0;border-bottom:1px solid var(--line);align-items:baseline}
    .full-card-fields dt{color:var(--muted);font-size:13px;word-break:normal;overflow-wrap:normal}
    .full-card-fields dd{margin:0;min-width:0;font-weight:600;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
    .full-card .meta-chips>span{max-width:100%;white-space:normal;word-break:normal}
    .full-card .full-card-empty{color:var(--muted);margin:var(--sp-md) 0;font-size:14px}
    .full-card details{min-width:0;margin:var(--sp-sm) 0;border-bottom:1px solid var(--line)}
    .full-card summary{cursor:pointer;min-height:44px;padding:var(--sp-sm) 0;overflow-wrap:break-word;word-break:normal}
    .full-card .full-card-note{white-space:pre-wrap;overflow-wrap:break-word;word-break:normal}
    .full-card .full-card-entry{padding:var(--sp-sm) 0;border-bottom:1px solid var(--line)}
    .full-card .action-bar{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
    .full-card .action-bar button{white-space:normal;word-break:normal;overflow-wrap:normal}
    .full-card .place-documents{padding-left:var(--sp-lg)}
    .full-card .place-documents a{overflow-wrap:normal}
    .full-card .full-card-fields button{max-width:100%;text-align:left;white-space:normal;overflow-wrap:break-word}
    .full-card .card-section{padding:clamp(var(--sp-md),2vw,var(--sp-lg))}

/* AR */
.ar-page{font-variant-numeric:tabular-nums;--ar-green:var(--ux-color-047857);--ar-green-bg:var(--ux-color-d1fae5);--ar-red:var(--ux-color-b91c1c);--ar-red-bg:var(--ux-color-fee2e2);--ar-amber:var(--ux-color-92400e);--ar-amber-bg:var(--ux-color-fef3c7)}
[data-theme=dark] .ar-page{--ar-green:var(--good);--ar-green-bg:var(--ux-color-064e3b);--ar-red:var(--bad);--ar-red-bg:var(--ux-color-450a0a);--ar-amber:var(--ux-color-fde68a);--ar-amber-bg:var(--ux-color-451a03)}
.ar-filters{margin-bottom:var(--sp-lg)}.ar-filters label:first-child{min-width:220px}.ar-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-sm);margin:0 0 var(--sp-lg)}.ar-tab{display:inline-flex;align-items:center;gap:var(--sp-sm);min-height:44px;font-size:13px;padding:var(--sp-sm) var(--sp-md);border-radius:12px;transition:background 180ms,color 180ms,border-color 180ms}.ar-tab.active{background:var(--accent);color:var(--surface);border-color:var(--accent)}.ar-tab-danger{color:var(--ar-red);background:var(--ar-red-bg);border-color:var(--ar-red)}.ar-tab-danger.active{background:var(--ar-red);color:var(--ar-red-bg)}.ar-count{font-size:13px;min-width:22px;padding:var(--sp-2xs) var(--sp-xs);border:1px solid currentColor;border-radius:7px;text-align:center}
.ar-watch{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-xl);padding:var(--sp-xl) var(--sp-xl);border:1px solid var(--line);border-left:4px solid var(--ar-red);border-radius:16px;background:var(--ar-red-bg);color:var(--ar-red);margin-bottom:var(--sp-lg)}.ar-watch div{display:flex;flex-direction:column;gap:var(--sp-xs)}.ar-watch strong{font-size:30px;line-height:1.2}.ar-watch span{font-size:13px}.ar-note{font-size:13px;color:var(--muted);margin:var(--sp-md) 0}.ar-legend{display:flex;gap:var(--sp-sm) var(--sp-lg);flex-wrap:wrap;font-size:13px;color:var(--muted);margin:var(--sp-lg) 0}.ar-legend>span{display:inline-flex;align-items:center;gap:var(--sp-xs)}
.ar-months{display:flex;gap:var(--sp-2xs);min-width:213px;position:relative}.ar-month{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:15px;height:20px;font-size:13px;font-style:normal;font-weight:700;border-radius:4px;border:1px solid var(--muted)}.ar-on_time{background:var(--ar-green-bg);color:var(--ar-green);border-color:var(--ar-green)}.ar-late{background:var(--ar-amber-bg);color:var(--ar-amber);border-color:var(--ar-amber)}.ar-unpaid{background:var(--ar-red-bg);color:var(--ar-red);border-color:var(--ar-red)}.ar-none,.ar-pending{background:var(--soft);color:var(--muted)}.ar-pending{border-style:dashed}.ar-tooltip{display:none;position:absolute;bottom:28px;left:0;z-index:2;max-width:270px;width:max-content;white-space:normal;font-size:13px;font-weight:400;background:var(--ink);color:var(--surface);padding:var(--sp-sm) var(--sp-sm);border-radius:8px;pointer-events:none}.ar-month:hover .ar-tooltip,.ar-month:focus .ar-tooltip{display:block}.ar-table{overflow:visible}.ar-table table{table-layout:auto}.ar-table td,.ar-table th{font-size:13px;padding:var(--sp-md) var(--sp-sm)}.ar-table th{white-space:normal}.ar-table td{vertical-align:top}.ar-table td:first-child{min-width:150px;max-width:240px}.ar-table td:first-child button{padding:var(--sp-2xs) 0;text-align:left;white-space:normal;min-height:44px}.ar-table small{display:block;font-size:13px;color:var(--muted);margin-top:var(--sp-xs)}.ar-table .row-actions{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.ar-table .row-actions button{font-size:13px;padding:var(--sp-xs) var(--sp-sm);white-space:normal}.ar-table .pill{white-space:nowrap;font-size:13px;padding:var(--sp-xs) var(--sp-sm)}.ar-chronic td:first-child{border-left:4px solid var(--ar-red)}.ar-debt{color:var(--ar-red)}.ar-new{color:var(--ar-green)!important}
@media(min-width:761px) and (max-width:1250px){.ar-table{overflow-x:auto}.ar-table table{min-width:900px}}
@media(max-width:760px){.ar-filters label:first-child{min-width:0;width:100%}.ar-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-sm)}.ar-tab{justify-content:space-between;text-align:left;font-size:13px;padding:var(--sp-sm) var(--sp-sm)}.ar-tab-danger{grid-column:1/-1;grid-row:3}.ar-watch{padding:var(--sp-lg);gap:var(--sp-lg)}.ar-watch strong{font-size:24px}.ar-watch div{min-width:0}.ar-watch span{font-size:13px}.ar-table tr.ar-chronic{border-left:4px solid var(--ar-red)}.ar-chronic td:first-child{border-left:0}.ar-table td:first-child{max-width:none;min-width:0}.ar-table td:nth-child(4){display:block}.ar-table td:nth-child(4)::before{margin-bottom:var(--sp-sm)}.ar-months{gap:var(--sp-xs);min-width:0}.ar-months .ar-month{width:20px;height:24px}.ar-table td{padding:var(--sp-sm) 0;font-size:14px}.ar-table small{font-size:13px}.ar-table .pill{font-size:13px;width:max-content;max-width:100%}.ar-table td:nth-child(3){display:block}.ar-table td:nth-child(3)::before{margin-bottom:var(--sp-sm)}.ar-table .row-actions button{font-size:13px}.ar-table .row-actions button:last-child{grid-column:1/-1}.ar-legend{gap:var(--sp-sm) var(--sp-md)}.ar-tooltip{max-width:280px}}
@media(prefers-reduced-motion:reduce){.ar-tab{transition:none}}
@media(min-width:1251px){.ar-table{overflow-x:auto}.ar-table table{table-layout:fixed;width:100%}.ar-table th:nth-child(1){width:16%}.ar-table th:nth-child(2){width:8%}.ar-table th:nth-child(3){width:17%}.ar-table th:nth-child(4){width:23%}.ar-table th:nth-child(5){width:8%}.ar-table th:nth-child(6){width:7%}.ar-table th:nth-child(7){width:11%}.ar-table th:nth-child(8){width:10%}.ar-table td:nth-child(2),.ar-table td:nth-child(5){white-space:nowrap}.ar-table td:first-child{min-width:0}.ar-table .row-actions button{width:100%}}

/* DOC */
.doc-page,.doc-dialog,.doc-card-block{--doc-color:var(--ux-color-4338ca);--doc-tint:var(--ux-color-eef2ff);font-variant-numeric:tabular-nums}
[data-theme=dark] .doc-page,[data-theme=dark] .doc-dialog,[data-theme=dark] .doc-card-block{--doc-color:var(--indigo);--doc-tint:var(--ux-color-242947)}
.doc-hero{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-xl);padding:var(--sp-xl) var(--sp-xl);margin-bottom:var(--sp-lg);background:linear-gradient(110deg,var(--doc-tint),var(--surface));border:1px solid var(--line);border-left:5px solid var(--doc-color);border-radius:18px}
.doc-eyebrow{color:var(--doc-color);font-size:13px;letter-spacing:.12em;font-weight:750}.doc-hero h2{font-size:26px;margin:var(--sp-sm) 0;line-height:1.25}.doc-hero p{color:var(--muted);margin:var(--sp-sm) 0 var(--sp-md);max-width:560px}.doc-count{display:inline-flex;gap:var(--sp-sm);font-weight:650;color:var(--doc-color)}
.doc-hero-actions{display:flex;gap:var(--sp-sm);flex-wrap:wrap;flex-shrink:0}.doc-hero .primary{background:var(--doc-color);color:var(--ux-color-fff)}[data-theme=dark] .doc-hero .primary{color:var(--ux-color-171c3c)}
.doc-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-md);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:var(--sp-lg);margin-bottom:var(--sp-lg)}.doc-filters label{min-width:0}.doc-filters input,.doc-filters select,.doc-fields input,.doc-fields select,.doc-fields textarea{width:100%;min-width:0}.doc-search{grid-column:span 2}.doc-search form{display:flex;gap:var(--sp-sm)}.doc-search input{flex:1}.doc-group-toggle{display:flex;align-items:center;gap:var(--sp-sm);grid-column:span 2}.doc-group-toggle input{width:20px;min-height:20px;height:20px;accent-color:var(--doc-color)}
.doc-drop{display:flex;align-items:center;gap:var(--sp-lg);padding:var(--sp-lg) var(--sp-xl);margin-bottom:var(--sp-lg);border:1px dashed var(--doc-color);border-radius:14px;background:var(--doc-tint);transition:background 180ms,border-color 180ms}.doc-drop-icon{color:var(--doc-color)}.doc-drop-icon .ico{width:30px;height:30px}.doc-drop strong,.doc-drop span:not(.doc-drop-icon){display:block}.doc-drop strong{margin-bottom:var(--sp-2xs)}.doc-drop div>span{color:var(--muted);font-size:13px}.doc-drop.doc-drag{outline:3px solid var(--doc-color);outline-offset:3px}
.doc-list{display:grid;gap:var(--sp-sm)}.doc-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:var(--sp-lg);padding:var(--sp-lg);background:var(--surface);border:1px solid var(--line);border-radius:13px}.doc-file-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-xs);min-height:58px;border-radius:10px;color:var(--doc-color);background:var(--doc-tint)}.doc-file-icon small{font-size:13px;font-weight:750}.doc-description{min-width:0}.doc-description>strong{display:block;overflow-wrap:normal;font-size:16px}.doc-meta{font-size:13px;color:var(--muted);margin:var(--sp-xs) 0 var(--sp-sm)}.doc-chips{display:flex;gap:var(--sp-xs);flex-wrap:wrap}.doc-chip{font-size:13px;color:var(--doc-color);background:var(--doc-tint);border-radius:6px;padding:var(--sp-2xs) var(--sp-sm);max-width:100%;overflow-wrap:normal}.doc-note{overflow-wrap:normal;color:var(--muted);font-size:13px;margin:var(--sp-sm) 0}.doc-actions{display:flex;gap:var(--sp-xs);flex-wrap:wrap;justify-content:flex-end;max-width:330px}.doc-actions button,.doc-actions .button-link{font-size:13px;min-height:44px;padding:var(--sp-sm) var(--sp-sm)}.doc-group h2{display:flex;align-items:center;gap:var(--sp-sm);font-size:18px;margin:var(--sp-lg) 0 var(--sp-md)}.doc-group .doc-row{margin-bottom:var(--sp-sm)}.doc-empty{text-align:center;background:var(--surface);border:1px solid var(--line);padding:var(--sp-2xl) var(--sp-lg);border-radius:16px}.doc-empty .empty-ico{margin:0 auto var(--sp-lg)}.doc-empty p{color:var(--muted);max-width:450px;margin:var(--sp-sm) auto}
.doc-dialog{width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.doc-dialog .dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-md)}.doc-dialog .dialog-head h2{overflow-wrap:normal;min-width:0;margin:0 0 var(--sp-lg)}.doc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-lg)}.doc-full{grid-column:1/-1}.doc-picker{padding:var(--sp-lg);margin-bottom:var(--sp-lg);border-radius:12px;background:var(--doc-tint)}.doc-picker .button-link{position:relative;margin:0 var(--sp-sm) var(--sp-sm) 0;cursor:pointer}.doc-file-input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.doc-picker .button-link:focus-within{outline:3px solid var(--doc-color);outline-offset:3px}.doc-picker small{color:var(--muted)}.doc-dialog form button[type=submit]{min-width:150px}.doc-preview-dialog{width:min(1080px,calc(100vw - 24px))}.doc-preview{height:65dvh;min-height:240px;background:var(--soft);border:1px solid var(--line);border-radius:10px;overflow:auto;display:flex;align-items:center;justify-content:center}.doc-preview iframe{width:100%;height:100%;border:0;background:var(--ux-color-fff)}.doc-preview img{max-width:100%;max-height:100%;object-fit:contain}.doc-card-block{border:1px solid var(--line);border-left:4px solid var(--doc-color);border-radius:14px;padding:var(--sp-lg);margin:var(--sp-md) 0}.doc-card-block h3{display:flex;align-items:center;gap:var(--sp-xs)}.doc-card-block>.section-title{flex-wrap:wrap;gap:var(--sp-sm)}.doc-card-block .doc-row{margin-bottom:var(--sp-sm);grid-template-columns:40px minmax(0,1fr)}.doc-card-block .doc-actions{grid-column:2;justify-content:flex-start;max-width:none}.doc-page button:focus-visible,.doc-dialog button:focus-visible,.doc-page a:focus-visible,.doc-dialog a:focus-visible{outline:3px solid var(--doc-color);outline-offset:3px}
@media(max-width:1100px){.doc-row{grid-template-columns:44px minmax(0,1fr)}.doc-actions{grid-column:2;justify-content:flex-start;max-width:none}.doc-hero{align-items:flex-start}.doc-hero h2{font-size:24px}}
@media(max-width:600px){.doc-hero{padding:var(--sp-lg);display:block}.doc-hero h2{font-size:22px}.doc-hero-actions{margin-top:var(--sp-lg)}.doc-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md);padding:var(--sp-md)}.doc-filters input,.doc-filters select,.doc-fields input,.doc-fields select,.doc-fields textarea{font-size:16px}.doc-filters .doc-search{grid-column:1/-1}.doc-drop{padding:var(--sp-lg)}.doc-drop div>span{font-size:13px}.doc-row{padding:var(--sp-md);gap:var(--sp-md)}.doc-actions{grid-column:1/-1}.doc-actions button,.doc-actions .button-link{flex:1;font-size:13px;justify-content:center}.doc-fields{grid-template-columns:1fr}.doc-full{grid-column:auto}.doc-dialog{padding:var(--sp-lg)}.doc-dialog .dialog-head h2{font-size:21px}.doc-preview{height:60dvh}.doc-picker .button-link{font-size:13px}.doc-card-block .doc-actions{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.doc-drop{transition:none}}

/* SALE */
.sale-payment-status{height:auto;min-height:26px;white-space:normal;overflow-wrap:normal;line-height:1.45;margin-block:var(--sp-xs);max-width:100%;font-variant-numeric:tabular-nums}
.sale-unpaid{color:var(--ux-color-991b1b);background:var(--ux-color-fee2e2);border:1px solid var(--ux-color-fecaca)}
.sale-partial{color:var(--ux-color-92400e);background:var(--ux-color-fef3c7);border:1px solid var(--ux-color-fde68a)}
.sale-paid{color:var(--ux-color-065f46);background:var(--ux-color-d1fae5);border:1px solid var(--ux-color-a7f3d0)}
.sale-expected,.sale-payment-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm) var(--sp-lg);padding:var(--sp-lg);margin-block:var(--sp-md);border-radius:12px;border:1px solid var(--line);border-left:4px solid var(--ux-color-dc2626);background:var(--surface);font-variant-numeric:tabular-nums}
.sale-expected small,.sale-payment-summary .hint{flex-basis:100%;margin:0;color:var(--muted)}
.sale-payment-summary{border-left-color:var(--primary-end);margin:0}
.sale-notice{padding:var(--sp-md) var(--sp-lg);border-left:4px solid var(--primary-end);background:var(--surface);border-radius:8px;margin:0;line-height:1.5}
.sale-receipt{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-sm);padding:var(--sp-md) 0;border-bottom:1px solid var(--line)}
.sale-receipt span{min-width:0;overflow-wrap:normal}.sale-receipt small{display:block;color:var(--muted)}
.sale-pay-button,.sale-receipt button{min-height:44px;transition:background-color .2s,color .2s}
.sale-pay-button:focus-visible,.sale-receipt button:focus-visible{outline:3px solid var(--primary-end);outline-offset:3px}
[data-theme="dark"] .sale-unpaid{color:var(--ux-color-fecaca);background:var(--ux-color-450a0a);border-color:var(--ux-color-991b1b)}
[data-theme="dark"] .sale-partial{color:var(--ux-color-fde68a);background:var(--ux-color-451a03);border-color:var(--ux-color-92400e)}
[data-theme="dark"] .sale-paid{color:var(--ux-color-a7f3d0);background:var(--ux-color-022c22);border-color:var(--ux-color-065f46)}
@media(max-width:600px){.sale-expected,.sale-payment-summary{gap:var(--sp-sm);padding:var(--sp-md)}.sale-expected strong{font-size:20px}.sale-expected>span{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.sale-pay-button,.sale-receipt button{transition:none}}

/* ROW */
/* Один плотный список: служебные действия вынесены в верхний слой Popover. */
.places-list{overflow:visible;isolation:auto}
.places-list table{table-layout:fixed;min-width:0;width:100%}
.places-list th,.places-list td{padding:var(--sp-xs) var(--sp-sm);vertical-align:middle;font-size:13px;line-height:1.35;min-width:0}
.places-list th{font-size:13px;white-space:normal;height:44px;background:var(--soft)}
.places-list .place-select-column,.places-list .place-select-cell{width:52px;padding:var(--sp-xs) var(--sp-xs)}
.places-list th:nth-child(2){width:14%}
.places-list th:nth-child(3){width:18%}
.places-list th:nth-child(4){width:9%}
.places-list th:nth-child(5){width:15%}
.places-list th:nth-child(6){width:15%}
.places-list th:nth-child(7){width:11%}
.places-list th:last-child{width:72px;padding-inline:var(--sp-xs);text-align:center}
.places-list tbody tr{height:60px;cursor:pointer;transition:background var(--motion)}
.places-list tbody tr:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.places-list tbody tr:hover>td,.places-list tbody tr:focus-visible>td{background:var(--row-hover)}
.places-list td small{font-size:13px;margin-top:var(--sp-2xs);line-height:1.35}
.places-list .place-name strong{font-size:14px;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.places-list .place-meta small,.places-list .place-status-note small,.places-list .place-customer-cell>strong,.places-list .place-object-cell>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.places-list .place-name{overflow:hidden;white-space:nowrap}
.places-list .pill{font-size:13px;line-height:1.35;padding:var(--sp-xs) var(--sp-sm);max-width:100%;white-space:normal}
.places-list .sale-payment-status{margin:0;min-height:0;overflow-wrap:normal}
.places-list .st-sold{color:var(--violet);background:var(--violet-bg);border:0}
.places-list .place-expected-cell .numeric{text-align:left;font-size:13px;white-space:nowrap}
.places-list .place-actions-cell{text-align:center}
.places-list .place-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:var(--sp-sm);border-color:transparent;color:var(--accent);border-radius:10px}
.places-list .place-menu-toggle:hover,.places-list .place-menu-toggle[aria-expanded=true]{border-color:var(--line);background:var(--soft)}
.place-actions-popover{position:fixed;inset:auto;margin:0;width:240px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:var(--sp-xs);border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lift);z-index:25}
.place-actions-popover:popover-open{display:flex;flex-direction:column;gap:var(--sp-2xs)}
.places-list .place-actions-popover:not(:popover-open){display:none}
.places-list .place-actions-popover button{width:100%;min-height:44px;padding:var(--sp-sm) var(--sp-md);border:0;border-radius:8px;text-align:left;font-size:14px;line-height:1.4;background:transparent;color:var(--ink);white-space:normal}
.places-list .place-actions-popover button:hover,.places-list .place-actions-popover button:focus-visible{background:var(--soft);filter:none}
.places-list .place-actions-popover button.danger{color:var(--bad)}
.places-list .place-actions-popover button[data-action="delete-places"]{margin-top:var(--sp-xs);border-top:1px solid var(--line);border-radius:0 0 8px 8px}
.places-list .place-actions-popover .place-registry{padding:0 var(--sp-sm);text-align:left}
.places-list .place-actions-popover summary{font-size:13px;min-height:44px;padding-block:var(--sp-md);cursor:pointer}
.places-list .place-actions-popover small{white-space:normal;overflow-wrap:normal}
.places-list .place-menu-toggle:focus-visible,.places-list .place-owners:focus-visible,.place-actions-popover button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.place-owners{position:relative;display:block;font-size:13px;white-space:nowrap;outline-offset:2px}
.place-owners-text{display:block;overflow:hidden;text-overflow:ellipsis}
.place-owners-count{display:none}
.place-owners-condensed .place-owners-text{display:none}
.place-owners-condensed .place-owners-count{display:block}
.place-owners-tip{display:none;position:absolute;z-index:20;right:0;bottom:calc(100% + 6px);width:max-content;max-width:min(280px,80vw);white-space:normal;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lift);pointer-events:none}
.place-owners:hover .place-owners-tip,.place-owners:focus .place-owners-tip{display:block}
.place-economics>summary{cursor:pointer;font-weight:650;min-height:44px;padding:var(--sp-sm) 0;color:var(--accent)}
@media(min-width:761px) and (max-width:1100px){
 .places-list th,.places-list td{padding-inline:var(--sp-xs);font-size:13px}
 .places-list .place-meta small{font-size:13px}
 .places-list .place-expected-cell .numeric{white-space:normal;font-size:13px}
}
@media(max-width:760px){
 .places-list table,.places-list tbody{display:block;width:100%}
 .places-list tbody tr{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--sp-xs) var(--sp-sm);height:auto;padding:var(--sp-md);border-left:3px solid var(--accent)}
 .places-list .place-select-cell{grid-column:1;grid-row:1/3;width:44px;align-self:start;padding:0;display:block}
 .places-list .place-name-cell{display:contents}
 .places-list .place-name{grid-column:2;grid-row:1;align-self:center;padding-top:var(--sp-2xs)}
 .places-list .place-meta{grid-column:2;grid-row:2;padding:0;display:block}
 .places-list .place-meta small{margin:0}
 .places-list .place-status-cell{display:block;grid-column:1/-1;grid-row:3;padding:var(--sp-xs) 0}
 .places-list .place-status{display:block}
 .places-list .place-status-note{display:block}
 .places-list .place-status-note:empty{display:none}
 .places-list .place-actions-cell:last-child{display:block;grid-column:3;grid-row:1/3;border:0;margin:0;padding:0;align-self:start;width:44px}
 .places-list .place-actions-cell::before{display:none}
 .places-list .place-fact-cell:not(.place-actions-cell){display:grid;grid-template-columns:112px minmax(0,1fr);grid-column:1/-1;gap:var(--sp-sm);width:100%;padding:var(--sp-xs) 0;word-break:normal;overflow-wrap:normal;text-align:left}
 .places-list .place-fact-cell::before{font-size:13px;line-height:1.5;color:var(--muted);margin:0;font-weight:400}
 .places-list .place-fact-cell>strong,.places-list .place-fact-cell>span{min-width:0}
 .places-list .place-customer-cell>small{grid-column:2;margin:0}
 .places-list .place-status-cell::before{display:none}
 .places-list .place-owners-text{display:block;white-space:normal;overflow-wrap:normal}
 .places-list .place-owners-count{display:none}
 .places-list .place-owners-tip{right:0}
 .places-list .place-actions-cell:last-child .place-actions-popover:popover-open{display:flex;grid-template-columns:none;gap:var(--sp-2xs)}
 .places-list .place-actions-popover button{padding:var(--sp-sm) var(--sp-md);font-size:14px;text-align:left}
 .places-list .place-object-cell>span{white-space:normal}
 .places-list .place-expected-cell .numeric{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.places-list tbody tr{transition:none}}
/* /ROW */

/* MOT: одинаковая геометрия до выбора, во время обновления и после него. */
.main-wrap:has([data-places-workspace],.places-loading){scrollbar-gutter:stable}
[data-places-workspace]{--place-bar-height:180px;padding-bottom:204px;overflow-anchor:none}
[data-places-workspace] .places-list,[data-places-workspace] .places-list tbody tr,
[data-places-workspace] .card,[data-places-workspace] .panel{animation:none;transform:none}
[data-places-workspace] .places-list tbody tr:hover,[data-places-workspace] .card:hover,
[data-places-workspace] .panel:hover{transform:none;box-shadow:none}
.places-list .place-check-col{width:52px}
.places-list .place-action-col{width:64px}
.places-list .place-data-col{width:calc((100% - 116px)/6)}
.places-list table:has(th:nth-child(9)) .place-data-col{width:calc((100% - 116px)/7)}
.places-list th:nth-child(n),.places-list td:nth-child(n){width:auto}
.places-list .place-select-column,.places-list .place-select-cell{width:52px}
.places-list th:last-child,.places-list .place-actions-cell{width:64px}
.places-list .place-select-cell label{display:flex;min-height:44px;align-items:center;justify-content:center}
.places-list .place-select-cell .row-check{display:block;visibility:visible;opacity:1;flex:0 0 20px;margin:0}
.places-list td{overflow-wrap:normal}
.places-list .place-expected-cell .numeric{white-space:normal;overflow-wrap:normal}
.places-list .place-name strong{display:block}
[data-places-workspace] button,[data-places-workspace] .pill{transition:background-color 180ms,color 180ms,border-color 180ms}
[data-places-workspace] button:active,[data-places-workspace] button:hover{transform:none}
[data-place-toolbar].panel.toolbar{position:fixed;left:calc(245px + (100vw - 245px)/2);bottom:20px;z-index:11;width:min(900px,calc(100vw - 285px));max-height:var(--place-bar-height);overflow:auto;display:flex;align-items:center;gap:var(--sp-sm);margin:0;padding:var(--sp-md) var(--sp-lg);border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lift);opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity 180ms,transform 180ms,visibility 180ms}
[data-place-toolbar].panel.toolbar[hidden]{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px)}
[data-place-toolbar]>[role=status]{min-width:118px;flex:0 0 118px;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}
[data-place-toolbar]>.row-actions{display:flex;flex:1;min-width:0;flex-wrap:wrap;gap:var(--sp-sm)}
[data-place-toolbar] button{min-height:44px;padding:var(--sp-sm) var(--sp-sm);font-size:13px;white-space:normal}
.places-loading{min-height:calc(100dvh - 220px);padding-top:56px}
.places-loading-head{height:100px;margin-bottom:var(--sp-lg);background:var(--soft);border-radius:12px}
.places-loading-rows{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.places-loading-row{display:grid;grid-template-columns:44px 1fr 1fr;gap:var(--sp-lg);align-items:center;height:60px;padding:var(--sp-md);border-bottom:1px solid var(--line)}
.places-loading-row:last-child{border-bottom:0}
.places-loading-row span{height:14px;background:var(--soft);border-radius:4px}
@media(max-width:760px){
 [data-places-workspace]{--place-bar-height:36dvh;padding-bottom:calc(36dvh + var(--sp-xl))}
 .places-list colgroup{display:none}
 .places-list .place-select-cell,.places-list .place-actions-cell:last-child{width:44px}
 [data-place-toolbar].panel.toolbar{left:8px;right:8px;bottom:calc(80px + env(safe-area-inset-bottom));width:auto;padding:var(--sp-md);transform:translateY(0)}
 [data-place-toolbar].panel.toolbar[hidden]{transform:translateY(8px)}
 [data-place-toolbar]>[role=status]{flex-basis:100%;min-width:118px}
 [data-place-toolbar]>.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .places-loading{padding-top:56px}
 .places-loading-row{height:340px;align-content:start;row-gap:var(--sp-2xl);grid-template-columns:44px 1fr 44px}
 .places-loading-embedded .places-loading-row{height:306px}
}
@media(prefers-reduced-motion:reduce){[data-place-toolbar].panel.toolbar{transition:none}}
[data-places-workspace] .pagination,[data-places-workspace]+.pagination{min-height:64px;font-variant-numeric:tabular-nums}
.places-list th{overflow-wrap:normal}

/* ERR */
.err-panel ul { margin:0; padding:0; list-style: none; }
.err-row { display: flex; align-items: center; justify-content: space-between; gap:var(--sp-md); padding:var(--sp-sm) 0; border-top: 1px solid var(--line); }
.err-row > span { min-width: 0; overflow-wrap: anywhere; }
.err-row .err-fix { flex-shrink: 0; min-height: 44px; color: var(--ink); border: 1px solid currentColor; }
.err-fix .err-context { position: absolute; width: 1px; height: 1px; padding:0; margin:-1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.err-fix:focus-visible, .err-link-object:focus-visible { outline: 3px solid var(--accent, var(--primary-end)); outline-offset: 3px; }
#editor .err-field { border: 2px solid var(--ux-color-dc2626); box-shadow: 0 0 0 3px var(--ux-color-dc262620); scroll-margin-block:var(--sp-xl); }
.err-field-hint { color: var(--ux-color-b91c1c); font-weight: 600; }
[data-theme="dark"] .err-field-hint { color: var(--ux-color-fca5a5); }
@media (max-width: 480px) { .err-row { align-items: flex-start; flex-wrap: wrap; } .err-row .err-fix { margin-left:auto; } }

/* NAV */
/* Шесть разделов, подуровень — постоянные ссылки на экраны. */
#navigation{gap:var(--sp-sm)}
#navigation .nav-link{min-height:48px;padding:var(--sp-md) var(--sp-md)}
#navigation .badge{margin-left:auto}
.page-breadcrumb{font-size:13px;color:var(--muted);margin:0 0 var(--sp-sm)}
.page-heading{display:flex;align-items:center;gap:var(--sp-sm);min-width:0}
.page-heading h1{margin:0}
.nav-help{position:relative;flex-shrink:0}
.nav-help>summary{display:grid;place-items:center;list-style:none;width:44px;min-height:44px;color:var(--muted);cursor:pointer;border-radius:10px}
.nav-help>summary::-webkit-details-marker{display:none}
.nav-help[open]>summary,.nav-help>summary:hover{background:var(--soft);color:var(--ink)}
.nav-help>p{position:absolute;z-index:5;top:100%;left:0;width:min(340px,calc(100vw - 48px));margin:var(--sp-xs) 0 0;padding:var(--sp-md) var(--sp-lg);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 18px var(--ux-color-0002);font-size:14px;color:var(--ink)}
.section-tabs{display:flex;gap:var(--sp-sm);overflow-x:auto;max-width:100%;padding:var(--sp-2xs) var(--sp-2xs) var(--sp-sm);margin:0 0 var(--sp-lg);scroll-padding:var(--sp-xs);scrollbar-width:thin}
.section-tab{display:inline-flex;align-items:center;gap:var(--sp-xs);flex-shrink:0;min-height:44px;padding:var(--sp-sm) var(--sp-lg);border:1px solid var(--line);border-radius:99px;color:var(--muted);background:var(--surface);font-size:14px;font-weight:600;white-space:nowrap;transition:background var(--motion),color var(--motion),border-color var(--motion)}
.section-tab:hover{text-decoration:none;color:var(--ink);background:var(--soft)}
.section-tab.active{color:var(--section,var(--accent));background:var(--section-bg,var(--soft));border-color:var(--section,var(--accent));box-shadow:inset 0 -2px var(--section,var(--accent))}
.section-tab .badge{margin-left:0}
.nav-help>summary:focus-visible,.nav-note>summary:focus-visible,.dashboard-details>summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-md);margin:0 0 var(--sp-xl)}
.dashboard-kpis>.kpi{padding:var(--sp-lg) var(--sp-lg);min-width:0;box-shadow:none}
.dashboard-kpis span{display:block;font-size:13px;color:var(--muted)}
.dashboard-kpis strong{display:block;font-size:clamp(18px,1.8vw,28px);line-height:1.25;letter-spacing:-.5px;margin-top:var(--sp-sm);color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:normal}
.dashboard-details{margin:var(--sp-xl) 0;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.dashboard-details>summary{padding:var(--sp-lg) var(--sp-lg);min-height:52px;cursor:pointer;font-weight:650;color:var(--ink)}
.dashboard-details>summary span{margin-left:var(--sp-sm);font-size:13px;font-weight:400;color:var(--muted)}
.dashboard-details-body{padding:0 var(--sp-lg) var(--sp-lg)}
.dashboard-details-body>.money-panel{margin-top:var(--sp-sm)}
.nav-note{margin:var(--sp-md) 0;color:var(--muted)}
.nav-note>summary{cursor:pointer;font-size:13px;min-height:44px;display:flex;align-items:center;list-style:none}
.nav-note>summary::-webkit-details-marker{display:none}
.nav-note[open]>summary{color:var(--accent)}
.nav-note>p{margin:0 0 var(--sp-md)}
#more-links>button{text-align:left;min-height:48px}
#more-links .nav-link{min-height:48px}
/* Существующий розовый бейдж недостаточно контрастен для мелких цифр. */
[data-autopilot-badge]{background:var(--bad);color:var(--surface)}
@media(max-width:760px){
 .page-head{flex-wrap:wrap;margin-bottom:var(--sp-lg)}
 .page-heading{width:100%}
 .page-heading h1{font-size:26px}
 .nav-help{margin-left:auto}
 .nav-help>p{left:auto;right:0}
 .section-tabs{margin-right:-16px;padding-right:var(--sp-lg);max-width:calc(100% + 16px)}
 .section-tab{padding:var(--sp-sm) var(--sp-md)}
 .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-sm);margin-bottom:var(--sp-lg)}
 .dashboard-kpis>.kpi{padding:var(--sp-md) var(--sp-md)}
 .dashboard-kpis strong{font-size:clamp(16px,4.6vw,23px)}
 .dashboard-kpis span{font-size:13px}
 .dashboard-details>summary{padding:var(--sp-md) var(--sp-lg)}
 .dashboard-details>summary span{display:block;margin:var(--sp-xs) 0 0 var(--sp-lg);font-size:13px}
 .dashboard-details-body{padding:0 var(--sp-md) var(--sp-md)}
 .mobile-navigation .nav-icon{display:block;line-height:1}
 .mobile-navigation button.active{background:var(--soft);color:var(--accent);box-shadow:inset 0 3px var(--accent);border-radius:10px}
}
@media(prefers-reduced-motion:reduce){.section-tab{transition:none}}
.nav-object-details{margin:var(--sp-lg) 0 0}
.nav-object-details>summary{font-size:14px;color:var(--accent);cursor:pointer;min-height:44px;padding:var(--sp-sm) 0}
.nav-object-details>summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.nav-object-details .mini-money{margin-top:0}

/* PLAN */
.plan-panel{align-items:flex-start;margin:var(--sp-xl) 0 var(--sp-lg);gap:var(--sp-lg)}
.plan-actions{display:flex;flex-wrap:wrap;gap:var(--sp-md) var(--sp-lg)}.plan-actions>div{display:grid;gap:var(--sp-sm);max-width:310px}
.plan-actions button{min-height:44px;white-space:normal}.plan-actions small{color:var(--muted);line-height:1.5;font-size:13px}
#editor.plan-dialog{width:min(1320px,calc(100vw - 32px));max-width:1320px;padding:var(--sp-xl)}
.plan-dialog .form-fields{gap:var(--sp-lg)}.plan-dialog .dialog-head{border-bottom:1px solid var(--line);padding-bottom:var(--sp-lg)}
.plan-intro p{margin:var(--sp-sm) 0 0;color:var(--muted);font-size:14px;max-width:800px}.plan-eyebrow{color:var(--accent);font-size:13px;letter-spacing:.12em;font-weight:700}
.plan-balance{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-md);padding:var(--sp-xl);border-radius:16px;background:var(--soft);border:1px solid var(--line);border-top:4px solid var(--accent);font-variant-numeric:tabular-nums}
.plan-balance>div{display:grid;gap:var(--sp-sm);min-width:0}.plan-balance small{margin:0;color:var(--muted);font-size:13px}.plan-balance strong{font-size:26px;line-height:1.25;color:var(--ink);overflow-wrap:normal}.plan-balance span{font-size:13px;color:var(--muted)}
.plan-balance progress{grid-column:1/-1;width:100%;height:10px;accent-color:var(--accent)}.plan-balance p{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted)}
.plan-balance.plan-over{background:var(--bad-bg);border-color:var(--bad)}.plan-over>div:last-of-type strong,.plan-over p{color:var(--bad)}.plan-over progress{accent-color:var(--bad)}
.plan-error{background:var(--bad-bg);color:var(--bad);padding:var(--sp-md);border:1px solid var(--bad);border-radius:10px;margin:0}
.plan-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm)}.plan-tools button{display:inline-flex;align-items:center;gap:var(--sp-sm);min-height:44px}.plan-tools>span{margin-left:auto;font-size:13px}
.plan-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.plan-table-head,.plan-room{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(140px,.8fr) minmax(150px,1fr) minmax(145px,1fr) minmax(150px,.9fr);gap:var(--sp-lg);padding:var(--sp-lg)}
.plan-table-head{background:var(--soft);font-size:13px;font-weight:600;color:var(--muted)}.plan-room+.plan-room{border-top:1px solid var(--line)}.plan-room{background:var(--surface);align-items:start}
.plan-room>div{min-width:0}.plan-room label{display:grid;gap:var(--sp-xs);font-size:13px;color:var(--muted);margin:0 0 var(--sp-sm)}.plan-room input,.plan-room select,.plan-room textarea{width:100%;min-width:0;margin:0;font-size:14px;min-height:44px;box-sizing:border-box}
.plan-room .plan-pick{display:flex;align-items:center;gap:var(--sp-sm);color:var(--ink);font-weight:600}.plan-pick input,.plan-confirm input{width:20px;min-height:20px;height:20px;margin:0;flex:none;accent-color:var(--accent)}
.plan-price{display:grid;gap:var(--sp-xs);font-variant-numeric:tabular-nums}.plan-price strong{font-size:13px;overflow-wrap:normal}.plan-price small{color:var(--muted);font-size:13px}
.plan-usage{display:grid;justify-items:start;gap:var(--sp-sm)}.plan-usage strong{font-size:13px}.plan-usage small{color:var(--muted);line-height:1.6;font-size:13px;overflow-wrap:normal}
.plan-row-tools{display:grid;gap:var(--sp-md)}.plan-row-tools button{white-space:normal;min-height:44px;width:100%;font-size:13px;padding:var(--sp-sm)}.plan-row-tools summary{font-size:13px;cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent);text-decoration:underline}.plan-row-tools details[open]{padding:var(--sp-sm);background:var(--soft);border-radius:10px}.plan-row-tools .hint{font-size:13px;padding:var(--sp-sm);max-width:100%}
.plan-review{padding:var(--sp-lg);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--surface)}.plan-review h3{font-size:16px;margin:0 0 var(--sp-md)}.plan-review ul{padding-left:var(--sp-lg);margin:0 0 var(--sp-lg)}.plan-review li{font-size:13px;line-height:1.6;overflow-wrap:normal;margin-bottom:var(--sp-xs)}.plan-review .plan-confirm{display:flex;align-items:center;gap:var(--sp-sm);min-height:44px;font-size:14px;color:var(--ink)}
.plan-history{margin:var(--sp-xl) 0}.plan-history details{border-bottom:1px solid var(--line);padding:var(--sp-md) 0}.plan-history summary{cursor:pointer;min-height:44px;line-height:1.5}.plan-history li{font-size:13px;line-height:1.6;overflow-wrap:normal}
.plan-dialog :is(input,select,textarea,button,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.plan-acquire-total{font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent)}
@media(max-width:1100px){.plan-table-head{display:none}.plan-room{grid-template-columns:1.3fr 1fr 1fr}.plan-row-tools{grid-column:2/4;display:flex;align-items:start}.plan-row-tools>button,.plan-row-tools>details{flex:1}}
@media(max-width:600px){.plan-panel{display:block}.plan-actions{display:grid;margin-top:var(--sp-md)}.plan-actions>div{max-width:none}.plan-actions button{width:100%}#editor.plan-dialog{width:calc(100vw - 16px);padding:var(--sp-lg);max-height:calc(100dvh - 16px)}.plan-dialog .dialog-head h2{font-size:20px;line-height:1.4}.plan-balance{grid-template-columns:1fr 1fr;padding:var(--sp-lg);gap:var(--sp-lg)}.plan-balance>div:first-child{grid-column:1/-1}.plan-balance strong{font-size:24px}.plan-room{grid-template-columns:minmax(0,1fr);padding:var(--sp-lg);gap:var(--sp-sm)}.plan-row-tools{grid-column:auto;display:grid}.plan-room input,.plan-room select,.plan-room textarea{font-size:16px}.plan-usage{padding:var(--sp-md);background:var(--soft);border-radius:8px}.plan-tools>span{width:100%;margin:0}.plan-review{padding:var(--sp-md)}.plan-dialog .dialog-foot{position:sticky;bottom:-16px;background:var(--surface);padding:var(--sp-md) 0;margin:0;border-top:1px solid var(--line)}.plan-tools button{flex:1;font-size:13px;white-space:normal}}

/* Z9: причина рядом с отключённым удалением, площадь прямо в балансе. */
.plan-row-tools .plan-block-reason{font-size:14px;color:var(--ink);line-height:1.4}
.plan-row-tools button:disabled{color:var(--muted);background:var(--soft);border-color:var(--line);opacity:1;cursor:not-allowed}
.plan-balance .plan-area-editor{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--sp-md);align-items:start}
.plan-area-editor label{min-width:0;display:grid;gap:var(--sp-sm)}.plan-area-editor label[hidden]{display:none}
.plan-area-editor button{white-space:normal}.plan-area-editor input{width:100%}
@media(max-width:600px){.plan-balance .plan-area-editor{display:grid}.plan-area-editor button{width:100%}}

/* Z10: monthly payment allocations */
.payment-allocation {min-width:0;}
.allocation-heading {display:flex;justify-content:space-between;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-md);}
.allocation-columns,.allocation-row {display:grid;grid-template-columns:1fr 1.3fr 1.4fr 36px;gap:var(--sp-sm);align-items:end;margin-bottom:var(--sp-sm);}
.allocation-columns {font-size:13px;color:var(--muted);}
.allocation-row label {min-width:0;}
.allocation-row label>span {display:none;}
.allocation-row input,.allocation-row select {width:100%;min-width:0;}
@media(max-width:600px){
 .allocation-columns {display:none;}
 .allocation-row {grid-template-columns:1fr 1fr;padding:var(--sp-md);border:1px solid var(--ux-color-d7e0ea);border-radius:12px;}
 .allocation-row label>span {display:block;font-size:13px;margin-bottom:var(--sp-xs);}
 .allocation-row label:nth-child(3) {grid-column:1;}
 .allocation-row button {justify-self:end;}
}

/* MENU: fixed desktop geometry; badges never resize navigation tracks. */
.nav-scroll-hint{display:none}
@media(min-width:761px){
 .shell{grid-template-columns:272px minmax(0,1fr)}
 .sidebar{position:fixed;inset:0 auto 0 0;width:272px;min-width:272px;max-width:272px;height:100dvh;padding:var(--sp-2xl) var(--sp-lg);overflow-x:hidden}
 .sidebar .brand{min-width:0;gap:var(--sp-md);margin-bottom:var(--sp-xl)}
 .sidebar #navigation{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:var(--sp-sm);margin:0;padding:var(--sp-xs);overflow-x:hidden;overflow-y:auto}
 #navigation .nav-link{display:flex;min-width:0;width:100%;gap:var(--sp-sm);padding:var(--sp-md) var(--sp-sm);margin:0;transform:none;white-space:nowrap;font-size:15px}
 #navigation .nav-icon{display:flex;align-items:center;justify-content:center;width:24px;flex:0 0 24px}
 #navigation .badge{flex:0 0 46px;width:46px;min-width:46px;margin-left:auto;padding:var(--sp-2xs) var(--sp-2xs);white-space:nowrap;font-variant-numeric:tabular-nums}
 .sidebar-foot{margin-top:auto;padding:var(--sp-lg) var(--sp-sm) 0}
}
@media(min-width:761px) and (max-height:800px){
 .sidebar{padding-top:var(--sp-lg);padding-bottom:var(--sp-lg)}
 .sidebar .brand{margin-bottom:var(--sp-lg)}
 .sidebar #navigation{gap:var(--sp-xs)}
 #navigation .nav-link{min-height:44px;padding-top:var(--sp-sm);padding-bottom:var(--sp-sm)}
 .sidebar-foot{padding-top:var(--sp-md)}
}
/* The phone retains its existing bottom navigation and compact brand. */
@media(max-width:760px){
 .sidebar{overflow-x:hidden}
 .mobile-navigation{width:100%;max-width:100%;overflow-x:hidden}
 .mobile-navigation .nav-link,.mobile-navigation button{min-width:0}
}

/* CARD: common property card and financial figures. */
.object-card-grid{grid-auto-rows:1fr;align-items:stretch;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.object-card{display:flex;flex-direction:column;min-width:0;gap:var(--sp-lg)}
.object-card .card-header{height:106px;flex-shrink:0;margin:0;align-items:flex-start}
.object-card .card-header>div{min-width:0;flex:1}
.object-card .card-header h3,.object-card .card-header p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:normal}
.object-card .card-header h3{font-size:18px;line-height:24px;height:48px;margin:0 0 var(--sp-xs)}
.object-card .card-header p{font-size:14px;line-height:22px;margin:0;height:44px}
.object-card .mini-money{display:grid;gap:0;margin:0}
.object-card .mini-money>.card-metric{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:var(--sp-md);min-height:54px;border-bottom:1px solid var(--line);padding:var(--sp-sm) 0}
.object-card .card-metric>span{font-size:13px;line-height:18px;max-width:160px}
.object-card .card-metric strong{font-size:16px;line-height:22px;margin:0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal;color:var(--ink)}
.object-card .card-total strong{font-weight:800}
.object-card .card-metric.danger strong{color:var(--bad)}
.object-card .card-metric.positive-money strong{color:var(--good)}
.object-card .card-payback strong{font-size:14px}
.object-card .actions{margin-top:auto;display:flex;flex-wrap:nowrap;gap:var(--sp-sm);padding-top:0}
.object-card .actions button{min-height:44px;font-size:13px;padding:var(--sp-sm) var(--sp-md);white-space:nowrap}
.object-card .actions button:first-child{flex:1}
.card-no-data{margin:0;font-size:13px}
.err-compact{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);color:var(--bad);font-size:13px;min-height:44px}
.err-compact>span{display:flex;align-items:center;gap:var(--sp-xs);font-weight:600}
.err-compact .ico{width:18px;height:18px;flex-shrink:0}
.err-compact button{min-height:44px;padding:var(--sp-sm) var(--sp-sm);font-size:13px;color:var(--bad)}
.k2-object-overview .money-panel{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.k2-object-overview .money-item strong,.obj-panel .money-item strong{white-space:nowrap;overflow-wrap:normal;font-size:clamp(18px,2vw,26px);font-variant-numeric:tabular-nums}
.k2-object-overview .money-item.result strong{font-size:clamp(18px,2vw,26px);font-weight:800}
.k2-object-overview .rental-metrics strong{font-size:20px;line-height:1.4;font-variant-numeric:tabular-nums}
@media(max-width:760px){
 .object-card-grid{grid-template-columns:1fr}
 .object-card .card-metric>span{font-size:13px;max-width:132px}
 .object-card .card-metric strong{font-size:15px}
 .object-card .card-payback strong{font-size:13px}
 .k2-object-overview .rental-metrics{grid-template-columns:1fr}
}

.k2-object-overview .metric-money{white-space:nowrap;overflow-wrap:normal}
.k2-object-overview strong.danger,.obj-panel strong.danger{color:var(--bad)}
.k2-object-overview strong.positive-money,.obj-panel strong.positive-money{color:var(--good)}
.k2-object-overview .result strong,.obj-panel .result strong{background:none;-webkit-text-fill-color:currentColor;color:var(--ink)}
.k2-object-overview .result.positive strong,.obj-panel .result.positive strong{color:var(--good)}
.k2-object-overview .result.negative strong,.obj-panel .result.negative strong{color:var(--bad)}

.period-table td:not(:first-child),.period-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.fc-v{font-size:13px;line-height:1.5}
.k2-object-overview .result strong.danger,.obj-panel .result strong.danger{color:var(--bad)}
.k2-object-overview .result strong.positive-money,.obj-panel .result strong.positive-money{color:var(--good)}
/* DOCS */
.doc-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:var(--sp-md);margin-bottom:var(--sp-xl)}
.doc-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-sm);min-height:154px;padding:var(--sp-lg);background:var(--surface);border:1px solid var(--line);border-radius:14px;text-align:left;white-space:normal;min-width:0;transition:border-color 180ms,background 180ms;cursor:pointer}
.doc-section:hover{border-color:var(--doc-color);background:var(--soft)}.doc-section strong{color:var(--ink);overflow-wrap:normal}.doc-section small{color:var(--muted);margin-top:auto}.doc-section-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--doc-color);font-size:28px}.doc-section-icon .ico{width:28px;height:28px}.doc-section-new{border-style:dashed}.doc-section-new .doc-section-icon{color:var(--accent)}
.doc-color-teal{--doc-color:var(--primary-start)}.doc-color-blue{--doc-color:var(--primary-end)}.doc-color-green{--doc-color:var(--ux-color-047857)}.doc-color-violet{--doc-color:var(--ux-color-6d28d9)}.doc-color-amber{--doc-color:var(--ux-color-b45309)}.doc-color-indigo{--doc-color:var(--ux-color-4338ca)}.doc-color-slate{--doc-color:var(--ux-color-475569)}.doc-color-rose{--doc-color:var(--ux-color-be185d)}
[data-theme="dark"] .doc-sections,[data-theme="dark"] .doc-dialog{--doc-color:var(--ux-color-5eead4)}
[data-theme="dark"] .doc-color-teal{--doc-color:var(--ux-color-5eead4)}[data-theme="dark"] .doc-color-blue{--doc-color:var(--ux-color-7dd3fc)}[data-theme="dark"] .doc-color-green{--doc-color:var(--ux-color-6ee7b7)}[data-theme="dark"] .doc-color-violet{--doc-color:var(--ux-color-c4b5fd)}[data-theme="dark"] .doc-color-amber{--doc-color:var(--ux-color-fcd34d)}[data-theme="dark"] .doc-color-indigo{--doc-color:var(--ux-color-a5b4fc)}[data-theme="dark"] .doc-color-slate{--doc-color:var(--ux-color-cbd5e1)}[data-theme="dark"] .doc-color-rose{--doc-color:var(--ux-color-f9a8d4)}
.doc-breadcrumb,.doc-section-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm);margin-bottom:var(--sp-lg)}.doc-breadcrumb button{padding:var(--sp-xs);background:transparent;color:var(--accent)}
.doc-icon-options,.doc-color-options{display:flex;flex-wrap:wrap;gap:var(--sp-sm);border:1px solid var(--line);border-radius:12px;padding:var(--sp-md);min-width:0}.doc-icon-options label{display:flex;align-items:center;gap:var(--sp-xs);min-height:44px;border:1px solid var(--line);border-radius:8px;padding:var(--sp-sm);cursor:pointer}.doc-icon-options label:has(:checked){border-color:var(--accent);background:var(--soft)}.doc-icon-options span{font-size:13px}.doc-icon-options input,.doc-color-options input{width:16px;height:16px;min-height:16px;margin:0}.doc-color-options label{display:flex;align-items:center;gap:var(--sp-sm);border-bottom:4px solid var(--doc-color);padding:var(--sp-sm);cursor:pointer;font-size:13px}
.doc-section:focus-visible,.doc-dialog :is(input,select,button):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.doc-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-sm)}.doc-section{padding:var(--sp-md);min-height:148px}.doc-icon-options label{flex:1 1 40%}.doc-dialog input,.doc-dialog select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.doc-section{transition:none}}
/* PODO */
.podo{--podo-accent:var(--ux-color-b45309);display:grid;gap:var(--sp-lg)}.podo-toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-sm);align-items:center}.podo-toolbar button{display:inline-flex;gap:var(--sp-xs);align-items:center}.podo-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp-md)}.podo-people strong{font-size:22px;font-variant-numeric:tabular-nums}.podo-people small{display:block;margin:var(--sp-md) 0;line-height:1.6}.podo-filters,.podo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md)}.podo-filters{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end}.podo label,.podo-dialog label{display:grid;gap:var(--sp-xs);min-width:0}.podo input,.podo select,.podo-dialog input,.podo-dialog select,.podo-dialog textarea{width:100%;box-sizing:border-box;min-width:0}.podo-journal{display:grid;gap:var(--sp-md)}.podo-entry{border-left:4px solid var(--podo-accent);min-width:0}.podo-entry-head{display:flex;justify-content:space-between;gap:var(--sp-sm);flex-wrap:wrap}.podo-entry pre{white-space:pre-wrap;overflow-wrap:normal;font:12px/1.6 monospace}.podo-entry details{margin-top:var(--sp-md)}.podo-dialog{width:min(680px,calc(100% - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box;border:1px solid var(--border,var(--ux-color-94a3b8));border-radius:16px;background:var(--surface,var(--ux-color-fff));color:var(--ink,var(--ux-color-0f172a));padding:var(--sp-xl)}.podo-dialog::backdrop{background:var(--ux-color-0008);backdrop-filter:blur(10px)}.podo-dialog h2{margin-top:0}.podo-dialog .podo-toolbar{margin-top:var(--sp-lg)}.podo-dialog #podo-error{color:var(--ux-color-dc2626)}.podo-dialog button,.podo summary{cursor:pointer}.podo-summary{padding:var(--sp-md);border-left:4px solid var(--ux-color-b45309)}.podo-dialog input:focus-visible,.podo-dialog select:focus-visible,.podo button:focus-visible{outline:3px solid var(--ux-color-14b8a6);outline-offset:2px}[data-theme="dark"] .podo-dialog{background:var(--ux-color-172334);color:var(--ux-color-e2e8f0)}[data-theme="dark"] .podo{--podo-accent:var(--ux-color-fbbf24)}@media(max-width:600px){.podo-form-grid{grid-template-columns:1fr}.podo-people{grid-template-columns:1fr}.podo-dialog{padding:var(--sp-lg)}.podo-entry-head{display:grid}.podo-toolbar button{min-height:42px}}@media(prefers-reduced-motion:reduce){.podo *,.podo-dialog *{transition:none!important}}

.podo-person{--kpi-bg:var(--surface);--kpi-color:var(--ux-color-334155);color:var(--ux-color-172334)}.podo-person small,.podo-person span{color:var(--ux-color-475569)}.podo-funded{border-left-color:var(--ux-color-b45309)}.podo-overdue{--kpi-bg:var(--ux-color-fff3c4);--kpi-color:var(--ux-color-783900);border-color:var(--ux-color-b45309)}.podo-overdue .pill.warn{color:var(--ux-color-783900);background:var(--ux-color-ffe49a)}
[data-theme="dark"] .podo-person{--kpi-bg:var(--ux-color-172334);--kpi-color:var(--ux-color-f1f5f9);color:var(--ux-color-f1f5f9)}[data-theme="dark"] .podo-person small,[data-theme="dark"] .podo-person span{color:var(--ux-color-cbd5e1)}[data-theme="dark"] .podo-funded{border-left-color:var(--ux-color-fbbf24)}[data-theme="dark"] .podo-overdue{--kpi-bg:var(--ux-color-483709);--kpi-color:var(--ux-color-fff0b3);border-color:var(--ux-color-fbbf24)}[data-theme="dark"] .podo-overdue .pill.warn{color:var(--ux-color-fff0b3);background:var(--ux-color-594209)}
/* PLACE: shared grid, vertical navigation and quiet financial surfaces. */
.place-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--sp-xl);margin-top:var(--sp-lg);align-items:start}.place-tabs{display:flex;flex-direction:column;gap:var(--sp-xs);position:sticky;top:60px}.place-tabs button{display:flex;justify-content:space-between;gap:var(--sp-sm);text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:var(--sp-md);cursor:pointer;transition:background .18s}.place-tabs button[aria-selected=true]{background:transparent;color:var(--ink);border-color:var(--line)}.place-tabs small{color:inherit;white-space:nowrap}.place-panes{min-width:0}.place-panes [hidden]{display:none!important}.place-panes .full-card-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.place-panes dd:only-child{color:var(--muted)}.place-action-bar{display:flex;gap:var(--sp-sm);align-items:start;margin:var(--sp-lg) 0}.place-more{flex:1;min-width:0}.place-more>summary{list-style:none;cursor:pointer;float:right;padding:var(--sp-sm) var(--sp-lg);border:1px solid var(--line);border-radius:8px;font-size:22px}.place-more:not([open]) .place-secondary{display:none}.place-secondary{display:flex;gap:var(--sp-sm);flex-wrap:wrap;padding-top:var(--sp-sm);clear:both}.place-secondary button{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.place-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md)}.place-metric{display:flex;flex-direction:column;gap:var(--sp-sm);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;padding:var(--sp-lg);background:var(--surface);min-width:0}.place-metric strong{font-size:clamp(20px,2vw,28px);white-space:nowrap;background:none!important;-webkit-text-fill-color:currentColor}.place-metric small,.place-metric>span{color:var(--muted)}.place-metric.danger strong{color:var(--bad)}.place-metric.positive-money strong{color:var(--good)}.place-metric:last-child:nth-child(odd){grid-column:1/-1}.place-prompt{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);background:var(--soft);padding:var(--sp-md);border-radius:10px;margin-top:var(--sp-md)}.place-chart-scroll{overflow-x:auto}.place-chart{width:100%;min-width:520px;color:var(--ink)}.place-legend{color:var(--ink)}
@media(min-width:1100px){.place-more>summary{display:none}.place-more:not([open]) .place-secondary{display:flex}.place-secondary{flex-wrap:nowrap;overflow-x:auto;padding-top:0}.place-secondary button{white-space:nowrap;flex-shrink:0}.place-action-bar>button{flex-shrink:0}}
@media(max-width:700px){.place-workspace{grid-template-columns:minmax(0,1fr);gap:var(--sp-lg)}.place-tabs{position:static;flex-direction:row;overflow-x:auto;padding-bottom:var(--sp-sm)}.place-tabs button{flex-shrink:0;border-radius:24px;align-items:center;padding:var(--sp-sm) var(--sp-md)}.place-panes .full-card-fields{grid-template-columns:minmax(0,1fr)}.place-metrics{gap:var(--sp-sm)}.place-metric{padding:var(--sp-md)}.place-metric strong{font-size:19px}.place-prompt{align-items:start;flex-direction:column}.place-secondary{display:grid;grid-template-columns:1fr}.place-more[open]{position:relative}.place-more[open] .place-secondary{position:absolute;right:0;top:48px;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:var(--sp-md);width:230px;box-shadow:var(--shadow)}}
.place-tabs button[aria-selected=true]{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:inset 2px 0 var(--accent)}.place-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.place-metric strong:has(.muted){color:var(--muted)}
.place-tabs button{transition:border-color .18s,box-shadow .18s}
.full-card .place-more{margin:0;padding:0;border:0;background:transparent}

/* OPS: shared operation actions and responsive detail. */
[data-ops-row]{cursor:pointer}[data-ops-row]:focus-visible{outline:2px solid var(--accent,var(--ux-color-818cf8));outline-offset:-2px}
#ops-menu{position:fixed;z-index:10000;display:grid;gap:var(--sp-xs);padding:var(--sp-sm);max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:var(--surface,var(--ux-color-252735));color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px var(--ux-color-0006)}
#ops-menu button{text-align:left}#ops-menu button:disabled{opacity:.45}
#detail-dialog.ops-detail{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(620px,100vw);border-radius:12px 0 0 12px}
.ops-card dl{display:grid;grid-template-columns:140px 1fr;gap:var(--sp-md)}.ops-card dd{margin:0;overflow-wrap:normal}.ops-card dt{opacity:.7}
@media(max-width:600px){#detail-dialog.ops-detail{width:100vw;max-width:100vw;border-radius:0}.ops-card dl{grid-template-columns:100px 1fr}}

.podo-issue-money{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-md)}

.ops-card pre{white-space:pre-wrap;overflow-wrap:normal;font-size:13px}.ops-card .actions{flex-wrap:wrap}

/* MENU2 */
#ops-menu{box-sizing:border-box;width:264px;grid-auto-rows:max-content;overscroll-behavior:contain;scroll-padding:var(--sp-sm)}
#ops-menu button,#ops-menu a{box-sizing:border-box;display:flex;align-items:center;gap:var(--sp-sm);width:100%;min-height:44px;margin:0;padding:var(--sp-sm) var(--sp-md);border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;line-height:1.35;text-align:left;text-decoration:none;box-shadow:none;white-space:normal;cursor:pointer}
#ops-menu button::before,#ops-menu a::before{content:'↗';flex:0 0 18px;text-align:center;opacity:.7}
#ops-menu [data-ops-receipt]::before{content:'▤'}
#ops-menu [data-ops-open]::before{content:'◎'}
#ops-menu button:hover:not(:disabled),#ops-menu a:hover{background:var(--soft)}
#ops-menu button:focus-visible,#ops-menu a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--soft)}
#ops-menu button:disabled{color:var(--muted);opacity:.65;cursor:default}
@media(max-width:600px){#ops-menu{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px;padding-bottom:max(var(--sp-md),env(safe-area-inset-bottom));padding-top:var(--sp-md)}#ops-menu button,#ops-menu a{min-height:48px}}

/* OPS2: alternating operation fields, matching place table tone. */
.ops-card dl{gap:0}.ops-card dt,.ops-card dd{padding:var(--sp-sm) var(--sp-md)}
.ops-card dt:nth-of-type(odd),.ops-card dd:nth-of-type(odd){background:var(--row-alt,var(--ux-row-alt))}
.ops-card .actions{display:flex;gap:var(--sp-sm);flex-wrap:wrap}

@media(max-width:600px){.ops-card dl{grid-template-columns:125px minmax(0,1fr)}.ops-card dt,.ops-card dd{padding:var(--sp-sm) var(--sp-sm)}}

/* CAT shared dictionary picker and manager. */
.cat-inline{grid-column:1/-1;display:grid;gap:var(--sp-md);padding:var(--sp-lg);border:1px solid var(--line);border-radius:12px}.cat-actions{display:flex;gap:var(--sp-sm);flex-wrap:wrap}.cat-manager{width:min(720px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:var(--sp-xl)}.cat-records{display:grid;gap:var(--sp-lg);margin-top:var(--sp-lg)}.cat-record{padding:var(--sp-lg);border:1px solid var(--line);border-radius:12px;display:grid;gap:var(--sp-md)}.cat-manager label,.cat-inline label{display:grid;gap:var(--sp-xs)}.cat-manager input,.cat-manager select{width:100%;min-width:0}.cat-manager .error{position:sticky;bottom:0;background:var(--surface)}@media(max-width:600px){.cat-manager{padding:var(--sp-lg)}.cat-actions button{flex:1}#catalog-button{font-size:13px}}
@media(max-width:600px){.cat-manager .cat-actions button{flex:1 1 180px;overflow-wrap:normal;word-break:normal}}

/* ECO: одна сетка финансов и общие строки карточек. */
.eco-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-md);margin:var(--sp-lg) 0 var(--sp-xl);align-items:stretch}
.eco-tile{display:flex;flex-direction:column;gap:var(--sp-md);padding:var(--sp-lg) var(--sp-lg);min-width:0;border:1px solid var(--line);border-top:3px solid var(--kpi-color,var(--teal));border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.eco-tile>span{font-size:14px;font-weight:650;min-height:42px;line-height:1.5;color:var(--ink)}
.eco-tile strong{font-size:clamp(18px,1.65vw,26px);line-height:1.3;letter-spacing:-.5px;white-space:nowrap;font-variant-numeric:tabular-nums;background:none;-webkit-text-fill-color:currentColor;color:var(--ink)}
.eco-tile small{font-size:13px;line-height:1.6;color:var(--muted)}
.eco-tile .danger{color:var(--bad)}.eco-tile .positive-money{color:var(--good)}
.eco-tile button,.eco-tile a{margin-top:auto;align-self:start}
.eco-area{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm);padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:14px;margin:var(--sp-lg) 0}
.full-card .eco-rows{display:block;margin:var(--sp-md) 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.full-card .eco-rows>.eco-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--sp-sm) var(--sp-lg);padding:var(--sp-md) var(--sp-lg);align-items:center;border:0;border-left:3px solid transparent;background:var(--surface)}
.full-card .eco-rows>.eco-row:nth-child(even){background:var(--soft)}
.full-card .eco-rows>.eco-row-debt{border-left-color:var(--bad)}
.eco-rows dt{color:var(--muted);font-size:13px}.eco-rows dd{text-align:right;color:var(--ink);font-weight:600;min-width:0;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:normal}
.eco-rows dd.danger{color:var(--bad)}.eco-rows dd.positive-money{color:var(--good)}
.full-card .eco-rows dd button[data-action="object-summary"],.full-card .eco-rows dd button[data-action="tenant-card"],.full-card .eco-rows dd button[data-action="contract-card"]{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--sp-sm);background:transparent;border:0;color:var(--accent);text-align:right;text-decoration:underline;text-underline-offset:3px;padding:var(--sp-xs) 0;min-height:44px}
.eco-rows dd button[data-action="object-summary"]:after,.eco-rows dd button[data-action="tenant-card"]:after,.eco-rows dd button[data-action="contract-card"]:after{content:"";width:14px;height:14px;flex-shrink:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/contain no-repeat}
.eco-group>h3{border-left:3px solid var(--blue);padding:var(--sp-xs) var(--sp-md)}.eco-group-money>h3{border-left-color:var(--good)}.eco-group-contract>h3{border-left-color:var(--teal)}
.place-panes .eco-group>details,.place-panes .full-card-entry{padding:var(--sp-md);border-radius:10px;margin:var(--sp-sm) 0;border:1px solid var(--line)}
.place-panes .eco-group>details:nth-of-type(even),.place-panes .full-card-entry:nth-child(even){background:var(--soft)}
.eco-rows ins{text-decoration:none;color:var(--ink);font-weight:700}.eco-rows del{font-weight:400}
@media(max-width:1100px){.eco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.eco-grid{gap:var(--sp-sm)}.eco-tile{padding:var(--sp-md) var(--sp-md)}.eco-tile strong{font-size:clamp(16px,4.5vw,21px);letter-spacing:-.6px}.eco-tile>span{font-size:13px}.full-card .eco-rows>.eco-row{padding:var(--sp-md) var(--sp-sm);gap:var(--sp-sm)}.place-panes .eco-grid{grid-template-columns:minmax(0,1fr)}.place-panes .eco-tile>span{min-height:0}.place-panes .eco-tile strong{font-size:24px}}

.eco-grid{grid-auto-rows:1fr}.eco-tile{container-type:inline-size}.eco-tile strong{font-size:clamp(14px,8cqi,26px);overflow-wrap:normal}.place-panes .eco-tile strong{font-size:clamp(14px,8cqi,26px)}
.place-documents li{padding:var(--sp-md);border-radius:10px}.place-documents li:nth-child(even){background:var(--soft)}
[data-theme=dark] .place-tabs button[aria-selected=true]{color:var(--ink);background:transparent}

.place-panes .eco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.place-panes .eco-grid{grid-template-columns:minmax(0,1fr)}}
.place-panes tbody tr:nth-child(even){background:var(--soft)}

.eco-tile strong,.place-panes .eco-tile strong{font-size:clamp(14px,calc(100cqi / var(--eco-digits,16) * 1.6),26px)}
/* VA6: visible reason for disabled operation actions (title alone is invisible on phones). */
#ops-menu button:disabled,.ops-card button:disabled{opacity:1;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;row-gap:0;text-align:left}
#ops-menu button:disabled .ops-why{flex-basis:100%;padding-left:var(--sp-xl)}.ops-card button:disabled .ops-why{flex-basis:100%}
.ops-why{display:block;font-size:13px;font-weight:400;line-height:1.3;color:var(--muted)}

/* VA7: digit buckets as classes — CSP blocks inline style attributes. */
.eco-d13{--eco-digits:13}.eco-d14{--eco-digits:14}.eco-d15{--eco-digits:15}.eco-d16{--eco-digits:16}.eco-d17{--eco-digits:17}.eco-d18{--eco-digits:18}.eco-d19{--eco-digits:19}.eco-d20{--eco-digits:20}.eco-d21{--eco-digits:21}.eco-d22{--eco-digits:22}

/* NAZAD: one named return; long object/place names fit on mobile. */
.back-button,#detail-back{max-width:100%;white-space:normal;text-align:left;overflow-wrap:normal}
#detail-dialog .dialog-head h2{min-width:0;overflow-wrap:normal}
#detail-back[hidden],#close-detail[hidden]{display:none!important}
#detail-dialog>.dialog-head>#detail-back{grid-column:1;grid-row:1}
#detail-dialog>.dialog-head>#detail-title{grid-column:2;grid-row:1}
#detail-dialog>.dialog-head>#close-detail{grid-column:3;grid-row:1;width:44px;min-width:44px;padding-inline:0}
@media(max-width:760px){
  #detail-dialog>.dialog-head,#detail-dialog:has(.full-card)>.dialog-head{grid-template-columns:minmax(0,1fr) auto}
  #detail-dialog>.dialog-head>#detail-title{grid-column:1}
  #detail-dialog>.dialog-head>#close-detail{grid-column:2}
  #detail-dialog>.dialog-head>#detail-back{grid-column:1/-1;justify-self:start}
  #detail-dialog:has(#detail-back:not([hidden]))>.dialog-head>#detail-title{grid-column:1/-1;grid-row:2}
}
/* SHRIFT typography + CVETA: amber belongs exclusively to names/titles. */
:root{--label-accent:#805300;--metric-label:var(--muted)}
[data-theme=dark]{--label-accent:#F5C451}
body{font-family:"IBM Plex Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums}
button,input,select,textarea{font-family:inherit;font-variant-numeric:tabular-nums}
/* Names of pages, blocks and cards share one accent, in both themes. */
#page-title,#content h2,#content h3,#content h4,
.section-title h2,.card-section>h3,
.card-section>.section-title h2,.place-panes>section>h3,
.card h3,.panel h2,.panel h3,.dialog-head h2,
.full-card h3,.doc-group h2,.doc-hero h2,.doc-description>strong{
 color:var(--label-accent);
}
/* A single, quiet label tone even inside tinted KPI tiles. */
.kpi>span,.eco-tile>span,.object-card .card-metric>span,
.mini-money>div>span,.money-item>span,.place-metric>span,.sale-expected>span{
 color:var(--metric-label);font-weight:600;letter-spacing:.01em;
}
/* Decorative tile colors never color neutral amounts. */
.kpi strong,.kpi .amount,.stat strong,.money-item strong,
.eco-tile strong,.place-metric strong,.sale-expected strong,
.bank-panel .money-item.result strong{
 color:var(--ink);background:none;-webkit-text-fill-color:currentColor;
}
/* Explicit arithmetic semantics win over decorative KPI tones. */
.kpi strong.flow-pos,.kpi strong.positive-money,.kpi .positive-money strong,
.money-item strong.flow-pos,.money-item strong.positive-money,
.stat strong.positive-money{
 color:var(--good);
}
.kpi strong.flow-neg,.kpi strong.danger,.kpi .danger strong,
.money-item strong.flow-neg,.money-item strong.danger,
.stat strong.danger{
 color:var(--bad);
}
/* PASPORT: contacts and private tenant document drafts. */
.pasport-contacts{min-width:0}.pasport-contacts h3{margin-bottom:var(--sp-md)}
.pasport-contact-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(150px,1.3fr);gap:var(--sp-sm);padding:var(--sp-md);border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}
.pasport-contact-row label,.pasport-contact-row input,.pasport-contact-row select{min-width:0}
.pasport-contact-row [data-contact-label-wrap]{grid-column:1/-1}
.pasport-contact-row .pasport-primary{display:flex;align-items:center;gap:var(--sp-sm);font-weight:500;align-self:center;white-space:nowrap}
.pasport-contact-row .pasport-primary input{display:inline-block;width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--accent)}
.pasport-contact-actions{display:flex;align-items:center;gap:var(--sp-sm);justify-content:flex-end}
.pasport-contact-actions button{padding:var(--sp-sm);min-width:44px}.pasport-contact-actions a{white-space:normal}
.pasport-contact-card dd{overflow-wrap:normal}.pasport-contact-card a{display:inline-flex;align-items:center;gap:var(--sp-xs);min-height:44px}.pasport-contact-card .ico{width:16px;height:16px;flex:none}
.pasport-private summary,.k3-requisite-editor summary{cursor:pointer;line-height:1.6;overflow-wrap:normal}.pasport-private summary .ico,.k3-requisite-editor summary .ico{vertical-align:middle;width:19px;height:19px}
.pasport-private summary button{border:0;padding:var(--sp-xs);min-height:44px;color:var(--accent);font-size:13px}
.pasport-private[open]>.form-fields{margin-top:var(--sp-lg)}.pasport-private [data-passport-status]:not(:empty),.pasport-recognize [role=status]:not(:empty){margin-top:var(--sp-md);padding:var(--sp-md);border-radius:8px;background:var(--soft);color:var(--ink);font-size:13px}
.pasport-recognize{display:grid;gap:var(--sp-md);margin:var(--sp-lg) 0 var(--sp-lg);padding-bottom:var(--sp-lg);border-bottom:1px solid var(--line)}
.pasport-name-choice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm);margin-top:var(--sp-md);background:var(--warn-bg);color:var(--warn);padding:var(--sp-md);border-radius:9px;font-size:13px}
.pasport-warning{background:var(--ux-color-fef3c7)!important;color:var(--ux-color-78350f)!important}
[data-theme=dark] .pasport-warning{background:var(--ux-color-432f13)!important;color:var(--ux-color-fde68a)!important}
.pasport-card h3{display:flex;align-items:center;gap:var(--sp-sm)}.pasport-card p{margin-top:var(--sp-sm)}.pasport-card [data-passport-full]{margin-top:var(--sp-lg)}
.pasport-documents ul{padding-left:var(--sp-lg);margin:var(--sp-sm) 0 var(--sp-lg)}.pasport-documents h4{margin:var(--sp-md) 0 0}.pasport-documents a{display:inline-block;min-height:44px;padding:var(--sp-sm) 0;overflow-wrap:normal}
@media(max-width:480px){.pasport-contact-row{grid-template-columns:minmax(0,1fr)}.pasport-contact-row [data-contact-label-wrap]{grid-column:auto}.pasport-contact-actions{justify-content:flex-start}.pasport-private>.form-fields{grid-template-columns:minmax(0,1fr)}.pasport-private summary{font-size:14px}.pasport-private summary button{font-size:13px}.pasport-name-choice button{width:100%}}
.k3-requisite-editor summary button{border:0;padding:var(--sp-xs);min-height:44px;color:var(--accent);font-size:13px}
.k3-requisite-editor small.pasport-warning{padding:var(--sp-sm);border-radius:6px}

/* VKLADKI: one card workspace, shared by place, contract and tenant. */
:root{--sold-due:#9a3412;--sold-due-bg:#ffedd5}
[data-theme=dark]{--sold-due:#fdba74;--sold-due-bg:#431407}
.pill.st-sold-due,.places-list .st-sold-due,.sale-payment-status.st-sold-due{color:var(--sold-due);background:var(--sold-due-bg);border-color:transparent}
.pill.st-sold-due::before{content:'';display:inline-block;width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor;margin-right:var(--sp-xs)}
.sale-payment-status.st-sold{color:var(--violet);background:var(--violet-bg);border-color:transparent}
.sale-due-note,.sale-expected.sale-due-note{color:var(--sold-due)}
.sale-expected.sale-due-note{border-left-color:var(--sold-due);background:var(--sold-due-bg)}
#ops-menu .danger{color:var(--bad)}
.card-more{margin-left:auto;font-size:24px;min-width:44px;min-height:44px;line-height:1}
.full-card .place-panes .actions button:not(.primary){background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.full-card .place-panes .actions .danger{color:var(--bad)}
.full-card .place-panes .k3-requisites{margin:0}
.full-card .place-panes .k3-requisites>div:nth-child(even){background:var(--soft)}
.full-card .place-panes .k3-requisites dt{color:var(--metric-label)}
.contract-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md);margin-top:var(--sp-lg)}
.contract-months>details{min-width:0;padding:var(--sp-md);border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.contract-months summary{cursor:pointer;line-height:1.6}
.contract-months .full-card-fields{display:block}
.full-card .place-panes .k3-copy{overflow-wrap:normal;max-width:100%;color:var(--accent)}
@media(max-width:767px){.place-workspace{grid-template-columns:minmax(0,1fr);gap:var(--sp-lg)}.place-tabs{position:static;flex-direction:row;overflow-x:auto;max-width:100%;padding-bottom:var(--sp-sm);scroll-padding-inline:var(--sp-xs)}.place-tabs button{flex-shrink:0;border-radius:24px;align-items:center;padding:var(--sp-sm) var(--sp-md)}.place-panes .full-card-fields{grid-template-columns:minmax(0,1fr)}.contract-months{grid-template-columns:minmax(0,1fr)}}
.full-card .eco-rows dt{color:var(--metric-label)}
.contract-months>article{min-width:0;padding:var(--sp-md);border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.contract-months h4{margin:0 0 var(--sp-md);font-size:15px;color:var(--ink)}
.contract-months .month-totals .eco-row{padding:var(--sp-sm);min-height:44px}
.sale-expected.sale-due-note>span,.places-list .place-status-note .sale-due-note{color:var(--sold-due)}

/* UDAL: keep card actions in normal flow, including mobile scroll/return. */
@media(max-width:767px){
 #detail-content .place-action-bar{position:static;inset:auto;transform:none;flex-wrap:wrap;max-width:100%;margin-bottom:var(--sp-lg)}
 #detail-content .place-tabs{position:static;scroll-margin-block:var(--sp-lg)}
}

/* FIN-A: остатки книги и продажи, оплату которых нужно проверить. */
.fin-cash-now { margin-bottom:var(--sp-lg); min-width: 0; }
.fin-cash-now > strong { display: block; font-size: clamp(24px, 4vw, 36px); overflow-wrap: anywhere; }
.fin-cash-now > small { display: block; }
.fin-cash-now details { margin-top:var(--sp-md); }
.fin-cash-now summary { cursor: pointer; }
.fin-cash-group { margin-top:var(--sp-md); }
.fin-cash-account, .fin-sale-row { display: flex; justify-content: space-between; gap:var(--sp-md); padding:var(--sp-xs) 0; }
.fin-cash-account span { overflow-wrap: anywhere; min-width: 0; }
.fin-cash-account span:last-child { flex-shrink: 0; }
.fin-sales-check { margin:var(--sp-lg) 0; }
.fin-sales-check h2 { font-size: 18px; }
@media (max-width: 600px) {
  .fin-sale-row { flex-direction: column; gap:var(--sp-2xs); }
  .fin-sale-row button { white-space: normal; text-align: left; }
  .fin-cash-account { flex-wrap: wrap; gap:var(--sp-xs); }
}

/* FIN-B: сравнение месяцев */
.finb-controls {display:flex;flex-wrap:wrap;gap:var(--sp-md);align-items:end;margin:var(--sp-lg) 0}
.finb-controls label {display:grid;gap:var(--sp-xs);flex:1 1 190px}
.finb-controls input,.finb-controls select {width:100%;min-width:0}
.finb-bridge {padding:0;list-style:none;max-width:760px}
.finb-bridge li {display:flex;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--line)}
.finb-bridge li:first-child,.finb-bridge li:last-child {background:var(--surface);font-weight:600}
.finb-bridge strong {white-space:nowrap}
.finb-positive {color:var(--good,var(--ux-color-168254))}
.finb-negative {color:var(--bad,var(--ux-color-c34747))}
.finb-variance details {margin:var(--sp-md) 0}
.finb-variance[aria-busy="true"] {opacity:.65}
@media(max-width:480px) {.finb-controls {display:grid;grid-template-columns:1fr}.finb-bridge li {padding:var(--sp-sm) 0;gap:var(--sp-sm)}.finb-bridge strong {font-size:13px}}

/* Готовность месяца к закрытию: обычный цвет текста в обеих темах. */
.find-ready { margin-top:.45rem; max-width: 30rem; color: var(--ink); }
.find-ready summary { cursor: pointer; line-height: 1.5; }
.find-ready ul { padding-left:1.2rem; margin:.5rem 0; }
.find-ready li { margin:.4rem 0; overflow-wrap: anywhere; }
.find-ready a { color: inherit; text-decoration: underline; }

/* FIN-G: помесячные денежные итоги */
.fing-report{color:var(--ink);min-width:0}
.fing-controls{display:flex;flex-wrap:wrap;gap:var(--sp-lg);margin:var(--sp-lg) 0}
.fing-controls label{display:grid;gap:var(--sp-xs);color:var(--ink)}
.fing-scroll{overflow-x:auto;max-width:100%}
.fing-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;color:var(--ink)}
.fing-table td,.fing-table th{padding:var(--sp-md);border-bottom:1px solid var(--line);color:var(--ink)}
.fing-table td{text-align:right;white-space:nowrap}
.fing-table th{text-align:left;min-width:140px}
.fing-table th:first-child{min-width:250px}
.fing-total{background:var(--soft);font-weight:600}
.fing-toggle{display:block;text-align:left;white-space:normal;background:transparent;border:0;box-shadow:none;padding:0;color:var(--ink);font:inherit;cursor:pointer}
.fing-toggle small{display:block;color:var(--muted);font-weight:400;margin-top:var(--sp-xs)}
.fing-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.fing-mobile{display:none!important}
.fing-table tr[hidden]{display:none}
@media(max-width:600px){
 .fing-mobile{display:grid!important}
 .fing-table .fing-month{display:none}
 .fing-table .fing-month.fing-selected{display:table-cell}
 .fing-table th:first-child{min-width:0;width:50%}
 .fing-table th,.fing-table td{min-width:0;padding:var(--sp-sm) var(--sp-xs);white-space:normal;overflow-wrap:normal}
 .fing-table{table-layout:fixed}
 .fing-controls{gap:var(--sp-md)}.fing-controls input{max-width:145px}
}

/* FIN-H: пояснения экономики места — обычный цвет текста в обеих темах. */
.place-finance-note { color: var(--ink); overflow-wrap: anywhere; }

/* FIN-I: подписи обычным цветом, жёлтый только у заголовков. */
.fin-i-main-owner { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-md); margin:0 0 var(--sp-lg); padding:var(--sp-md); border:1px solid var(--line); border-radius:12px; color:var(--ink); }
.fin-i-shares { margin:var(--sp-md) 0; padding:var(--sp-md) 0; border-block:1px solid var(--line); color:var(--ink); }
.fin-i-shares p { margin:var(--sp-xs) 0; }
.fin-i-shares button { white-space:normal; text-align:left; }
.fin-i-preview { min-width:0; color:var(--ink); }
@media(max-width:600px) { .fin-i-main-owner { align-items:flex-start; } .fin-i-shares button { max-width:100%; } }

/* SB-1: простой и близкие сроки договоров. */
.vacancy-note { display:block; color:var(--muted); font-size:13px; line-height:1.4; }
.term-soon { color:var(--ink); font-weight:600; }
.term-expired { color:var(--bad); font-weight:600; }
.vacancy-object-line .quiet { color:var(--ink); white-space:normal; text-align:left; }
.vacancy-filters { flex-wrap:wrap; }

/* SB-2: спокойные цвета только внутри очереди напоминаний. */
#debt-queue .kpi { --kpi-color:var(--line); --kpi-bg:var(--surface); border-color:var(--line); background:var(--surface); }
#debt-queue .kpi > span { color:var(--ink); }
#debt-queue .kpi strong { color:var(--ink); }
#debt-queue .kpi:last-child strong { color:var(--bad); }
#debt-queue .pill { color:var(--muted); background:var(--surface); border:1px solid var(--line); }
#debt-queue td:nth-child(4) .pill.bad { color:var(--bad); background:var(--bad-bg); border-color:var(--bad); }

/* SB-4: отчёт партнёру, цвета только из темы. */
.partner-report{min-width:0;color:var(--ink)}
.partner-report .card{margin-bottom:var(--sp-lg)}
.partner-report-tools{display:flex;flex-wrap:wrap;align-items:end;gap:var(--sp-md);margin-bottom:var(--sp-lg)}
.partner-report-tools .button-link{color:var(--accent)}
@media(max-width:760px){.partner-report-tools .button-link{font-size:13px}}
.partner-report-tools label{display:grid;gap:var(--sp-xs);color:var(--ink)}
.partner-report-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-md)}
#content .partner-report-kpis h3{color:var(--metric-label);font-size:14px}
.partner-report-kpis strong{font-size:22px;color:var(--ink)}
.partner-report table{font-size:13px}
.partner-report textarea{width:100%;min-height:150px}
@media print{
 body:has(.partner-report) .sidebar,body:has(.partner-report) .topbar,body:has(.partner-report) #mobile-navigation,body:has(.partner-report) #section-tabs,body:has(.partner-report) #page-actions,body:has(.partner-report) #page-help,body:has(.partner-report) #news-banner,body:has(.partner-report) button,body:has(.partner-report) .back-button,.partner-report-tools,.partner-report textarea{display:none!important}
 body:has(.partner-report),body:has(.partner-report) .shell,body:has(.partner-report) .main-wrap,body:has(.partner-report) main{display:block!important;width:auto!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;min-width:0!important}
 .partner-report .table-wrap{overflow:visible!important}
 .partner-report table{width:100%!important;min-width:0!important;table-layout:fixed;font-size:8pt}
 .partner-report th,.partner-report td{white-space:normal!important;overflow-wrap:normal;padding:var(--sp-xs)!important}
 .partner-report tr,.partner-report .card{break-inside:avoid}
 .partner-report thead{display:table-header-group}
 .partner-report-kpis{grid-template-columns:repeat(5,1fr)}
 .partner-report-kpis strong{font-size:12pt}
}

/* SB-3b: Главное на сегодня. Название использует общее правило #content h2. */
.sb-today{max-width:960px;min-width:0;margin:0 0 var(--sp-xl);padding:var(--sp-lg);background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-wrap:normal}
.sb-first-text{margin-top:var(--sp-md);font-weight:650;color:var(--ink)}
.sb-first-reason{margin:var(--sp-sm) 0 var(--sp-md);color:var(--ink)}
.sb-today .sb-first-link{color:var(--ink);white-space:normal}
.sb-brief-lines{margin-top:var(--sp-lg)}
.sb-brief-line{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:var(--sp-md);padding:var(--sp-md) 0;border-top:1px solid var(--line);color:var(--ink);min-width:0}
.sb-brief-line .sb-line-label{color:var(--ink)}
.sb-brief-bad>span:not(.sb-line-label){color:var(--bad)}
@media(max-width:600px){.sb-today{padding:var(--sp-lg)}.sb-brief-line{grid-template-columns:minmax(0,1fr);gap:var(--sp-xs)}.sb-line-label{font-weight:650}}

/* SB-3c: одинаковые ссылки всех строк главного. */
.sb-brief-line:link,.sb-brief-line:visited{text-decoration:none;color:var(--ink)}
.sb-brief-line:hover,.sb-brief-line:focus-visible{text-decoration:underline}

/* UX-B: exact color tokens, invariant across themes unless overridden above. */
:root{
 --ux-color-58a7f4:#58a7f4;
 --ux-color-fff:#fff;
 --ux-color-102c47:#102c47;
 --ux-color-7ea9cc:#7ea9cc;
 --ux-color-d4e4f5:#d4e4f5;
 --ux-color-b0cce5:#b0cce5;
 --ux-color-7795b0:#7795b0;
 --ux-color-ffffff10:#ffffff10;
 --ux-color-123c65:#123c65;
 --ux-color-82d4b2:#82d4b2;
 --ux-color-c3d8eb:#c3d8eb;
 --ux-color-7f3542:#7f3542;
 --ux-color-102c4780:#102c4780;
 --ux-color-e0526a:#e0526a;
 --ux-color-ffffff66:#ffffff66;
 --ux-color-d5e4f1:#d5e4f1;
 --ux-color-9ab7d2:#9ab7d2;
 --ux-color-0369a122:#0369a122;
 --ux-color-115e59:#115e59;
 --ux-color-075985:#075985;
 --ux-color-0369a133:#0369a133;
 --ux-color-134e4a:#134e4a;
 --ux-color-0c4a6e:#0c4a6e;
 --ux-color-5eead4:#5eead4;
 --ux-color-7dd3fc:#7dd3fc;
 --ux-color-6ee7b7:#6ee7b7;
 --ux-color-fca5a5:#fca5a5;
 --ux-color-c4b5fd:#c4b5fd;
 --ux-color-fcd34d:#fcd34d;
 --ux-color-a5b4fc:#a5b4fc;
 --ux-color-10445a:#10445a;
 --ux-color-17365b:#17365b;
 --ux-color-d6f1ed:#d6f1ed;
 --ux-color-ffffff14:#ffffff14;
 --ux-color-c1dfdf:#c1dfdf;
 --ux-color-ffffff0d:#ffffff0d;
 --ux-color-ffffff40:#ffffff40;
 --ux-color-ffffff18:#ffffff18;
 --ux-color-e0f2f1:#e0f2f1;
 --ux-color-ffffff1a:#ffffff1a;
 --ux-color-f0fdfa:#f0fdfa;
 --ux-color-d1fae5:#d1fae5;
 --ux-color-062f3926:#062f3926;
 --ux-color-83bdbb:#83bdbb;
 --ux-color-123e4d:#123e4d;
 --ux-color-0e7490:#0e7490;
 --ux-color-cffafe:#cffafe;
 --ux-color-67e8f9:#67e8f9;
 --ux-color-164e63:#164e63;
 --ux-color-be185d:#be185d;
 --ux-color-071c3a33:#071c3a33;
 --ux-color-071c3a80:#071c3a80;
 --ux-color-134e4a0b:#134e4a0b;
 --ux-color-134e4a08:#134e4a08;
 --ux-color-047857:#047857;
 --ux-color-b91c1c:#b91c1c;
 --ux-color-fee2e2:#fee2e2;
 --ux-color-92400e:#92400e;
 --ux-color-fef3c7:#fef3c7;
 --ux-color-064e3b:#064e3b;
 --ux-color-450a0a:#450a0a;
 --ux-color-fde68a:#fde68a;
 --ux-color-451a03:#451a03;
 --ux-color-4338ca:#4338ca;
 --ux-color-eef2ff:#eef2ff;
 --ux-color-242947:#242947;
 --ux-color-171c3c:#171c3c;
 --ux-color-991b1b:#991b1b;
 --ux-color-fecaca:#fecaca;
 --ux-color-065f46:#065f46;
 --ux-color-a7f3d0:#a7f3d0;
 --ux-color-dc2626:#dc2626;
 --ux-color-022c22:#022c22;
 --ux-color-dc262620:#dc262620;
 --ux-color-0002:#0002;
 --ux-color-d7e0ea:#d7e0ea;
 --ux-color-6d28d9:#6d28d9;
 --ux-color-b45309:#b45309;
 --ux-color-475569:#475569;
 --ux-color-cbd5e1:#cbd5e1;
 --ux-color-f9a8d4:#f9a8d4;
 --ux-color-94a3b8:#94a3b8;
 --ux-color-0f172a:#0f172a;
 --ux-color-0008:#0008;
 --ux-color-14b8a6:#14b8a6;
 --ux-color-172334:#172334;
 --ux-color-e2e8f0:#e2e8f0;
 --ux-color-fbbf24:#fbbf24;
 --ux-color-334155:#334155;
 --ux-color-fff3c4:#fff3c4;
 --ux-color-783900:#783900;
 --ux-color-ffe49a:#ffe49a;
 --ux-color-f1f5f9:#f1f5f9;
 --ux-color-483709:#483709;
 --ux-color-fff0b3:#fff0b3;
 --ux-color-594209:#594209;
 --ux-color-818cf8:#818cf8;
 --ux-color-252735:#252735;
 --ux-color-0006:#0006;
 --ux-color-78350f:#78350f;
 --ux-color-432f13:#432f13;
 --ux-color-168254:#168254;
 --ux-color-c34747:#c34747;
}
/* UX-B: titles retain link affordance; data columns keep their theme colors. */
.place-name,.places-list .place-name strong,.k3-tenant-name,
.k3-tenants .k3-tenant-name,.k3-profile .k3-tenant-name,.k3-contract .k3-tenant-name{color: var(--label-accent)}
.place-name:hover,.place-name:focus-visible,.k3-tenant-name:hover,.k3-tenant-name:focus-visible{ text-decoration:underline }
.ag-link-row label,.actions>label:has(#ag-scn),.chat-form>label{flex:1;min-width:0}
.chat-form{align-items:flex-end}
.user-podo-check{display:flex;align-items:center;gap:8px}
.user-podo-check input{width:20px;min-height:20px}
@media(max-width:760px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
 button,a[href],summary,[role=button],[role=tab]{min-width:44px;min-height:44px}
 a[href],summary{display:inline-flex;align-items:center}
 .brand{min-height:44px}
 .row-actions,.ar-table .row-actions,.top-actions,.actions,.doc-actions,.chips,.mobile-navigation,.sidebar nav{gap:8px}
 #mobile-navigation{gap:8px}
 .row-actions button,.cat-close{min-width:44px;min-height:44px}
 label:has(>.row-check),.user-podo-check{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:flex-start;padding:12px;gap:8px}
 .row-check{margin:0!important}
 /* Dense history and owner cells: WCAG 2.5.8 exception, inside scrolling tables. */
 .ar-months{gap:8px;min-width:376px}
 .ar-months .ar-month{width:24px;height:24px;min-width:24px;min-height:24px}
 .place-owners{min-width:24px;min-height:24px;margin-block:4px}
 summary{padding-block:10px;margin-block:4px}
}
/* Browser default small is 0.833em and can fall below 12px inside labels. */
small{font-size:13px}
@media(max-width:760px){
 button,.row-actions button,.account-edit,.account-tree .account-edit{min-width:44px;min-height:44px}
 label:has(>input[type=checkbox]){min-width:44px;min-height:44px;align-items:center}
 .ar-months{min-width:0;flex-wrap:wrap;max-width:100%;row-gap:8px}
 .places-list .place-actions-cell:last-child .place-actions-popover:popover-open{gap:8px}
 .places-list .place-actions-cell{padding-top:8px}
 /* Standalone selection inputs have no label in legacy operation tables. */
 td>input.row-check{width:44px;height:44px;min-height:44px;flex-basis:44px}
}
/* Dense mobile table action rules must not expose a closed native popover. */
.places-list .place-actions-popover:not(:popover-open){display:none!important}

:root{--ux-row-alt:rgba(127,127,127,.08)}
@media(max-width:760px){
 .place-tabs,.grid-components{gap:8px}
 /* Keep the scroll viewport 8px above the fixed 64px navigation bar. */
 .shell{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}

/* SB-P25: цвет только у заголовка и просроченной брони. */
#content .sb-in-progress h2 { color: var(--label-accent); }
#content .sb-in-progress summary, #content .sb-in-progress h3 { color: var(--ink); }
#content .sb-in-progress summary { cursor: pointer; line-height: 1.6; }
#content .sb-in-progress .sb-progress-row, #content .sb-in-progress .sb-booking-overdue { display: flex; flex-wrap: wrap; align-items: baseline; gap:.5rem; padding:.5rem 0; }
#content .sb-in-progress .sb-booking-overdue, #content .sb-in-progress .sb-booking-overdue button { color: var(--bad); }
#content .sb-in-progress .sb-progress-row button { color: var(--ink); }

#content .sb-in-progress { margin-bottom:var(--sp-lg); overflow-wrap: anywhere; }
#content .sb-in-progress h3 { margin-top:var(--sp-md); }

/* SB-P23: подсказки по заполнению карточек, без сигналов тревоги. */
.hygiene { margin:var(--sp-md) 0 var(--sp-lg); padding:var(--sp-md); border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); overflow-wrap: anywhere; }
.hygiene > summary { color: var(--warn); font-weight: 600; }
.hygiene summary { cursor: pointer; min-height: 44px; padding:var(--sp-sm) 0; }
.hygiene > details > summary, .hygiene li, .hygiene button { color: var(--ink); }
.hygiene ul { padding-left:var(--sp-lg); margin:0; }
.hygiene li { margin:var(--sp-xs) 0; }
/* Workbook importer: local layout only, existing typography and navigation untouched. */
#place-import-review details{border:1px solid var(--line);border-radius:10px;padding:var(--sp-md);margin:var(--sp-md) 0}
#place-import-review summary{cursor:pointer;padding:var(--sp-sm) 0}
.place-import-mapping,.place-import-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md)}
#place-import-review label{display:block;margin:var(--sp-sm) 0}
#place-import-review select,#place-import-review input:not([type=checkbox]){display:block;max-width:100%;width:100%;box-sizing:border-box}
#place-import-review .place-import-correction{padding:var(--sp-md);margin:var(--sp-sm) 0}
@media(max-width:600px){.place-import-mapping,.place-import-edit{grid-template-columns:minmax(0,1fr)}#place-import-review details{padding:var(--sp-sm)}}

#detail-dialog:has(#place-import-review){width:min(1280px,calc(100vw - 24px));max-width:1280px}

#place-import-review input[type=checkbox]{width:20px;height:20px;min-height:20px;display:inline-block;vertical-align:middle;margin:0 var(--sp-sm) 0 0}
#place-import-review .place-import-summary{min-width:940px}
#place-import-review .place-import-summary td{padding:var(--sp-sm)}

#place-import-review .place-import-sample{min-width:500px}
/* KARTA: tenant overview, compact contracts and receipts. */
.tenant-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-sm)}
.tenant-card .tenant-summary-tile{padding:var(--sp-md) var(--sp-md);border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}
.tenant-summary-tile>span,.tenant-short-info>div>span,.tenant-summary-strip>span{display:block;color:var(--metric-label);font-size:13px;font-weight:600}
.tenant-card .tenant-summary-tile>strong{display:block;margin-top:var(--sp-xs);font-size:19px;line-height:1.3;color:var(--ink);overflow-wrap:normal}
.tenant-card .tenant-summary-tile>strong.negative-money{color:var(--bad)}
.tenant-card .tenant-summary-tile>strong.positive-money{color:var(--good)}
.tenant-summary-detail{margin-top:var(--sp-xs);font-size:13px;overflow-wrap:normal;color:var(--ink)}
.tenant-card .tenant-summary-detail button,.tenant-card .tenant-summary-tile button{padding:var(--sp-2xs) 0;min-height:32px;text-align:left;font-size:13px;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.tenant-card .tenant-summary-detail .actions{gap:var(--sp-md);margin:0}
.tenant-card a{color:var(--ink);text-underline-offset:3px}
.tenant-summary-strip{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm) var(--sp-lg);padding:var(--sp-sm) 0;border-bottom:1px solid var(--line)}
.tenant-short-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg);padding:var(--sp-md) 0}
.tenant-short-info p{margin:var(--sp-xs) 0;white-space:pre-line;overflow-wrap:normal}
.tenant-card h3{color:var(--metric-label);font-size:14px}
.tenant-contract-row{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(90px,.7fr) minmax(130px,1fr) auto;gap:var(--sp-md);align-items:center;padding:var(--sp-sm) 0;border-bottom:1px solid var(--line);font-size:14px}
.tenant-contract-row small{display:block;color:var(--metric-label);font-size:13px;font-weight:400}
.tenant-contract-row button{max-width:100%;white-space:normal}
.tenant-card .pill{color:var(--ink);background:var(--bg);border-color:var(--line)}
.tenant-money-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-sm)}
.tenant-payment-row{display:grid;grid-template-columns:100px 130px minmax(0,1fr);gap:var(--sp-md);padding:var(--sp-md) 0;border-bottom:1px solid var(--line);font-size:14px;overflow-wrap:normal}
.place-tabs [role=tab] small.is-empty{color:var(--metric-label);background:transparent}
.tenant-card .place-prompt{padding:var(--sp-sm) 0;background:transparent;border:0}
@media(max-width:767px){
 .tenant-summary-grid,.tenant-money-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tenant-card .tenant-summary-tile{padding:var(--sp-sm)}
 .tenant-card .tenant-summary-tile>strong{font-size:17px}
 .tenant-short-info{grid-template-columns:1fr}
 .tenant-contract-row{grid-template-columns:1fr auto;gap:var(--sp-xs) var(--sp-sm)}
 .tenant-contract-row>span{font-size:13px}
 .tenant-payment-row{grid-template-columns:90px minmax(0,1fr);gap:var(--sp-xs)}
 .tenant-payment-row>span{grid-column:1/-1}
}
.place-tabs [role=tab][aria-selected=true] small.is-empty{color:inherit}

/* STMERGE: imported workbook and tenant overview retain mobile interaction sizes. */
.pre-wrap{white-space:pre-wrap}
@media(max-width:760px){
 #place-import-review label:has(>input[type=checkbox]){display:flex;gap:var(--sp-sm);padding:var(--sp-md);min-width:44px;min-height:44px;box-sizing:border-box}
 #place-import-review button,#place-import-review select,#place-import-review input:not([type=checkbox]),#place-import-review a[href],#place-import-review summary,
 .tenant-card .tenant-summary-detail button,.tenant-card .tenant-summary-tile button{min-width:44px;min-height:44px}
 #place-import-review input:not([type=checkbox]),#place-import-review select{font-size:16px!important}
 #detail-content label.button-link[for=place-excel-file]{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
}

/* PLOT: density 9. Shared rhythm for working screens in both themes. */
body{font-size:14px;line-height:1.45;font-variant-numeric:tabular-nums}
small{font-size:13px;line-height:1.4}
h1,h2,h3,h4,button,input,select,textarea{line-height:1.4}
main{padding:var(--sp-lg) var(--sp-xl) var(--sp-2xl)}
.topbar{padding:var(--sp-sm) var(--sp-xl);gap:var(--sp-md)}
.page-head{gap:var(--sp-md);margin-bottom:var(--sp-md)}
.page-head h1{font-size:26px}
.page-head p{margin-top:var(--sp-xs)}
.card,.panel,.card-section,.eco-tile,.place-metric,.tenant-card .tenant-summary-tile{padding:var(--card-pad)}
.card-grid,.stat-row,.eco-grid,.place-metrics,.tenant-summary-grid,.tenant-money-summary{gap:var(--sp-md)}
.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.card-header,.object-card,.toolbar,.form-fields,.tabs,.actions,.row-actions,.tenant-short-info{gap:var(--sp-sm)}
.toolbar,.tabs{margin-bottom:var(--sp-md)}
.form-fields{gap:var(--sp-md)}
.section-title{gap:var(--sp-md);margin:var(--sp-lg) 0 var(--sp-sm)}
.card-section{margin:var(--sp-sm) 0}
.card .actions{margin-top:var(--sp-sm)}
.stat-row,.eco-grid{margin:var(--sp-md) 0}
.money-panel{margin-bottom:var(--sp-md)}
.money-item,.k2-object-overview .money-item{padding:var(--card-pad)}
.money-item strong{margin:var(--sp-xs) 0;line-height:1.4}
.eco-tile{gap:var(--sp-sm)}
.eco-tile>span{min-height:0;font-size:13px;line-height:1.4}
.eco-tile small{line-height:1.4}
.eco-area{padding:var(--sp-sm) var(--sp-lg);margin:var(--sp-sm) 0;gap:var(--sp-sm)}
.full-card .eco-rows{margin:var(--sp-sm) 0}
.full-card .eco-rows>.eco-row,.full-card-fields>div{min-height:var(--row-h);padding:var(--sp-xs) var(--sp-md);gap:var(--sp-sm);font-size:14px;line-height:1.4}
.eco-rows dt,.full-card-fields dt{font-size:13px;line-height:1.4}
.eco-rows dd,.full-card-fields dd{font-size:14px;line-height:1.4;text-align:right;font-variant-numeric:tabular-nums}
.mini-money{padding-top:var(--sp-sm);margin-top:var(--sp-sm);gap:var(--sp-xs)}
.mini-money>div{min-height:var(--row-h);gap:var(--sp-sm)}
.object-card-grid{grid-auto-rows:auto;align-items:stretch;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.object-card{gap:var(--sp-sm)}
.object-card .card-header{height:auto;min-height:0;gap:var(--sp-sm)}
.object-card .card-header h3,.object-card .card-header p{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;overflow-wrap:normal;height:auto;-webkit-line-clamp:unset;line-height:1.4}
.object-card .card-header h3{font-size:16px;margin:0 0 var(--sp-2xs)}
.object-card .card-header p{font-size:14px;margin:0}
.object-card .mini-money{padding-top:var(--sp-xs);margin:0;gap:0}
.object-card .mini-money>.card-metric{min-height:var(--row-h);padding:var(--sp-xs) 0;gap:var(--sp-sm)}
.object-card .card-metric>span{font-size:13px;line-height:1.4;max-width:none}
.object-card .card-metric strong{font-size:14px;line-height:1.4}
.object-card .card-payback strong{font-size:14px;white-space:normal}
.object-card .actions{margin-top:auto;gap:var(--sp-sm)}
.object-card .actions button{font-size:13px;padding:var(--sp-xs) var(--sp-sm)}
.card-no-data{color:var(--muted);padding:var(--sp-xs) 0;margin:0;font-size:14px}
.empty{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;text-align:left;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-lg)}
.empty .empty-message{margin:0;max-width:none;color:var(--muted);font-size:14px;line-height:1.4}
.full-card-empty{margin:var(--sp-sm) 0;color:var(--muted);font-size:14px;line-height:1.4}
.empty-actions{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}
.place-workspace{gap:var(--sp-md);margin-top:var(--sp-md)}
.place-tabs{gap:var(--sp-sm)}
.place-tabs button{padding:var(--sp-sm) var(--sp-md)}
.tenant-short-info{padding:var(--sp-sm) 0}
.tenant-summary-strip,.tenant-contract-row,.tenant-payment-row{padding:var(--sp-sm) 0;gap:var(--sp-sm)}
.tenant-summary-tile>strong,.tenant-summary-strip>strong,.tenant-payment-row>strong,.amount,.metric-money{font-variant-numeric:tabular-nums}
.tenant-payment-row>strong{text-align:right}
td,th{padding:var(--sp-sm) var(--sp-md);line-height:1.4}
.numeric,.mobile-card-table td.numeric{font-variant-numeric:tabular-nums;text-align:right}
@media(min-width:1024px){
 button,.button-link{font-size:14px;padding:var(--sp-xs) var(--sp-md);min-height:var(--row-h)}
 input,select{min-height:var(--row-h);padding:var(--sp-xs) var(--sp-sm)}
 .row-actions button{min-height:var(--row-h);padding:var(--sp-xs) var(--sp-sm);font-size:13px}
 .full-card .eco-rows dd button[data-action="object-summary"],.full-card .eco-rows dd button[data-action="tenant-card"],.full-card .eco-rows dd button[data-action="contract-card"]{min-height:0;padding:0}
 .object-card .actions button{min-height:var(--row-h)}
}
@media(max-width:760px){
 body{font-size:16px}
 main{padding:var(--sp-md) var(--sp-lg) var(--sp-2xl)}
 .topbar{padding:var(--sp-sm) var(--sp-lg);gap:var(--sp-sm)}
 .card,.panel,.card-section,.eco-tile,.place-metric,.tenant-card .tenant-summary-tile{padding:var(--card-pad)}
 .object-card-grid{grid-template-columns:minmax(0,1fr)}
 .card-grid,.stat-row,.eco-grid,.place-metrics{gap:var(--sp-sm)}
 .object-card .card-metric strong{font-size:15px}
 .object-card .card-payback strong{font-size:14px}
 .full-card .eco-rows>.eco-row{padding:var(--sp-sm);gap:var(--sp-sm)}
 .place-workspace{gap:var(--sp-sm)}
 button,.button-link,a[href],summary,[role=button],[role=tab],.object-card .actions button{min-width:44px;min-height:44px}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:44px}
 .tenant-card .tenant-summary-detail button,.tenant-card .tenant-summary-tile button{min-width:44px;min-height:44px}
}
/* Values retain the CVETA hue; darker light-theme tones meet AAA on tints. */
.page-head{flex-wrap:wrap}
.page-heading{flex:1 0 180px}
#page-actions{flex:1 1 600px;justify-content:flex-end}
.tenant-card .eco-group>h3{color:var(--label-accent)}
@media(min-width:1024px){
 /* Two columns keep every metric visible while halving the list card height. */
 .object-card .mini-money{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-md);row-gap:var(--sp-xs)}
 .object-card .mini-money>.card-metric{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:0;padding:0 0 var(--sp-2xs);min-height:var(--row-h)}
 .object-card .card-metric>span{font-size:13px;line-height:1.35}
 .object-card .card-metric strong{font-size:14px;line-height:1.35}
}
@media(max-width:760px){
 #page-actions{flex:1 1 100%;justify-content:flex-start}
 .page-heading{flex-basis:100%}
 .places-list .place-owners{min-width:44px;min-height:44px;display:inline-flex;align-items:center}
}

.k3-deposit .metric-money,td small .metric-money{color:var(--ink);font-variant-numeric:tabular-nums}

@media(min-width:1024px){
 .object-card .mini-money>.card-metric{height:var(--row-h);padding:0;min-width:0}
 .object-card .card-metric>span{white-space:nowrap}
}
@media(min-width:1024px){
 .full-card .eco-rows dd .k3-copy{min-height:0;padding:0;justify-content:flex-end;text-align:right}
}
/* Token equivalents of the legacy mobile UX-B spacing safeguards. */
@media(max-width:760px){
 .row-actions,.ar-table .row-actions,.top-actions,.actions,.doc-actions,.chips,.mobile-navigation,.sidebar nav,
 #mobile-navigation,.place-tabs,.grid-components{gap:var(--sp-sm)}
 label:has(>.row-check),.user-podo-check{padding:var(--sp-md);gap:var(--sp-sm)}
 .ar-months{gap:var(--sp-sm);row-gap:var(--sp-sm)}
 .place-owners{margin-block:var(--sp-xs)}
 summary{padding-block:var(--sp-sm);margin-block:var(--sp-xs)}
 .places-list .place-actions-cell:last-child .place-actions-popover:popover-open{gap:var(--sp-sm)}
 .places-list .place-actions-cell{padding-top:var(--sp-sm)}
}

.full-card .card-section{padding:var(--card-pad)}
.places-list .place-expected-cell .numeric{text-align:right}

/* SP-PLOT3 — one primary action, a shared native popover, unbroken words. */
h1,h2,h3,h4,h5,h6,#page-title,#detail-title,.card-title,.object-name,.place-name,.tenant-name,.account-name,.contract-name,.k3-tenant-name,.doc-description>strong,
.page-head h1,.page-heading h1,.object-card .card-header h3,#detail-dialog .dialog-head h2,#editor>.dialog-head h2,.doc-dialog .dialog-head h2{
 word-break:normal;overflow-wrap:normal;hyphens:none;white-space:normal
}
.object-card .card-header h3{overflow:visible;text-overflow:clip;height:auto}
.page-head{display:flex;flex-wrap:wrap;align-items:center}
.page-head .page-heading{flex:1 0 min-content;width:auto;min-width:min-content}
.page-head #page-title{flex-shrink:0;min-width:min-content}
.page-head #page-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;width:auto;gap:var(--sp-sm);margin-left:auto;align-items:center}
.header-menu-toggle{flex:none;min-width:44px}
.header-actions-popover:not(:popover-open){display:none!important}
.header-actions-popover:popover-open{display:flex;flex-direction:column;gap:var(--sp-2xs)}
.header-actions-popover button,.header-actions-popover a.button-link{display:flex;align-items:center;width:100%;margin:0;min-height:36px;padding:var(--sp-sm) var(--sp-md);border:0;border-radius:8px;text-align:left;font-size:14px;line-height:1.4;background:transparent;color:var(--ink);white-space:normal}
.header-actions-popover button:hover,.header-actions-popover a:hover{background:var(--soft);filter:none;text-decoration:none}
.header-actions-popover button:focus-visible,.header-actions-popover a:focus-visible,.header-menu-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
@media(max-width:760px){
 .header-actions-popover button,.header-actions-popover a.button-link{min-height:44px}
 .page-head #page-actions{margin-left:0}
}

/* Корзина: карточки переносят длинные названия и связи на узком экране. */
.trash-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-md);margin-bottom:var(--sp-lg)}
.trash-entry{min-width:0;overflow-wrap:normal;word-break:normal}
.trash-entry .actions{flex-wrap:wrap}
.trash-entry button{max-width:100%;white-space:normal}
.deletion-undo{z-index:21;display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;width:max-content}
.deletion-undo button{white-space:normal}
/* Заявки: акцент у названий, красный только у задержки ответа. */
.lead-card {border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.lead-card h2 {color:var(--label-accent);margin:0 0 12px}
.lead-card p {color:var(--ink);overflow-wrap:break-word}
.lead-card p.muted {color:var(--muted)}
.lead-card .lead-wait-bad {color:var(--bad)}
.leads-page .row-actions {flex-wrap:wrap}
.leads-page .filters {display:flex;flex-wrap:wrap;gap:12px}
.leads-page a {color:var(--accent)}
/* FIN-09: неполная оценка портфеля. */
.fin-unvalued { margin:var(--sp-md, 12px) 0 0; color:var(--ink); }

/* SP-KART — clear financial hierarchy, scoped to object list cards. */
.object-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.object-card-grid>.object-card{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}
.object-card{--kart-pad:20px;padding:var(--kart-pad);gap:var(--sp-sm)}
.object-card .card-header{align-items:center;gap:var(--sp-sm)}
.object-card .card-header>div{display:flex;align-items:baseline;gap:var(--sp-sm);overflow:hidden}
.object-card .card-header h3,.object-card .card-header p{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;height:auto;margin:0;line-height:24px;min-width:0;overflow-wrap:normal}
.object-card .card-header h3{flex:0 1 auto;max-width:75%;font-size:16px;font-weight:650;color:var(--label-accent)}
.object-card .card-header p{flex:1 1 0;font-size:14px;color:var(--muted)}
.object-card .object-kind{flex:none;display:flex;align-items:center;justify-content:center;padding:0;width:24px;height:24px;border-radius:6px;background:var(--stripe);color:var(--muted)}
.object-card .object-kind svg{width:18px;height:18px}
.object-card .card-occupancy{align-self:flex-start;padding:0 var(--sp-sm);border-radius:6px;background:var(--stripe);color:var(--muted);font-size:13px;line-height:18px;font-weight:400}
.object-card .card-result{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-sm);min-width:0;margin:0}
.object-card .card-result-main{display:flex;flex:0 1 auto;max-width:100%;flex-direction:column;min-width:0;gap:0}
.object-card .card-result-main>span{font-size:14px;line-height:18px;color:var(--muted)}
.object-card .card-result-value{font-size:26px;line-height:30px;font-weight:650;letter-spacing:-.6px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:break-word}
.object-card .card-result-value.positive-money{color:var(--good)}
.object-card .card-result-value.danger{color:var(--bad)}
.object-card .card-payback-chip{flex:0 0 auto;max-width:100%;padding:var(--sp-xs) var(--sp-sm);border:1px solid var(--line);border-radius:8px;background:var(--stripe);color:var(--muted);font-size:13px;line-height:18px;font-weight:400;overflow-wrap:normal}
.object-card .card-money-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-lg);row-gap:10px;padding:0;margin:0;border:0;position:relative}
.object-card .card-money-grid>.card-metric{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0;min-height:36px;height:auto;gap:0;padding:0;border:0;background:none}
.object-card .card-money-grid::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line)}
.object-card .card-money-grid .card-metric>span{font-size:13px;line-height:16px;font-weight:400;letter-spacing:0;white-space:normal;color:var(--muted)}
.object-card .card-money-grid .card-metric strong{font-size:16px;line-height:20px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.object-card .actions{margin-top:auto;padding-top:0;gap:var(--sp-sm)}
.object-card .actions button{min-height:44px;font-size:14px;line-height:20px;padding:var(--sp-sm) var(--sp-md);background:var(--stripe);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-weight:500}
.object-card .actions button:first-child{width:100%;flex:1 1 auto}
.object-card .actions button.quiet{background:transparent;width:auto;flex:0 0 auto}
.object-card .actions button:hover{background:var(--row-hover);filter:none}
.object-card .card-no-data{font-size:14px;line-height:22px;white-space:nowrap}
.object-card .nav-object-details .card-result{margin-top:var(--sp-md)}
.object-card .nav-object-details .card-money-grid{margin-top:var(--sp-md)}
@media(max-width:760px){
 .object-card-grid{grid-template-columns:minmax(0,1fr)}
 .object-card{--kart-pad:var(--sp-xl);gap:var(--sp-md)}
 .object-card:has(>.card-result){min-height:390px}
 .object-card .card-result{flex-wrap:wrap;row-gap:var(--sp-sm);margin:var(--sp-2xs) 0}
 .object-card .card-result-value{font-size:30px;line-height:38px}
 .object-card .card-payback-chip{flex-basis:auto;max-width:100%}
 .object-card .card-money-grid{row-gap:var(--sp-md)}
 .object-card .card-money-grid>.card-metric{min-height:48px}
 .object-card .card-money-grid>.card-metric:nth-child(n+3){padding-top:var(--sp-md)}
 .object-card .card-money-grid .card-metric strong{font-size:18px;line-height:24px}
}

/* SP-PLOT5 — natural hero wrapping and one mobile account control. */
.list-cutoff-date{font-size:13px;margin:0 0 var(--sp-md)}
.object-card .card-cutoff{font-size:13px;line-height:20px}
.account-menu{display:flex;gap:var(--sp-sm);flex-wrap:wrap}
#account-menu-button{display:none}
@media(max-width:768px){
 .topbar{flex-wrap:nowrap;position:relative}
 .topbar>div:first-child{min-width:0;flex:1}
 .topbar #today{display:none}
 .topbar #user-label{overflow-wrap:break-word}
 .top-actions{flex:none;position:relative}
 #account-menu-button{display:inline-flex;align-items:center;gap:var(--sp-sm);min-height:44px}
 .top-actions:not(.is-open) .account-menu{display:none}
 .account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--sp-xs);width:224px;max-width:calc(100vw - 32px);padding:var(--sp-sm);border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
 .account-menu button{width:100%;text-align:left;min-height:44px}
}

/* DESIGN-V2 · «Тихая книга». Semantic contract; legacy hooks remain. */
:root {
 --font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
 --fs-caption:13px;--lh-caption:18px;--fs-body:14px;--lh-body:20px;--fs-strong:15px;--lh-strong:22px;
 --fs-h3:18px;--lh-h3:24px;--fs-h2:22px;--lh-h2:28px;--fs-h1:28px;--lh-h1:34px;
 --fs-figure:24px;--lh-figure:30px;--fs-hero:34px;--lh-hero:40px;--num:tabular-nums lining-nums;
 --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;
 --sp-2xs:2px;--sp-xs:var(--sp-1);--sp-sm:var(--sp-2);--sp-md:var(--sp-3);--sp-lg:var(--sp-4);--sp-xl:var(--sp-6);--sp-2xl:var(--sp-8);
 --r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;
 --sh-1:none;--sh-pop:0 12px 32px rgba(0,0,0,.45);--sh-focus:0 0 0 2px var(--bg),0 0 0 4px var(--accent);--motion:150ms ease-out;
 --row-pair:32px;--row:40px;--row-2:56px;--row-h:var(--row-pair);--ctl-sm:32px;--ctl-md:40px;--ctl-touch:44px;--ctl-primary-m:48px;--appbar:64px;--nav-w:232px;--content-max:1440px;
 --label-accent:var(--title);--teal:var(--accent);--teal-bg:var(--accent-soft);--slate-bg:var(--badge-bg);--soft:var(--surface-2);
 --blue:var(--accent);--violet:var(--accent);--indigo:var(--accent);--warn:var(--muted);--slate:var(--muted);
 --good-bg:var(--surface-2);--bad-bg:var(--surface-2);--warn-bg:var(--surface-2);--blue-bg:var(--surface-2);--violet-bg:var(--surface-2);--indigo-bg:var(--surface-2);
 --primary-start:var(--accent-solid);--primary-end:var(--accent-solid);--negative-end:var(--bad-solid);
 --glass:var(--surface);--stripe:var(--surface);--row-hover:var(--surface-2);--focus:var(--accent);--shadow:var(--sh-1);--shadow-lift:var(--sh-1);
}
:root[data-theme="dark"],:root:not([data-theme]) {
 color-scheme:dark;--bg:#0d1c24;--surface:#152c36;--surface-2:#1b3742;--nav:#0a161c;--ink:#e6f4f4;--muted:#b2c7ce;--subtle:#8ea6af;--title:#f5c451;
 --good:#6ee7b7;--bad:#fdb4b4;--accent:#5eead4;--accent-solid:#2dd4bf;--on-accent:#06201c;--accent-soft:#173f40;--line:#2c4652;--line-strong:#62818d;--badge-bg:#2a4350;--bad-solid:#b91c1c;
 --dot-good:#34d399;--dot-bad:#f87171;--dot-info:#5eead4;--dot-neutral:#94a3b8;--scrim:rgba(4,10,14,.72);
}
:root[data-theme="light"] {
 color-scheme:light;--bg:#f4f7f7;--surface:#fff;--surface-2:#eef3f4;--nav:#fff;--ink:#0f172a;--muted:#475569;--subtle:#5b6b7d;--title:#805300;
 --good:#05553f;--bad:#991b1b;--accent:#0f766e;--accent-solid:#0f766e;--on-accent:#fff;--accent-soft:#e0f2ef;--line:#dbe4e6;--line-strong:#7a8f95;--badge-bg:#e2e8f0;--bad-solid:#b91c1c;
 --dot-good:#059669;--dot-bad:#dc2626;--dot-info:#0f766e;--dot-neutral:#64748b;--scrim:rgba(15,23,42,.45);
 --sh-1:0 1px 2px rgba(15,23,42,.06);--sh-pop:0 12px 32px rgba(15,23,42,.14);
}
body{font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);font-variant-numeric:var(--num)}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
.money,.num,td.money,th.money,time,a[href^="tel:"]{display:inline-block;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:var(--num)}
td.money,th.money,.pair .value{text-align:right}.money--pos{color:var(--good)}.money--neg{color:var(--bad)}.subtle{color:var(--subtle)}
th{white-space:nowrap;word-break:normal;hyphens:manual}.wrap-any{overflow-wrap:anywhere}
[class*="sec-"]{--section:var(--accent);--section-bg:var(--surface);--nav-section:var(--muted)}
.kpi[class*="kpi-"],.money-item[class*="kpi-"],.fin-cash-now.kpi,.eco-tile.kpi{background:var(--surface);border:1px solid var(--line);border-left:1px solid var(--line);border-top:1px solid var(--line);box-shadow:var(--sh-1);color:var(--ink)}
.kpi::before,.kpi::after,#page-title::before,.section-title::before,.card-section::before{display:none}
.shell{grid-template-columns:var(--nav-w) minmax(0,1fr)}.sidebar{width:var(--nav-w);background:var(--nav);border-right:1px solid var(--line);color:var(--ink)}
.sidebar .brand{color:var(--ink)}.sidebar .brand small{color:var(--muted)}.sidebar-foot{display:none}
.sidebar .nav-link{color:var(--muted);min-height:var(--ctl-md)}.sidebar .nav-link .nav-icon{color:var(--muted)}
.sidebar .nav-link.active{background:var(--accent-soft);color:var(--ink)}.sidebar .nav-link.active .nav-icon{color:var(--accent)}
.topbar{height:var(--appbar);min-height:var(--appbar);background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;padding:0 var(--sp-6)}
.topbar #today,.topbar #user-label{font-size:var(--fs-caption);font-weight:400;color:var(--muted)}
main{padding:var(--sp-4) var(--sp-6) var(--sp-8);max-width:var(--content-max);margin-inline:auto;width:100%}
.page-breadcrumb{display:flex;align-items:center;min-height:24px;margin:0 0 var(--sp-2);color:var(--muted);gap:var(--sp-1)}
.page-head{margin-bottom:var(--sp-4);gap:var(--sp-3)}.page-head h1{font-size:var(--fs-h1);line-height:var(--lh-h1);border:0;padding:0;color:var(--title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}
.section-tabs{gap:0;padding:0;margin:0 0 var(--sp-4);border-bottom:1px solid var(--line)}
.section-tabs .section-tab,.section-tabs .section-tab.active{min-height:var(--ctl-md);padding:0 var(--sp-3);border:0;border-radius:0;background:transparent;color:var(--muted);box-shadow:none;font-size:var(--fs-body)}
.section-tabs .section-tab.active{color:var(--ink);box-shadow:inset 0 -2px var(--accent)}
button,.button-link{min-height:var(--ctl-md);border-radius:var(--r-md);font-size:var(--fs-body);border-color:var(--line-strong);transition:background var(--motion),border-color var(--motion);transform:none}
button:hover,.card:hover{transform:none;filter:none}
button.primary,[data-theme=dark] button.primary,.button-link.primary{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent);box-shadow:none}
button.quiet{color:var(--accent);background:transparent}
:focus-visible{outline:0;box-shadow:var(--sh-focus)}
.badge,[data-theme] .badge{background:var(--badge-bg);color:var(--ink);font-size:var(--fs-caption);line-height:20px;height:20px;min-width:20px;padding:0 6px;border-radius:var(--r-pill)}
.pill,[data-theme] .pill,.status-chip{color:var(--ink);background:var(--surface-2);border:0;min-height:24px;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-caption);line-height:20px}
.pill::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dot-neutral);margin-right:6px;vertical-align:middle}
.pill.good::before,.pill.st-free::before{background:var(--dot-good)}.pill.bad::before,.pill.st-debt::before{background:var(--dot-bad)}.pill.st-rented::before,.pill.st-booked::before{background:var(--dot-info)}.pill.type-chip::before{display:none}
.empty{min-height:88px;text-align:left;border:0;padding:var(--sp-4) 0;background:transparent}.empty-message{color:var(--ink);font-size:var(--fs-body)}.empty-description{font-size:var(--fs-caption);color:var(--muted);margin:var(--sp-1) 0 var(--sp-3)}
dialog,.detail-dialog{border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--sh-pop);border:1px solid var(--line)}
dialog::backdrop{background:var(--scrim);backdrop-filter:none}.dialog-head h2{color:var(--title);font-size:var(--fs-h2);line-height:var(--lh-h2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-head{background:var(--surface)}
/* ObjectCard */
.object-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--sp-4);align-items:stretch;grid-auto-rows:1fr}
.object-card-grid>.object-card{border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);min-height:0;cursor:pointer;box-shadow:var(--sh-1)}
.object-card:hover{border-color:var(--line-strong)}.object-card .card-header{align-items:flex-start;gap:var(--sp-2)}
.object-card .card-header>div{display:block;flex:1;min-width:0;overflow:hidden}
.object-card .card-header h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;max-width:100%;font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:600;color:var(--title);margin:0}
.object-card .card-header p{display:block;font-size:var(--fs-caption);line-height:var(--lh-caption);margin-top:var(--sp-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.object-card .card-meta{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-caption)}
.object-card .card-occupancy,.object-card .card-payback-chip{background:transparent;border:0;border-radius:0;padding:0;color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-caption)}
.object-card .card-result{display:block;margin:0}.object-card .card-result-main{display:block;width:100%;max-width:100%}
.object-card .card-result-main>span{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}
.object-card .card-result-value{display:block;font-size:var(--fs-figure);line-height:var(--lh-figure);font-weight:600;letter-spacing:0;white-space:nowrap;overflow-wrap:normal;text-align:right}
.object-card .card-money-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-4);padding:0;margin:0}
.object-card .card-money-grid::before{display:none}
.object-card .card-money-grid>.card-metric{min-height:0;padding:0;gap:var(--sp-1);justify-content:flex-start}
.object-card .card-money-grid .card-metric>span{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}
.object-card .card-money-grid .card-metric strong{font-size:var(--fs-strong);line-height:var(--lh-strong);font-weight:600;color:var(--ink);text-align:right}
.object-card .card-money-grid .money{max-width:100%}.object-card .card-money-grid .money.danger{color:var(--bad)}.object-card .card-money-grid .money.positive-money{color:var(--good)}
.valuation-link{display:block;margin-left:auto;min-height:32px;font-size:var(--fs-caption);padding:0;border:0}
.list-cutoff-date{font-size:var(--fs-caption);line-height:var(--lh-caption);margin-bottom:var(--sp-3)}
/* Metric and the three wave-one screens */
.quiet-ledger{font-size:var(--fs-body)}.quiet-ledger .kpi,.quiet-ledger .card-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);min-height:0}
.quiet-ledger .kpi>span,.quiet-ledger .eco-tile>span,.quiet-ledger .kpi small{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-caption)}
.quiet-ledger .kpi strong{color:var(--ink);font-size:var(--fs-figure);line-height:var(--lh-figure);letter-spacing:0}
.quiet-ledger .kpi .danger,.quiet-ledger .kpi .money--neg{color:var(--bad)}.quiet-ledger .kpi .positive-money,.quiet-ledger .kpi .money--pos{color:var(--good)}
.quiet-ledger .eco-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-4);margin:0 0 var(--sp-4)}
.quiet-ledger .eco-tile{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1)}
.quiet-ledger .eco-tile strong{text-align:right;white-space:nowrap}.quiet-ledger .eco-tile:first-child{grid-column:1/-1}.quiet-ledger .eco-tile:first-child strong{font-size:var(--fs-hero);line-height:var(--lh-hero)}
.quiet-ledger .fin-cash-now{max-width:none;width:100%;padding:var(--sp-5);margin:0 0 var(--sp-4)}.quiet-ledger .fin-cash-now>strong{font-size:var(--fs-hero);line-height:var(--lh-hero);color:var(--ink)}
.quiet-ledger .dashboard-kpis{gap:var(--sp-4);margin:0 0 var(--sp-4)}
.quiet-ledger #sb-today{max-width:none;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink)}
.quiet-ledger #sb-today .sb-brief-line{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);background:transparent}
.quiet-ledger #sb-today .sb-line-label,.quiet-ledger #sb-today .sb-line-compare{color:var(--muted)}
.quiet-ledger .k2-object-meta{margin:var(--sp-3) 0}.quiet-ledger .eco-area{background:transparent;border:0;padding:0;margin:var(--sp-2) 0 var(--sp-4)}
.quiet-ledger .card-section::before,.quiet-ledger .section-title::before{display:none}.quiet-ledger .card-section{border-top:1px solid var(--line)}
.quiet-ledger table{font-size:var(--fs-body)}.quiet-ledger th{font-size:var(--fs-caption);color:var(--muted);background:var(--surface-2)}
.quiet-ledger td{background:var(--surface);color:var(--ink)}.quiet-ledger .money{color:inherit}
@media(min-width:1800px){:root{--content-max:1680px}}
@media(min-width:761px) and (max-width:1100px){:root{--nav-w:205px}}
@media(max-width:760px){
 :root{--fs-h1:22px;--lh-h1:28px;--fs-figure:20px;--lh-figure:26px;--fs-hero:28px;--lh-hero:34px;--appbar:56px}
 input,select,textarea{font-size:16px}.shell{display:block}.sidebar{height:0;min-height:0;padding:0;border:0;overflow:hidden}.topbar{height:56px;min-height:56px;padding:0 var(--sp-4)}
 main{padding:var(--sp-2) var(--sp-4) var(--sp-8)}.page-breadcrumb{min-height:24px;margin-bottom:var(--sp-1)}
 .page-breadcrumb:has(a){min-height:44px}.page-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
 .page-head{margin-bottom:var(--sp-3)}.page-head h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}
 .section-tabs{margin-bottom:var(--sp-3)}.section-tabs .section-tab{min-height:44px}
 button,.button-link,a[role=button],summary{min-height:44px}button{min-width:44px}.page-heading .nav-help>summary{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
 .object-card-grid{grid-template-columns:minmax(0,1fr)}.object-card-grid>.object-card{padding:var(--sp-4);gap:var(--sp-3)}
 .object-card:has(>.card-result){min-height:0}.object-card .card-result-value{font-size:var(--fs-figure);line-height:var(--lh-figure)}
 .object-card .card-money-grid>.card-metric{padding:0;min-height:0}.object-card .card-money-grid .card-metric strong{font-size:var(--fs-strong);line-height:var(--lh-strong)}
 .valuation-link{min-height:44px}.quiet-ledger .eco-grid,.quiet-ledger .dashboard-kpis{grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}
 .quiet-ledger .eco-tile,.quiet-ledger .dashboard-kpis>.kpi{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-1) var(--sp-2);padding:var(--sp-3) var(--sp-4)}
 .quiet-ledger .eco-tile small,.quiet-ledger .eco-tile>button,.quiet-ledger .dashboard-kpis small{grid-column:1/-1}
 .quiet-ledger .eco-tile>span{white-space:normal}.quiet-ledger .eco-tile>strong{font-size:var(--fs-figure)}
 .quiet-ledger .fin-cash-now{padding:var(--sp-4)}.quiet-ledger .kpi strong{font-size:var(--fs-figure)}
 .quiet-ledger .k2-object-meta{gap:var(--sp-2)}.quiet-ledger .eco-area button{min-width:44px}
 dialog,.detail-dialog{width:100%;height:100dvh;max-width:100%;max-height:100dvh;inset:0;margin:0;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--sp-4)}
 .dialog-head{position:sticky;top:-16px;z-index:5;min-height:56px;padding:var(--sp-2) 0}.dialog-head button{min-width:44px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){:root{--motion:0ms}*,*::before,*::after{animation:none;transition:none;scroll-behavior:auto}}
.badge.badge-dot,[data-theme] .badge.badge-dot{width:6px;height:6px;min-width:6px;padding:0;background:var(--dot-neutral);vertical-align:middle}
.theme-shortcut{width:40px;height:40px;padding:0}
@media(min-width:769px){
 .top-actions{position:relative;align-items:center;flex-wrap:nowrap}
 #account-menu-button{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:40px}
 .top-actions:not(.is-open) .account-menu{display:none}
 .account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;display:flex;flex-direction:column;gap:var(--sp-1);width:240px;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-pop)}
 .account-menu button{width:100%;text-align:left}
}
@media(max-width:768px){.theme-shortcut{display:none}}
/* One header row, including long object names; names retain their full title. */
.page-head{flex-wrap:nowrap;border:0;background:none;padding-left:0}
.page-head .page-heading{flex:1 1 0;min-width:0;width:auto;border:0;padding-left:0}
.page-head #page-title{flex:1 1 auto;min-width:0;max-width:100%;border:0;background:none;box-shadow:none;padding-left:0}
.page-head #page-actions{flex:0 0 auto;flex-wrap:nowrap;margin-left:0;width:auto;display:flex}
.page-head:has(.k2-object-head-actions) #page-actions{display:flex;flex:0 0 auto;grid-template-columns:none;width:auto}
.page-head::before,.page-heading::before{display:none}
.object-card .card-money-grid strong>.money{font-size:inherit;line-height:inherit}
.quiet-ledger td.name,.quiet-ledger td.name strong{color:var(--title)}
.quiet-ledger .places-table th:last-child{min-width:80px}
@media(max-width:760px){
 .page-breadcrumb:empty{display:none}
 .page-head .nav-help{display:none}
 .page-head #page-actions{gap:var(--sp-2)}
 .page-head:has(.k2-object-head-actions) #page-actions>button{width:auto;min-height:44px;padding:var(--sp-2) var(--sp-3)}
 .quiet-ledger input.row-check{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px}
}
.quiet-ledger .places-list th:last-child{width:80px;min-width:80px}
.appbar-brand{display:none}.appbar-meta{display:flex;align-items:center;gap:var(--sp-3)}
.account-avatar{display:none}.account-identity{padding:var(--sp-2);font-size:var(--fs-caption);line-height:var(--lh-caption)}
@media(max-width:768px){
 .topbar .appbar-meta{display:none}.appbar-brand{display:flex;align-items:center;gap:var(--sp-2);color:var(--ink);font-size:var(--fs-strong);font-weight:600}
 .appbar-brand img{flex:none}.account-name-label,.account-chevron{display:none}.account-avatar{display:inline}
 #account-menu-button{width:44px;height:44px;justify-content:center;padding:0;border-radius:var(--r-pill)}
}
/* Shared Metric; dashboard uses the API's existing brief lines once each. */
.metric,.quiet-ledger .dashboard-lead-metrics .brief-metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);color:var(--ink);display:flex;flex-direction:column;gap:var(--sp-1);min-width:0;text-decoration:none}
.metric-label{font-size:var(--fs-caption);color:var(--muted)}.metric-value{font-size:var(--fs-figure);line-height:var(--lh-figure);text-align:right}.metric-note{font-size:var(--fs-caption);color:var(--muted)}
.quiet-ledger .dashboard-lead-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--sp-4);margin-bottom:var(--sp-6)}
.quiet-ledger .dashboard-lead-metrics .sb-line-label,.quiet-ledger .dashboard-lead-metrics .sb-line-meta,.quiet-ledger .dashboard-lead-metrics .sb-line-compare{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}
.quiet-ledger .dashboard-lead-metrics .sb-line-value{font-size:var(--fs-figure);line-height:var(--lh-figure);text-align:right;color:var(--ink)}
.quiet-ledger .dashboard-lead-metrics .sb-line-value.danger{color:var(--bad)}
.quiet-ledger #sb-today .sb-brief-lines{grid-template-columns:1fr}.quiet-ledger #sb-today .sb-brief-line{grid-template-columns:minmax(0,1fr) minmax(0,2fr);padding:var(--sp-3) 0}.quiet-ledger #sb-today .sb-line-compare{grid-column:2}
.pill.st-sold-due::before{background:var(--dot-bad)}
@media(max-width:760px){
 .quiet-ledger .dashboard-lead-metrics{grid-template-columns:1fr;grid-auto-rows:auto;gap:var(--sp-2);margin-bottom:var(--sp-4)}
 .quiet-ledger .dashboard-lead-metrics .brief-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:var(--sp-3) var(--sp-4)}
 .quiet-ledger .dashboard-lead-metrics .sb-line-meta,.quiet-ledger .dashboard-lead-metrics .sb-line-compare{grid-column:1/-1}
 .quiet-ledger #sb-today .sb-brief-line{grid-template-columns:1fr}.quiet-ledger #sb-today .sb-line-compare{grid-column:1}
}
.quiet-ledger .places-list .place-action-col{width:80px}
.quiet-ledger .places-list .place-data-col{width:calc((100% - 132px)/6)}
.quiet-ledger .places-list table:has(th:nth-child(9)) .place-data-col{width:calc((100% - 132px)/7)}
.card-section{border-left:1px solid var(--line)}
.sidebar .nav-link.active,[data-theme] .sidebar .nav-link.active{border-color:transparent;box-shadow:none}
[data-theme] .sidebar .nav-link.active .nav-icon,[data-theme] .sidebar .nav-link.active>.ico{color:var(--accent)}
.sidebar{min-width:var(--nav-w);max-width:var(--nav-w)}
.object-card .card-header{min-height:48px}
.object-card .card-money-grid>.card-metric{justify-content:space-between}
.quiet-ledger .fin-cash-now>strong,.quiet-ledger .fin-cash-now>strong>.money{font-size:var(--fs-hero);line-height:var(--lh-hero)}
.quiet-ledger .fin-cash-now>strong{display:block;text-align:right}
@media(max-width:760px){.sidebar{min-width:0;max-width:none;width:0}}
@media(min-width:761px){dialog{width:min(720px,calc(100vw - 48px))}.detail-dialog{width:min(960px,calc(100vw - 48px))}}
.page-head #page-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}
.sidebar .nav-link{font-size:var(--fs-body);gap:var(--sp-2)}
#navigation .nav-link{min-height:var(--ctl-md);padding:var(--sp-2) var(--sp-3)}
.sidebar .nav-icon{width:20px;flex:0 0 20px}.sidebar .badge{flex:none}
.object-card .card-meta button.quiet{display:inline-flex;align-items:center;border:0;padding:0 var(--sp-2)}
@supports(grid-template-rows:subgrid){
 .object-card-grid:has(.object-card>.card-result){grid-auto-rows:auto}
 .object-card-grid:has(.object-card>.card-result)>.object-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-items:start}
}
input,select,textarea{border-color:var(--line-strong);background:var(--surface-2)}
@supports(grid-template-rows:subgrid){.object-card-grid:has(.object-card>.card-result):has(.object-card>.err-compact)>.object-card{grid-row:span 5}}
.quiet-ledger .sb-contract-link{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:40px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-size:var(--fs-body)}
.quiet-ledger .sb-contract-link:last-child{border-bottom:0}.quiet-ledger .sb-contract-link:hover{color:var(--accent)}
@media(max-width:760px){.quiet-ledger .sb-contract-link{min-height:44px}}
:root{--accent-hover:#14b8a6}:root[data-theme=light]{--accent-hover:#115e59}
button.primary:hover,[data-theme] button.primary:hover,.button-link.primary:hover,
.primary:active:not(:disabled),[data-theme] .primary:active:not(:disabled){background:var(--accent-hover);color:var(--on-accent);box-shadow:none;filter:none}
.quiet-ledger button .money{color:var(--ink)}
@media(max-width:760px){.dialog-foot .primary,.empty-actions .primary{min-height:var(--ctl-primary-m);width:100%}}
#navigation .nav-link{padding-inline:var(--sp-2)}

/* DESIGN1B: intrinsic money width is bounded by its actual cell. */
.quiet-ledger .money{max-width:100%}
.quiet-ledger .fin-cash-now{display:flex;flex-direction:column;gap:var(--sp-1);height:auto}
.quiet-ledger .fin-cash-now details{margin-top:var(--sp-2)}
.quiet-ledger .fin-cash-now summary{display:list-item;list-style:disclosure-closed inside;min-height:44px;align-content:center;cursor:pointer}
.quiet-ledger .fin-cash-now details[open]>summary{list-style-type:disclosure-open}
@media(max-width:760px){
 .object-card-grid:has(.object-card>.card-result){grid-auto-rows:auto}
 .object-card-grid:has(.object-card>.card-result)>.object-card{display:flex;grid-template-rows:none;grid-row:auto}
 .object-card .card-header{min-height:0}
}

/* FIN-T: строки обязательств и неполной оценки. */
.fin-foreign-money { margin-top:var(--sp-md, 12px); color:var(--ink); }
.fin-foreign-money p { margin:var(--sp-md, 12px) 0 0; color:var(--ink); }
.fin-foreign-money .fin-unconfirmed-deposits { color:var(--muted); }

/* DESIGN2: shared card Tabs and optional showDetail header slots. */
.place-tabs button{min-width:max-content;align-items:center;min-height:var(--ctl-md);padding:0 var(--sp-3);border-radius:0}
.place-tabs .badge{flex:none;width:auto;max-width:none;overflow:visible;white-space:nowrap}
.place-tabs button[aria-selected=true]{box-shadow:inset 2px 0 var(--accent)}
#detail-dialog.has-detail-slots>.dialog-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:nowrap}
.detail-header-heading{flex:1;min-width:0}
.detail-header-title-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.detail-header-title-row h2{min-width:0;max-width:100%;margin:0}
.detail-header-status{flex:none;max-width:100%}
.detail-header-subtitle{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);margin-top:var(--sp-1)}
.detail-header-actions{display:flex;align-items:center;gap:var(--sp-2);flex:none;flex-wrap:nowrap}
.detail-header-actions button,.detail-header-actions .button-link,.detail-header-actions summary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px;white-space:nowrap;margin:0}
@media(max-width:760px){
 .place-tabs button{min-height:var(--ctl-touch)}
 .place-tabs{mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);padding-inline:24px;scroll-padding-inline:24px}
 .place-tabs button[aria-selected=true]{box-shadow:inset 0 -2px var(--accent);border-radius:0}
 .detail-header-actions button,.detail-header-actions .button-link,.detail-header-actions summary{min-height:44px;min-width:44px}
 #detail-dialog.has-detail-slots:has(#detail-back:not([hidden]))>.dialog-head{flex-wrap:wrap}
 #detail-dialog.has-detail-slots>.dialog-head>#detail-back:not([hidden]){flex-basis:100%}
}

/* DESIGN3 — opt-in shared tables. Legacy table()/writeActions() keep their layout. */
.pill.st-active::before,.pill.good::before{background:var(--dot-good)}
.pill.neutral::before{background:var(--dot-neutral)}
.pill.info::before{background:var(--dot-info)}
.pill.status-chip{font-weight:500;gap:6px}
.pill.status-chip::before{margin-right:0}
.data-table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto;max-width:100%}
.data-table-wrap.data-table-overflow{mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}
.data-table{width:100%;font-size:var(--fs-body);table-layout:auto}
.data-table th{height:36px;padding:8px 12px;font-size:var(--fs-caption);font-weight:500;background:var(--surface-2)}
.data-table td{height:var(--row);padding:8px 12px;vertical-align:middle;color:var(--ink)}
.data-table th:first-child,.data-table td:first-child{position:sticky;left:0;background:var(--surface);z-index:1}
.data-table th:first-child{background:var(--surface-2);z-index:2}
.data-table td.name,.data-table td.name a,.data-table td.name button{font-size:15px;font-weight:600;color:var(--title);text-transform:none}
.data-table td.name a,.data-table td.name button{border:0;background:transparent;box-shadow:none;padding:0}
.data-table td.name a:hover,.data-table td.name button:hover{text-decoration:underline}
.data-table th.money,.data-table td.money{display:table-cell;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.data-table td.money{color:var(--ink)}
.data-table td.money>.money{display:block;line-height:normal;min-width:0;max-width:100%;font-size:inherit}
.data-table td.money>.money[data-money-exact^="+"]{color:var(--good)}
.data-table td.money>.money[data-money-exact^="−"],.data-table td.money>.money[data-money-exact^="-"]{color:var(--bad)}
.data-table .data-table-null{color:var(--subtle)}
.data-table tr[data-table-open]{cursor:pointer}
.data-table .data-table-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:var(--sh-focus)}
.data-table tr:hover>td{background:var(--surface-2)}
.data-table .data-table-link{display:block;max-width:100%;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.data-table th.data-table-actions{width:150px}
.shared-row-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0}
.shared-row-actions .row-action-primary,.shared-row-actions .row-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ctl-sm);height:var(--ctl-sm);padding:0 10px;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);white-space:nowrap}
.shared-row-actions .row-menu-toggle{width:32px;min-width:32px;padding:0}
.row-actions-menu{position:fixed;inset:auto;margin:0;width:240px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:6px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);box-shadow:var(--sh-pop)}
.row-actions-menu:popover-open{display:flex;flex-direction:column;gap:2px}
.row-actions-menu [role=menuitem]{display:flex;align-items:center;flex-shrink:0;min-height:36px;padding:6px 10px;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink);text-align:left;font-size:14px;font-weight:500}
.row-actions-menu [role=menuitem]:hover{background:var(--surface-2);text-decoration:none}
.row-actions-menu [role=menuitem].danger{color:var(--bad)}
.row-actions-menu hr{width:100%;border:0;border-top:1px solid var(--line);margin:4px 0;flex-shrink:0}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-4)}
.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);background:var(--surface);font-size:14px;font-weight:500}
.filter-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}
.filter-chip .badge{display:inline-block;flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:760px){
 .data-table-wrap.data-table-overflow{mask-image:none}
 .data-table-wrap{border:0;overflow:visible;background:transparent}
 .data-table,.data-table tbody{display:block;width:100%}
 .data-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
 .data-table tbody tr{display:grid;position:relative;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;min-height:88px;padding:12px 56px 12px 12px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
 .data-table tbody td{display:block;position:static!important;z-index:auto!important;height:auto;min-width:0;padding:0;border:0;background:transparent!important;font-size:13px;color:var(--muted)}
 .data-table tbody td.money{display:block}
 .data-table .data-table-link{min-width:44px;min-height:44px;line-height:44px}
 .data-table tbody td.name{grid-column:1;grid-row:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px;color:var(--title)}
 .data-table tbody td.data-table-amount{max-width:min(55vw,220px);grid-column:2;grid-row:1;align-self:start;white-space:nowrap;font-size:15px;font-weight:600;color:var(--ink)}
 .data-table tbody td:not(.name):not(.data-table-amount):not(.data-table-actions){grid-column:1 / -1}
 .data-table tbody td.data-table-actions{position:absolute!important;right:6px;top:6px;width:44px}
 .shared-row-actions .row-action-primary{display:none}
 .shared-row-actions .row-menu-toggle{width:44px;min-width:44px;height:44px;min-height:44px}
 .row-actions-menu [role=menuitem]{min-height:44px}
 .filter-chip{min-height:44px}
}

/* UK-1bA: independent, fluid 12-month grid. */
.uk-section{min-width:0;color:var(--ink)}
.uk-section h2,.uk-dialog h2,.uk-dialog h3{color:var(--label-accent)}
.uk-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:var(--sp-sm);margin-block:var(--sp-md)}
.uk-tiles .eco-tile{display:flex;flex-direction:column;padding:var(--sp-sm);color:var(--ink);background:var(--soft)}
.uk-tiles .eco-tile strong{color:var(--ink);font-variant-numeric:tabular-nums}
.uk-invoice{display:flex;flex-wrap:wrap;gap:var(--sp-sm);align-items:center;padding-block:var(--sp-sm);border-bottom:1px solid var(--line)}
.uk-grid,.uk-grid-host,.uk-grid-result{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.uk-row{display:grid;grid-template-columns: 48px repeat(12, minmax(0, 1fr));gap: 2px;width:100%;min-width:0;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:center;box-sizing:border-box;align-items:stretch;white-space:normal}
button.uk-row:hover{background:var(--soft);filter:none}
.uk-row-wrap{position:relative;margin-block:2px;min-width:0}
.uk-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;overflow-wrap:normal;background:var(--soft);color:var(--ink);font-size:var(--fs-caption);line-height:1.25;border-radius:3px}
.uk-place-name{font-size:var(--fs-caption);align-self:center}
.uk-paid{box-shadow:inset 0 -2px var(--good)}
.uk-partial{border-bottom:2px dashed var(--muted)}
.uk-billed{box-shadow:inset 0 -2px var(--ink)}
.uk-none{color:var(--muted)}
.uk-na{background:transparent}
.uk-excel{border:1px solid var(--muted)}
.uk-parts{display:flex;flex-direction:column;font-size:var(--fs-caption)}
.uk-icons{font-size:var(--fs-caption);overflow-wrap:normal}
.uk-row-debt{display:none}
.uk-row-wrap:has([data-id$=":object"]) .uk-row-debt{display:block;font-size:var(--fs-caption);text-align:right}
.uk-totals{margin-top:var(--sp-sm);font-size:var(--fs-caption);overflow-wrap:normal;align-items:center}
.uk-month-head{font-size:var(--fs-caption);min-height:24px;align-items:center}
.uk-grid-controls{display:flex;flex-wrap:wrap;gap:var(--sp-sm);margin-block:var(--sp-sm)}
.uk-grid-controls label{flex:1 1 90px;min-width:0}
.uk-grid-controls input,.uk-grid-controls select{width:100%;min-width:0;box-sizing:border-box}
.uk-section button,.uk-dialog button{white-space:normal;height:auto;min-height:44px}
.uk-dialog{width:min(850px,calc(100% - 24px));max-width:calc(100% - 24px);box-sizing:border-box;color:var(--ink);background:var(--surface);padding:var(--sp-md)}
.uk-dialog-body{min-width:0;overflow-wrap:normal}
.uk-dialog .dialog-head{display:flex;justify-content:space-between;gap:var(--sp-sm)}
.uk-dialog .dialog-head h2{min-width:0}
.uk-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:var(--sp-sm)}
.uk-fields label,.uk-dialog form>label{display:flex;flex-direction:column;min-width:0;color:var(--ink)}
.uk-fields input,.uk-fields select{width:100%;min-width:0;box-sizing:border-box}
.uk-dialog fieldset{display:flex;flex-wrap:wrap;gap:var(--sp-sm);min-width:0}
.uk-dialog fieldset label{min-height:44px;display:flex;align-items:center}
.uk-place-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--sp-sm)}
.uk-place-months section{border-bottom:1px solid var(--line)}
.uk-place-months p{margin-block:var(--sp-xs)}
@media(min-width:1100px){
 .uk-row-wrap{padding-right:145px}
 .uk-month-head,.uk-totals{width:calc(100% - 145px)}
 .uk-row-debt,.uk-row-wrap:has([data-id$=":object"]) .uk-row-debt{display:block;position:absolute;right:0;top:12px;font-size:var(--fs-caption);max-width:140px;text-align:right}
 .uk-parts{display:flex;flex-direction:column;font-size:var(--fs-caption)}
 .uk-symbol{font-size:var(--fs-caption)}
}
.uk-dialog{background:var(--surface)}
.uk-dialog{max-height:90dvh;overflow:auto;backdrop-filter:none}
.uk-dialog .dialog-head{position:sticky;top:0;background:var(--surface);z-index:1;align-items:flex-start;margin-bottom:var(--sp-md)}
.uk-fields label:has(input[type="checkbox"]){flex-direction:row;align-items:center;gap:var(--sp-sm)}
.uk-fields input[type="checkbox"]{width:20px;min-height:20px;margin:0;flex:none}
.uk-dialog form{margin-block:var(--sp-md)}
.uk-dialog .actions{flex-wrap:wrap}
/* UK-1bB: approved payment-grid fills; the same theme tokens as .grid-cell. */
.uk-paid{background:var(--good-bg);color:var(--ink);box-shadow:none}
.uk-partial,.uk-billed{background:var(--warn-bg);color:var(--ink);box-shadow:none;border-bottom:0}
.uk-none{background:var(--slate-bg);color:var(--ink)}
.uk-excel{background:var(--soft);color:var(--ink)}
.uk-footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:var(--sp-sm);padding-block:var(--sp-sm);background:var(--surface);border-top:1px solid var(--line);z-index:2}
.uk-footer[hidden]{display:none}
.uk-footer button{flex:1 1 150px}
.uk-dialog input[type=checkbox]{width:20px;min-height:20px;display:inline-block;vertical-align:middle;margin:0 var(--sp-xs)}
.uk-dialog form>label:has(input[type=checkbox]){display:block;margin-block:var(--sp-sm)}
.uk-dialog [data-uk-rows]{display:grid;gap:var(--sp-sm)}
.uk-dialog [data-uk-row]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));margin:0;padding:var(--sp-sm);border:1px solid var(--line)}
.uk-dialog [data-uk-row] label{min-width:0}
.uk-excel-question{padding:var(--sp-sm);border:1px solid var(--line);margin-block:var(--sp-sm)}
.uk-excel-question button{margin:var(--sp-xs)}
.uk-summary{margin-block:var(--sp-sm);font-variant-numeric:tabular-nums}
.uk-allocation-place{padding-block:var(--sp-sm);border-bottom:1px solid var(--line)}
.uk-matrix{display:none}
.uk-dialog [data-uk-paste-box]{padding:var(--sp-sm);border:1px solid var(--line)}
.uk-dialog [hidden]{display:none}
.uk-invoices input[type=checkbox]{width:20px;min-height:20px;display:inline-block}
@media(min-width:700px){.uk-matrix{display:block;overflow:auto;max-width:100%}.uk-matrix table{width:100%;font-size:var(--fs-body)}.uk-matrix td,.uk-matrix th{padding:var(--sp-xs);border-bottom:1px solid var(--line)}.uk-allocation-list:has(+.uk-matrix){display:none}}
/* Keep the title visible while the invoice body scrolls above its action footer. */
dialog.uk-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.uk-dialog>.dialog-head{position:static;flex-shrink:0}
.uk-dialog>.uk-dialog-body{overflow-y:auto;min-height:0}
.uk-dialog [data-uk-row] label{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.uk-dialog [data-uk-row] input,.uk-dialog [data-uk-row] select{width:100%;min-width:0;flex:none}

/* UK-1bD */
.uk-totals>span{white-space:nowrap;overflow-wrap:normal}
.uk-year-totals{display:none;color:var(--ink);font-size:var(--fs-body)}
.uk-year-totals[role="status"]{display:block;overflow-wrap:normal}
@media(max-width:480px){
 .uk-year-totals{display:block}
}

/* UK-1bE */
.uk-overpaid{color:var(--ink);overflow-wrap:normal}
.uk-dialog [data-uk-offset-form] label{min-width:0}
.uk-dialog [data-uk-offset-form] select{width:100%;min-width:0;max-width:100%}

/* UK-1bN: design v2 type and narrow layouts; long values opt in via .wrap-any. */
.uk-row{grid-template-columns:64px repeat(12,minmax(0,1fr))}
.uk-invoice>*,.uk-tiles>*{min-width:0;max-width:100%}
.uk-dialog .dialog-head h2{white-space:normal;overflow:visible;text-overflow:clip}
.uk-dialog-body>*{max-width:100%;box-sizing:border-box}
.uk-dialog fieldset label{min-width:0;max-width:100%}
.uk-dialog fieldset input[type=checkbox]{flex-shrink:0}
@media(max-width:480px){
 .uk-row{grid-template-columns:64px repeat(12,minmax(0,1fr));gap:1px}
 .uk-icons{display:flex;flex-direction:column}
 .uk-invoice>label{flex-basis:100%}
 .uk-section input[type=checkbox],.uk-dialog input[type=checkbox]{width:44px;min-width:44px;min-height:44px;height:44px}
 .uk-section summary,.uk-dialog summary{min-height:44px;align-content:center}
}
@media(max-width:1699px){
 .uk-year-totals{display:block}
}

/* UK-1bO: full money values in a locally scrolling year grid. */
.uk-grid{overflow-x:auto;position:relative;isolation:isolate}
.uk-grid .uk-row{grid-template-columns:96px repeat(12,minmax(var(--uk-month-width,160px),1fr));min-width:calc(96px + 12 * var(--uk-month-width,160px) + 24px);width:100%;gap:2px}
.uk-grid .uk-row-wrap{padding-right:0}
.uk-grid .uk-month-head,.uk-grid .uk-totals{width:100%}
.uk-grid .uk-totals{display:grid}
.uk-grid .uk-parts{display:flex;flex-direction:column;font-size:var(--fs-caption);white-space:nowrap}
.uk-grid .uk-cell{padding:4px;box-sizing:border-box;white-space:nowrap}
.uk-grid .uk-row>:first-child{position:sticky;left:0;z-index:1;background:var(--surface);color:var(--ink);align-self:stretch;align-content:center}
.uk-grid .uk-row-debt,.uk-grid .uk-row-wrap:has([data-id$=":object"]) .uk-row-debt{position:static;display:block;max-width:none;text-align:left;font-size:var(--fs-caption)}
.uk-scroll-hint{color:var(--muted);font-size:var(--fs-caption);margin-block:var(--sp-sm)}
.uk-scroll-hint[hidden]{display:none}

/* SP-V3A: independent design layer. Quiet Book keeps its existing cascade. */
.v3-only{display:none}
:root[data-design="v3"]{--bg:#F2F4F7;--surface:#FFFFFF;--surface-2:#F7F8FA;--text:#1B1F24;--muted:#5B6472;--accent:#3B4FE0;--on-accent:#FFFFFF;--accent-soft:#EEF0FD;--good:#0B5F47;--bad:#A3160F;--warn-icon:#F5C542;--warn-text:#8A5A00;--line:#E4E7EC;--shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);--ink:var(--text);--title:var(--accent);--subtle:var(--muted);--soft:var(--surface-2);--nav:var(--surface);--accent-solid:var(--accent);--line-strong:#7B8492;--warn:var(--warn-text);--good-bg:var(--surface-2);--bad-bg:var(--surface-2);--warn-bg:var(--surface-2);--sh-1:var(--shadow);--content-max:1536px}
:root[data-design="v3"][data-theme="dark"]{--bg:#14171C;--surface:#1E232B;--surface-2:#242A33;--text:#E8EBF0;--muted:#A3ACB9;--accent:#8D9BFF;--on-accent:#14171C;--accent-soft:#262C45;--good:#5FD39A;--bad:#FF948B;--warn-icon:#F5C542;--warn-text:#F2C46B;--line:#2E3540;--line-strong:#737E8E;--shadow:0 1px 3px rgba(0,0,0,.45)}
[data-design="v3"] body{font-family:"IBM Plex Sans",system-ui,sans-serif;color:var(--text);background:var(--bg)}
[data-design="v3"] .v3-only{display:flex}
[data-design="v3"] .shell{display:block;padding:0}
[data-design="v3"] .sidebar,[data-design="v3"] .appbar-context,[data-design="v3"] #mobile-navigation{display:none}
[data-design="v3"] .main-wrap{width:100%;margin:0}
[data-design="v3"] .topbar{height:88px;min-height:88px;background:var(--surface);padding:16px 48px;display:flex;gap:24px;border:0;position:relative}
[data-design="v3"] .v3-brand{gap:12px;align-items:center;flex-shrink:0;font-size:18px;font-weight:700;color:var(--text);min-height:44px}
[data-design="v3"] .v3-brand>b{color:var(--accent);font-size:32px}
[data-design="v3"] .v3-brand small{display:block;font-size:13px;font-weight:400;color:var(--muted)}
[data-design="v3"] .v3-search{flex:1;min-width:0;position:relative;margin:0}
[data-design="v3"] .v3-search input{width:100%;background:var(--surface-2);padding-left:44px;min-height:46px;border-color:var(--line-strong)}
[data-design="v3"] .v3-search button{position:absolute;left:0;top:0;width:44px;height:46px;border:0;color:var(--accent);background:transparent}
[data-design="v3"] .v3-header-links{align-items:center;gap:8px;flex-shrink:0}
[data-design="v3"] .v3-header-links>*{color:var(--text);border:0;background:transparent;min-height:44px;font-size:14px}
[data-design="v3"] .account-name-label,[data-design="v3"] .account-chevron{display:none}
[data-design="v3"] .account-avatar{background:var(--accent-soft);color:var(--accent)}
[data-design="v3"] #account-menu-button{min-height:44px;min-width:44px;padding:0;border:0}
[data-design="v3"] main{padding:24px 48px 40px}
[data-design="v3"] .v3-back{align-items:center;width:max-content;min-height:44px;font-size:14px;margin-bottom:8px}
[data-design="v3"] #page-breadcrumb{font-size:13px;letter-spacing:.1em;text-transform:uppercase;min-height:24px}
[data-design="v3"] #page-breadcrumb:empty::before{content:"Парковки Баку"}
[data-design="v3"] .page-head{margin:8px 0 24px;align-items:flex-start}
[data-design="v3"] .page-heading{display:flex;flex-wrap:wrap;gap:8px}
[data-design="v3"] .page-head #page-title{font-size:32px;font-weight:700;color:var(--text);line-height:1.25;flex-basis:100%}
[data-design="v3"] #page-help{width:100%;margin:0}
[data-design="v3"] #page-help>summary{display:none}
[data-design="v3"] #page-help>p{display:block!important;position:static;background:transparent;border:0;box-shadow:none;padding:0;margin:0;max-width:none;width:auto;color:var(--muted);font-size:15px}
[data-design="v3"] .v3-navigation{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:24px}
[data-design="v3"] .v3-navigation .nav-link{color:var(--text);font-size:17px;font-weight:500;background:transparent;border:0;border-radius:0;padding:12px 0;white-space:nowrap;min-height:48px;flex-shrink:0}
[data-design="v3"] .v3-navigation .nav-link.active{color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
[data-design="v3"] .v3-navigation .nav-icon{display:none}
[data-design="v3"] .v3-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
[data-design="v3"] .v3-main-column{min-width:0}
[data-design="v3"] .v3-right-column{display:grid;gap:24px;min-width:0}
[data-design="v3"] .v3-card,[data-design="v3"] .card,[data-design="v3"] .panel{padding:24px;background:var(--surface);border:0;border-radius:10px;box-shadow:var(--shadow)}
[data-design="v3"] .v3-card h2{font-size:22px;font-weight:700;line-height:1.3;margin:0 0 24px;color:var(--text)}
[data-design="v3"] .v3-right-column h2{color:var(--accent)}
[data-design="v3"] .v3-minute dl{margin:0}
[data-design="v3"] .v3-minute dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
[data-design="v3"] .v3-minute dl>div:last-child{border:0}
[data-design="v3"] .v3-minute dt{min-width:0}
[data-design="v3"] .v3-minute dd{margin:0;font-weight:600;min-width:0;text-align:right}
[data-design="v3"] .v3-card-link{display:flex;align-items:center;min-height:44px;margin-top:8px;font-weight:600;font-size:15px}
[data-design="v3"] .v3-list-search{display:block;background:var(--surface-2);padding:12px;margin-bottom:16px;color:var(--muted);font-size:13px}
[data-design="v3"] .v3-list-search input{width:100%;margin-top:8px;min-height:44px;border-color:var(--line-strong)}
[data-design="v3"] .v3-object-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:15px}
[data-design="v3"] .v3-object-table th{background:transparent;color:var(--muted);font-size:13px;font-weight:400;text-align:left;padding:8px 0 12px;white-space:normal}
[data-design="v3"] .v3-object-table th:first-child{width:52%}
[data-design="v3"] .v3-object-table td{padding:16px 8px 16px 0;border-top:1px solid var(--line);background:transparent;vertical-align:middle}
[data-design="v3"] .v3-object-table td:last-child{padding-right:0}
[data-design="v3"] .v3-object-row a{display:flex;align-items:center;min-height:44px;width:100%;font-size:17px;font-weight:600;color:var(--accent);white-space:normal}
[data-design="v3"] .v3-object-row p{font-size:13px;margin:0 0 8px}
[data-design="v3"] .v3-object-row progress{display:block;width:136px;max-width:100%;height:4px;border:0;border-radius:4px;appearance:none;background:var(--accent-soft)}
[data-design="v3"] progress::-webkit-progress-bar{background:var(--accent-soft);border-radius:4px}
[data-design="v3"] progress::-webkit-progress-value{background:var(--accent);border-radius:4px}
[data-design="v3"] progress::-moz-progress-bar{background:var(--accent)}
[data-design="v3"] .v3-amount .money{display:block;width:100%;max-width:100%;white-space:nowrap;font-size:15px}
[data-design="v3"] .positive-money{color:var(--good)}
[data-design="v3"] .negative-money{color:var(--bad)}
[data-design="v3"] button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
#settings-dialog label{display:block;margin:16px 0 8px}#settings-dialog select{width:100%}#settings-dialog p{margin-top:12px}
@media(max-width:1100px){
 [data-design="v3"] .topbar{padding-inline:24px;gap:12px}
 [data-design="v3"] main{padding-inline:24px}
 [data-design="v3"] .v3-header-links{display:none}
 [data-design="v3"] .v3-page-layout{grid-template-columns:minmax(0,1fr) 320px}
}
@media(max-width:760px){
 [data-design="v3"] .topbar{padding:12px 16px;height:auto;min-height:72px;flex-wrap:wrap;gap:12px}
 [data-design="v3"] .v3-brand{font-size:16px;flex:1}
 [data-design="v3"] .v3-brand>b{font-size:28px}
 [data-design="v3"] .v3-search{order:3;flex-basis:100%}
 [data-design="v3"] .top-actions{margin:0}
 [data-design="v3"] .top-actions button{min-width:44px;min-height:44px}
 [data-design="v3"] main{padding:16px}
 [data-design="v3"] .page-head{flex-wrap:wrap;gap:16px;margin-bottom:16px}
 [data-design="v3"] .page-head .page-heading{flex-basis:100%}
 [data-design="v3"] .page-head #page-actions{width:100%;flex:0 0 100%;flex-wrap:nowrap;margin-left:0;gap:8px}
 [data-design="v3"] .page-head #page-actions>:is(button,a):not(.header-menu-toggle):not(.back-button){flex:1;min-width:0;width:auto;min-height:44px}
 [data-design="v3"] .page-head #page-actions>.header-menu-toggle{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0}
 [data-design="v3"] .v3-navigation{gap:24px;margin-bottom:16px}
 [data-design="v3"] .v3-page-layout{grid-template-columns:1fr;gap:16px}
 [data-design="v3"] .v3-right-column{gap:16px}
 [data-design="v3"] .v3-card,[data-design="v3"] .card,[data-design="v3"] .panel{padding:16px}
 [data-design="v3"] .v3-object-table th:first-child{width:100%}
 [data-design="v3"] .v3-object-table thead{display:none}
 [data-design="v3"] .v3-object-table,[data-design="v3"] .v3-object-table tbody{display:block;width:100%}
 [data-design="v3"] .v3-object-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding:12px 0;gap:12px}
 [data-design="v3"] .v3-object-table td{display:block;border:0;padding:0;min-width:0}
 [data-design="v3"] .v3-object-table td:first-child{grid-column:1/-1}
 [data-design="v3"] .v3-object-table td:nth-child(2)::before{content:"Доход в месяц"}
 [data-design="v3"] .v3-object-table td:nth-child(3)::before{content:"Долг"}
 [data-design="v3"] .v3-amount::before{display:block;color:var(--muted);font-size:13px;margin-bottom:4px}
 [data-design="v3"] .v3-card h2{margin-bottom:16px}
}
/* V3 shell finishes: normal document scrolling, accessible search label, page subtitle. */
[data-design="v3"] .shell,[data-design="v3"] .main-wrap{height:auto;min-height:100dvh;overflow:visible}
[data-design="v3"] .v3-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-design="v3"] #page-breadcrumb{display:flex}
[data-design="v3"] #page-help{display:none}
[data-design="v3"] #v3-subtitle{margin:0;font-size:15px;font-weight:400;width:100%}
[data-design="v3"] #content .v3-main-column h2{color:var(--text)}
[data-design="v3"] .account-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%}
[data-design="v3"] .v3-navigation+.section-tabs{margin-top:-16px}
[data-design="v3"] h1,[data-design="v3"] h2,[data-design="v3"] h3,[data-design="v3"] label,[data-design="v3"] .nav-link{font-family:inherit}
[data-design="v3"] #content>.back-button,[data-design="v3"] #page-actions>.back-button{display:none}
[data-design="v3"] .v3-search-results{display:grid;gap:12px;margin-block:24px}
@media(max-width:760px){
 [data-design="v3"] .v3-search{display:none}
 [data-design="v3"] .v3-navigation{display:none}
 [data-design="v3"] .section-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-right:0;padding-inline:16px;scroll-padding-inline:16px;mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent)}
 [data-design="v3"] .section-tabs[hidden]{display:none}
 [data-design="v3"] .section-tabs .section-tab{flex:none;white-space:nowrap}
 [data-design="v3"] .v3-navigation+.section-tabs{margin-top:0}
 [data-design="v3"] .shell{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 [data-design="v3"] #mobile-navigation{display:grid;background:var(--surface)}
 [data-design="v3"] #mobile-navigation .nav-link.active{background:transparent;color:var(--accent)}
 [data-design="v3"] .v3-object-row progress{width:100%}
}
:root:not([data-design="v3"]) .v3-only{display:none!important}
[data-design="v3"] .v3-minute .money{display:block;max-width:100%;white-space:nowrap}
[data-design="v3"] #mobile-navigation .nav-icon{color:inherit;background:transparent}
[data-design="v3"] #mobile-navigation .nav-link.active,[data-design="v3"] #mobile-navigation button.active{box-shadow:none;border-radius:0;color:var(--accent);background:transparent}

/* V3S — portfolio, object, tenant list and tenant card only. */
[data-design="v3"] .v3s-screen{min-width:0;color:var(--text)}
[data-design="v3"] .v3s-screen .v3-main-column{display:flex;flex-direction:column;gap:24px}
[data-design="v3"] .v3s-card>h2:empty{display:none}
[data-design="v3"] .v3s-screen small{display:block;font-size:13px;line-height:1.5;color:var(--muted);font-weight:400}
[data-design="v3"] .v3s-screen .money{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:inherit;max-width:100%}
[data-design="v3"] .v3s-screen .negative-money,[data-design="v3"] .v3s-screen .negative-money .money{color:var(--bad)}
[data-design="v3"] .v3s-screen .positive-money,[data-design="v3"] .v3s-screen .positive-money .money{color:var(--good)}
[data-design="v3"] .v3s-screen button.quiet{color:var(--accent);background:transparent;box-shadow:none;border-color:transparent;white-space:normal;text-align:left;padding:6px 0;min-height:44px}
[data-design="v3"] .v3s-screen a{color:var(--accent)}
[data-design="v3"] .v3s-screen .v3-card-link{min-height:44px}
[data-design="v3"] .v3s-side-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
[data-design="v3"] .v3s-side-line:last-child{border-bottom:0}
[data-design="v3"] .v3s-side-line>div{min-width:0}
[data-design="v3"] .v3s-side-line>strong{font-weight:600;flex-shrink:0;font-size:15px}
[data-design="v3"] .v3s-warning{display:inline-grid;place-items:center;width:29px;height:30px;border-radius:5px;margin-right:6px;background:var(--warn-icon);color:var(--text);font-size:20px}
[data-design="v3"] .v3s-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;margin:0}
[data-design="v3"] .v3s-fields>div{min-width:0}
[data-design="v3"] .v3s-fields dt{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px}
[data-design="v3"] .v3s-fields dd{font-size:15px;font-weight:400;line-height:1.6;margin:0;overflow-wrap:normal}
[data-design="v3"] .v3s-fields dd>a{display:inline-flex;align-items:center;min-height:44px}
[data-design="v3"] .v3s-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
[data-design="v3"] .v3s-kpi h2{font-size:15px;margin-bottom:12px}
[data-design="v3"] .v3s-kpi>strong{display:block;font-size:28px;line-height:1.3;margin-bottom:12px}
[data-design="v3"] .v3s-heading-link{float:right;font-size:14px;font-weight:500;min-height:44px;display:flex;align-items:center}
[data-design="v3"] .v3s-object-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.55fr) minmax(120px,.55fr);gap:20px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
[data-design="v3"] .v3s-object-row>div{min-width:0}
[data-design="v3"] .v3s-object-row a{display:flex;align-items:center;min-height:44px;font-size:17px;font-weight:600}
[data-design="v3"] .v3s-screen progress{display:block;width:100%;height:8px;border:0;border-radius:5px;appearance:none;background:var(--accent-soft);margin:20px 0 8px}
[data-design="v3"] .v3s-object-row progress{width:136px;height:4px;margin-top:8px}
[data-design="v3"] .v3s-occupancy{display:flex;align-items:center;gap:24px}
[data-design="v3"] .v3s-occupancy>strong{font-size:38px}
[data-design="v3"] .v3s-occupancy p{margin:4px 0 0}
[data-design="v3"] .v3s-total{display:block;font-size:29px;line-height:1.4}
[data-design="v3"] .v3s-tabs{display:flex;flex-wrap:wrap;gap:8px 28px;border-bottom:1px solid var(--line);margin-bottom:24px}
[data-design="v3"] .v3s-tabs a{display:flex;align-items:center;min-height:48px;font-size:17px;color:var(--text)}
[data-design="v3"] .v3s-tabs a:first-child{color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
[data-design="v3"] .v3s-more{margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}
[data-design="v3"] .v3s-more>summary{min-height:44px;cursor:pointer;color:var(--accent);font-weight:600}
[data-design="v3"] .v3s-more>div{margin-top:16px;min-width:0}
[data-design="v3"] .v3s-tenant-head,[data-design="v3"] .v3s-tenant-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 135px 150px;gap:16px;align-items:center}
[data-design="v3"] .v3s-tenant-head{font-size:13px;color:var(--muted);padding-bottom:12px}
[data-design="v3"] .v3s-tenant-row{border-top:1px solid var(--line);padding:12px 0;font-size:15px}
[data-design="v3"] .v3s-tenant-row>div{min-width:0}
[data-design="v3"] .v3s-tenant-row .k3-tenant-name{font-size:16px;font-weight:600}
[data-design="v3"] .v3s-phone{display:flex;align-items:center;min-height:44px;font-size:13px}
[data-design="v3"] .v3s-mobile-label{display:none!important}
[data-design="v3"] .v3s-screen .ar-tabs{display:flex;flex-wrap:wrap;gap:4px 16px;overflow:visible;border-bottom:1px solid var(--line);margin:16px 0 20px}
[data-design="v3"] .v3s-screen .ar-tab{font-size:13px;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--text);min-height:44px;padding:10px 0;white-space:normal}
[data-design="v3"] .v3s-screen .ar-tab.active{color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
[data-design="v3"] .v3s-screen .ar-count{color:var(--muted);background:transparent;font-size:var(--fs-caption)}
[data-design="v3"] .v3s-screen .ar-filters{padding:12px;background:var(--surface-2);margin:0;border-radius:6px;display:flex;gap:16px;flex-wrap:wrap}
[data-design="v3"] .v3s-screen .ar-filters label{min-width:0;flex:1;font-size:13px}
[data-design="v3"] .v3s-screen .ar-filters :is(input,select){width:100%;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--line)}
[data-design="v3"] .v3s-actions{display:grid;gap:12px}
[data-design="v3"] .v3s-actions button{width:100%;min-height:44px;text-align:center!important}
/* The existing detail header, return stack and tab hooks remain the tenant shell. */
[data-design="v3"] #detail-dialog:has(.v3s-tenant){width:calc(100% - 48px);max-width:1392px;background:var(--bg);padding:24px;border:0}
[data-design="v3"] #detail-dialog:has(.v3s-tenant) #detail-title{font-size:32px;color:var(--text)}
[data-design="v3"] #detail-dialog:has(.v3s-tenant) .place-workspace{display:block}
[data-design="v3"] #detail-dialog:has(.v3s-tenant) .place-panes{padding:0;min-width:0}
@media(max-width:1100px){
 [data-design="v3"] .v3s-tenant-head,[data-design="v3"] .v3s-tenant-row{grid-template-columns:minmax(0,1fr) 100px 110px;gap:12px}
 [data-design="v3"] .v3s-tenant-head>span:last-child{display:none}
 [data-design="v3"] .v3s-tenant-row>div:last-child{grid-column:1/-1}
}
@media(max-width:760px){
 [data-design="v3"] .v3s-screen .v3-main-column{gap:16px}
 [data-design="v3"] .v3s-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
 [data-design="v3"] .v3s-kpis{gap:12px}
 [data-design="v3"] .v3s-kpi{padding:16px 12px}
 [data-design="v3"] .v3s-kpi>strong{font-size:18px}
 [data-design="v3"] .v3s-kpi h2{font-size:13px}
 [data-design="v3"] .v3s-object-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 [data-design="v3"] .v3s-object-row>div:first-child{grid-column:1/-1}
 [data-design="v3"] .v3s-object-row progress{width:100%}
 [data-design="v3"] .v3s-tenant-head{display:none}
 [data-design="v3"] .v3s-tenant-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 [data-design="v3"] .v3s-tenant-row>div:first-child{grid-column:1/-1}
 [data-design="v3"] .v3s-mobile-label{display:block!important}
 [data-design="v3"] .v3s-screen .ar-filters label{flex-basis:100%}
 [data-design="v3"] .v3s-occupancy{gap:16px;align-items:flex-start}
 [data-design="v3"] .v3s-occupancy>strong{font-size:30px}
 [data-design="v3"] .v3s-total{font-size:26px}
 [data-design="v3"] .v3s-more{padding:12px;margin-top:16px}
 [data-design="v3"] .v3s-tenant .v3-page-layout{display:flex;flex-direction:column}
 [data-design="v3"] .v3s-tenant .v3-main-column,[data-design="v3"] .v3s-tenant .v3-right-column{width:100%}
 [data-design="v3"] .v3s-tenant .v3-right-column{order:-1}
 [data-design="v3"] .v3s-tenant .v3-right-column:has(.v3s-attention){display:flex;flex-direction:column}
 [data-design="v3"] .v3s-tenant .v3-right-column .v3s-card:last-child{display:none}
 [data-design="v3"] #detail-dialog:has(.v3s-tenant){width:100%;max-width:100%;max-height:100dvh;padding:16px;border-radius:0}
 [data-design="v3"] #detail-dialog:has(.v3s-tenant)>.dialog-head{display:flex;flex-wrap:wrap}
 [data-design="v3"] #detail-dialog:has(.v3s-tenant) .detail-header-actions{flex:0 0 100%;max-width:100%;width:100%;display:flex;justify-content:flex-start;order:5}
 [data-design="v3"] #detail-dialog:has(.v3s-tenant) .detail-header-actions .primary{max-width:none;width:auto;min-height:44px;padding:10px 16px}
}
[data-design="v3"] .v3s-portfolio>.v3-page-layout>.v3-main-column>.v3-minute dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px}
[data-design="v3"] .v3s-portfolio>.v3-page-layout>.v3-main-column>.v3-minute dl>div{display:block;border:0;padding:0}
[data-design="v3"] .v3s-portfolio>.v3-page-layout>.v3-main-column>.v3-minute dd{text-align:left;margin-top:4px}
[data-design="v3"][data-theme="dark"] .v3s-warning{color:var(--on-accent)}
@media(max-width:760px){[data-design="v3"] .v3s-portfolio>.v3-page-layout>.v3-main-column>.v3-minute dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
[data-design="v3"] .v3s-tenant-page>.place-workspace{display:block}
[data-design="v3"] .v3s-tenant-page .place-panes{padding:0;min-width:0;background:transparent}
[data-design="v3"] main:has(.v3s-tenant-page,.v3s-object) #page-title{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;max-width:100%}
[data-design="v3"] .v3s-object>.place-workspace{display:block}
[data-design="v3"] .v3s-object>.place-workspace>.place-panes{padding:0;min-width:0;background:transparent}
[data-design="v3"] .v3s-tenant-row a.k3-tenant-name{display:flex;align-items:center;min-height:44px}
.wave2-lists .places-list td.is-empty-value,
.wave2-lists .places-list td strong.is-empty-value { color: var(--subtle); }

/* SB-V2 Оплаты */
.payments-screen .payments-purpose{font-size:var(--fs-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:28ch}
.payments-screen td.name .payments-missing{color:var(--muted)}
.payments-screen .payments-upload{border:1px dashed var(--line-strong);background:var(--surface);padding:var(--sp-3);display:block}
.payments-screen .payments-upload .empty{padding:0;min-height:0}
.payments-screen .payments-upload .empty-actions{margin:0}
/* SB-V2 Сетка оплат */
.sb-grid .grid-table{table-layout:fixed;min-width:0;width:100%;max-width:1000px}
.sb-grid .grid-table th,.sb-grid .grid-table td{width:68px;min-width:0;padding:var(--sp-1)}
.sb-grid .grid-table th:first-child,.sb-grid .grid-table td:first-child{width:180px;min-width:180px;position:sticky;left:0;z-index:1;background:var(--surface);white-space:normal}
.sb-grid .grid-components{gap:var(--sp-1);display:flex}
.sb-grid .grid-components .grid-cell{min-width:0;width:28px;min-height:28px;height:28px;padding:0;flex:none;border:0;background:transparent;color:var(--ink);box-shadow:none;font-size:var(--fs-caption)}
.sb-grid .sb-grid-mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--r-sm);white-space:nowrap}
.sb-grid .partial .sb-grid-mark{border-color:var(--line-strong)}
.sb-grid .none .sb-grid-mark{border:0}
.sb-grid .none .sb-grid-mark i{width:5px;height:5px;background:var(--line);border-radius:50%}
.sb-grid .sb-grid-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-block:var(--sp-4);font-size:var(--fs-caption);color:var(--muted)}
.sb-grid .sb-grid-legend span{display:flex;align-items:center;gap:var(--sp-2)}
.sb-grid .sb-grid-legend i{display:inline-block;width:12px;height:12px;border:1px solid var(--line-strong);background:var(--surface)}
.sb-grid .sb-grid-unmatched{margin-bottom:var(--sp-4)}
.sb-grid label:has(select[data-filter="year"]){flex:0 0 120px;min-width:120px;max-width:120px}
@media(max-width:760px){
 .sb-grid .table-wrap{overflow:visible}
 .sb-grid .grid-table,.sb-grid .grid-table tbody{display:block;min-width:0;width:100%}
 .sb-grid .grid-table thead{display:none}
 .sb-grid .grid-table tbody tr{display:grid;grid-template-columns:repeat(6,44px);gap:var(--sp-2);margin-bottom:var(--sp-4);padding:0}
 .sb-grid .grid-table td{display:block;width:44px;min-width:0;padding:0;border:0}
 .sb-grid .grid-table td:first-child{grid-column:1/-1;position:static;width:auto;min-width:0;background:var(--surface);padding-block:var(--sp-2)}
 .sb-grid .grid-components{position:relative;width:44px;height:44px;gap:0}
 .sb-grid .grid-components .grid-cell{width:44px;height:44px;min-height:44px}
 .sb-grid .grid-components .grid-cell:nth-child(2){display:none}
 .sb-grid .sb-grid-mark{width:20px;height:20px;margin:auto}
}

/* SB-V2 Сетка оплат — открытие месяца на телефоне */
.sb-grid .grid-table{max-width:1000px}
.sb-grid .sb-grid-month{display:none}
@media(max-width:760px){
 .sb-grid .grid-components{display:none}
 .sb-grid .sb-grid-month{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--ink);font-size:var(--fs-caption)}
 .sb-grid .sb-grid-month.none .sb-grid-mark i{width:5px;height:5px;border-radius:50%;background:var(--line)}
}
/* SB-V2 Оплаты — дата обычным цветом текста */
.payments-screen td.name strong{color:var(--ink)}

/* SB-V2 Операции */
.sb-operations .account-tree{display:inline-block;max-width:100%;margin-bottom:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.sb-operations .account-tree>summary{color:var(--ink);font-size:var(--fs-body);min-height:var(--ctl-touch);display:flex;align-items:center;cursor:pointer}
.sb-operations .operations-filters{align-items:end;gap:var(--sp-2)}
.sb-operations .operations-filters>label{flex:1;min-width:0}
.sb-operations .filter-chip{display:flex;align-items:center;min-height:var(--ctl-touch);color:var(--ink);cursor:pointer}
.sb-operations .sb-operations-period[open],.sb-operations .sb-operations-more[open]{flex-basis:100%}
.sb-operations .stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.sb-operations input[type=checkbox]{min-width:var(--ctl-touch);min-height:var(--ctl-touch);width:var(--ctl-touch);height:var(--ctl-touch)}
.sb-operations .data-table button{color:var(--ink)}
@media(max-width:760px){
 .sb-operations .stat-row{grid-template-columns:1fr}
 .sb-operations .operations-filters{display:grid;grid-template-columns:1fr 1fr}
 .sb-operations .operations-filters>label,.sb-operations .sb-operations-period[open],.sb-operations .sb-operations-more[open]{grid-column:1/-1}
}
/* SB-V2 Движение денег */
.sb-flow .metric-value{font-size:var(--fs-figure);line-height:var(--lh-figure);color:var(--ink);white-space:nowrap}
.sb-flow .metric-value.flow-pos{color:var(--good)}
.sb-flow .metric-value.flow-neg{color:var(--bad)}
.sb-flow .card-grid>.sb-flow-account{border:1px solid var(--line)}
.sb-flow .money-item.metric{background:var(--surface);border:1px solid var(--line)}
.sb-flow .sb-flow-connect{font-size:var(--fs-body);margin:var(--sp-3) 0;color:var(--muted)}
.sb-flow .sb-flow-connect>summary{display:inline-flex;align-items:center;min-height:var(--ctl-touch);color:var(--muted);cursor:pointer}
/* SB-V2 Банки */
.sb-banks .money-item.metric{background:var(--surface);border:1px solid var(--line)}
.sb-banks .metric-value{font-size:var(--fs-figure);line-height:var(--lh-figure);color:var(--ink);white-space:nowrap}
.sb-banks .bank-how>summary{display:inline-flex;align-items:center;min-height:var(--ctl-touch);color:var(--ink);cursor:pointer}
.sb-banks .empty .bank-how{margin-top:var(--sp-3);text-align:left}

/* SB-V2 Кассы */
.sb-cashboxes .object-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.sb-cashboxes .sb-cashbox{background:var(--surface)}
.sb-cashboxes .amount{font-size:var(--fs-figure);color:var(--ink);white-space:nowrap}
.sb-cashboxes .cash-owners>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:var(--sp-3);font-size:var(--fs-body);color:var(--ink)}
.sb-cashboxes .cash-owners strong{font-size:var(--fs-body);color:var(--ink);white-space:nowrap}
.sb-cashboxes #excel-drop h3,.sb-cashboxes .excel-drop h3 span{color:var(--ink)}
/* SB-V2 Должники */
.sb-debts .sb-debt-amount{font-size:calc(var(--fs-strong) + var(--fs-strong) - var(--fs-body));font-weight:600;color:var(--bad)}
.sb-debts .sb-debt-months{font-size:var(--fs-caption);color:var(--muted)}
.sb-debts#debt-queue .kpi strong,.sb-debts .money-item strong,.sb-debts td:nth-child(2) .money{color:var(--bad)}
.sb-debts >p{margin-bottom:var(--sp-3);font-size:var(--fs-caption);color:var(--muted)}
.sb-debts .shared-row-actions .row-action-primary{display:inline-flex;min-height:var(--ctl-touch);height:var(--ctl-touch)}
.sb-debts .shared-row-actions button{min-width:max-content;white-space:nowrap}
.sb-debts .money-item{background:var(--surface)}
.sb-debts details>summary{min-height:var(--ctl-touch);cursor:pointer;color:var(--ink)}
/* SB-V2 Подотчёт */
.sb-podotchet .podo-filters .actions{align-self:end;flex-wrap:nowrap;grid-column:1/-1}
.sb-podotchet .podo-person{background:var(--surface);border-color:var(--line)}
.sb-podotchet .podo-person strong{color:var(--ink)}
.sb-podotchet button:not(.primary){color:var(--ink);background:var(--surface);border-color:var(--line-strong)}
.sb-podotchet .podo-entry{border-left-color:var(--line)}
.sb-podotchet button.quiet{background:transparent}
.sb-podotchet .podo-toolbar button{min-height:var(--ctl-touch)}

/* SB-V2 Сетка оплат — подписи месяцев */
.sb-grid .sb-grid-month-name{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}
@media(max-width:760px){
 .sb-grid .sb-grid-month{flex-direction:column;gap:0}
 .sb-grid .sb-grid-month .sb-grid-mark{margin:0 auto}
}

/* Baku owner screens */
.owner-language{display:inline-flex;align-items:center;gap:6px;max-width:150px}
.owner-language select{width:auto;min-width:64px;margin:0}
.top-actions .owner-language span{position:absolute;clip:rect(0,0,0,0)}
.owner-claims{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.owner-claim{padding:20px;overflow-wrap:break-word}
.owner-claim .actions,.owner-portal .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.owner-analytics{display:grid;gap:20px;min-width:0}
.owner-analytics>.card{padding:20px;min-width:0}
.owner-analytics .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}
.owner-analytics .table-wrap{max-width:100%;overflow-x:auto}
.owner-verdict{display:inline-block;border:1px solid currentColor;border-radius:12px;padding:3px 10px;font-size:14px}
.owner-verdict.better{color:#16834d}.owner-verdict.worse{color:#c04435}.owner-verdict.on_plan{color:#2563ad}.owner-verdict.no_plan{color:#697686}
.owner-portal input{width:100%;min-width:0}.owner-portal{overflow-wrap:break-word}
@media(max-width:760px){.owner-analytics .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-analytics .tile{min-width:0;overflow-wrap:break-word}.owner-analytics .amount{font-size:22px}.owner-claim .actions button{flex:1}.owner-language{font-size:13px}}
.owner-analytics .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.owner-analytics .kpi{min-width:0}
.owner-analytics .kpi strong{font-size:clamp(18px,2.1vw,28px);white-space:normal;overflow-wrap:break-word}
@media(max-width:760px){.owner-analytics .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 #detail-dialog.has-detail-slots:has(.tenant-card)>.dialog-head{flex-wrap:wrap}
 #detail-dialog:has(.tenant-card) .detail-header-heading{flex:1 1 calc(100% - 60px);order:0}
 #detail-dialog:has(.tenant-card) #close-detail{order:1}
 #detail-dialog:has(.tenant-card) .detail-header-actions{order:2;flex:1 0 100%;flex-wrap:wrap}
}
