:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--border:#dde1e7;--border-strong:#c3c9d2;--text:#1b1f24;--text-muted:#5d6673;--accent:#245fd4;--accent-soft:#e3ecfd;--accent-text:#fff;--danger:#c93a3a;--ok:#17763f;--warn:#8f5600;--warn-soft:#fff4e0;--canvas:#eceff3;--stage:#fff;--stage-line:#8a94a3;--zone:#e7eaef;--grid-minor:#dfe3e9;--grid-major:#cfd5dd;--sym-fill:#fff;--sym-stroke:#39424e;--sym-accent:#2f6fec;--sym-detail:#e9edf3;--riser:#efe6d6;--riser-stroke:#9c8358;--selection:#2f6fec;--focus:#ff8a00;--shadow:0 6px 24px #10182824, 0 1px 3px #1018281a;--radius:6px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14171b;--surface:#1c2026;--surface-2:#242a31;--border:#2f363f;--border-strong:#3d4651;--text:#e6e9ed;--text-muted:#9aa4b1;--accent:#5b8ff5;--accent-soft:#23344f;--danger:#ef6b6b;--ok:#48c27e;--warn:#f0a63c;--warn-soft:#3a2d17;--canvas:#101317;--stage:#1b2027;--stage-line:#6f7a89;--zone:#252b33;--grid-minor:#1d2228;--grid-major:#283039;--sym-fill:#2a3139;--sym-stroke:#c9d1db;--sym-accent:#6c9cf7;--sym-detail:#343c46;--riser:#3a3226;--riser-stroke:#b39a6e;--shadow:0 6px 24px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14171b;--surface:#1c2026;--surface-2:#242a31;--border:#2f363f;--border-strong:#3d4651;--text:#e6e9ed;--text-muted:#9aa4b1;--accent:#5b8ff5;--accent-soft:#23344f;--danger:#ef6b6b;--ok:#48c27e;--warn:#f0a63c;--warn-soft:#3a2d17;--canvas:#101317;--stage:#1b2027;--stage-line:#6f7a89;--zone:#252b33;--grid-minor:#1d2228;--grid-major:#283039;--sym-fill:#2a3139;--sym-stroke:#c9d1db;--sym-accent:#6c9cf7;--sym-detail:#343c46;--riser:#3a3226;--riser-stroke:#b39a6e;--shadow:0 6px 24px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.4 var(--font);-webkit-font-smoothing:antialiased}h1{margin:0 0 16px;font-size:20px;line-height:1.2}h2{margin:24px 0 8px;font-size:16px;line-height:1.2}p{max-width:66ch;line-height:1.45}.badge,kbd,time,.panel-title .muted,.canvas text,.zoom-controls,.tabular{font-variant-numeric:tabular-nums}a{color:var(--accent)}kbd{font:11px var(--mono);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:1px 5px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:4px;min-width:0;padding:4px 6px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,[tabindex]:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:1px}fieldset{border:0;min-width:0;margin:0;padding:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.muted{color:var(--text-muted)}.small{font-size:11.5px}.spacer{flex:1;justify-content:center;display:flex}.skip-link{position:absolute;left:-999px}.skip-link:focus{z-index:100;background:var(--surface);padding:6px 10px;top:8px;left:8px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;height:28px;padding:0 10px;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled,.icon-btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-ghost{background:0 0;border-color:#0000}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:0;font-weight:600}.btn-small{height:24px;font-size:12px}.icon-btn{border-radius:var(--radius);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn.danger:hover{color:var(--danger)}.chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:999px;padding:2px 9px;font-size:12px}.chip:hover{border-color:var(--accent);color:var(--accent)}.badge{background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;display:inline-flex}.badge-ok{color:var(--ok)}.badge-warn{color:var(--warn);background:var(--warn-soft)}.button-row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.app-shell{flex-direction:column;height:100%;display:flex}.app-header,.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;height:44px;padding:0 10px;display:flex}.brand{color:var(--text);align-items:center;gap:8px;margin-right:8px;font-weight:700;text-decoration:none;display:flex}.app-main{flex:1;overflow:auto}.page{max-width:980px;margin:0 auto;padding:24px 20px 48px}.narrow-page{max-width:620px}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:20px;display:flex}.field{flex-direction:column;gap:3px;min-width:0;margin-bottom:8px;display:flex}.field>span,.field>label{color:var(--text-muted);font-size:11.5px}.field.narrow input{width:90px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px}.card-title{color:var(--text);font-size:16px;font-weight:600;text-decoration:none}.board-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none}.board-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 12px;display:flex}.board-row:last-child{border-bottom:0}.board-name{color:var(--text);flex:1;font-weight:500;text-decoration:none}.board-row .row-actions{gap:2px;display:flex}.trashed .board-name{color:var(--text-muted)}.error-box{border:1px solid var(--danger);background:var(--surface);border-radius:8px;padding:12px 14px}.settings-section{border-top:1px solid var(--border);margin-top:12px;padding-top:4px}.settings-section .field{max-width:320px}.menu{position:relative}.menu-list,.context-menu{z-index:50;background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow);border-radius:8px;padding:4px;position:absolute}.menu-list{top:calc(100% + 4px)}.menu-end{right:0}.menu-start{left:0}.context-menu{min-width:230px;max-height:420px;position:fixed;overflow:auto}.menu-item{cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;padding:5px 8px;display:flex}.menu-item:hover,.menu-item:focus{background:var(--accent-soft);outline:none}.menu-item[aria-disabled=true]{opacity:.5;cursor:default}.menu-item.sep{border-top:1px solid var(--border);margin-top:3px;padding-top:7px}.ws-name,.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.dialog-backdrop{z-index:60;background:#0a0e1459;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);width:min(620px,100vw - 24px);max-height:72vh;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:14px;display:flex;overflow:hidden}.dialog-title{margin:0 0 8px;font-size:16px}.palette{padding:0}.palette-input{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;width:100%;padding:12px 14px;font-size:16px}.palette-input:focus-visible{outline:none}.palette .dialog-title{padding:12px 14px 0}.palette-list{margin:0;padding:4px;list-style:none;overflow:auto}.palette-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;display:flex}.palette-item.is-active{background:var(--accent-soft)}.palette-item.type-catalog .palette-title:before{content:"+ ";color:var(--accent)}.palette-item.type-jump .palette-title:before{content:"→ ";color:var(--text-muted)}.palette-empty,.palette-hint{padding:10px 14px}.help-dialog{width:min(900px,100vw - 24px);max-height:80vh;overflow:auto}.help-head{justify-content:space-between;align-items:center;display:flex}.help-head h2{margin:0}.help-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 24px;display:grid}.help-grid h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:12px 0 4px;font-size:12px}.help-grid dl{margin:0}.help-row{border-bottom:1px dashed var(--border);justify-content:space-between;gap:8px;padding:2px 0;display:flex}.help-row dd{margin:0}.toasts{z-index:70;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:10px;padding:7px 8px 7px 14px;display:flex}.toast .icon-btn{color:inherit;width:22px;height:22px}.toast .btn-link{color:#8db4ff}.toast-error{background:var(--danger);color:#fff}.editor{height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex;overflow:hidden}.editor-loading{height:100%;color:var(--text-muted);place-items:center;display:grid}.topbar .board-title{background:0 0;border-color:#0000;max-width:260px;margin:0;font-size:16px;font-weight:600}.topbar input.board-title:hover{border-color:var(--border)}.topbar-group{display:flex}.palette-btn{color:var(--text-muted);border:1px solid var(--border);background:var(--surface-2)}.status{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.status-synced{color:var(--ok)}.status-offline{color:var(--warn)}.presence{margin:0 4px;padding:0;list-style:none;display:flex}.avatar{color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:26px;height:26px;margin-left:-6px;font-size:11px;font-weight:700;display:grid}.avatar.more{background:var(--text-muted)}.banner{flex:none;justify-content:center;align-items:center;gap:12px;padding:6px 12px;display:flex}.banner-warn{background:var(--warn-soft);color:var(--text);border-bottom:1px solid var(--border)}.editor-body{flex:1;grid-template-columns:220px minmax(0,1fr) 320px;min-height:0;display:grid;position:relative}.panel-handle{z-index:15;touch-action:none;background:0 0;outline:none;position:absolute}.panel-handle-left,.panel-handle-right{cursor:col-resize;width:8px;top:0;bottom:0}.panel-handle-left{transform:translate(-4px)}.panel-handle-right{transform:translate(4px)}.panel-handle-bottom{cursor:row-resize;height:8px;top:-4px;left:0;right:0}.panel-handle:after{content:"";pointer-events:none;background:var(--accent);opacity:0;transition:opacity .12s;position:absolute}.panel-handle-left:after,.panel-handle-right:after{width:2px;top:0;bottom:0;left:3px}.panel-handle-bottom:after{height:2px;top:3px;left:0;right:0}.panel-handle:hover:after,.panel-handle:active:after,.panel-handle:focus-visible:after{opacity:1}.panel-handle:focus-visible{box-shadow:0 0 0 2px var(--focus)}.panel-collapse{z-index:16;border:1px solid var(--border);background:var(--surface);width:18px;height:28px;color:var(--text-muted);cursor:pointer;opacity:0;border-radius:6px;place-items:center;padding:0;transition:opacity .12s;display:grid;position:absolute;bottom:12px}.panel-collapse-left{transform:translate(-50%)}.panel-collapse-right{transform:translate(50%)}.panel-handle:hover+.panel-collapse,.panel-handle:focus-visible+.panel-collapse,.panel-collapse:hover,.panel-collapse:focus-visible{opacity:1}.panel-rail{background:var(--surface-2);border-color:var(--border);cursor:pointer;touch-action:none;color:var(--text-muted);border-style:solid;border-width:0;justify-content:center;min-height:0;padding-top:10px;display:flex;overflow:hidden}.panel-rail-left{border-right-width:1px}.panel-rail-right{border-left-width:1px}.panel-rail:hover,.panel-rail:focus-visible{background:var(--accent-soft);color:var(--text)}.panel-rail-icon{place-items:center;display:grid}.left-panel,.right-panel{background:var(--surface);min-height:0;overflow:auto}.left-panel{border-right:1px solid var(--border)}.right-panel{border-left:1px solid var(--border);flex-direction:column;display:flex}.editor-center{flex-direction:column;min-width:0;min-height:0;display:flex}.panel-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:10px 10px 6px;font-size:11px}.panel-subtitle{margin:2px 0 10px;font-size:13px}.hint{padding:0 10px}.presets{flex-wrap:wrap;gap:4px;padding:0 10px 8px;display:flex}.layer-list{margin:0;padding:0 4px;list-style:none}.layer-row{border-radius:4px;align-items:center;gap:2px;height:28px;padding:0 2px;display:flex}.layer-row:hover,.layer-row:focus-visible{background:var(--surface-2)}.layer-row .icon-btn{width:24px;height:24px}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layer-row.is-hidden .layer-name{color:var(--text-muted)}.layer-row.is-hidden>.icon-btn:first-child{opacity:.6}.layer-row.is-hidden .layer-name{text-decoration:line-through}.layer-row.is-grey .layer-name{color:var(--text-muted)}.obj.is-dimmed:not(.is-selected),.obj-label-dim{filter:saturate(.12);opacity:.5}.layer-row.is-locked .layer-name{font-style:italic}.layer-rename{flex:1;height:22px}.layer-add{gap:4px;padding:8px 10px;display:flex}.layer-add input{flex:1}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;flex:none;display:flex;overflow-x:auto}.right-panel .tabs{flex-wrap:wrap;overflow:visible}.tabs>.tab{white-space:nowrap;padding-inline:8px}.sheet-head{flex:none;align-items:center;min-width:0;display:flex}.sheet-head .tabs{flex:1;min-width:0}.sheet-close{flex:none;margin-inline:4px}.tab,.pane-tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:9px 10px 8px;display:inline-flex}.tab[aria-selected=true],.pane-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.side-body{flex:1;overflow:auto}.inspector{padding:10px 12px 20px}.inspector:focus{outline:none}.inspector input,.inspector select,.inspector textarea{width:100%;height:26px}.inspector textarea{height:auto}.field-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:0 8px;display:grid}.subsection{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.subsection legend{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);width:100%;margin-bottom:6px;padding:0;font-size:11px;display:block}.port-row{clear:both;grid-template-columns:1.3fr .9fr 1fr 1fr auto auto;align-items:center;gap:3px;margin-bottom:4px;display:grid}.prop-row{clear:both;grid-template-columns:1fr 1fr auto;gap:3px;margin-bottom:4px;display:grid}.port-row input,.port-row select,.prop-row input{height:24px;padding:2px 4px;font-size:12px}.check{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.inspector .check input{width:auto;height:auto}.swatches{gap:4px;display:flex}.swatch{border:1px solid var(--border-strong);cursor:pointer;border-radius:50%;width:22px;height:22px}.swatch.is-active{outline:2px solid var(--accent);outline-offset:1px}.coming-soon{flex-direction:column;gap:4px;padding:16px;display:flex}.bottom-pane{background:var(--surface);border-top:1px solid var(--border);flex-direction:column;flex:none;display:flex;position:relative;container-type:inline-size}@container (width<=1100px){.pane-tab kbd{display:none}}.pane-unplaced{white-space:nowrap;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:2px 4px;font-size:12px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.pane-unplaced:hover{color:var(--text)}.tray:focus{outline:none}.tray:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bottom-pane.is-open{height:260px}.pane-tabs,.pane-tablist{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:2px;padding:0 6px;display:flex}.pane-tablist{scrollbar-width:none;border-bottom:0;flex:0 auto;min-width:0;padding:0;overflow-x:auto}.pane-tablist::-webkit-scrollbar{display:none}.pane-tabs{min-width:0;overflow:hidden}.pane-tabs>.muted{white-space:nowrap}.pane-tab{white-space:nowrap;flex:none;padding:6px 8px}.pane-split{flex:1;grid-template-columns:minmax(0,1fr) auto;min-height:0;display:grid}.pane-split>.tray:not(.is-folded){width:240px}.fold-head{justify-content:space-between;align-items:center;gap:4px;display:flex}.is-folded{flex-direction:column;align-items:center;gap:6px;width:34px;padding:4px 0;display:flex;overflow:hidden}.mat-hints.is-folded{flex:0 0 34px;padding:4px 0}.fold-title{writing-mode:vertical-rl;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:600}.pane-body{min-width:0;overflow:auto}.tray{border-left:1px solid var(--border);overflow:auto}.tray-list{margin:0;padding:0 4px 8px;list-style:none}.tray-item{border-radius:4px;align-items:center;display:flex}.tray-item.is-ignored .tray-select{opacity:.55;font-style:italic}.tray-item.is-selected{background:var(--accent-soft)}.tray-select{text-align:left;cursor:grab;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;padding:4px 6px;display:flex}.tray>p{padding:0 10px}.canvas-wrap{background:var(--canvas);flex:1;min-height:0;position:relative;overflow:hidden}.canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;width:100%;height:100%;display:block}.canvas *{vector-effect:non-scaling-stroke}.canvas:focus{outline:none}.canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.cur-grab{cursor:grab}.cur-grab:active{cursor:grabbing}.cur-crosshair{cursor:crosshair}.grid-minor{fill:none;stroke:var(--grid-minor);stroke-width:1px}.grid-major{fill:none;stroke:var(--grid-major);stroke-width:1px}.stage-floor{fill:var(--stage);stroke:var(--stage-line);stroke-width:2px}.stage-zone rect{fill:none;stroke:var(--zone);stroke-width:1px;stroke-dasharray:4 4}.stage-zone text{fill:var(--text-muted);opacity:.35;font-weight:700}.stage-edge{stroke:var(--stage-line);stroke-width:4px}.stage-name,.stage-upstage,.stage-audience{fill:var(--text-muted)}.stage-audience{letter-spacing:.08em;font-weight:600}.sym-fill{fill:var(--sym-fill);stroke:var(--sym-stroke);stroke-width:1.4px}.sym-accent{fill:var(--sym-accent)}.sym-detail{fill:var(--sym-detail);stroke:var(--sym-stroke);stroke-width:1px}.sym-line{stroke:var(--sym-stroke);stroke-width:1.2px;fill:none}.sym-dot{fill:var(--sym-stroke)}.sym-pickup{stroke-width:2.8px;stroke-linecap:round}.sym-facing{fill:var(--sym-accent)}.sym-polar{pointer-events:none;fill:var(--sym-accent);fill-opacity:.07;stroke:var(--sym-accent);stroke-opacity:.5;stroke-width:1px;stroke-dasharray:3 3}.sym-polar-shape .sym-polar,.sym-polar-shape .sym-polar circle{pointer-events:auto;fill:var(--sym-fill);fill-opacity:1;stroke:var(--sym-stroke);stroke-opacity:1;stroke-width:1.6px;stroke-dasharray:none}.sym-glyph{fill:var(--sym-stroke);font-weight:700}.sym-bolt{fill:#f5b400;stroke:var(--sym-stroke);stroke-width:.01px}.sym-dashed{stroke-dasharray:4 3}.sym-musician .sym-fill{fill:var(--accent-soft)}.sym-riser-fill{fill:var(--riser);stroke:var(--riser-stroke);stroke-width:1.5px}.sym-riser-inner{fill:none;stroke:var(--riser-stroke);stroke-width:1px;stroke-dasharray:2 4}.arrange-bar{flex-wrap:wrap;gap:2px;display:flex}.arrange-bar+.arrange-bar{margin-top:4px}.pair-link line{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3;opacity:.7}.pair-side{fill:var(--accent);font-weight:700}.editor:not(.is-readonly) .list-box-header{cursor:move}.obj-hidden-outline{fill:none;stroke:var(--accent);stroke-dasharray:4 3;stroke-width:1.5px}.out-badge circle{fill:var(--warn);stroke:var(--warn);stroke-width:1.5px;vector-effect:non-scaling-stroke}.out-badge text{fill:#fff;font-weight:700}.bus-badge rect,.bus-badge circle{fill:var(--surface);stroke:var(--warn);stroke-width:1.5px;vector-effect:non-scaling-stroke}.bus-badge text{fill:var(--text);font-weight:700}.list-box-resize{fill:var(--surface);stroke:var(--accent);cursor:nwse-resize}.obj-label{cursor:move;fill:var(--text);paint-order:stroke;stroke:var(--canvas);stroke-width:3px;stroke-linejoin:round;font-weight:500}.ch-badge rect{fill:var(--accent)}.ch-badge text{fill:#fff;font-weight:700}.obj{cursor:pointer}.obj.is-focused .sym-fill,.obj.is-focused .ff-shape,.obj.is-focused .ff-sticky{stroke:var(--focus);stroke-width:2.5px}.ff-sticky{stroke:#0000001f}.ff-sticky-shadow{fill:#0000001a}.ff-comment-disc{stroke:#00000026;stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer}.ff-comment-star{stroke:#8a0b0e;stroke-width:.8px;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer}.obj.is-selected .ff-comment-disc,.obj.is-focused .ff-comment-disc{stroke:var(--focus);stroke-width:2.5px}.ff-shape{stroke:var(--sym-stroke);stroke-width:1.6px}.ff-text-box{fill:#0000}.ff-connector{stroke:var(--sym-stroke);stroke-width:2px}.ff-hit{stroke:#0000;stroke-width:12px}.ff-connector-label{fill:var(--text);paint-order:stroke;stroke:var(--canvas);stroke-width:3px}.arrow-head{fill:var(--sym-stroke)}.ff-text-fo{pointer-events:none}.ff-text{color:#1b1f24;white-space:pre-wrap;word-break:break-word;width:100%;height:100%;padding:10px 12px;font-size:20px;line-height:1.3;overflow:hidden}.ff-text-plain{color:var(--text);padding:4px;font-size:24px}.ff-text-center{text-align:center;color:var(--text);justify-content:center;align-items:center;display:flex}.ff-editor{border:2px solid var(--accent);color:#1b1f24;resize:none;background:#ffffffeb;border-radius:2px;width:100%;height:100%;padding:10px 12px;font-size:20px;line-height:1.3}.ff-table-bg{fill:var(--surface);stroke:var(--sym-stroke);stroke-width:1.4px}.ff-table line{stroke:var(--border-strong);stroke-width:1px}.ff-table text{fill:var(--text)}.ff-th{font-weight:700}.cell-editor{border:2px solid var(--accent);border-radius:0;width:100%;height:100%;padding:2px 8px;font-size:20px}.ff-image-missing{fill:var(--surface-2);stroke:var(--border-strong);stroke-dasharray:4 4}.sel-box,.sel-line{fill:none;stroke:var(--selection);stroke-width:1.5px;pointer-events:none}.sel-box{stroke-dasharray:5 3}.sel-halo{fill:color-mix(in srgb, var(--selection) 10%, transparent);stroke:color-mix(in srgb, var(--selection) 35%, transparent);stroke-width:9px;pointer-events:none}.canvas.is-picking{cursor:crosshair}.canvas.is-picking .obj.pick-invalid,.canvas.is-picking .obj-ff{opacity:.22;filter:grayscale()}.canvas.is-picking .obj.pick-valid,.canvas.is-picking .obj.pick-current{cursor:pointer}.pick-ring{fill:none;pointer-events:none}.pick-ring-valid{stroke:var(--ok);stroke-width:2px;stroke-dasharray:4 3}.pick-ring-current{stroke:var(--ok);stroke-width:3.5px}.pick-ring-source{fill:color-mix(in srgb, var(--selection) 12%, transparent);stroke:var(--selection);stroke-width:4px}.canvas.is-picking .obj-labels{opacity:.45}.pick-banner{z-index:5;background:var(--surface);border:1px solid var(--accent);max-width:calc(100% - 32px);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.peer-selection{fill:none;stroke-width:2px;pointer-events:none}.handle{fill:var(--surface);stroke:var(--selection);stroke-width:1.5px;cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.handle-rotate{cursor:grab}.handle-stem{stroke:var(--selection);stroke-width:1px}.guides line{stroke:#e5484d;stroke-width:1px;stroke-dasharray:3 2}.marquee{fill:var(--accent);fill-opacity:.08;stroke:var(--accent);stroke-width:1px}.creating{fill:var(--accent);fill-opacity:.08;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3}.minimap-wrap{position:absolute;bottom:52px;right:12px}.minimap-close{background:var(--surface);width:20px;height:20px;position:absolute;top:2px;right:2px}.minimap{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:6px;display:block}.mm-frame{fill:var(--stage);stroke:var(--stage-line);stroke-width:.05px}.mm-obj{fill:var(--sym-stroke);opacity:.7}.mm-freeform{fill:var(--warn)}.mm-view{fill:var(--accent);fill-opacity:.08;stroke:var(--accent);stroke-width:1.5px}.canvas-controls{align-items:center;gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-controls,.phone-tools{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex}.zoom-level{text-align:center;font-variant-numeric:tabular-nums;min-width:44px;font-size:12px}.readonly-chip{background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;position:absolute;bottom:12px;left:12px}html:has(.editor){overscroll-behavior:none;overflow:hidden}html:has(.editor) body{overscroll-behavior:none;overflow:hidden}.editor{touch-action:pan-x pan-y}@media (width<=1280px){.topbar .btn:not(.palette-btn){gap:0;font-size:0}.topbar kbd{display:none}.topbar .board-title{flex:0 200px;min-width:60px}.topbar .badge-ok{font-size:0}.topbar .user-name{display:none}.topbar .status span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.topbar-item{display:contents}@media (width<=1100px){.bottom-pane.is-open{min-height:45dvh}.dg-toolbar .btn:has(svg):not(.pick-tools .btn){gap:0;font-size:0}}@media (width<=700px),(height<=500px){.bottom-pane.is-open{height:60dvh!important}}@media (width<=700px){.pane-split{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.pane-split>.tray:not(.is-folded){width:auto}.is-folded,.mat-hints.is-folded{flex-direction:row;flex:none;width:auto;padding:2px 8px}.is-folded .fold-title{writing-mode:horizontal-tb}.tray{border-left:0;border-top:1px solid var(--border);max-height:22dvh}}@media (width<=700px),(height<=500px){.topbar-group,.topbar .badge-ok,.topbar-item[data-phone=palette]>button,.topbar-item[data-phone=palette]>.menu,.topbar .phone-hidden{display:none}}@media (pointer:coarse){.pane-tab kbd{display:none}.chip{min-height:32px}input[type=checkbox],input[type=radio],.inspector .check input{width:20px;height:20px}.panel-rail{position:relative;overflow:visible}.panel-rail:before{content:"";position:absolute;inset:0 -12px}}@media (width<=1100px){.editor-body{grid-template-columns:180px minmax(0,1fr) 260px}.palette-btn span{display:none}}@media (width<=700px),(height<=500px){.editor-body{grid-template-columns:minmax(0,1fr)}.right-panel.is-sheet,.left-panel.is-sheet{z-index:40;border-left:0;border-top:1px solid var(--border);height:70dvh;max-height:min(85dvh,640px);box-shadow:var(--shadow);padding-bottom:env(safe-area-inset-bottom);border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0}.left-panel.is-sheet{border-right:0;overflow:auto}.sheet-backdrop{z-index:39;background:#0000004d;position:fixed;inset:0}.user-name{display:none}.status span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (pointer:coarse){.icon-btn{width:36px;height:36px}.panel-handle-left,.panel-handle-right{width:20px}.panel-handle-left{transform:translate(-10px)}.panel-handle-right{transform:translate(10px)}.panel-handle-left:after,.panel-handle-right:after{left:9px}.panel-handle-bottom{height:20px;top:-10px}.panel-handle-bottom:after{top:9px}.panel-collapse{opacity:1;width:22px;height:36px}.layer-row{height:36px}}@media (height<=820px){.bottom-open .minimap-wrap{display:none}}@media (width<=600px){.minimap-wrap{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.ff-text-inner{max-width:100%}.ff-text-fo.is-outside .ff-text{color:var(--text);padding:2px;overflow:visible}.text-style{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.text-style-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.text-style-group{gap:2px;padding-right:6px;display:flex}.text-style-btn{width:30px;height:30px}.text-style-btn.is-active{background:var(--accent-soft);color:var(--accent)}.text-style-size select{height:30px}.field-stack{flex-direction:column;gap:2px;margin-top:6px;display:flex}.board-search{margin:12px 0}.search-field input{min-width:min(420px,100%)}.search-results{margin:6px 0 12px;padding:0;list-style:none}.search-results>li{border-top:1px solid var(--border);padding:6px 0}.search-board{font-weight:600}.search-hits{margin:2px 0 0;padding-left:12px;font-size:12px;list-style:none}.rx-badge .rx-bg{fill:var(--surface);stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.rx-badge .rx-link line,.rx-badge .rx-link path,.rx-badge .rx-link rect,.rx-badge .rx-audio circle{fill:none;stroke:var(--text);stroke-width:1.2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.rx-badge .rx-wireless circle{fill:var(--text);stroke:none}.badge.badge-note{white-space:normal;border-radius:8px;padding:4px 8px;line-height:1.35;display:block}.pick-tools{align-items:center;gap:4px;display:inline-flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.field-error{color:var(--danger);font-size:12px}.dialog-scroll{flex:1;min-height:0;padding-right:2px;overflow:auto}.dialog-footer{justify-content:flex-end;margin-top:10px}.share-dialog,.snapshots-dialog{width:min(760px,100vw - 24px);max-height:86vh}.share-links{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.share-link{border:1px solid var(--border);border-radius:var(--radius);gap:4px;padding:8px 10px;display:grid}.share-link.is-highlighted{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.share-link-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-link-name{flex:160px;min-width:0;font-weight:600}.share-link-meta{flex-wrap:wrap;gap:12px;display:flex}.share-link-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.extend-control{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.share-form{border-top:1px solid var(--border);padding-top:10px}.share-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 12px;display:grid}.layer-picks{border:0;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:2px 10px;margin:4px 0 8px;padding:0;display:grid}.share-created{background:var(--accent-soft);border-radius:var(--radius);margin-bottom:12px;padding:10px 12px}.share-created p{margin:0 0 8px}.share-url{flex-wrap:wrap;gap:6px;display:flex}.share-url input{min-width:0;font-family:var(--mono);flex:260px;font-size:12px}.confirm-inline{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.comments-tab{flex-direction:column;gap:10px;display:flex}.comments-filter{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.comments-filter .field{margin:0}.new-comment{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:8px}.new-comment p{margin:4px 0 0}.new-comment-anchor{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;display:flex}.composer-field{position:relative}.composer textarea{resize:vertical;width:100%;min-height:56px;font:inherit}.composer-actions{align-items:center;margin-top:4px}.mention-list{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);max-height:220px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.mention-option{cursor:pointer;justify-content:space-between;gap:8px;padding:4px 10px;display:flex}.mention-option.is-active{background:var(--accent-soft)}.mention{color:var(--accent);font-weight:600}.attachment-drafts,.attachments{flex-wrap:wrap;gap:6px;margin:4px 0;padding:0;list-style:none;display:flex}.attachment{color:var(--text);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:4px;padding:2px 6px 2px 2px;text-decoration:none;display:inline-flex}.attachment-thumb{object-fit:cover;border-radius:4px;width:48px;height:48px}.threads{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thread{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:8px}.thread.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.thread.is-resolved{opacity:.75}.thread-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.pin-number{background:var(--accent);min-width:22px;height:22px;color:var(--accent-text);cursor:pointer;border:0;border-radius:999px;font-size:12px;font-weight:700}.comment-anchor{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.comment{padding:4px 0}.comment.is-reply{border-left:2px solid var(--border);margin-left:14px;padding-left:8px}.comment-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0}.comment-actions,.thread-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.tab-badge{background:var(--accent);min-width:18px;color:var(--accent-text);text-align:center;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;display:inline-block}.comment-pin{cursor:pointer}.comment-pin .pin-shape{fill:var(--accent);stroke:var(--surface);stroke-width:1.5px}.comment-pin .pin-text{fill:var(--accent-text);font-size:11px;font-weight:700;font-family:var(--font);pointer-events:none}.comment-pin.is-active .pin-shape{fill:var(--focus)}.comment-pin.is-resolved .pin-shape{fill:var(--text-muted)}.comment-pin.is-orphaned .pin-shape{fill:var(--warn);stroke-dasharray:3 2}.overlay-layer .overlay-element{opacity:.72}.overlay-layer .overlay-element :is(rect,ellipse,path,polygon,line){stroke-dasharray:.08 .05}.overlay-element{cursor:pointer}.guest-notes{border-top:1px solid var(--border);padding:8px 10px}.guest-notes-entry{margin-bottom:8px}.guest-notes-head{align-items:center;gap:6px;display:flex}.guest-notes-head .layer-name{flex:1}.guest-notes-list{margin:2px 0 4px;padding:0;list-style:none}.guest-notes-list li{align-items:center;gap:2px;display:flex}.guest-notes-list li.is-selected{background:var(--accent-soft);border-radius:4px}.guest-note{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.notifications,.bell{position:relative}.bell-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:-2px;right:-4px}.notifications-panel{width:min(380px,100vw - 24px);max-height:70vh;padding:8px;overflow:auto}.notifications-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.notification-list{margin:0 0 6px;padding:0;list-style:none}.notification{border-radius:var(--radius);align-items:flex-start;gap:4px;padding:2px;display:flex}.notification.is-unread{background:var(--accent-soft)}.notification-main{text-align:left;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;min-width:0;padding:6px;display:flex}.notification-excerpt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.snapshot-list{flex-direction:column;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.snapshot-row{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 10px;display:flex}.snapshot-pdf{align-items:center;gap:4px;display:flex}.snapshot-compare{border-top:1px solid var(--border);padding-top:8px}.diff-section ul{margin:0 0 8px;padding:0;list-style:none}.diff-row{padding:2px 0}.diff-added .badge{color:var(--ok)}.diff-removed .badge{color:var(--danger)}.diff-changed .badge{color:var(--warn)}.guest-page h1{margin:2px 0 8px}.guest-summary{margin-bottom:16px}.guest-form{flex-direction:column;gap:4px;display:flex}.guest-form .btn-primary{align-self:flex-start}.guest-persons{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.guest-person-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.consent span{font-size:13px}.revoked-page{text-align:center}.usage-list{margin:0}.usage-row{grid-template-columns:180px 1fr;gap:8px;padding:4px 0;display:grid}.usage-row dd{align-items:center;gap:8px;margin:0;display:flex}.member-list{margin:0 0 12px;padding:0;list-style:none}.member-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.member-name{flex:220px;min-width:0}.stat-grid{margin:0 0 16px}.stat dd{margin:0}.stat-value{font-size:24px;font-weight:700}@media (width<=600px){.usage-row{grid-template-columns:1fr}}.ff-author{fill:#5d6673;opacity:.85;font-family:var(--font);pointer-events:none}.board-underlay{pointer-events:none;opacity:.85}.underlay-pick{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:6 3}.overlay-layer.is-writable .overlay-element{cursor:pointer}.draw-target{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 8px;padding:4px 8px 6px}.draw-target legend{color:var(--text-muted);padding:0 4px}.draw-target-note{margin:0 0 6px}.release-badge{align-items:center;gap:3px;display:inline-flex}.signoff-list{margin:4px 0 0;padding:0;list-style:none}.signoff-list li{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.signoff-signature{border:1px solid var(--border);background:#fff;border-radius:4px;height:32px}.signoff-form{border:1px solid var(--border);border-radius:var(--radius);gap:8px;margin-top:8px;padding:8px;display:grid}.signature-pad{align-items:flex-end;gap:6px;display:flex}.signature-pad canvas{aspect-ratio:3;border:1px dashed var(--border-strong,var(--border));border-radius:var(--radius);touch-action:none;background:#fff;width:min(420px,100%)}.release-since{border-radius:var(--radius);background:var(--accent-soft);align-items:center;gap:8px;padding:6px 8px;display:flex}.dg{flex-direction:column;height:100%;min-height:0;display:flex}.dg-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:4px 8px;display:flex}.dg-toolbar .spacer{flex:1}.dg-group-select{align-items:center;gap:4px;display:inline-flex}.dg-group-select select{height:24px;font-size:12px}.dg-toolbar .btn.is-on{border-color:var(--accent);color:var(--accent)}.dg-scroll{flex:1;min-height:0;position:relative;overflow:auto}.dg-grid{min-width:100%;font-size:12px}.dg-row{border-bottom:1px solid var(--border);min-height:28px;display:flex}.dg-head{z-index:2;background:var(--surface-2);position:sticky;top:0}.dg-header{border-right:1px solid var(--border);flex:none;display:flex}.dg-sort{min-width:0;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:0 6px;font-size:12px;font-weight:600;display:flex}.dg-sort>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dg-sort:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.dg-grouped{color:var(--accent);font-size:11px;font-weight:600}.dg-filter{border-right:1px solid var(--border);flex:none;padding:2px}.dg-filter input{width:100%;height:22px;padding:0 4px;font-size:12px}.dg-cell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-right:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;cursor:cell;background:var(--surface);outline:none;flex:none;align-items:center;padding:0 6px;display:flex;position:relative;overflow:hidden}.dg-cell.is-end{font-variant-numeric:tabular-nums;justify-content:flex-end}.dg-cell.dg-boolean,.dg-cell.dg-send{justify-content:center}.dg-cell.is-readonly{color:var(--text-muted);background:var(--surface-2)}.dg-cell.is-selected{background:var(--accent-soft)}.dg-cell.is-active{box-shadow:inset 0 0 0 2px var(--accent)}.dg-grid:focus-within .dg-cell.is-active{box-shadow:inset 0 0 0 2px var(--focus)}.dg-row.is-linked .dg-cell:first-child{box-shadow:inset 3px 0 0 var(--accent)}.dg-row.is-linked .dg-cell{background-image:linear-gradient(var(--accent-soft), var(--accent-soft))}.dg-cell.is-informal{font-style:italic}.dg-new-row .dg-cell{background:0 0}.dg-new-row .dg-cell:first-child:before{content:"+";color:var(--text-muted);margin-right:4px}.dg-group-row{background:var(--surface-2)}.dg-group-cell{align-items:center;gap:6px;padding:0 8px;font-weight:600;display:flex}.dg-bool{color:var(--ok);font-weight:700}.dg-editor{width:100%;height:100%;font:inherit;background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 2px var(--focus);border:0;border-radius:0;outline:none;padding:0 6px;position:absolute;inset:0}.dg-editor:focus-visible{outline:none}.dg-dropdown{z-index:70;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin:0;padding:4px;font-size:12px;list-style:none;overflow:auto}.dg-dropdown li{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;display:flex}.dg-dropdown li.is-active,.dg-dropdown li:hover{background:var(--accent-soft)}.dg-check{width:12px;color:var(--accent);font-weight:700}.dg-empty{padding:8px 12px}.dg-menu kbd{font-size:11px}.dg-cell.is-cu-changed{background:color-mix(in oklch, var(--cu-changed,#e8890c) 22%, transparent);box-shadow:inset 2px 0 0 var(--cu-changed,#e8890c)}.dg-cell.is-cu-added{background:color-mix(in oklch, var(--cu-added,#1f9d55) 20%, transparent);box-shadow:inset 2px 0 0 var(--cu-added,#1f9d55)}.dg-header-row{position:relative}.dg-sort{touch-action:pan-y}.dg-header.is-dragging{opacity:.45}.dg-header-row:has(.is-dragging) .dg-sort{cursor:grabbing}.dg-drop-indicator{background:var(--accent);pointer-events:none;z-index:3;width:3px;margin-left:-1px;position:absolute;top:0;bottom:0}.dg-header{position:relative}.dg-resize{cursor:col-resize;touch-action:none;z-index:2;width:7px;position:absolute;top:0;bottom:0;right:-3px}.dg-resize:hover,.dg-resize:focus-visible{background:var(--accent-soft);box-shadow:inset -2px 0 0 var(--accent)}.dg-cell input,.dg-cell textarea{-webkit-user-select:text;user-select:text}.dg-dropdown-group{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#666);pointer-events:none;padding:4px 8px 2px;font-size:11px;font-weight:600}.dg-dropdown li .stand-icon,.dg-with-icon .stand-icon{vertical-align:-2px;flex:none;margin-inline-end:4px}.dg-with-icon{align-items:center;min-width:0;display:inline-flex}.dg-cell[data-has-grip]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.dg-touch-ghost{z-index:200;background:var(--accent,#2f6fec);color:#fff;pointer-events:none;box-shadow:var(--shadow);border-radius:6px;padding:4px 10px;font-size:13px;position:fixed;transform:translate(12px,-50%)}.dg-cell.is-warning{background:color-mix(in srgb, var(--warn) 14%, transparent)}.inventory-page{flex-direction:column;gap:8px;max-width:none;display:flex}.inventory-page .page-head{gap:12px}.inventory-grid{border:1px solid var(--border);border-radius:var(--radius);height:calc(100vh - 260px);min-height:320px;overflow:hidden}.inventory-conflict{border-radius:var(--radius);background:var(--warn-soft);color:var(--text);padding:8px 10px}.stock-in_stock{color:var(--ok,#1f7a3d)}.stock-partial{color:var(--warn)}.stock-rent,.stock-to-rent{color:var(--danger,#b42318);font-weight:600}
