:root{color-scheme:light;--bg: #f4efe7;--panel: #fffaf3;--panel-strong: #f7e9d2;--line: #dccdb8;--text: #24303d;--muted: #6d7680;--accent: #be5b2d;--accent-strong: #8f3f17;--accent-soft: #f4d8c8;--success: #2f7d48;--shadow: 0 18px 45px rgba(44, 35, 25, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:radial-gradient(circle at top left,rgba(190,91,45,.12),transparent 30%),linear-gradient(180deg,#f7f2ea 0%,var(--bg) 100%);color:var(--text)}button,input,select,textarea,img{font:inherit}#root{min-height:100vh}.screen-shell{min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,p{margin:0}button{border:0;border-radius:12px;padding:8px 12px;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease;background:var(--accent);color:#fff;font-weight:700;font-size:.94rem}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.65;transform:none}.primary-button,button.primary-button{background:var(--accent);color:#fff}.secondary,button.secondary{background:var(--panel-strong);color:var(--text)}.ghost,.ghost-button,button.ghost,button.ghost-button{background:transparent;color:var(--muted);border:1px dashed var(--line)}.loading-shell{flex:1 1 auto;min-height:0;display:grid;place-items:center;padding:24px}.loading-card,.auth-card{width:min(900px,100%);background:color-mix(in srgb,var(--panel) 94%,white 6%);border:1px solid rgba(220,205,184,.82);border-radius:28px;box-shadow:var(--shadow)}.loading-card{padding:24px}.auth-card{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;padding:18px}.password-gate-card{width:min(960px,100%)}.password-gate-copy{align-self:center}.auth-copy,.auth-form{padding:16px}.brand-lockup,.hero-brand{display:flex;align-items:center;gap:14px}.brand-stack{display:grid;gap:16px;margin-bottom:14px}.brand-lockup{margin-bottom:10px}.brand-logo{width:112px;height:auto;object-fit:contain;flex:0 0 auto}.brand-logo-hero{width:128px}.brand-wordmark{width:min(100%,440px);height:auto;object-fit:contain}.auth-form{display:grid;gap:14px;align-content:start;border-radius:20px;background:#ffffffa6;border:1px solid rgba(220,205,184,.7)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--accent-strong)}.lead,.subtitle,.status-line,.helper,.room-legend,.student-meta,.user-chip span{color:var(--muted)}.lead{margin-top:10px;max-width:58ch}.field,label{display:grid;gap:4px;color:var(--muted);font-size:.9rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;color:var(--text);font-size:.94rem}textarea{resize:vertical}.form-error{margin:0 auto 16px;width:min(1280px,calc(100% - 32px));padding:10px 14px;border-radius:16px;color:#7f1f24;background:#d645501f}.form-error-inline{margin:0;padding:10px 12px;border-radius:12px;color:#7f1f24;background:#d645501f}.password-gate-actions{display:flex;flex-wrap:wrap;gap:10px}.layout-change-warning{margin-top:8px;padding:10px 12px;border-radius:12px;border:1px solid rgba(190,91,45,.4);background:#be5b2d24;color:var(--accent-strong);font-weight:700}.app-shell{max-width:1280px;margin:0 auto;padding:18px 14px 28px}.product-footer{width:min(1280px,calc(100% - 28px));margin:8px auto 18px;padding:12px 14px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:.82rem;border-top:1px solid rgba(220,205,184,.72)}.product-footer-copy{letter-spacing:.04em;text-transform:uppercase}.product-footer-logo{height:66px;width:auto;object-fit:contain;opacity:.88}.hero{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.hero h1{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1;margin-bottom:10px}.subtitle{max-width:58ch}.status-line{margin-top:8px;font-size:.88rem}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}.user-chip{display:grid;gap:2px;padding:8px 10px;border-radius:14px;background:#ffffffad;border:1px solid rgba(220,205,184,.75);min-width:180px;font-size:.92rem}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.top-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;order:3}.room-stage-panel{order:2}.room-stage-panel .panel-header{margin-bottom:4px}.room-stage-panel:not(.mobile-room-stage-panel) .classroom-wrap{margin-top:0}.panel{background:color-mix(in srgb,var(--panel) 92%,white 8%);border:1px solid rgba(220,205,184,.75);border-radius:20px;padding:13px;box-shadow:var(--shadow)}.panel-wide{min-width:0;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.panel-header-actions,.selector-meta,.teacher-assignment-strip,.toolbar,.room-manager,.room-form,.room-create-form,.room-legend,.stage-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.panel-toggle{white-space:nowrap}.badge{padding:5px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:700}.subtle-badge{background:#ffffffb8;color:var(--muted)}.room-selector-panel{padding-bottom:10px}.room-selector-header,.room-manager{margin-bottom:8px}.room-manager-wide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.arrangement-secondary-actions{grid-column:3;grid-row:2;display:flex;gap:6px;align-items:center;justify-self:start}.compact-action{width:auto;padding-inline:10px}.danger-action{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 35%,var(--line) 65%)}.selector-meta{margin-top:6px}.teacher-assignment-strip{margin-top:8px}.assignment-pill{padding:4px 8px;border-radius:999px;background:#be5b2d17;color:var(--accent-strong);font-size:.72rem;font-weight:700}.panel-body[hidden]{display:none}.panel.is-collapsed{padding:11px 14px;min-height:132px}.layout.students-collapsed .top-panels{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.layout.room-config-collapsed .top-panels{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.layout.top-panels-collapsed .top-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.students-list{display:grid;gap:6px;margin-top:8px}.students-list-preview{max-height:320px;overflow-y:auto;padding-right:4px}.student-card{display:flex;justify-content:space-between;align-items:stretch;gap:5px;width:100%;background:#fff;color:var(--text);border:1px solid rgba(220,205,184,.85);padding:6px 8px;border-radius:14px}.student-card.selected{background:var(--accent);color:#fff}.student-card.selected .student-meta,.student-card.selected .student-number{color:#ffffffdb}.student-card.assigned{border-color:#2f7d4859;box-shadow:inset 0 0 0 1px #2f7d4838}.student-select-button{display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px;align-items:center;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.student-select-button:hover{transform:none}.student-select-static{cursor:default}.student-photo-button{flex:0 0 auto;min-width:56px;padding:7px 10px;align-self:center;font-size:.82rem}.student-summary{display:grid;gap:1px;min-width:0}.student-number{color:var(--accent-strong);font-size:.64rem;font-weight:700;letter-spacing:.02em;line-height:1.05}.student-name{font-weight:700;font-size:.86rem;line-height:1.08}.student-portrait,.seat-portrait{width:38px;height:38px;border-radius:11px;object-fit:cover;object-position:center;border:1px solid rgba(220,205,184,.9);background:linear-gradient(180deg,#f6efe5,#eadfce)}.student-portrait.placeholder{display:grid;place-items:center;color:var(--accent-strong);font-weight:700;font-size:.76rem}.student-meta{font-size:.74rem;line-height:1.05}.room-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.room-form label:nth-child(1){grid-column:span 2}.room-form label:nth-child(2){grid-column:span 2}.room-form label:nth-child(3){grid-column:span 1}.room-form button{align-self:end}.room-blocks-panel{margin-top:10px;padding:10px;border:1px solid rgba(220,205,184,.75);border-radius:16px;background:#ffffff73}.panel-subheader{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.blocks-editor{display:flex;gap:6px;align-items:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.block-editor-group{display:flex;align-items:center;gap:6px}.block-editor-card{flex:0 0 124px;min-width:124px;padding:10px;border-radius:16px;border:1px solid rgba(220,205,184,.85);background:#fff;display:grid;gap:8px;cursor:grab}.block-editor-card.dragging{opacity:.5}.block-editor-card.drop-target{outline:3px solid rgba(190,91,45,.28);outline-offset:2px}.block-gap-button{width:28px;min-width:28px;min-height:92px;align-self:center;padding:6px 3px;border-radius:14px;border:1px dashed rgba(190,91,45,.35);background:#be5b2d0f;color:var(--accent-strong);font-size:.62rem;font-weight:700;line-height:1.2;writing-mode:vertical-rl;transform:rotate(180deg)}.block-gap-button:hover,.block-gap-button:disabled{transform:rotate(180deg)}.block-gap-button.active{background:repeating-linear-gradient(180deg,#be5b2d14,#be5b2d14 10px,#be5b2d29 10px,#be5b2d29 20px)}.block-editor-title{font-weight:700;font-size:.84rem}.block-drag-hint{color:var(--muted);font-size:.7rem}.room-features{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.room-create-form{margin-top:10px;display:grid;grid-template-columns:1.1fr 1.4fr auto;align-items:end}.room-legend{margin-top:10px;color:var(--muted);font-size:.82rem}.stage-tools-panel{margin-bottom:0;padding:7px 8px;border:1px solid rgba(220,205,184,.8);border-radius:14px;background:#ffffff6b;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.stage-header-bar{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.stage-header-bar>h2{position:static}.stage-tools-groups{display:contents}.stage-tools-panel{width:100%;justify-content:center}.stage-tools-group{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;padding-right:8px;margin-right:2px;border-right:1px dashed rgba(220,205,184,.88)}.subtle-tools-group:last-child{padding-right:0;margin-right:0;border-right:0}.stage-tool-button{position:relative;width:66px;min-width:66px;min-height:56px;padding:6px 5px 5px;border-radius:10px;border:1px dashed var(--line);background:#fff;color:var(--muted);font-weight:800;font-size:.96rem;line-height:1.05;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center}.stage-tool-button.primary{background:var(--panel-strong);color:var(--text);border-style:solid}.stage-tool-button.danger{color:#a02f28;border-color:#c8544a8c}.stage-tool-icon{font-size:1.28rem;line-height:1}.stage-tool-label{font-size:.54rem;font-weight:700;letter-spacing:.01em}.stage-tool-count{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.58rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.room-stage-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}.room-stage-layout.with-compact-students{grid-template-columns:minmax(220px,250px) minmax(0,1fr);align-items:stretch}.room-stage-layout.with-compact-students>.classroom-wrap{align-self:start;height:fit-content}.mobile-stage-helper{margin:0}.mobile-stage-viewport{position:relative;width:100%;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden;border:1px solid rgba(220,205,184,.75);border-radius:18px;background:#ffffff75;touch-action:none}.mobile-stage-transform{width:max-content;transform-origin:top left;will-change:transform}.mobile-stage-readonly{width:max-content;width:800px;min-width:800px;pointer-events:none}.mobile-stage-readonly .classroom-wrap{width:max-content;width:800px;min-width:800px;overflow:visible}.mobile-stage-readonly .classroom-stage{width:776px;min-width:776px}.compact-students-panel{border:1px solid rgba(220,205,184,.75);border-radius:16px;background:#ffffff85;padding:8px 8px 7px;min-width:0;display:flex;flex-direction:column;height:100%;position:relative}.compact-students-panel.drop-target{border-style:dashed;border-color:#be5b2d8c;background:#be5b2d14}.compact-students-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.compact-students-list{display:grid;gap:4px;flex:1 1 auto;min-height:0;align-content:start;grid-auto-rows:max-content;overflow:auto;padding-right:1px}.compact-student-card{border:1px solid rgba(220,205,184,.82);border-radius:11px;background:#fff}.compact-student-card.preview-active{border-color:#be5b2d61;box-shadow:0 0 0 1px #be5b2d1f}.compact-student-card.selected{background:var(--accent);border-color:#8f3f1747}.compact-student-card.assigned{border-color:#2f7d4859;box-shadow:inset 0 0 0 1px #2f7d482e}.compact-student-button{width:100%;display:block;text-align:left;padding:4px 6px;border:0;background:transparent;color:var(--text)}.compact-student-button:hover{transform:none}.compact-student-card.selected .compact-student-button,.compact-student-card.selected .compact-student-number{color:#fff}.compact-student-line{display:flex;align-items:baseline;gap:5px;min-width:0}.compact-student-number{color:var(--accent-strong);font-size:.58rem;font-weight:700;line-height:1.05;flex:0 0 auto}.compact-student-name{font-size:.76rem;line-height:1;font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-student-preview{position:absolute;left:calc(100% + 14px);width:152px;padding:8px;border-radius:16px;border:1px solid rgba(220,205,184,.95);background:#fffcf5fa;box-shadow:0 18px 34px #3d291729;pointer-events:none;z-index:12}.compact-student-preview.is-placeholder{width:auto;padding:6px;border-radius:14px}.compact-student-preview-portrait{width:100%;aspect-ratio:4 / 5;display:block;border-radius:12px;object-fit:cover;object-position:center;border:1px solid rgba(220,205,184,.9);background:linear-gradient(180deg,#f6efe5,#eadfce)}.compact-student-preview-portrait.placeholder{display:grid;place-items:center;color:var(--accent-strong);width:46px;aspect-ratio:4 / 5;font-size:.84rem;font-weight:700}.classroom-wrap{margin-top:10px;background:linear-gradient(180deg,#fffdf8,#f5eee2);border:1px solid rgba(220,205,184,.75);border-radius:20px;padding:12px;overflow-x:auto}.classroom-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:8px;align-items:stretch}.classroom-grid{display:flex;gap:10px;align-items:stretch;min-width:0}.seat-block-shell{display:grid;grid-template-rows:auto auto;gap:5px;min-width:0;align-self:flex-start}.seat-block-shell.drop-target{outline:3px solid rgba(190,91,45,.28);outline-offset:4px;border-radius:20px}.seat-block-handle{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;border-radius:12px;background:#be5b2d14;border:1px dashed rgba(190,91,45,.28);color:var(--accent-strong);font-size:.72rem;font-weight:700;cursor:grab}.seat-block-handle.dragging{opacity:.5}.seat-block-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-block{display:grid;gap:8px;min-width:0;align-content:start}.aisle{flex:0 0 16px;min-width:16px;align-self:stretch;border-radius:14px;background:repeating-linear-gradient(180deg,#be5b2d14,#be5b2d14 10px,#be5b2d29 10px,#be5b2d29 20px);border:1px dashed rgba(190,91,45,.35);display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-strong);font-size:.58rem;font-weight:700}.feature-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr) minmax(0,1fr);gap:8px;width:100%}.room-feature{display:flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding:8px 10px;border-radius:14px;border:1px solid rgba(220,205,184,.9);font-weight:700;text-align:center;font-size:.92rem}.room-feature.teacher-desk{background:linear-gradient(180deg,#d9894a,#be5b2d);color:#fff}.room-feature.board{background:#24303d;color:#fff}.room-feature.door{background:#efe3c7;color:var(--text)}.room-feature.door.drop-target{border-style:dashed;border-color:#be5b2d99;background:#f3dfbd}.seat-card{min-width:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left;padding:7px 8px;background:#fff;color:var(--text);border:1px solid rgba(220,205,184,.85);position:relative;overflow:hidden;border-radius:16px;cursor:pointer}.seat-card[draggable=true]{cursor:grab}.seat-card.filled{background:linear-gradient(180deg,#fff5ee,#ffe3d2);border-color:#be5b2d59}.seat-card.has-background-photo{background:transparent;min-height:112px}.seat-card.has-background-photo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0c11180a,#0c111814 45%,#0c111885);z-index:1;pointer-events:none}.seat-card.locked{box-shadow:inset 0 0 0 2px #8f3f174d;background:linear-gradient(180deg,#c47a390f,#c47a391f),#fffbf6f5}.seat-lock-button{align-self:flex-end;display:inline-flex;align-items:center;gap:4px;min-width:50px;min-height:24px;padding:3px 7px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.01em;line-height:1;position:relative;z-index:2;background:#f4f0e8f5;color:#6f7a87;border:1px solid rgba(193,185,171,.9);box-shadow:0 2px 8px #1a27360f}.seat-lock-button.inactive{background:#f4f0e8f5;border-color:#c1b9abe6;color:#6f7a87}.seat-lock-button.active{background:#c47a392e;border-color:#8f3f177a;color:#7a3414;box-shadow:0 3px 10px #8f3f172e}.seat-lock-icon{font-size:.74rem;line-height:1}.seat-lock-text{line-height:1;font-size:.56rem;letter-spacing:0}.seat-lock-button:hover:not(:disabled),.seat-lock-button:focus-visible{transform:translateY(-1px)}.seat-lock-button:focus-visible{outline:2px solid rgba(196,122,57,.34);outline-offset:2px}.seat-portrait{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;opacity:1;filter:saturate(1.02) contrast(1.05);z-index:0}.seat-student-number{margin-bottom:2px;color:var(--accent-strong);font-size:.64rem;font-weight:700;letter-spacing:.02em;position:relative;z-index:2}.seat-card.has-background-photo .seat-student-number{position:absolute;top:8px;left:8px;right:auto;bottom:auto;margin:0;padding:2px 6px;border-radius:999px;background:#0c111894;color:#fff7f0fa;text-shadow:0 1px 2px rgba(12,17,24,.48)}.seat-name{margin-top:0;font-size:.76rem;line-height:1.15;font-weight:700;overflow-wrap:anywhere;width:100%;flex:1 1 auto;position:relative;z-index:2}.seat-card.has-background-photo .seat-name{position:absolute;left:8px;right:8px;bottom:7px;padding:4px 6px;border-radius:10px;background:#0c11186b;color:#fff;text-shadow:0 1px 2px rgba(12,17,24,.55);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.empty-stage{padding:18px;border-radius:18px;border:1px dashed rgba(220,205,184,.9);color:var(--muted);background:#ffffff8c}.arrangement-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;display:grid;place-items:center;padding:20px}.arrangement-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a17137a;border:0;cursor:default}.arrangement-modal-card{position:relative;width:min(480px,calc(100vw - 28px));display:grid;gap:12px;background:color-mix(in srgb,var(--panel) 94%,white 6%);border:1px solid rgba(220,205,184,.82);border-radius:22px;box-shadow:0 22px 56px #16120d3d;padding:18px}.arrangement-modal-header,.arrangement-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-modal-card{width:min(640px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}.profile-modal-section{display:grid;gap:8px;padding:10px;border-radius:14px;border:1px solid rgba(220,205,184,.82);background:#ffffff8c}.profile-modal-section h4{margin:0}.profile-modal-actions{display:flex;justify-content:flex-end}.photo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px}.photo-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a171394;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-modal-card{position:relative;width:min(820px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:color-mix(in srgb,var(--panel) 94%,white 6%);border:1px solid rgba(220,205,184,.82);border-radius:28px;box-shadow:0 28px 65px #16120d40;padding:20px}.photo-modal-header,.photo-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.photo-modal-header{margin-bottom:14px}.photo-modal-body{display:grid;gap:14px}.photo-step{display:grid;gap:12px}.photo-camera-toolbar{display:flex;flex-wrap:wrap;gap:8px}.camera-frame{min-height:min(56vw,360px);border-radius:20px;overflow:hidden;background:#141b24;border:1px solid rgba(220,205,184,.7)}.camera-frame video{width:100%;height:100%;object-fit:cover;display:block}.photo-modal.mirror-enabled .camera-frame video{transform:scaleX(-1)}.photo-crop-surface{position:relative;width:min(100%,400px);aspect-ratio:1 / 1;margin:0 auto;border-radius:24px;overflow:hidden;background:#1c2530;border:1px solid rgba(220,205,184,.7);touch-action:none;cursor:grab}.photo-crop-surface img{position:absolute;top:50%;left:50%;transform-origin:center;-webkit-user-select:none;user-select:none;max-width:none}.photo-crop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 999px #0c11183d;border:2px solid rgba(255,255,255,.8);border-radius:24px;pointer-events:none}@media (pointer: coarse){.photo-crop-surface{cursor:default}}.photo-modal-actions{margin-top:14px;flex-wrap:wrap;justify-content:flex-end}.workspace-switcher{position:sticky;top:8px;z-index:40;width:fit-content;margin:8px auto 0;padding:6px;border-radius:999px;border:1px solid rgba(220,205,184,.9);background:#ffffffd6;box-shadow:0 10px 30px #19120b14;display:flex;gap:6px}.workspace-switcher button{border-radius:999px;padding:6px 14px;font-size:.84rem}.management-shell{padding-top:14px}.management-hero{margin-bottom:12px}.management-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.management-tabs button.active{border-style:solid}.management-grid{display:grid;gap:14px}.management-kpis{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.management-kpi-card{border:1px solid rgba(220,205,184,.82);border-radius:16px;padding:12px;background:#ffffffbd;display:grid;gap:4px}.management-kpi-card span{color:var(--muted);font-size:.8rem}.management-kpi-card strong{font-size:1.5rem;line-height:1}.management-kpi-card small{color:var(--muted)}.management-alerts{border:1px solid rgba(220,205,184,.82);border-radius:16px;background:#ffffffb3;padding:12px;display:grid;gap:8px}.management-alerts h3{font-size:1.05rem}.management-alert{border-radius:12px;padding:10px;border:1px solid transparent;display:grid;gap:2px}.management-alert p{color:var(--muted);font-size:.9rem}.management-alert-warning{border-color:#c9604b59;background:#c9604b1f}.management-alert-info{border-color:#3b65913d;background:#3b659114}.management-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.management-summary-cards article{border:1px solid rgba(220,205,184,.82);border-radius:16px;padding:12px;background:#ffffffa3;display:grid;gap:6px}.management-summary-cards p{color:var(--muted);font-size:.9rem}.management-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.management-summary-card{border:1px solid rgba(220,205,184,.82);border-radius:16px;padding:12px;background:#ffffffa3;display:grid;gap:6px}.management-summary-card span{color:var(--muted);font-size:.9rem}.management-summary-card strong{font-size:1.25rem}.management-panel{display:grid;gap:8px;padding:14px;border:1px solid rgba(220,205,184,.82);border-radius:18px;background:#ffffff94}.management-panel h4{margin:0}.management-panel ul{margin:0;padding-left:20px}.management-list{display:grid;gap:10px}.management-list-card{display:grid;gap:6px;padding:12px;border-radius:14px;border:1px solid rgba(220,205,184,.82);background:#f5efe4ad}.management-list-card p{margin:0}.management-resolution-actions{display:grid;gap:6px}.management-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.management-table-panel{display:grid;gap:10px}.management-table-toolbar{display:grid;grid-template-columns:minmax(280px,420px)}.management-room-toolbar{grid-template-columns:max-content max-content;gap:8px;margin-bottom:6px}.management-course-toolbar{grid-template-columns:max-content}.management-teacher-toolbar{grid-template-columns:max-content max-content max-content;gap:8px}.management-student-toolbar{grid-template-columns:minmax(240px,320px) max-content max-content;align-items:end;gap:8px}.management-distribution-toolbar{grid-template-columns:minmax(240px,420px) max-content;align-items:end;gap:8px}.checkbox-inline{display:inline-flex;align-items:center;gap:8px}.management-table-wrap{overflow:auto;border:1px solid rgba(220,205,184,.82);border-radius:14px;background:#ffffffb8}.management-table{width:100%;min-width:760px;border-collapse:collapse}.management-table th,.management-table td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(220,205,184,.65);font-size:.91rem}.management-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.management-room-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.management-room-card{border:1px solid rgba(220,205,184,.82);border-radius:16px;padding:12px;background:#ffffffad;display:grid;gap:6px}.management-room-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.management-room-card p{color:var(--muted);font-size:.9rem}.management-room-assignment{margin-top:2px}.management-room-actions,.management-row-actions{display:flex;flex-wrap:wrap;gap:6px}.management-row-actions button{font-size:.78rem;padding:4px 8px}.management-room-actions button{font-size:.82rem;padding:6px 10px}.management-inline-editor{margin-top:8px;padding:10px;border:1px dashed rgba(220,205,184,.95);border-radius:12px;background:#ffffffb3;display:grid;gap:8px}.management-inline-actions{display:flex;gap:8px;flex-wrap:wrap}.management-search-selected-list{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.management-search-selected-item{display:inline-flex;align-items:center;padding:4px 8px;border:1px dashed rgba(220,205,184,.95);border-radius:999px;font-size:.85rem;color:var(--muted);background:#ffffffc2}.management-search-results{margin-top:2px;border:1px solid rgba(220,205,184,.82);border-radius:12px;background:#ffffffb8;max-height:240px;overflow:auto;padding:8px;display:grid;gap:8px}.management-search-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed rgba(220,205,184,.82);border-radius:10px;padding:8px}.management-linked-courses{display:flex;gap:6px;flex-wrap:wrap}.management-linked-course{display:inline-flex;align-items:center;gap:6px}.management-linked-course button{padding:2px 6px;font-size:.75rem}.management-layout-modal{width:min(560px,calc(100vw - 24px))}.management-import-report-modal,.management-export-modal{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 28px);overflow:auto}.management-teacher-modal{width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 28px);overflow:auto}.management-reset-modal{width:min(680px,calc(100vw - 24px))}.management-reset-panel{gap:12px}.management-reset-scope-option{display:flex;align-items:center;gap:10px}.management-reset-course-picker{display:grid;gap:10px}.management-reset-course-actions{display:flex;gap:8px;flex-wrap:wrap}.management-reset-course-grid{max-height:280px;overflow:auto;align-content:start;padding-right:6px}.management-reset-course-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-color);border-radius:14px;background:#ffffff94}.management-reset-summary{margin:0}.management-export-panel{gap:6px;padding:12px}.management-export-panel .helper{margin:0}.management-export-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:12px;align-items:start}.management-export-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px;overflow:auto;align-content:start;padding-right:6px}.management-export-columns-grid{grid-template-columns:1fr;align-content:start}.management-export-courses-grid .checkbox-inline,.management-check-grid .checkbox-inline{align-items:start}.management-export-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:10px;min-width:0}.management-export-option input{margin-top:3px}.management-export-option span{display:block;min-width:0;line-height:1.25;word-break:normal;overflow-wrap:break-word}.management-teacher-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.management-teacher-full{grid-column:1 / -1}.management-teacher-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.management-layout-presets{display:grid;gap:6px}.management-layout-preset-list{display:flex;flex-wrap:wrap;gap:6px}.management-layout-preset-list button{border-radius:999px;padding:4px 10px;font-size:.8rem}@media (max-width: 1100px){.room-manager-wide,.room-form,.room-create-form,.top-panels,.auth-card,.management-kpis,.management-summary-cards,.management-summary-grid,.management-room-grid,.management-check-grid,.management-student-toolbar,.management-teacher-grid,.management-teacher-roles{grid-template-columns:1fr}.management-export-grid,.management-export-courses-grid{grid-template-columns:1fr;max-height:220px}.arrangement-secondary-actions{grid-column:auto;grid-row:auto}.room-form label:nth-child(1),.room-form label:nth-child(2),.room-form label:nth-child(3){grid-column:span 1}.photo-modal-card{padding:16px}}@media (max-width: 900px){.hero,.layout{grid-template-columns:1fr;display:grid}.top-panels{grid-template-columns:1fr}.mobile-photo-mode .top-panels,.mobile-photo-panels{display:block}.mobile-photo-mode{--mobile-panel-height: 100dvh}.mobile-photo-mode .room-selector-panel{padding-bottom:13px}.mobile-photo-mode .room-manager-wide{grid-template-columns:1fr}.mobile-room-stage-panel{padding-bottom:10px}.mobile-room-stage-layout{display:flex;flex:1 1 auto;gap:0;min-height:0}.mobile-photo-mode .room-selector-panel .panel-header-actions,.mobile-photo-mode .selector-meta{display:none}.mobile-photo-mode #students-panel,.mobile-photo-mode .mobile-room-stage-panel{display:flex;flex-direction:column;min-height:var(--mobile-panel-height)}.mobile-photo-mode #students-panel{width:100%}.mobile-photo-mode #students-panel .panel-body{display:flex;flex:1 1 auto;flex-direction:column;max-height:none!important;min-height:0}.mobile-photo-mode .students-list{flex:1 1 auto;max-height:none!important;min-height:0;overflow:auto!important}.room-stage-layout.with-compact-students,.room-features,.feature-zone{grid-template-columns:1fr}.panel-subheader,.panel-header,.panel-header-actions,.stage-actions,.hero-actions,.workspace-switcher,.management-tabs{align-items:flex-start;flex-direction:column}.brand-lockup,.hero-brand,.brand-stack{align-items:flex-start;flex-direction:column;gap:10px}.brand-logo,.brand-logo-hero{width:84px}.brand-wordmark{width:min(100%,320px)}.workspace-switcher{width:calc(100% - 24px);border-radius:14px;margin-top:8px}.product-footer{align-items:center;justify-content:center;gap:8px;padding-inline:12px;text-align:center}.product-footer-copy{font-size:.72rem}.product-footer-logo{height:34px}.stage-tools-panel{flex-direction:column;align-items:flex-start}.stage-header-bar{position:static;min-height:0}.stage-header-bar>.stage-tools-panel{position:static;transform:none;margin-top:6px}.stage-tools-group{border-right:0;padding-right:0;margin-right:0}.classroom-grid{flex-direction:column}.compact-student-preview{display:none}.aisle{width:100%;min-height:18px;writing-mode:horizontal-tb;transform:none}.mobile-stage-readonly .classroom-wrap{margin-top:0;padding:10px}.mobile-stage-readonly .classroom-grid{flex-direction:row;gap:8px;align-items:stretch}.mobile-stage-readonly .seat-block-shell{align-self:flex-start}.mobile-stage-readonly .seat-block-handle{padding:4px 6px;font-size:.64rem;border-radius:10px}.mobile-stage-readonly .seat-block{gap:6px}.mobile-stage-readonly .feature-zone{grid-template-columns:minmax(0,1fr) minmax(0,1.9fr) minmax(0,1fr);gap:6px}.mobile-stage-readonly .room-feature{min-height:34px;padding:6px 8px;border-radius:12px;font-size:.78rem}.mobile-stage-readonly .aisle{width:auto;min-width:12px;min-height:0;align-self:stretch;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.5rem;letter-spacing:.1em}.mobile-stage-readonly .seat-card{padding:5px 6px;border-radius:13px}.mobile-stage-readonly .seat-card.has-background-photo{min-height:88px}.mobile-stage-readonly .seat-lock-button{min-width:40px;min-height:20px;padding:2px 5px;gap:3px}.mobile-stage-readonly .seat-lock-icon{font-size:.62rem}.mobile-stage-readonly .seat-lock-text{font-size:.48rem}.mobile-stage-readonly .seat-student-number{font-size:.55rem}.mobile-stage-readonly .seat-name{font-size:.66rem;line-height:1.08}.mobile-stage-readonly .seat-card.has-background-photo .seat-student-number{top:6px;left:6px;padding:2px 5px}.mobile-stage-readonly .seat-card.has-background-photo .seat-name{left:6px;right:6px;bottom:6px;padding:3px 5px;border-radius:8px}.photo-modal{padding:12px}.photo-modal-header,.photo-modal-actions{align-items:stretch;flex-direction:column}.photo-camera-toolbar{flex-direction:column}}@media (max-width: 700px){.photo-modal.mobile-photo-modal{padding:0;align-items:stretch;justify-items:stretch}.photo-modal.mobile-photo-modal .photo-modal-card{width:100vw;max-height:100dvh;min-height:100dvh;border-radius:0;padding:14px 14px max(14px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.photo-modal.mobile-photo-modal .photo-modal-header{margin-bottom:10px;flex-direction:row;align-items:flex-start}.photo-modal.mobile-photo-modal .photo-modal-header .eyebrow{display:none}.photo-modal.mobile-photo-modal .photo-modal-header h2{font-size:1.08rem;line-height:1.1}.photo-modal.mobile-photo-modal .photo-modal-body{min-height:0;overflow:auto;padding-bottom:10px}.photo-modal.mobile-photo-modal .photo-step{min-height:100%;align-content:start}.photo-modal.mobile-photo-modal .camera-frame{min-height:min(62dvh,520px);border-radius:24px}.photo-modal.mobile-photo-modal .photo-crop-surface{width:min(100%,100dvw - 28px);border-radius:24px}.photo-modal.mobile-photo-modal .photo-modal-actions{margin-top:0;padding-top:10px;border-top:1px solid rgba(220,205,184,.7);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.photo-modal.mobile-photo-modal .photo-modal-actions button{min-height:46px;width:100%;justify-content:center}.photo-modal.mobile-photo-modal .photo-modal-actions button:last-child{grid-column:1 / -1}.photo-modal.mobile-photo-modal .photo-camera-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-modal.mobile-photo-modal .photo-camera-toolbar button{min-height:42px}}
