.seating-card{max-width:1180px;margin:0 auto;padding:28px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.seating-card[hidden]{display:none}
.seating-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.seating-toolbar h2{margin:0;color:#173868;font-size:1.8rem}.seating-toolbar>div:last-child{display:flex;gap:8px}
.seating-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.seating-setup{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #dbe3ef;border-radius:16px;background:#f8fbff}
.seating-setup>label,.seating-dimensions label{display:flex;flex-direction:column;gap:7px;color:#344054;font-size:.82rem;font-weight:800}
.seating-setup input,.seating-setup textarea,.seating-setup select{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#17233b;padding:10px 11px;font:600 .9rem/1.45 Inter,"Noto Sans Myanmar",sans-serif}
.seating-setup input,.seating-setup select{min-height:42px}.seating-setup textarea{min-height:190px;resize:vertical}
.seating-setup input:focus,.seating-setup textarea:focus,.seating-setup select:focus{outline:0;border-color:#258bd5;box-shadow:0 0 0 3px rgba(37,139,213,.12)}
.seating-setup label small{color:#7b8797;font-size:.72rem;font-weight:500}.seating-dimensions,.seating-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seating-help{margin:0;color:#667085;font-size:.76rem;line-height:1.5}
.seating-storage{padding:12px;border:1px solid #cfe0ee;border-radius:12px;background:#fff}.seating-storage>span{display:block;margin-bottom:7px;color:#344054;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.seating-storage>div{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:9px;background:#eaf0f6}.seating-storage>div button{min-height:35px;border:0;border-radius:7px;background:transparent;color:#667085;font:800 .72rem Inter,sans-serif;cursor:pointer}.seating-storage>div button.active{background:#fff;color:#173868;box-shadow:0 2px 7px rgba(18,33,63,.12)}.seating-storage>.button{width:100%;margin-top:9px}.seating-storage small{display:block;margin-top:8px;color:#667085;font-size:.7rem;line-height:1.35}.seating-storage small.synced{color:#087344}
.seating-board-wrap{min-height:600px;padding:24px;overflow:auto;border:1px solid #dbe3ef;border-radius:18px;background:linear-gradient(145deg,#edf4fb,#f8fbff)}
.seating-board{display:flex;flex-direction:column;min-width:560px;min-height:540px}.seating-context-toolbar{order:0;display:flex;justify-content:center;box-sizing:border-box;width:100%;margin:0 auto 14px;padding:44px 0 0 72px}.seating-context-toolbar>div{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;padding:7px;border:1px solid #d8e3ef;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 5px 14px rgba(18,33,63,.08)}.seating-context-toolbar .button{min-height:34px;padding:7px 11px;font-size:.7rem}.seating-context-edit{transform:translateX(38px)}.seating-context-edit[hidden],.seating-context-room[hidden]{display:none!important}
.seating-board h3{order:1;margin:0 0 20px;text-align:center;color:#173868;font-size:1.45rem}.seating-grid{order:2;display:grid;gap:13px;align-content:start}
.seating-board.flipped h3{order:0;margin-bottom:18px}.seating-board.flipped .seating-grid{order:2}
.student-seat{position:relative;display:flex;align-items:center;justify-content:center;min-width:88px;min-height:72px;padding:11px 28px 11px 10px;border:2px solid #c8d6e6;border-radius:12px;background:#fff;color:#173868;text-align:center;font:800 .86rem/1.3 Inter,"Noto Sans Myanmar",sans-serif;box-shadow:0 4px 9px rgba(18,33,63,.07);cursor:grab;overflow-wrap:anywhere;transition:.15s transform,.15s border-color,.15s box-shadow}
.student-seat:hover{transform:translateY(-2px);border-color:#6da8d0;box-shadow:0 7px 14px rgba(18,33,63,.12)}.student-seat.dragging{opacity:.45}.student-seat.drag-over{border-color:#2563eb;background:#eaf4ff}.student-seat.empty{color:#9aa6b5;font-weight:600;cursor:default;background:rgba(255,255,255,.55);border-style:dashed}
.seat-lock{position:absolute;top:5px;right:5px;width:25px;height:25px;padding:0;border:0;border-radius:7px;background:#eef3f8;color:#7b8797;font-size:.72rem;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.88);transition:opacity .14s ease,transform .14s ease}.seating-board.locks-visible .seat-lock{opacity:1;pointer-events:auto;transform:scale(1)}.student-seat:focus{outline:none}.student-seat.locked{border-color:#e6a700;background:#fff9df}.student-seat.locked .seat-lock{background:#f9ca3c;color:#614700}.seating-board.editing .seat-lock{display:none!important}
.seating-card:fullscreen{max-width:none;width:100%;height:100%;padding:22px;border:0;border-radius:0;overflow:auto;background:#edf3f9}.seating-card:fullscreen .seating-layout{grid-template-columns:280px minmax(0,1fr)}.seating-card:fullscreen .seating-board-wrap{min-height:calc(100vh - 125px)}
.class-manager{display:grid;gap:8px}.class-manager>label{display:flex;flex-direction:column;gap:7px;color:#344054;font-size:.82rem;font-weight:800}.class-manager>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.class-manager .danger{border-color:#fecaca;background:#fff;color:#b42318}
.class-manager>div:first-of-type .danger{grid-column:1/-1}.class-manager .reuse-layout{display:grid;grid-template-columns:1fr;gap:8px;margin-top:4px;padding:11px;border:1px solid #cfe0ee;border-radius:11px;background:#f2f8fd}.reuse-layout label{display:flex;flex-direction:column;gap:6px;color:#344054;font-size:.76rem;font-weight:800}.reuse-layout small{color:#667085;font-size:.68rem;line-height:1.4}.reuse-layout .button:disabled{opacity:.5;cursor:not-allowed}
.seating-rules,.seating-groups{border:1px solid #d5e0ed;border-radius:12px;background:#fff;overflow:hidden}.seating-rules summary,.seating-groups summary{padding:12px 14px;color:#173868;font-size:.82rem;font-weight:900;cursor:pointer;background:#f1f6fb}.seating-rules[open] summary,.seating-groups[open] summary{border-bottom:1px solid #d5e0ed}.seating-rules>label,.seating-groups>label{display:flex;flex-direction:column;gap:6px;margin:12px;color:#344054;font-size:.78rem;font-weight:800}.seating-rules textarea{min-height:64px}.seating-rules .rule-check{flex-direction:row;align-items:center}.seating-rules .rule-check input{width:18px;min-height:auto}.seating-groups>.button{width:calc(100% - 24px);margin:0 12px 12px}.seating-groups select{min-height:40px}
#seatingGroupResults{display:grid;gap:8px;padding:0 12px 12px}#seatingGroupResults section{padding:10px;border-radius:10px;background:#eaf4ff;border-left:4px solid #258bd5}#seatingGroupResults strong{color:#173868;font-size:.78rem}#seatingGroupResults p{margin:5px 0 0;color:#526075;font-size:.75rem;line-height:1.55}
.layout-editor{border:1px solid #b9d5ee;border-radius:12px;background:#fff;overflow:hidden}.layout-editor summary{padding:12px 14px;background:#eaf4ff;color:#173868;font-size:.82rem;font-weight:900;cursor:pointer}.layout-editor>div{display:grid;gap:7px;margin:10px 12px}.layout-mode-actions,.desk-history{grid-template-columns:1fr 1fr}.desk-edit-actions{grid-template-columns:1fr 1fr}.layout-editor>.rule-check{display:flex;align-items:center;gap:8px;margin:12px;color:#344054;font-size:.76rem;font-weight:800}.layout-editor>.rule-check input{width:18px;min-height:auto}.layout-editor>small{display:block;margin:10px 12px 13px;color:#667085;font-size:.7rem;line-height:1.45}
.layout-editor .layout-mode-actions{grid-template-columns:1fr}
.seating-board.custom-layout .seating-grid{position:relative;display:block;min-height:480px;border-radius:14px;background-size:8px 8px;background-image:linear-gradient(to right,rgba(37,99,235,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(37,99,235,.055) 1px,transparent 1px)}.custom-desk{position:absolute;margin:0;min-width:60px;min-height:45px;touch-action:none;user-select:none;transform-origin:center;transition:border-color .12s,box-shadow .12s}.seating-board.editing .custom-desk{cursor:move}.custom-desk.selected{z-index:3;border-color:#2563eb!important;box-shadow:0 0 0 4px rgba(37,99,235,.18),0 8px 18px rgba(18,33,63,.15)}.desk-resize{display:none;position:absolute;right:-7px;bottom:-7px;width:18px;height:18px;border:2px solid #fff;border-radius:5px;background:#2563eb;cursor:nwse-resize;transform:rotate(0deg)}.seating-board.editing .custom-desk.selected .desk-resize{display:block}
.custom-desk.collision-blocked{border-color:#ef4444!important;background:#fff1f2!important;box-shadow:0 0 0 5px rgba(239,68,68,.2),0 8px 18px rgba(127,29,29,.16)!important;animation:desk-collision-pulse .26s ease}@keyframes desk-collision-pulse{50%{filter:saturate(1.35);outline:3px solid rgba(239,68,68,.3)}}
.custom-desk.alignment-target{z-index:4;border-color:#0ea5c6!important;box-shadow:0 0 0 5px rgba(14,165,198,.2),0 8px 18px rgba(18,33,63,.12)!important}.alignment-label{position:absolute;z-index:31;min-width:108px;padding:5px 8px;border-radius:7px;background:#0b7894;color:#fff;font:800 .62rem Inter,sans-serif;pointer-events:none;box-shadow:0 5px 12px rgba(11,120,148,.22)}
.desk-selection-frame{position:absolute;z-index:29;border:2px solid #2563eb;border-radius:5px;pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.9)}.desk-edge-handle{position:absolute;width:14px;height:14px;padding:0;border:2px solid #fff;border-radius:4px;background:#2563eb;pointer-events:auto;box-shadow:0 2px 6px rgba(18,33,63,.3)}.handle-nw{left:-8px;top:-8px;cursor:nwse-resize}.handle-n{left:50%;top:-8px;transform:translateX(-50%);cursor:ns-resize}.handle-ne{right:-8px;top:-8px;cursor:nesw-resize}.handle-e{right:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}.handle-se{right:-8px;bottom:-8px;cursor:nwse-resize}.handle-s{left:50%;bottom:-8px;transform:translateX(-50%);cursor:ns-resize}.handle-sw{left:-8px;bottom:-8px;cursor:nesw-resize}.handle-w{left:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.desk-selection-box{position:absolute;z-index:20;border:2px solid #2563eb;border-radius:6px;background:rgba(37,99,235,.13);pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.65) inset}.seating-board.editing .seating-grid{cursor:crosshair}.seating-board.editing .custom-desk{cursor:grab}.seating-board.editing .custom-desk:active{cursor:grabbing}
.room-stage{position:relative;margin:0 auto}.seating-board:not(.custom-layout) .room-stage{display:contents}.seating-board.custom-layout .room-stage{flex:0 0 auto}.room-resize-handle{display:none;position:absolute;right:-10px;bottom:-10px;z-index:30;width:24px;height:24px;padding:0;border:3px solid #fff;border-radius:7px;background:#0ea5c6;box-shadow:0 3px 10px rgba(18,33,63,.25);cursor:nwse-resize}.seating-board.custom-layout.editing .room-resize-handle{display:block}.smart-guide{position:absolute;z-index:25;display:block;pointer-events:none;background:#f43f5e;box-shadow:0 0 0 1px rgba(255,255,255,.7)}.smart-guide.vertical{top:0;bottom:0;width:1px}.smart-guide.horizontal{left:0;right:0;height:1px}
.room-settings{padding:10px;border:1px solid #d5e0ed;border-radius:10px;background:#f8fbff}.room-settings>label,.room-settings>div label{display:flex;flex-direction:column;gap:5px;color:#344054;font-size:.72rem;font-weight:800}.room-settings>div{display:grid!important;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 0!important}.room-settings input,.room-settings select{min-height:38px!important;padding:7px 8px!important}.shortcuts-button{width:calc(100% - 24px);margin:0 12px 5px}.shortcut-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:0;border-radius:20px;box-shadow:0 24px 80px rgba(18,33,63,.3)}.shortcut-dialog::backdrop{background:rgba(10,20,40,.52);backdrop-filter:blur(3px)}.shortcut-dialog form{position:relative;padding:25px}.shortcut-dialog h2{margin:0 0 18px;color:#173868}.shortcut-close{position:absolute;right:15px;top:13px;width:34px;height:34px;border:0;border-radius:50%;background:#eef3f8;color:#526075;font-size:1.35rem;cursor:pointer}.shortcut-dialog form>.button{width:100%;margin-top:18px}.shortcut-dialog #deskShortcutList{display:grid;gap:1px;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden}.shortcut-dialog #deskShortcutList>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 12px;background:#f8fbff;color:#344054;font-size:.8rem}.shortcut-dialog kbd,.shortcut-tooltip kbd{padding:4px 7px;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:6px;background:#fff;color:#173868;font:800 .7rem Inter,sans-serif;white-space:nowrap}.shortcut-tooltip{position:fixed;z-index:9999;width:max-content;max-width:230px;padding:9px 10px;border-radius:9px;background:#12213f;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.28);font-size:.72rem;pointer-events:none}.shortcut-tooltip strong{font-weight:700}.shortcut-tooltip kbd{margin-left:8px}
@media(max-width:850px){.seating-layout{grid-template-columns:1fr}.seating-setup{max-width:620px;width:100%;margin:auto}.seating-board-wrap{min-height:500px}}
@media(max-width:620px){.seating-card{padding:18px 10px;border-radius:16px}.seating-toolbar{align-items:flex-start;flex-direction:column}.seating-toolbar>div:last-child{width:100%;flex-wrap:wrap}.seating-toolbar>div:last-child .button{flex:1}.seating-board-wrap{padding:13px}.seating-actions{grid-template-columns:1fr}.seating-board{min-width:500px}.student-seat{min-height:64px}}
@media print{
  /* Page orientation and margins are chosen in the browser Print dialog. */
  body.print-seating{background:#fff!important}
  body.print-seating::before,body.print-seating::after,
  body.print-seating .topbar,
  body.print-seating .creator-credit,
  body.print-seating .calculator-heading,
  body.print-seating .calculator-mode-switch,
  body.print-seating .classroom-account-bar,
  body.print-seating .calculator-frame-card,
  body.print-seating .converter-card,
  body.print-seating .wheel-card,
  body.print-seating .privacy,
  body.print-seating .seating-toolbar,
  body.print-seating .seating-setup,
  body.print-seating .seating-canvas-toolbar,
  body.print-seating .seating-context-toolbar,
  body.print-seating .room-resize-handle,
  body.print-seating .desk-resize,
  body.print-seating .smart-guide,
  body.print-seating .desk-selection-box,
  body.print-seating .desk-selection-frame,
  body.print-seating .alignment-label,
  body.print-seating .seat-lock{display:none!important}
  body.print-seating .calculator-view,
  body.print-seating .seating-card{display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important}
  body.print-seating .seating-layout{display:block!important;background:#fff!important}
  body.print-seating .seating-board-wrap{display:flex!important;justify-content:center!important;align-items:flex-start!important;min-height:0!important;height:auto!important;padding:0!important;border:0!important;background:#fff!important;background-image:none!important;overflow:visible!important}
  body.print-seating .seating-board{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;width:max-content!important;zoom:1!important;transform:none!important}
  body.print-seating .seating-board h3{display:block!important;order:0!important;margin:0 0 14px!important;text-align:center!important;color:#111!important;font-size:18pt!important}
  body.print-seating .room-stage{order:1!important;margin:0 auto!important}
  body.print-seating .seating-grid{box-shadow:none!important}
  body.print-seating .student-seat{break-inside:avoid;box-shadow:none!important}
  body.print-seating .custom-desk.selected{border-color:#c8d6e6!important;box-shadow:none!important}
}

/* Fixed classroom workspace */
body.seating-workspace-active{overflow-x:hidden;overflow-y:auto}
body.seating-workspace-active .calculator-heading{display:none}
body.seating-workspace-active .calculator-view{max-width:none;width:100%;padding:14px 18px 0}
body.seating-workspace-active .calculator-mode-switch{margin:0 auto 10px}
body.seating-workspace-active .privacy{display:none}
.seating-card{max-width:none;height:calc(100vh - 190px);min-height:610px;margin:0;padding:0;overflow:hidden;border-radius:18px;display:flex;flex-direction:column}
.seating-toolbar{flex:0 0 auto;min-height:68px;margin:0;padding:10px 14px;border-bottom:1px solid #dbe3ef;background:#fff}
.seating-toolbar>div:first-child{display:flex;align-items:center;gap:10px}.seating-toolbar .eyebrow{margin:0 0 2px;font-size:.62rem}.seating-toolbar h2{font-size:1.18rem}
.seating-view-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap!important}.seating-view-tools .button{min-height:36px;padding:8px 11px;font-size:.72rem;white-space:nowrap}
.seating-zoom{display:flex;align-items:center;height:36px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;overflow:hidden}.seating-zoom button{width:34px;height:100%;border:0;background:transparent;color:#173868;font-size:1rem;font-weight:900;cursor:pointer}.seating-zoom button:hover{background:#e8f1fa}.seating-zoom span{min-width:48px;color:#526075;text-align:center;font-size:.68rem;font-weight:800}
.seating-mobile-panel{display:none;min-height:36px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#173868;font-weight:900;cursor:pointer}
.seating-layout{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr) 280px;gap:0;align-items:stretch;background:#e8eef5}
.seating-class-panel,.seating-inspector{height:100%;min-height:0;padding:14px;overflow-y:auto;border:0;border-radius:0;background:#fff;scrollbar-width:thin}.seating-class-panel{border-right:1px solid #dbe3ef}.seating-inspector{border-left:1px solid #dbe3ef}
.panel-heading{position:sticky;top:-14px;z-index:4;display:flex;align-items:center;justify-content:space-between;margin:-14px -14px 12px;padding:14px;background:#fff;border-bottom:1px solid #e7edf5}.panel-heading strong{color:#173868;font-size:.9rem}.panel-heading button{display:none;width:30px;height:30px;border:0;border-radius:8px;background:#eef3f8;color:#526075;font-size:1.1rem;cursor:pointer}
.seating-storage{padding:9px}.seating-storage>span{font-size:.64rem}.seating-storage small{font-size:.64rem}.seating-setup{gap:10px}.seating-setup>label,.seating-dimensions label{font-size:.72rem}.seating-setup input,.seating-setup textarea,.seating-setup select{padding:8px 9px;font-size:.78rem}.seating-setup textarea{min-height:135px}
.select-class-fallback{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.seating-class-list{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}.seating-class-list button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#526075;text-align:left;font:800 .78rem Inter,sans-serif;cursor:pointer}.seating-class-list button::after{content:'›';opacity:0}.seating-class-list button:hover{background:#f1f6fb}.seating-class-list button.active{border-color:#b9d5ee;background:#eaf4ff;color:#173868}.seating-class-list button.active::after{opacity:1}
.class-manager>div{gap:6px}.class-manager>div:not(.seating-class-list) .button{min-height:34px;padding:7px 8px;font-size:.68rem}.class-manager .reuse-layout{padding:9px}.roster-field span{float:right;color:#258bd5;font-size:.64rem;font-weight:800}
.seating-board-wrap{position:relative;min-width:0;min-height:0;height:100%;padding:18px;overflow:hidden;border:0;border-radius:0;background-color:#e8eef5;background-image:radial-gradient(circle at 1px 1px,rgba(23,56,104,.1) 1px,transparent 0);background-size:8px 8px;display:grid;place-items:center}
.seating-board{min-width:0;min-height:0;width:max-content;max-width:none;transform-origin:center center}.seating-board h3{margin-bottom:12px;font-size:1.1rem}.seating-context-toolbar{margin-bottom:10px}.seating-context-toolbar>div{gap:5px;padding:5px}.seating-context-toolbar .button{min-height:32px;padding:6px 9px;font-size:.67rem}
.seating-board.custom-layout{width:max-content}.seating-board.custom-layout .room-stage{margin:0}.seating-board.custom-layout .seating-grid{box-shadow:0 16px 40px rgba(18,33,63,.14);background-color:#fff}
.inspector-context{display:grid;gap:3px;padding:11px;border:1px solid #cfe0ee;border-radius:11px;background:#f2f8fd}.inspector-context span{color:#258bd5;font-size:.6rem;font-weight:900;letter-spacing:.12em}.inspector-context strong{color:#173868;font-size:.92rem}.inspector-context small{color:#667085;font-size:.66rem;line-height:1.4}
.seating-inspector details{flex:0 0 auto}.seating-inspector .layout-editor>div{margin:8px 9px}.seating-inspector .layout-editor>.rule-check{margin:9px}.seating-inspector .layout-editor>small{margin:8px 9px 10px}.seating-inspector .button{min-height:34px;padding:7px 8px;font-size:.68rem}
.seating-canvas-toolbar{position:absolute;z-index:5;left:10px;right:10px;top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.seating-canvas-toolbar>*{pointer-events:auto}.seating-canvas-toolbar>div{display:flex;gap:5px}.seating-canvas-toolbar .button{min-height:34px;padding:7px 10px;font-size:.7rem}.seating-canvas-toolbar>span{padding:7px 10px;border:1px solid #d4dfeb;border-radius:9px;background:rgba(255,255,255,.92);color:#667085;font-size:.68rem;font-weight:800;box-shadow:0 4px 12px rgba(18,33,63,.08)}
.seating-card.view-only .seating-layout{grid-template-columns:minmax(0,1fr)}.seating-card.view-only .seating-class-panel,.seating-card.view-only .seating-inspector{display:none}.seating-card.view-only #toggleSeatingPanels{background:#173868;color:#fff}
.seating-card:fullscreen{height:100vh;min-height:0;padding:0;overflow:hidden}.seating-card:fullscreen .seating-layout{grid-template-columns:240px minmax(0,1fr) 280px}.seating-card:fullscreen.view-only .seating-layout{grid-template-columns:minmax(0,1fr)}.seating-card:fullscreen .seating-board-wrap{min-height:0}
@media(max-width:1050px){.seating-layout{grid-template-columns:220px minmax(0,1fr)}.seating-inspector{position:absolute;z-index:20;right:0;top:0;width:290px;transform:translateX(102%);box-shadow:-16px 0 35px rgba(18,33,63,.18);transition:transform .2s}.seating-card.inspector-open .seating-inspector{transform:translateX(0)}.seating-mobile-panel#toggleInspectorPanel,.seating-inspector .panel-heading button{display:block}.seating-card:fullscreen .seating-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){body.seating-workspace-active .calculator-view{padding:6px 0 0}.seating-card{height:calc(100vh - 135px);min-height:520px;border-radius:0}.seating-toolbar{min-height:62px;padding:8px}.seating-toolbar .eyebrow{display:none}.seating-toolbar h2{font-size:1rem}.seating-view-tools .button:not(#fitSeatingRoom):not(#toggleSeatingPanels),.seating-zoom{display:none}.seating-mobile-panel{display:block}.seating-layout,.seating-card:fullscreen .seating-layout{grid-template-columns:minmax(0,1fr)}.seating-class-panel{position:absolute;z-index:22;left:0;top:0;width:min(300px,88vw);transform:translateX(-102%);box-shadow:16px 0 35px rgba(18,33,63,.18);transition:transform .2s}.seating-card.classes-open .seating-class-panel{transform:translateX(0)}.seating-class-panel .panel-heading button{display:block}.seating-canvas-toolbar{left:10px;top:8px}.seating-canvas-toolbar>span{display:none}.seating-board-wrap{padding:12px}.creator-credit{display:none!important}}
.custom-desk{padding:7px 9px;overflow:hidden;container-type:size}.custom-desk>span{display:block;width:100%;max-width:100%;max-height:100%;overflow:hidden;text-align:center;overflow-wrap:normal;word-break:normal;white-space:normal;line-height:1.12;font-size:clamp(.58rem,min(18cqw,18cqh),.86rem)}

/* Context toolbar replaces the old Front of Room marker. */
@media(max-width:760px){.seating-context-toolbar{justify-content:flex-start;padding:44px 0 0}.seating-context-toolbar>div{justify-content:flex-start;max-width:100%}.seating-context-toolbar .button{flex:0 0 auto}.seating-context-edit{transform:none}}


/* Google Classroom roster sync */
.google-classroom-sync{margin:2px 0 0;border:1px solid #cfe0ee;border-radius:12px;background:#f7fbff;overflow:hidden}
.google-classroom-sync>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;cursor:pointer;list-style:none;color:#173868;font-size:.76rem;font-weight:900}
.google-classroom-sync>summary::-webkit-details-marker{display:none}.google-classroom-sync>summary::before{content:'▸';color:#258bd5;font-size:.72rem;transition:transform .15s}.google-classroom-sync[open]>summary::before{transform:rotate(90deg)}
.google-classroom-sync>summary span{flex:1}.google-classroom-sync>summary b{padding:3px 7px;border-radius:999px;background:#e9eef5;color:#667085;font-size:.58rem;letter-spacing:.02em}.google-classroom-sync>summary b.linked{background:#dcfce7;color:#087344}
.google-classroom-sync-body{display:grid;gap:8px;padding:0 10px 10px;border-top:1px solid #e3edf6}.google-classroom-sync-body>p{margin:9px 0 0;color:#667085;font-size:.67rem;line-height:1.42}
.google-classroom-sync-body>.button{width:100%;min-height:35px;padding:8px 9px;font-size:.68rem}.google-classroom-connect{border-color:#cfe0ee!important;background:#fff!important;color:#173868!important}.google-classroom-connect::before{content:'G';display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#fff;border:1px solid #d0d5dd;color:#4285f4;font-weight:1000}
.google-classroom-course-tools{display:flex;justify-content:flex-end;gap:5px}.google-classroom-course-tools button{border:0;background:transparent;color:#258bd5;font:800 .62rem Inter,sans-serif;cursor:pointer;padding:3px 5px}
.google-classroom-course-list{display:grid;gap:5px;max-height:220px;overflow:auto;padding:2px;scrollbar-width:thin}.google-classroom-course{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px;border:1px solid #d9e5f0;border-radius:9px;background:#fff;cursor:pointer}.google-classroom-course:hover{border-color:#9fc8e8;background:#f6fbff}.google-classroom-course input{width:16px;height:16px;margin:0;accent-color:#258bd5}.google-classroom-course span{min-width:0;display:grid;gap:2px}.google-classroom-course strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173868;font-size:.68rem}.google-classroom-course small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667085;font-size:.58rem}.google-classroom-course em{padding:2px 5px;border-radius:999px;background:#eef5fb;color:#526075;font:800 .54rem Inter,sans-serif;font-style:normal}.google-classroom-course em.linked{background:#dcfce7;color:#087344}
#googleClassroomStatus{display:block;color:#526075;font-size:.62rem;line-height:1.35}.google-classroom-privacy{display:block!important;margin-top:-2px!important;color:#7a8699!important;font-size:.58rem!important;line-height:1.35!important}.google-classroom-error{color:#b42318!important}.google-classroom-success{color:#087344!important}
.seating-class-list button .classroom-linked-badge{margin-left:auto;margin-right:4px;padding:2px 5px;border-radius:999px;background:#dcfce7;color:#087344;font-size:.5rem;font-weight:900;line-height:1.3}.seating-class-list button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.google-classroom-privacy a{color:#258bd5;font-weight:900;text-decoration:none}.google-classroom-privacy a:hover{text-decoration:underline}

/* Google Classroom roster sync dialog — kept outside the scrollable seating sidebars so the launcher is always reliable. */
.google-classroom-side-launch{width:100%;min-height:38px;background:linear-gradient(135deg,#1a73e8,#34a853)!important;color:#fff!important;border-color:transparent!important;font-weight:900!important}
.google-classroom-dialog{width:min(560px,calc(100vw - 28px));max-height:min(78vh,720px);padding:0;border:1px solid #cfe0ee;border-radius:18px;background:#f7fbff;color:#173868;box-shadow:0 24px 70px rgba(16,35,60,.28);overflow:hidden}
.google-classroom-dialog::backdrop{background:rgba(7,18,34,.62);backdrop-filter:blur(4px)}
.google-classroom-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #dbe7f1;background:#fff}
.google-classroom-dialog-head .eyebrow{margin:0 0 3px;color:#258bd5;font-size:.64rem;letter-spacing:.12em;font-weight:900}.google-classroom-dialog-head h2{margin:0;color:#173868;font-size:1.2rem}
.google-classroom-dialog-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cfd9e5;border-radius:10px;background:#fff;color:#173868;font-size:1.35rem;font-weight:800;cursor:pointer}
.google-classroom-dialog .google-classroom-sync-body{max-height:calc(min(78vh,720px) - 72px);overflow:auto;padding:14px 18px 18px;border-top:0}.google-classroom-dialog .google-classroom-sync-body>p{margin:0}
.google-classroom-link-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #dbe7f1;border-radius:10px;background:#fff;color:#526075;font-size:.7rem;font-weight:800}.google-classroom-link-line b{padding:4px 8px;border-radius:999px;background:#e9eef5;color:#667085;font-size:.62rem}.google-classroom-link-line b.linked{background:#dcfce7;color:#087344}
body.theme-rgb .google-classroom-dialog{background:#0d1a2d;color:#e7f0fb;border-color:#355573}body.theme-rgb .google-classroom-dialog-head{background:#101f35;border-color:#304b6c}body.theme-rgb .google-classroom-dialog-head h2{color:#fff}body.theme-rgb .google-classroom-dialog-head .eyebrow{color:#5ee6ff}body.theme-rgb .google-classroom-dialog-close{background:#142640;color:#e7f0fb;border-color:#3a5a79}body.theme-rgb .google-classroom-dialog .google-classroom-sync-body>p,body.theme-rgb .google-classroom-dialog #googleClassroomStatus,body.theme-rgb .google-classroom-dialog .google-classroom-privacy{color:#a9bbcf!important}body.theme-rgb .google-classroom-link-line{background:#13243b;color:#c7d6e9;border-color:#355573}body.theme-rgb .google-classroom-connect{background:#13243b!important;color:#eef6ff!important;border-color:#355573!important}body.theme-rgb .google-classroom-course{background:#13243b;border-color:#355573}body.theme-rgb .google-classroom-course strong{color:#eef6ff}body.theme-rgb .google-classroom-course small{color:#a9bbcf}
@media(max-width:760px){.google-classroom-dialog{width:calc(100vw - 20px);max-height:82vh}.google-classroom-dialog .google-classroom-sync-body{max-height:calc(82vh - 72px)}}


/* Quiz seating: desks that are intentionally unavailable. */
.custom-desk.disabled-desk{border-color:#98a2b3!important;border-style:dashed!important;background:repeating-linear-gradient(135deg,#eef1f4 0,#eef1f4 9px,#dde2e8 9px,#dde2e8 18px)!important;color:#667085!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)!important;cursor:not-allowed}
.custom-desk.disabled-desk:hover{border-color:#7b8797!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)!important}
.seating-board.editing .custom-desk.disabled-desk{cursor:move}
.custom-desk.disabled-desk>span{font-size:clamp(.55rem,min(16cqw,16cqh),.78rem);text-transform:uppercase;letter-spacing:.035em;color:#667085}
.desk-disabled-mark{position:absolute;right:6px;top:2px;color:#98a2b3;font:1000 1rem/1 Inter,sans-serif;pointer-events:none}
.desk-disable-toggle:not(:disabled){border-color:#f4b4b4!important;color:#b42318!important;background:#fff5f5!important}.desk-disable-toggle.active-disabled{border-color:#a7d7b2!important;color:#087344!important;background:#ecfdf3!important}
body.print-seating .custom-desk.disabled-desk{background:#eceff3!important;border-color:#98a2b3!important;color:#667085!important}
