/* Palette and type stack verified against cehovik.pro on 2026-11-02. */
:root{--accent:#d1fe17;--green:#d1fe17;--ink:#f7f7f8;--muted:#a8a8a8;--paper:#1c1e20;--soft:#23262a;--line:#383e46;--danger:#f87171;--brand-canvas:#0f1113;--brand-hover:#2c3035;--brand-lime-ink:#14151a;--brand-nav:216px;--brand-library:288px;--brand-top:144px;--brand-bottom:44px;color-scheme:dark}
body{font:13px Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--brand-canvas);color:var(--ink)}
button,input,select,textarea{font:inherit}button{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:4px;min-height:36px;font-weight:500}button:hover{background:var(--brand-hover)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{background:#141619;color:var(--ink);border-color:var(--line);border-radius:4px}input::placeholder{color:#898a8b}input:focus,select:focus{outline:2px solid var(--accent)}input[type=checkbox]{accent-color:var(--accent)}.primary,header button.primary{background:var(--accent);color:var(--brand-lime-ink);border:1px solid var(--accent);font-weight:700;border-radius:4px}.primary:hover,header button.primary:hover{background:#e2ff5c;color:var(--brand-lime-ink);border-color:#e2ff5c}
header{position:fixed;inset:0 0 auto;height:88px;z-index:30;display:flex;align-items:center;gap:14px;padding:4px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--brand-canvas);color:var(--ink);box-shadow:none}
header .brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--ink);text-decoration:none;letter-spacing:0}.brand-logo{width:120px;height:80px;object-fit:contain;display:block;background:transparent;border-radius:4px}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{color:var(--accent);font-size:15px;letter-spacing:1.1px;font-weight:800}.brand-copy small{font-size:11px;font-weight:400;color:var(--muted)}header .divider{display:block;height:32px;margin:0;background:var(--line)}header #project-name{display:block;width:180px;min-width:100px;font-size:12px;color:var(--ink);border:1px solid transparent;background:transparent}header #project-name:focus{border-color:var(--line);background:var(--paper)}header .save-state{display:none}header .header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}header button{background:var(--soft);color:var(--ink);border:1px solid var(--line);min-height:38px;padding:7px 12px;font-size:12px;font-weight:600}header button.primary{height:38px;margin:0;padding:7px 16px}header #help{width:36px;padding:0;font-size:15px}header #nav-toggle,header #quick-actions-toggle{display:none}
.toolbar{position:fixed;top:96px;left:16px;right:16px;height:36px;z-index:25;display:flex;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;pointer-events:none}.toolbar .tools,.toolbar .tools:first-child{position:static;display:flex;align-items:center;gap:3px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:2px;box-shadow:none;pointer-events:auto;max-width:none;white-space:nowrap}.toolbar .tools button{color:var(--ink);background:transparent;border:0;border-radius:3px;min-height:30px;padding:5px 10px;font-size:12px}.toolbar .tools button:hover{background:var(--brand-hover)}.toolbar .tools span{background:var(--line);margin:0 2px}.toolbar button[aria-pressed=true]{background:#d1fe171a;color:var(--accent)}.toolbar button[aria-pressed=false]{color:var(--muted)}
main{position:fixed;inset:0;display:block;height:auto}nav{position:absolute;left:16px;top:var(--brand-top);bottom:var(--brand-bottom);height:auto;max-height:none;width:var(--brand-nav);padding:8px 0;background:var(--paper);border:1px solid var(--line);border-radius:4px;z-index:16;box-shadow:none}nav::before{content:'ПРОЕКТИРОВАНИЕ';display:block;padding:8px 12px 12px;color:#898a8b;font-size:10px;font-weight:700;letter-spacing:1.2px}nav button{color:var(--ink);font-size:12px;min-height:35px;padding:8px 12px;border:0;border-left:2px solid transparent;line-height:1.35;background:transparent}nav button:hover{background:var(--soft)}nav button.active,nav button.nav-child.active{color:var(--accent);background:#d1fe1712;border-left-color:var(--accent)}nav button svg{width:19px;height:19px}nav button.nav-child{font-size:11px;min-height:30px}
#library{left:232px;top:var(--brand-top);bottom:var(--brand-bottom);width:var(--brand-library);background:var(--paper);border:1px solid var(--line);border-left:0;border-radius:0 4px 4px 0;box-shadow:none;z-index:17}#library-content{padding:12px}.panel-title{height:auto;min-height:43px;padding:8px 12px;background:var(--soft);border-bottom:1px solid var(--line);color:var(--ink)}.panel-title h2{font-size:13px;font-weight:650}.panel-title button{color:var(--muted);font-size:22px;min-height:28px;min-width:28px}.panel-title button:hover{color:var(--ink);background:var(--brand-hover)}
#workspace{position:absolute;inset:var(--brand-top) 16px var(--brand-bottom) 536px;width:auto;height:auto;min-width:0;border:1px solid var(--line);border-radius:4px;background:#ecece8;overflow:hidden}.library-collapsed #workspace{left:248px}#viewport{position:absolute;inset:0;width:100%;height:100%}.inspector-open.has-selection #workspace{right:320px}#inspector{right:16px;top:var(--brand-top);bottom:var(--brand-bottom);width:288px;max-height:none;border:1px solid var(--line);border-radius:4px;background:var(--paper);box-shadow:none;z-index:18}#inspector-content{padding:14px}.has-selection #library{bottom:var(--brand-bottom)}
.field{gap:5px;margin-bottom:14px}.field label,.unit,.section-label{color:var(--muted)}.field label{font-size:12px}.field input,.field select{min-height:34px;border-color:var(--line);background:#141619;color:var(--ink);font-size:12px;padding:6px 8px}.field select{padding-right:20px}.section-label{font-size:10px;letter-spacing:1px}.empty-description,.print-note{color:var(--muted)}.notice{background:var(--soft);color:#c1c4c8;border:1px solid var(--line)}details{border-color:var(--line)}summary{font-size:12px}.source-card select{background:#141619;color:var(--ink);border-color:var(--line);min-height:28px;font-size:11px}
.card,.source-card .card{background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:4px;height:156px;min-height:156px}.card:hover{border-color:#69733d;background:var(--brand-hover)}.card-art{background:#fff;height:116px}.card b{padding:7px 6px;font-size:11px}.card small,.swatch small{color:var(--muted)}.cards{gap:10px 8px}.swatch{background:var(--soft);border-color:var(--line)}.breadcrumbs button{color:var(--accent)}.catalog-folders button{color:var(--ink);border-bottom:1px solid var(--line);padding:10px 6px;font-size:12px}.catalog-folders button:hover{background:var(--soft)}.catalog-folders button span{color:var(--accent)}.search{height:34px;min-height:34px;background:#141619;color:var(--ink);border-color:var(--line);font-size:12px}
.room-tabs{gap:4px}.room-tabs button{color:var(--muted);border:1px solid var(--line);min-height:30px;border-radius:3px;background:var(--soft);font-size:11px}.room-tabs button.active{background:var(--accent);color:var(--brand-lime-ink);border-color:var(--accent)}.material-swatch.chosen{outline-color:var(--accent)}.facade-tabs{gap:6px}.facade-tabs button{background:var(--soft);color:var(--muted);min-height:36px;border-color:var(--line)}.facade-tabs [aria-selected=true]{background:#d1fe171a;color:var(--accent);border-color:#d1fe1755}.facade-selection{border-color:var(--line);gap:12px}.facade-selection>img{background:#fff;border-radius:3px}.facade-selection small{color:var(--muted)}.facade-selection b{font-size:14px}.selected-decor{font-size:12px}.selected-decor img,.selected-decor>span:first-child{border-color:#68717e}.facade-swatch{background:var(--soft);color:var(--ink);border-color:var(--line);font-size:11px;gap:8px}.facade-swatch:hover{background:var(--brand-hover);border-color:#69733d}.facade-swatch-art{border-color:var(--line)}.facade-swatch.chosen{outline-color:var(--accent);background:#d1fe1712}.facade-swatch:focus-visible{outline-color:var(--accent)}.facade-apply-bar{background:var(--paper);border-color:var(--line);padding:10px 0;bottom:-12px}.facade-apply-bar small{color:var(--muted)}#facade-error{color:var(--danger)}.facade-pages{color:var(--muted)}#handle-preview{padding:10px;background:var(--soft);border-radius:4px;margin-bottom:12px}#handle-preview img{background:#fff;border-radius:3px;margin-bottom:9px}.accessory-row,.server-project-card{border-color:var(--line)}.accessory-row small,.server-project-card small{color:var(--muted)}.server-project-card{padding:14px 0}.server-project-actions{gap:5px}.server-project-actions button{font-size:11px;min-height:31px}.project-card{background:var(--soft);color:var(--ink)}.project-card small{color:var(--muted)}.mini-list button.active{background:#d1fe171a;border-color:var(--accent)}
.scene-top{bottom:51px;right:12px;left:auto;top:auto}.view-switch{background:var(--paper);border:1px solid var(--line);box-shadow:0 2px 8px #0002;border-radius:4px}.view-switch button{color:var(--ink);min-height:32px;background:transparent}.view-switch button.active{background:var(--accent);color:var(--brand-lime-ink)}.scene-bottom{bottom:12px;right:12px;left:auto}.scene-bottom button{color:var(--ink);background:var(--paper);border-color:var(--line);height:32px}.scene-bottom #room-badge{display:none}#object-actions button{background:var(--paper);border-color:var(--line);box-shadow:0 2px 8px #0003}#object-actions button:hover{background:var(--brand-hover)}#object-actions svg{stroke:var(--ink)}#object-actions button[aria-pressed=true]{border-color:var(--accent)}
footer{position:fixed;inset:auto 0 0;height:32px;background:var(--brand-canvas);color:var(--muted);border-top:1px solid var(--line);gap:10px;padding:0 16px;font-size:11px;z-index:25}footer button{color:var(--muted);background:transparent;font-size:11px;min-height:25px}footer #total{color:var(--accent);font-size:13px;font-weight:750;border:0}footer #count{color:var(--muted)}.status-dot{background:var(--accent)}#status{max-width:45vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#toast{background:var(--paper);color:var(--ink);border:1px solid #d1fe1755;border-left:3px solid var(--accent);border-radius:4px;bottom:48px;z-index:60;box-shadow:0 5px 25px #0004}
dialog{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:4px;max-height:86dvh;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#0f1113cf}.modal-head{border-color:var(--line);background:var(--soft)}.modal-head button{color:var(--ink)}#modal-content{font-size:13px;line-height:1.65}th,td{border-color:var(--line)}th{color:var(--muted)}.sum{color:var(--ink);border-color:var(--line)}.warn{color:var(--danger)}.good{color:#4ade80}.pill{background:var(--soft);color:var(--muted)}#quick-actions{width:420px;max-width:calc(100vw - 24px);padding:0}#quick-actions .quick-grid{display:grid;gap:8px;padding:16px}#quick-actions .quick-grid button{text-align:left;padding:12px;min-height:44px}#nav-backdrop{display:none}
header .brand .brand-copy{background:transparent;color:var(--ink);padding:0;margin:0;font-size:inherit;letter-spacing:0}
[id^="hw-preview-"]>div>div{background:var(--soft)!important;color:var(--muted);border:1px solid var(--line)}
nav,#library,#inspector{scrollbar-width:thin;scrollbar-color:#4b525c var(--paper)}
@media(min-width:1500px){header #project-name{width:230px}header .save-state{display:block;font-size:11px;color:var(--muted)!important}}
@media(max-width:1250px) and (min-width:1001px){header .brand-copy small{display:none}header #project-name{width:140px}header .brand-copy strong{font-size:12px}.toolbar .tools button{font-size:11px;padding:5px 7px}}
@media(max-width:1000px){:root{--brand-top:132px;--brand-bottom:44px}header{height:76px;padding:4px 12px;gap:10px}.brand-logo{width:90px;height:60px}header .brand-copy strong{font-size:12px}header .brand-copy small{display:none}header .divider,header #project-name,header .save-state,header .header-actions{display:none}header #nav-toggle,header #quick-actions-toggle{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 11px;gap:6px;font-size:12px}header #nav-toggle svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7}.toolbar{top:84px;left:8px;right:8px;gap:8px;height:36px}.toolbar .tools{overflow-x:auto;scrollbar-width:thin;flex-shrink:1;min-width:0}.toolbar .tools:first-child{position:static;left:auto;top:auto;min-width:110px;max-width:45%}.toolbar .tools:last-child{max-width:55%;overflow-x:auto}.toolbar .tools button,.toolbar .tools:first-child #new,.toolbar .tools:first-child #open,.toolbar .tools:first-child #duplicate,.toolbar .tools:first-child #remove,.toolbar .tools:last-child #focus,.toolbar .tools:last-child #image,.toolbar .tools:last-child #walls,.toolbar .tools:last-child #dimensions{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:32px;font-size:11px;padding:5px 8px}nav{display:none;position:fixed;left:8px;top:var(--brand-top);bottom:var(--brand-bottom);width:min(330px,calc(100vw - 16px));max-height:none;z-index:35}.nav-open nav{display:block}.nav-open #nav-backdrop{display:block;position:fixed;inset:76px 0 32px;border:0;border-radius:0;background:#0f111388;z-index:34}nav button{min-height:40px;font-size:13px}#workspace,.library-collapsed #workspace,.inspector-open.has-selection #workspace{left:8px;right:8px;top:var(--brand-top);bottom:var(--brand-bottom);width:auto;height:auto}#library,.has-selection #library{position:fixed;left:8px;right:8px;top:var(--brand-top);bottom:var(--brand-bottom);width:min(400px,calc(100vw - 16px));z-index:20;border:1px solid var(--line);border-radius:4px}#inspector{position:fixed;left:auto;right:8px;top:var(--brand-top);bottom:var(--brand-bottom);width:min(340px,calc(100vw - 16px));max-height:none;z-index:22}.panel-title{min-height:44px}.panel-title button{min-width:32px;min-height:32px}.field input,.field select{min-height:38px}.scene-top{bottom:51px;right:12px}.scene-bottom{display:flex;bottom:12px;right:12px}footer{padding:0 10px;font-size:10px}footer #count{display:none}footer #total{font-size:12px}#status{max-width:35vw}.modal-actions{flex-wrap:wrap;justify-content:flex-start}#modal-content{padding:16px}}
@media(max-width:480px){header .brand-copy{display:none}header .brand{gap:0}.brand-logo{width:90px;height:60px}header #nav-toggle,header #quick-actions-toggle{min-height:44px;padding:8px 10px}.toolbar .tools button{min-height:34px}.toolbar .tools:first-child{max-width:43%}.toolbar .tools:last-child{max-width:57%}#library{width:calc(100vw - 16px)}#inspector{width:calc(100vw - 16px)}footer #issues{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#status{display:none}.scene-top{bottom:50px}.view-switch button{min-height:34px;padding:5px 12px}#modal-content .modal-actions button{min-height:42px}.facade-swatch{font-size:12px}.facade-swatch-art{height:100px}}
@media print{body{background:white;color:#111}header,.toolbar,main,footer,#quick-actions,#nav-backdrop{display:none!important}#modal[open]{display:block;position:absolute;inset:0 auto auto 0;margin:0;width:100%;max-width:none;max-height:none;overflow:visible;background:white;color:#111;border:0}#modal .modal-head{background:white;color:#111}#modal th,#modal td,#modal .sum,#modal .print-note{color:#111;border-color:#bbb}#modal .modal-actions{display:none}}
@media print{html{background:white}#modal::before{content:'';position:fixed;inset:15mm;background:url('./branding/cehovik-bureau.png') center/180mm auto no-repeat;opacity:.04;pointer-events:none;z-index:0}#modal>.modal-head,#modal>#modal-content{position:relative;z-index:1}#modal .modal-head{background:transparent}#modal h3{break-after:avoid}#modal tr{break-inside:avoid}}
@media print{:root{color-scheme:light}@page{background:white}}

.card,.source-card .card{height:auto;min-height:184px;justify-content:flex-start;overflow:visible}.card-art{height:116px;flex:0 0 116px;border-radius:3px 3px 0 0}.card b{flex:0 0 auto;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.4;padding:10px 8px 4px;font-size:12px;color:var(--ink)}.card small{display:block;flex:0 0 auto;white-space:normal;overflow-wrap:anywhere;line-height:1.45;padding:2px 8px 10px}.cards{align-items:stretch}

.scene-loading{position:absolute;top:14px;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:8px;background:#16191ee8;color:#f5f6f7;border:1px solid #a7cb36;z-index:6;pointer-events:none;font:500 13px system-ui;box-shadow:0 6px 24px #0002}.scene-loading[hidden]{display:none}
