:root{--brand:#4682b4;--accent:#2f6a99;--accent-soft:#e6eff7;--bg:#f3f5f8;--card:#fff;--ink:#17212b;--ink-soft:#5f6c7a;--line:#dfe4ea;--ok:#1f8a4c;--ok-soft:#e3f4ea;--warn:#b26a00;--warn-soft:#fff1dc;--danger:#c0392b;--danger-soft:#fdeceb;--vladetel:var(--accent);--maystor:var(--ink-soft);--shadow:0 1px 2px #17212b0f, 0 8px 24px #17212b0f;--radius:12px;--bar-h:56px;--nav-h:62px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent:#8dbde6;--accent-soft:#18293a;--bg:#0f1418;--card:#171d24;--ink:#e8edf2;--ink-soft:#97a3b0;--line:#273038;--ok:#5fd39a;--ok-soft:#12301f;--warn:#f0b35a;--warn-soft:#3a2a10;--danger:#ff8a80;--danger-soft:#3b1d1a;--shadow:0 1px 2px #0006, 0 8px 24px #00000059}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}h1{margin:0;font-size:1.15rem;font-weight:650}h2{margin:0 0 .6rem;font-size:1rem;font-weight:650}h3{margin:0 0 .4rem;font-size:.95rem}a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.sub,.muted,.hint{color:var(--ink-soft)}.hint{font-size:.85rem}.error{color:var(--danger)}.ok{color:var(--ok)}.bad{color:var(--danger)}button,a.button{font:inherit;border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}button:disabled{opacity:.55;cursor:default}button.primary,a.button.primary,button[type=submit]{background:var(--brand);border-color:var(--brand);color:#fff}button.link{min-height:0;color:var(--accent);background:0 0;border:0;padding:0;font-size:.9rem}button.danger{color:var(--danger);background:var(--danger-soft);border-color:#0000}button.link.danger{color:var(--danger);background:0 0;border:0}.icon-btn{width:44px;height:44px;min-height:0;color:var(--ink);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--accent-soft)}.actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}:where(input:not([type=checkbox]):not([type=radio]),select,textarea){font:inherit;border:1px solid var(--line);background:var(--card);width:100%;min-height:46px;color:var(--ink);border-radius:10px;padding:.55rem .8rem}input[type=search]{appearance:none}textarea{min-height:5rem}:is(input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--brand);margin:0}.check{align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge--vladetel{background:var(--accent-soft);color:var(--accent)}.badge--maystor{background:var(--line);color:var(--ink-soft)}.badge--status-priet{background:var(--line);color:var(--ink)}.badge--status-v_rabota{background:var(--accent-soft);color:var(--accent)}.badge--status-gotov{background:var(--ok-soft);color:var(--ok)}.badge--status-predaden{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.badge--status-otkazan{background:var(--danger-soft);color:var(--danger)}.logo{color:var(--ink);align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.logo svg{display:block}.logo-name{letter-spacing:-.01em;font-size:1.1rem}.login{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.login-card{background:var(--card);border:1px solid var(--line);width:min(24rem,100%);box-shadow:var(--shadow);border-radius:16px;gap:1rem;padding:1.75rem 1.5rem;display:grid}.login-brand{text-align:center;justify-items:center;gap:.3rem;margin-bottom:.5rem;display:grid}.login-brand h1{margin-top:.4rem;font-size:1.5rem}.login-brand p{margin:0}.login label{color:var(--ink-soft);gap:.3rem;font-size:.85rem;display:grid}.login button[type=submit]{width:100%;min-height:50px;font-size:1.05rem}.login .hint{text-align:center;margin:0}.shell{flex-direction:column;min-height:100dvh;display:flex}.bar{z-index:10;min-height:calc(var(--bar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(.5rem, env(safe-area-inset-right)) 0 max(.5rem, env(safe-area-inset-left));background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:.4rem;display:flex;position:sticky;top:0}.bar-back,.bar-mark{width:44px;height:44px;color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.bar-back:hover{background:var(--accent-soft)}.bar-title{flex:auto;min-width:0;padding:.4rem .25rem}.bar-title h1{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5rem;display:flex;overflow:hidden}.bar-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.bar-actions{flex:none;align-items:center;gap:.3rem;padding-right:.25rem;display:flex}.bar-actions button,.bar-actions a.button{min-height:40px;padding:.4rem .8rem;font-size:.9rem}.bar-actions .icon-btn{padding:0}.bar-total{font-variant-numeric:tabular-nums;padding:0 .5rem;font-size:1.05rem}.page{width:100%;max-width:46rem;padding:1rem max(1rem, env(safe-area-inset-right)) calc(var(--nav-h) + 1.5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));flex:auto;margin:0 auto}.page--wide{max-width:72rem}.page section{margin-bottom:1.75rem}.navbar{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.navbar-brand{display:none}.navbar a{color:var(--ink-soft);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-size:.7rem;font-weight:600;text-decoration:none;display:flex}.navbar a svg{box-sizing:content-box;border-radius:999px;padding:3px 14px}.navbar a.active{color:var(--accent)}.navbar a.active svg{background:var(--accent-soft)}@media (width>=900px){.shell{grid-template-rows:auto 1fr;grid-template-columns:15rem 1fr;display:grid}.navbar{border-top:0;border-right:1px solid var(--line);flex-direction:column;grid-area:1/1/span 2;justify-content:flex-start;gap:.2rem;height:100dvh;padding:1rem .75rem;position:sticky;top:0}.navbar-brand{gap:.25rem;padding:.4rem .75rem 1.25rem;display:grid}.navbar-tenant{color:var(--ink-soft);font-size:.8rem}.navbar a{border-radius:10px;flex-direction:row;flex:none;justify-content:flex-start;gap:.7rem;padding:.6rem .75rem;font-size:.95rem;font-weight:500}.navbar a svg{padding:0}.navbar a.active{background:var(--accent-soft)}.navbar a.active svg{background:0 0}.bar{grid-area:1/2;padding-left:1.5rem;padding-right:1.5rem}.bar-mark{display:none}.bar-title h1{font-size:1.3rem}.page{grid-area:2/2;padding:1.5rem 2rem 3rem}}.home-user{color:var(--ink-soft);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.9rem;display:flex}.cta{border-radius:var(--radius);background:var(--brand);color:#fff;min-height:54px;box-shadow:var(--shadow);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.05rem;font-weight:650;text-decoration:none;display:flex}.tiles-nav{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.75rem;display:grid}.tile-link{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-height:6rem;color:var(--ink);align-content:space-between;gap:.6rem;padding:1rem;font-weight:600;text-decoration:none;display:grid}.tile-link svg{color:var(--accent)}.tile-link:hover{border-color:var(--brand)}@media (width>=600px){.tiles-nav{grid-template-columns:repeat(4,1fr)}}.people{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.people li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:.9rem;display:flex}.version{color:var(--ink-soft);margin-top:2rem;font-size:.75rem}.state{justify-items:start;gap:.8rem;max-width:30rem;margin:0 auto;padding:4rem 1.25rem;display:grid}.search-wrap{margin-bottom:1rem;position:relative}.search-wrap svg{color:var(--ink-soft);pointer-events:none;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.search-wrap .search{padding-left:2.7rem}.rows{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.8rem .9rem;text-decoration:none;display:grid}.row:hover{border-color:var(--brand)}.row-main{gap:.1rem;min-width:0;display:grid}.row-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.row-chevron{color:var(--ink-soft)}.plate{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:1.05rem}.vform{gap:1rem;display:grid}.vform fieldset{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0;padding:1rem}.vform legend{color:var(--ink-soft);padding:0 .4rem;font-size:.85rem;font-weight:600}.grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem;display:grid}.vform label,.terms label{color:var(--ink-soft);gap:.3rem;font-size:.85rem;display:grid}.wide{grid-column:1/-1}.statuses{flex-wrap:wrap;gap:.4rem;display:flex}.statuses button:disabled{background:var(--brand);border-color:var(--brand);color:#fff;opacity:1}.details{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem 1.2rem;margin:0;display:grid}.details div{gap:.1rem;display:grid}.details dt{color:var(--ink-soft);font-size:.78rem}.details dd{margin:0}.terms{grid-template-columns:12rem 1fr;align-items:end;gap:.7rem;display:grid}.terms .actions,.terms .error,.terms .hint{grid-column:1/-1}@media (width<=640px){.terms{grid-template-columns:1fr}}.events{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.events>li{grid-template-columns:9rem 1fr;gap:.8rem;font-size:.9rem;display:grid}@media (width<=640px){.events>li{grid-template-columns:1fr;gap:.1rem}}.changes{margin:.2rem 0 0;padding:0;font-size:.85rem;list-style:none}.tabs{gap:.35rem;margin-bottom:1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.tabs button{border-radius:999px;flex:none;min-height:38px;padding:.35rem .9rem;font-size:.9rem}.tabs button.active{background:var(--brand);border-color:var(--brand);color:#fff}.scroll-x{overflow-x:auto}.ptable{border-collapse:collapse;width:100%;margin-bottom:1rem;font-size:.9rem}.ptable caption{text-align:left;color:var(--ink-soft);padding:.4rem 0;font-weight:600}.ptable th,.ptable td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.4rem .5rem}.ptable thead th{color:var(--ink-soft);font-weight:600}.ptable thead th.sub{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.ptable tbody th{font-weight:500}.ptable.matrix tbody th{background:var(--bg);position:sticky;left:0}.ptable td{font-variant-numeric:tabular-nums}.ptable td.num{text-align:right}.ptable tfoot th{text-align:right;color:var(--ink-soft);font-weight:500}.ptable tfoot tr.grand th,.ptable tfoot tr.grand td{border-top:2px solid var(--line);color:var(--ink);font-weight:650}.ptable tr.muted th,.ptable tr.muted td{color:var(--ink-soft)}input.cell{text-align:right;background:0 0;border:1px solid #0000;border-radius:6px;width:5rem;min-height:0;padding:.3rem .4rem}input.cell:hover,input.cell:focus{border-color:var(--line);background:var(--card)}input.cell.text{text-align:left;width:9rem}input.cell.bad{border-color:var(--danger)}.rules{gap:1.5rem;display:grid}.rules section{margin:0}.calc{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-top:2rem;padding:1rem}.calc-inputs{flex-wrap:wrap;gap:.8rem;margin-bottom:.8rem;display:flex}.calc-inputs label{color:var(--ink-soft);gap:.3rem;font-size:.85rem;display:grid}.calc-inputs input,.calc-inputs select{width:10rem}.calc-factors{flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:.8rem;display:flex}.calc-out{flex-wrap:wrap;gap:1.5rem;margin:0;display:flex}.calc-out div{gap:.1rem;display:grid}.calc-out dt{color:var(--ink-soft);font-size:.78rem}.calc-out dd{margin:0}.scheme-layout{grid-template-columns:minmax(16rem,24rem) 1fr;align-items:start;gap:2rem;display:grid}@media (width<=800px){.scheme-layout{grid-template-columns:1fr}}.scheme{touch-action:manipulation;width:100%;max-width:24rem;margin:0 auto;display:block}.scheme .body{fill:var(--card);stroke:var(--line);stroke-width:3px}.scheme .wheel{fill:var(--line)}.scheme .glass{fill:var(--line);opacity:.5}.scheme .roofline{fill:none;stroke:var(--line);stroke-width:2px}.scheme .marker{cursor:pointer;outline:none}.scheme .marker circle{fill:var(--bg);stroke:var(--ink-soft);stroke-width:2px}.scheme .marker text{fill:var(--ink);pointer-events:none;font-size:11px;font-weight:600}.scheme .marker.has circle{fill:var(--brand);stroke:var(--brand)}.scheme .marker.has text{fill:#fff}.scheme .marker.pre circle{fill:var(--warn);stroke:var(--warn)}.scheme .marker.pre text{fill:#fff}.scheme .marker.selected circle,.scheme .marker:focus-visible circle{stroke:var(--ink);stroke-width:4px}.scheme .badge circle{fill:var(--danger);stroke:var(--bg);stroke-width:2px}.scheme .badge text{fill:#fff;font-size:10px}.drows{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.drows li{border:1px solid var(--line);background:var(--card);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:.8rem;padding:.6rem .8rem;font-size:.9rem;display:grid}.drows li.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.dform{margin-top:.5rem}.warnings{color:var(--warn);margin:.5rem 0;padding:0;font-size:.85rem;list-style:none}.totals{margin-top:2rem}.issue{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);gap:.6rem;margin-top:.8rem;padding:1rem;display:grid}.issue p{margin:0}.quotes li{grid-template-columns:1fr auto auto}.locked{border:1px solid var(--ok);color:var(--ok);background:var(--ok-soft);border-radius:10px;align-items:center;gap:.5rem;padding:.7rem .9rem;display:flex}.pre-list{gap:.7rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.pre-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);gap:.5rem;padding:.8rem .9rem;display:grid}.pre-list li.missing{border-color:var(--warn)}.pre-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.photos{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.photos li{justify-items:center;gap:.2rem;display:grid}.photos img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:7.5rem;height:5.6rem}.pre-form{margin-top:.5rem}.notes{width:100%}.sigpad{gap:.5rem;display:grid}.sigpad canvas{border:1px dashed var(--ink-soft);touch-action:none;background:#fff;border-radius:10px;width:100%;max-width:30rem;height:10rem}.signature{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:16rem;margin-bottom:.6rem;padding:.3rem;display:block}.checks{color:var(--ink-soft);gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.checks li.ok{color:var(--ok)}.month-nav{justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.month{text-align:center;min-width:10rem;font-size:1.05rem}.tiles{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}@media (width<=640px){.tiles{grid-template-columns:1fr}}.tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);gap:.2rem;padding:.9rem 1rem;display:grid}.tile span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.tile strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.income-prompt{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);gap:.6rem;padding:.9rem 1rem;display:grid}.income-prompt p{margin:0}.picked{align-items:center;gap:.5rem;padding:.5rem 0;display:inline-flex}.matches{gap:.2rem;margin:.2rem 0 0;padding:0;list-style:none;display:grid}.cat-cols{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}@media (width<=640px){.cat-cols{grid-template-columns:1fr}}.cat-cols h3{color:var(--ink-soft);margin:0 0 .4rem;font-size:.85rem}.cats{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.cats li{border-bottom:1px solid var(--line);justify-content:space-between;gap:.6rem;padding:.4rem 0;font-size:.9rem;display:flex}.entries td,.entries th{white-space:nowrap}.entries td:nth-child(4){white-space:normal;max-width:16rem}.install{left:.75rem;right:.75rem;bottom:calc(var(--nav-h) + .75rem + env(safe-area-inset-bottom));z-index:20;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;max-width:40rem;margin:0 auto;padding:.9rem 1rem;display:flex;position:fixed}.install p{margin:.2rem 0 0;font-size:.85rem}@media (width>=900px){.install{bottom:1rem;left:auto;right:1rem}}.page>section,.scheme-layout>.panel-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.page>section>h2,.panel-col>h2{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin:0 0 .8rem;display:flex}.page>section>h2>.button,.page>section>h2>button{font-weight:600}.page>section :is(.drows li,.people li,.pre-list li,.tile,.issue,.income-prompt,.vform fieldset),.panel-col :is(.drows li,.vform fieldset){background:var(--bg)}.page>section.issue,.page>section.calc,.page>section.totals{margin-top:0}.page>.hint:last-child{margin-top:.5rem}.statuses button{border-radius:999px;min-height:40px;padding:.35rem .9rem;font-size:.9rem}.statuses button:disabled{opacity:1}.photos{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem;display:grid}.photos li{justify-items:stretch}.photos img{width:100%;height:5.4rem}.sigpad canvas{max-width:none;height:12rem}.locked{margin:0 0 1rem}.checks li{align-items:center;gap:.5rem;min-height:2rem;display:flex}.tiles .tile:nth-child(3){grid-column:1/-1}@media (width<=640px){.tiles{grid-template-columns:1fr 1fr;gap:.5rem}.tile{padding:.7rem .8rem}.tile strong{font-size:1.15rem}.vform .actions,.terms .actions{flex-direction:column;align-items:stretch}.vform .actions>button,.terms .actions>button,.issue .actions>button{width:100%}.issue .actions{flex-direction:column;align-items:stretch}.page>section{padding:.9rem}}@media (width>=641px){.tiles .tile:nth-child(3){grid-column:auto}}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:max(16px,1em)}
