/* 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=c3e899086056") 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=c3e899086056") 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=c3e899086056") 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=c3e899086056") 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=c3e899086056") 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=c3e899086056") 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=c3e899086056") 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=c3e899086056") 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{
 color-scheme:light;
 --bg:#f0fdfa;--surface:#fff;--ink:#0f172a;--muted:#475569;--line:#cbdedc;
 --nav:#134e4a;--accent:#0369a1;--soft:#e7f5fa;
 --good:#047857;--good-bg:#d1fae5;--bad:#b91c1c;--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:#fca5a5;--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:9px 16px;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 #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:10px 12px}textarea{resize:vertical}label{display:block;font-weight:600;font-size:14px}label input,label select,label textarea{display:block;margin-top:7px}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:#fff}[data-theme=dark] .primary{color:#102c47}.quiet{background:transparent}.wide{width:100%}.error{color:var(--bad);min-height:0}.error:not(:empty){margin:14px 0}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:8vw;padding:30px;background:var(--bg)}.login-brand{font-size:180px;font-weight:800;letter-spacing:-28px;line-height:1;color:var(--nav)}.login-brand span{color:#7ea9cc}.login-card{width:min(100%,430px);background:var(--surface);padding:36px;border-radius:20px;box-shadow:var(--shadow)}.login-card h1{margin:16px 0;font-size:34px}.login-card>p{margin-bottom:22px}.login-card label{margin:18px 0}.login-card small{display:block;margin-top:18px;font-size:13px}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--nav);color:#d4e4f5;position:fixed;inset:0 auto 0 0;width:245px;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:17px;font-weight:700;margin-bottom:35px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;font-weight:400;color:#b0cce5;margin-top:4px}.brand-mark{font-size:21px;letter-spacing:-2px;border:1px solid #7795b0;border-radius:10px;padding:8px}.sidebar nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;padding:13px 14px;color:#d4e4f5;border-radius:10px;font-size:15px}.nav-link:hover{background:#ffffff10;text-decoration:none}.nav-link.active{background:#fff;color:#123c65;font-weight:700}.nav-icon{font-size:20px;width:24px;text-align:center}.sidebar-foot{margin-top:auto;font-size:12px;padding:20px 15px 0}.live-dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:#82d4b2;margin-right:6px}.main-wrap{grid-column:2;min-width:0}.topbar{padding:20px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center;background:var(--surface)}#today{font-size:12px}#user-label{font-size:14px;font-weight:600}.top-actions,.actions{display:flex;gap:10px;flex-wrap:wrap}main{max-width:1450px;margin:auto;padding:32px 36px 60px;outline:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head p{margin-top:8px;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:24px}.money-item{padding:30px 25px}.money-item+.money-item{border-left:1px solid var(--line)}.money-item strong{display:block;margin:10px 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:12px}.money-item.result{background:var(--nav);color:#fff}.result small{color:#c3d8eb}.money-item.result.negative{background:#7f3542}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.stat{border-left:3px solid var(--line);padding:5px 15px}.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:18px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px}.card h3{margin-bottom:4px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.card p{font-size:14px;margin-top:8px}.card .amount{font-size:30px;letter-spacing:-.7px;font-weight:750;margin:16px 0}.card .actions{margin-top:20px}.object-kind{display:block;width:42px;height:42px;border-radius:9px;background:var(--soft);color:var(--accent);text-align:center;padding-top:7px;font-size:22px}.mini-money{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.mini-money span{font-size:12px;color:var(--muted)}.mini-money strong{display:block;font-size:14px;margin-top:5px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 15px}.toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:0 0 20px}.toolbar label{min-width:140px;flex:1}.toolbar label.search{flex:2;min-width:220px}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:18px}.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:12px;color:var(--muted);background:var(--surface);font-weight:650;white-space:nowrap}td,th{padding:15px 16px;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:12px;margin-top:3px}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-actions{display:flex;gap:7px;flex-wrap:wrap;min-width:90px}.row-actions button{font-size:12px;padding:6px 10px;min-height:38px}.pill{display:inline-block;border-radius:6px;padding:4px 8px;font-size:12px;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 24px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:14px}.empty h2{margin-bottom:10px}.empty p{max-width:450px;margin:0 auto 20px;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:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dropzone h3{margin-bottom:6px}.dropzone p{font-size:13px;color:var(--muted)}.dropzone.drag{border-color:var(--accent)}.dropzone button{white-space:nowrap}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:16px 0}.legend i{display:inline-block;width:13px;height:13px;border-radius:3px;margin-right:5px;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:8px;min-width:60px;text-align:center}.grid-table th{padding:12px 8px;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:8px 6px;border-radius:5px;font-size:12px;font-weight:650}.back-button{margin-bottom:18px}.details-note{font-size:14px;color:var(--muted);margin:18px 0}.danger{color:var(--bad)}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:18px;padding:25px;width:min(570px,calc(100vw - 24px));max-height:90dvh;box-shadow:var(--shadow)}dialog::backdrop{background:#102c4780;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-head h2{font-size:22px}.dialog-head .quiet{border:0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-fields .full{grid-column:1/-1}.form-fields small{display:block;font-size:12px;font-weight:400;margin-top:5px}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#text-dialog>p{font-size:13px;margin-bottom:15px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;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:#fff}.hint{padding:15px 18px;background:var(--soft);border-radius:10px;font-size:14px;margin-bottom:20px}.cash-owners{font-size:13px;color:var(--muted)}.cash-owners div{display:flex;justify-content:space-between;gap:10px;margin:8px 0}.list-note{margin:16px 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:24px 12px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}.brand{font-size:15px;gap:9px}.brand small{font-size:10px}.nav-link{padding:11px 12px}main{padding:28px 22px;padding-left:calc(22px + env(safe-area-inset-left));padding-right:calc(22px + env(safe-area-inset-right))}.topbar{padding:18px 22px;padding-left:calc(22px + env(safe-area-inset-left));padding-right:calc(22px + env(safe-area-inset-right))}.money-item{padding:24px 18px}.stat-row{gap:10px}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;width:100%;padding:14px 16px 0}.brand{margin-bottom:12px;font-size:17px}.brand-mark{padding:4px 9px;font-size:18px}.brand small{font-size:10px}.sidebar nav{display:flex;gap:4px;overflow-x:auto;margin:0 -16px;padding:0 16px 10px;scrollbar-width:thin}.nav-link{white-space:nowrap;padding:10px 13px;font-size:14px;min-height:44px}.nav-icon{display:none}.sidebar-foot{display:none}.topbar{padding:12px 16px}.top-actions{gap:6px}.top-actions button{padding:7px 10px;font-size:12px}.main-wrap{width:100%}main{padding:24px 16px 45px}.page-head{align-items:flex-start;gap:12px}.page-head h1{font-size:28px}.page-head .actions button{padding:8px 12px;font-size:13px}.money-panel{grid-template-columns:1fr 1fr;margin-bottom:18px}.money-item{padding:19px 16px}.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:20px 10px}.stat strong{font-size:23px}.card-grid{grid-template-columns:1fr}.card,.panel{padding:20px}.toolbar{gap:12px}.toolbar label{min-width:125px}.toolbar label.search{min-width:100%;order:3}.dropzone{display:block;padding:20px}.dropzone button{margin-top:16px;width:100%}.table-wrap td,.table-wrap th{padding:12px}.grid-table td,.grid-table th{padding:6px}.grid-table td:first-child,.grid-table th:first-child{min-width:145px;font-size:12px}.grid-cell{min-width:45px}.form-fields{gap:14px}.login-screen{padding:18px;display:block}.login-brand{font-size:60px;letter-spacing:-9px;margin:30px 0;text-align:center}.login-card{padding:26px;margin:auto}.login-card h1{font-size:30px}dialog{padding:20px}.dialog-foot button{flex:1}.toast{bottom:15px;width:max-content}.section-title{gap:10px}.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:9px 14px;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:7px}.mini-money>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.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:15px;margin-top:18px;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:10px}
.valuation-panel .money-item{padding:24px 18px}
.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:22px}
.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:12px;margin:22px 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:14px 16px;box-shadow:none}
.rental-metrics .kpi strong{font-size:22px;margin:6px 0}
.rental-metrics small{font-size:12px}
@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:18px 12px}.valuation-panel .money-item strong{font-size:clamp(16px,4.5vw,26px)}.valuation-panel .money-item span{font-size:12px}.valuation-panel .money-item small{font-size:11px}.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:12px}.adesk-table td,.adesk-table th{padding:12px 5px}
.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:14px}.adesk-cards .mini-money>div{flex-wrap:wrap}}
.adesk-map{margin-top:8px;font-weight:400}.adesk-map small{display:block;font-size:11px;margin:0}.adesk-map select{min-height:36px;padding:4px 8px;font-size:13px;margin-top:3px;min-width:118px;max-width:160px}
.adesk-cards .adesk-map{margin:12px 0 4px}.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:8px;min-width:20px;padding:1px 7px;border-radius:99px;background:#e0526a;color:#fff;font-size:12px;font-weight:700;text-align:center}
.news-banner{position:sticky;top:0;z-index:15;background:var(--accent);color:#fff;padding:12px 18px;border-radius:12px;margin-bottom:16px;font-weight:600;cursor:pointer}
[data-theme=dark] .news-banner{color:#102c47}
.alert{background:var(--bad);color:#fff;padding:14px 18px;border-radius:12px;margin-bottom:18px;font-weight:600}.alert a{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:2px 4px}.fresh-tag{color:var(--accent);font-weight:700}
.ap-status .stat-row{margin-bottom:6px}.ap-sub{margin:20px 0 8px}
.ap-q{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:12px}.ap-q strong{display:block;font-size:16px}.ap-q small{display:block;margin:4px 0}.ap-q .row-actions{margin-top:10px}
.ap-list{margin:0;padding-left:18px;font-size:14px}.ap-list li{margin:8px 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:14px 18px;box-shadow:var(--shadow)}.tg-bubble pre{margin:0 0 8px;white-space:pre-wrap;font:15px/1.5 inherit;font-family:inherit}.tg-bubble small{color:var(--muted)}
.funnel{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;margin-bottom:6px}.fcol{flex:0 0 220px;background:var(--soft);border-radius:14px;padding:12px}.fcol h4{margin:0 0 6px;font-size:14px}.fcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:8px;font-size:13px}.fcard strong{display:block}.fcard small{display:block;margin:3px 0}.fcard select{min-height:36px;font-size:12px;padding:4px 6px}.fcard .row-actions button{min-height:34px}
.msg-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.chat{display:flex;flex-direction:column;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:16px;min-height:300px;max-height:58vh;overflow:auto}
.bubble{max-width:82%;padding:10px 14px;border-radius:14px;white-space:pre-wrap;line-height:1.45}.bubble.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}[data-theme=dark] .bubble.me{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:6px;flex-wrap:wrap;margin-top:8px}.chips button{min-height:36px;font-size:13px;padding:5px 12px}
.chat-form{display:flex;gap:10px;margin-top:12px}.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:12px;margin:8px 0;max-height:360px;overflow:auto}details[data-prompt]{margin:6px 0}details[data-prompt] summary{cursor:pointer;font-weight:600;padding:6px 0}#ag-sandbox{margin-top:14px}
.lesson-form{margin-top:14px}.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:8px}
.flow-card h3{margin:0}.flow-card .muted{margin:2px 0 0;font-size:13px}.flow-mask{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.flow-card .mini-money{grid-template-columns:1fr;gap:7px}.flow-card .mini-money>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.flow-card .mini-money strong{margin-top:0;font-variant-numeric:tabular-nums}
.flow-transfers{margin:12px 0 0;font-size:12px;color:var(--muted)}.flow-card small{margin-top:8px}
.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:8px;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:4px;align-items:stretch;padding:18px 14px 12px;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:3px;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:6px;font-size:12px;font-weight:600;color:var(--ink)}
.fc-v{font-size:11px;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:12px 0 0}.fc-table summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:600;padding:8px 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:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;gap:14px}
.fb-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.fb-name{font-weight:600;min-width:0;overflow-wrap:anywhere}.fb-sum{font-variant-numeric:tabular-nums;white-space:nowrap}.fb-sum small{display:inline;color:var(--muted);margin-left:4px}
.fb-track{height:10px;background:var(--soft);border-radius:6px;overflow:hidden;margin-top:6px}.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:10px}
.flow-op{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.flow-op-top{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}.flow-op-top .flow-amt{font-size:16px;color:var(--ink)}
.flow-op-who{margin:4px 0}.flow-op-who small{margin-top:2px}.flow-op-meta{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.flow-op-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.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:14px 8px 10px;gap:2px}.fc-m{font-size:10px}.fb-list{padding:14px}}
.fc-bar.clip{background-image:repeating-linear-gradient(135deg,transparent 0 4px,#ffffff66 4px 7px)}

.ag-link-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}.ag-link-row select,.ag-link-row input{flex:1 1 240px;width:auto;min-width:0}
/* Объект Adesk: цифры по месяцам и годам */
.adesk-open{margin-top:8px}.adesk-open button{min-height:36px;padding:5px 10px;font-size:12px}
.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:8px}.bank-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.bank-row small{display:block;font-size:12px}.bank-state{display:flex;justify-content:space-between;gap:10px;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:7px;vertical-align:middle}.dot.g{background:var(--good)}.dot.y{background:var(--warn)}.dot.r{background:var(--bad)}
.bank-how{margin-top:22px}.bank-how p{margin:8px 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(20px + env(safe-area-inset-top));padding-left:calc(36px + env(safe-area-inset-left));padding-right:calc(36px + env(safe-area-inset-right))}
.sidebar{padding-top:calc(30px + env(safe-area-inset-top));padding-left:calc(18px + env(safe-area-inset-left))}
main{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
.login-screen{padding-top:calc(30px + env(safe-area-inset-top));padding-bottom:calc(30px + 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(14px + env(safe-area-inset-top));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}.topbar{padding-top:calc(12px + env(safe-area-inset-top));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}main{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(45px + env(safe-area-inset-bottom))}.login-screen{padding-left:calc(18px + env(safe-area-inset-left));padding-right:calc(18px + env(safe-area-inset-right))}.toast{bottom:calc(15px + env(safe-area-inset-bottom))}}
#install-steps p{margin:12px 0}

/* У меню и страницы собственная область прокрутки на любой высоте. */
.shell{height:100dvh;min-height:0;overflow:hidden}.sidebar{height:100dvh;overflow:hidden}.sidebar .brand{flex-shrink:0;margin-bottom:22px}.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;align-content:start;padding-right:5px}.sidebar-foot{flex-shrink:0;margin-top:12px}.main-wrap{height:100dvh;overflow-y:auto;overscroll-behavior:contain}.funnel-panel{position:relative}.funnel-panel .section-title{gap:12px;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:20px;border:1px solid var(--line);border-radius:16px;box-shadow:0 0 0 30px #102c4780;display:flex;flex-direction:column}.funnel-panel.expanded .section-title{margin:0 0 10px}.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:16px;border-radius:12px;margin:0 0 20px}.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:20px;padding-top:14px}.account-company>label{font-size:15px}.account-company>div{padding-left:22px}.account-company label{display:flex;align-items:center;gap:10px;margin:8px 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:12px 0;z-index:2}.detail-dialog th select{min-width:150px;font-size:13px;margin-top:8px}.category-detail{padding:12px 0;border-bottom:1px solid var(--line)}.category-detail>summary{font-weight:600;cursor:pointer}.category-detail .table-wrap{margin:12px 0}.month-detail{margin:24px 0}.month-detail h3{margin-top:20px}.excel-report{margin-bottom:22px}.excel-report p{margin:14px 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:8px;max-height:260px}.sidebar .brand{margin-bottom:6px}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;max-height:140px;overflow-y:auto;overflow-x:hidden;margin:0;padding:0 4px 4px 0;gap:3px}.nav-link{white-space:normal;padding:7px 10px;min-height:40px;font-size:13px}.main-wrap{flex:1;min-height:0;height:auto}.topbar{gap:8px}.page-head{flex-wrap:wrap}.funnel{height:270px;max-height:40dvh}.funnel-panel.expanded{inset:6px;padding:12px}.funnel-panel.expanded h2{font-size:20px}.accounts-scroll{grid-template-columns:1fr;max-height:230px}.detail-dialog{padding:16px}.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:9px}.funnel-panel .section-title button{font-size:13px;padding:8px 10px}.top-actions{justify-content:flex-end}.topbar #today{display:none}}
.account-company .account-edit{min-height:30px;padding:3px 7px;font-size:11px;margin-left:30px;margin-top:-4px}.cash-owners{margin-top:10px}
.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:8px}.excel-preview-table td{min-width:180px}
/* Раздел «Объекты»: собственники с долями, части, объединение мест, расходы */
.dyn-rows{display:grid;gap:10px;margin-top:10px}
.dyn-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:8px;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:5px 10px}
.dyn-row small{margin:4px 0 0;font-size:12px;font-weight:400}
.dyn-new{margin-top:7px}
.merge-list{max-height:46dvh;overflow:auto;display:grid;gap:6px;margin:12px 0}
.merge-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.merge-row label{display:flex;align-items:center;gap:10px;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:12px;color:var(--muted);white-space:nowrap}
.toolbar-check{display:flex;align-items:center;gap:9px;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:3px}
.merge-mark summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:600}
.merge-mark small{display:block;font-size:12px;margin-top:3px}
.radio-list{display:grid;gap:6px;margin:12px 0;max-height:40dvh;overflow:auto}
.radio-row{display:flex;align-items:flex-start;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.radio-row label{display:flex;align-items:flex-start;gap:10px;margin:0;font-weight:400;flex:1}
.radio-row input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--accent)}
.radio-row small{display:block;margin-top:2px}
.source-note{margin:6px 0 0;font-size:12px;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:#d5e4f1;font-size:11px;margin:8px 4px}.sidebar nav{scrollbar-color:#9ab7d2 #123c65}.sidebar nav::-webkit-scrollbar{width:8px}.sidebar nav::-webkit-scrollbar-thumb{background:#9ab7d2;border-radius:8px}.sidebar nav::-webkit-scrollbar-track{background:#123c65}.sidebar .nav-link{padding-top:9px;padding-bottom:9px}.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:anywhere}.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:6px}#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(9px + env(safe-area-inset-top));padding-bottom:8px}.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:5px 4px calc(5px + env(safe-area-inset-bottom));gap:2px;min-height:64px}.mobile-navigation .nav-link,.mobile-navigation button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:var(--ink);font-size:11px;min-height:48px;padding:3px 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:8px;padding-bottom:8px;flex-wrap:wrap}.topbar #user-label{font-size:12px}.top-actions{gap:4px;flex-wrap:wrap}.top-actions button{font-size:11px;padding:5px 7px;min-height:36px}main{padding-top:18px}.desktop-copy{display:none}.mobile-copy{display:inline}.dropzone{padding:14px}.dropzone h3{font-size:15px}.dropzone p{display:none}.dropzone button{margin-top:10px}.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:14px;padding:6px 14px}.mobile-card-table td{padding:9px 0;border:0}.mobile-card-table td::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.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:8px 10px;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:anywhere}.mini-money>div{min-width:0}.money-panel{max-width:100%}
}

/* Отдельные компоненты оплаты сохраняют размер цели касания на телефоне. */
.grid-components{display:flex;gap:5px;align-items:stretch}.grid-components button{min-width:72px;min-height:48px;padding:5px;border:1px solid currentColor;flex:1}.grid-components small{font-size:10px;white-space:nowrap}.place-documents{padding-left:20px;overflow-wrap:anywhere}.place-documents li{margin:12px 0}.place-documents button{margin:5px 10px}#sale-documents{display:flex;flex-direction:column;gap:10px}#sale-documents label{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}#sale-documents input{width:auto;min-height:24px}.stat small{display:block;font-size:11px;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:#fff;border-color:transparent;box-shadow:0 3px 8px #0369a122;
}
.primary:hover{background:linear-gradient(115deg,#115e59,#075985);border-color:transparent;box-shadow:0 5px 14px #0369a133}
.primary:active:not(:disabled){background:linear-gradient(115deg,#134e4a,#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:#5eead4}
.sec-blue{--section:var(--accent);--section-bg:var(--blue-bg);--nav-section:#7dd3fc}
.sec-green{--section:var(--good);--section-bg:var(--good-bg);--nav-section:#6ee7b7}
.sec-red{--section:var(--bad);--section-bg:var(--bad-bg);--nav-section:#fca5a5}
.sec-violet{--section:var(--violet);--section-bg:var(--violet-bg);--nav-section:#c4b5fd}
.sec-amber{--section:var(--warn);--section-bg:var(--warn-bg);--nav-section:#fcd34d}
.sec-indigo{--section:var(--indigo);--section-bg:var(--indigo-bg);--nav-section:#a5b4fc}
/* Совместимость до добавления sec-* соседним исполнителем. */
.nav-link[data-page=portfolio]{--section:var(--teal);--nav-section:#5eead4}
.nav-link[data-page=objects],.nav-link[data-page=places]{--section:var(--accent);--nav-section:#7dd3fc}
.nav-link[data-page=payments],.nav-link[data-page=grid]{--section:var(--good);--nav-section:#6ee7b7}
.nav-link[data-page=debts]{--section:var(--bad);--nav-section:#fca5a5}
.nav-link[data-page=cashboxes],.nav-link[data-page=operations]{--section:var(--violet);--nav-section:#c4b5fd}
.nav-link[data-page=agents],.nav-link[data-page=autopilot]{--section:var(--warn);--nav-section:#fcd34d}
.nav-link[data-page=banks],.nav-link[data-page=reports]{--section:var(--indigo);--nav-section:#a5b4fc}
.sidebar{background:linear-gradient(155deg,#134e4a 0%,#10445a 58%,#17365b 100%);color:#d6f1ed;border-right:1px solid #ffffff14}
.brand small,.nav-scroll-hint{color:#c1dfdf}
.brand-mark{background:#ffffff0d;border-color:#ffffff40;box-shadow:inset 0 1px #ffffff18}
.sidebar .nav-link{color:#e0f2f1;border:1px solid transparent;border-radius:12px;min-height:44px}
.sidebar .nav-link:hover{background:#ffffff14;border-color:#ffffff1a}
.sidebar .nav-link.active{color:#134e4a;background:#f0fdfa;border-color:#d1fae5;box-shadow:0 3px 12px #062f3926}
.sidebar .nav-icon,.sidebar .nav-link>.ico{color:var(--nav-section,#5eead4)}
.sidebar .nav-link.active .nav-icon,.sidebar .nav-link.active>.ico{color:var(--section,#0f766e)}
[data-theme=dark] .sidebar .nav-link.active .nav-icon,[data-theme=dark] .sidebar .nav-link.active>.ico{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 #134e4a}
.sidebar nav{scrollbar-color:#83bdbb #123e4d}
.sidebar nav::-webkit-scrollbar-thumb{background:#83bdbb}
.sidebar nav::-webkit-scrollbar-track{background:#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:14px;overflow-wrap:anywhere}
.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:anywhere}

/* Финансовая сводка: цифры на непрозрачных поверхностях. */
.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:anywhere;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:8px 14px}
.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:18px 20px;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:anywhere;margin:8px 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:8px}
.mini-money>.kpi{padding:6px 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 h3,.card p,.panel p,.mini-money strong{overflow-wrap:anywhere}
.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:6px;border-radius:999px;padding:4px 10px;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:#0E7490;background:#CFFAFE}
[data-theme="dark"] .pill.st-booked{color:#67E8F9;background:#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:8px}
.person-results{max-height:260px;overflow:auto;margin-top:8px}
.person-results[hidden]{display:none}
.person-fields{margin-top:16px}
.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:#be185d;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 18px}
.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:12px 16px;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 #071c3a33;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow-wrap:anywhere}
dialog::backdrop{background:#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:anywhere}
.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:anywhere}
.mobile-navigation{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -4px 20px #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:22px;padding-right:22px}
 .money-item{padding:22px 16px}
}
@media(max-width:760px){
 .sidebar{border-right:0}
 .topbar{gap:8px 12px}
 .top-actions{gap:6px}
 .top-actions button{min-height:44px;padding:7px 9px;font-size:12px}
 .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:18px 12px}
 .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:12px}
 .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:20px}
 .kpi{padding:16px}
 .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:8px;padding:8px 0;font-size:14px}
 .mobile-card-table td::before{font-size:12px;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:8px}
 .mobile-card-table td:last-child .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .mobile-card-table td:last-child .row-actions button{width:100%;min-height:44px;padding:8px;font-size:13px}
 #dropzone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;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:12px 0 20px}
 .login-brand>svg{width:56px}
 .login-card{padding:24px}
 .login-card h1{font-size:28px;line-height:1.2}
 .dialog-head{flex-wrap:wrap}
 .dialog-head h2{min-width:0;overflow-wrap:anywhere}
 .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:8px;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:2px 0 0}
#editor .cash-all-tenants span{min-width:0;overflow-wrap:anywhere;white-space:normal}

/* Места: одна таблица на ноутбуке, компактная шапка карточки на телефоне. */
.places-list .place-select-column,.places-list .place-select-cell{width:60px;padding:8px}
.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:anywhere}
.places-list .place-meta{color:var(--muted)}
.places-list .place-registry summary{min-height:44px;padding:10px 0;cursor:pointer;word-break:normal;overflow-wrap:normal}
.places-list .place-registry small{word-break:normal;overflow-wrap:anywhere}
@media(max-width:760px){
 .places-list tr{display:grid;grid-template-columns:44px minmax(0,1fr) max-content;gap:0 8px;padding:12px}
 .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:8px 10px;white-space:normal;overflow-wrap:anywhere}
 .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:4px 12px;padding:6px 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:4px}
 .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:10px}
 .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:8px;padding-top:12px}
 .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:8px;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:8px;margin:16px 0}
.action-bar>button,.action-bar>.button-link{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;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:6px 8px;align-items:center;margin:4px 0 8px}
.meta-chips>span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:13px;white-space:nowrap}
.meta-chips>span small{color:var(--muted);font-size:12px}
.card-section{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--section,var(--teal));border-radius:16px;padding:16px 18px;margin:12px 0}
.card-section>h3{font-size:15px;margin:0 0 8px;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:4px 0 12px;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:8px}
.k1-place-price details p{margin:8px 0;overflow-wrap:normal}
.k1-place-price .hint{padding:0;border:0;background:transparent;margin:8px 0}
.k1-place-contract{--section:var(--teal)}
.k1-place-cars{--section:var(--blue)}
.k1-place-cars small{display:block;margin:6px 0}
.k1-place-advance{--section:var(--warn)}
.k1-place-advance>section>h3{font-size:14px;margin:8px 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:16px}
.k1-place-card .k1-place-empty{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 12px;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:20px;margin:8px 0 0}
.k1-place-card .place-documents li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.k1-place-card .place-documents a{min-width:0;overflow-wrap:anywhere}

.k1-place-card .k1-place-object{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* K2: карточка объекта — ровные цифры, секции и действия */
.k2-object-overview{min-width:0;margin-top:12px}
.k2-object-meta{margin:12px 0 20px}
.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:12px;background:transparent;border:0;box-shadow:none;overflow:visible;margin-bottom:16px}
.k2-object-overview .money-item{min-width:0;border-radius:16px;padding:20px 18px}
.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:16px 0 24px}
.k2-object-overview .rental-metrics strong{overflow-wrap:normal;word-break:normal}
.k2-object-section-head{margin:0 0 12px;gap:12px;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 16px}
.k2-object-expenses .list-note{margin:16px 0 0}
.k2-object-expenses .empty{padding:24px 12px;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:20px}
@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:8px;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:8px}
 .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:16px 12px}
 .k2-object-overview .money-item strong{font-size:clamp(18px,4.9vw,25px)}
 .k2-object-overview .rental-metrics{grid-template-columns:1fr;gap:12px}
 .k2-object-owners,.k2-object-expenses,.k2-object-details{padding:16px 12px}
 .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:8px 0;overflow-wrap:anywhere}
.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:8px 12px;margin-top:8px}
.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:16px 0;gap:12px}
.k3-settlement dt{color:var(--muted);font-size:13px}
.k3-settlement dd{margin:4px 0 0;font-weight:650;overflow-wrap:anywhere}
.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 24px;margin:0}
.k3-requisites>div{min-width:0;padding:12px 0;border-bottom:1px solid var(--line)}
.k3-requisites dt{font-size:12px;color:var(--muted);margin-bottom:4px}
.k3-requisites dd{margin:0;min-width:0;font-weight:600;overflow-wrap:anywhere;user-select:text}
.k3-profile .k3-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 10px;text-align:left;font-weight:600;overflow-wrap:anywhere;user-select:text}
.k3-copy .ico{flex:0 0 16px;color:var(--muted)}
.k3-cars>small{display:block;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.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:12px}
.k3-car-editor .panel{box-shadow:none;margin:12px 0;padding:14px;background:var(--soft)}
.k3-car-editor .list-note{margin:8px 0 14px}
.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:8px 10px;text-align:left;color:var(--accent);font-weight:650;overflow-wrap:anywhere}
.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:8px}
 .detail-dialog:has(.k3-contract,.k3-profile) .dialog-head h2{font-size:18px}
 .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:16px;margin:0;padding:22px 24px 18px;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:break-word}
#editor #close-editor{flex:0 0 44px;width:44px;min-height:44px;padding:8px;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:18px 20px;padding:20px 24px 8px;align-items:start}
#editor-fields>label,#editor .form-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;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:6px 0 0;padding:0 0 9px;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:14px}
#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:16px 18px;box-shadow:none}
#editor [data-payment-receipt] .form-fields{margin-top:14px}
#editor .receipt-toggle{white-space:normal;align-items:flex-start;line-height:1.5}
#editor .receipt-toggle input{margin-top:2px}
#editor .dyn-rows{margin-bottom:12px}
#editor .dyn-row{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--stripe)}
#editor-error{margin:8px 24px;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:12px;margin:16px 0 0;padding:16px 24px;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 16px #134e4a08}
#editor .dialog-foot button{width:100%;min-height:48px;padding:12px 16px;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:8px;padding-right:8px}
#editor [data-batch-remove]{width:44px;min-height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center}
#editor #termination-calculation dl{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
#editor #termination-calculation dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
#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:12px}
#editor #sale-documents label,#editor #advance-documents label{display:flex;align-items:center;gap:10px;word-break:normal;overflow-wrap:anywhere}
@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:18px 16px 16px}
 #editor>.dialog-head h2{font-size:21px}
 #editor-fields{grid-template-columns:minmax(0,1fr);padding:16px 16px 8px;gap:16px}
 #editor .form-fields{grid-template-columns:minmax(0,1fr)}
 #editor .dialog-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 16px max(12px,env(safe-area-inset-bottom))}
 #editor .dialog-foot button{padding:10px;font-size:14px}
 #editor-error{margin:8px 16px}
 #editor .dyn-row,#editor .dyn-row.split-row{grid-template-columns:minmax(0,1fr);gap:12px}
 #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:6px;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:8px 14px;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:12px}
@media(max-width:760px){
 .mobile-navigation .nav-link,.mobile-navigation button{font-size:12px}
 .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:break-word}
@media(max-width:760px){.detail-dialog>.dialog-head h2{font-size:18px;line-height:1.35}}
/* S2 */
.termination-panel{min-width:0;border-left:4px solid var(--accent)}
.termination-caption{margin:18px 0 6px;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:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.termination-lines dt{min-width:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.termination-lines dt small{display:block;margin-top:4px;color:var(--muted);font-size:12px;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 12px;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:12px;margin:18px 0 10px;padding:16px;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:14px}
 .termination-lines>div{gap:8px}
 .termination-lines dd{font-size:14px}
 .termination-total{gap:8px;padding:12px}
 .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:4px 0 12px;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:8px}
.k1-place-price details p{margin:8px 0;overflow-wrap:normal}
.k1-place-price .hint{padding:0;border:0;background:transparent;margin:8px 0}
.k1-place-contract{--section:var(--teal)}
.k1-place-cars{--section:var(--blue)}
.k1-place-cars small{display:block;margin:6px 0}
.k1-place-advance{--section:var(--warn)}
.k1-place-advance>section>h3{font-size:14px;margin:8px 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:16px}
.k1-place-card .k1-place-empty{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 12px;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:20px;margin:8px 0 0}
.k1-place-card .place-documents li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.k1-place-card .place-documents a{min-width:0;overflow-wrap:anywhere}

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

/* 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:8px;align-items:center}
    #detail-dialog:has(.full-card) #detail-title{font-size:clamp(18px,3vw,22px);min-width:0;line-height:1.3;overflow-wrap:break-word}
    .full-card .full-card-fields{display:block;margin:8px 0}
    .full-card-fields>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:8px 16px;padding:9px 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:anywhere;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:12px 0;font-size:14px}
    .full-card details{min-width:0;margin:8px 0;border-bottom:1px solid var(--line)}
    .full-card summary{cursor:pointer;min-height:44px;padding:10px 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:10px 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:20px}
    .full-card .place-documents a{overflow-wrap:anywhere}
    .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(12px,2vw,18px)}

/* AR */
.ar-page{font-variant-numeric:tabular-nums;--ar-green:#047857;--ar-green-bg:#d1fae5;--ar-red:#b91c1c;--ar-red-bg:#fee2e2;--ar-amber:#92400e;--ar-amber-bg:#fef3c7}
[data-theme=dark] .ar-page{--ar-green:#6ee7b7;--ar-green-bg:#064e3b;--ar-red:#fca5a5;--ar-red-bg:#450a0a;--ar-amber:#fde68a;--ar-amber-bg:#451a03}
.ar-filters{margin-bottom:18px}.ar-filters label:first-child{min-width:220px}.ar-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.ar-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;padding:9px 12px;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:12px;min-width:22px;padding:1px 5px;border:1px solid currentColor;border-radius:7px;text-align:center}
.ar-watch{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 26px;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:18px}.ar-watch div{display:flex;flex-direction:column;gap:4px}.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:14px 0}.ar-legend{display:flex;gap:10px 16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:16px 0}.ar-legend>span{display:inline-flex;align-items:center;gap:6px}
.ar-months{display:flex;gap:3px;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:12px;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:12px;font-weight:400;background:var(--ink);color:var(--surface);padding:8px 10px;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:12px;padding:12px 8px}.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:3px 0;text-align:left;white-space:normal;min-height:44px}.ar-table small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.ar-table .row-actions{display:flex;flex-wrap:wrap;gap:6px}.ar-table .row-actions button{font-size:12px;padding:6px 8px;white-space:normal}.ar-table .pill{white-space:nowrap;font-size:11px;padding:4px 7px}.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:8px}.ar-tab{justify-content:space-between;text-align:left;font-size:12px;padding:9px 10px}.ar-tab-danger{grid-column:1/-1;grid-row:3}.ar-watch{padding:18px;gap:16px}.ar-watch strong{font-size:24px}.ar-watch div{min-width:0}.ar-watch span{font-size:12px}.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:8px}.ar-months{gap:5px;min-width:0}.ar-months .ar-month{width:20px;height:24px}.ar-table td{padding:8px 0;font-size:14px}.ar-table small{font-size:12px}.ar-table .pill{font-size:11px;width:max-content;max-width:100%}.ar-table td:nth-child(3){display:block}.ar-table td:nth-child(3)::before{margin-bottom:8px}.ar-table .row-actions button{font-size:13px}.ar-table .row-actions button:last-child{grid-column:1/-1}.ar-legend{gap:8px 12px}.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:#4338ca;--doc-tint:#eef2ff;font-variant-numeric:tabular-nums}
[data-theme=dark] .doc-page,[data-theme=dark] .doc-dialog,[data-theme=dark] .doc-card-block{--doc-color:#a5b4fc;--doc-tint:#242947}
.doc-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 28px;margin-bottom:20px;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:11px;letter-spacing:.12em;font-weight:750}.doc-hero h2{font-size:26px;margin:8px 0;line-height:1.25}.doc-hero p{color:var(--muted);margin:8px 0 14px;max-width:560px}.doc-count{display:inline-flex;gap:8px;font-weight:650;color:var(--doc-color)}
.doc-hero-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.doc-hero .primary{background:var(--doc-color);color:white}[data-theme=dark] .doc-hero .primary{color:#171c3c}
.doc-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px}.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:8px}.doc-search input{flex:1}.doc-group-toggle{display:flex;align-items:center;gap:10px;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:16px;padding:18px 22px;margin-bottom:20px;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:3px}.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:10px}.doc-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:16px;padding:18px;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:4px;min-height:58px;border-radius:10px;color:var(--doc-color);background:var(--doc-tint)}.doc-file-icon small{font-size:10px;font-weight:750}.doc-description{min-width:0}.doc-description>strong{display:block;overflow-wrap:anywhere;font-size:16px}.doc-meta{font-size:12px;color:var(--muted);margin:4px 0 8px}.doc-chips{display:flex;gap:5px;flex-wrap:wrap}.doc-chip{font-size:12px;color:var(--doc-color);background:var(--doc-tint);border-radius:6px;padding:3px 7px;max-width:100%;overflow-wrap:anywhere}.doc-note{overflow-wrap:anywhere;color:var(--muted);font-size:13px;margin:8px 0}.doc-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:330px}.doc-actions button,.doc-actions .button-link{font-size:12px;min-height:44px;padding:7px 10px}.doc-group h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:18px 0 12px}.doc-group .doc-row{margin-bottom:10px}.doc-empty{text-align:center;background:var(--surface);border:1px solid var(--line);padding:40px 20px;border-radius:16px}.doc-empty .empty-ico{margin:0 auto 16px}.doc-empty p{color:var(--muted);max-width:450px;margin:10px 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:12px}.doc-dialog .dialog-head h2{overflow-wrap:anywhere;min-width:0;margin:0 0 18px}.doc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.doc-full{grid-column:1/-1}.doc-picker{padding:16px;margin-bottom:20px;border-radius:12px;background:var(--doc-tint)}.doc-picker .button-link{position:relative;margin:0 8px 8px 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:white}.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:16px;margin:12px 0}.doc-card-block h3{display:flex;align-items:center;gap:6px}.doc-card-block>.section-title{flex-wrap:wrap;gap:10px}.doc-card-block .doc-row{margin-bottom:8px;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:20px;display:block}.doc-hero h2{font-size:22px}.doc-hero-actions{margin-top:18px}.doc-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.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:16px}.doc-drop div>span{font-size:12px}.doc-row{padding:14px;gap:12px}.doc-actions{grid-column:1/-1}.doc-actions button,.doc-actions .button-link{flex:1;font-size:12px;justify-content:center}.doc-fields{grid-template-columns:1fr}.doc-full{grid-column:auto}.doc-dialog{padding:18px}.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:anywhere;line-height:1.45;margin-block:6px;max-width:100%;font-variant-numeric:tabular-nums}
.sale-unpaid{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}
.sale-partial{color:#92400e;background:#fef3c7;border:1px solid #fde68a}
.sale-paid{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}
.sale-expected,.sale-payment-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:16px;margin-block:14px;border-radius:12px;border:1px solid var(--line);border-left:4px solid #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:#0369a1;margin:0}
.sale-notice{padding:12px 16px;border-left:4px solid #0369a1;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:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.sale-receipt span{min-width:0;overflow-wrap:anywhere}.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 #0369a1;outline-offset:3px}
[data-theme="dark"] .sale-unpaid{color:#fecaca;background:#450a0a;border-color:#991b1b}
[data-theme="dark"] .sale-partial{color:#fde68a;background:#451a03;border-color:#92400e}
[data-theme="dark"] .sale-paid{color:#a7f3d0;background:#022c22;border-color:#065f46}
@media(max-width:600px){.sale-expected,.sale-payment-summary{gap:8px;padding:12px}.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:6px 8px;vertical-align:middle;font-size:13px;line-height:1.35;min-width:0}
.places-list th{font-size:12px;white-space:normal;height:44px;background:var(--soft)}
.places-list .place-select-column,.places-list .place-select-cell{width:52px;padding:6px 4px}
.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:4px;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:12px;margin-top:3px;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:12px;line-height:1.35;padding:4px 7px;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:10px;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:6px;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:2px}
.places-list .place-actions-popover:not(:popover-open){display:none}
.places-list .place-actions-popover button{width:100%;min-height:44px;padding:10px 12px;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:4px;border-top:1px solid var(--line);border-radius:0 0 8px 8px}
.places-list .place-actions-popover .place-registry{padding:0 10px;text-align:left}
.places-list .place-actions-popover summary{font-size:13px;min-height:44px;padding-block:12px;cursor:pointer}
.places-list .place-actions-popover small{white-space:normal;overflow-wrap:anywhere}
.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:12px;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:8px 12px;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:10px 0;color:var(--accent)}
@media(min-width:761px) and (max-width:1100px){
 .places-list th,.places-list td{padding-inline:5px;font-size:12px}
 .places-list .place-meta small{font-size:12px}
 .places-list .place-expected-cell .numeric{white-space:normal;font-size:12px}
}
@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:4px 8px;height:auto;padding:12px;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:2px}
 .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:6px 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:8px;width:100%;padding:6px 0;word-break:normal;overflow-wrap:anywhere;text-align:left}
 .places-list .place-fact-cell::before{font-size:12px;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:anywhere}
 .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:2px}
 .places-list .place-actions-popover button{padding:10px 12px;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:anywhere}
.places-list .place-expected-cell .numeric{white-space:normal;overflow-wrap:anywhere}
.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:10px;margin:0;padding:12px 16px;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:8px}
[data-place-toolbar] button{min-height:44px;padding:8px 10px;font-size:13px;white-space:normal}
.places-loading{min-height:calc(100dvh - 220px);padding-top:56px}
.places-loading-head{height:100px;margin-bottom:20px;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:20px;align-items:center;height:60px;padding:12px;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 + 24px)}
 .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:12px;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:36px;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:anywhere}

/* ERR */
.err-panel ul { margin: 0; padding: 0; list-style: none; }
.err-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 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, #0369A1); outline-offset: 3px; }
#editor .err-field { border: 2px solid #DC2626; box-shadow: 0 0 0 3px #DC262620; scroll-margin-block: 24px; }
.err-field-hint { color: #B91C1C; font-weight: 600; }
[data-theme="dark"] .err-field-hint { 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:8px}
#navigation .nav-link{min-height:48px;padding:12px 14px}
#navigation .badge{margin-left:auto}
.page-breadcrumb{font-size:13px;color:var(--muted);margin:0 0 10px}
.page-heading{display:flex;align-items:center;gap:8px;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:6px 0 0;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 18px #0002;font-size:14px;color:var(--ink)}
.section-tabs{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:2px 2px 10px;margin:0 0 18px;scroll-padding:4px;scrollbar-width:thin}
.section-tab{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;padding:10px 15px;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:12px;margin:0 0 24px}
.dashboard-kpis>.kpi{padding:18px 16px;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:8px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dashboard-details{margin:24px 0;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.dashboard-details>summary{padding:16px 20px;min-height:52px;cursor:pointer;font-weight:650;color:var(--ink)}
.dashboard-details>summary span{margin-left:10px;font-size:13px;font-weight:400;color:var(--muted)}
.dashboard-details-body{padding:0 20px 20px}
.dashboard-details-body>.money-panel{margin-top:8px}
.nav-note{margin:12px 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 14px}
#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:16px}
 .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:16px;max-width:calc(100% + 16px)}
 .section-tab{padding:10px 14px}
 .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
 .dashboard-kpis>.kpi{padding:14px 12px}
 .dashboard-kpis strong{font-size:clamp(16px,4.6vw,23px)}
 .dashboard-kpis span{font-size:12px}
 .dashboard-details>summary{padding:14px 16px}
 .dashboard-details>summary span{display:block;margin:4px 0 0 18px;font-size:12px}
 .dashboard-details-body{padding:0 12px 14px}
 .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:16px 0 0}
.nav-object-details>summary{font-size:14px;color:var(--accent);cursor:pointer;min-height:44px;padding:10px 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:26px 0 18px;gap:20px}
.plan-actions{display:flex;flex-wrap:wrap;gap:12px 20px}.plan-actions>div{display:grid;gap:7px;max-width:310px}
.plan-actions button{min-height:44px;white-space:normal}.plan-actions small{color:var(--muted);line-height:1.5;font-size:12px}
#editor.plan-dialog{width:min(1320px,calc(100vw - 32px));max-width:1320px;padding:28px}
.plan-dialog .form-fields{gap:18px}.plan-dialog .dialog-head{border-bottom:1px solid var(--line);padding-bottom:18px}
.plan-intro p{margin:7px 0 0;color:var(--muted);font-size:14px;max-width:800px}.plan-eyebrow{color:var(--accent);font-size:11px;letter-spacing:.12em;font-weight:700}
.plan-balance{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;padding:22px;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:8px;min-width:0}.plan-balance small{margin:0;color:var(--muted);font-size:12px}.plan-balance strong{font-size:26px;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}.plan-balance span{font-size:12px;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:14px;border:1px solid var(--bad);border-radius:10px;margin:0}
.plan-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.plan-tools button{display:inline-flex;align-items:center;gap:8px;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:16px;padding:16px}
.plan-table-head{background:var(--soft);font-size:12px;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:5px;font-size:12px;color:var(--muted);margin:0 0 10px}.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:8px;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:4px;font-variant-numeric:tabular-nums}.plan-price strong{font-size:13px;overflow-wrap:anywhere}.plan-price small{color:var(--muted);font-size:12px}
.plan-usage{display:grid;justify-items:start;gap:9px}.plan-usage strong{font-size:13px}.plan-usage small{color:var(--muted);line-height:1.6;font-size:12px;overflow-wrap:anywhere}
.plan-row-tools{display:grid;gap:12px}.plan-row-tools button{white-space:normal;min-height:44px;width:100%;font-size:12px;padding:9px}.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:10px;background:var(--soft);border-radius:10px}.plan-row-tools .hint{font-size:12px;padding:8px;max-width:100%}
.plan-review{padding:20px;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 12px}.plan-review ul{padding-left:20px;margin:0 0 16px}.plan-review li{font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin-bottom:6px}.plan-review .plan-confirm{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;color:var(--ink)}
.plan-history{margin:24px 0}.plan-history details{border-bottom:1px solid var(--line);padding:12px 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:anywhere}
.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:14px}.plan-actions>div{max-width:none}.plan-actions button{width:100%}#editor.plan-dialog{width:calc(100vw - 16px);padding:16px;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:16px;gap:16px}.plan-balance>div:first-child{grid-column:1/-1}.plan-balance strong{font-size:24px}.plan-room{grid-template-columns:minmax(0,1fr);padding:16px;gap:10px}.plan-row-tools{grid-column:auto;display:grid}.plan-room input,.plan-room select,.plan-room textarea{font-size:16px}.plan-usage{padding:12px;background:var(--soft);border-radius:8px}.plan-tools>span{width:100%;margin:0}.plan-review{padding:14px}.plan-dialog .dialog-foot{position:sticky;bottom:-16px;background:var(--surface);padding:14px 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:12px;align-items:start}
.plan-area-editor label{min-width:0;display:grid;gap:8px}.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:12px;flex-wrap:wrap;margin-bottom:12px;}
.allocation-columns,.allocation-row {display:grid;grid-template-columns:1fr 1.3fr 1.4fr 36px;gap:10px;align-items:end;margin-bottom:10px;}
.allocation-columns {font-size:12px;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:12px;border:1px solid #d7e0ea;border-radius:12px;}
 .allocation-row label>span {display:block;font-size:12px;margin-bottom:5px;}
 .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:30px 18px;overflow-x:hidden}
 .sidebar .brand{min-width:0;gap:12px;margin-bottom:24px}
 .sidebar #navigation{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:4px;overflow-x:hidden;overflow-y:auto}
 #navigation .nav-link{display:flex;min-width:0;width:100%;gap:8px;padding:12px 10px;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:1px 3px;white-space:nowrap;font-variant-numeric:tabular-nums}
 .sidebar-foot{margin-top:auto;padding:18px 10px 0}
}
@media(min-width:761px) and (max-height:800px){
 .sidebar{padding-top:18px;padding-bottom:18px}
 .sidebar .brand{margin-bottom:16px}
 .sidebar #navigation{gap:4px}
 #navigation .nav-link{min-height:44px;padding-top:9px;padding-bottom:9px}
 .sidebar-foot{padding-top:12px}
}
/* 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:16px}
.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:anywhere}
.object-card .card-header h3{font-size:18px;line-height:24px;height:48px;margin:0 0 6px}
.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:12px;min-height:54px;border-bottom:1px solid var(--line);padding:8px 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:8px;padding-top:0}
.object-card .actions button{min-height:44px;font-size:13px;padding:9px 12px;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:8px;color:var(--bad);font-size:13px;min-height:44px}
.err-compact>span{display:flex;align-items:center;gap:6px;font-weight:600}
.err-compact .ico{width:18px;height:18px;flex-shrink:0}
.err-compact button{min-height:44px;padding:8px 10px;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:12px;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:14px;margin-bottom:24px}
.doc-section{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:154px;padding:20px;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:anywhere}.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:#0f766e}.doc-color-blue{--doc-color:#0369a1}.doc-color-green{--doc-color:#047857}.doc-color-violet{--doc-color:#6d28d9}.doc-color-amber{--doc-color:#b45309}.doc-color-indigo{--doc-color:#4338ca}.doc-color-slate{--doc-color:#475569}.doc-color-rose{--doc-color:#be185d}
[data-theme="dark"] .doc-sections,[data-theme="dark"] .doc-dialog{--doc-color:#5eead4}
[data-theme="dark"] .doc-color-teal{--doc-color:#5eead4}[data-theme="dark"] .doc-color-blue{--doc-color:#7dd3fc}[data-theme="dark"] .doc-color-green{--doc-color:#6ee7b7}[data-theme="dark"] .doc-color-violet{--doc-color:#c4b5fd}[data-theme="dark"] .doc-color-amber{--doc-color:#fcd34d}[data-theme="dark"] .doc-color-indigo{--doc-color:#a5b4fc}[data-theme="dark"] .doc-color-slate{--doc-color:#cbd5e1}[data-theme="dark"] .doc-color-rose{--doc-color:#f9a8d4}
.doc-breadcrumb,.doc-section-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.doc-breadcrumb button{padding:6px;background:transparent;color:var(--accent)}
.doc-icon-options,.doc-color-options{display:flex;flex-wrap:wrap;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.doc-icon-options label{display:flex;align-items:center;gap:6px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px;cursor:pointer}.doc-icon-options label:has(:checked){border-color:var(--accent);background:var(--soft)}.doc-icon-options span{font-size:12px}.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:7px;border-bottom:4px solid var(--doc-color);padding:8px;cursor:pointer;font-size:12px}
.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:10px}.doc-section{padding:14px;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:#b45309;display:grid;gap:18px}.podo-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.podo-toolbar button{display:inline-flex;gap:6px;align-items:center}.podo-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.podo-people strong{font-size:22px;font-variant-numeric:tabular-nums}.podo-people small{display:block;margin:12px 0;line-height:1.6}.podo-filters,.podo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.podo-filters{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end}.podo label,.podo-dialog label{display:grid;gap:6px;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:12px}.podo-entry{border-left:4px solid var(--podo-accent);min-width:0}.podo-entry-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.podo-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 monospace}.podo-entry details{margin-top:12px}.podo-dialog{width:min(680px,calc(100% - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box;border:1px solid var(--border,#94a3b8);border-radius:16px;background:var(--surface,#fff);color:var(--ink,#0f172a);padding:22px}.podo-dialog::backdrop{background:#0008;backdrop-filter:blur(10px)}.podo-dialog h2{margin-top:0}.podo-dialog .podo-toolbar{margin-top:16px}.podo-dialog #podo-error{color:#dc2626}.podo-dialog button,.podo summary{cursor:pointer}.podo-summary{padding:12px;border-left:4px solid #b45309}.podo-dialog input:focus-visible,.podo-dialog select:focus-visible,.podo button:focus-visible{outline:3px solid #14b8a6;outline-offset:2px}[data-theme="dark"] .podo-dialog{background:#172334;color:#e2e8f0}[data-theme="dark"] .podo{--podo-accent:#fbbf24}@media(max-width:600px){.podo-form-grid{grid-template-columns:1fr}.podo-people{grid-template-columns:1fr}.podo-dialog{padding:16px}.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:#334155;color:#172334}.podo-person small,.podo-person span{color:#475569}.podo-funded{border-left-color:#b45309}.podo-overdue{--kpi-bg:#fff3c4;--kpi-color:#783900;border-color:#b45309}.podo-overdue .pill.warn{color:#783900;background:#ffe49a}
[data-theme="dark"] .podo-person{--kpi-bg:#172334;--kpi-color:#f1f5f9;color:#f1f5f9}[data-theme="dark"] .podo-person small,[data-theme="dark"] .podo-person span{color:#cbd5e1}[data-theme="dark"] .podo-funded{border-left-color:#fbbf24}[data-theme="dark"] .podo-overdue{--kpi-bg:#483709;--kpi-color:#fff0b3;border-color:#fbbf24}[data-theme="dark"] .podo-overdue .pill.warn{color:#fff0b3;background:#594209}
/* PLACE: shared grid, vertical navigation and quiet financial surfaces. */
.place-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;margin-top:20px;align-items:start}.place-tabs{display:flex;flex-direction:column;gap:6px;position:sticky;top:60px}.place-tabs button{display:flex;justify-content:space-between;gap:10px;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;transition:background .18s}.place-tabs button[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.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:8px;align-items:start;margin:16px 0}.place-more{flex:1;min-width:0}.place-more>summary{list-style:none;cursor:pointer;float:right;padding:8px 16px;border:1px solid var(--line);border-radius:8px;font-size:22px}.place-more:not([open]) .place-secondary{display:none}.place-secondary{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px;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:12px}.place-metric{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;padding:16px;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:12px;background:var(--soft);padding:14px;border-radius:10px;margin-top:12px}.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:16px}.place-tabs{position:static;flex-direction:row;overflow-x:auto;padding-bottom:8px}.place-tabs button{flex-shrink:0;border-radius:24px;align-items:center;padding:10px 14px}.place-panes .full-card-fields{grid-template-columns:minmax(0,1fr)}.place-metrics{gap:8px}.place-metric{padding:12px}.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:12px;width:230px;box-shadow:var(--shadow)}}
.place-tabs button[aria-selected=true]{background:#075985;color:#fff;border-color:#075985}.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,#818cf8);outline-offset:-2px}
#ops-menu{position:fixed;z-index:10000;display:grid;gap:4px;padding:8px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:var(--surface,#252735);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #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:12px}.ops-card dd{margin:0;overflow-wrap:anywhere}.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:12px}

.ops-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.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:8px}
#ops-menu button,#ops-menu a{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:10px 12px;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(12px,env(safe-area-inset-bottom));padding-top:12px}#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:10px 12px}
.ops-card dt:nth-of-type(odd),.ops-card dd:nth-of-type(odd){background:var(--row-alt,rgba(127,127,127,.08))}
.ops-card .actions{display:flex;gap:8px;flex-wrap:wrap}

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

/* CAT shared dictionary picker and manager. */
.cat-inline{grid-column:1/-1;display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px}.cat-actions{display:flex;gap:8px;flex-wrap:wrap}.cat-manager{width:min(720px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:24px}.cat-records{display:grid;gap:16px;margin-top:16px}.cat-record{padding:16px;border:1px solid var(--line);border-radius:12px;display:grid;gap:12px}.cat-manager label,.cat-inline label{display:grid;gap:6px}.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:16px}.cat-actions button{flex:1}#catalog-button{font-size:12px}}
@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:14px;margin:20px 0 24px;align-items:stretch}
.eco-tile{display:flex;flex-direction:column;gap:12px;padding:20px 16px;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:12px;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:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:14px;margin:16px 0}
.full-card .eco-rows{display:block;margin:12px 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:10px 16px;padding:13px 16px;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:anywhere}
.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:8px;background:transparent;border:0;color:var(--accent);text-align:right;text-decoration:underline;text-underline-offset:3px;padding:4px 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:5px 12px}.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:12px;border-radius:10px;margin:8px 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:10px}.eco-tile{padding:14px 12px}.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:12px 10px;gap:10px}.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:14px;border-radius:10px}.place-documents li:nth-child(even){background:var(--soft)}
[data-theme=dark] .place-tabs button[aria-selected=true]{color:#e6f4f4;background:#075985}

.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:28px}.ops-card button:disabled .ops-why{flex-basis:100%}
.ops-why{display:block;font-size:12px;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:anywhere}
#detail-dialog .dialog-head h2{min-width:0;overflow-wrap:anywhere}
#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 · Financial Trust. Labels only; monetary tones remain semantic. */
:root{--label-accent:#805300}
[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}
.kpi>span,.eco-tile>span,.object-card .card-metric>span,
.mini-money>div>span,.money-item>span,.place-metric>span,
.sale-expected>span,.section-title h2,.card-section>h3,
.card-section>.section-title h2,.place-panes>section>h3{
 color:var(--label-accent);font-weight:600;letter-spacing:.01em;
}
/* PASPORT: contacts and private tenant document drafts. */
.pasport-contacts{min-width:0}.pasport-contacts h3{margin-bottom:12px}
.pasport-contact-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(150px,1.3fr);gap:10px;padding:12px;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:8px;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:8px;justify-content:flex-end}
.pasport-contact-actions button{padding:8px;min-width:44px}.pasport-contact-actions a{white-space:normal}
.pasport-contact-card dd{overflow-wrap:anywhere}.pasport-contact-card a{display:inline-flex;align-items:center;gap:6px;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:anywhere}.pasport-private summary .ico,.k3-requisite-editor summary .ico{vertical-align:middle;width:19px;height:19px}
.pasport-private summary button{border:0;padding:4px;min-height:44px;color:var(--accent);font-size:13px}
.pasport-private[open]>.form-fields{margin-top:16px}.pasport-private [data-passport-status]:not(:empty),.pasport-recognize [role=status]:not(:empty){margin-top:12px;padding:12px;border-radius:8px;background:var(--soft);color:var(--ink);font-size:13px}
.pasport-recognize{display:grid;gap:12px;margin:16px 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.pasport-name-choice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;background:var(--warn-bg);color:var(--warn);padding:12px;border-radius:9px;font-size:13px}
.pasport-warning{background:#fef3c7!important;color:#78350f!important}
[data-theme=dark] .pasport-warning{background:#432f13!important;color:#fde68a!important}
.pasport-card h3{display:flex;align-items:center;gap:8px}.pasport-card p{margin-top:10px}.pasport-card [data-passport-full]{margin-top:16px}
.pasport-documents ul{padding-left:20px;margin:8px 0 16px}.pasport-documents h4{margin:12px 0 0}.pasport-documents a{display:inline-block;min-height:44px;padding:8px 0;overflow-wrap:anywhere}
@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:4px;min-height:44px;color:var(--accent);font-size:13px}
.k3-requisite-editor small.pasport-warning{padding:8px;border-radius:6px}
