*{box-sizing:border-box}body{margin:0;background:#f4f4ee;color:#22392f;font:14px/1.5 system-ui,sans-serif}button,input,select{font:inherit}button,.button{border:1px solid #cbd3ca;background:#fff;border-radius:7px;padding:9px 12px;color:#263e33;cursor:pointer;font-weight:600;display:inline-block}button:hover,.button:hover{background:#edf2eb}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,.fixture:focus-visible{outline:3px solid #db992f;outline-offset:3px}header{display:flex;align-items:center;gap:22px;padding:17px 28px;background:#fff;border-bottom:1px solid #dce2d9}.brand{color:#294d3c;font-size:27px;font-weight:850;display:flex;align-items:center;gap:11px;text-decoration:none}.brand span{font-size:10px;letter-spacing:1.4px;width:90px;line-height:1.3}.tag,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750}.tag{color:#718071}.project-actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}.intro{padding:27px 30px 23px;display:flex;align-items:center;justify-content:space-between;gap:24px}.intro h1{font:500 clamp(24px,2.1vw,34px)/1.2 Georgia,serif;margin:7px 0}.intro p{margin:6px 0;color:#657369}.save{max-width:230px;font-size:12px}.save span{font-weight:700;display:block}.save small{display:block;color:#758076;margin-top:5px}main{display:grid;grid-template-columns:270px minmax(400px,1fr) 255px;gap:17px;padding:0 24px 26px}aside,article{min-width:0}aside section{background:#fff;border:1px solid #dde3d9;border-radius:12px;margin-bottom:14px;padding:17px}h2{font-size:15px;margin:0 0 13px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}.section-title h2{margin:0}.section-title>span{background:#e9eee3;color:#5b7157;font-size:10px;padding:4px 6px;border-radius:4px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:14px}label{font-size:11px;color:#5a695e}input,select{display:block;width:100%;min-width:0;border:1px solid #cdd6c9;border-radius:6px;padding:8px;margin-top:4px;background:#fff;color:#263b2e}input[type=color]{width:36px;height:34px;padding:2px;margin:0}.primary{background:#315c43;color:#fff;border-color:#315c43}.primary:hover{background:#244631}.full{width:100%}.hint{font-size:11px;line-height:1.6;color:#758072;margin-bottom:0}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:8px}.catalog button{text-align:left;font-size:11px;min-height:58px}.catalog b{display:block;font-size:17px;font-weight:400;color:#58745d}.color-row{display:flex;gap:9px;align-items:center;margin:12px 0}.color-row label{flex:1}.color-row code{font-size:11px;color:#667466}.workspace{background:#fff;border:1px solid #dce3d7;border-radius:13px;overflow:hidden;align-self:start}.view-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px;border-bottom:1px solid #e2e6df;gap:10px}.tabs{display:flex;background:#edf1e9;padding:3px;border-radius:8px}.tabs button{background:transparent;border:none}.tabs .active{background:#fff;box-shadow:0 1px 5px #24392822}#plan-wrap,#three-wrap{position:relative;height:560px;background:#f7f8f3}#plan{width:100%;height:100%;touch-action:none}#three{width:100%;height:100%}#three canvas{display:block}.canvas-tip{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;font-size:10px;color:#6e7a6c;pointer-events:none;background:#f7f8f3d9;padding:5px;border-radius:5px}.plan-footer{display:flex;justify-content:space-between;gap:10px;padding:12px 17px;background:#f0f3eb;font-size:10px;color:#657260}.checks{padding:19px}.checks h2{margin-bottom:8px}#checks{font-size:12px}#checks ul{padding-left:18px;color:#9b5326}#checks .good{color:#427247}#check-count{font-size:11px;color:#778474}.fixture{cursor:grab}.fixture:active{cursor:grabbing}.fixture text{pointer-events:none;user-select:none}.fixture.selected .footprint{stroke:#ce8c28;stroke-width:18}.fixture.selected .rotator{cursor:pointer}.edit-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.edit-actions button{font-size:11px}.danger{color:#ad493b}#fixture-list button{display:block;width:100%;text-align:left;margin:7px 0;font-size:11px;font-weight:500}#fixture-list button.active{border-color:#648c64;background:#f0f5ea}.note{background:#eaf0e3}.note p{font-size:12px;color:#63735e}#reset-camera{position:absolute;right:12px;top:12px}#message{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#294a38;color:#fff;padding:14px 24px;border-radius:10px;z-index:10;max-width:90vw;box-shadow:0 5px 30px #0003}#print-sheet{display:none}[hidden]{display:none!important}#webgl-error{position:absolute;inset:20%;background:#fff;padding:20px}.unit{color:#7f8a7c;font-size:10px}@media (min-width:1700px){main{grid-template-columns:290px minmax(400px,1fr) 275px}#plan-wrap,#three-wrap{height:660px}}@media (max-width:1150px){header{flex-wrap:wrap}.project-actions{margin-left:0}.tag{margin-left:auto}main{grid-template-columns:240px minmax(350px,1fr)}.inspector{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}#plan-wrap,#three-wrap{height:510px}}@media (max-width:700px){header{padding:14px}.tag{display:none}.project-actions button,.button{font-size:11px;padding:8px}.intro{padding:20px 16px;display:block}.save{margin-top:14px;max-width:none}main{display:flex;flex-direction:column;padding:0 12px}.workspace{order:0;width:100%}main>aside:first-child{order:1;display:grid;grid-template-columns:1fr;gap:0}.inspector{order:2;display:block}#plan-wrap,#three-wrap{height:410px}.view-toolbar button{font-size:12px}.plan-footer{flex-direction:column}.intro h1{font-size:27px}header .brand{font-size:24px}.project-actions{gap:5px}.fields{grid-template-columns:1fr 1fr}}@media print{body>header,body>.intro,body>main,#message{display:none!important}#print-sheet{display:block;color:#111;padding:15mm}#print-plan svg{width:100%;height:145mm}#print-sheet h1{font-size:22px}#print-sheet table{border-collapse:collapse;width:100%;font-size:11px}#print-sheet td,#print-sheet th{padding:7px;border-bottom:1px solid #ccc;text-align:left}@page{size:A4;margin:10mm}}#room-editor-panel{padding:18px;background:#eef4e8;border-bottom:1px solid #ccd9c5}.room-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}.room-edit-grid button{font-size:11px;margin:3px 0}#wall-adjustment{padding:12px;background:#fff3d9;border-radius:8px;margin-top:12px}#room-handles{cursor:pointer}#room-handles circle{cursor:move}.view-toolbar{flex-wrap:wrap}@media (max-width:700px){.room-edit-grid{grid-template-columns:1fr}}#drawing-views.split{display:grid;grid-template-columns:1fr 1fr}#drawing-views.split #plan-wrap,#drawing-views.split #three-wrap{height:440px}@media (max-width:900px){#drawing-views.split{grid-template-columns:1fr}#drawing-views.split #plan-wrap,#drawing-views.split #three-wrap{height:350px}}.catalog-expanded label{display:block;margin-bottom:10px}.camera-controls{padding:12px;display:flex;gap:6px;flex-wrap:wrap;background:#edf1e7;grid-column:1/-1}.camera-controls button{font-size:11px}#opening-list button{display:block;margin:8px 0;width:100%;text-align:left;font-size:12px}#opening-form{margin-top:12px}#selected-variant{margin-bottom:14px}#delete-opening{margin-top:8px}[data-opening]{cursor:grab}.surface-swatches{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.surface-swatches button{width:27px;height:27px;padding:0;border:2px solid #d1d8cc}#surface-studio>label{display:block;margin:8px 0}#reset-wall-finish{margin-top:8px}.catalog-expanded details{margin:12px 0}.catalog-expanded summary{font-weight:650;cursor:pointer;margin-bottom:10px}.drag-bin{border:2px dashed #b56d59;background:#fff6f1;color:#93432c;min-width:125px;min-height:44px}.drag-bin.dragging{position:fixed;right:24px;bottom:24px;z-index:1001;width:190px;height:76px;box-shadow:0 4px 24px #0003;background:#fff0e7}.drag-bin.over{background:#b53529;color:#fff;border:3px solid #872319;transform:scale(1.07)}#drag-ghost{position:fixed;pointer-events:none;z-index:1002;background:#315c43;color:#fff;border-radius:8px;padding:9px 13px;font-size:12px;max-width:220px;box-shadow:0 3px 12px #0003}#drag-ghost.over{background:#b53529}.bin-source{opacity:.45}.bin-drag-active{user-select:none}@media (max-width:700px){.drag-bin.dragging{right:14px;bottom:18px;width:165px;height:70px}}@media print{.drag-bin,#drag-ghost{display:none!important}}.bin-drag-active .fixture.selected{opacity:.45}.bin-slot{display:inline-flex;flex:none;align-items:center}.planner-navigation{display:flex;gap:8px;padding:0 24px 16px;flex-wrap:wrap}.planner-navigation a{color:#284b37;background:#e5ecdf;border-radius:8px;padding:10px 16px;text-decoration:none;font-weight:650}aside summary{font-weight:750;font-size:15px;cursor:pointer;padding:4px 0 12px}aside details:not([open]) summary{padding-bottom:4px}button,input,select{min-height:42px}.surface-swatches button{min-width:38px;min-height:38px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d89528;outline-offset:3px}.project-dialog{max-width:680px;width:calc(100% - 24px);max-height:85vh;overflow:auto;border:1px solid #ccd6c6;border-radius:16px;padding:24px;color:#263e33}.project-dialog::backdrop{background:#14251acc}.dialog-close{float:right}.project-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #dce3d7}.project-row strong{flex:1;min-width:140px;overflow-wrap:anywhere}#save-named{margin:10px 0}#recovery-list{display:flex;flex-wrap:wrap;gap:8px}#settings-panel,#details-panel,#drawing-views{scroll-margin-top:12px}@media (max-width:700px){.inspector{order:1}main>aside:first-child{order:2}.planner-navigation{padding:0 12px 12px}.planner-navigation a{font-size:12px;padding:10px}.view-toolbar{gap:7px}.tabs{width:100%;justify-content:space-between}.tabs button{flex:1;padding:8px 5px}.project-actions{width:100%}#message{bottom:8px;padding:10px 14px}.canvas-tip{font-size:9px}.project-dialog{padding:18px}}@media print{.planner-navigation,.project-dialog{display:none!important}}@media print{@page{size:A4 landscape;margin:10mm}#print-sheet{padding:0}#print-sheet h1{font-size:22px}#print-sheet .report-plan{width:100%;height:150mm;object-fit:contain}.report-photo,.report-spec{break-before:page}.report-photo img{width:100%;height:155mm;object-fit:contain}.report-spec p{font-size:11px;break-inside:avoid}.report-spec h2{break-after:avoid}}.clearance-controls{border-top:1px solid #e0e6da;margin-top:16px;padding-top:12px}.clearance-controls>label{display:inline-flex;align-items:center;gap:8px;margin-right:12px}.clearance-controls input[type=checkbox]{width:20px}.clearance-controls input[type=number]{width:90px}
