:root{--bg:#f1f0ed;--bg2:#f1f0ed;--rail:#29322f;--rail2:#29322f;--surface:#fff;--surface2:#f6f5f2;--canvas:#fcfcfa;--text:#242a28;--muted:#606a66;--border:#d6d3cc;--accent:#126b66;--soft:#e6f0ee;--field:#fff;--read:#f6f5f2;--grid:#e9e8e3;--stripe:#f6f5f2;--error:#a23f37;--success:#356b4b;--warning:#86601f;--radius:5px;--general-w:292px;--info-w:246px;--sketch-h:48%;font-size:12px}
:root[data-theme=dark]{--bg:#161b19;--bg2:#161b19;--rail:#111715;--rail2:#111715;--surface:#202724;--surface2:#272f2b;--canvas:#1b221f;--text:#e7ebe8;--muted:#adb8b2;--border:#3a4440;--accent:#7bb9ad;--soft:#293e38;--field:#1b211f;--read:#272f2b;--grid:#303a35;--stripe:#242d29;--error:#e39286;--success:#88c39b;--warning:#ddb46d}
body{background:var(--bg);font-size:12px}button{min-height:33px;padding:6px 11px;border-radius:4px;background:var(--surface);border-color:var(--border);font-size:12px;transition:background-color .12s,border-color .12s,color .12s}button:hover{background:var(--surface2);border-color:var(--muted)}button.primary,.primary-action{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:color-mix(in srgb,var(--accent) 85%,#000);border-color:var(--accent)}:root[data-theme=dark] button.primary{color:#102d28}button.selected,button[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}button.icon-button{border-radius:3px}input,select,textarea{border-color:#b8b4aa;border-radius:3px;background:var(--field);min-height:32px;padding:6px 8px;font-size:12px}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{border-color:#56625c}input[readonly]{background:var(--surface2);border-color:var(--border)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px var(--soft)}
#app{grid-template-columns:70px minmax(0,1fr);grid-template-rows:56px 37px minmax(0,1fr) 25px;gap:0;padding:0}.rail{padding:10px 7px 8px;gap:6px;background:var(--rail);border-right:0}.rail:before{content:"AC";display:grid;place-items:center;width:32px;height:32px;flex:none;margin-bottom:12px;border-radius:3px;background:#fff;color:#29322f;font-weight:700;letter-spacing:.04em}.brand-icon{display:none}.rail button{position:relative;width:54px;height:49px;min-height:49px;padding:5px 3px;flex-direction:column;gap:3px;border-radius:3px;color:#c4cec9}.rail button .icon{width:19px;height:19px}.rail button:after{content:attr(title);max-width:54px;overflow:hidden;font-size:8px;line-height:1.1;text-overflow:ellipsis}.rail #theme-toggle:after{content:"Тема"}.rail #settings-button:after{content:"Настр."}.rail #profile-button:after{display:none}.rail button:hover{background:#35413d;border-color:#4b5a55;color:#fff}.rail button.selected{background:#3b4a45;color:#fff;box-shadow:none}.rail button.selected:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;background:#71b5aa}.rail .avatar{width:30px;height:30px;min-height:30px;border:1px solid #63706b;background:transparent;color:#d7dedb}:root[data-theme=dark] .rail button{color:#aebbb4}:root[data-theme=dark] .rail button.selected{background:#30453e;color:#dcebe6}
.toolbar{padding:8px 14px;gap:6px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface);overflow:auto hidden}.toolbar button{font-size:12px}.toolbar button:not(.primary){background:transparent}.toolbar button[data-action=save]{min-width:150px}.toolbar .toolbar-spacer{min-width:12px}.doc-tabs{align-items:end;gap:3px;padding:5px 12px 0;border-bottom:1px solid var(--border);background:var(--surface)}.doc-tab{height:32px;min-width:140px;padding:4px 10px;border-radius:4px 4px 0 0;background:transparent;color:var(--muted)}.doc-tab.active{margin-bottom:-1px;padding-bottom:5px;background:var(--soft);border-color:var(--border);border-bottom-color:var(--surface);color:var(--text)}.tab-add{margin-bottom:2px;border-radius:3px}.page{padding:8px;background:var(--bg)}.card{border-radius:5px;background:var(--surface);box-shadow:none}.editor-grid{grid-template-columns:minmax(230px,var(--general-w)) 6px minmax(440px,1fr) 6px minmax(190px,var(--info-w));gap:0}.general-card{grid-column:1;grid-row:1}.general-card+.split-h{grid-column:2;grid-row:1}.right-editor{grid-column:3;grid-row:1}.info-split{grid-column:4;grid-row:1}.info-card{grid-column:5;grid-row:1}.editor-grid.hide-info{grid-template-columns:minmax(230px,var(--general-w)) 6px minmax(440px,1fr)}.editor-grid.hide-info .right-editor{grid-column:3}.general-card,.info-card{padding:0 13px 16px}.card-heading{position:sticky;top:0;z-index:4;align-items:center;min-height:60px;margin:0 -13px 13px;padding:11px 13px;border-bottom:1px solid var(--border);background:var(--surface2)}.card-heading h2{font-size:15px;line-height:1.25}.card-heading h2:before{display:block;margin-bottom:3px;font-size:9px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.general-card .card-heading h2:before{content:"Исходные данные"}.info-card .card-heading h2:before{content:"Контроль"}.general-card .section-heading{margin:20px 0 11px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field{gap:5px;margin-bottom:11px}.field-label,.info-card .field-label{min-height:17px;font-size:11px;color:var(--muted)}.info-card .field{margin-bottom:10px}.info-card input{font-family:Consolas,"Segoe UI",sans-serif;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.hint,.muted,.muted-note{font-size:11px}.notice{border-radius:3px;font-size:11px}.right-editor{grid-template-rows:minmax(240px,var(--sketch-h)) 6px minmax(230px,1fr);gap:0}.sketch-card{padding:0 11px 7px}.sketch-toolbar{min-height:59px;margin:0 -11px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}.sketch-heading h2{font-size:16px}.status-badge{height:21px;padding:2px 6px;border-radius:3px;font-size:9px}.sketch-controls{gap:5px;flex-wrap:nowrap}.sketch-controls button{min-height:30px;padding:4px 8px;border-radius:3px;font-size:11px}.sketch-holder{margin-top:2px;border-radius:0}.sketch-legend{min-height:25px}.compare-strip{min-height:32px;margin-top:0;padding:2px 4px;border-width:1px 0 0;border-radius:0;background:var(--surface2);font-size:9px}.compare-strip .material-button{min-height:25px;padding:3px 7px;font-size:10px}.points-card{padding:0 10px 7px}.points-header{min-height:59px;margin:0 -10px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}.points-header p{font-size:15px;font-weight:600;color:var(--text)}.points-options{min-height:32px;margin:4px 0}.point-tabs,.tabbar,.tabs{gap:0}.point-tabs button,.tabbar button,.tabs button{min-height:28px;padding:4px 10px;border-radius:0;font-size:11px}.point-tabs button:first-child,.tabbar button:first-child,.tabs button:first-child{border-radius:4px 0 0 4px}.point-tabs button:last-child,.tabbar button:last-child,.tabs button:last-child{border-radius:0 4px 4px 0}.table-scroll,.table-wrap,.wb-table-scroll{border-radius:3px}.data-table,table,.wb-table{font-size:11px;font-variant-numeric:tabular-nums}.data-table th,table th,.wb-table th{height:32px;padding:6px 8px;background:var(--surface2);font-size:10px}.data-table td,table td,.wb-table td{padding:5px 8px}.points-table{font-family:Consolas,monospace;font-size:11px}.points-table th{height:29px}.points-table td,.points-table input{height:29px;min-height:29px}.points-table td:first-child,.points-table td:nth-child(2){background:var(--surface2)}.statusbar{padding:0 12px;border-top:1px solid var(--rail);background:var(--rail);color:#d0d8d4;font-size:9px}.full-page{margin:0;padding:14px;border:1px solid var(--border);overflow:auto}.empty-state{border:1px solid var(--border)}
.dialog{border-radius:6px;background:var(--surface);box-shadow:0 22px 85px #09172d4a}.dialog-header{padding:16px 20px 11px}.dialog-header h2{font-size:16px}.dialog-footer{padding:11px 20px}.context-menu{border-radius:5px}.context-menu button{border-radius:3px}.toast{border-radius:5px}.loading{background:var(--bg)}.loading-card{border:0;border-radius:0;background:transparent;box-shadow:none}.loading-line{border-radius:2px}.loading-line i{background:var(--accent)}.wb-tabs{border-radius:4px}.wb-template-item,.wb-name-popup{border-radius:4px!important}.metric-pill,.badge{border-radius:3px}
@media(max-width:1320px){:root{--general-w:260px;--info-w:220px}.toolbar button{padding:6px 8px}.sketch-heading{width:100%}.sketch-controls{width:100%;flex-wrap:wrap}.sketch-toolbar{flex-wrap:wrap}.document-context{display:none}}
@media(max-width:1050px){#app{grid-template-columns:60px minmax(0,1fr)}.rail{padding-left:3px;padding-right:3px}.rail button{width:50px}.editor-grid{grid-template-columns:230px 5px minmax(400px,1fr);overflow:auto}.editor-grid .info-card,.editor-grid .info-split{display:none}.editor-grid .right-editor{grid-column:3}.toolbar .toolbar-spacer{display:none}.page{overflow:auto}.right-editor{min-width:400px}.sketch-controls .slider-control{font-size:11px}}
.dialog{width:min(760px,94vw);min-width:min(340px,94vw);max-height:92dvh}
.dialog.wide{width:min(1190px,95vw)}
.dialog-header{padding:14px 20px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}
.dialog-header h2{line-height:1.35;white-space:normal}
.dialog-content{padding:14px 20px 18px;line-height:1.4}
.dialog-footer{align-items:center;flex-wrap:wrap;background:var(--surface2)}
.dialog-footer button{flex:0 0 auto}
.dialog-stack{gap:12px}
.dialog-content .hint{margin:0 0 10px;line-height:1.45}
.dialog-content input,.dialog-content select,.dialog-content textarea{max-width:100%;min-height:34px}
.dialog-content textarea{min-height:76px}
.dialog-content .wb-form{gap:12px}
.dialog-content .wb-field{gap:6px}
.dialog-content .wb-label{line-height:1.35}
.dialog-content .wb-toggle-row,.dialog-content .switch-label{min-height:34px;line-height:1.35}
.dialog-content .wb-toggle-row{padding:3px 0}
.dialog-content .switch-label{flex:0 0 auto;white-space:nowrap}
.dialog-content .switch-label>input,.dialog-content .toggle-label>input{width:37px;min-width:37px;height:21px;min-height:21px;padding:0;border:0;flex:none}
.dialog-content .toolbar .switch-label>input{width:37px;min-width:37px;height:21px;min-height:21px}
.dialog-content .row,.dialog-content .form-row,.dialog-content .actions{align-items:center}
.dialog-content .wb-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dialog-content .wb-toolbar>.wb-field{align-self:stretch}
.dialog-content .wb-create-meta,.dialog-content .wb-create-inputs,.dialog-content .wb-template-meta,.dialog-content .wb-settings-grid,.dialog-content .wb-layout-fields{gap:12px 14px;align-items:end}
.dialog-content .wb-create-field,.dialog-content .wb-field,.dialog-content .field{min-width:0}
.dialog-content .table-wrap,.dialog-content .table-scroll,.dialog-content .wb-table-scroll{width:100%;max-width:100%;box-sizing:border-box}
.dialog .toolbar{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 0;border:0;border-radius:0;background:transparent;overflow:visible;flex-wrap:wrap}
.dialog .toolbar button{flex:0 0 auto}
.dialog .toolbar input,.dialog .toolbar select{width:auto;min-width:0}
.dialog .toolbar .toolbar-spacer{display:none}
.library-search>.hint{padding:0}
.library-search>.toolbar:first-of-type{padding-top:2px;padding-bottom:12px;border-bottom:1px solid var(--border);flex-wrap:nowrap}
.library-search>.toolbar:first-of-type>input:first-child{flex:1 1 320px;width:auto;min-width:220px;margin:0}
.library-search>.toolbar:first-of-type>select{flex:0 0 116px;width:116px;margin:0}
.library-search>.toolbar:first-of-type>.switch-label{min-height:34px;padding:4px 6px}
.library-search-controls.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px 14px;padding:14px 0;border-bottom:1px solid var(--border)}
.library-search-controls>.field-label{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;min-width:0;min-height:0;color:var(--muted)}
.library-search-controls>.field-label>span{display:block;min-height:17px;font-size:11px;line-height:1.35;white-space:normal}
.library-search-controls>.field-label>input,.library-search-controls>.field-label>select{display:block;width:100%;min-width:0;margin:0;color:var(--text)}
.library-search-controls>.field-label>.inline-error{display:block;min-height:0;font-size:10px;line-height:1.3}
.library-search>.toolbar:last-of-type{flex-wrap:wrap}
.library-search>.toolbar:last-of-type>select:first-child{flex:0 1 250px;width:250px;margin:0}
.library-similar-controls .toolbar{flex-wrap:nowrap}
.library-similar-controls .toolbar>.switch-label{flex:1 1 auto;white-space:normal}
.library-similar-controls .toolbar>input{flex:0 0 110px;width:110px}
.library-table{min-width:900px;table-layout:auto}
.library-table th,.library-table td{vertical-align:middle}
.wb-users,.wb-user-form,.wb-template-main,.wb-reference,.wb-explanation,.wb-create{min-width:0}
.wb-users-list,.wb-user-form,.wb-template-list,.wb-template-main{box-sizing:border-box}
.wb-template-item,.wb-calc-result,.recent-button,.wb-settings-grid>button{white-space:normal;text-align:left;line-height:1.35}
.wb-settings-grid>button{width:100%;justify-content:flex-start}
.wb-range,.wb-colour-row{min-height:34px}
.context-menu button{line-height:1.35;white-space:normal;text-align:left}
@media(max-width:720px){.dialog,.dialog.wide{width:96vw;min-width:0;max-width:96vw}.dialog-header,.dialog-content,.dialog-footer{padding-left:14px;padding-right:14px}.library-search>.toolbar:first-of-type{flex-wrap:wrap}.library-search>.toolbar:first-of-type>input:first-child{flex-basis:100%;min-width:0}.library-search-controls.form-grid{grid-template-columns:1fr}.library-search>.toolbar:last-of-type>select:first-child{flex:1 1 100%;width:100%}.library-similar-controls .toolbar{flex-wrap:wrap}.dialog-content .wb-create-meta,.dialog-content .wb-create-inputs,.dialog-content .wb-template-meta,.dialog-content .wb-settings-grid,.dialog-content .wb-layout-fields{grid-template-columns:1fr}}
.dialog-content .wb-toggle-row{justify-content:flex-start;gap:10px}
.dialog-content .wb-toggle-row>span{flex:0 1 auto;min-width:0;line-height:1.35}
.doc-tab{gap:6px;align-items:center;line-height:1}
.doc-tab>span:first-child{flex:1 1 auto;min-width:0;line-height:16px}
.doc-tab .doc-close{flex:0 0 23px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.doc-tab .unsaved-dot{flex:0 0 6px}
.doc-tab:not(.active):hover{background:var(--surface2)}
.doc-tab.active{border-bottom-color:var(--soft)}
.tab-add{display:inline-flex;align-items:center;justify-content:center}
.library-similar-controls{width:min(640px,100%);gap:8px}
.library-similar-controls .toolbar{display:grid;grid-template-columns:minmax(0,1fr) 20px 110px;gap:8px 10px;width:100%;padding:6px 0;flex-wrap:nowrap}
.library-similar-controls .toolbar>.switch-label{min-width:0;white-space:normal}
.library-similar-controls .toolbar>span{display:flex;align-items:center;justify-content:center}
.library-similar-controls .toolbar>input{width:110px;min-width:0}
.library-similar-controls .toolbar>.inline-error{grid-column:1/-1;margin:0}
@media(max-width:720px){.library-similar-controls .toolbar{grid-template-columns:minmax(0,1fr) 20px 90px}.library-similar-controls .toolbar>input{width:90px}}
.wb-users>.wb-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto 105px 105px;gap:10px;width:min(760px,100%);align-items:end}
.wb-users>.wb-toolbar>input{width:100%;min-width:0}
.wb-users>.wb-toolbar>.wb-field{min-width:0;max-width:none;gap:4px}
.wb-users-dialog .wb-user-form{width:100%;max-width:620px;box-sizing:border-box}
.wb-user-form>.wb-toggle-row,.wb-rights .wb-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:14px;justify-content:stretch;width:min(560px,100%);min-height:34px;padding:6px 0;box-sizing:border-box}
.wb-rights{width:min(560px,100%);display:grid;grid-template-columns:1fr;gap:0}
.wb-rights .wb-toggle-row>span,.wb-user-form>.wb-toggle-row>span{min-width:0;line-height:1.35}
.wb-rights h4{margin:16px 0 6px;font-size:11px;line-height:1.35;letter-spacing:.04em;text-transform:uppercase}
.wb-rights h4:first-child{margin-top:10px}
.wb-template-main{width:100%;max-width:1400px;margin:0 auto;gap:10px}
.wb-template-meta{display:grid;grid-template-columns:150px minmax(220px,1fr) minmax(210px,1fr);gap:9px 12px;width:min(1100px,100%);align-items:start}
.wb-template-meta>.wb-field{gap:4px}
.wb-template-meta>.wb-field:nth-child(4){grid-column:1/3;grid-row:2/4}
.wb-template-meta>.wb-toggle-row{justify-content:flex-start;min-height:34px;gap:10px}
.wb-template-meta>.wb-toggle-row:nth-child(5){grid-column:3;grid-row:2}
.wb-template-meta>.wb-toggle-row:nth-child(6){grid-column:3;grid-row:3}
.wb-template-meta>.wb-toggle-row:nth-child(5):last-child{grid-row:2}
.wb-template-materials{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,180px));gap:9px 10px;width:min(1100px,100%)}
.wb-template-materials .wb-field{min-width:0;max-width:none;gap:4px}
.wb-template-main>.wb-tabs{align-self:flex-start;max-width:100%;padding:3px;gap:2px}
.wb-template-main>.wb-tabs>button{min-height:29px;padding:4px 10px}
.dialog:has(.library-similar-controls){width:min(780px,94vw)}
.dialog-content .wb-create{width:min(1100px,100%);margin:0 auto}
.dialog-content .wb-create-meta,.dialog-content .wb-create-inputs{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 12px}
@media(max-width:900px){.wb-users>.wb-toolbar{grid-template-columns:minmax(170px,1fr) auto}.wb-template-meta{grid-template-columns:130px minmax(180px,1fr)}.wb-template-meta>.wb-field:nth-child(3){grid-column:2}.wb-template-meta>.wb-field:nth-child(4){grid-column:1/-1;grid-row:auto}.wb-template-meta>.wb-toggle-row:nth-child(5),.wb-template-meta>.wb-toggle-row:nth-child(6){grid-column:auto;grid-row:auto}}
@media(max-width:600px){.wb-users>.wb-toolbar{grid-template-columns:1fr}.wb-template-meta{grid-template-columns:1fr}.wb-template-meta>.wb-field:nth-child(3),.wb-template-meta>.wb-field:nth-child(4){grid-column:auto}.wb-template-materials{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dialog:has(.library-similar-controls){width:min(900px,94vw)}
.library-similar-controls{width:100%;max-width:840px;gap:6px}
.library-similar-controls>.hint{margin:0}
.library-similar-controls>.switch-label{min-height:28px}
.library-similar-controls .similar-criterion>span{display:flex;align-items:center;justify-content:center}
.library-similar-controls .similar-criterion>.inline-error{grid-column:1/-1;margin:0}
.library-similar-controls[data-layout=grid]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:840px}
.library-similar-controls[data-layout=grid]>.hint,.library-similar-controls[data-layout=grid]>.field-label{grid-column:1/-1}
.library-similar-controls[data-layout=grid] .similar-criterion{display:grid;grid-template-columns:minmax(0,1fr) 12px 58px;gap:4px 6px;padding:5px 7px;border:1px solid var(--border);border-radius:4px;background:var(--surface);min-height:42px;align-items:center}
.library-similar-controls[data-layout=grid] .similar-criterion>.switch-label{white-space:normal;line-height:1.25}
.library-similar-controls[data-layout=grid] .similar-criterion>input{width:58px;min-width:0;height:28px;min-height:28px;padding:3px 5px}
@media(min-width:1051px){.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(2),.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(5){grid-column:1}.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(3),.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(6){grid-column:2}.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(4){grid-column:3}}
@media(min-width:601px) and (max-width:1050px){.library-similar-controls[data-layout=grid]{grid-template-columns:repeat(2,minmax(0,1fr))}.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(2),.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(4),.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(6){grid-column:1}.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(3),.library-similar-controls[data-layout=grid] .similar-criterion:nth-child(5){grid-column:2}}
@media(max-width:600px){.library-similar-controls[data-layout=grid]{grid-template-columns:1fr}.library-similar-controls[data-layout=grid] .similar-criterion{grid-column:1}}
:root{font-size:var(--font,12px)}
body{font-size:var(--font,12px)}
#app button,#app input,#app select,#app textarea,.dialog button,.dialog input,.dialog select,.dialog textarea{font-size:var(--font,12px)}
#app table,.dialog table{font-size:calc(var(--font,12px)*.92)}
#app .field-label,#app .hint,#app .muted,#app .muted-note,.dialog .wb-label,.dialog .wb-muted{font-size:calc(var(--font,12px)*.92)}
:root[data-theme=dark] button.primary:disabled{opacity:.65;color:#102d28}
.wb-template-preview{display:flex;flex-direction:column}
.wb-template-preview .sketch-holder{flex:1;min-height:0;margin:0}
.wb-template-preview .sketch-holder>canvas{display:block}
.wb-template-preview .sketch-legend{flex:none;min-height:22px}
.dialog,.dialog-shell,.dialog-content,.library-search{min-width:0;max-width:100%}
.dialog-content .table-wrap,.dialog-content .table-scroll{min-width:0;max-width:100%;overflow:auto}
.dialog-footer>*{min-width:0}
@media(max-width:600px){.dialog-content{padding-left:12px;padding-right:12px}.dialog-footer{justify-content:flex-start}.dialog-footer button{flex:0 1 auto}.library-similar-controls .similar-criterion{min-width:0}.library-similar-controls .similar-criterion>.switch-label{min-width:0;overflow-wrap:anywhere}}
@media(max-width:600px){.dialog:has(.library-similar-controls){width:96vw}.library-similar-controls,.library-similar-controls[data-layout=grid]{width:100%;max-width:100%;min-width:0}.library-similar-controls[data-layout=grid] .similar-criterion{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 10px 52px}.library-similar-controls[data-layout=grid] .similar-criterion>input{width:52px}.library-similar-controls .similar-criterion>.switch-label{min-width:0;overflow-wrap:anywhere}}
@media(max-width:600px){.library-similar-controls[data-layout=grid] .similar-criterion{display:flex;flex-wrap:wrap;gap:5px}.library-similar-controls[data-layout=grid] .similar-criterion>.switch-label{flex:1 1 auto;min-width:0}.library-similar-controls[data-layout=grid] .similar-criterion>span{flex:0 0 10px}.library-similar-controls[data-layout=grid] .similar-criterion>input{flex:0 0 52px}.library-similar-controls[data-layout=grid] .similar-criterion>.inline-error{flex:0 0 100%}.library-search>.toolbar:first-of-type>.switch-label{gap:5px;padding-left:0;padding-right:0;font-size:10px}.library-search>.toolbar:last-of-type>button{flex:1 1 auto}}
.dialog{position:fixed;top:24px;bottom:auto;margin:0 auto;min-height:220px;max-height:calc(92dvh - 48px)}
.dialog-shell{max-height:calc(92dvh - 48px)}
.new-contour-dialog{width:min(460px,94vw);min-height:210px;resize:none}
.library-search>.toolbar:first-of-type{flex-wrap:wrap}
.library-presets{display:flex;align-items:center;gap:6px;margin-left:auto;padding:0;flex:0 1 auto}
.library-presets>select{width:160px;min-width:150px;margin:0}
.loading-figure .cap,.loading-figure .base,.loading-figure .ut{animation:none}
@media(max-width:600px){.dialog{top:10px;max-height:calc(96dvh - 20px)}.dialog-shell{max-height:calc(96dvh - 20px)}.library-presets{margin-left:0;flex-wrap:wrap}}
.dialog{inset-inline-start:0;inset-inline-end:0;transform:none}
.library-presets>select,.library-presets>button{height:33px;min-height:33px;box-sizing:border-box;margin:0;align-self:center}
.loading-card{width:min(520px,90vw);padding:24px 32px}
.loading-card h1{font-family:"Segoe UI",Arial,sans-serif;margin:0 0 24px;font-weight:600;letter-spacing:0}
.loading-bottom{display:block;text-align:center}
.loading-line{height:4px;margin-top:16px}
.loading-error{text-align:left}
.library-exact-row{grid-column:1/-1;display:flex;align-items:center;gap:18px;min-height:30px;flex-wrap:wrap}
.dialog-content .library-presets>select{margin:0}
@media print{.rail:before{display:none}}
@media(max-width:1100px){.page{overflow:auto;overscroll-behavior:contain}.editor-grid,.editor-grid.hide-info{display:flex;flex-direction:column;gap:10px;height:auto;min-height:100%;overflow:visible}.editor-grid .general-card{order:1;overflow:visible}.editor-grid .right-editor{order:2;display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;min-height:0}.editor-grid .info-card{order:3;overflow:visible}.editor-grid:not(.hide-info) .info-card{display:block}.editor-grid .split-h,.editor-grid .split-v,.editor-grid .info-split{display:none}.sketch-card{flex:none;height:62dvh;max-height:580px;min-height:390px}.points-card{flex:none;height:470px;min-height:360px}.general-card,.info-card{padding-bottom:16px}.full-page{overscroll-behavior:contain}}
@media(min-width:701px) and (max-width:1100px){.general-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;align-content:start}.general-card .card-heading,.general-card .section-heading,.general-card .hint{grid-column:1/-1}.editor-grid:not(.hide-info) .info-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;align-content:start}.info-card .card-heading,.info-card .notice{grid-column:1/-1}}
@media(max-width:700px){#app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 39px minmax(0,1fr) 24px calc(64px + env(safe-area-inset-bottom));padding:0}.rail{grid-column:1;grid-row:5;flex-direction:row;justify-content:space-around;gap:2px;padding:4px 6px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--border);overflow:auto hidden;z-index:10}.rail:before,.rail .spacer{display:none}.rail button{width:54px;min-width:48px;height:52px;min-height:52px;flex:0 1 64px}.rail button.selected:before{left:8px;right:8px;top:auto;bottom:-4px;width:auto;height:3px}.rail .avatar{width:44px;min-width:44px;height:44px;min-height:44px;margin-top:0;flex:0 0 44px;border-radius:50%}.toolbar{grid-column:1;grid-row:1;padding:6px 8px;overscroll-behavior-x:contain;scrollbar-width:thin}.toolbar button{min-height:42px}.doc-tabs{grid-column:1;grid-row:2;padding:4px 8px 0;overflow:auto hidden;scrollbar-width:thin}.doc-tab{min-width:120px;height:34px}.page{grid-column:1;grid-row:3;padding:6px}.statusbar{grid-column:1;grid-row:4;padding:0 8px}.sketch-controls{justify-content:flex-start;margin-left:0}.points-options{flex-wrap:wrap;gap:8px 12px}.point-tabs{max-width:100%;overflow:auto}.toast-stack{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));max-width:none}.context-menu{max-width:calc(100vw - 12px)}.dialog-footer button{min-height:42px}}
@media(max-width:600px){.general-card{display:block}.editor-grid:not(.hide-info) .info-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;align-content:start}.info-card .card-heading,.info-card .notice{grid-column:1/-1}.sketch-card{height:58dvh;min-height:400px}.points-card{height:440px;min-height:350px}.sketch-heading{min-width:0}.sketch-heading h2{white-space:normal}.sketch-controls{width:100%;gap:6px}.sketch-controls button{min-height:38px}.slider-control input{width:76px}.compare-strip{align-items:flex-start}.offset-field{margin-left:0}.points-header p{line-height:1.35}.full-page{padding:10px}.wb-form{min-width:0}.dialog{min-height:180px}.dialog-content input,.dialog-content select,.dialog-content textarea,.general-card input,.general-card select{font-size:16px}.dialog-content .wb-toggle-row,.dialog-content .switch-label{min-height:40px}.library-presets>select{min-width:0;max-width:100%}}
@media(max-width:420px){.statusbar #status-profile{display:none}.toolbar button[data-action=save]{min-width:150px}.doc-tab{min-width:112px}.card-heading{min-height:54px}.general-card,.info-card{padding-left:10px;padding-right:10px}.card-heading{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.sketch-legend{gap:8px}.dialog-footer{gap:6px}.dialog-footer button{flex:1 1 auto}.empty-state{padding:20px 12px}.empty-state .row{justify-content:center}}
body:has(.login-dialog) #app{visibility:hidden}.login-dialog::backdrop{background:var(--bg);backdrop-filter:none}
