*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#0b0d10;color:#eef1f5}a{color:inherit;text-decoration:none}.install-shell,.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 20% 10%,#232a35 0,transparent 38%),#0b0d10}.card,.panel{background:#13171d;border:1px solid #262d37;border-radius:18px;padding:28px;box-shadow:0 24px 80px #0006}.card{width:min(820px,100%)}.login-card{width:min(460px,100%)}.brand{font-weight:900;letter-spacing:.08em}.brand span{font-weight:500;color:#9aa7b8}h1{margin:.4rem 0 0}h2{margin-top:28px;font-size:16px}.muted,small{color:#8793a3}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:7px;margin:12px 0;color:#b8c0cb;font-size:13px}input,select{width:100%;background:#0d1116;color:#fff;border:1px solid #303846;border-radius:10px;padding:12px 13px;outline:none}button{border:0;border-radius:11px;padding:13px 18px;background:#f3f5f7;color:#111;font-weight:800;cursor:pointer;margin-top:14px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.checks div{background:#0e1217;border:1px solid #252c36;border-radius:10px;padding:10px}.checks span{float:right;color:#7f8b9b}.alert,.success{padding:12px;border-radius:10px;margin:15px 0}.alert{background:#381a1d;border:1px solid #6d2930}.success{background:#163323;border:1px solid #285c3e}.admin{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin aside{background:#0e1116;border-right:1px solid #222832;padding:24px;display:flex;flex-direction:column;gap:28px}.admin nav{display:grid;gap:6px}.admin nav a{padding:11px 12px;border-radius:9px;color:#9ea8b6}.admin nav a:hover,.admin nav a.active{background:#1b212a;color:#fff}.logout{margin-top:auto;color:#9ea8b6}.content{padding:34px}.content header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.badge{font-size:10px;border:1px solid #465263;padding:4px 7px;border-radius:999px;margin-left:8px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.cards article{background:#13171d;border:1px solid #262d37;border-radius:15px;padding:20px}.cards span{display:block;color:#8c98a8;font-size:12px}.cards strong{font-size:28px}.roadmap{margin-top:18px;padding:15px;background:#0e1217;border-radius:11px}.back{color:#aab4c2}@media(max-width:800px){.grid,.checks,.cards{grid-template-columns:1fr}.admin{grid-template-columns:1fr}.admin aside{display:none}.content{padding:20px}}
.admin-list{display:grid;gap:10px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #242b35}.admin-row:last-child{border-bottom:0}.admin-row small{display:block;margin-top:5px}.inline{display:flex;gap:7px;align-items:center}.inline button{margin:0;padding:8px 11px}.danger{background:#4a2025!important;color:#ffdfe2!important}.protected{font-size:12px;color:#8e99a7}.admin code{font-size:11px;color:#93a0b1}


textarea{width:100%;min-height:90px;background:#0d1116;color:#fff;border:1px solid #303846;border-radius:10px;padding:12px}
.studio{margin:0;background:#090c10;color:#eef1f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}
.studio-top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #252c36;background:#10141a}
.studio-layout{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 64px)}
.measure-panel{padding:22px;border-right:1px solid #252c36;background:#10141a}.measure-panel h2{margin-top:0}
.surface-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:18px}.surface-tabs button{margin:0;background:#1a2029;color:#dfe5ed}
.drawing-stage{position:relative;display:grid;place-items:center;padding:60px 30px 30px}.drawing-stage svg{width:min(1000px,100%);height:650px;background:#0e1319;border:1px solid #242c36;border-radius:16px}
.drawing-title{position:absolute;top:24px;left:40px;font-weight:800}.dimension-readout{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);background:#151b23;border:1px solid #2d3744;border-radius:999px;padding:9px 15px;color:#aeb9c7;font-size:12px}
.glass-shape{fill:#182733;stroke:#d8e0e9;stroke-width:3}.dim{stroke:#738296;stroke-width:1}.dimtext{fill:#b8c3d0;font-size:18px;text-anchor:middle}
@media(max-width:850px){.studio-layout{grid-template-columns:1fr}.measure-panel{border-right:0;border-bottom:1px solid #252c36}.drawing-stage svg{height:480px}}


.element{stroke:#91a1b4;stroke-width:2;fill:#152631;fill-opacity:.72;cursor:pointer}.element:hover,.element.selected{stroke:#fff;stroke-width:4}
.element.sliding_door{fill:#263746}.element.hinged_door{fill:#31313e}.element.panel{fill:#292d31}.element.opening{fill:#0b0e12;fill-opacity:.9}
.element-label{fill:#dbe4ee;font-size:14px;text-anchor:middle;pointer-events:none}.measure-panel hr{border:0;border-top:1px solid #29313c;margin:20px 0}


.advanced-layout{grid-template-columns:350px 1fr}.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.section-head{display:flex;align-items:center;justify-content:space-between}.sum-badge{font-size:11px;border-radius:999px;padding:5px 8px;background:#171d25;border:1px solid #303946}.sum-badge.ok{border-color:#41544a}.sum-badge.bad{border-color:#694343}
.quick-split{display:grid;grid-template-columns:90px 1fr;gap:8px}.quick-split button{margin:0}
.parts-list{display:grid;gap:6px;margin:10px 0;max-height:230px;overflow:auto}.part-row{display:flex;justify-content:space-between;align-items:center;margin:0;padding:9px 10px;background:#121820;border:1px solid #29313c;color:#dce5ef;border-radius:9px;text-align:left}.part-row.active{border-color:#8796a8;background:#1a222c}.part-row strong{font-size:11px}
.secondary-btn{background:#171e27!important;color:#dce5ef!important}.danger-soft{background:#26191b!important;color:#e9c7cb!important;border:1px solid #553137!important}
.validation-banner{position:absolute;top:22px;right:36px;padding:7px 11px;border-radius:999px;font-size:11px;background:#141a21;border:1px solid #303946}.validation-banner.ok{color:#c8dfcf}.validation-banner.bad{color:#efc0c4;border-color:#693f44}
.element-sub{fill:#91a1b4;font-size:11px;text-anchor:middle;pointer-events:none}button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.advanced-layout{grid-template-columns:1fr}.compact-grid{grid-template-columns:1fr 1fr}}


/* UZTD v0.2.2.1 - Advanced Facade Editor contrast/isolation hotfix */
.studio .measure-panel button,
.studio .surface-tabs button,
.studio .quick-split button,
.studio .secondary-btn,
.studio .danger-soft,
.studio #saveBtn {
  appearance:none;
  background:#18202a !important;
  color:#eef4fb !important;
  border:1px solid #334050 !important;
  border-radius:10px !important;
  box-shadow:none !important;
  font:600 13px/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif !important;
}
.studio .measure-panel button:hover,
.studio .surface-tabs button:hover {background:#202b37 !important;border-color:#526174 !important}
.studio .part-row {
  display:flex !important;
  width:100% !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px 11px !important;
  margin:0 !important;
  background:#121922 !important;
  color:#e8eef6 !important;
  border:1px solid #2b3644 !important;
  border-radius:9px !important;
  text-align:left !important;
}
.studio .part-row.active {background:#202a36 !important;border-color:#8190a3 !important}
.studio .part-row span {color:#e8eef6 !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio .part-row strong {color:#aebdce !important;font-size:11px !important;white-space:nowrap}
.studio #canvas {background:#0c1117 !important}
.studio #canvas .glass-shape {fill:#142431 !important;stroke:#cbd7e3 !important;stroke-width:2.5 !important}
.studio #canvas .element {stroke:#718399 !important;stroke-width:2 !important;fill:#173040 !important;fill-opacity:.82 !important;cursor:pointer}
.studio #canvas .element.fixed_glass {fill:#173447 !important}
.studio #canvas .element.sliding_door {fill:#25394a !important}
.studio #canvas .element.hinged_door {fill:#3a3340 !important}
.studio #canvas .element.panel {fill:#34383d !important}
.studio #canvas .element.opening {fill:#0a0e13 !important}
.studio #canvas .element.selected {stroke:#f2f6fa !important;stroke-width:4 !important}
.studio #canvas .element-label {
  fill:#f5f8fb !important;
  stroke:none !important;
  font:700 14px/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif !important;
  text-anchor:middle !important;
  paint-order:stroke !important;
  pointer-events:none !important;
}
.studio #canvas .element-sub {
  fill:#c1cedc !important;
  stroke:none !important;
  font:600 12px/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif !important;
  text-anchor:middle !important;
  pointer-events:none !important;
}
.studio #canvas .dim {stroke:#728398 !important;stroke-width:1.2 !important}
.studio #canvas .dimtext {fill:#d8e4f0 !important;font-size:18px !important;text-anchor:middle !important}
.studio .validation-banner {z-index:4}
