:root{color:#16202a;font-synthesis:none;text-rendering:optimizelegibility;background:#e8edf2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}.auth-gate{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{color:#f9fafb;background:#111827b8;border:1px solid #9ca3af2e;border-radius:12px;gap:22px;width:min(460px,100%);padding:28px;display:grid;box-shadow:0 24px 70px #0000006b}.auth-kicker{color:#9ca3af;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:800;display:block}.auth-panel h1{margin-bottom:10px;font-size:26px}.auth-panel p{color:#cbd5e1;line-height:1.55}.auth-status,.auth-error{background:#1f2937b8;border:1px solid #9ca3af2e;border-radius:10px;padding:10px 12px;font-size:14px}.auth-error{color:#fecaca;background:#7f1d1d42;border-color:#f8717166}.auth-form{gap:14px;display:grid}.auth-form button{color:#f9fafb;background:linear-gradient(#3b82f6,#2563eb);border:1px solid #3b82f675;border-radius:10px;min-height:42px;font-size:14px;font-weight:900;box-shadow:0 8px 22px #3b82f647}.auth-form button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.auth-session-bar{z-index:60;color:#f9fafb;-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#111827c7;border:1px solid #9ca3af2e;border-radius:12px;align-items:center;gap:12px;max-width:min(360px,100vw - 36px);padding:10px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 38px #00000047}.auth-session-bar div{gap:2px;min-width:0;display:grid}.auth-session-bar strong,.auth-session-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-session-bar strong{font-size:12px}.auth-session-bar span{color:#9ca3af;font-size:11px}.auth-session-bar button{color:#f9fafb;background:#1f2937c2;border:1px solid #9ca3af2e;border-radius:10px;flex:none;padding:7px 9px;font-size:12px;font-weight:800}.tooltip-layer{z-index:9999;color:#f9fafb;pointer-events:none;text-align:center;white-space:normal;background:#080d18f0;border:1px solid #9ca3af38;border-radius:8px;max-width:min(280px,100vw - 24px);padding:7px 9px;font-size:12px;font-weight:800;line-height:1.25;position:fixed;box-shadow:0 14px 34px #00000057}.tooltip-layer.top{transform:translate(-50%,-100%)}.tooltip-layer.bottom{transform:translate(-50%)}.patch-modal-backdrop{z-index:5000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.patch-modal{color:#f9fafb;background:#111827f5;border:1px solid #9ca3af33;border-radius:12px;gap:14px;width:min(440px,100%);padding:18px;display:grid;box-shadow:0 24px 70px #00000080}.patch-modal p{color:#cbd5e1;font-size:14px;line-height:1.45}.patch-modal ul{gap:6px;max-height:160px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.patch-modal li{color:#fecaca;background:#7f1d1d33;border:1px solid #f871713d;border-radius:8px;padding:7px 9px;font-size:13px;font-weight:800}.project-draft-compare{gap:8px;margin:0;display:grid}.project-draft-compare div{background:#0f172a57;border:1px solid #94a3b82e;border-radius:8px;grid-template-columns:130px minmax(0,1fr);align-items:baseline;gap:10px;padding:8px 10px;display:grid}.project-draft-compare dt{color:#94a3b8;text-transform:uppercase;font-size:11px;font-weight:900}.project-draft-compare dd{color:#f8fafc;margin:0;font-size:13px;font-weight:760}.patch-modal-actions{justify-content:flex-end;gap:8px;display:flex}.patch-modal-actions button{color:#f9fafb;background:#1f2937e0;border:1px solid #9ca3af33;border-radius:10px;min-height:34px;padding:7px 11px;font-weight:900}.patch-modal-actions button.primary{background:linear-gradient(#3b82f6,#2563eb);border-color:#3b82f685}.pdf-export-modal{width:min(520px,100%)}.pdf-export-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pdf-export-options label{color:#e5e7eb;background:#1f2937b8;border:1px solid #9ca3af2e;border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:8px 10px;font-size:13px;font-weight:850;display:flex}.pdf-export-options input{accent-color:#3b82f6;width:16px;height:16px}.project-library-modal{width:min(720px,100%)}.project-library-search{color:#cbd5e1;gap:6px;font-size:12px;font-weight:850;display:grid}.project-library-search input{color:#f9fafb;width:100%;min-height:38px;font:inherit;background:#0f172ad6;border:1px solid #9ca3af38;border-radius:10px;padding:8px 10px}.project-library-list{gap:8px;max-height:min(420px,62vh);display:grid;overflow:auto}.project-library-empty{color:#cbd5e1;text-align:center;background:#0f172a8f;border:1px dashed #9ca3af47;border-radius:10px;padding:18px 12px;font-size:13px;font-weight:800}.project-library-list article{background:#1f2937b8;border:1px solid #9ca3af2e;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;display:grid}.project-library-list article div{gap:3px;min-width:0;display:grid}.project-library-list strong,.project-library-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-library-list span{color:#cbd5e1;font-size:12px}.project-library-list button{color:#f9fafb;background:#0f172ad6;border:1px solid #9ca3af33;border-radius:8px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:850}.project-library-list button.danger{color:#fecaca;background:#7f1d1d47;border-color:#f871715c}.patch-csv-modal{width:min(620px,100%)}.patch-csv-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.patch-csv-summary span,.patch-csv-type-list li{color:#e5e7eb;background:#1f2937b8;border:1px solid #9ca3af2e;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:850}.patch-csv-type-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.patch-csv-type-list li{justify-content:space-between;display:flex}button,input,select{font:inherit}button{cursor:pointer}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-notice{color:#1e3a8a;background:#dbeafe;border-bottom:1px solid #94a3b83d;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:8px 18px;font-size:13px;font-weight:800;display:flex}.app-notice.error{color:#7f1d1d;background:#fee2e2}.app-notice button{width:28px;height:28px;color:inherit;background:0 0;border:1px solid;border-radius:999px;font-size:17px;font-weight:900;line-height:1}.app-toolbar{background:#fbfcfd;border-bottom:1px solid #cdd6df;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:10px 18px;display:flex}.brand-block{align-items:center;gap:14px;min-width:0;display:flex}.brand-block span{color:#5d6875;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.brand-block input,.brand-block select{color:#17202a;background:#eef3f7;border:1px solid #0000;border-radius:6px;width:min(46vw,420px);min-width:140px;padding:8px 10px;font-size:18px;font-weight:700}.brand-block .project-name-input{width:min(30vw,360px)}.brand-block .configuration-select{width:min(20vw,240px);font-size:13px}.brand-block .configuration-name-input{width:min(22vw,280px);font-size:13px}.toolbar-actions{align-items:center;gap:8px;display:flex;position:relative}.save-indicator{color:#475569;text-align:center;background:#f8fafc;border:1px solid #cbd5df;border-radius:999px;min-width:96px;padding:6px 9px;font-size:11px;font-weight:850}.save-indicator.saved{color:#166534;background:#dcfce7;border-color:#16a34a47}.save-indicator.dirty{color:#92400e;background:#fef3c7;border-color:#d977064d}.save-indicator.saving{color:#1d4ed8;background:#dbeafe;border-color:#2563eb4d}.save-indicator.error{color:#991b1b;background:#fee2e2;border-color:#dc26264d}.toolbar-actions>button,.file-button,.icon-button,.danger-button{color:#243241;background:#fff;border:1px solid #cbd5df;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.toolbar-actions>button:hover,.file-button:hover,.icon-button:hover{background:#eef5fb;border-color:#7894b2}.file-button input{display:none}.toolbar-menu{flex:none;position:relative}.toolbar-menu-trigger{color:#243241;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #cbd5df;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:auto;min-width:92px;height:36px;padding:0 11px;font-size:12px;font-weight:850;display:inline-flex}.toolbar-menu:last-of-type .toolbar-menu-trigger{min-width:126px}.toolbar-menu.open .toolbar-menu-trigger,.toolbar-menu-trigger:hover{background:#eef5fb;border-color:#7894b2}.toolbar-menu-panel{z-index:40;background:#fff;border:1px solid #cbd5df;border-radius:8px;gap:6px;width:210px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 38px #0f172a29}.toolbar-menu:first-of-type .toolbar-menu-panel{left:0;right:auto}.toolbar-menu:nth-of-type(2) .toolbar-menu-panel{left:50%;right:auto;transform:translate(-50%)}.configuration-menu .toolbar-menu-panel{width:260px}.toolbar-menu-panel button,.toolbar-menu-file{color:#243241;text-align:left;background:#fff;border:1px solid #0000;border-radius:6px;justify-content:flex-start;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 9px;font-size:12px;font-weight:800;display:inline-flex}.toolbar-menu-panel button:hover,.toolbar-menu-file:hover{background:#f4f7fa;border-color:#d7e1ea}.toolbar-menu-panel button:disabled{opacity:.5;cursor:not-allowed}.toolbar-menu-panel label:not(.toolbar-menu-file){color:#5d6875;gap:5px;font-size:11px;font-weight:800;display:grid}.toolbar-menu-panel input,.toolbar-menu-panel select{color:#17202a;background:#f8fafc;border:1px solid #cbd5df;border-radius:6px;min-width:0;padding:8px 9px;font-size:13px;font-weight:750}.toolbar-menu-file input{display:none}.workspace{flex:1;grid-template-columns:minmax(320px,390px) minmax(0,1fr);min-height:0;display:grid}.editor-panel{background:#f7f9fb;border-right:1px solid #cdd6df;grid-template-rows:auto minmax(170px,1fr) auto;min-height:0;max-height:none;display:grid}.panel-header,.plan-header{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}h1,h2,h3,p{margin:0}h1{font-size:22px}h2{font-size:15px}h3{font-size:16px}.panel-header p,.plan-header p{color:#697585;margin-top:4px;font-size:12px}.projector-list{padding:0 10px 10px;overflow:auto}.projector-row{color:#17202a;text-align:left;background:#fff;border:1px solid #d8e0e8;border-radius:6px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:54px;margin-bottom:6px;padding:9px 10px;display:grid}.projector-row.selected{border-color:#2878bd;box-shadow:inset 3px 0 #2878bd}.projector-row strong,.projector-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.projector-row small{color:#6a7786}.projector-row em{color:#39556f;font-size:12px;font-style:normal;font-weight:700}.color-dot{border:1px solid #243241;border-radius:50%;width:12px;height:12px}.projector-form{background:#fff;border-top:1px solid #cdd6df;gap:10px;padding:14px 16px 18px;display:grid}.form-title{justify-content:space-between;align-items:center;display:flex}.danger-button{color:#9d2222}label{color:#5c6875;gap:5px;font-size:12px;font-weight:700;display:grid}input,select,textarea{color:#17202a;background:#fff;border:1px solid #cbd5df;border-radius:6px;width:100%;min-width:0;padding:8px 9px}textarea{resize:vertical;min-height:72px}input[type=color]{height:38px;padding:4px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.plan-workspace{min-width:0;min-height:0;padding:0 18px 24px;overflow:auto}.plan-header{padding-inline:0}.domain-tabs{background:#fff;border:1px solid #c8d2dc;border-radius:7px;display:inline-flex;overflow:hidden}.domain-tabs span,.domain-tabs button{color:#697585;text-align:center;background:0 0;border:0;min-width:64px;padding:8px 10px;font-size:13px;font-weight:700}.domain-tabs .active{color:#fff;background:#2878bd}.geometry-editor{grid-template-rows:auto minmax(0,1fr);display:grid}.geometry-form{min-height:0;padding:0 16px 18px;overflow:auto}.geometry-form fieldset,.technical-info-form fieldset{background:#fff;border:1px solid #d7dfe7;border-radius:8px;gap:10px;margin:0 0 14px;padding:12px;display:grid}.geometry-form legend,.technical-info-form legend{color:#334155;text-transform:uppercase;padding:0 5px;font-size:12px;font-weight:800}.pdf-field-label{justify-content:space-between;align-items:center;gap:8px;display:flex}.pdf-field-toggle{color:#607080;align-items:center;gap:5px;font-size:10px;font-weight:900;display:inline-flex}.pdf-field-toggle input{accent-color:#2878bd;width:15px;height:15px;margin:0}.geometry-storage-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.geometry-storage-actions button{color:#243241;background:#fff;border:1px solid #cbd5df;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;font-size:12px;font-weight:800;display:inline-flex}.geometry-storage-actions button:disabled{cursor:not-allowed;opacity:.45}.rigging-editor{align-content:start}.rigging-series-card,.rigging-bar-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:9px;padding:10px;display:grid}.rigging-bar-card.selected{border-color:#2878bd;box-shadow:0 0 0 2px #2878bd2e}.rigging-series-card h3{color:#1f2937;margin:0;font-size:12px;font-weight:900}.rigging-action-button,.rigging-add-actions button,.rigging-bar-card-header button{color:#243241;background:#fff;border:1px solid #cbd5df;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:34px;font-size:12px;font-weight:800;display:inline-flex}.rigging-add-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rigging-bar-list{gap:10px;display:grid}.rigging-bar-card-header{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.rigging-bar-card-header button{padding:0}.rigging-bar-card summary{cursor:pointer;list-style:none}.rigging-bar-card summary::-webkit-details-marker{display:none}.rigging-bar-card summary span{gap:2px;min-width:0;display:grid}.rigging-bar-card summary strong{color:#1f2937;font-size:12px}.rigging-bar-card summary small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.rigging-bar-card-body{gap:9px;display:grid}.geometry-accordion{background:#fff;border:1px solid #d7dfe7;border-radius:8px;margin:0 0 14px}.geometry-accordion>summary{cursor:pointer;color:#243241;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:0 12px;font-size:12px;font-weight:900;list-style:none;display:flex}.geometry-accordion>summary::-webkit-details-marker{display:none}.geometry-accordion>summary:after{content:"+";color:#607080;font-size:16px;line-height:1}.geometry-accordion[open]>summary:after{content:"-"}.geometry-accordion-content{padding:0 10px 10px}.geometry-accordion-content .geometry-form fieldset,.geometry-accordion-content fieldset{margin-bottom:10px}.geometry-accordion-content fieldset:last-child{margin-bottom:0}.room-selector-panel{grid-template-rows:auto minmax(0,1fr);display:grid}.room-selector-content{grid-template-columns:1fr;align-content:start;align-items:start;gap:16px;min-height:0;padding:0 16px 18px;display:grid;overflow:auto}.room-readonly-summary{background:#fff;border:1px solid #d7dfe7;border-radius:8px;margin:0}.room-readonly-summary div{border-bottom:1px solid #e1e7ed;padding:10px 12px}.room-readonly-summary div:last-child{border-bottom:0}.room-readonly-summary dt{color:#5c6875;text-transform:uppercase;font-size:11px;font-weight:800}.room-readonly-summary dd{color:#17202a;margin:3px 0 0;font-size:14px;font-weight:700}.fixture-palette,.plan-object-panel,.placed-fixture-list,.fixture-detail-form,.technical-info-form,.sound-placeholder{gap:10px;display:grid}.technical-info-form{min-height:0;padding:0 16px 18px;overflow:auto}.technical-info-form textarea{min-height:92px}.technical-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.technical-contacts{gap:8px;display:grid}.contact-book-search span{background:#fff;border:1px solid #cbd5df;border-radius:6px;align-items:center;gap:7px;padding:0 8px;display:flex}.contact-book-search span input{background:0 0;border:0;padding-left:0;padding-right:0}.contact-book-results{background:#f8fafc;border:1px solid #d7dfe7;border-radius:8px;gap:5px;padding:6px;display:grid}.contact-book-results button{color:#243241;text-align:left;background:#fff;border:1px solid #0000;border-radius:6px;gap:2px;min-height:38px;padding:6px 8px;display:grid}.contact-book-results button:hover{background:#eef5fb;border-color:#b9c9d8}.contact-book-results span,.contact-book-results p{color:#607080;font-size:11px}.technical-contact-row{grid-template-columns:repeat(2,minmax(0,1fr)) repeat(3,32px);align-items:center;gap:7px;display:grid}.technical-contact-row input:first-of-type{grid-area:1/1}.technical-contact-row input:nth-of-type(2){grid-area:1/2}.technical-contact-row input:nth-of-type(3){grid-area:2/1}.technical-contact-row input:nth-of-type(4){grid-area:2/2}.technical-contact-row input:nth-of-type(5){grid-area:3/1/auto/span 2}.technical-contact-row button:first-of-type{grid-area:1/3}.technical-contact-row button:nth-of-type(2){grid-area:1/4}.technical-contact-row button:nth-of-type(3){grid-area:1/5}.technical-contact-row button,.technical-add-button,.technical-file-button{color:#243241;background:#fff;border:1px solid #cbd5df;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:34px;font-size:12px;font-weight:800;display:inline-flex}.technical-file-button input{display:none}.technical-cover-preview{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;display:grid}.technical-cover-preview img,.technical-photo-row img{object-fit:cover;background:#0f172a6b;border-radius:8px;width:72px;height:52px}.technical-cover-preview div{gap:7px;min-width:0;display:grid}.technical-cover-preview strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.technical-cover-preview button{color:#fecaca;background:#1f2937c2;border:1px solid #9ca3af29;border-radius:10px;align-items:center;gap:6px;width:fit-content;min-height:30px;padding:5px 8px;font-size:11px;font-weight:900;display:inline-flex}.technical-photo-list{gap:8px;display:grid}.technical-photo-row{grid-template-columns:72px minmax(0,1fr) 30px 30px 30px;align-items:center;gap:7px;display:grid}.technical-photo-row button{min-height:30px;color:var(--text);background:#1f2937c2;border:1px solid #9ca3af29;border-radius:10px;font-size:12px;font-weight:900}.technical-photo-row button:disabled{cursor:not-allowed;opacity:.45}.technical-overview{grid-template-rows:auto 1fr;gap:16px;min-height:calc(100vh - 160px);margin:0 14px 14px;display:grid}.technical-overview-header{box-shadow:var(--shadow-soft);background:#1f293794;border:1px solid #9ca3af24;border-radius:12px;padding:22px}.technical-overview-header span{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900;display:block}.technical-overview-header h2{color:var(--text);margin:0;font-size:30px}.technical-overview-header p{color:var(--muted);margin-top:6px;font-weight:800}.technical-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.technical-overview article{background:#1f29377a;border:1px solid #9ca3af24;border-radius:12px;min-width:0;padding:16px}.technical-overview h3{text-transform:uppercase;margin-bottom:12px;font-size:13px}.technical-overview dl{gap:10px;margin:0;display:grid}.technical-overview dl div{grid-template-columns:110px minmax(0,1fr);gap:12px;display:grid}.technical-overview dt{color:var(--muted);font-size:12px;font-weight:800}.technical-overview dd{color:var(--text);margin:0;font-size:13px;font-weight:800}.technical-overview p{color:var(--muted);white-space:pre-wrap;line-height:1.55}.technical-overview ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.technical-overview li{gap:3px;display:grid}.technical-overview li strong{color:var(--text);font-size:13px}.technical-overview li span{color:var(--muted);font-size:12px}.technical-photo-overview div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.technical-photo-overview img{aspect-ratio:16/10;object-fit:cover;background:#0f172a6b;border:1px solid #9ca3af29;border-radius:10px;width:100%}.fixture-reference-status{color:var(--text);background:#3b82f624;border:1px solid #3b82f647;border-radius:10px;margin:0;padding:7px 9px;font-size:11px;font-weight:800}.fixture-reference-status.muted{color:var(--muted);background:#1118276b;border-color:#9ca3af24}.patch-csv-import-button{min-height:38px;color:var(--text);background:#3b82f629;border:1px solid #3b82f652;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:850;display:inline-flex}.patch-csv-import-button:hover{background:#3b82f63d;border-color:#60a5fa94}.patch-csv-import-button input{display:none}.fixture-batch-panel{background:#1f293780;border:1px solid #9ca3af24;border-radius:12px;gap:10px;padding:10px;display:grid}.fixture-batch-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.fixture-batch-title h3{font-size:13px}.fixture-batch-title strong{min-width:28px;color:var(--text);text-align:center;background:#3b82f647;border-radius:999px;padding:3px 8px;font-size:12px}.plan-text-toggles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.plan-text-toggles label{min-height:30px;color:var(--text);background:#11182780;border:1px solid #9ca3af29;border-radius:9px;align-items:center;gap:7px;padding:6px 8px;font-size:11px;font-weight:800;display:flex}.plan-text-toggles input{width:14px;height:14px;accent-color:var(--accent);margin:0}.fixture-batch-actions{grid-template-columns:1fr repeat(4,auto);gap:7px;display:grid}.fixture-batch-actions button{min-height:32px;color:var(--text);background:#111827b8;border:1px solid #9ca3af29;border-radius:10px;padding:6px 8px;font-size:11px;font-weight:900}.fixture-conflict-status,.fixture-selection-empty{color:var(--muted);margin:0;font-size:12px;font-weight:700}.fixture-conflict-status{color:#fecaca}.fixture-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.fixture-palette-grid button{color:#243241;background:#fff;border:1px solid #d6dee7;border-radius:7px;place-items:center;gap:6px;min-height:62px;padding:6px 5px;font-size:11px;font-weight:800;display:grid}.fixture-palette-grid button:hover{background:#eef5fb;border-color:#2878bd}.plan-object-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.plan-object-buttons button,.plan-object-row .row-delete-button{color:#243241;background:#fff;border:1px solid #d6dee7;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;font-size:11px;font-weight:800;display:inline-flex}.object-button-icon{opacity:.92;width:16px;height:16px;display:block}.object-button-icon rect,.object-button-icon circle,.object-button-icon ellipse,.object-button-icon path,.object-button-icon line{fill:#e2e8f08c;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.object-button-icon path,.object-button-icon line{fill:none}.physical-object-mini-icon{opacity:.92;border:2px solid;border-radius:4px;width:16px;height:16px;display:inline-block}.stage-object-library{gap:8px;display:grid}.stage-object-library+.stage-object-library,.object-library-import-row{margin-top:12px}.stage-object-library-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stage-object-library-title h4{color:var(--text);text-transform:uppercase;margin:0;font-size:11px;font-weight:900}.stage-object-library-title small{color:var(--muted-soft);font-size:10px;font-weight:800}.plan-object-list{gap:6px;display:grid}.plan-object-row{cursor:pointer;background:#fff;border:1px solid #d7dfe7;border-radius:7px;grid-template-columns:18px 22px minmax(0,1fr) auto 30px;align-items:center;gap:8px;min-height:42px;padding:7px;display:grid}.plan-object-row input[type=checkbox]{accent-color:#2878bd;width:16px;height:16px;margin:0}.plan-object-row span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.plan-object-row small{color:#607080;font-size:11px;font-weight:700}.plan-object-row.selected{border-color:#22c55e;box-shadow:inset 3px 0 #22c55e}.fixture-picto{display:block;overflow:visible}.placed-fixture-list p,.sound-placeholder p{color:#697585;margin:0;font-size:13px}.placed-fixture-row{cursor:pointer;background:#fff;border:1px solid #d7dfe7;border-radius:7px;grid-template-columns:18px 28px minmax(0,1fr) auto 30px;align-items:center;gap:8px;min-height:44px;padding:7px;display:grid}.placed-fixture-row input[type=checkbox]{accent-color:#2878bd;width:16px;height:16px;margin:0}.placed-fixture-row.selected{border-color:#2878bd;box-shadow:inset 3px 0 #2878bd}.placed-fixture-row span{gap:2px;min-width:0;font-size:13px;font-weight:800;display:grid;overflow:hidden}.placed-fixture-row span>em{color:#5a3900;background:#fef3c7;border-radius:999px;width:fit-content;padding:1px 6px;font-size:10px;font-style:normal;font-weight:900}.placed-fixture-row small{color:#607080;font-size:11px;font-weight:700}.placed-fixture-row .row-delete-button{color:#9d2222;background:snow;border:1px solid #e1b3b3;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.fixture-detail-form{padding-top:4px}.fixture-detail-form h3{margin-top:2px}.fixture-detail-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.fixture-detail-title button{min-height:30px;color:var(--muted);background:#11182799;border:1px solid #9ca3af29;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:900;display:inline-flex}.fixture-detail-title button.active{border-color:var(--accent);color:var(--text);background:#3b82f638;box-shadow:0 8px 22px #3b82f62e}.lighting-grid-options{justify-content:space-between;align-items:center;gap:8px;display:flex}.lighting-grid-cut-buttons,.fixture-rotation-buttons{align-items:center;gap:8px;display:inline-flex}.plan-placement-control{align-content:center;justify-items:center;gap:5px;min-width:72px;min-height:48px;display:grid}.plan-placement-control>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900;line-height:1}.toolbar-switch{min-width:46px;min-height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0;font-size:11px;font-weight:850;display:inline-flex}.toolbar-switch-track{background:#64748b80;border:1px solid #94a3b86b;border-radius:999px;flex:none;width:46px;height:26px;transition:background .14s,border-color .14s,box-shadow .14s;display:block;position:relative}.toolbar-switch-thumb{box-sizing:border-box;background:#f8fafc;border-radius:50%;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;transition:transform .14s;display:block;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0f172a59}.toolbar-switch.checked{color:var(--text)}.toolbar-switch.checked .toolbar-switch-track{background:#22c55e;border-color:#22c55eb8;box-shadow:0 0 0 3px #22c55e24}.toolbar-switch.checked .toolbar-switch-thumb{transform:translate(20px)}.toolbar-switch-label{text-align:center;min-width:42px}.toolbar-switch-label.off{color:var(--muted)}.toolbar-switch-label.on{color:#22c55ef2}.lighting-grid-options button{color:#52606d;background:#fff;border:1px solid #cbd5df;border-radius:6px;min-width:56px;min-height:32px;font-size:12px;font-weight:800}.lighting-grid-options button.active{color:#fff;background:#2878bd;border-color:#2878bd}.fixture-rotation-buttons button{min-width:36px}.fixture-rotation-buttons button:disabled{cursor:not-allowed;opacity:.45}.lighting-grid-cuts line{stroke:#9b2c2c;stroke-width:2px;stroke-dasharray:8 7;opacity:.72}.lighting-frame-opening{pointer-events:none}.lighting-svg .placed-fixture{cursor:grab}.lighting-svg .placed-fixture:active{cursor:grabbing}.placed-fixture text{fill:#17202a;stroke:none;font-family:var(--plan-label-font-family,inherit);font-size:var(--plan-label-font-size,12px);font-weight:var(--plan-label-font-weight,400)}.fixture-dmx-label{font-size:var(--plan-label-small-font-size,10px);opacity:.92}.fixture-number-label{font-size:var(--plan-label-large-font-size,13px)}.placed-fixture.selected>g{filter:drop-shadow(0 0 6px #22c55ee0)}.plan-object{cursor:grab}.plan-object:active{cursor:grabbing}.screen-object rect{fill:#111827;stroke:#111827;stroke-width:2px}.audio-object path:first-child{fill:#2dd4bf2e;stroke:#2dd4bfeb;stroke-width:3px}.video-projector-object rect{fill:#a855f72e;stroke:#d8b4fef0;stroke-width:3px}.video-projector-object circle{fill:#d8b4fee6}.video-projector-beam{fill:#d8b4fe14;stroke:#d8b4fe42;stroke-width:1.5px;pointer-events:none}.physical-object rect,.physical-object circle,.physical-object ellipse,.physical-object path,.physical-object line{fill:#e2e8f08c;stroke:#334155;stroke-width:2px;vector-effect:non-scaling-stroke}.physical-object path{fill:none}.physical-object-mini-icon{background:#e2e8f08c;border:2px solid #334155;border-radius:4px;width:18px;height:18px}.physical-object-buttons{padding:8px}.physical-object-buttons button{min-width:92px}.object-library-import-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:8px;display:grid}.object-library-import-row select,.object-library-import-row span{color:#243241;background:#fff;border:1px solid #cbd5df;border-radius:6px;min-height:34px;padding:7px 10px;font-size:12px;font-weight:700}.object-library-import-row span{align-items:center;display:inline-flex}.object-library-import-button{color:#243241;cursor:pointer;background:#fff;border:1px solid #cbd5df;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.object-library-import-button input{display:none}.room-default-button,.room-adapt-button{color:#243241;cursor:pointer;background:#fff;border:1px solid #cbd5df;border-radius:6px;width:100%;min-height:34px;font-size:12px;font-weight:800}.room-adapt-button{color:#166534;background:#22c55e1a;border-color:#22c55e8c}.room-default-button:disabled{cursor:default;color:#64748b;background:#f1f5f9}.room-selector-buttons{grid-template-columns:1fr;gap:8px;display:grid}.fixture-accordion-header em{color:#64748b;text-transform:uppercase;font-size:10px;font-style:normal;font-weight:700}.object-front-marker{fill:#f9fafb;stroke:#111827;stroke-width:1.5px}.plan-object text{fill:#17202a;stroke:none;font-family:var(--plan-label-font-family,inherit);font-size:var(--plan-label-font-size,12px);font-weight:var(--plan-label-font-weight,400)}.plan-object-dimension-label{fill:#334155;font-size:var(--plan-label-small-font-size,10px)}.plan-object.selected{filter:drop-shadow(0 0 6px #22c55ee0)}.plan-object-quick-actions{pointer-events:all}.plan-object-quick-actions>rect{fill:#0f172adb;stroke:#22c55ecc;stroke-width:1.4px}.plan-object-action-button{cursor:pointer}.plan-object-action-button rect,.plan-object-action-button path{fill:none;stroke:#f8fafc;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.plan-object-action-button.danger rect,.plan-object-action-button.danger path{stroke:#fecaca}.placed-fixture.conflict>g{filter:drop-shadow(0 0 6px #f87171eb)}.placed-fixture.parked{opacity:.52}.fixture-selection-rect{fill:#22c55e24;stroke:#22c55ee0;stroke-width:2px;stroke-dasharray:8 6;pointer-events:none}.plan-frame{aspect-ratio:1200/760;background:#fff;border:1px solid #c7d0da;border-radius:8px;width:100%;min-height:360px;overflow:hidden}.venue-svg{width:100%;height:100%;display:block}.geometry-panel{--plan-zoom:1;gap:10px;display:block}.geometry-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.geometry-toolbar p{color:#697585;margin-top:4px;font-size:12px}.geometry-controls{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.geometry-rigging-actions{border-right:1px solid #9ca3af2e;align-items:center;gap:6px;margin-right:4px;padding-right:10px;display:inline-flex}.geometry-controls button{color:#243241;background:#fff;border:1px solid #cbd5df;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.geometry-controls span{color:#334155;text-align:center;min-width:52px;font-size:13px;font-weight:800}.geometry-controls .toolbar-switch{background:0 0;border:0;width:auto;min-width:46px;height:auto}.geometry-controls .toolbar-switch-track{min-width:46px}.geometry-controls .toolbar-switch-thumb{min-width:20px;max-width:20px}.geometry-controls .toolbar-switch-row .toolbar-switch,.geometry-controls .toolbar-switch-row .toolbar-switch-track{min-width:42px}.geometry-controls .toolbar-switch-row .toolbar-switch-thumb{min-width:18px;max-width:18px}.plan-toolbar-field{color:#52606d;align-items:center;gap:6px;width:auto;min-width:104px;font-size:11px;font-weight:800;display:inline-flex}.plan-toolbar-field.compact{min-width:74px}.plan-toolbar-field select,.plan-toolbar-field input{border-radius:6px;width:auto;min-width:0;height:32px;padding:5px 7px;font-size:12px}.plan-toolbar-field.compact input{width:54px}.plan-switch-list{grid-template-columns:minmax(180px,1fr);gap:7px;display:grid}.toolbar-switch-row{min-height:34px;color:var(--text);background:#0f172a94;border:1px solid #94a3b833;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:5px 8px;font-size:12px;font-weight:780;display:grid}.toolbar-switch-row .toolbar-switch-label{display:none}.toolbar-switch-row .toolbar-switch-track{width:42px;height:24px}.toolbar-switch-row .toolbar-switch-thumb{width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px}.toolbar-switch-row .toolbar-switch.checked .toolbar-switch-thumb{transform:translate(18px)}.geometry-frame{width:100%;height:clamp(520px, calc(100vh - 160px + (var(--plan-zoom) - 1) * 180px), 1120px);background:#fff;border:1px solid #c7d0da;border-radius:8px;min-height:520px;overflow:hidden}.lighting-plan-frame{width:-webkit-fill-available;width:-moz-available;width:stretch;height:var(--plan-frame-height);min-width:var(--plan-frame-width);min-height:var(--plan-frame-height);padding:var(--plan-frame-padding-percent);background:#fff;display:inline-block;position:relative;overflow:visible}.geometry-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.lighting-plan-frame .lighting-svg{width:-webkit-fill-available;width:-moz-available;width:stretch;height:var(--plan-svg-height);min-width:var(--plan-svg-width);min-height:var(--plan-svg-height)}.geometry-svg:active{cursor:grabbing}.geometry-room{fill:#e4e6ea38;stroke:#17202a;stroke-width:4px}.geometry-stage{fill:#2a5c8a14;stroke:#2a5c8a;stroke-width:3px}.geometry-proscenium{fill:#46846021;stroke:#468460;stroke-width:3px}.geometry-frame-opening line{stroke:#9b2c2c;stroke-width:8px}.geometry-frame-opening .opening-line{stroke:#fff;stroke-width:7px;stroke-dasharray:10 7}.geometry-frame-opening text{fill:#7c2d12;font-family:var(--plan-label-font-family,inherit);font-size:var(--plan-label-large-font-size,14px);font-weight:400}.geometry-bar line{stroke-width:1.2px;stroke-linecap:round}.editable-rigging-bar{cursor:move}.geometry-bar .rigging-bar-hitline{stroke-width:18px;pointer-events:stroke;stroke:#0000!important}.geometry-bar.selected line:not(.rigging-bar-hitline){stroke-width:2.8px;filter:drop-shadow(0 0 5px #2563eb59)}.rigging-resize-handle{fill:#fff;stroke:#1d4ed8;stroke-width:2px;cursor:ew-resize}.rigging-resize-handle.vertical{cursor:ns-resize}.plan-object-resize-handle{fill:#fff;stroke:#16a34a;stroke-width:2px;cursor:nwse-resize;pointer-events:all}.geometry-bar .rigging-resize-handle.start,.geometry-bar .rigging-resize-handle.end{pointer-events:all}.geometry-bar.reference-bar line{stroke-width:3px;stroke-dasharray:12 9;opacity:.58}.geometry-bar.reference-bar text{opacity:.86}.geometry-bar text{fill:#111827;stroke:none;font-family:var(--plan-label-font-family,inherit);font-size:var(--plan-label-large-font-size,13px);font-weight:400}.rigging-live-metrics rect{fill:#0f172ae6;stroke:#60a5facc}.rigging-live-metrics text{fill:#f8fafc;font-size:9px;font-weight:750}.rigging-selection-rect{fill:#3b82f629;stroke:#60a5fad9;stroke-width:1.5px;stroke-dasharray:5 4}.geometry-rulers line{stroke:#536170;stroke-width:2px}.geometry-rulers text{fill:#111827;font-size:12px;font-weight:800}.geometry-zone-label{fill:#16202a2e;text-anchor:middle;font-size:36px;font-weight:900}.pdf-plan-export .lighting-svg,.pdf-plan-export .geometry-frame{background:#fff}.pdf-plan-export .plan-legend{display:none}.pdf-plan-export .lighting-svg>rect:first-of-type{fill:#fff}.pdf-plan-export .geometry-room{fill:#fff;stroke:#111827}.pdf-plan-export .geometry-stage{fill:#f8fafc;stroke:#334155}.pdf-plan-export .geometry-proscenium{fill:#f1f5f9;stroke:#64748b}.pdf-plan-export .lighting-grid-cuts line{stroke:#9b2c2c;opacity:.5}.pdf-plan-export .geometry-frame-opening .opening-line,.pdf-plan-export .geometry-bar.stage line,.pdf-plan-export .geometry-bar.house line{stroke:#111827}.pdf-plan-export .geometry-bar text,.pdf-plan-export .geometry-frame-opening text,.pdf-plan-export .placed-fixture text,.pdf-plan-export .plan-object text,.pdf-plan-export .plan-object text{fill:#111827;stroke:none;font-weight:400}.pdf-plan-export .geometry-bar text,.pdf-plan-export .geometry-frame-opening text,.pdf-plan-export .placed-fixture text{stroke:none;font-weight:400}.pdf-plan-export .screen-object rect{stroke:#111827;fill:#111827}.pdf-plan-export .audio-object path:first-child,.pdf-plan-export .video-projector-object rect{fill:#fff;stroke:#111827}.pdf-plan-export .video-projector-object circle{fill:#111827}.pdf-plan-export .video-projector-beam{fill:#1118270a;stroke:#11182759}.svg-stage-label{fill:#fff;font-size:34px;font-weight:800}.svg-side-label,.svg-support-label{fill:#52606d;font-size:20px;font-weight:800}.svg-side-label{writing-mode:vertical-rl}.svg-projector-name{fill:#17202a;font-size:15px;font-weight:800}.svg-projector-address{fill:#384657;font-size:13px;font-weight:700}.legend-panel{grid-template-columns:minmax(220px,.8fr) minmax(360px,1.4fr) minmax(220px,.8fr);gap:16px;margin-top:18px;display:grid}.legend-panel>div{min-width:0}.legend-panel h2{margin-bottom:8px}table{border-collapse:collapse;background:#fff;border:1px solid #d7dfe7;width:100%;font-size:12px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e1e7ed;padding:8px}th{color:#485563;background:#edf2f6;font-weight:800}td{color:#1d2834}@media (width<=980px){.workspace{grid-template-columns:1fr}.editor-panel{border-bottom:1px solid #cdd6df;border-right:0;max-height:48vh}.projector-list{max-height:260px}.legend-panel,.room-selector-content{grid-template-columns:1fr}}@media (width<=620px){.app-toolbar{flex-direction:column;align-items:stretch;height:auto}.brand-block{flex-direction:column;align-items:stretch;gap:6px}.brand-block input,.brand-block select{width:100%}.toolbar-actions{justify-content:flex-end}.form-grid{grid-template-columns:1fr}.plan-header{flex-direction:column;align-items:stretch}.domain-tabs{align-self:flex-start}.plan-frame{min-height:260px}.geometry-frame:not(.lighting-plan-frame){height:64vh;min-height:420px}.fixture-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-object-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.lighting-grid-options{flex-direction:column;align-items:flex-start}.technical-schedule-grid,.technical-overview-grid,.technical-contact-row{grid-template-columns:1fr}.technical-contact-row button{width:100%}.technical-overview dl div{grid-template-columns:1fr;gap:3px}}:root{color:#f9fafb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111827;--panel:#1f2937c7;--panel-strong:#1f2937f0;--panel-soft:#111827b8;--line:#9ca3af2e;--line-strong:#3b82f675;--accent:#3b82f6;--accent-soft:#3b82f62e;--text:#f9fafb;--muted:#cbd5e1;--muted-soft:#cbd5e1c7;--shadow:0 24px 70px #0000006b;--shadow-soft:0 14px 38px #00000047;background:#111827}body{color:var(--text);background:radial-gradient(circle at 14% 10%,#3b82f629,#0000 32%),radial-gradient(circle at 88% 18%,#14b8a617,#0000 30%),linear-gradient(145deg,#0b1120 0%,#111827 44%,#0f172a 100%)}button,input,select,textarea{transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s,opacity .16s}.app-shell{background-color:#0000;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100vh;position:relative;overflow:hidden}.app-toolbar{z-index:30;border:1px solid var(--line);width:auto;height:52px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);background:#1118279e;border-radius:12px;margin:14px 18px 0;padding:8px 10px 8px 14px;position:relative}.brand-block span{color:var(--muted);letter-spacing:0}.brand-block input,.brand-block select{color:var(--text);background:#1f2937c7;border:1px solid #9ca3af24;border-radius:12px;font-size:15px}.brand-block select option{color:var(--text);background:#1f2937}.brand-block input:focus,.brand-block select:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #3b82f638}.toolbar-actions button,.file-button,.icon-button,.danger-button,.geometry-controls button,.lighting-grid-options button,.geometry-storage-actions button,.fixture-palette-grid button,.placed-fixture-row .row-delete-button,.technical-contact-row button,.technical-add-button,.technical-file-button{color:var(--text);background:#1f2937c2;border:1px solid #9ca3af29;border-radius:12px;box-shadow:inset 0 1px #ffffff0a}.toolbar-actions button:hover,.file-button:hover,.icon-button:hover,.geometry-controls button:hover,.lighting-grid-options button:hover,.geometry-storage-actions button:hover,.fixture-palette-grid button:hover{border-color:var(--line-strong);background:#3b82f629;transform:translateY(-1px)}.technical-contact-row button{color:#fecaca}.workspace{grid-template-columns:minmax(330px,408px) minmax(0,1fr);gap:16px;height:calc(100vh - 66px);padding:18px;transition:grid-template-columns .22s}.workspace.sidebar-collapsed{grid-template-columns:58px minmax(0,1fr)}.sidebar-slot{min-width:0;min-height:0;position:relative}.sidebar-toggle{z-index:12;width:36px;height:36px;color:var(--text);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#111827ad;border:1px solid #9ca3af2e;border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.sidebar-toggle:hover{border-color:var(--line-strong);background:#3b82f62e}.sidebar-collapsed .sidebar-toggle{left:10px;right:auto}.editor-panel{border:1px solid var(--line);background:var(--panel);height:100%;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);border-radius:12px;overflow:hidden}.panel-header{border-bottom:1px solid #9ca3af1f;min-height:68px;padding:18px 58px 14px 18px}.panel-header h2,.plan-header h1,.geometry-toolbar h2{color:var(--text);letter-spacing:0}.panel-header p,.plan-header p,.geometry-toolbar p{color:var(--muted-soft)}.plan-workspace{box-shadow:var(--shadow);background:linear-gradient(#1f293733,#1118273d),#11182747;border:1px solid #9ca3af1c;border-radius:12px;padding:0;position:relative;overflow:auto}.plan-header{z-index:20;border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#11182794;border-radius:12px;margin:14px;padding:12px;position:sticky;top:0}.domain-tabs{background:#1f2937b8;border:1px solid #9ca3af26;border-radius:12px;padding:3px}.domain-tabs span,.domain-tabs button{color:var(--muted);border-radius:9px}.domain-tabs .active{color:var(--text);background:linear-gradient(#3b82f6,#2563eb);box-shadow:0 8px 22px #3b82f657}label{color:var(--muted-soft)}input,select,textarea{color:var(--text);background:#11182799;border:1px solid #9ca3af29;border-radius:12px}select option{color:var(--text);background:#1f2937}.geometry-form fieldset,.technical-info-form fieldset,.room-readonly-summary,.fixture-palette-grid button,.placed-fixture-row,.plan-object-row{background:#1f293794;border:1px solid #9ca3af24;border-radius:12px;box-shadow:inset 0 1px #ffffff09}.geometry-form legend,.technical-info-form legend,.room-readonly-summary dt{color:var(--muted-soft)}.room-readonly-summary dd,.placed-fixture-row span,.plan-object-row span,td{color:var(--text)}.room-readonly-summary div,th,td{border-color:#9ca3af1f}.fixture-palette-grid button{color:var(--text)}.plan-object-buttons button,.plan-object-row .row-delete-button{color:var(--text);background:#1f2937c2;border:1px solid #9ca3af29;border-radius:12px}.fixture-palette-grid button:hover{box-shadow:0 10px 28px #3b82f62e}.placed-fixture-row{color:var(--text)}.placed-fixture-row.selected,.plan-object-row.selected,.plan-object-row.selected{background:#22c55e24;border-color:#22c55e;box-shadow:inset 3px 0 #22c55e,0 10px 30px #22c55e1f}.placed-fixture-row.conflict{background:#7f1d1d40;border-color:#f87171b8;box-shadow:inset 3px 0 #f87171}.placed-fixture-row.parked{opacity:.68}.placed-fixture-row.conflict span>em{color:#fecaca;background:#7f1d1db8}.placed-fixture-row.parked span>em{color:#fde68a;background:#78350fb8}.placed-fixture-row small,.plan-object-row small,.placed-fixture-list p,.sound-placeholder p{color:var(--muted)}.geometry-panel{padding:0 14px 14px}.geometry-toolbar{z-index:18;border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#1118278f;border-radius:12px;padding:10px 12px;position:sticky;top:88px}.lighting-grid-options{z-index:17;border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#1118277a;border-radius:12px;padding:8px;position:sticky;top:154px}.lighting-grid-options button.active{border-color:var(--accent);background:linear-gradient(#3b82f6,#2563eb);box-shadow:0 8px 22px #3b82f647}.geometry-frame:not(.lighting-plan-frame){box-shadow:inset 0 1px 0 #ffffff0d, var(--shadow);background:radial-gradient(circle at 50% 20%,#3b82f614,#0000 42%),#0b1120;border:1px solid #9ca3af21;border-radius:12px;height:auto;min-height:max(620px,100vh - 190px);position:relative}.geometry-frame:not(.lighting-plan-frame) .geometry-svg{height:calc(max(620px, calc(100vh - 190px)) * var(--plan-zoom));min-height:max(620px,100vh - 190px)}.plan-legend{z-index:6;border:1px solid var(--line);width:min(250px,100% - 28px);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#1118279e;border-radius:12px;padding:14px;position:absolute;top:14px;right:14px}.plan-legend button{width:100%;min-height:26px;color:var(--text);text-transform:uppercase;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:800;display:flex}.plan-legend.collapsed{width:132px;padding:10px 12px}.plan-legend.open button{margin-bottom:12px}.plan-legend h3{color:var(--text);text-transform:uppercase;margin-bottom:12px;font-size:12px}.plan-legend ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.plan-legend li{color:var(--muted);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;font-size:12px;display:grid}.legend-swatch{background:currentColor;border-radius:999px;height:2px;display:block;box-shadow:0 0 14px}.legend-swatch.dashed{background:0 0;border-top:2px dashed;height:0}.legend-swatch.automatic{background:#2dd4bfdb;border-radius:2px;height:8px;box-shadow:0 0 14px #2dd4bf70}.fixture-accordion{gap:6px;display:grid}.fixture-accordion-header{min-height:34px;color:var(--text);text-align:left;background:#11182794;border:1px solid #9ca3af24;border-radius:12px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;display:grid}.fixture-accordion-header span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.fixture-accordion-header small{min-width:24px;color:var(--text);text-align:center;background:#3b82f638;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900}.fixture-accordion-content{gap:6px;display:grid}.fixture-front-marker{fill:#f9fafb;stroke:#111827;stroke-width:1.5px;filter:drop-shadow(0 0 4px #f9fafbb3)}.geometry-summary-card{background:#1f293794;border:1px solid #9ca3af24;border-radius:12px;margin-bottom:14px;padding:12px;box-shadow:inset 0 1px #ffffff09}.geometry-summary-card h3{color:var(--text);text-transform:uppercase;margin-bottom:10px;font-size:12px}.geometry-summary-card dl{gap:9px;margin:0;display:grid}.geometry-summary-card div{justify-content:space-between;align-items:center;gap:12px;display:flex}.geometry-summary-card dt{color:var(--muted);font-size:12px}.geometry-summary-card dd{color:var(--text);margin:0;font-size:12px;font-weight:800}.geometry-room{fill:#e4e6ea38;stroke:#f9fafbb8}.geometry-stage{fill:#3b82f617;stroke:#3b82f6e0}.geometry-proscenium{fill:#14b8a61a;stroke:#2dd4bfb8}.geometry-frame-opening line{stroke:#f87171db}.geometry-frame-opening .opening-line{stroke:#111827}.geometry-frame:not(.lighting-plan-frame) .geometry-frame-opening text,.geometry-frame:not(.lighting-plan-frame) .geometry-bar text{fill:#f8fafc;stroke:none;font-weight:var(--plan-label-font-weight,400)}.lighting-plan-frame .geometry-frame-opening text,.lighting-plan-frame .geometry-bar text{fill:#111827;stroke:none;font-weight:var(--plan-label-font-weight,400)}.placed-fixture text{fill:#17202a;stroke:none;font-weight:var(--plan-label-font-weight,400)}.geometry-frame:not(.lighting-plan-frame) .geometry-rulers text{fill:#f8fafc;stroke:none;font-weight:var(--plan-label-font-weight,400)}.lighting-plan-frame .geometry-rulers text{fill:#111827;stroke:none;font-weight:var(--plan-label-font-weight,400)}.plan-object text{fill:#17202a;stroke:none;font-weight:var(--plan-label-font-weight,400)}.geometry-bar.stage line{stroke:#60a5faeb}.geometry-bar.house line{stroke:#a78bfae6}.geometry-bar.face line{stroke:#f59e0beb}.geometry-bar.free line{stroke:#64748beb}.geometry-rulers line{stroke:#9ca3afc7}.geometry-zone-label{fill:#f9fafb17}.lighting-grid-cuts line{stroke:#f87171c2}table{background:#1f293794;border-color:#9ca3af24}th{color:var(--muted);background:#111827b3}.legend-panel>div{border-radius:12px}@media (width<=980px){.app-toolbar{margin:12px}.workspace{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 76px);padding-top:0}.workspace.sidebar-collapsed{grid-template-columns:1fr}.sidebar-slot{min-height:58px}.editor-panel{max-height:52vh}.plan-header,.geometry-toolbar,.lighting-grid-options{position:relative;top:auto}}@media (width<=620px){.workspace{padding:10px}.app-toolbar{border-radius:12px}.plan-header{margin:10px}}.app-toolbar{width:auto;margin:14px 18px 0;position:relative;top:auto;right:auto}.workspace{height:calc(100vh - 66px);padding-top:18px}.geometry-frame:not(.lighting-plan-frame){height:auto;min-height:max(620px,100vh - 190px);position:relative;overflow:auto}.geometry-frame:not(.lighting-plan-frame) .geometry-svg{width:100%;height:calc(max(620px, calc(100vh - 190px)) * var(--plan-zoom));min-height:max(620px,100vh - 190px)}@media (width<=980px){.workspace{height:auto;padding-top:0}.geometry-frame:not(.lighting-plan-frame) .geometry-svg{height:calc(64vh * var(--plan-zoom));min-height:420px}}.main-view-tabs{background:#1f2937b8;border:1px solid #9ca3af26;border-radius:12px;flex:0 auto;align-items:center;gap:3px;padding:3px;display:inline-flex}.main-view-tabs button{min-width:96px;min-height:32px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:12px;font-weight:850}.main-view-tabs button:hover{color:var(--text);background:#ffffff0f}.main-view-tabs button.active{color:var(--text);background:linear-gradient(#3b82f6,#2563eb);box-shadow:0 8px 22px #3b82f652}.auth-session-bar{z-index:28;padding:8px;top:76px;bottom:auto;right:18px}.auth-session-bar button{min-height:30px}.plan-header{min-height:72px}.geometry-controls{justify-content:flex-end}.plan-toolbar-primary{min-width:170px}.plan-toolbar-menu{position:relative}.plan-toolbar-menu-trigger{width:auto;min-width:76px;height:auto;min-height:34px;color:var(--text);cursor:pointer;background:#1f2937c2;border:1px solid #9ca3af29;border-radius:12px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex}.plan-toolbar-menu.open .plan-toolbar-menu-trigger,.plan-toolbar-menu-trigger:hover{border-color:var(--line-strong);background:#3b82f629}.plan-toolbar-popover{z-index:35;border:1px solid var(--line);width:max-content;max-width:min(520px,100vw - 48px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#111827f5;border-radius:12px;padding:10px;position:absolute;top:calc(100% + 8px);right:0}.plan-toolbar-form{grid-template-columns:repeat(2,minmax(96px,1fr));gap:10px;display:grid}.plan-toolbar-form .plan-switch-list{grid-column:1/-1}.plan-toolbar-zoom{background:#1118276b;border:1px solid #9ca3af24;border-radius:12px;align-items:center;gap:6px;padding:3px;display:inline-flex}.plan-toolbar-zoom span{min-width:50px;color:var(--muted)}.plan-toolbar-field select,.plan-toolbar-field input{border-radius:10px}@media (width<=1120px){.app-toolbar{flex-wrap:wrap;height:auto}.brand-block{flex:320px}.main-view-tabs{order:3;width:100%}.main-view-tabs button{flex:1 1 0}.workspace{height:calc(100vh - 112px)}}@media (width<=760px){.auth-session-bar{max-width:210px;top:112px;right:12px}.app-toolbar{margin:10px 8px 0}.brand-block,.brand-block .project-name-input{width:100%}.toolbar-actions{justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}.main-view-tabs{order:2}.workspace{height:auto;min-height:calc(100vh - 138px);padding:8px}.geometry-toolbar{align-items:flex-start;top:0}.geometry-controls{justify-content:flex-start;width:100%}.plan-toolbar-popover{max-width:calc(100vw - 40px);left:0;right:auto}}.workspace.technical-workspace{grid-template-columns:minmax(0,1fr)}.workspace.technical-workspace .plan-workspace{overflow:auto}.plan-header-actions{align-items:center;gap:8px;display:inline-flex}.plan-header-actions button{min-height:34px;color:var(--text);background:#1f2937c2;border:1px solid #9ca3af2e;border-radius:12px;padding:0 12px;font-size:12px;font-weight:850}.plan-header-actions button.primary{background:linear-gradient(#3b82f6,#2563eb);border-color:#3b82f67a;box-shadow:0 8px 22px #3b82f647}.technical-info-panel{gap:14px;margin:0 14px 14px;display:grid}.technical-info-panel .panel-header{background:0 0;border:0;min-height:0;padding:0}.technical-info-panel .panel-header h2{color:var(--text)}.technical-info-panel .technical-info-form{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:14px;padding:0;display:grid;overflow:visible}.technical-info-panel .technical-info-form fieldset{grid-column:span 6;min-width:0}.technical-info-panel .technical-info-form fieldset:first-child,.technical-info-panel .technical-info-form fieldset.technical-contacts-section,.technical-info-panel .technical-info-form fieldset:last-child{grid-column:span 12}.technical-info-panel .technical-info-form fieldset:nth-of-type(2),.technical-info-panel .technical-info-form fieldset:nth-of-type(3){grid-column:span 6}.technical-info-panel .technical-info-form textarea{min-height:108px}.technical-info-panel .technical-contacts{gap:10px}.contact-manager{gap:12px;display:grid}.contact-book-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.technical-info-panel .contact-book-search{flex:320px}.technical-info-panel .contact-book-search span{background:#0f172a9e;border-color:#94a3b82e}.technical-info-panel .contact-book-search span input{color:var(--text)}.technical-info-panel .contact-book-search span input::placeholder{color:#cbd5e19e}.contact-book-select,.contact-favorites-toggle{color:#cbd5e1b8;gap:5px;font-size:11px;font-weight:800;display:grid}.contact-book-select select{min-height:34px;color:var(--text);font:inherit;background:#0f172a9e;border:1px solid #cbd5df;border-radius:6px;padding:0 8px}.contact-favorites-toggle{min-height:34px;color:var(--text);background:#0f172a9e;border:1px solid #94a3b82e;border-radius:6px;flex-direction:row;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.technical-info-panel .contact-book-results{background:#0f172a61;border-color:#94a3b82e;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-height:260px;overflow:auto}.contact-book-card,.technical-contact-card{background:#0f172a75;border:1px solid #94a3b82e;border-radius:8px;gap:10px;padding:10px;display:grid}.contact-book-card{grid-template-columns:34px minmax(0,1fr);align-items:start}.contact-book-card.is-favorite,.technical-contact-card.is-editing{border-color:#f7c948;box-shadow:0 0 0 1px #f7c94838}.contact-book-card-actions{gap:7px;display:grid}.contact-book-card>div,.technical-contact-summary>div{gap:2px;min-width:0;display:grid}.contact-book-card strong,.technical-contact-card strong{color:var(--text);font-size:13px}.contact-book-card span,.technical-contact-card span,.contact-book-card small,.technical-empty-state{color:#cbd5e1ad;font-size:11px}.contact-book-results .contact-icon-button,.contact-icon-button,.technical-contact-actions button{width:34px;min-height:34px;color:var(--text);background:#0f172a9e;border:1px solid #94a3b82e;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.contact-book-results .contact-icon-button:disabled,.technical-contact-editor-actions button:disabled{opacity:.54}.technical-contacts-header,.technical-contact-summary{justify-content:space-between;align-items:center;gap:10px;display:flex}.technical-contacts-header>div{gap:2px;display:grid}.technical-contacts-header span{color:#cbd5e1ad;font-size:11px}.technical-contact-summary{justify-content:flex-start}.technical-contact-summary>div{flex:auto}.technical-contact-actions{gap:7px;margin-left:auto;display:inline-flex}.technical-contact-editor{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.technical-contact-editor-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.technical-contact-editor-actions button{min-height:34px;color:var(--text);background:#0f172a9e;border:1px solid #94a3b82e;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.technical-info-panel .technical-contact-row{grid-template-columns:repeat(5,minmax(0,1fr)) repeat(3,34px)}.technical-info-panel .technical-contact-row input:nth-of-type(n),.technical-info-panel .technical-contact-row input:nth-of-type(5),.technical-info-panel .technical-contact-row button:nth-of-type(n){grid-area:auto}.technical-preview-modal{width:min(1180px,100vw - 48px);max-height:min(900px,100vh - 48px);overflow:auto}.technical-preview-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.technical-preview-modal-header p{margin-top:4px}.technical-preview-modal-header>button{width:34px;height:34px;color:var(--text);background:#1f2937c2;border:1px solid #9ca3af2e;border-radius:10px;font-size:20px;font-weight:900}.technical-preview-modal .technical-overview{min-height:0;margin:0}@media (width<=1180px){.technical-info-panel .technical-info-form fieldset,.technical-info-panel .technical-info-form fieldset:nth-of-type(2),.technical-info-panel .technical-info-form fieldset:nth-of-type(3){grid-column:span 12}.technical-info-panel .technical-contact-row{grid-template-columns:repeat(2,minmax(0,1fr)) repeat(3,34px)}.technical-info-panel .technical-contact-row input:nth-of-type(5){grid-column:1/span 2}.technical-contact-editor{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.plan-header{align-items:flex-start}.plan-header-actions{width:100%}.plan-header-actions button{flex:1 1 0}.technical-info-panel{margin:0 8px 8px}.technical-info-panel .technical-info-form{grid-template-columns:minmax(0,1fr)}.technical-info-panel .technical-info-form fieldset,.technical-info-panel .technical-info-form fieldset:first-child,.technical-info-panel .technical-info-form fieldset.technical-contacts-section,.technical-info-panel .technical-info-form fieldset:last-child,.technical-info-panel .technical-info-form fieldset:nth-of-type(2),.technical-info-panel .technical-info-form fieldset:nth-of-type(3){grid-column:1}.technical-info-panel .technical-contact-row{grid-template-columns:minmax(0,1fr) repeat(3,34px)}.technical-info-panel .technical-contact-row input{grid-column:1/-1}.technical-info-panel .technical-contact-row button{grid-row:auto}.contact-book-toolbar,.technical-contacts-header,.technical-contact-summary{align-items:stretch}.technical-contacts-header,.technical-contact-summary{flex-direction:column}.technical-contact-actions{width:100%;margin-left:0}.technical-contact-actions button{flex:1 1 0}.technical-contact-editor{grid-template-columns:minmax(0,1fr)}.contact-book-card{grid-template-columns:34px minmax(0,1fr)}}.geometry-editor,.geometry-editor label,.geometry-toolbar,.geometry-toolbar label,.geometry-summary-card,.geometry-accordion,.rigging-editor,.rigging-series-card,.rigging-bar-card{color:var(--text)}.geometry-accordion>summary,.geometry-editor .panel-header p,.geometry-toolbar p,.geometry-form legend,.geometry-form label,.geometry-summary-card dt,.rigging-series-card label,.rigging-bar-card label,.rigging-bar-card summary small{color:var(--muted-soft)}.geometry-summary-card dd,.geometry-accordion[open]>summary,.rigging-series-card h3,.rigging-bar-card summary strong{color:var(--text)}.geometry-accordion,.rigging-series-card,.rigging-bar-card{background:#1f29379e;border-color:#9ca3af29;box-shadow:inset 0 1px #ffffff0a}.geometry-accordion>summary:after{color:var(--muted-soft)}.rigging-bar-card.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent), 0 10px 30px #3b82f624;background:#3b82f62e}.rigging-action-button,.rigging-add-actions button,.rigging-bar-card-header button,.geometry-storage-actions button{color:var(--text);background:#1f2937c2;border-color:#9ca3af2e}.rigging-action-button:hover,.rigging-add-actions button:hover,.rigging-bar-card-header button:hover,.geometry-storage-actions button:hover{border-color:var(--line-strong);background:#3b82f629}.geometry-form input,.geometry-form select,.geometry-form textarea,.rigging-series-card input,.rigging-series-card select,.rigging-bar-card input,.rigging-bar-card select{color:var(--text);background:#0f172a9e}.geometry-controls span,.plan-toolbar-field,.toolbar-switch-row{color:var(--text)}
