:root{--ink:#1B3035;--ink-soft:#526667;--muted:#81918D;--paper:#F5F5EF;--border:#DDE3DE;--teal:#284C4E;--accent:#AE773D;--white:#FFFFFF;--shadow:0 8px 26px #1B303511}
*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);font-size:13px;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:0;color:var(--ink);background:none;transition:background .15s,color .15s}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,svg:focus-visible{outline:2px solid #AE773D;outline-offset:3px}input,select{color:var(--ink)}button svg{width:20px;height:20px}button label{cursor:pointer}[hidden]{display:none!important}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.app-header{height:78px;background:#192C31;color:white;display:flex;align-items:center;gap:28px;padding:0 25px;box-shadow:0 2px 10px #0002}.brand{display:flex;align-items:center;gap:12px;min-width:242px}.brand-mark{font-family:Georgia,serif;letter-spacing:-2px;font-size:27px;color:#ECD6B8;border:1px solid #496061;padding:6px 10px}.brand-mark span{color:#BA8E5B}.brand strong{display:block;font-size:17px;font-weight:550;letter-spacing:-.3px}.brand-sub{display:block;color:#9FB0AE;font-size:10px;margin-top:4px;letter-spacing:1px}.project-header{flex:1;display:flex;align-items:center;gap:12px}.project-header input{max-width:260px;width:100%;background:none;border:0;border-bottom:1px solid transparent;color:#DDE7E2;font-size:13px;padding:8px 0}.project-header input:hover{border-bottom-color:#52696A}.draft-badge{font-size:8px;letter-spacing:1.5px;border:1px solid #5B6A64;padding:4px 7px;color:#B5C3B8;border-radius:3px}.header-actions{display:flex;align-items:center;gap:10px}.header-actions .quiet{color:#C4D2CC}.header-actions .quiet:hover{background:#30464A}.help-button{border:1px solid #4C6061;border-radius:50%;width:28px;height:28px;color:#C5D0C7;font-size:14px;margin-left:4px}.primary{background:var(--teal);color:white;border-radius:6px;padding:11px 15px;font-size:12px;font-weight:550}.header-actions .primary{background:#DBC4A4;color:#24383A;display:flex;align-items:center;gap:18px}.primary:hover{filter:brightness(1.08)}.outline{border:1px solid #CFD9D2;background:#fff;border-radius:5px;padding:9px 12px;font-size:11px}.outline:hover{background:#EDF2ED;border-color:#B9C9BD}.quiet{padding:9px 10px;border-radius:5px;font-size:11px}.quiet:hover{background:#EDF1EC}.full{width:100%}
.studio{display:grid;grid-template-columns:254px minmax(350px,1fr) 276px;height:calc(100dvh - 78px)}.library-panel{background:#FCFDF9;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:auto}.panel-heading{padding:28px 22px 17px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--muted);font-weight:600}.panel-heading h1{font-size:23px;font-weight:500;letter-spacing:-1px;margin:11px 0 9px}.panel-heading p{font-size:11px;color:var(--ink-soft);line-height:1.7;margin:0}.category-tabs{display:flex;gap:4px;padding:0 16px 16px;border-bottom:1px solid #E7EBE5}.category-tabs button{font-size:10px;padding:7px 9px;border-radius:4px;color:#72807C}.category-tabs button.active{background:#E8EEEA;color:#2B5553;font-weight:600}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:18px 16px}.fixture-card{min-height:109px;border:1px solid #E0E6DF;border-radius:7px;background:white;text-align:left;padding:13px 11px 9px;position:relative;touch-action:manipulation}.fixture-card:hover{border-color:#809F91;box-shadow:var(--shadow);transform:translateY(-1px)}.fixture-card.selected{border-color:#AE773D;background:#FCF9F2}.fixture-card .fixture-icon{width:33px;height:33px;stroke:#4A6766;stroke-width:1.6;fill:none;margin-bottom:11px}.fixture-card strong{font-size:10px;font-weight:600;display:block;line-height:1.3}.fixture-card small{display:block;color:#8A9690;font-size:8px;line-height:1.5;margin-top:4px}.drag-dot{position:absolute;right:9px;top:10px;color:#A3AFA8;font-size:12px}.library-note{margin:8px 19px 20px;display:flex;gap:9px;font-size:10px;line-height:1.6;color:#83908A}.note-dot{width:5px;height:5px;background:#AE773D;border-radius:50%;flex:none;margin-top:6px}.library-note strong{color:#63736B;font-size:10px;font-weight:600}.library-note p{margin:4px 0 0}.library-bottom{margin-top:auto;padding:19px 16px;border-top:1px solid #E7EBE5}.library-bottom p{font-size:8px;color:#93A095;text-align:center;margin:10px 0 0}
.workspace{position:relative;display:flex;flex-direction:column;min-width:0;background:#F0F2EC}.workspace-header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:15px;background:#F7F8F3}.workspace-header h2{font-size:20px;font-weight:500;letter-spacing:-.6px;margin:8px 0 0}.workspace-header h2 span{font-size:9px;letter-spacing:.1px;font-weight:400;color:#89968E;margin-left:10px;background:#E8EDE5;padding:4px 7px;border-radius:4px;white-space:nowrap}.workspace-actions{display:flex;align-items:center;gap:5px}.workspace-actions .quiet span{background:#E4EBE3;border-radius:3px;margin-left:5px;font-size:9px;padding:2px 5px}.toolbar{height:54px;display:flex;align-items:center;gap:12px;padding:0 22px;border-top:1px solid #E6EBE3;border-bottom:1px solid #DDE4DB;background:#F7F8F3}.tool-group{display:flex;gap:3px}.tool-group button{display:flex;align-items:center;gap:6px;padding:7px 9px;font-size:10px;color:#79877E;border-radius:4px}.tool-group button span{font-size:17px;color:#536D65;line-height:1}.tool-group button.active{background:#E2EAE1;color:#294F44}.history-tools{border-left:1px solid #DCE3DB;padding-left:9px}.history-tools button{font-size:22px;padding:1px 7px;color:#6C8275}.toolbar-right{margin-left:auto;display:flex;gap:10px;align-items:center}.check-label{display:flex;align-items:center;gap:5px;font-size:9px;color:#6D8075}.check-label input{accent-color:#345E51;width:12px;height:12px}.toolbar-right select{font-size:9px;border:1px solid #DCE4DA;background:transparent;border-radius:4px;padding:5px}.icon-button{padding:4px 7px;border-radius:4px;font-size:19px;color:#728679}.icon-button.active{background:#E2EAE1}.drawing-shell{flex:1;position:relative;overflow:hidden;min-height:250px;background:#ECEFE7}.drawing-label{position:absolute;top:19px;left:23px;display:flex;align-items:center;gap:7px;font-size:9px;color:#7B8C7E;pointer-events:none;z-index:1}.small-dot{width:5px;height:5px;border-radius:50%;background:#97A589}.drawing-shell svg{display:block;width:100%;height:100%;touch-action:none;user-select:none}.drawing-shell svg[data-tool="ceiling"],.drawing-shell svg[data-tool="measure"],.drawing-shell svg[data-tool="calibrate"],.drawing-shell svg[data-placing]{cursor:crosshair}.drawing-shell svg.panning{cursor:grabbing}.canvas-controls{position:absolute;bottom:23px;left:22px;display:flex;align-items:center;box-shadow:0 3px 18px #233F2511;background:white;border:1px solid #DCE5DA;border-radius:5px;height:33px}.canvas-controls button{font-size:13px;padding:6px 9px}.canvas-controls button:hover{background:#F0F4EC}.canvas-controls span{font-size:9px;min-width:39px;text-align:center;color:#7E8D7B}.canvas-controls button:last-child{border-left:1px solid #E1E8DB;font-size:10px;padding:8px 12px}.drawing-status{display:flex;justify-content:space-between;gap:12px;padding:11px 20px;font-size:9px;background:#F7F8F3;border-top:1px solid #DCE3D8;color:#7C8D7F;height:33px}.drawing-status span:last-child{color:#527867}.placement-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);padding:10px 16px;background:#203B35;color:white;box-shadow:var(--shadow);border-radius:5px;font-size:11px;white-space:nowrap}.scene-floating{position:absolute;top:20px;right:20px;min-width:210px;background:#FFFFFD;border:1px solid #D3DFD3;border-radius:7px;padding:14px;box-shadow:var(--shadow);z-index:3}.scene-floating h4{font-size:12px;margin:0 0 12px}.scene-option{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:11px;width:100%;border-bottom:1px solid #EDF0E8}.scene-option.active{color:#AE773D;font-weight:600}.scene-floating p{font-size:9px;line-height:1.5;color:#8C978C;margin:12px 0 0}
.inspector-panel{display:flex;flex-direction:column;background:#FCFDF9;border-left:1px solid var(--border);overflow:hidden}.inspector-tabs{height:57px;display:flex;align-items:stretch;padding:0 14px;gap:9px;border-bottom:1px solid #E6EBE4;flex:none}.inspector-tabs button{font-size:10px;padding:0 8px;color:#8B978E;border-bottom:2px solid transparent}.inspector-tabs button.active{color:#31574B;border-bottom-color:#78967D}.inspector-tabs span{font-size:8px;padding:1px 4px;background:#EEE9DB;color:#927844;border-radius:3px;margin-left:3px}.inspector-content{padding:24px 20px;overflow:auto;flex:1}.inspector-content h3{font-size:18px;font-weight:500;letter-spacing:-.5px;margin:8px 0}.inspector-content .subtext{font-size:10px;line-height:1.7;color:#859084;margin:0 0 20px}.selection-title{display:flex;justify-content:space-between;align-items:center}.selected-icon{width:35px;height:35px;fill:none;stroke:#52735F;stroke-width:1.5}.property-section{padding-top:18px;margin-top:18px;border-top:1px solid #E6EBE1}.property-section h4{font-size:9px;font-weight:600;letter-spacing:1.4px;color:#879484;margin:0 0 13px;text-transform:uppercase}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.field{display:block;font-size:9px;color:#7F8D7D;margin-bottom:12px}.field input,.field select,.field textarea{display:block;width:100%;margin-top:6px;border:1px solid #DCE4D7;background:#FEFFFB;border-radius:4px;padding:9px 8px;font-size:11px;min-width:0}.field textarea{resize:vertical;min-height:67px}.field small{float:right;font-size:8px;color:#9AA794}.field input:disabled{background:#EFF3EB;color:#8B9A83}.field-inline{display:flex;align-items:center;gap:6px;margin:14px 0;font-size:10px;color:#5D765F}.field-inline input{accent-color:#52725C}.property-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.property-actions button{flex:1;font-size:10px}.danger{color:#99665D}.small-note{padding:12px;background:#F1F4EB;border-radius:4px;font-size:9px;color:#819075;line-height:1.7;margin:19px 0}.dimension-summary{display:flex;justify-content:space-between;font-size:11px;margin:15px 0}.dimension-summary strong{font-weight:500}.group-card{border:1px solid #DCE4D7;border-radius:6px;padding:13px;margin-bottom:13px}.group-card-header{display:flex;gap:8px;align-items:center;font-size:12px}.group-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.group-card p{font-size:9px;color:#8B9983;margin:7px 0 13px}.group-card .field{margin-bottom:9px}.group-card .field input,.group-card .field select{font-size:10px;padding:7px}.issue{border-left:2px solid #AE773D;padding:1px 0 1px 12px;margin:20px 0}.issue.note{border-left-color:#9CAC91}.issue strong{font-weight:550;font-size:11px;line-height:1.5}.issue p{font-size:10px;line-height:1.65;color:#85917E;margin:6px 0 0}.inspector-footer{border-top:1px solid #E5EBDF;display:flex;align-items:center;gap:7px;padding:13px 17px;font-size:8px;color:#8D9B82}.live-dot{width:4px;height:4px;background:#8BA976;border-radius:50%}.text-button{margin-left:auto;font-size:9px;color:#728767;padding:2px}
.schedule-drawer{position:absolute;bottom:33px;left:0;right:0;max-height:50%;background:#FCFDF9;border-top:1px solid #C7D5C4;z-index:4;box-shadow:0 -7px 25px #2A412512;overflow:auto}.drawer-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 23px;border-bottom:1px solid #E3EADF}.drawer-heading h3{font-size:16px;font-weight:500;margin:6px 0 0}.drawer-heading>div:last-child{display:flex;align-items:center;gap:10px}.schedule-drawer table{width:100%;border-collapse:collapse;font-size:11px}.schedule-drawer th{text-align:left;font-size:8px;font-weight:600;color:#87967C;letter-spacing:1px;padding:12px 22px;background:#F2F5ED}.schedule-drawer td{padding:12px 22px;border-top:1px solid #E7EDE1}.schedule-drawer .schedule-note{padding:12px 22px;font-size:9px;color:#8A957F}.storage-banner{background:#F1DCAB;padding:8px 24px;font-size:11px;color:#644619}.storage-banner button{font-weight:600;text-decoration:underline;padding:0 10px}.storage-banner:not([hidden])~.studio{height:calc(100dvh - 110px)}
.dialog{border:1px solid #D6E1CB;border-radius:9px;max-width:430px;width:calc(100vw - 40px);padding:30px;color:var(--ink);box-shadow:0 25px 70px #0B201133}.dialog::backdrop{background:#142D2470}.dialog h2{font-weight:500;font-size:23px;letter-spacing:-.6px;margin:12px 0 15px}.dialog p{color:#7B8A72;font-size:12px;line-height:1.7}.dialog label{display:block;color:#697C60;font-size:11px;margin-top:20px}.dialog label span{float:right;font-size:10px;color:#99A38E}.dialog input{width:100%;margin-top:8px;padding:12px;border:1px solid #CDDCC2;border-radius:5px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}.dialog li{font-size:12px;color:#6D8065;margin:13px 0;line-height:1.6}.dialog ol{padding-left:18px}.dialog .fine-print{font-size:10px}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:10px;border-top:1px solid #E1E9D9;padding-top:18px;margin-top:18px}.shortcut-grid kbd{text-align:right;font:10px inherit;color:#92A184}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:80vw;z-index:20;background:#1D392C;color:#F4F7ED;padding:13px 20px;border-radius:6px;box-shadow:0 8px 28px #132B1922;font-size:12px;line-height:1.5}
@media(min-width:1700px){.studio{grid-template-columns:280px minmax(400px,1fr) 310px}.catalog{padding:20px;gap:12px}.fixture-card{min-height:119px}.panel-heading{padding-left:26px}.inspector-content{padding:27px 24px}.workspace-header{padding:0 35px}}
@media(max-width:1200px){.studio{grid-template-columns:220px minmax(300px,1fr) 248px}.app-header{padding:0 18px;gap:15px}.brand{min-width:205px}.toolbar{padding:0 12px;gap:6px}.tool-group button{padding:7px 6px}.workspace-header{padding:0 20px}.workspace-actions .quiet{padding:7px;font-size:10px}.workspace-header h2{font-size:18px}.workspace-header h2 span{display:none}.toolbar-right{gap:5px}.tool-group button label{display:none}.catalog{padding:14px 12px;gap:7px}.fixture-card{padding:10px;min-height:106px}.panel-heading{padding:25px 16px 17px}.category-tabs{padding-left:10px;gap:2px}.inspector-content{padding:20px 17px}}
@media(max-width:900px){body{overflow:auto}.app-header{height:auto;min-height:75px;flex-wrap:wrap;gap:10px;padding:15px}.brand{min-width:0;flex:1}.project-header{flex:1;min-width:190px}.header-actions{margin-left:auto}.studio{height:auto;min-height:calc(100dvh - 90px);grid-template-columns:180px 1fr;grid-template-rows:minmax(550px,70dvh) auto}.library-panel{grid-row:1/3}.inspector-panel{grid-column:2;min-height:330px;max-height:550px;border-top:1px solid #D6E0CB}.inspector-content{padding:20px;min-height:250px}.inspector-tabs{height:47px}.field-grid{gap:14px}.panel-heading h1{font-size:20px}.catalog{grid-template-columns:1fr;padding:12px}.fixture-card{min-height:75px;padding:10px 10px 10px 54px}.fixture-card .fixture-icon{position:absolute;left:12px;top:14px;width:29px}.fixture-card small{max-width:90px}.category-tabs{flex-wrap:wrap;gap:4px;padding:0 10px 12px}.drawing-status span:nth-child(2){display:none}.workspace-header{height:80px;padding:0 14px;gap:7px}.workspace-header h2{font-size:16px}.workspace-actions{gap:2px}.workspace-actions .quiet{font-size:9px;padding:7px 4px}.workspace-actions .outline{font-size:9px;padding:8px 5px}}
@media(max-width:600px){.project-header{order:3;flex-basis:100%;padding-top:5px;border-top:1px solid #3A5145}.brand strong{font-size:15px}.brand-sub{font-size:8px}.brand-mark{font-size:23px;padding:4px 7px}.header-actions .quiet{display:none}.header-actions .primary{font-size:10px;padding:9px 10px;gap:7px}.header-actions{gap:8px}.studio{display:flex;flex-direction:column}.library-panel{order:2;border-right:0;border-bottom:1px solid #D6E0CB;max-height:290px}.panel-heading{padding:17px 17px 8px}.panel-heading h1{font-size:18px;margin:6px 0}.panel-heading p{font-size:10px}.catalog{grid-template-columns:repeat(4,1fr);gap:6px;padding:10px}.fixture-card{padding:9px 7px;min-height:95px;text-align:center}.fixture-card .fixture-icon{position:static;width:27px;height:27px;margin:0 auto 8px}.fixture-card small,.drag-dot,.library-note{display:none}.fixture-card strong{font-size:9px}.category-tabs{padding:0 13px 10px;flex-wrap:nowrap}.library-bottom{padding:10px 15px;display:flex;align-items:center;gap:10px}.library-bottom .full{width:auto;flex:1}.library-bottom p{flex:1;font-size:8px}.workspace{order:1;height:60dvh;min-height:440px}.workspace-header{height:65px}.toolbar{height:48px;gap:4px;padding:0 7px}.history-tools{padding-left:4px}.toolbar-right .check-label{font-size:8px}.toolbar-right{gap:3px}.tool-group button{padding:6px 4px}.toolbar-right select{padding:4px;font-size:8px}.drawing-status{padding:10px;font-size:8px}.drawing-label{top:12px;left:12px;font-size:8px}.canvas-controls{bottom:15px;left:12px}.inspector-panel{order:3;max-height:none}.placement-hint{bottom:58px;max-width:85%;white-space:normal;width:max-content;font-size:10px}.schedule-drawer td,.schedule-drawer th{padding:11px 12px}.drawer-heading{padding:12px}.scene-floating{top:10px;right:10px}.storage-banner:not([hidden])~.studio{height:auto}}
.fixture-card{touch-action:none;cursor:grab}.fixture-card:active{cursor:grabbing}.fixture-card svg{pointer-events:none}.drag-ghost{position:fixed;z-index:50;pointer-events:none;background:#284C4E;color:white;border-radius:5px;padding:12px 18px;font-size:12px;box-shadow:0 8px 20px #142E2433}
