@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#202c38;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #639bff;outline-offset:3px}header{height:88px;padding:0 4.2%;background:#fff;border-bottom:1px solid #e1e6ec;display:flex;align-items:center;gap:30px}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:23px;letter-spacing:-1px;text-decoration:none;color:#243b55;display:flex;align-items:center;gap:12px}.logo{background:#244ed8;color:white;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:28px}.header-note{font-size:14px;color:#788290}header button{margin-left:auto}.secondary{background:#fff;border:1px solid #d9e0e8;border-radius:8px;padding:11px 17px;color:#364659;font-weight:600;font-size:14px}.secondary span{margin-left:14px}main{max-width:1510px;margin:auto;padding:43px 4.2% 32px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:#647185}h1{font-family:Manrope,sans-serif;font-size:32px;letter-spacing:-1.3px;margin:9px 0 8px;line-height:1.25}.page-heading p{margin:0;color:#6d7785;font-size:16px}.sample-badge{font-size:13px;color:#425b89;border:1px solid #d6e1f5;background:#edf2fc;border-radius:30px;padding:9px 14px;white-space:nowrap}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:25px;align-items:start}aside{background:#fff;border:1px solid #e0e5eb;border-radius:14px;padding:24px}h2{font-size:17px;margin:0;font-family:Manrope,sans-serif;font-weight:800}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:23px}.step{font-size:12px;font-weight:700;color:#667894;background:#eef2f7;border-radius:6px;padding:6px}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,textarea{width:100%;border:1px solid #d8dfe8;border-radius:7px;background:white;color:#344052;padding:11px 12px;font-size:14px}input{height:43px}textarea{height:214px;resize:vertical;line-height:1.85;min-height:100px}.label-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:21px}.label-row span{font-size:12px;color:#778396}.hint{font-size:12px;line-height:1.6;color:#768190;margin:8px 0 0}.layout-settings{margin-top:25px;border-top:1px solid #e8ecf0;padding-top:23px}.dimensions{display:flex;gap:12px;align-items:flex-end}.dimensions>div{flex:1}.dimensions>span{height:43px;display:flex;align-items:center;color:#a0a9b6}.primary{background:#2854de;border:0;border-radius:8px;color:white;width:100%;padding:14px 8px;font-size:14px;font-weight:700;margin-top:21px;box-shadow:0 3px 6px #244ed819}.primary:hover{background:#1943c8}.primary span{font-size:19px;margin-right:5px}.privacy-note{font-size:12px;line-height:1.6;color:#88909b;margin-top:19px}.error{color:#b02b36;font-size:14px;margin:10px 0 0}.error:empty{display:none}.chart-panel{background:white;border:1px solid #dfe5ec;border-radius:14px;overflow:hidden}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #e8edf2;gap:15px}.chart-toolbar .eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:7px}.chart-toolbar h2{font-size:20px;letter-spacing:-.5px;overflow-wrap:anywhere}.chart-stats{display:flex;align-items:center;gap:12px;font-size:12px;color:#748295;white-space:nowrap}.divider{height:14px;width:1px;background:#dce2ea}.room{padding:28px 27px 22px;background-color:#fafbfd;background-image:radial-gradient(#dfe5ec .8px,transparent .8px);background-size:14px 14px}.front{margin:0 auto 33px;width:52%;text-align:center}.front>span,.back-label{font-size:10px;letter-spacing:2px;font-weight:700;color:#8c97a5}.board{margin-top:10px;background:#344d53;border-bottom:4px solid #acc5c8;border-radius:5px 5px 2px 2px;color:#d5e6e6;font-size:10px;letter-spacing:2px;padding:10px}.seats{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:24px 13px}.seat{position:relative;min-width:0;border:1px solid #d7e2f6;border-bottom:3px solid #c2d1f0;background:#eff4ff;border-radius:9px;min-height:91px;padding:13px 5px 10px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;color:#34538b;transition:transform .15s,background .15s}.seat:hover{background:#e1eaff;transform:translateY(-2px)}.seat.selected{background:#dbe6ff;outline:3px solid #2854de;outline-offset:2px}.seat-number{position:absolute;left:7px;top:5px;font-size:9px;color:#8a9dbe}.initials{font-family:Manrope,sans-serif;font-size:17px;font-weight:800;letter-spacing:-.5px}.student-name{font-size:12px;text-align:center;line-height:1.25;overflow-wrap:anywhere;max-width:100%}.seat.vacant{background:#f8fafc;border:1px dashed #cad3df;color:#98a3b2}.back-label{text-align:center;margin-top:29px}.chart-footer{display:flex;justify-content:space-between;gap:16px;padding:18px 27px;font-size:12px;color:#8590a0;border-top:1px solid #e8edf2}.chart-footer>span:first-child{display:flex;align-items:center;gap:7px}.legend-square{height:10px;width:10px;border-radius:3px;background:#e3ecff;border:1px solid #c7d6f5}.status{padding:0 27px 17px;font-size:12px;color:#526b91}footer{max-width:1510px;margin:auto;padding:0 4.2% 24px;color:#96a0ad;font-size:10px;font-weight:700;letter-spacing:1.5px;display:flex;justify-content:space-between}footer span{font-size:12px;letter-spacing:0;font-weight:400}@media(min-width:1450px){.seat{min-height:106px}.student-name{font-size:14px}}@media(max-width:1050px){.workspace{grid-template-columns:270px minmax(0,1fr);gap:16px}aside{padding:20px}.chart-toolbar{padding:20px;align-items:start;flex-direction:column}.room{padding:25px 16px}.seats{gap:18px 8px}.seat{min-height:80px}.student-name{font-size:12px}.chart-footer{padding:16px;flex-direction:column;gap:8px}}@media(max-width:760px){header{height:72px}.header-note{display:none}main{padding-top:27px}.page-heading{align-items:start;flex-direction:column}h1{font-size:28px}.workspace{grid-template-columns:1fr}textarea{height:145px}.chart-toolbar{flex-direction:row}.room{overflow:auto}.seats{min-width:calc(var(--columns) * 68px)}.front{min-width:180px}.chart-footer{flex-direction:row}.sample-badge{font-size:12px}footer span{display:none}}@media print{@page{size:landscape;margin:12mm}body{background:white}header,.page-heading,aside,body>footer,.chart-footer,.status{display:none!important}main{padding:0;max-width:none}.workspace{display:block}.chart-panel{border:0}.chart-toolbar{padding:0 0 16px}.room{background:white;padding:10px 5px}.seats{gap:15px 10px;min-width:0}.seat{break-inside:avoid;min-height:70px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.seat.selected{outline:none}.board{print-color-adjust:exact;-webkit-print-color-adjust:exact}.student-name{font-size:14px}.chart-toolbar h2{font-size:23px}}
.room-dimensions{margin-top:22px}.workspace{grid-template-columns:340px minmax(0,1fr)}.placement-help{margin-top:-10px;margin-bottom:14px}.placements{max-height:260px;overflow:auto;border:1px solid #e0e5ec;border-radius:8px;padding:4px 12px}.placement-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf0f4}.placement-row:last-child{border:0}.placement-row label{margin:0;font-size:14px}.placement-row select{font:inherit;font-size:14px;border:1px solid #d8dfe8;border-radius:6px;background:white;color:#344052;padding:7px;max-width:145px}.placement-row select:focus-visible{outline:3px solid #639bff;outline-offset:2px}#pairs{height:94px;min-height:80px}.chart-panel{position:sticky;top:20px}.initials{font-size:24px}.student-name{font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}.empty-chart{grid-column:1/-1;text-align:center;padding:90px 20px;color:#68778a;font-size:16px;line-height:1.6}.hint,.privacy-note,.status{font-size:13px}.chart-footer{font-size:13px}.seat-number{font-size:10px}@media(max-width:1050px){.workspace{grid-template-columns:300px minmax(0,1fr)}}@media(max-width:760px){.workspace{grid-template-columns:1fr}.chart-panel{position:static}}@media print{.chart-panel{position:static}.empty-chart{padding:40px}.chart-stats{font-size:14px}}
.layout-choice{margin-top:20px}.layout-choice select{width:100%;font:inherit;font-size:14px;border:1px solid #d8dfe8;border-radius:7px;padding:11px;color:#344052;background:white}.board-note{font-size:12px;color:#65788e;margin:10px 0 0;letter-spacing:0}.front{margin-bottom:22px}.seats.positioned{position:relative;display:block;width:100%;min-width:0;aspect-ratio:var(--aspect)}.positioned .seat{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);min-height:0;padding:15px 3px 4px}.positioned .initials{font-size:clamp(14px,1.8vw,24px)}.positioned .student-name{font-size:11px}.facing-arrow{position:absolute;right:6px;top:3px;font-size:13px;color:#607db0}.sightline-note{font-size:12px;line-height:1.6;color:#778496;margin:0;padding:0 27px 20px}.positioned .seat-number{font-size:9px}.positioned .seat:hover{transform:none}@media(max-width:1050px) and (min-width:761px){.positioned .student-name{display:none}.positioned .initials{font-size:18px}.positioned .seat-number{font-size:8px}}@media(max-width:760px){.seats.positioned{min-width:calc(var(--room-width) * 62px)}.positioned .initials{font-size:21px}.room{overflow-x:auto}}@media print{.seats.positioned{min-width:0;max-width:900px;margin:auto;max-height:none}.sightline-note{display:none}.positioned .seat{min-height:0}.positioned .initials{font-size:20px}.positioned .student-name{font-size:12px}.room{overflow:visible}.front{margin-bottom:15px}}
#roster{height:155px}.student-picker{width:100%;font:inherit;font-size:14px;padding:10px;background:white;color:#344052;border:1px solid #d8dfe8;border-radius:7px}.second-student{margin-top:12px}.add-pair{width:100%;margin-top:12px}.pair-list{margin-top:12px}.separation-pair{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid #e0e5ec;padding:10px 0;font-size:14px;overflow-wrap:anywhere}.remove-pair{border:0;background:transparent;color:#355caa;padding:6px;font:inherit;font-size:12px}.placement-row label{overflow-wrap:anywhere;min-width:0}.placement-row select{flex-shrink:0}.room{overflow-x:auto}.seats.positioned{min-width:calc(var(--room-width) * 84px)}.seat-name{font-size:14px;font-weight:600;line-height:1.25;overflow-wrap:anywhere;width:100%;max-height:100%;overflow:auto}.positioned .seat{padding:20px 5px 7px}.student-picker:focus-visible,.remove-pair:focus-visible{outline:3px solid #639bff;outline-offset:2px}input:disabled{background:#f1f4f8;color:#718096}@media print{.seats.positioned{min-width:0;width:min(100%,calc(140mm * var(--room-width) / var(--room-height)))}.seat-name{font-size:11px;overflow:visible}.positioned .seat-number{display:none}.positioned .seat{padding:8px 3px 3px}.facing-arrow{font-size:9px;top:0}}
.group-picker{border:0;margin:0;padding:0;min-width:0}.group-picker legend{font-size:14px;font-weight:600;margin-bottom:3px}.group-members{max-height:220px;overflow:auto;border:1px solid #d8dfe8;border-radius:8px;margin-top:12px;padding:5px 10px}.group-member{display:flex;align-items:center;gap:10px;margin:0;padding:9px 0;cursor:pointer;font-weight:400;border-bottom:1px solid #edf0f4}.group-member:last-child{border-bottom:0}.group-member input{width:18px;height:18px;flex-shrink:0;padding:0;margin:0;accent-color:#2854de}.group-member span{overflow-wrap:anywhere;min-width:0}.separation-pair .remove-pair{flex-shrink:0}
.separation-pair{flex-wrap:wrap}.separation-pair>span{flex:1;min-width:0}.adjacent-row-option{display:flex;align-items:flex-start;gap:9px;flex-basis:100%;font-size:14px;font-weight:400;line-height:1.5;margin:0;cursor:pointer}.adjacent-row-option input{width:18px;height:18px;margin:2px 0 0;padding:0;flex-shrink:0;accent-color:#2854de}

.chart-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}#toggleControls{white-space:nowrap}body.controls-hidden .workspace{grid-template-columns:minmax(0,1fr)}body.controls-hidden main{max-width:none;padding:20px 2% 32px}body.controls-hidden .page-heading{display:none}body.controls-hidden .chart-panel{position:static}body.controls-hidden .seat-name{font-size:clamp(16px,1.5vw,30px)}@media(max-width:760px){.chart-toolbar{flex-wrap:wrap}.chart-actions{justify-content:flex-start}}@media print{#toggleControls{display:none!important}body.controls-hidden main{padding:0}body.controls-hidden .seat-name{font-size:11px}}

.seat{touch-action:none;user-select:none}.seat:not(.vacant){cursor:grab}.seat.dragging{opacity:.55;cursor:grabbing}.seat.drop-target{outline:3px solid #2854de;outline-offset:2px;background:#dbe6ff}@media print{.seat.dragging{opacity:1}.seat.drop-target{outline:none}}

.seat.drop-blocked,.seat.drop-blocked:hover{background:#fff0f0;border-color:#c33d46;border-style:dashed;color:#87212a}.seat.drop-blocked::after{content:"×";position:absolute;right:5px;top:0;font-size:20px;font-weight:700;line-height:1;color:#a51d2a}.seat.drop-blocked .facing-arrow{visibility:hidden}.seat.drop-blocked.drop-target{outline:3px solid #b42332;outline-offset:2px;background:#ffdce0;cursor:not-allowed}@media print{.seat.drop-blocked{background:#eff4ff;border-color:#d7e2f6;border-style:solid;color:#34538b}.seat.drop-blocked::after{display:none}.seat.drop-blocked .facing-arrow{visibility:visible}.seat.drop-blocked.drop-target{outline:none}}

.room-tools{padding:16px 24px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e0e5eb}.room-tools[hidden],.item-settings[hidden]{display:none}.room-tools label{margin:0}.room-tools select{padding:10px;border:1px solid #d8dfe8;border-radius:7px;font:inherit}.room-tools input{width:160px}.room-tools p{flex-basis:100%;margin:0}.item-settings{position:fixed;z-index:30;top:120px;right:24px;width:280px;padding:20px;background:#fff;border:1px solid #c9d5e5;border-radius:12px;box-shadow:0 8px 35px #243b5540;display:grid;gap:16px}.item-settings label{line-height:1.5}.item-settings input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.item-settings input[type=color]{width:60px;padding:4px;margin-right:10px}.item-settings [hidden]{display:none}.room-object{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border:2px solid #64748b;border-radius:5px;color:#182331;font:inherit;font-size:13px;font-weight:700;overflow-wrap:anywhere;touch-action:none;user-select:none;cursor:grab}.furniture-moving{z-index:5;opacity:.8}.furniture-invalid{outline:3px solid #c52b39;background:#ffe1e5!important}.seat.unusable{background:repeating-linear-gradient(135deg,#f0f1f3,#f0f1f3 8px,#e0e3e8 8px,#e0e3e8 16px);border:2px dashed #777;color:#555}.seat.unusable .facing-arrow{display:none}@media print{.room-tools,.item-settings,#editRoom{display:none!important}.room-object{print-color-adjust:exact;-webkit-print-color-adjust:exact}.seat.unusable{print-color-adjust:exact}}

.resize-handle{position:absolute;z-index:6;width:14px;height:14px;border:2px solid #2854de;border-radius:3px;background:#fff;touch-action:none}.resize-n{left:50%;top:0;transform:translate(-50%,-50%);cursor:ns-resize}.resize-s{left:50%;bottom:0;transform:translate(-50%,50%);cursor:ns-resize}.resize-e{right:0;top:50%;transform:translate(50%,-50%);cursor:ew-resize}.resize-w{left:0;top:50%;transform:translate(-50%,-50%);cursor:ew-resize}.resize-ne{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}.resize-se{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}.resize-sw{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}.resize-nw{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}@media(pointer:coarse){.resize-handle{width:20px;height:20px}}@media print{.resize-handle{display:none!important}}

.room-object .object-label{display:block;max-height:100%;overflow:hidden;pointer-events:none}

.layout-files{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid #e0e5eb}.layout-files label{margin:0}.layout-files input:not([type=file]){width:220px}.layout-files p{flex-basis:100%;margin:0}.layout-files [hidden]{display:none}#layoutFileStatus{font-size:13px;color:#425b89}#layoutFileStatus:empty{display:none}body.controls-hidden .layout-files{display:none}@media print{.layout-files{display:none!important}}

.lab-side-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}.lab-side-row label{margin:0;font-weight:400}.lab-side-row input[type=checkbox]{width:17px;height:17px;vertical-align:middle}.lab-side-row input[type=number]{width:64px}#labSides fieldset{border:1px solid #d8dfe8;border-radius:8px;margin:12px 0;padding:10px}#labSection[hidden]{display:none}.lab-table{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);background:#d8e8e1;border:0;color:#25443a;font-weight:700;font-size:18px;cursor:grab;touch-action:none;user-select:none}.lab-table.furniture-invalid{background:#ffdce0!important}.seat{z-index:1}@media print{.lab-table{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.seats.positioned.lab-layout{min-width:calc(var(--room-width) * 52px);width:min(100%,1000px);margin:auto}.lab-layout .seat-name,body.controls-hidden .lab-layout .seat-name{font-size:14px}.lab-layout .seat-number{font-size:9px}@media print{.seats.positioned.lab-layout{min-width:0;width:min(100%,calc(140mm * var(--room-width) / var(--room-height)))}.lab-layout .seat-name,body.controls-hidden .lab-layout .seat-name{font-size:10px}}

.room-dimensions[hidden]{display:none}

.workspace>aside,.workspace>.chart-panel{position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:scroll;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#8393a8 #e9eef5}.workspace>aside::-webkit-scrollbar,.workspace>.chart-panel::-webkit-scrollbar{width:14px;height:14px}.workspace>aside::-webkit-scrollbar-thumb,.workspace>.chart-panel::-webkit-scrollbar-thumb{background:#8393a8;border:3px solid #e9eef5;border-radius:8px}.workspace>aside::-webkit-scrollbar-track,.workspace>.chart-panel::-webkit-scrollbar-track{background:#e9eef5}.student-list-section{margin-top:22px;border-top:1px solid #e8ecf0;padding-top:20px}.student-list-section h2{margin-bottom:12px}.student-list{display:grid;gap:6px;margin-top:12px;max-height:300px;overflow:auto}.student-chip{text-align:left;background:#eff4ff;border:1px solid #c2d1f0;border-radius:6px;padding:9px;color:#34538b;touch-action:none;cursor:grab}.student-chip small{display:block;color:#60718a;margin-top:3px}.student-chip.selected{outline:2px solid #2854de}.table-mode{margin-top:14px;font-weight:400;line-height:1.5}.table-mode input{width:18px;height:18px;vertical-align:middle}.table-roster{max-width:65%;max-height:65%;overflow:auto;margin:auto;font-size:14px;line-height:1.6;text-align:left;white-space:pre-line;pointer-events:none}.lab-table.drop-target{background:#b7d8cc;filter:brightness(.95)}.lab-table.drop-blocked{background:#ffdce0}.seat.table-seat-hidden{visibility:hidden;pointer-events:none}@media(max-width:760px){.workspace>aside{position:relative;top:0;max-height:65dvh}.workspace>.chart-panel{position:relative;top:0;max-height:85dvh}}@media print{.workspace>aside{display:none!important}.workspace>.chart-panel{position:static!important;max-height:none;overflow:visible;scrollbar-gutter:auto}.student-list-section{display:none}.table-roster{font-size:11px;max-height:none;overflow:visible}}

.zoom-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.zoom-controls output{min-width:42px;text-align:center;font-size:13px}.zoom-controls button{padding:8px 10px}#roomView{width:100%;overflow:visible}@media print{.zoom-controls{display:none!important}#roomView{zoom:1!important;width:100%!important}}

.table-roster{pointer-events:auto;white-space:normal}.table-roster.two-columns{columns:2;column-gap:12px}.table-roster-name{break-inside:avoid;overflow-wrap:anywhere}

.file-section{border-top:1px solid #dce3ec;margin-top:20px;padding-top:15px}.file-section summary{font-weight:700;cursor:pointer;color:#34538b}.file-section label{margin-top:12px}.file-section textarea{height:85px;min-height:70px;line-height:1.5}.file-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.file-actions .primary{margin-top:0}.file-actions .secondary{padding:9px 12px}.metadata-row{display:flex;gap:10px}.metadata-row>div{flex:1;min-width:0}.file-status{font-size:13px;line-height:1.5;color:#34538b}.file-library{width:min(1250px,95vw);max-height:90dvh;border:1px solid #cbd5e1;border-radius:12px;padding:24px;color:#243b55}.file-library::backdrop{background:#14213688}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.library-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:18px}.library-filters label{flex:1;min-width:100px;max-width:260px;margin:0}.library-filters input{margin-top:6px}.library-grid{max-height:55dvh;overflow:auto;border:1px solid #dce3ec;border-radius:8px}.library-grid table{border-collapse:collapse;width:100%;font-size:13px}.library-grid th{position:sticky;top:0;background:#edf2fa;text-align:left;z-index:1}.library-grid th button{border:0;background:none;padding:12px;color:#34538b;font-weight:700;white-space:nowrap}.library-grid th[aria-sort=ascending] button::after{content:' ↑'}.library-grid th[aria-sort=descending] button::after{content:' ↓'}.library-grid td{padding:10px;border-top:1px solid #e0e5eb;max-width:220px;overflow-wrap:anywhere;white-space:pre-wrap}.library-grid tbody tr:hover{background:#f5f8fc}.library-grid td:last-child{white-space:nowrap}@media print{.file-library{display:none!important}}

:is(.rule-panel,.roster-panel)>summary{cursor:pointer;color:#34538b;padding:4px 0;line-height:1.8}:is(.rule-panel,.roster-panel)>summary h2{display:inline;font-size:16px}:is(.rule-panel,.roster-panel)>summary .step{margin-right:8px}:is(.rule-panel,.roster-panel)[open]>summary{margin-bottom:16px}:is(.rule-panel,.roster-panel)>summary:focus-visible{outline:3px solid #639bff;outline-offset:3px;border-radius:4px}

.roster-panel{margin:20px 0 24px}

/* Topic colors keep student work and classroom setup easy to distinguish. */
.topic-panel{--topic-accent:#2453a6;--topic-bg:#f0f5ff;border:1px solid #d8e1ec;border-left:5px solid var(--topic-accent);border-radius:10px;background:var(--topic-bg);padding:14px;margin:18px 0}
.roster-topic{--topic-accent:#2453a6;--topic-bg:#f0f5ff}
.classroom-topic{--topic-accent:#196b59;--topic-bg:#edf8f3}
.chart-topic{--topic-accent:#7542a3;--topic-bg:#f7f0fc}
.placement-topic{--topic-accent:#925b12;--topic-bg:#fff7e8}
.topic-panel>summary{cursor:pointer;font-size:17px;font-weight:800;color:var(--topic-accent);line-height:1.8}
.topic-panel>summary:focus-visible,.layout-library>summary:focus-visible{outline:3px solid #639bff;outline-offset:3px;border-radius:4px}
.topic-panel[open]>summary{margin-bottom:14px}
.topic-panel>h2{color:var(--topic-accent)}
.topic-panel .hint{color:#526171}
.chart-panel>.topic-panel{margin:16px 24px}
.classroom-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.classroom-fields>.layout-choice,.classroom-fields>.room-dimensions{margin:0}
.classroom-fields>#labSection,.classroom-fields>#capacity{grid-column:1/-1}
.layout-library{margin-top:18px;border-top:1px solid #bdd9cd;padding-top:12px}
.layout-library>summary{cursor:pointer;font-weight:700;color:#196b59}
.classroom-topic .layout-files,.classroom-topic .room-tools{padding:14px 0;border-bottom:0}
.classroom-topic .layout-files input:not([type=file]){max-width:100%}
.chart-topic .metadata-row{max-width:540px}
body.controls-hidden .chart-panel>.topic-panel{display:none}
@media(max-width:760px){.classroom-fields{grid-template-columns:minmax(0,1fr)}.chart-panel>.topic-panel{margin:12px}.topic-panel{padding:12px}}
@media print{.chart-panel>.topic-panel{display:none!important}}

#classroomPresentation{width:100%;min-width:0}
#exitFullScreen{display:none}
#classroomPresentation:fullscreen,#classroomPresentation.presentation-fallback{width:100vw;height:100dvh;overflow:auto;background:#fafbfd}
#classroomPresentation.presentation-fallback{position:fixed;inset:0;z-index:1000}
#classroomPresentation.presenting #exitFullScreen{display:block;position:fixed;right:20px;top:16px;z-index:10;box-shadow:0 2px 8px #20304430}
#classroomPresentation.presenting .room{position:absolute;top:64px;left:var(--presentation-left,16px);min-height:0;zoom:1!important;transform:scale(var(--presentation-scale,1));transform-origin:top left}
#classroomPresentation.presenting #seats{pointer-events:none}
#classroomPresentation.presenting .resize-handle{display:none}
@media print{#fullScreen,#exitFullScreen{display:none!important}#classroomPresentation.presentation-fallback{position:static;width:100%;height:auto;overflow:visible}}

#classroomPresentation:fullscreen,#classroomPresentation.presentation-fallback{overflow:hidden}

.board-visibility{display:flex;align-items:center;gap:9px;margin:0 0 16px}.board-visibility input{width:18px;height:18px;margin:0;accent-color:#196b59}#smartBoard[hidden]{display:none}

#roomView>#chartTitle{text-align:center;font-size:24px;line-height:1.3;overflow-wrap:anywhere;margin:0 0 22px;color:#243b55}@media print{#roomView>#chartTitle{font-size:23px}}

.room-tools>.object-tools{flex-basis:100%;display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid #bdd9cd;padding-top:14px;margin-top:4px;min-width:0}
