:root{--sc-paper:#fff;--sc-stage:#f4f4f5;--sc-dot:#00000012;--sc-desk:#fff;--sc-desk-empty:#fafafa;--sc-line:#d4d4d8;--sc-line-empty:#dcdce1;--sc-line-hover:#a1a1aa;--sc-m:#3b82f6;--sc-f:#ec4899;--sc-n:#d4d4d8;--sc-warn:#f59e0b;--sc-ok:#16a34a;--sc-sel-soft:#006fee2e;--sc-bad-soft:#f3126029;--sc-ok-soft:#16a34a2e;--sc-un-bg:#fff7ed;--sc-un-line:#fde7c8;--sc-pop-shadow:0 12px 32px #00000029}[data-theme=dark]{--sc-paper:#141416;--sc-stage:#0d0d0d;--sc-dot:#ffffff0f;--sc-desk:#1f1f23;--sc-desk-empty:#18181b;--sc-line:#3f3f46;--sc-line-empty:#34343a;--sc-line-hover:#71717a;--sc-m:#60a5fa;--sc-f:#f472b6;--sc-n:#52525b;--sc-sel-soft:#338ef747;--sc-bad-soft:#f3126047;--sc-ok-soft:#17c9643d;--sc-un-bg:#f59e0b1a;--sc-un-line:#f59e0b4d;--sc-pop-shadow:0 12px 32px #0000008c}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#006fee08 1px,#0000 1px),linear-gradient(90deg,#006fee08 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}body.in-board{overflow:hidden}body.in-board:before{display:none}body.in-board .top-overlay,body.in-board .top-overlay-left{display:none!important}.sc-btn{border:1px solid var(--border);background:var(--bg);height:36px;color:var(--fg);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.sc-btn:hover{border-color:var(--primary);color:var(--primary)}.sc-btn:disabled{opacity:.4;cursor:not-allowed}.sc-btn:disabled:hover{border-color:var(--border);color:var(--fg)}.sc-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.sc-btn.primary:hover{background:var(--primary-h);color:var(--primary-fg)}.sc-btn.danger{color:var(--danger)}.sc-btn.danger:hover{border-color:var(--danger);background:#f3126014}.sc-btn.sm{border-radius:7px;height:30px;padding:0 10px;font-size:12px}.sc-btn.block{width:100%}.sc-btn svg{flex-shrink:0;width:15px;height:15px}.sl-top{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;display:flex}.sl-title{letter-spacing:.12em;color:var(--fg-muted);flex:1;align-items:center;gap:8px;min-width:120px;margin:0;font-size:11px;font-weight:700;display:flex}.sl-title:after{content:"";background:var(--border);flex:1;height:1px}.sl-note{color:var(--fg-muted);margin:0 0 16px;font-size:12.5px;line-height:1.6}.sl-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.sc-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;transition:border-color .2s,transform .15s,box-shadow .2s;animation:.22s both scFadeUp;position:relative;overflow:hidden}.sc-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px #006fee1a}.sc-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;margin:0;padding:0;display:flex}.sc-thumb{background:var(--sc-paper);border-bottom:1px solid var(--border);padding:10px 14px}.sc-thumb svg{width:100%;height:auto;display:block}.sc-info{padding:12px 52px 13px 14px}.sc-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.sc-meta{color:var(--fg-muted);margin-top:4px;font-size:12px;line-height:1.5}.sc-cmenu{width:44px;height:44px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:6px;right:4px}.sc-cmenu:hover{background:var(--bg);border-color:var(--border);color:var(--fg)}.sc-cmenu svg{width:18px;height:18px}@keyframes scFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#view-board{z-index:500;background:var(--sc-stage);color:var(--fg);flex-direction:column;display:none;position:fixed;inset:0;overflow:hidden}#view-board.active{display:flex}#sb-tb{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;min-height:52px;padding:7px 12px;display:flex}.tb-btn{border:1px solid var(--border);height:36px;color:var(--fg);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tb-btn:hover{background:var(--bg-sec)}.tb-btn svg{flex-shrink:0;width:15px;height:15px}.tb-btn.icon{justify-content:center;width:36px;padding:0}.tb-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.tb-btn.primary:hover{background:var(--primary-h)}.tb-btn[aria-pressed=true]{background:var(--sc-ok-soft);border-color:var(--sc-ok);color:var(--sc-ok)}.tb-btn:disabled{opacity:.35;cursor:not-allowed}#sb-back{border-color:#0000}#sb-name{color:var(--fg);border:1px solid var(--border);background:0 0;border-radius:6px;width:140px;min-width:80px;padding:6px 10px;font-family:inherit;font-size:14px;font-weight:700}#sb-name:hover{border-color:var(--fg-muted)}#sb-name:focus{border-color:var(--primary);outline:none}.tb-sep{background:var(--border);width:1px;height:22px;margin:0 2px}.tb-grow{flex:1}.tb-settings{display:contents}.grp{align-items:center;gap:5px;display:flex}.grp .lbl{color:var(--fg-muted);font-size:11.5px;font-weight:700}.seg{background:var(--bg-sec);border:1px solid var(--border);border-radius:8px;padding:2px;display:flex}.seg button{color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;height:28px;padding:0 10px;font-family:inherit;font-size:12.5px;font-weight:600}.seg button[aria-pressed=true]{background:var(--bg);color:var(--primary);box-shadow:0 1px 3px #0000001f}.stepper{background:var(--bg-sec);border:1px solid var(--border);border-radius:8px;align-items:center;padding:2px;display:flex}.stepper button{background:var(--bg);color:var(--fg);cursor:pointer;border:0;border-radius:6px;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:grid;box-shadow:0 1px 2px #00000014}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-size:14px;font-weight:700}#sb-settings-btn{display:none}#sb-body{flex:1;min-height:0;display:flex;position:relative}#sb-wrap{background:radial-gradient(circle at 1px 1px, var(--sc-dot) 1px, transparent 0) 0 0 / 22px 22px, var(--sc-stage);flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}#sb-stage{flex-shrink:0;position:relative}#sb-canvas{transform-origin:0 0;background:var(--sc-paper);border:1px solid var(--border);border-radius:16px;width:1000px;height:700px;position:absolute;top:0;left:0;box-shadow:0 6px 24px #0000000f}.board{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:54px;display:flex;position:absolute;left:0;right:0}.board.top{top:14px}.board.bottom{flex-direction:column-reverse;bottom:14px}.board .chalk{color:#cfe9da;letter-spacing:3px;print-color-adjust:exact;background:linear-gradient(#1f4d3a,#173d2e);border:2px solid #0f2c20;border-radius:5px;place-items:center;width:46%;height:22px;font-size:11px;font-weight:700;display:grid}.board .podium{color:#fff;print-color-adjust:exact;background:#8b5e34;border-radius:4px;padding:3px 16px;font-size:10.5px;font-weight:700;box-shadow:0 2px #6f4a28}.seat{font:inherit;color:var(--fg);border:1.5px solid var(--sc-line);background:var(--sc-desk);user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:pointer;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin:0;padding:0 2px;transition:border-color .1s,background .1s,box-shadow .1s;display:flex;position:absolute;overflow:hidden}.seat.empty{background:var(--sc-desk-empty);border-style:dashed;border-color:var(--sc-line-empty)}.seat.occupied{box-shadow:0 1px 1px #0000000a}.seat.occupied:hover{border-color:var(--sc-line-hover)}.seat:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.seat.selected{box-shadow:0 0 0 4px var(--sc-sel-soft);border-color:var(--primary)!important}.seat.violation{box-shadow:0 0 0 4px var(--sc-bad-soft);border-color:var(--danger)!important}.seat.moved{box-shadow:0 0 0 4px var(--sc-ok-soft);border-color:var(--sc-ok)!important}.seat.dragover{border-color:var(--primary)!important;background:var(--sc-sel-soft)!important}.seat.dragging{opacity:.35}.layout-free .seat.occupied,.layout-free .seat{cursor:grab}.seat .sname{letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;max-width:96%;font-size:15px;font-weight:700;line-height:1.1;overflow:hidden}.seat .gdot{background:var(--sc-n);border-radius:50%;flex-shrink:0;width:8px;height:8px}.gdot.m{background:var(--sc-m)!important}.gdot.f{background:var(--sc-f)!important}.seat .pin{font-size:10px;line-height:1;position:absolute;top:3px;right:4px}.seat .ff{color:#fff;background:var(--sc-warn);border-radius:4px;padding:1px 3px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:3px;left:4px}.arrows{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#sb-empty{z-index:5;background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:16px;width:min(360px,100% - 32px);padding:22px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#sb-empty[hidden]{display:none}#sb-empty h2{margin:0 0 6px;font-size:17px}#sb-empty p{color:var(--fg-muted);margin:0 0 16px;font-size:13px;line-height:1.6}#sb-empty .row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}#sb-drawer{background:var(--bg);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:330px;min-height:0;transition:opacity .15s;display:flex}#view-board.drawer-closed #sb-drawer{display:none}#sb-drawer.peek{opacity:.2;pointer-events:none}.dr-tabs{border-bottom:1px solid var(--border);gap:4px;padding:8px 10px 0;display:flex}.dr-tabs button{height:38px;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;flex:1;font-family:inherit;font-size:13px;font-weight:600}.dr-tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);background:#006fee0f}.dr-close{display:none!important}#sb-panel{overscroll-behavior:contain;flex:1;padding:12px;overflow-y:auto}.psec{margin-bottom:18px}.psec h3{color:var(--fg-muted);margin:0 0 6px;font-size:12.5px;font-weight:700}.prow{align-items:center;gap:6px;margin-bottom:6px;display:flex}.prow.two>*{flex:1}.muted{color:var(--fg-muted)}.small{font-size:12px;line-height:1.6}.amp{color:var(--fg-muted);font-weight:700}.sc-inp,.sc-sel{border:1px solid var(--border);background:var(--input-bg);width:100%;min-width:0;height:34px;color:var(--fg);border-radius:8px;padding:0 10px;font-family:inherit;font-size:13px}.sc-inp:focus,.sc-sel:focus{border-color:var(--primary);outline:none}.check{cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;line-height:1.55;display:flex}.check input{accent-color:var(--primary);margin-top:3px}.rlist{flex-direction:column;gap:3px;display:flex}.srow{background:var(--bg-sec);border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;padding:4px 6px;display:flex}.srow:hover{border-color:var(--border)}.srow.un{background:var(--sc-un-bg);border-color:var(--sc-un-line)}.srow.picked{border-color:var(--primary);box-shadow:0 0 0 2px var(--sc-sel-soft)}.srow .grip{width:22px;height:30px;color:var(--fg-muted);cursor:grab;touch-action:none;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.srow .grip svg{width:14px;height:14px}.srow .seq{text-align:center;width:18px;color:var(--fg-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.srow .rname{text-align:left;min-width:0;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;cursor:grab;touch-action:pan-y;user-select:none;background:0 0;border:0;flex:1;padding:6px 2px;font-family:inherit;font-size:13.5px;font-weight:600;overflow:hidden}.gbtn{border:2px solid var(--sc-line);background:var(--bg);cursor:pointer;border-radius:50%;flex:none;width:18px;height:18px;padding:0}.gbtn.m{background:var(--sc-m);border-color:var(--sc-m)}.gbtn.f{background:var(--sc-f);border-color:var(--sc-f)}.tag{border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);cursor:pointer;border-radius:7px;flex-shrink:0;height:24px;padding:0 7px;font-family:inherit;font-size:11px;font-weight:700;line-height:1}.tag[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.tag:disabled{opacity:.35;cursor:not-allowed}.pairlist,.snaplist{flex-direction:column;gap:5px;margin-top:6px;display:flex}.pairrow{background:var(--bg-sec);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:4px 6px 4px 10px;font-size:13px;display:flex}.pairrow .x{color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;width:28px;height:28px;font-size:13px}.pairrow .x:hover{color:var(--danger)}.snap{border:1px solid var(--border);background:var(--bg-sec);border-radius:10px;padding:8px 10px}.snap .sinfo{flex-direction:column;gap:1px;margin-bottom:6px;display:flex}.snap .sinfo b{font-size:13px}.snap .sbtns{gap:5px;display:flex}.snap .sbtns .sc-btn{flex:1}#sb-status{background:var(--bg);border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:14px;padding:8px 14px;font-size:12.5px;display:flex}#st-viol{font-weight:700}#st-viol.bad{color:var(--danger)}#st-viol.good{color:var(--fg-muted);font-weight:600}.legend{color:var(--fg-muted);align-items:center;gap:5px;display:flex}.legend .gdot{border-radius:50%;width:9px;height:9px;display:inline-block}.legend .ff{color:#fff;background:var(--sc-warn);border-radius:4px;margin-left:6px;padding:1px 3px;font-size:9px;font-weight:800}#st-hint{color:var(--fg-muted);text-align:right;flex:1;min-width:200px}#sb-present-exit{z-index:20;display:none;position:absolute;top:12px;right:12px}#view-board.present #sb-tb,#view-board.present #sb-drawer,#view-board.present #sb-status{display:none!important}#view-board.present #sb-present-exit{display:inline-flex}#view-board.present .seat .sname{font-size:var(--pfs,15px);max-width:94%}#view-board.present .seat .gdot,#view-board.present .seat .pin,#view-board.present .seat .ff,#view-board.present .arrows{display:none}#view-board.present .seat.selected,#view-board.present .seat.violation,#view-board.present .seat.moved{box-shadow:none;border-color:var(--sc-line)!important}#sb-print-title{display:none}.sc-pop{z-index:10010;background:var(--dialog-bg);color:var(--dialog-fg);border:1px solid var(--dialog-border);box-shadow:var(--sc-pop-shadow);border-radius:11px;min-width:210px;max-width:280px;padding:5px;font-size:13px;position:fixed}.sc-pop[hidden]{display:none}.sc-pop .phead{color:var(--fg-muted);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 10px;font-size:11.5px;font-weight:700}.sc-pop button{text-align:left;width:100%;min-height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.sc-pop button:hover,.sc-pop button:focus-visible{color:var(--primary);background:#006fee1a;outline:none}.sc-pop button.danger{color:var(--danger)}.sc-pop .pdiv{background:var(--border);height:1px;margin:4px 0}.sc-pop .psub{color:var(--fg-muted);padding:4px 10px 2px;font-size:11px;font-weight:700}.sc-pop .plist{max-height:220px;overflow-y:auto}.sc-ghost{z-index:10020;pointer-events:none;background:var(--primary);color:#fff;white-space:nowrap;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:700;position:fixed;transform:translate(-50%,-130%);box-shadow:0 8px 24px #00000040}.sc-modal{z-index:10000;backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.sc-modal.open{display:flex}.sc-mbox{background:var(--dialog-bg);color:var(--dialog-fg);border:1px solid var(--dialog-border);border-radius:16px;width:min(520px,100%);max-height:calc(100dvh - 32px);padding:20px;overflow:auto;box-shadow:0 20px 50px #00000040}.sc-mbox h2{margin:0 0 6px;font-size:17px}.sc-mbox .mdesc{color:var(--fg-muted);margin:0 0 12px;font-size:13px;line-height:1.6}.sc-mbox textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;height:280px;color:var(--fg);resize:vertical;border-radius:10px;padding:12px;font-family:inherit;font-size:14px;line-height:1.7}.sc-mbox textarea:focus,.sc-mbox .sc-inp:focus{border-color:var(--primary);outline:none}.sc-mbox .sc-inp{height:40px;font-size:15px}.mfoot{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.mfoot .left{margin-right:auto}@media (width<=1100px){.tb-btn .lbl-wide{display:none}.tb-btn.has-wide{justify-content:center;width:36px;padding:0}.grp .lbl.opt{display:none}}@media (width<=1440px){#sb-settings-btn{display:inline-flex}.tb-settings{display:none}#view-board.show-settings .tb-settings{flex-wrap:wrap;order:99;gap:8px 14px;width:100%;padding:6px 0 2px;display:flex}#view-board.show-settings .tb-sep{display:none}#view-board.show-settings .grp .lbl.opt{display:inline}}@media (width<=899px){#sb-drawer{z-index:30;width:min(340px,92vw);position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0000002e}.dr-close{flex:0 0 38px!important;display:inline-flex!important}#st-hint{display:none}}.sc-pop .only-narrow{display:none}.sc-btn .ic,.tb-btn .ic,.sc-pop button .ic{flex-shrink:0;width:15px;height:15px}.seat .pin .ic{width:11px;height:11px;display:block}.legend .ic{width:12px;height:12px}#st-viol{align-items:center;gap:4px;display:inline-flex}.pairrow .x{place-items:center;display:inline-grid}.gbtn{width:auto;min-width:26px;height:22px;color:var(--fg-muted);border-radius:6px;padding:0 4px;font-family:inherit;font-size:11px;font-weight:700;line-height:1}.gbtn.m,.gbtn.f{color:#fff}@media (pointer:coarse){.sc-btn,.sc-btn.sm,.tb-btn{height:44px;min-height:44px}.tb-btn.icon,.tb-btn.has-wide,.tb-btn.has-sm{min-width:44px}.seg button{height:40px}.stepper button{width:40px;height:40px}.tag{min-width:40px;height:40px}.gbtn{min-width:40px;height:40px;font-size:13px}.srow .grip{width:32px;height:44px}.pairrow .x{width:44px;height:44px}.dr-tabs button{height:44px}.sc-pop button{min-height:44px}.sc-cmenu{width:44px;height:44px}.sc-inp,.sc-sel{height:44px}}@media (width<=768px),(pointer:coarse){.sc-inp,.sc-sel,#sb-name,.sc-mbox textarea,.sc-mbox .sc-inp{font-size:16px}}body.in-board{--vui-toast-bottom:64px}@media (width<=560px){#sb-baseline,#sb-compare,#sb-print,#sb-full,#sb-status .legend{display:none!important}.sc-pop .only-narrow{display:flex}#sb-name{width:96px}.tb-btn .lbl-sm{display:none}.tb-btn.has-sm{justify-content:center;width:36px;padding:0}#sb-tb{gap:4px;padding:6px 8px}.tb-sep{display:none}}@media print{@page{size:A4 landscape;margin:9mm}html,body{background:#fff!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body:before,body.in-board>:not(#view-board){display:none!important}body.in-board #view-board{z-index:auto;color:#000;display:block;position:static;overflow:visible;background:#fff!important}#sb-tb,#sb-drawer,#sb-status,#sb-empty,#sb-present-exit,#sb-kbd-help,.sc-pop,.sc-ghost{display:none!important}#sb-body,#sb-wrap{background:0 0!important;height:auto!important;display:block!important;overflow:visible!important}#sb-print-title{text-align:center;color:#000;letter-spacing:-.2px;margin:0 0 3mm;font-size:17px;font-weight:800;line-height:1.3;display:block}#sb-stage{break-inside:avoid;margin:0 auto;overflow:hidden;width:950px!important;height:665px!important}#sb-canvas{border-radius:10px;box-shadow:none!important;background:#fff!important;border:1px solid #bbb!important;transform:scale(.95)!important}.seat,.seat.selected,.seat.violation,.seat.moved,.seat.dragover,.seat.dragging{color:#000!important;box-shadow:none!important;opacity:1!important;background:#fff!important;border:1.6px solid #444!important;outline:none!important;transition:none!important}.seat.empty,.seat.empty.selected,.seat.empty.dragover{border:1.3px dashed #aaa!important}.seat .sname{max-width:94%;font-size:var(--pfs,15px)!important;color:#000!important}.seat .gdot,.seat .pin,.seat .ff,.arrows{display:none!important}}
