:root{--ink:#07131f;--ink-2:#122334;--muted:#667786;--paper:#f5f2ec;--white:#fff;--copper:#bc7c43;--copper-2:#d5a26d;--line:#dce3e7;--teal:#3e786f;--danger:#b44842;--shadow:0 20px 60px rgba(7,19,31,.13)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;color:var(--ink);background:#e9eef0}button,input,select,textarea{font:inherit}button,.file-button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(188,124,67,.28);outline-offset:2px}.app-shell{height:100vh;min-height:680px;display:flex;flex-direction:column;overflow:hidden}
.app-header{height:78px;flex:none;display:grid;grid-template-columns:250px minmax(200px,1fr) auto;align-items:center;gap:24px;padding:0 24px;background:var(--ink);color:white;border-bottom:1px solid rgba(255,255,255,.09);z-index:10}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;min-width:max-content}.brand img{width:42px;height:42px;border-radius:12px;object-fit:cover;filter:invert(1);mix-blend-mode:screen}.brand span{display:flex;flex-direction:column}.brand strong{font-family:Manrope,sans-serif;font-size:14px;letter-spacing:.01em}.brand small{color:#9fb0bd;font-size:11px;margin-top:2px}.project-title{justify-self:start;display:grid;grid-template-columns:auto minmax(120px,260px);align-items:center;column-gap:10px}.project-title label{font-size:11px;color:#9fb0bd;grid-row:1}.project-title input{background:transparent;color:white;border:0;border-bottom:1px solid rgba(255,255,255,.2);padding:6px 2px;font-family:Manrope,sans-serif;font-weight:600}.save-state{grid-column:2;color:#7fc0a7;font-size:10px;margin-top:2px}.header-actions{display:flex;align-items:center;gap:8px}.icon-button,.secondary-button,.primary-button{border-radius:10px;min-height:40px;border:1px solid transparent;font-weight:700;font-size:12px}.icon-button{width:40px;color:white;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);font-size:20px}.icon-button:disabled{opacity:.28;cursor:not-allowed}.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;color:white;background:transparent;border-color:rgba(255,255,255,.17)}.primary-button{padding:0 18px;background:var(--copper);color:#101a22;box-shadow:0 8px 24px rgba(188,124,67,.2)}.primary-button:hover{background:var(--copper-2)}.file-button input{position:absolute;opacity:0;pointer-events:none;width:1px}
.planner-layout{min-height:0;flex:1;display:grid;grid-template-columns:220px minmax(420px,1fr) 328px}.toolbox{background:var(--ink-2);color:white;padding:24px 16px 18px;display:flex;flex-direction:column;gap:28px;overflow:auto}.tool-group{display:flex;flex-direction:column;gap:6px}.tool-caption{text-transform:uppercase;letter-spacing:.14em;color:#778b9b;font-size:9px;font-weight:700;margin:0 10px 8px}.tool{border:0;background:transparent;color:#aebcc6;border-radius:11px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;min-height:46px;padding:4px 10px;text-align:left;font-weight:600;font-size:13px}.tool:hover{background:rgba(255,255,255,.06);color:white}.tool.active{background:rgba(188,124,67,.16);color:#f2c18f;box-shadow:inset 3px 0 var(--copper)}.tool-icon{display:grid;place-items:center;width:30px;height:30px;font-size:18px}.tool kbd{font:9px DM Sans,sans-serif;color:#617585;border:1px solid #3a4b59;border-radius:4px;padding:2px 5px}.wall-icon:before{content:"";width:24px;border-top:4px solid currentColor;transform:rotate(-22deg)}.door-icon{border-left:3px solid currentColor;border-top:3px solid currentColor;border-radius:18px 0 0}.window-icon:before{content:"";width:23px;border-top:2px solid currentColor;box-shadow:0 4px currentColor,0 -4px currentColor}.tool-help{margin-top:auto;padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:12px}.tool-help .tool-caption{margin-left:0}.tool-help p{font-size:11px;line-height:1.55;color:#9db0bd;margin:0}.danger-tool{color:#db9b96;margin-top:-14px}.danger-tool:hover{background:rgba(180,72,66,.12);color:#ffc0ba}
.canvas-panel{min-width:0;display:flex;flex-direction:column;background:#eef2f3}.canvas-toolbar{height:52px;flex:none;display:flex;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid #d7dfe3;background:#f8faf9}.mode-pill{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700}.mode-pill i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(62,120,111,.12)}.desktop-hint{font-size:10px;color:var(--muted)}.zoom-controls{margin-left:auto;display:flex;align-items:center;border:1px solid var(--line);background:white;border-radius:9px;overflow:hidden}.zoom-controls button{border:0;background:white;min-width:32px;height:30px;color:var(--ink);font-size:13px}.zoom-controls button:hover{background:#f2f4f5}.zoom-controls span{min-width:48px;text-align:center;color:var(--muted);font-size:10px;border-inline:1px solid var(--line)}.canvas-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:#e7ecee}.canvas-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 50px rgba(7,19,31,.06)}#plan-canvas{display:block;width:100%;height:100%;background:#f8faf9;touch-action:none;user-select:none}.canvas-bg{cursor:default}.wall-hit{stroke:transparent;stroke-width:24;cursor:pointer}.wall-core{stroke:var(--ink);stroke-width:10;stroke-linecap:square;filter:url(#shadow);pointer-events:none}.wall-core.selected{stroke:var(--copper)}.wall-node{fill:white;stroke:var(--ink);stroke-width:3;pointer-events:none}.dimension-bg{fill:white;stroke:#d4dde2;stroke-width:1}.dimension-text{fill:#394b59;font-size:12px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.room-shape{fill:rgba(62,120,111,.11);stroke:none}.room-label{font-size:17px;font-weight:700;text-anchor:middle;fill:#49605e}.room-area{font-size:12px;text-anchor:middle;fill:#687b7a}.preview-wall{stroke:var(--copper);stroke-width:6;stroke-dasharray:10 7}.preview-point{fill:var(--copper);stroke:white;stroke-width:4}.opening-mask{stroke:#f8faf9;stroke-width:15}.window-mark{stroke:#3f8aa2;stroke-width:3}.door-leaf{stroke:#a26a39;stroke-width:3;fill:none}.selected-opening{filter:drop-shadow(0 0 5px rgba(188,124,67,.8))}.empty-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:auto minmax(220px,360px);gap:18px;background:rgba(255,255,255,.96);padding:24px 26px;border:1px solid #dfe6e9;border-radius:16px;box-shadow:var(--shadow);z-index:2}.empty-guide.hidden{display:none}.empty-guide .guide-step{color:var(--copper);font:700 12px Manrope,sans-serif}.empty-guide strong{font:700 17px Manrope,sans-serif}.empty-guide p{color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0 0}.empty-guide button{grid-column:2;border:0;background:var(--ink);color:white;border-radius:9px;padding:11px 14px;font-weight:700;font-size:11px;justify-self:start}.scale-indicator{position:absolute;left:24px;bottom:22px;color:#536675;font-size:10px}.scale-indicator span{display:block;width:100px;border-bottom:2px solid #536675;border-left:2px solid #536675;border-right:2px solid #536675;height:8px;margin-bottom:4px}.status-bar{height:30px;flex:none;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:#687984;background:#f8faf9;border-top:1px solid #d7dfe3;font-size:9px}.status-bar b{color:#344754}
.wall-layer-shape{stroke:rgba(7,19,31,.35);stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}.wall-selection-outline{stroke:var(--copper);stroke-linecap:square;pointer-events:none}.wall-side-label{fill:#7a5a3d;font-size:8px;font-weight:800;text-anchor:middle;dominant-baseline:middle;letter-spacing:.08em;pointer-events:none}
.wall-core{filter:none}.finish-wall{border:1px solid #ba8a5d;background:#fff8f0;color:#80522c;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.finish-wall:hover{background:#fcebd9}.finish-wall[hidden]{display:none}.preview-wall{stroke:var(--copper);stroke-width:5;stroke-dasharray:none;opacity:.75}
.inspector{background:white;border-left:1px solid var(--line);padding:25px 22px;overflow:auto}.eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--copper);font-weight:700}.inspector-head h1{font:700 22px/1.15 Manrope,sans-serif;margin:9px 0}.inspector-head p{font-size:11px;line-height:1.55;color:var(--muted);margin:0}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.metric-grid>div{background:var(--paper);border-radius:11px;padding:12px}.metric-grid span{display:block;color:#667581;font-size:9px;margin-bottom:6px}.metric-grid strong{font:700 17px Manrope,sans-serif}.metric-grid small{font-size:10px}.inspector-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;font-size:12px;font-weight:700}.section-title small{font-size:9px;color:#8a979f;font-weight:500}.section-title button{border:0;background:transparent;color:var(--danger);font-size:10px}.inspector label,dialog label{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;color:#465865;font-size:10px;font-weight:600}.inspector input,.inspector select,dialog input,dialog textarea{width:100%;border:1px solid #d7e0e4;border-radius:9px;background:white;padding:10px;color:var(--ink);font-size:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inspector-note{display:flex;gap:10px;background:#edf5f3;color:#46645e;border-radius:11px;padding:13px;margin-top:20px}.inspector-note>span{flex:none;width:19px;height:19px;border:1px solid #7fa39c;border-radius:50%;display:grid;place-items:center;font:700 10px serif}.inspector-note p{font-size:9px;line-height:1.55;margin:0}.inspector-note strong{display:block}.selected-panel{background:#fff9f2;border:1px solid #efdeca;border-radius:11px;padding:14px;margin-top:0}.selected-panel label{margin-bottom:8px}
dialog{width:min(620px,calc(100% - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 30px 100px rgba(7,19,31,.35);color:var(--ink)}dialog::backdrop{background:rgba(7,19,31,.7);backdrop-filter:blur(5px)}dialog form{padding:34px;position:relative}dialog h2{font:700 27px/1.15 Manrope,sans-serif;margin:9px 0 8px}dialog p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 18px}.dialog-close{position:absolute;right:18px;top:18px;border:0;background:#f0f3f4;width:32px;height:32px;border-radius:50%;font-size:19px}.dialog-summary{display:flex;gap:8px;flex-wrap:wrap;background:var(--paper);padding:12px;border-radius:11px;margin-bottom:18px}.dialog-summary span{font-size:10px;background:white;border:1px solid #e5ded3;border-radius:20px;padding:6px 9px}.consent{flex-direction:row!important;align-items:flex-start}.consent input{width:auto;margin-top:2px}.submit-lead{width:100%;margin-top:4px}dialog form>small{display:block;text-align:center;color:#788792;font-size:9px;margin-top:10px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:white;border-radius:10px;padding:12px 18px;font-size:11px;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
.wall-settings{display:grid;gap:10px}.thickness-control{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:center}.thickness-control input[type="range"]{padding:0;accent-color:var(--copper)}.thickness-control input[type="number"]{text-align:right}.composition-summary{border:1px solid #eadbc9;background:white;border-radius:9px;padding:10px}.composition-summary>span{display:block;color:#6f7c84;font-size:9px}.composition-summary strong{display:block;margin-top:3px;font-size:11px}.composition-strip{display:flex;height:22px;margin:10px 0 7px;border:1px solid #a9b2b6;border-radius:5px;overflow:hidden}.composition-strip span+span{border-left:1px solid rgba(7,19,31,.28)}.composition-legend{display:grid;gap:4px;margin:0;padding:0;list-style:none}.composition-legend li{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:6px;font-size:9px;color:#52636e}.composition-legend i{width:8px;height:8px;border:1px solid rgba(7,19,31,.2);border-radius:2px}.composition-legend b{font-weight:700;color:#293d4a}.thermal-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.thermal-chips span{background:#edf5f3;color:#3f665e;border-radius:20px;padding:5px 7px;font-size:9px;font-weight:700}.edit-composition,.flip-composition{width:100%;border:1px solid #d7c1a8;background:#fff9f2;color:#81552d;border-radius:8px;padding:9px;font-size:10px;font-weight:700}.flip-composition{border-color:#cfdadd;background:#f6f9f9;color:#405761}
.composition-dialog{width:min(760px,calc(100% - 32px))}.dialog-composition-preview{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:0 0 18px}.dialog-composition-preview small{color:#7d8a92;font-size:8px;font-weight:800;letter-spacing:.08em}.dialog-composition-preview>div{display:flex;height:34px;border:1px solid #9da8ad;border-radius:6px;overflow:hidden}.dialog-composition-preview span+span{border-left:1px solid rgba(7,19,31,.3)}.composition-head,.composition-row{display:grid;grid-template-columns:minmax(150px,1fr) 110px 110px 34px;gap:8px;align-items:center}.composition-head{color:#798790;font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:0 4px 7px}.composition-row{margin-bottom:8px}.composition-row input,.composition-row select{margin:0;width:100%;border:1px solid #d7e0e4;border-radius:9px;background:white;padding:10px;color:var(--ink);font-size:11px}.composition-row .unit-field{position:relative}.composition-row .unit-field input{padding-right:28px}.composition-row .unit-field span{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:9px;color:#82909a}.remove-layer{border:0;background:#f8ebea;color:var(--danger);width:30px;height:30px;border-radius:8px;font-size:16px}.add-layer-button{border:1px dashed #b8c5cc;background:#f8faf9;color:#415765;border-radius:9px;padding:10px 13px;font-size:10px;font-weight:700}.thermal-result{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--paper);border-radius:11px;padding:13px;margin-top:18px}.thermal-result span{font-size:9px;color:#687984}.thermal-result strong{display:block;color:var(--ink);font-size:13px;margin-top:3px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.secondary-dark{border:1px solid #cfd9de;background:white;color:var(--ink);border-radius:10px;padding:0 18px;font-weight:700;font-size:11px}
@media(max-width:1100px){.app-header{grid-template-columns:auto 1fr}.project-title{display:none}.header-actions .secondary-button{display:none}.planner-layout{grid-template-columns:76px minmax(360px,1fr) 300px}.toolbox{padding:20px 10px}.tool{grid-template-columns:1fr;justify-items:center;padding:5px}.tool>span:nth-child(2),.tool kbd,.tool-caption,.tool-help{display:none}.danger-tool{margin-top:auto}.inspector{padding:20px 16px}}
@media(max-width:760px){.app-shell{height:auto;min-height:100vh;overflow:visible}.app-header{height:auto;min-height:68px;padding:10px 13px;position:sticky;top:0}.brand img{width:36px;height:36px}.brand small{display:none}.header-actions{margin-left:auto}.header-actions .icon-button{display:none}.primary-button{padding:0 12px;font-size:10px}.planner-layout{display:flex;flex-direction:column}.canvas-panel{height:62vh;min-height:460px;order:1}.toolbox{order:2;position:sticky;bottom:0;z-index:8;display:flex;flex-direction:row;align-items:center;gap:4px;padding:8px;background:var(--ink-2);overflow:visible}.tool-group:first-child{display:grid;grid-template-columns:repeat(4,1fr);flex:1;gap:3px}.tool{min-height:48px;font-size:9px;display:flex;flex-direction:column;gap:2px}.tool>span:nth-child(2){display:block}.tool-icon{height:22px}.danger-tool{display:none}.inspector{order:3;border:0;padding:24px 18px;overflow:visible}.canvas-toolbar{height:44px}.desktop-hint,.zoom-controls button:last-child{display:none}.status-bar{display:none}.empty-guide{width:calc(100% - 32px);grid-template-columns:auto 1fr;padding:18px}.empty-guide button{grid-column:1 / -1}.scale-indicator{left:16px;bottom:16px}.metric-grid{grid-template-columns:repeat(4,1fr)}.metric-grid>div{padding:9px 7px}.metric-grid strong{font-size:14px}.metric-grid span{min-height:22px}.field-row{grid-template-columns:1fr}.app-header .primary-button span{display:none}}
@media(max-width:430px){.brand strong{font-size:12px}.header-actions{gap:5px}.header-actions .primary-button{max-width:120px;line-height:1.1}.canvas-panel{height:58vh}.metric-grid{grid-template-columns:1fr 1fr}dialog form{padding:28px 20px}.composition-head{display:none}.composition-row{grid-template-columns:1fr 1fr 34px}.composition-row>select{grid-column:1/-1}.thermal-result{grid-template-columns:1fr}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{min-height:42px}}
.canvas-toolbar .finish-wall{margin-left:auto}.canvas-toolbar .finish-wall:not([hidden])+.desktop-hint{display:none}@media(max-width:760px){.canvas-toolbar{gap:8px;padding:0 10px}.canvas-toolbar .finish-wall{font-size:10px;padding:6px 8px}.canvas-toolbar .finish-wall:not([hidden])~.zoom-controls{margin-left:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.room-shape{cursor:pointer}.room-shape.selected-room{fill:rgba(188,124,67,.2);stroke:#bc7c43;stroke-width:2;stroke-dasharray:5 4}.room-label,.room-area,.room-surface-tag{pointer-events:none}.room-surface-tag{font-size:8px;text-anchor:middle;fill:#4b7469;font-weight:700}.opening-dimension{font-size:9px;font-weight:800;fill:#6c492a;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3;pointer-events:none}.surface-card{background:white;border:1px solid #eadbc9;border-radius:10px;padding:11px;display:grid;gap:8px}.surface-card>strong{font:700 12px Manrope,sans-serif}.surface-card label{margin:0}.surface-card .composition-legend{padding:7px 0}.inspector-help{font-size:10px;line-height:1.5;color:#667786;margin:0}.section-title button[hidden]{display:none}
.surface-tools{border-top:1px solid rgba(255,255,255,.09);padding-top:14px}.surface-card.active-surface{border-color:var(--copper);box-shadow:0 0 0 2px rgba(188,124,67,.11)}#plan-canvas.is-panning{cursor:grabbing}.scale-indicator b{font-weight:600}.drawing-sheet,.drawing-grid{cursor:crosshair}
@media(max-width:1100px){.surface-tools{padding-top:8px}.surface-tools .tool{min-height:42px}}
@media(max-width:760px){.toolbox{flex-wrap:wrap}.surface-tools{display:grid;grid-template-columns:repeat(2,1fr);flex:1 1 100%;border-top:1px solid rgba(255,255,255,.13);padding-top:5px}.surface-tools .tool{flex-direction:row;justify-content:center;gap:8px;min-height:34px}.surface-tools .tool>span:nth-child(2){display:block}.surface-tools .tool-icon{height:auto;width:20px}.surface-tools .tool-caption{display:none}}
.view-switch{display:flex;flex:none;background:#e7ebed;border:1px solid #d5dfe3;border-radius:9px;padding:2px;gap:2px}.view-switch button{border:0;border-radius:7px;background:transparent;color:#526675;font-size:10px;font-weight:800;white-space:nowrap;padding:7px 9px}.view-switch button[aria-pressed="true"]{background:#fff;color:#102331;box-shadow:0 1px 4px rgba(7,19,31,.12)}#scene-3d{position:absolute;inset:0;width:100%;height:100%;display:block;background:#eaf0f1;cursor:grab;touch-action:none}#scene-3d:active{cursor:grabbing}#plan-canvas[hidden],#scene-3d[hidden],#view3d-panel[hidden],#view3d-empty[hidden]{display:none!important}.view3d-panel{position:absolute;right:15px;top:15px;z-index:3;display:grid;gap:8px;max-width:245px;padding:12px 14px;border:1px solid #d7e0e4;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(7,19,31,.08);color:#334b58;font-size:10px}.view3d-panel label{display:flex;gap:6px;align-items:center;font-weight:700}.view3d-panel input{accent-color:#bc7c43}.view3d-panel small{color:#687984;line-height:1.4}.view3d-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:7px;text-align:center;background:#fff;padding:22px;border-radius:12px;box-shadow:var(--shadow);z-index:4;font-size:13px}.view3d-empty span{color:#667786;font-size:11px}.view3d-active .toolbox [data-tool]:not([data-tool="select"]){opacity:.42;pointer-events:none}.view3d-active .scale-indicator{display:none}.view3d-active .empty-guide{display:none}
@media(max-width:1250px){.canvas-toolbar .desktop-hint{display:none}}
@media(max-width:760px){.view-switch{margin-left:auto}.view-switch button{padding:7px 8px}.zoom-controls{margin-left:0}.view3d-panel{top:10px;right:10px;max-width:190px;padding:9px;font-size:9px}.view3d-panel small{font-size:9px}}
.roof-settings{display:grid;gap:10px}.roof-settings .section-title{margin-bottom:0}.roof-footprint-status{margin:0;padding:8px 10px;background:#eaf4ef;color:#3c6958;border-radius:8px;font-size:10px;line-height:1.4}.roof-footprint-status.roof-warning{background:#fff3e5;color:#8b5a2c}.roof-toggle{display:flex!important;align-items:center;gap:9px;font-weight:700!important;margin:0!important}.roof-toggle input{width:auto!important;accent-color:var(--copper)}.roof-fields{display:grid;gap:10px;padding-top:5px}.roof-fields[hidden]{display:none}.roof-fields .field-row{gap:8px}#roof-layer{pointer-events:none}.roof-outline{fill:rgba(188,124,67,.06);stroke:#a46845;stroke-width:2;stroke-dasharray:9 5}.roof-ridge{stroke:#99532f;stroke-width:3;stroke-linecap:round;stroke-dasharray:12 5}.roof-plan-label{text-anchor:middle;fill:#8d4b2c;font-size:10px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3}
.roof-fields label[hidden]{display:none!important}.roof-hip{stroke:#a46845;stroke-width:2;stroke-dasharray:8 4}.roof-slope{stroke:#99532f;stroke-width:2.5;stroke-linecap:round}.roof-toggle input:disabled{opacity:.45}
.roof-valley{stroke:#2d6570;stroke-width:3;stroke-linecap:round;stroke-dasharray:4 4}
.projects-dialog{width:min(720px,calc(100% - 32px))}.projects-dialog-body{padding:32px;position:relative}.projects-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px}.projects-dialog-toolbar span{font-size:11px;color:var(--muted)}.projects-list{display:grid;gap:9px;max-height:min(50vh,440px);overflow:auto}.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:white}.project-card.active{border-color:#a8c9be;background:#f4faf7}.project-card-details{min-width:0;display:grid;gap:4px}.project-card-details strong{font:700 13px Manrope,sans-serif;overflow-wrap:anywhere}.project-card-details span{font-size:10px;color:var(--muted)}.project-card-actions{display:flex;gap:5px;flex-wrap:wrap}.project-card-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;color:#38505e;font-size:10px;font-weight:700;padding:7px 9px}.project-card-actions .project-open{border-color:#adcad0;background:#edf5f5;color:#295760}.project-card-actions .project-delete{color:var(--danger)}.project-card-actions button:disabled{opacity:.45;cursor:default}#projects-button{white-space:nowrap}@media(max-width:1100px){.header-actions #projects-button{display:inline-flex}}@media(max-width:760px){.header-actions #projects-button{padding:0 10px;min-height:36px;font-size:10px}}@media(max-width:560px){.projects-dialog-body{padding:25px 17px}.project-card{grid-template-columns:1fr}.project-card-actions{justify-content:flex-start}}
@media(max-width:430px){.app-header{gap:7px}.brand{min-width:0}.brand img{width:30px;height:30px}.brand strong{display:none}.header-actions #projects-button{padding:0 7px;font-size:9px;min-height:34px}.header-actions #request-review{max-width:100px;padding:0 7px;font-size:9px}}
