/* Text sizes are the original ones × 1.15 (owner, 10.11.2026). */
*{box-sizing:border-box} :root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26352f;background:#f5f6f3;font-size:16.1px;--green:#21644b;--line:#dfe5de;--muted:#76817b}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:7px;padding:10px 14px;color:inherit}button:hover{background:#edf2ec}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#164e39}.quiet{background:transparent;border-color:transparent}.danger{color:#a33e32}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d8dfd7;border-radius:6px;background:#fff;color:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #21644b12}input[type=checkbox]{width:auto}label{display:block;color:#606e65;font-size:13.8px;line-height:1.5}label input,label select,label textarea{margin-top:6px;color:#26352f}h1,h2,h3,p{margin:0}h1{font-size:31.1px;letter-spacing:-.8px;font-weight:650}h2{font-size:20.7px;font-weight:600}h3{font-size:16.1px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13.8px}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{padding:29px 18px;background:#eef1eb;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:28px}.brand{font-weight:750;font-size:27.6px;letter-spacing:-1px;display:flex;gap:10px;align-items:center}.brandmark{background:#21644b;color:#fff;border-radius:9px;width:34px;height:34px;display:grid;place-items:center;font-size:24.2px}.eyebrow{text-transform:uppercase;font-size:11.5px;letter-spacing:1.8px;color:#829083;font-weight:600}.side-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.systems{display:flex;flex-direction:column;gap:5px}.system{display:flex;justify-content:space-between;text-align:left;background:transparent;border-color:transparent;padding:12px}.system.active{background:#fff;border-color:var(--line);box-shadow:0 2px 3px #26352f05}.system.active:before{content:'';width:4px;background:#21644b;border-radius:4px;margin-right:10px}.system span:first-of-type{flex:1}.count{font-size:12.7px;background:#e7ede6;border-radius:5px;padding:2px 6px}.side-bottom{margin-top:auto;display:grid;gap:8px}.local{padding-top:15px;border-top:1px solid var(--line);font-size:12.7px;color:#778478;line-height:1.7}.dot{display:inline-block;width:6px;height:6px;background:#528d51;border-radius:100%;margin-right:5px}.main{min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:#fafbf8;gap:15px}.crumb{font-size:13.8px;color:#8a958c}.crumb strong{color:#4b5b4e;font-weight:500}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.content{padding:30px 34px;max-width:1600px;margin:auto}.title-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.subtitle{color:#7a867d;margin-top:8px;line-height:1.6;font-size:15px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{border:0;border-radius:0;background:transparent;padding:12px 0 14px;color:#859084}.tab.active{border-bottom:2px solid var(--green);color:var(--green);font-weight:600}.workspace{display:grid;grid-template-columns:345px minmax(0,1fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{padding:19px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-body{padding:20px}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0 20px}.type{padding:10px 3px;font-size:11.5px;line-height:1.6;display:grid;justify-items:center;gap:6px}.type.selected{background:#eef6ef;border-color:#94b29c;color:#21644b}.type svg{width:32px;height:28px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linejoin:round}.segment-switch{display:flex;background:#f1f3ee;border-radius:6px;padding:3px}.segment-switch button{flex:1;border:0;background:transparent;font-size:13.8px;padding:7px}.segment-switch button.selected{background:white;box-shadow:0 1px 3px #0001}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.wide{grid-column:1/-1}.divider{height:1px;background:var(--line);margin:18px 0}.estimate{background:#f5f7f2;padding:15px;border-radius:7px;margin:18px 0 12px;display:flex;justify-content:space-between;align-items:center}.estimate strong{font-size:24.2px;letter-spacing:-.5px}.full{width:100%}.hint{font-size:12.7px;line-height:1.6;color:#8a9389;margin-top:10px}.right-column{min-width:0;display:grid;gap:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:9px}.stat .value{font-size:28.8px;letter-spacing:-.7px;margin-top:10px;font-weight:600}.stat .value small{font-size:15px;color:#8a968a;font-weight:400}.total-stat{background:#e9f0e6;border-color:#d5e0cf}.route-head{padding:20px;display:flex;justify-content:space-between;align-items:center}.route-list{padding:0 20px 20px}.route-item{position:relative;display:flex;gap:13px;padding:16px 0;border-top:1px solid #edf0e9;align-items:flex-start}.number{display:grid;place-items:center;width:25px;height:25px;background:#f2f4ee;border:1px solid var(--line);border-radius:6px;font-size:12.7px;color:#7b8a78;flex-shrink:0}.item-body{flex:1;min-width:0}.item-body strong{font-size:15px;font-weight:600}.item-details{color:#85917f;font-size:12.7px;margin-top:6px;line-height:1.6}.item-price{text-align:right;white-space:nowrap;font-size:15px;font-weight:600}.row-buttons{display:flex;gap:2px;margin-top:7px;justify-content:end}.row-buttons button{padding:4px 6px;font-size:12.7px;background:transparent;border-color:transparent;color:#81907d}.empty{padding:55px 25px;text-align:center;color:#7d897c;line-height:1.8}.empty .empty-icon{font-size:41.4px;color:#a7b3a0;margin-bottom:14px}.notice{padding:13px 16px;background:#f6f3e8;border:1px solid #e8e1c8;border-radius:7px;color:#897644;font-size:13.8px;line-height:1.7}.error{background:#fff0eb;color:#a44732;border-color:#efc7b8}.drawing{width:100%;height:490px;object-fit:contain;border:0;background:#e9ece6}.drawing-tools{display:flex;gap:8px;align-items:center;padding:10px 15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13.8px}th{background:#f3f5ef;color:#7b8775;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:14px;white-space:nowrap}td{padding:15px 14px;border-bottom:1px solid #edf0e8;vertical-align:top}td.num,th.num{text-align:right;white-space:nowrap}.totals{margin-left:auto;max-width:360px;padding:22px;display:grid;gap:13px}.total-line{display:flex;justify-content:space-between;gap:20px}.grand{border-top:1px solid var(--line);padding-top:16px;font-size:21.9px;font-weight:600}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.rate-section{margin-top:25px}.project-name{font-size:15px;background:transparent;border:0;padding:0;width:210px}.dialog{border:1px solid var(--line);border-radius:12px;max-width:520px;width:90%;padding:26px;color:#26352f;box-shadow:0 20px 100px #0002}.dialog::backdrop{background:#26352f55}.dialog h2{margin-bottom:18px}.dialog .actions{margin-top:20px;justify-content:flex-end}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263f30;color:white;border-radius:7px;padding:12px 20px;display:none;z-index:10}.method{font-size:13.8px;color:#6d796a;line-height:1.8;padding:20px}.method p+p{margin-top:12px}.hidden{display:none!important}@media(min-width:1500px){.workspace{grid-template-columns:365px minmax(0,1fr)}}@media(max-width:1100px){.layout{grid-template-columns:190px minmax(0,1fr)}.content{padding:24px 20px}.topbar{padding:0 20px}.workspace{grid-template-columns:300px minmax(0,1fr)}.stat{padding:15px 12px}.stat .value{font-size:24.2px}.rate-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{padding:15px;gap:12px}.brand{font-size:23px}.systems{flex-direction:row;overflow:auto}.system{min-width:110px}.side-bottom{display:none}.sidebar .side-title{margin:0}.sidebar>label{display:none}.topbar{height:auto;min-height:60px;padding:12px 20px}.workspace{grid-template-columns:1fr}.settings-grid,.rate-grid{grid-template-columns:1fr 1fr}.title-row{align-items:start}.title-row h1{font-size:26.5px}.stats{gap:8px}.stat .value{font-size:21.9px}.tabs{gap:20px}.content{padding:20px 15px}}@media print{.sidebar,.topbar,.tabs,.no-print,#toast{display:none!important}.layout{display:block}.content{padding:0}body{background:white}.panel{border:0}.table-wrap{overflow:visible}.title-row{margin-bottom:20px}th,td{padding:8px}.notice{margin-bottom:12px}.totals{break-inside:avoid}}

@media(max-width:850px){.sidebar>label{display:block;max-width:400px}.side-bottom{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:0}.side-bottom .local{display:none}}

.reference{border:1px solid var(--line);border-radius:7px;margin-bottom:18px;color:#74816c;font-size:13.8px;padding:10px}.reference summary{cursor:pointer}.reference img{display:block;width:160px;height:160px;object-fit:contain;margin:10px auto 0}
.variants{border:1px solid var(--line);border-radius:7px;margin:13px 0 0;padding:10px}.variants summary{cursor:pointer;color:#606e65;font-size:13.8px}.variants .form-grid{margin-top:10px}
.model-panel{margin-bottom:0}#line-model{display:block;width:100%;height:350px;touch-action:none;cursor:grab}#line-model:active{cursor:grabbing}.model-panel .panel-head{gap:10px}.model-panel .panel-head .actions{flex-wrap:nowrap}.model-panel .panel-head button{white-space:nowrap;padding:8px} @media print{.model-panel{break-inside:avoid;margin-top:25px}#line-model{height:350px}.model-panel .hint{font-size:11.5px}}

/* The editor and model are the primary workspace. */
.route-content{padding-top:12px}.route-content>.title-row{display:none}.tabs{margin-bottom:12px}.topbar{height:52px}.editor-panel{overflow:visible}.editor-actions{position:sticky;top:8px;z-index:3;padding:12px;background:#fff;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;display:flex;gap:8px}.editor-actions .primary{flex:1}.editor-actions #cancel-edit{width:auto}.editor-panel .panel-body{padding:14px}.editor-panel .types{margin:10px 0 14px}.editor-panel .reference{margin:16px 0 0}.editor-panel label:has(select[name=direction]){margin:0 0 12px!important}.editor-panel .hint{margin:8px 0}.model-panel .panel-head{padding:12px 16px}.model-panel #model-warnings{font-size:13.8px;color:var(--green);padding:0 14px}.stat{padding:10px 14px}.stat .value{margin-top:4px;font-size:24.2px}.right-column{gap:12px}.model-panel{position:sticky;top:8px;z-index:1}.model-panel>p.hint{display:none}
@media(max-width:850px){.sidebar{flex-direction:row;align-items:center;padding:10px 15px;gap:10px;flex-wrap:wrap}.sidebar>.brand{font-size:20.7px}.sidebar>label,.sidebar .side-title,.sidebar .side-bottom{display:none}.sidebar>section{margin-left:auto}.system{padding:6px;min-width:90px}.topbar{min-height:44px;padding:6px 15px}.topbar .small{display:none}.content{padding-top:8px}.tab{padding:8px 0}.workspace{grid-template-columns:minmax(260px,1fr) minmax(0,1fr);gap:12px}.model-panel .panel-head{flex-wrap:wrap}.model-panel .panel-head .hint{display:none}#line-model{height:300px}}
@media(max-width:650px){.workspace{grid-template-columns:1fr}.right-column{display:contents}.workspace>.editor-panel{grid-row:2}.workspace .model-panel{grid-row:1;position:static}.model-panel .panel-head{padding:8px 12px;flex-wrap:nowrap}.model-panel h2{font-size:16.1px}#line-model{height:190px}.editor-actions{top:0}.types{grid-template-columns:repeat(3,1fr)}.type{padding:6px 3px}.type svg{height:22px}.stats{margin-top:4px}.topbar .crumb{max-width:40%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media print{.model-panel{position:static}.editor-actions{display:none}}

.route-tools{padding:12px 16px;border-bottom:1px solid #dfe5de;display:grid;gap:10px}.run-sizes{display:flex;overflow-x:auto;gap:8px;padding:4px 0}.run-sizes button{white-space:nowrap;font-size:13.8px}.route-tools .actions{flex-wrap:wrap}.route-tools input[type=range]{width:auto;min-width:100px;flex:1;accent-color:#21644b}.model-panel.route-full{position:fixed;inset:0;z-index:1000;border-radius:0;overflow:auto;display:flex;flex-direction:column;background:white}.route-full #line-model{height:auto;min-height:300px;flex:1}.ard-dialog{width:min(480px,94vw);max-height:90vh;margin:3vh 2vw 3vh auto;border:1px solid #dfe5de;border-radius:12px;padding:22px;box-shadow:0 12px 60px #0003;overflow:auto}.ard-dialog::backdrop{background:#0001}.ard-dialog h2{margin-bottom:16px}.ard-dialog label{margin-bottom:12px}.ard-dialog .actions{flex-wrap:wrap;position:sticky;bottom:-22px;background:white;padding:14px 0}.ard-error{color:#aa3b2e;margin:10px 0}.ard-dialog [data-result]{padding:10px 0}.route-full .panel-head{padding:8px 16px}

[hidden]{display:none!important}
.tree{display:grid;gap:10px}.tree-object{display:grid;gap:4px}.tree-row{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 0;font-size:13.8px}.tree-row.object{font-size:15px;color:#2f3f35}.tree-row.project{color:#5f6e63;padding-left:8px;margin-top:4px}.tree-row .row-buttons{margin-top:0;opacity:0}.tree-row:hover .row-buttons,.tree-row:focus-within .row-buttons{opacity:1}.tree-project .systems{padding-left:14px}.add-row{text-align:left;padding:6px 10px;color:#6f8072;font-size:12.7px}.run-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 20px 14px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13.8px;border-radius:999px;background:#f3f5ef}.chip.active{background:#21644b;color:#fff;border-color:#21644b}.chip .count{background:#ffffff33;color:inherit}.chip:not(.active) .count{background:#e3e8df;color:#55655a}.branch-link{color:#21644b!important;font-weight:600}.run-sizes .other-run{opacity:.55}@media(max-width:850px){.tree-row .row-buttons{opacity:1}.tree-project .systems{flex-direction:column}.system{min-width:0}}
@media(max-height:820px),(max-width:850px){.model-panel{position:relative;top:auto}}
.viewer{position:relative;display:flex;flex-direction:column;min-width:0}.viewer canvas{flex:1;width:100%}.route-full .viewer{flex:1;min-height:300px}.viewer-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.viewer-label{position:absolute;left:0;top:0;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#226449;color:#fff;font-size:12.7px;line-height:22px;text-align:center;white-space:nowrap;box-shadow:0 1px 3px #0003}.viewer-label.preview{background:#fff;color:#21644b;border:1px dashed #21644b}.viewer-label.dim{background:#b5542d;font-weight:600;font-size:13.8px;height:24px;line-height:24px}.viewer-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#80927b;font-size:16.1px;text-align:center}.measure-list{padding:0 16px 10px;display:grid;gap:6px}.measure-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.8px;padding:6px 10px;background:#fbf4ee;border:1px solid #efd9c9;border-radius:7px}.measure-row b{color:#b5542d}.measure-row button{padding:3px 7px;font-size:12.7px}button.active{background:#eef6ef;border-color:#94b29c;color:#21644b}
@media(max-width:850px){.model-panel .panel-head{flex-wrap:wrap}.model-panel .panel-head .actions{flex-wrap:wrap}}
/* ===== Shell layout: tree · 3D · properties; separate specification and settings pages ===== */
html,body{height:100%}body{overflow:hidden}#app{height:100%}
body.page-spec,body.page-settings{overflow:auto}body.page-spec #app,body.page-settings #app{height:auto}
a.button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:#fff;color:inherit;text-decoration:none;white-space:nowrap;font-size:15px}a.button:hover{background:#edf2ec}a.button.primary{background:var(--green);color:#fff;border-color:var(--green)}a.button.primary:hover{background:#164e39}
.shell{display:grid;grid-template-columns:320px minmax(0,1fr) 380px;grid-template-rows:56px minmax(0,1fr);height:100%;background:#f5f6f3}
.bar{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--line);background:#fafbf8;min-width:0}
.bar .crumb{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17.3px;color:#5f6e63}.crumb .sep{margin:0 8px;color:#b0b9ad}.crumb strong{color:#26352f;font-weight:600}
.bar-actions{display:flex;align-items:center;gap:8px}
.nav{overflow:hidden;border-right:1px solid var(--line);background:#fbfcfa;display:flex;flex-direction:column;min-height:0}
.tree-head{flex:0 0 auto;display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 14px 10px;background:#fbfcfa;border-bottom:1px solid var(--line)}
.tree{flex:2 1 0;min-height:0;overflow:auto;padding:6px 6px 10px;font-size:14.4px}
.tree-row{display:flex;align-items:center;gap:6px;min-height:30px;padding:3px 8px 3px calc(8px + var(--d,0) * 16px);border-radius:6px;cursor:pointer;border-left:3px solid transparent;user-select:none}
.tree-row:hover{background:#eef3ec}.tree-row.sel{background:#f6e3c3}.tree-row.in-run{border-left-color:#9cc2a8}.tree-row.sel.in-run{border-left-color:#d9a85b}
.tree-row.system{font-weight:600;padding-top:8px;padding-bottom:8px}.tree-row.system .t-conf{font-weight:400}.tree-row.empty{color:#7a877e;font-style:italic}
.twisty{width:22px;height:22px;padding:0;border:0;background:transparent;display:grid;place-items:center;font-size:13.8px;color:#4b5e52;flex:0 0 22px;border-radius:4px}.twisty:hover{background:#dde8dc}.twisty-space{flex:0 0 22px}
.t-num{flex:0 0 auto;min-width:28px;font-variant-numeric:tabular-nums;color:#21644b;font-weight:600}.t-name{flex:0 0 auto;color:#26352f}.t-conf{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7d8a80}
.t-badge{flex:0 0 auto;font-size:12.1px;background:#e3ebe1;color:#46594c;border-radius:9px;padding:1px 7px}
.tree-branch{position:relative}.tree-branch:before{content:'';position:absolute;top:0;bottom:6px;left:calc(18px + var(--d,0) * 16px);border-left:1px dashed #c7d3c5}
.measure-list:empty{display:none}.measure-list{display:block;padding:0;flex:1 1 0;min-height:0;overflow:auto;border-top:1px solid var(--line);background:#fffaf5}.measure-title{position:sticky;top:0;display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px 6px;background:#fffaf5}.measure-rows{display:grid;gap:6px;padding:0 12px 14px}
.work{display:flex;flex-direction:column;min-width:0;min-height:0}
.shell .model-panel{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:#fff;border:0;border-radius:0;overflow:hidden}
.shell .model-panel .panel-head{position:absolute;top:10px;left:12px;z-index:5;padding:0;border:0;background:transparent}.model-panel .panel-head .actions{gap:6px;flex-wrap:nowrap}.model-panel .panel-head button{background:#ffffffe6;box-shadow:0 1px 3px #0001;padding:8px 11px}
.shell .viewer{flex:1 1 auto;min-height:0}.shell #line-model{height:100%;min-height:0;flex:1}
#model-warnings{position:absolute;left:12px;right:120px;bottom:12px;z-index:5;display:grid;gap:6px;pointer-events:none}#model-warnings:empty{display:none}#model-warnings .notice{padding:8px 12px;box-shadow:0 2px 8px #0001}
.props{overflow:auto;border-left:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:0}
#selected-card:empty{display:none}#selected-card{padding:10px 14px;border-bottom:1px solid var(--line);background:#fbf2e2}#selected-card .actions{gap:6px}#selected-card button{padding:7px 10px;font-size:13.8px}#selected-card strong{width:100%;font-size:15px}
.props-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 0}
.props .editor-panel{border:0}.props .editor-actions{top:0;border-radius:0;padding:10px 14px}.props .types{grid-template-columns:repeat(3,1fr)}
.mobile-tabs{display:none}
.viewer-cube-hint{position:absolute;font-size:11.5px;color:#6f8072;letter-spacing:.5px;text-transform:uppercase;pointer-events:none}
.page-bar{height:56px;position:sticky;top:0;z-index:10}
.spec-page{max-width:1280px;margin:0 auto;padding:22px 20px 40px}.spec-heading{margin-bottom:16px}.spec-heading h1{font-size:27.6px}.spec-page .spec-wrap{padding:0}.spec-page .panel{background:#fff}
.settings-page{max-width:1100px;margin:0 auto;padding:20px 20px 90px;display:grid;gap:18px}.settings-page .panel-head{gap:14px;flex-wrap:wrap}
.type-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px}.type-groups h3{margin-bottom:10px}
.check{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;margin-bottom:6px;font-size:15px;color:#26352f;cursor:pointer}.check input{width:18px;height:18px;margin:0;accent-color:#21644b}.check em{font-style:normal;font-size:12.7px;color:#8a6a2c;background:#f6eedd;border-radius:5px;padding:1px 6px;margin-left:6px}
.settings-save{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:12px 20px;background:#fffffff2;border-top:1px solid var(--line);z-index:10}
@media(max-width:1180px){.shell{grid-template-columns:270px minmax(0,1fr) 340px}}
@media(max-width:1000px){
 .shell{display:flex;flex-direction:column;height:100%}
 .bar{flex:0 0 60px;height:60px;padding:0 10px;gap:8px}.bar .crumb{font-size:13.8px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.crumb .sep{margin:0 4px}.bar .button{padding:8px 10px}
 .bar{order:0}.work{order:1;flex:0 0 auto;height:46vh;min-height:240px}
 .nav,.props{order:2;flex:1 1 auto;min-height:0;overflow:auto;border:0;padding-bottom:70px}.nav{overflow:hidden;padding-bottom:62px}
 .view-add .nav{display:none}.view-tree .props{display:none}
 .tree-row{min-height:38px}.twisty{width:30px;height:30px;flex-basis:30px}.twisty-space{flex-basis:30px}
 .mobile-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;height:62px;background:#fff;border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom)}
 .mobile-tabs button{flex:1;border:0;border-radius:0;background:transparent;display:grid;justify-items:center;gap:2px;font-size:12.7px;color:#6d7a70;padding:8px 2px}.mobile-tabs button.active{color:#21644b;font-weight:600}.mt-icon{font-size:23px;line-height:1}
 .props .types{display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}.props .type{flex:0 0 92px}
 .props .form-grid{gap:10px}.props input,.props select{padding:12px 11px;font-size:18.4px}.props .editor-actions .primary{padding:13px}
 .model-panel .panel-head button{padding:8px 9px;font-size:13.8px}#model-warnings{right:10px}
 #toast{bottom:80px;max-width:92vw}
 .page-bar{flex-wrap:wrap;height:auto;padding:8px 10px}.page-bar .bar-actions{flex-wrap:wrap}.type-groups{grid-template-columns:1fr}.settings-page .settings-grid,.settings-page .rate-grid{grid-template-columns:1fr 1fr}
}
@media print{.bar,.nav,.props,.mobile-tabs,.page-bar{display:none!important}body,body.page-spec{overflow:visible}#app{height:auto}.spec-page{padding:0;max-width:none}}
.viewer-label.pending-dim{opacity:.85;outline:2px dashed #fff}
.measure-title .eye{width:30px;height:30px;padding:0;display:grid;place-items:center;border:0;background:transparent;border-radius:6px;color:#4b5e52}.measure-title .eye:hover{background:#efe3d6}.measure-title .eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.measure-title .eye.off{color:#a0a8a2}.measure-list.dims-hidden .measure-rows{opacity:.5}
.transition-label{margin:2px 0 12px}.transition-switch{display:flex;margin-top:6px}.transition-switch button{flex:1;font-size:13.8px}
.viewer-label.dim.clickable{pointer-events:auto;cursor:pointer}.viewer-label.dim.active{background:#8f3a18;box-shadow:0 0 0 3px #f2c08f}.measure-row{cursor:pointer}.measure-row.active{background:#f6dcc4;border-color:#d9823f}.outlet-switch{display:flex;max-width:220px}.outlet-switch button{font-size:12.7px;padding:5px 8px}
input.locked{background:#f1f4ef;color:#4f5f54;border-style:dashed;cursor:not-allowed}
.insert-note{margin:0;border-radius:0;border-left:0;border-right:0}.bypass-dialog{width:min(440px,94vw)}.bypass-scheme{background:#f7f9f4;border:1px solid var(--line);border-radius:8px;padding:6px;margin-bottom:12px}.bypass-svg{width:100%;height:auto;display:block}.bypass-svg .ob{fill:#d8b88899;stroke:#a88a5c}.bypass-svg .axis{stroke:#a88a5c;stroke-dasharray:4 3}.bypass-svg .old{stroke:#9aa79d;stroke-width:10;stroke-linecap:butt;opacity:.35}.bypass-svg .new{fill:none;stroke:#21644b;stroke-width:3}.bypass-svg .dim,.bypass-svg .ext{stroke:#b5542d;stroke-width:1}.bypass-svg .ext{stroke-dasharray:3 2}.bypass-svg .arr{fill:#b5542d}.bypass-svg .t{font:11.5px -apple-system,Inter,sans-serif;fill:#5f6e63}.bypass-svg .t.b{font-weight:700;font-size:15px;fill:#b5542d}.bypass-result{font-size:13.8px;margin:6px 0}.bypass-result .notice{margin-top:6px}.bypass-dialog .segment-switch{display:flex;margin-top:6px}.bypass-dialog .segment-switch button{flex:1}
.bypass-dialog{padding:16px 18px}.bypass-dialog h2{margin-bottom:10px}.bypass-dialog label{margin-bottom:8px}.bypass-dialog .bypass-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bypass-dialog .bypass-scheme{margin-bottom:8px;padding:4px}.bypass-dialog .bypass-svg{max-height:130px}.bypass-dialog .form-grid{gap:8px 10px}.bypass-dialog .actions{bottom:-16px;padding:10px 0}
/* D-48: desktop shell — header, workspaces bar, navigator, 3D, inspector, status line. Phones (≤1000 px) keep the layout above. */
.modebar{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:0 14px;background:#eef1eb;border-bottom:1px solid var(--line);min-width:0}
.modes{display:flex;gap:2px;padding:3px;background:#e2e8e0;border-radius:9px;flex:0 0 auto}
.modes button{padding:6px 16px;border:1px solid transparent;background:transparent;border-radius:7px;color:#3c4a43}
.modes button:hover{background:#edf2ec}.modes button.active{background:#fff;border-color:#d3dbd2;color:#21644b;font-weight:600}
.mode-sep{width:1px;height:24px;background:#d3dbd2;flex:0 0 auto}
.tools{display:flex;gap:4px;min-width:0;overflow-x:auto}
.tool{display:flex;align-items:center;gap:6px;padding:6px 10px;border-color:#d3dbd2;white-space:nowrap}
.tool svg{width:16px;height:16px;fill:none;stroke:#21644b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tool.active{background:#e8f1ec;border-color:#21644b;color:#164e39}
.icon-btn{width:34px;height:32px;padding:0;display:grid;place-items:center;font-size:18.4px}
.bar-total{display:grid;text-align:right;line-height:1.25;margin-left:6px}.bar-total b{font-weight:600}.bar-total span{font-size:12.7px;color:#5f6b64}
.statusbar{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:0 14px;background:#eef1eb;border-top:1px solid var(--line);font-size:13.8px;color:#4f5c55;min-width:0}
.statusbar #status{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#26352f}
.inspector-tabs{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--line);flex:0 0 auto}
.inspector-tabs button{flex:1;padding:7px;background:#f5f6f3;border-color:transparent;color:#3c4a43}
.inspector-tabs button.active{background:#fff;border-color:#d3dbd2;color:#21644b;font-weight:600}
.inspector-empty{padding:12px 14px;line-height:1.55}
.summary{padding:8px 14px 14px;display:grid;gap:8px}.summary h3{font-size:18.4px}
.summary-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:4px 0}.summary-list dt{color:#5f6b64}.summary-list dd{margin:0;text-align:right}
.scope-list{display:grid;gap:2px;padding:8px;overflow:auto}
.scope-row{text-align:left;border-color:transparent;background:transparent;padding:9px 10px}
.scope-row.active{background:#fbf2e2;box-shadow:inset 3px 0 0 #e6bb73}
.spec-center{overflow:auto;padding:24px 28px;background:#fff}
.sel-tools{display:flex;gap:4px;align-items:center}
.sel-tools strong{display:none}
.mode-sep:has(+ .tools .sel-tools:empty){display:none}
.sel-tools .actions{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}
.sel-tools button{padding:6px 12px;border-color:#d3dbd2;white-space:nowrap}
@media(min-width:1001px){
 .shell{grid-template-rows:52px 44px minmax(0,1fr) 28px}
 .mob-only{display:none!important}
 .shell #measure-model{display:none}
 .mode-route .measure-list{display:none}
 .mode-dims .measure-list{flex:1 1 auto;overflow:auto;padding-top:12px}
 .mode-spec .spec-wrap>.actions{display:none}
}
@media(max-width:1000px){.desk-only{display:none!important}}
@media print{.print-spec .shell{display:block;height:auto}.print-spec .shell>:not(.work){display:none!important}.print-spec .spec-center{overflow:visible;padding:0}}
.item-figure{margin:4px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.item-svg{display:block;width:100%;max-width:440px;height:auto;margin:0 auto}.reference .item-svg{margin-top:8px}
.figure-legend{margin:6px 0 0;font-size:12.7px;line-height:1.6;color:#606e65}.figure-legend i{color:#21644b;font-weight:600;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}
#cursor-pos{font-variant-numeric:tabular-nums}#cursor-pos:empty::before{content:'Ctrl+Z — шаг назад, Ctrl+Y — вперёд'}
.summary .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.summary .eyebrow{display:block}
.viewer-label.axis{background:#fff;color:#3c4a43;border:1.5px solid #7f907f;border-radius:50%;width:26px;height:26px;padding:0;line-height:23px;text-align:center;font-weight:600;font-size:13.8px}
.axis-list{display:grid;align-content:start;gap:1px;padding:6px 8px;overflow:auto}
.axis-group{padding:10px 6px 4px;font-size:12.7px;font-weight:600;color:#5f6b64}
.axis-row{display:flex;gap:10px;align-items:center;text-align:left;border-color:transparent;background:transparent;padding:7px 8px}
.axis-row b{min-width:28px;font-weight:600}.axis-row span{margin-left:auto;color:#5f6b64;font-variant-numeric:tabular-nums}
.axis-row.active{background:#fbf2e2;box-shadow:inset 3px 0 0 #e6bb73}.axis-row.static{cursor:default}
.viewer-label.dim.violated{background:#fff;color:#b00016;border:2px solid #d0021b;font-weight:700}
.viewer-label.dim.req{box-shadow:0 0 0 2px #fff,0 0 0 3px #b5542d}
.measure-row small{display:block;color:#5f6b64;font-size:12.7px}
.measure-row.violated b,.measure-row.violated small{color:#b00016}
.measure-row.violated{box-shadow:inset 3px 0 0 #d0021b}
.mode-badge{display:inline-block;margin-left:6px;min-width:18px;padding:0 6px;border-radius:9px;background:#fbe3dc;color:#8a1d10;font-size:12.7px;line-height:18px;font-weight:600}
.req-bad{color:#b00016}
.fit-list{display:grid;gap:8px}
.fit-choice{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid #d8dfd7;border-radius:7px;color:#26352f;font-size:15px}
.fit-choice input{width:auto;margin-top:3px;accent-color:#21644b}
.fit-choice small{display:block;color:#5f6b64;font-size:13.8px;margin-top:2px}
.fit-choice:has(input:checked){border-color:#21644b;background:#f2f7f3}
.fit-choice.off{opacity:.6}
#element-form [hidden]{display:none}
@media(max-width:1000px){.shell .model-panel .panel-head{right:96px}.shell .model-panel .panel-head .actions{flex-wrap:wrap;row-gap:6px}}
.viewer-label.guide{background:#fff;color:#1b4a80;border:1px solid #2563a8;font-weight:600;font-size:12.7px}
.viewer-label.axis.active{background:#fbf2e2;border-color:#c9902e;box-shadow:0 0 0 2px #e6bb73}
.shell .viewer-label.axis{pointer-events:auto;cursor:pointer}
.mode-build .sel-tools:not(:empty){margin-left:6px;padding-left:10px;border-left:1px solid #d3dbd2}
.dir-field{display:block;margin-top:14px;color:#606e65;font-size:13.8px;line-height:1.5}
.dir-stepper{display:flex;align-items:center;gap:6px;margin-top:6px}
.dir-stepper button{flex:0 0 42px;height:38px;padding:0;font-size:19.6px;line-height:1}
.dir-stepper output{flex:1;min-width:0;height:38px;line-height:36px;text-align:center;border:1px solid #d8dfd7;border-radius:6px;background:#fff;color:#26352f;font-size:16.1px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viewer.measuring .viewer-label.axis{pointer-events:auto;cursor:pointer}
.viewer-label.origin{min-width:0;height:auto;padding:0 2px;background:none;box-shadow:none;font-weight:700;font-size:13.8px;line-height:14px;text-shadow:0 0 3px #f1f4ef,0 0 3px #f1f4ef,0 0 3px #f1f4ef}.viewer-label.origin-x{color:#c0392b}.viewer-label.origin-y{color:#2e8b57}.viewer-label.origin-z{color:#2f6fb5}
input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.props-head.bare .eyebrow,.props-head.bare.none{display:none}
.axis-list{grid-template-columns:minmax(0,1fr)}.dim-row{cursor:pointer;border:1px solid transparent;border-radius:8px;min-width:0;gap:8px;padding-right:4px}.dim-row em{font-style:normal;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dim-row span{margin-left:0;white-space:nowrap}.dim-row.dim-off em,.dim-row.dim-off span,.dim-row.dim-off b{opacity:.5}
.row-eye{flex:0 0 auto;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;background:transparent;border-radius:6px;color:#4b5e52}.row-eye:hover{background:#e9eee8}.row-eye svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.row-eye.off{color:#a0a8a2}
/* A requirement in 3D carries a padlock before its value (owner, 10.11.2026). */
.viewer-label.dim.locked::before{content:'';display:inline-block;width:12px;height:13px;margin-right:4px;vertical-align:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M7 10V8a5 5 0 0 1 10 0v2h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1zm2 0h6V8a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M7 10V8a5 5 0 0 1 10 0v2h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1zm2 0h6V8a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat}
.start-block{display:grid;gap:10px;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa}.start-block .form-grid{margin:0}.start-block .hint{margin:0}
.dir-six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dir-six button{font-size:13.8px;padding:8px 4px;min-height:36px}.dir-six button.selected{border-color:var(--green);background:#e9f3ed;color:#164e39;font-weight:600}
.no-price{color:#a44732;font-weight:500}td .no-price{font-size:12.7px}
.joint-row{display:grid;gap:6px}.joint-title{color:#606e65;font-size:13.8px;line-height:1.5}.joint-ends{display:grid;grid-template-columns:repeat(var(--ends,2),minmax(0,1fr));gap:8px}.joint-ends label span{font-size:12.7px;color:var(--muted)}.joint-ends select{margin-top:2px;padding-left:7px;padding-right:4px}.joint-row .joint-hint{margin:0;color:#897644}
@media(max-width:1000px){.joint-ends{grid-template-columns:1fr;gap:6px}.joint-ends label{display:grid;grid-template-columns:5.5em minmax(0,1fr);align-items:center;gap:8px}.joint-ends select{margin-top:0}}
/* «Проверки» (D-93): rows with a severity dot, the inspector text, the phone button «Проверки: N», the fire-wall checkbox. */
.check-row{cursor:pointer;border:1px solid transparent;border-radius:8px;min-width:0;align-items:flex-start}.check-row i{flex:0 0 8px;height:8px;margin-top:7px;border-radius:50%;background:#d9a441}.check-row.sev-high i{background:#c4533a}.check-row em{font-style:normal;flex:1 1 auto;min-width:0;line-height:1.45;font-size:13.8px}.check-row.check-off em,.check-row.check-off i{opacity:.45}.check-row button{flex:0 0 auto;padding:4px 8px}
.checks-head{display:flex;justify-content:flex-end;padding:0 8px}.checks-head:empty{display:none}.checks-head .active{background:#e8f1ec;border-color:#21644b}
.check-text{line-height:1.55;margin-bottom:10px;padding-left:10px;border-left:3px solid #d9a441}.check-text.sev-high{border-left-color:#c4533a}.check-links{padding:0;margin-bottom:12px}
.checks-chip{background:#fbe3dc;border-color:#efc7b8;color:#8a1d10;font-weight:600;min-height:40px;white-space:nowrap}.checks-chip[hidden]{display:none}
.checks-dialog{max-height:60vh;padding:0}.check-label{display:flex;align-items:center;gap:8px;align-self:end;min-height:44px}.check-label input{margin:0;width:18px;height:18px}
.bypass-obstacle{font-size:13.8px;margin:0 0 6px}.bypass-gap{margin:4px 0 8px}.bypass-options{display:grid;gap:6px;margin:6px 0}.bo-head{font-size:12.7px;color:var(--muted)}
.bypass-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2px 12px;align-items:baseline;text-align:left;padding:9px 12px;width:100%}.bypass-option.selected{border-color:var(--green);background:#eef6ef;box-shadow:0 0 0 2px #21644b22}
.bo-name{font-weight:600;font-size:14.4px;min-width:0}.bo-cost{font-weight:600;white-space:nowrap}.bo-len{white-space:nowrap;color:#5f6e63;font-size:13.8px}.bo-meta{grid-column:1/-1;font-size:12px;color:var(--muted)}
.bypass-none{font-size:13.8px;line-height:1.5}.bypass-none ul{margin:6px 0 0;padding-left:18px}.bypass-none li{margin:2px 0}
.sel-tools .sel-hint{margin:0;max-width:300px;white-space:normal;line-height:1.3}
@media(max-width:420px){.bypass-option{grid-template-columns:minmax(0,1fr) auto}.bo-len{grid-column:2}.bypass-dialog .form-grid{grid-template-columns:1fr}}
/* D-114: the page «Чертёж» — sheets in mm, a preview that fits the width and zooms, printed one sheet per page at 100%. */
body.page-sheet{overflow:auto;background:#d9ddd6}body.page-sheet #app{height:auto}
.sheet-bar{gap:10px;flex-wrap:wrap;height:auto;min-height:56px;padding:8px 14px}.sheet-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-left:auto}
.sheet-controls label{display:flex;flex-direction:column;gap:2px;font-size:12.1px}.sheet-controls select{margin:0;padding:6px 8px;width:auto;min-width:76px}
.sheet-zoom{display:flex}.sheet-zoom button{padding:7px 10px;border-radius:0;margin-left:-1px;min-width:38px}.sheet-zoom button:first-child{border-radius:7px 0 0 7px}.sheet-zoom button:last-child{border-radius:0 7px 7px 0}
.sheet-page{padding:12px 16px 40px}.sheet-page>.notice{margin:0 auto 10px;max-width:1400px}
.sheet-view{overflow:auto;-webkit-overflow-scrolling:touch}.sheet-sheet{width:calc(100% * var(--zoom,1));max-width:none;margin:0 auto 16px;box-shadow:0 2px 10px #0003;background:#fff;line-height:0}
.sheet-sheet .sheet-svg{display:block;width:100%;height:auto}
@media(max-width:1000px){.sheet-bar .button{padding:7px 10px}.sheet-controls{margin-left:0;gap:6px}.sheet-controls select{min-width:0;padding:6px}.sheet-controls #sheet-print{flex:1 0 100%}.sheet-page{padding:8px 0 30px}.sheet-page>.notice{margin:0 8px 8px;font-size:12.7px;padding:8px 10px}}
@media print{body.page-sheet{overflow:visible;background:#fff}.page-sheet .sheet-page{padding:0}.page-sheet .sheet-view{overflow:visible}.page-sheet .sheet-sheet{width:auto;margin:0;box-shadow:none;break-after:page;page-break-after:always}.page-sheet .sheet-sheet:last-child{break-after:auto;page-break-after:auto}.page-sheet .sheet-svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* D-112: commands «Переместить», «Дублировать», «Повернуть», «Отразить»: tools on the mode strip, the panel in the inspector, a row under the 3D on the phone */
.cmd-tools{display:flex;gap:4px;flex:0 0 auto;margin-right:8px;padding-right:8px;border-right:1px solid #d3dbd2}.cmd-tool{padding:6px 8px}.cmd-on #props>:not(#cmd-panel),.cmd-on .modebar .tools>:not(.cmd-tools){display:none!important}.cmd-panel .props-head{padding:0}.cmd-panel{padding:12px 14px;display:grid;gap:10px;align-content:start}.cmd-form{display:grid;gap:10px}.cmd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cmd-picked{display:flex;flex-wrap:wrap;gap:6px}.cmd-panel .hint{margin:0}.cmd-panel .actions{flex-wrap:wrap}.cmd-picked-row{background:#fbf2e2!important;box-shadow:inset 3px 0 0 #e6bb73}.cmd-strip{display:none}
@media(max-width:1000px){.cmd-strip{order:1;display:flex;align-items:center;gap:6px;padding:6px 8px;background:#eef1eb;border-bottom:1px solid var(--line);overflow-x:auto;flex:0 0 auto}.cmd-strip .cmd-tools{margin:0;padding:0;border:0;flex:1 1 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.cmd-strip button{min-height:40px;white-space:nowrap;padding:6px 10px}.cmd-strip .cmd-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:4px 2px;font-size:12px;line-height:1.1}.cmd-strip .cmd-tool span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.cmd-strip-text{flex:1;min-width:0;font-size:13.8px;line-height:1.3}.cmd-grid{grid-template-columns:1fr 1fr}.cmd-panel{padding-bottom:80px}}
/* ARD-2: the constructor of a manufacturer — the maker, «Сохранить» with the unsaved-changes dot, the sign-in dialog, the stop page */
.maker-bar{display:flex;align-items:center;gap:8px;min-width:0}.maker-tag{font-size:12.7px;color:#5f6b64;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maker-bar .button{padding:6px 12px}.maker-bar .primary{padding:6px 14px}
.maker-save{position:relative}.maker-save.dirty::after{content:'';position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:#d9823f;border:2px solid #fafbf8}.maker-save svg{width:20px;height:20px;fill:none;stroke:#21644b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.maker-spec{display:grid;gap:8px;padding:12px 14px}.maker-spec .actions{gap:8px}.spec-heading .maker-spec{padding:10px 0 0}
.auth-dialog label{margin-top:12px}.auth-dialog .notice{margin-top:12px}.auth-dialog [data-resend]{padding:6px 0;color:#21644b}#toast a{color:#cfe8d9;text-decoration:underline}
.maker-stop{min-height:100vh;display:grid;place-items:center;padding:16px}.maker-stop .panel{max-width:520px;width:100%}.maker-stop h1{font-size:25px}.maker-stop .actions{margin-top:18px}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:13.8px;line-height:1.45;color:#4b5b4e;margin:10px 0}.consent input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto;accent-color:#21644b}.consent a{color:#21644b}
