@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2) format("woff2"),url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-uAL1a5gb.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-y-RO8wOd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-D7vJ4nVX.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2) format("woff2"),url(/assets/source-sans-3-greek-600-normal-BNF9LBpG.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-DpSexF-T.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-B6RPsSdD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-DYE6gq6k.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-C6ITAlBU.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2) format("woff2"),url(/assets/source-sans-3-greek-700-normal-BWdBblwd.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-BHxM10oo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-ChH_v7nA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-sans: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--bg: #f6f7f4;--bg-elevated: #ffffff;--panel: #ffffff;--panel-strong: #eef2e8;--line: #d9ded3;--line-strong: #bdc7b5;--text: #18222e;--muted: #64707d;--accent: #ad4f2b;--accent-strong: #753217;--accent-soft: #f5ddd0;--info: #276d94;--info-soft: #dcecf3;--success: #2f7d48;--success-soft: #dceee2;--warning: #9b6a13;--warning-soft: #f4e8ca;--danger: #b4323a;--danger-soft: #f4d7da;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow: 0 14px 34px rgba(24, 34, 46, .08);--shadow-soft: 0 8px 20px rgba(24, 34, 46, .06)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-sans);background:linear-gradient(135deg,rgba(173,79,43,.07) 0 12%,transparent 12% 100%),linear-gradient(90deg,rgba(24,34,46,.035) 1px,transparent 1px),linear-gradient(180deg,#fbfbf8 0%,var(--bg) 100%);background-size:auto,28px 28px,auto;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:var(--radius-md);padding:8px 12px;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease,border-color .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);border:1px solid var(--line)}.ghost,.ghost-button,button.ghost,button.ghost-button{background:transparent;color:var(--muted);border:1px solid var(--line)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);font-weight:700;line-height:1.15;white-space:nowrap}.ui-button-full{width:100%}.ui-button-sm{min-height:32px;padding:6px 10px;font-size:.86rem}.ui-button-md{min-height:38px;padding:8px 13px;font-size:.94rem}.ui-button-primary{background:var(--accent);color:#fff}.ui-button-secondary{background:var(--panel-strong);color:var(--text);border-color:var(--line)}.ui-button-ghost{background:transparent;color:var(--muted);border-color:var(--line)}.ui-button-danger{background:var(--danger);color:#fff}.ui-icon-button{width:38px;height:38px;padding:0;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg-elevated);color:var(--text);display:inline-flex;align-items:center;justify-content:center}.ui-dropdown{position:relative;display:inline-flex}.ui-dropdown-trigger{all:unset;display:inline-flex;align-items:center;cursor:pointer}.ui-dropdown-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 42%,white 58%);outline-offset:2px;border-radius:var(--radius-pill)}.ui-dropdown-menu{position:absolute;top:calc(100% + 8px);min-width:180px;padding:8px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 88%,white 12%);background:#fffffff7;box-shadow:var(--shadow);display:grid;gap:6px;z-index:30}.ui-dropdown-menu-start{left:0}.ui-dropdown-menu-end{right:0}.ui-dropdown-item{width:100%;padding:10px 12px;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--text);text-align:left;font-weight:600}.ui-dropdown-item:hover{background:var(--panel-strong)}.ui-dropdown-item.danger{color:var(--danger)}.ui-badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 8px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;line-height:1.1}.ui-badge-neutral{background:var(--panel-strong);color:var(--muted)}.ui-badge-accent{background:var(--accent-soft);color:var(--accent-strong)}.ui-badge-success{background:var(--success-soft);color:var(--success)}.ui-badge-warning{background:var(--warning-soft);color:var(--warning)}.ui-badge-danger{background:var(--danger-soft);color:var(--danger)}.ui-badge-info{background:var(--info-soft);color:var(--info)}.ui-panel{background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 82%,white 18%);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.ui-page-shell{width:100%;display:grid;gap:14px}.ui-page-shell-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ui-page-shell-copy{min-width:0;display:grid;gap:4px}.ui-page-shell-description{color:var(--muted);max-width:72ch}.ui-page-shell-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ui-page-shell-body{min-width:0;display:grid;gap:14px}.ui-table-shell{min-width:0;display:grid;gap:10px}.ui-table-scroll{min-width:0;overflow-x:auto}.ui-table-empty{color:var(--muted)}.ui-empty-state,.ui-loading-state{display:grid;justify-items:center;gap:6px;padding:22px;color:var(--muted);text-align:center}.ui-empty-state strong{color:var(--text)}.ui-form-field small{color:var(--muted);font-size:.8rem}.ui-tabs{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;padding:4px;overflow-x:auto;border:1px solid color-mix(in srgb,var(--line) 86%,white 14%);border-radius:999px;background:color-mix(in srgb,var(--panel-strong) 72%,white 28%);box-shadow:inset 0 1px #ffffffbf;scrollbar-width:none;-ms-overflow-style:none}.ui-tabs button[role=tab]{flex:0 0 auto;min-height:34px;padding:7px 14px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);white-space:nowrap;box-shadow:none}.ui-tabs button[role=tab]:hover{background:#ffffffb8;color:var(--text);transform:none}.ui-tabs button[role=tab]:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 36%,white 64%);outline-offset:2px}.ui-tabs button[role=tab][aria-selected=true]{background:var(--panel);color:var(--text);border-color:color-mix(in srgb,var(--line) 82%,white 18%);box-shadow:0 1px 2px #18222e0f}.ui-tabs::-webkit-scrollbar{display:none}.ui-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:18px}.ui-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#18222e57;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ui-modal-card{position:relative;width:min(560px,100%);max-height:min(720px,calc(100dvh - 36px));overflow:auto;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 82%,white 18%);background:var(--panel);box-shadow:0 24px 70px #18222e38}.ui-modal-card-lg{width:min(760px,100%)}.ui-modal-card-xl{width:min(1040px,100%)}.ui-modal-card-xxl{width:min(1280px,calc(100vw - 28px))}.ui-modal-header,.ui-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.ui-modal-header{border-bottom:1px solid var(--line)}.ui-modal-body{display:grid;gap:12px;padding:16px}.ui-modal-form{display:grid;gap:12px}.ui-modal-actions{justify-content:flex-end;border-top:1px solid var(--line)}.ui-modal-close{flex:0 0 auto}.ui-loading-state-dot{width:9px;height:9px;border-radius:var(--radius-pill);background:var(--accent);animation:ui-loading-pulse .9s ease-in-out infinite alternate}@keyframes ui-loading-pulse{0%{opacity:.35;transform:scale(.78)}to{opacity:1;transform:scale(1)}}.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) 96%,white 4%);border:1px solid color-mix(in srgb,var(--line) 82%,white 18%);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.loading-card{padding:24px}.auth-card{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;padding:18px;overflow:hidden}.password-gate-card{width:min(960px,100%)}.password-gate-copy{align-self:center}.auth-copy,.auth-form{padding:16px}.auth-copy{display:grid;align-content:center;min-height:340px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(173,79,43,.08),transparent 34%),linear-gradient(180deg,#eef2e8cc,#ffffff94);border:1px solid color-mix(in srgb,var(--line) 72%,white 28%)}.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:var(--radius-lg);background:#ffffffd1;border:1px solid color-mix(in srgb,var(--line) 78%,white 22%);box-shadow:inset 0 1px #fffc}.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:var(--radius-md);padding:8px 10px;background:#fff;color:var(--text);font-size:.94rem}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 42%,white 58%);outline-offset:2px}textarea{resize:vertical}.form-error{margin:0 auto 16px;width:min(1280px,calc(100% - 32px));padding:10px 14px;border-radius:var(--radius-lg);color:var(--danger);background:var(--danger-soft)}.form-error-inline{margin:0;padding:10px 12px;border-radius:var(--radius-md);color:var(--danger);background:var(--danger-soft)}.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:8px 14px 28px}.app-shell-frame{gap:14px}.app-shell-content{min-width:0}.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 color-mix(in srgb,var(--line) 78%,white 22%)}.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}.app-header-block{width:calc(100vw - 28px);margin-left:calc(50% - 50vw + 14px);margin-bottom:14px}.app-header{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;gap:16px;width:100%;min-height:64px;padding:10px 14px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 86%,white 14%);background:#ffffffe6;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header-brand{min-width:0;display:flex;align-items:center;gap:12px}.app-header-center{min-width:0;display:flex;justify-content:center}.app-header-center-spacer{min-width:0}.app-header-logo{width:34px;height:34px;object-fit:contain;flex:0 0 auto}.app-header-brand-copy{min-width:0}.app-header-brand-line{display:flex;align-items:center;gap:8px;min-width:0;font-size:1rem;color:var(--text);white-space:nowrap}.app-header-brand-line strong{font-size:1.05rem}.app-header-brand-line span:last-child{overflow:hidden;text-overflow:ellipsis}.app-header-brand-separator{color:var(--muted)}.app-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.app-header-user-menu{flex:0 1 auto}.app-header-user-button-content{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--line) 88%,white 12%);background:#ffffffe6;color:var(--text)}.app-header-user{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--text)}.app-header-icon,.app-header-icon-button{position:relative;width:38px;height:38px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--line) 88%,white 12%);background:var(--bg-elevated);color:var(--text);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.app-header-icon-button{padding:0}.app-header-icon-svg{width:18px;height:18px}.app-header-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px 0}.app-header-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media (max-width: 920px){.app-header{grid-template-columns:minmax(0,auto) minmax(0,1fr);grid-template-areas:"brand tools" "center center"}.app-header-brand{grid-area:brand}.app-header-center{grid-area:center;justify-content:center}.app-header-center-spacer{display:none}.app-header-tools{grid-area:tools}}.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}.system-log-floating{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:80;display:grid;justify-items:end;gap:12px;pointer-events:none}.system-log-button,.system-log-panel{pointer-events:auto}.system-log-button{position:relative;width:27px;height:27px;min-width:27px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 72%,white 28%);border-radius:999px;background:color-mix(in srgb,var(--accent) 90%,white 10%);color:#fff;box-shadow:var(--shadow-soft);cursor:pointer}.system-log-button svg{width:16px;height:16px;flex:0 0 auto;stroke-width:2}.system-log-badge{position:absolute;top:-3px;right:-3px;min-width:14px;height:14px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--danger);color:#fff;font-size:.55rem;font-weight:800;border:1px solid white}.system-log-panel{width:min(420px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 104px));overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 78%,white 22%);border-radius:var(--radius-lg);background:#ffffffd1;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.system-log-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,white 18%)}.system-log-panel-header h2{margin:0;font-size:1.05rem}.system-log-panel-actions{display:flex;gap:6px}.system-log-list{list-style:none;display:grid;gap:8px;max-height:calc(min(560px,calc(100vh - 104px)) - 80px);overflow:auto;margin:0;padding:12px}.system-log-entry{padding:10px 12px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--line) 82%,white 18%);background:#ffffffbd}.system-log-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.system-log-entry-meta strong{color:var(--text)}.system-log-entry p,.system-log-empty{margin:6px 0 0}.system-log-empty{padding:18px;color:var(--muted)}.system-log-entry-success{border-left:4px solid var(--success)}.system-log-entry-warning{border-left:4px solid var(--warning)}.system-log-entry-error{border-left:4px solid var(--danger)}.system-log-entry-info{border-left:4px solid var(--accent)}@media (max-width: 640px){.system-log-floating{right:12px;bottom:12px}.system-log-panel{width:calc(100vw - 24px)}}.system-log-toast{width:min(380px,calc(100vw - 32px));pointer-events:auto;border:1px solid color-mix(in srgb,var(--line) 72%,white 28%);border-left:5px solid var(--accent);border-radius:var(--radius-lg);background:#ffffffeb;box-shadow:var(--shadow-soft);color:var(--text);cursor:pointer;display:grid;gap:4px;padding:11px 13px;text-align:left;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.system-log-toast strong{font-size:.78rem;text-transform:uppercase}.system-log-toast span{color:var(--muted);font-size:.88rem;line-height:1.35}.system-log-toast-success{border-left-color:var(--success)}.system-log-toast-warning{border-left-color:var(--warning)}.system-log-toast-error{border-left-color:var(--danger)}.system-log-toast-info{border-left-color:var(--accent)}.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) 96%,white 4%);border:1px solid color-mix(in srgb,var(--line) 82%,white 18%);border-radius:var(--radius-lg);padding:13px;box-shadow:var(--shadow-soft)}.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:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:700}.subtle-badge{background:var(--panel-strong);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,.student-card *{-webkit-user-select:none;user-select:none}.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-support-tags{display:flex;gap:4px;flex-wrap:wrap}.student-support-tag{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;border-radius:999px;background:#be5b2d1f;color:var(--accent-strong);font-size:.62rem;font-weight:800;letter-spacing:.02em;line-height:1}.student-support-tag-pie{background:#e089212e;color:#b95d00}.student-support-tag-pf{background:#f5d04247;color:#8a6900}.student-support-tag-pt{background:#d6455029;color:#b12632}.student-support-tags.inline{margin-top:3px}.student-support-tags.compact{margin-left:auto}.student-support-tags.seat{margin-top:4px;position:relative;z-index:2}.student-card.selected .student-support-tag,.compact-student-card.selected .student-support-tag{background:#ffffff2e;color:#fff}.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,.compact-student-card *{-webkit-user-select:none;user-select:none}.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;flex-wrap:wrap}.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-course{color:var(--text-muted);font-size:.58rem;font-weight:700;line-height:1.05;flex:0 0 auto;text-transform:uppercase}.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],.seat-card[draggable=true] *{-webkit-user-select:none;user-select:none}.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;-webkit-user-drag:none}.seat-card-topline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;position:relative;z-index:2;margin-bottom:2px}.seat-student-number{color:var(--accent-strong);font-size:.64rem;font-weight:700;letter-spacing:.02em}.seat-card .student-support-tags.seat{margin-top:0}.seat-card.has-background-photo .seat-card-topline{position:absolute;top:8px;left:8px;right:auto;bottom:auto;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:0}.seat-card.has-background-photo .seat-student-number{margin:0;padding:2px 6px;border-radius:999px;background:#0c111894;color:#fff7f0fa;text-shadow:0 1px 2px rgba(12,17,24,.48)}.seat-card.has-background-photo .student-support-tags.seat{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.seat-card.has-background-photo .student-support-tag{min-width:24px;padding:2px 5px;font-size:.54rem;background:#0c111894;color:#fff7f0fa;text-shadow:0 1px 2px rgba(12,17,24,.38)}.seat-card.has-background-photo .student-support-tag-pie{background:#e08921e0;color:#fff7f0}.seat-card.has-background-photo .student-support-tag-pf{background:#f5d042e0;color:#5c4700;text-shadow:none}.seat-card.has-background-photo .student-support-tag-pt{background:#d64550e0;color:#fff5f6}.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.short-name-mode .seat-name{font-size:1.06rem;line-height:1.02;font-weight:800}.seat-card.short-name-mode.has-background-photo .seat-name{font-size:.94rem;line-height:1.08}.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)}.checkbox-field{display:flex;align-items:center;gap:10px;color:var(--text);font-size:.92rem}.checkbox-field input{width:auto;margin:0}.student-support-group{display:grid;gap:10px;padding:12px 14px;border:1px solid rgba(220,205,184,.72);border-radius:16px;background:#ffffff75}.student-support-group-title{margin:0;color:var(--accent-strong);font-size:.84rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.empty-stage{padding:22px 24px;border-radius:18px;border:1px dashed rgba(201,126,57,.48);color:var(--text);background:linear-gradient(135deg,#fff3dfeb,#ffffffd1);box-shadow:inset 0 0 0 1px #ffffffb3}.empty-stage-title{margin:0;color:#9f4e18;font-size:1.05rem;font-weight:800}.empty-stage-message{margin:8px 0 0;color:var(--text);font-size:.96rem;line-height:1.45}.arrangement-create-callout{position:relative;margin:18px 0 12px auto;width:min(560px,100%);padding:16px 18px;border-radius:18px;border:1px solid rgba(201,126,57,.5);background:linear-gradient(135deg,#fff5e2f5,#ffffffe0);box-shadow:0 16px 28px #95633014}.arrangement-create-callout:before{content:"";position:absolute;top:-26px;left:9%;width:2px;height:26px;background:#c97e398c}.arrangement-create-callout:after{content:"";position:absolute;top:-40px;left:calc(9% - 6px);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid rgba(201,126,57,.68)}.arrangement-create-callout-title{margin:0;color:#9f4e18;font-size:1rem;font-weight:800}.arrangement-create-callout-message{margin:8px 0 0;color:var(--text);line-height:1.45}.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{width:fit-content;max-width:100%;padding:6px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--line) 88%,white 12%);background:#ffffffe6;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.workspace-switcher button{border-radius:var(--radius-pill);padding:6px 14px;font-size:.84rem}.student-list-number-editor{flex:0 0 34px;display:flex;align-items:center;justify-content:center}.student-list-number-editor input,.student-list-number-editor span{width:30px;height:30px;border-radius:10px;border:1px solid rgba(220,205,184,.9);background:#ffffffdb;color:var(--text);font-size:.78rem;font-weight:800;text-align:center}.student-list-number-editor input{padding-left:1px;padding-right:1px}.student-list-number-editor input:focus{outline:2px solid rgba(190,91,45,.35);border-color:#be5b2db3}.student-list-number-editor span{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.student-card.selected .student-list-number-editor span{color:#ffffffe6;background:#ffffff2e}.management-shell{padding-top:8px}.management-hero{margin-bottom:12px}.management-nav{display:grid;gap:10px;margin-bottom:12px}.management-tabs{display:flex;flex-wrap:wrap;gap:8px}.management-subtabs{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid rgba(220,205,184,.82);border-radius:18px;background:#ffffff94}.management-tabs button.active,.management-subtabs button.active{border-style:solid}.management-grid{display:grid;gap:14px}.management-policy-grid{align-items:start;grid-template-columns:repeat(3,minmax(0,1fr))}.management-policy-panel{align-content:start}.management-policy-panel-absence{order:1}.management-policy-panel-school-entry{order:2}.management-policy-panel-classroom{order:3}.management-summary-section{border:1px solid rgba(220,205,184,.82);border-radius:18px;background:#ffffffb8;padding:14px;display:grid;gap:12px}.management-summary-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.management-summary-section-header h3{font-size:1.08rem;margin-bottom:2px}.management-summary-section-header p{color:var(--muted);font-size:.92rem;max-width:70ch}.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-wide{grid-column:span 2}.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-risk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.management-risk-card{border-radius:16px;padding:12px;display:grid;gap:6px;border:1px solid rgba(220,205,184,.82);background:#ffffffd6}.management-risk-card span{color:var(--muted);font-size:.8rem}.management-risk-card strong{font-size:1.6rem;line-height:1}.management-risk-card p{color:var(--muted);font-size:.9rem;min-height:2.6em}.management-risk-card button{justify-self:start}.management-risk-card-alert{border-color:#c9604b4d;background:#c9604b14}.management-risk-card-ok{border-color:#57836447;background:#57836414}.management-summary-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.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-collapsible-panel{padding:0;overflow:hidden}.management-collapsible-panel>summary{list-style:none;cursor:pointer}.management-collapsible-panel>summary::-webkit-details-marker{display:none}.management-collapsible-summary{padding:14px;align-items:center;display:flex}.management-collapsible-summary:after{content:"▾";color:var(--muted);font-size:.9rem;margin-left:auto}.management-collapsible-panel:not([open])>.management-collapsible-summary:after{content:"▸"}.management-collapsible-content{padding:0 14px 14px;display:grid;gap:8px}.management-panel h4{margin:0}.management-capability-groups{display:grid;gap:10px}.management-capability-group{display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(220,205,184,.7);background:#ffffff85}.management-capability-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.management-panel .management-capability-list{margin:0;padding-left:0;list-style:none;display:grid;gap:10px}.management-panel ul{margin:0;padding-left:20px}.management-capability-item{display:grid;gap:6px}.management-capability-head{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.management-capability-help{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:999px;border:1px solid rgba(172,145,101,.45);background:#fffaf1eb;color:var(--accent-strong);font-size:.78rem;font-weight:800;line-height:1}.management-capability-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.management-capability-scope{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#cfb2832e;color:var(--ink-strong);font-size:.76rem;font-weight:700}.management-capability-option-copy{display:grid;gap:6px}.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}.student-enroll-modal{width:min(860px,100%)}.student-enroll-form{gap:14px}.student-enroll-section{display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--line) 86%,white 14%);border-radius:16px;background:color-mix(in srgb,var(--panel-strong) 58%,white 42%)}.student-enroll-section h3{margin:0;font-size:1rem}.student-enroll-section .helper{margin:2px 0 0}.student-enroll-destination{grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr);align-items:end}.student-enroll-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-enroll-inline-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.student-enroll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.student-enroll-history-list{max-height:220px;overflow:auto;padding-right:4px}.student-enroll-selected-history{margin:0}.management-offering-check-grid{grid-template-columns:minmax(0,1fr);gap:10px}.management-table-panel{display:grid;gap:10px}.management-report-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.management-table-toolbar{display:grid;grid-template-columns:minmax(280px,420px)}.management-student-search-toolbar{grid-template-columns:minmax(280px,420px) max-content;align-items:end;gap:10px}.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-filter-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(122,139,162,.28);border-radius:999px;padding:10px 14px;background:#ffffffc7;color:var(--text);font-weight:600;line-height:1;white-space:nowrap;box-shadow:0 1px 2px #0f172a0a;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.management-filter-chip:hover{border-color:#4361ee59;box-shadow:0 3px 10px #0f172a14;transform:translateY(-1px)}.management-filter-chip.is-active{background:#4361ee1f;border-color:#4361ee66;color:var(--primary)}.management-distribution-toolbar{grid-template-columns:minmax(240px,420px) max-content;align-items:end;gap:8px}.management-curriculum-toolbar{grid-template-columns:minmax(220px,320px) minmax(220px,320px);gap:8px;align-items:end}.management-curriculum-actions{align-items:center}.curriculum-loading-state{padding:36px;text-align:center;color:var(--muted)}.curriculum-onboarding{display:grid;gap:24px;padding:clamp(22px,4vw,44px);border:1px solid rgba(220,205,184,.9);border-radius:22px;background:radial-gradient(circle at 90% 10%,rgba(216,235,222,.9),transparent 34%),linear-gradient(135deg,#fffaf2fa,#f5efe4f0)}.curriculum-onboarding-copy{max-width:720px}.curriculum-onboarding-copy h2,.curriculum-plan-hero h2{margin:5px 0 8px}.curriculum-onboarding-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.curriculum-onboarding-card{display:grid;align-content:start;gap:12px;min-height:230px;padding:22px;border:1px solid rgba(220,205,184,.92);border-radius:18px;background:#ffffffc7}.curriculum-onboarding-card.recommended{border-color:#91ad9b;box-shadow:inset 0 0 0 1px #91ad9b40}.curriculum-onboarding-card button{align-self:end;margin-top:auto}.curriculum-plan-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding:18px 20px;border:1px solid rgba(220,205,184,.9);border-radius:18px;background:linear-gradient(120deg,#f7e9d2ad,#ffffffb8)}.curriculum-advanced-actions{position:relative}.curriculum-advanced-actions summary{cursor:pointer;font-weight:700;color:var(--muted)}.curriculum-advanced-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:grid;gap:8px;width:min(320px,80vw);padding:14px;border:1px solid rgba(220,205,184,.95);border-radius:16px;background:#fffdf9;box-shadow:0 18px 45px #2c231924}.curriculum-advanced-menu p{margin:0;color:var(--muted);font-size:.88rem}@media (max-width: 760px){.curriculum-onboarding-options{grid-template-columns:1fr}.curriculum-plan-hero{flex-direction:column}}.management-split-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;align-items:start}.management-detail-card{display:grid;gap:12px;align-content:start;align-self:start;padding:14px;border:1px solid rgba(220,205,184,.82);border-radius:18px;background:#ffffffa3}.management-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.management-detail-grid p{margin:0}.management-inline-code{font-family:Courier New,monospace;font-size:.9rem;word-break:break-all}.management-event-list{display:grid;gap:8px}.management-link-button,button.management-link-button{padding:0;border:0;background:transparent;color:var(--accent-strong);font-weight:700}.checkbox-inline{display:inline-flex;align-items:center;gap:8px}.checkbox-inline input{width:auto;margin:0;flex:0 0 auto}.management-modal-checkbox{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;width:100%;color:var(--muted);line-height:1.35}.management-modal-checkbox input{margin:2px 0 0}.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-disabled-row{background:#d6d0c733}.management-disabled-row td{color:#2a3a4f9e}.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-course-subject-create,.management-course-subject-meta{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:10px;align-items:end}.management-course-subject-card{border:1px dashed rgba(220,205,184,.9);border-radius:14px;padding:10px 12px;display:grid;gap:8px;background:#ffffffd6}.management-course-subject-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.management-course-subject-compact-row{display:grid;gap:10px;align-items:end}.management-course-subject-primary-row{grid-template-columns:minmax(220px,1fr) 150px auto auto}.management-course-subject-teacher-row{grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto}.management-course-subject-title{min-width:0;display:grid;gap:2px}.management-course-subject-title strong,.management-course-subject-title .helper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.management-course-subject-hours,.management-course-subject-teacher-select{min-width:0}.management-course-subject-teachers{min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.management-search-selected-item{gap:6px}.management-search-selected-item button{padding:2px 8px;font-size:.76rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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(1120px,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-sync-report{display:grid;gap:14px}.management-sync-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.management-sync-summary article{border:1px solid rgba(220,205,184,.92);border-radius:14px;padding:12px;display:grid;gap:4px;background:#ffffffd1}.management-sync-summary strong{font-size:1.35rem;color:var(--ink-strong)}.management-sync-course-list{display:grid;gap:12px}.management-sync-course-card{border:1px dashed rgba(220,205,184,.92);border-radius:14px;padding:12px;display:grid;gap:10px;background:#ffffffd6}.management-sync-course-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.management-sync-course-stats{color:var(--ink-muted);font-size:.82rem;white-space:nowrap}.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-summary-grid{grid-template-columns:minmax(180px,.8fr) repeat(2,minmax(220px,1fr));margin-bottom:12px}.management-teacher-load-row{display:grid;align-items:end;gap:10px;margin-top:10px}.management-teacher-load-row label{min-width:0}.management-teacher-load-row-lective{grid-template-columns:minmax(140px,1fr) minmax(120px,.85fr) minmax(170px,1.15fr) minmax(85px,.5fr) minmax(115px,.65fr) minmax(170px,1.15fr) auto}.management-teacher-load-row-non-lective{grid-template-columns:minmax(230px,1.2fr) minmax(130px,.7fr) minmax(260px,1.5fr) auto}.management-teacher-load-row button{min-height:40px;white-space:nowrap}.management-teacher-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.management-teacher-role-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:10px;min-width:0}.management-teacher-role-option input{width:auto;margin-top:3px}.management-teacher-role-option span{display:block;min-width:0;line-height:1.25}.institution-setup-shell{max-width:1120px;padding-top:28px}.institution-setup-actions{display:flex;justify-content:flex-end;margin-bottom:18px}.institution-workspace{display:grid;gap:20px}.institution-setup-hero{background:radial-gradient(circle at 85% 15%,rgba(224,147,62,.2),transparent 32%),linear-gradient(135deg,#17382f,#255747);border-radius:24px;color:#f7f1e4;padding:clamp(28px,5vw,56px)}.institution-setup-hero h1{color:inherit;font-size:clamp(2rem,5vw,4rem);margin:4px 0 10px}.institution-stepper{display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:28px}.institution-stepper span{border-top:3px solid rgba(255,255,255,.2);color:#ffffff8c;padding-top:10px}.institution-stepper span.active{border-color:#e9a34c;color:#fff}.institution-card{display:grid;gap:18px}.institution-form-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.institution-form-grid label{display:grid;font-weight:700;gap:7px}.institution-year-list,.institution-term-list{display:grid;gap:10px}.institution-year-card{align-items:center;background:#f5f1e8;border:1px solid #ddd3c2;border-radius:16px;display:flex;gap:12px;justify-content:space-between;padding:12px}.institution-year-card.current{border-color:#2c6a55;box-shadow:inset 4px 0 #2c6a55}.institution-year-select{align-items:flex-start;background:transparent;color:inherit;display:grid;flex:1;gap:3px;padding:4px 8px;text-align:left}.institution-inline-form{background:#fbf8f1;border:1px dashed #c9bda9;border-radius:16px;display:grid;gap:14px;padding:18px}.institution-term-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.institution-term-list article{background:#f5f1e8;border-radius:14px;display:grid;gap:5px;padding:16px}.institution-term-draft{display:grid;gap:10px;grid-template-columns:1.4fr 1fr 1fr auto}.institution-complete,.institution-empty-state{background:#e9f2ec;border-color:#9ab8a9;text-align:center}@media (max-width: 760px){.institution-stepper,.institution-form-grid,.institution-term-draft{grid-template-columns:1fr}.institution-year-card{align-items:stretch;flex-direction:column}}.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-risk-grid,.management-summary-columns,.management-summary-cards,.management-summary-grid,.management-room-grid,.management-check-grid,.student-enroll-destination,.student-enroll-grid,.student-enroll-inline-action,.management-student-toolbar,.management-teacher-grid,.management-teacher-roles,.management-teacher-summary-grid,.management-teacher-load-row,.management-teacher-load-row-lective,.management-teacher-load-row-non-lective{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}.app-header,.app-header-toolbar{align-items:flex-start;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,.app-header-toolbar-actions,.workspace-switcher,.management-tabs,.management-subtabs{align-items:flex-start;flex-direction:column}.app-header-tools{width:100%;justify-content:space-between}.app-header-user-menu,.app-header-user-button,.app-header-user{max-width:100%}.app-header-brand-line{font-size:.92rem;white-space:normal;flex-wrap:wrap}.management-course-subject-create,.management-course-subject-meta,.management-course-subject-primary-row,.management-course-subject-teacher-row{grid-template-columns:1fr}.management-sync-summary{grid-template-columns:1fr 1fr}.management-sync-course-card-head{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:fit-content;max-width:100%;border-radius:14px}.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}}.attendance-shell{display:grid;gap:8px;width:100%;max-width:none}.attendance-shell>*{min-width:0}.attendance-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start;width:100%}.attendance-sidebar{position:sticky;top:12px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;min-height:calc(100vh - 116px);min-width:0;padding:12px;border:1px solid rgba(220,205,184,.82);border-radius:18px;background:#ffffff94}.attendance-sidebar-navigation{min-width:0}.attendance-content{display:grid;gap:14px;min-width:0}.attendance-sidebar-status{display:flex;align-items:flex-end;min-width:0}.attendance-sidebar-status .badge{width:100%;justify-content:center;white-space:normal;text-align:center}.attendance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.attendance-summary-sections{display:grid;gap:18px}.attendance-summary-section{display:grid;gap:10px}.attendance-summary-section h2{margin:0;font-size:1.05rem}.attendance-summary-card{display:grid;gap:4px}.attendance-summary-card-wide{grid-column:span 2}.attendance-summary-card strong{font-size:2rem;line-height:1}.attendance-summary-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.attendance-tabs{display:flex;flex:1 1 auto;width:100%;min-width:0;flex-direction:column;align-items:stretch;gap:8px;flex-wrap:nowrap;padding:0;border:0;border-radius:0;background:transparent}.attendance-tabs button[role=tab]{flex:0 0 auto;width:100%;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);text-align:left;white-space:normal;box-shadow:none}.attendance-tabs button[role=tab]:hover{background:#ffffffb8;color:var(--text);transform:none}.attendance-tabs button[role=tab]:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 36%,white 64%);outline-offset:2px}.attendance-tabs button[role=tab][aria-selected=true]{background:var(--panel);color:var(--text);border-color:color-mix(in srgb,var(--line) 82%,white 18%);box-shadow:0 1px 2px #18222e0f}.attendance-tardy-dropdown{flex:0 0 auto;position:relative;width:100%}.attendance-tardy-dropdown .ui-dropdown-trigger.attendance-tardy-dropdown-trigger{width:100%;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-weight:700;text-align:left;white-space:normal;box-shadow:none}.attendance-tardy-dropdown .ui-dropdown-trigger.attendance-tardy-dropdown-trigger:hover{background:#ffffffb8;color:var(--text)}.attendance-tardy-dropdown .ui-dropdown-trigger.attendance-tardy-dropdown-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 36%,white 64%);outline-offset:2px}.attendance-tardy-dropdown.is-active .ui-dropdown-trigger.attendance-tardy-dropdown-trigger{background:var(--panel);color:var(--text);border-color:color-mix(in srgb,var(--line) 82%,white 18%);box-shadow:0 1px 2px #18222e0f}.attendance-tardy-dropdown-trigger-content{display:inline-flex;align-items:center;gap:6px;line-height:1}.attendance-tardy-dropdown-icon{width:15px;height:15px;opacity:.9}.attendance-tardy-selection-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;background:#ffffff9e;color:var(--muted);font-size:.82rem;font-weight:700}.attendance-toolbar{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:12px;align-items:start;width:100%;padding:0;margin-bottom:4px}.attendance-toolbar-tabs{width:100%;min-width:0}.attendance-toolbar-meta{display:grid;gap:8px;align-content:start}.attendance-status-toolbar{min-height:34px;display:flex;align-items:center;padding:8px 10px 2px;border:1px solid color-mix(in srgb,var(--line) 84%,white 16%);border-radius:16px;background:#ffffff9e}.attendance-status-toolbar .status-line{margin:0;color:var(--muted);font-size:.88rem}.attendance-toolbar-badges{display:flex;justify-content:flex-start}.attendance-toolbar-badges .badge{white-space:nowrap}.attendance-toolbar-badges{padding-top:0}@media (max-width: 920px){.attendance-layout{grid-template-columns:1fr}.attendance-sidebar{position:static;grid-template-rows:auto;min-height:0}.attendance-tabs{flex-direction:row;align-items:center;flex-wrap:wrap}.attendance-tabs button[role=tab],.attendance-tardy-dropdown,.attendance-tardy-dropdown .ui-dropdown-trigger.attendance-tardy-dropdown-trigger,.attendance-sidebar-status .badge{width:auto}.attendance-toolbar{grid-template-columns:1fr;gap:8px}.attendance-toolbar-meta{justify-content:flex-start}.attendance-toolbar-badges{flex-wrap:wrap}}.attendance-grid,.attendance-stack{display:grid;gap:14px}.attendance-grid{grid-template-columns:minmax(260px,340px) minmax(280px,360px) minmax(0,1fr);align-items:start}.attendance-grid-rapid{grid-template-columns:minmax(560px,1.45fr) minmax(320px,1fr)}.attendance-search-form,.attendance-form,.attendance-review-box{display:grid;gap:10px}.attendance-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendance-form-grid label:last-child:nth-child(odd){grid-column:1 / -1}.attendance-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.attendance-absence-filter-grid{grid-template-columns:minmax(220px,1.3fr) minmax(150px,.8fr) minmax(180px,1fr)}.attendance-absence-sheet-actions{align-items:center;flex-wrap:nowrap}.attendance-absence-date-controls{align-items:center;display:flex;gap:6px;flex:0 0 auto}.attendance-absence-date-controls input[type=date]{width:150px;min-width:150px}.attendance-list,.attendance-history-list{display:grid;gap:10px}.attendance-suggestion-list{max-height:420px;overflow:auto}.attendance-rapid-shell{display:grid;grid-template-columns:minmax(260px,320px) minmax(320px,1fr);gap:16px;align-items:start}.attendance-justification-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);gap:14px;align-items:start}.attendance-justification-layout-full{grid-template-columns:1fr}.attendance-actions-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.attendance-actions-list-column,.attendance-actions-detail-column,.attendance-actions-history-panel{min-width:0}.attendance-actions-history-panel{display:grid;gap:12px}.attendance-rapid-block{display:grid;gap:12px;min-width:0}.attendance-list-card,.attendance-history-card,.attendance-justification-card,.attendance-action-card,.attendance-pass-card{border:1px solid rgba(220,205,184,.75);border-radius:16px;background:#ffffffb8;padding:12px}.attendance-action-detail-header{align-items:flex-start;margin:-2px -2px 10px 0}.attendance-action-detail-header .attendance-action-icon{margin-top:-2px;margin-right:-2px}.attendance-list-card{text-align:left;color:var(--text)}button.attendance-history-card{display:block;width:100%;text-align:left;color:var(--text)}button.attendance-history-card:hover,button.attendance-history-card:focus-visible{border-color:#88582ab3;box-shadow:0 0 0 2px #88582a1f}.attendance-history-card-selectable{width:100%;text-align:left;color:var(--text);cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease,transform .14s ease}.attendance-history-card-selectable:hover,.attendance-history-card-selectable:focus-visible{border-color:#88582ab3;box-shadow:0 0 0 2px #88582a1f;transform:translateY(-1px)}.attendance-list-card.is-selected{border-color:#88582ab3;box-shadow:0 0 0 2px #88582a1f}.attendance-history-card-selectable.is-selected{border-color:#88582ac7;box-shadow:0 0 0 2px #88582a29;background:linear-gradient(180deg,#fff8eff5,#fff3e2f5)}.attendance-list-card-static{cursor:default}.attendance-list-card strong,.attendance-history-card strong,.attendance-pass-card strong{display:block;margin-bottom:4px}.attendance-history-main{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.attendance-history-main>div{min-width:0}.attendance-action-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2px 12px;align-items:baseline;min-width:0}.attendance-action-title-primary,.attendance-action-title-secondary{display:block;line-height:1.15;min-width:0;word-break:break-word}.attendance-action-title-primary{font-weight:800}.attendance-action-title-secondary{color:var(--muted);font-weight:700}.attendance-action-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:42px;height:42px;border-radius:14px;border:1px solid transparent}.attendance-action-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.attendance-action-icon-justification{background:#346f8c24;border-color:#346f8c47;color:#245f7b}.attendance-action-icon-risk{background:#b25b3426;border-color:#b25b344d;color:#95471f}.attendance-action-icon-protocol{background:#566f4c29;border-color:#566f4c4d;color:#3f6335}.attendance-justification-form{margin-top:14px;padding-top:14px;border-top:1px solid rgba(220,205,184,.72)}.attendance-justification-sidebar{position:sticky;top:20px}.attendance-week-picker{display:grid;gap:6px;min-width:180px}.attendance-tracking-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.attendance-tracking-global-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:8px}.attendance-reception-form-grid{display:grid;grid-template-columns:minmax(118px,.14fr) minmax(96px,.12fr) minmax(220px,1fr);gap:10px 14px;align-items:end}.attendance-inline-check{display:flex;gap:8px;align-items:center;color:var(--muted)}.attendance-tardies-header-panel{text-align:center}.attendance-tardies-header-panel .panel-header{justify-content:center;margin-bottom:12px}.attendance-tardies-header-panel .panel-header h2{margin:0}.attendance-tardies-header-panel .panel-header-actions{justify-content:center}.attendance-tardies-header-panel .attendance-segmented-toggle{align-items:center;text-align:center}.attendance-tardies-header-panel .attendance-segmented-toggle .helper{text-align:center}.attendance-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.attendance-segmented-toggle{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;flex:0 0 auto;min-height:34px;padding:7px 14px;border:1px solid color-mix(in srgb,var(--line) 82%,white 18%);border-radius:999px;background:#ffffffa6;color:var(--muted);box-shadow:none}.attendance-segmented-toggle .helper{margin:0;font-size:.74rem;line-height:1.2;color:inherit;opacity:.72;text-align:left}.attendance-segmented-toggle:hover{background:#ffffffe0;color:var(--text);transform:none}.attendance-segmented-toggle.is-active{background:var(--panel);color:var(--text);border-color:color-mix(in srgb,var(--line) 82%,white 18%);box-shadow:0 1px 2px #18222e0f}.attendance-segmented-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 36%,white 64%);outline-offset:2px}.attendance-pass-card{margin-top:14px}.attendance-tracking-panel{overflow:hidden}.attendance-tracking-table-wrap{overflow-x:auto;border:1px solid rgba(220,205,184,.72);border-radius:18px;background:#ffffffa8}.attendance-tracking-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.attendance-tracking-table th,.attendance-tracking-table td{border-right:1px solid rgba(220,205,184,.6);border-bottom:1px solid rgba(220,205,184,.6);padding:10px 12px;vertical-align:top;background:#ffffffc2}.attendance-tracking-table th{position:sticky;top:0;z-index:1;background:#f8f2e9f5;text-align:center;color:var(--text)}.attendance-table-sort-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.attendance-table-sort-button:hover{color:var(--accent);transform:none}.attendance-table-sort-indicator{display:inline-block;min-width:.8em;font-size:.82em}.attendance-tracking-table th:first-child,.attendance-tracking-table td:first-child,.attendance-tracking-table th:nth-child(2),.attendance-tracking-table td:nth-child(2){position:sticky;left:0;z-index:2;background:#f8f2e9fa}.attendance-tracking-table th:nth-child(2),.attendance-tracking-table td:nth-child(2){left:72px;z-index:3}.attendance-tracking-table th:first-child,.attendance-tracking-table td:first-child{min-width:72px;text-align:center}.attendance-tracking-table th:nth-child(2),.attendance-tracking-table td:nth-child(2){min-width:220px}.attendance-tracking-table tr:last-child td{border-bottom:0}.attendance-tracking-table th:last-child,.attendance-tracking-table td:last-child{border-right:0;position:sticky;right:0;z-index:4;background:#f8f2e9fa}.attendance-day-header{display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.attendance-day-header span{font-size:.8rem;color:var(--muted);text-transform:capitalize}.attendance-tracking-cell{min-width:88px}.attendance-tracking-table th.attendance-today-column,.attendance-tracking-table td.attendance-today-column{background:#e9cd7847!important;box-shadow:inset 0 0 0 1px #b98f1a59}.attendance-tracking-table th.attendance-today-column{background:#e9cd7857!important}.attendance-tracking-table td.attendance-today-column{border-top:2px solid rgba(185,143,26,.42);border-bottom:2px solid rgba(185,143,26,.42)}.attendance-week-divider{border-left:3px solid rgba(136,88,42,.32)!important}.attendance-tracking-cell.is-active{background:#d9422f2e;box-shadow:inset 0 0 0 1px #a91e0f3d}.attendance-tracking-cell-content{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;font-size:.78rem;line-height:1}.attendance-tracking-counter-heading,.attendance-tracking-counter-cell{min-width:124px}.attendance-tracking-counter-content{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;font-size:.78rem;line-height:1}.attendance-tracking-counter-content strong{color:var(--text)}.attendance-tracking-counter-content span{color:var(--muted)}.attendance-tracking-metric{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:999px;background:#f8f2e9f2;border:1px solid rgba(220,205,184,.72);white-space:nowrap}.attendance-tracking-metric strong{font-size:.78rem;font-weight:800}.attendance-tracking-counter-cell.is-alert{background:#be1f1f2e!important;box-shadow:inset 0 0 0 1px #9b111147}.attendance-tracking-empty-cell{padding:1.25rem 1rem;text-align:center;color:var(--muted);background:#fbf9f4e6}.attendance-tracking-empty-cell strong,.attendance-tracking-empty-cell span{display:block}.attendance-tracking-empty-cell strong{margin-bottom:.35rem;font-size:.95rem;color:var(--text)}.attendance-tracking-empty-cell span{font-size:.88rem;line-height:1.45}.attendance-reception-table{table-layout:fixed}.attendance-reception-table th:first-child,.attendance-reception-table td:first-child,.attendance-reception-table th:nth-child(2),.attendance-reception-table td:nth-child(2),.attendance-reception-table th:last-child,.attendance-reception-table td:last-child{position:static}.attendance-row-actions{display:flex;flex-wrap:wrap;gap:8px}.attendance-annulled-row{opacity:.72}.attendance-annulled-row td{background:#70696014}.attendance-annul-reason-presets{display:flex;flex-wrap:wrap;gap:8px}.attendance-annul-reason-presets button{min-height:34px}.attendance-action-printed,button.attendance-action-printed{border-color:#3a7e5666;background:#569c7229;color:#24543a}.attendance-action-printed:hover,button.attendance-action-printed:hover{background:#569c7238}.attendance-table-empty{text-align:center;color:var(--muted)}.attendance-pass-grid{display:grid;gap:10px;margin-top:14px}.attendance-date-filter{display:grid;gap:4px;min-width:170px}.attendance-date-filter span{color:var(--muted);font-size:.82rem;font-weight:700}.attendance-date-filter input{min-height:40px}.attendance-issued-pass-card{display:grid;gap:12px;padding:14px;border:1px solid rgba(220,205,184,.78);border-radius:16px;background:#ffffffc2}.attendance-issued-pass-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}.attendance-issued-pass-card header>div:first-child{display:grid;gap:4px}.attendance-issued-pass-card header span{color:var(--muted);font-size:.9rem}.attendance-issued-pass-students{margin:0;padding-left:18px;display:grid;gap:8px}.attendance-issued-pass-students li{display:grid;gap:2px}.attendance-issued-pass-students span{color:var(--muted);font-size:.9rem}.attendance-selected-chip{display:grid;gap:2px;position:relative;min-width:180px;text-align:left;padding:10px 34px 10px 12px;border:1px solid rgba(220,205,184,.75);border-radius:14px;background:#fffc;color:var(--text)}.attendance-selected-chip.is-active{border-color:#88582ab3;box-shadow:0 0 0 2px #88582a1f}.attendance-selected-chip small{color:var(--muted)}.attendance-selected-chip-remove{position:absolute;top:8px;right:10px;color:var(--muted);font-weight:700}.attendance-status-banner{margin:0;padding:12px 14px;border-radius:16px;background:#56996824;color:#255838}.attendance-badge-ok{background:#56996829;color:#255838}.attendance-badge-alert{background:#d6455029;color:#7f1f24}.attendance-badge-warn{background:#be5b2d29;color:#8a4a18}.attendance-live-badge{display:inline-flex;align-items:center;gap:6px}.attendance-live-badge:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent)}.attendance-live-badge-connecting:before{animation:attendance-live-pulse 1.4s ease-in-out infinite}.attendance-history-divider{margin:12px 0 10px;border-top:1px solid rgba(220,205,184,.7)}.attendance-history-footer{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}.attendance-badge-info{background:#4271b124;color:#24508d}@keyframes attendance-live-pulse{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.15);opacity:1}}.attendance-review-box{margin-top:10px}.attendance-action-detail-title-block{display:grid;gap:4px}.attendance-action-detail-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 12px}.attendance-action-detail-title-row h2{margin:0}.attendance-action-detail-event{color:var(--text-muted);font-size:.95rem;font-weight:600}.attendance-action-workflow{display:grid;gap:14px}.attendance-action-step{display:grid;gap:10px;padding:12px;border:1px solid rgba(220,205,184,.68);border-radius:10px;background:#ffffffb8}.attendance-action-step strong{color:var(--text-strong)}.attendance-action-step .helper{margin:0}.attendance-action-summary{display:grid;gap:4px;margin-top:10px;padding:10px 12px;border:1px solid rgba(216,198,175,.75);border-radius:10px;background:#faf6f0e6}.attendance-guardian-options-grid,.attendance-phone-options-grid,.attendance-outcome-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.attendance-outcome-options-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.attendance-guardian-select-button{justify-content:flex-start;align-items:flex-start;width:100%;text-align:left}.attendance-guardian-select-button[aria-pressed=true]{color:#fff}.attendance-guardian-select-button[aria-pressed=true] strong,.attendance-guardian-select-button[aria-pressed=true] span{color:inherit}.attendance-guardian-card-meta{color:var(--text-muted);font-size:.84rem;font-weight:500;line-height:1.35}.attendance-guardian-select-button[aria-pressed=true] .attendance-guardian-card-meta{color:#ffffffeb}.attendance-flow-config{display:grid;gap:10px;padding:12px;border:1px dashed rgba(120,139,158,.55);border-radius:10px;background:#f7fafcbf}.attendance-flow-config strong{color:var(--text-strong)}.attendance-action-meta{display:grid;gap:4px;margin-top:10px;padding:10px 12px;border:1px solid rgba(220,205,184,.75);border-radius:12px;background:#fffbf4cc}.attendance-action-meta strong{color:var(--text-strong)}.attendance-action-meta p{margin:0}.attendance-evidence-preview{display:grid;gap:8px}.attendance-evidence-preview-image{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:12px;border:1px solid rgba(220,205,184,.8);background:#ffffffe6}.attendance-evidence-preview-meta{display:grid;gap:8px}.attendance-evidence-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.attendance-evidence-block{display:grid;gap:10px}.attendance-evidence-clipboard-box{display:grid;gap:8px;align-content:end}.attendance-choice-row{display:flex;flex-wrap:wrap;gap:8px 14px}.attendance-guardian-snapshot-list{display:grid;gap:10px}.attendance-guardian-snapshot-card{display:grid;gap:4px;padding:10px 12px;border-radius:10px;border:1px solid rgba(216,198,175,.8);background:#ffffffbf}.attendance-guardian-snapshot-card strong,.attendance-guardian-snapshot-card span{display:block}.attendance-guardian-snapshot-card strong{color:var(--text-strong)}.attendance-guardian-snapshot-card.attendance-guardian-select-button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.attendance-guardian-snapshot-card.attendance-guardian-select-button[aria-pressed=true] strong,.attendance-guardian-snapshot-card.attendance-guardian-select-button[aria-pressed=true] span{color:inherit}.attendance-guardian-snapshot-card.attendance-guardian-select-button[aria-pressed=true] .attendance-guardian-card-meta{color:#ffffffeb}.attendance-guardian-phone-list{display:flex;flex-wrap:wrap;gap:6px}.attendance-guardian-phone-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid rgba(216,198,175,.9);background:#faf3e9f2;font-size:.84rem}.attendance-action-filter-bar{display:flex;justify-content:flex-start;align-items:end}.attendance-action-filter-bar label{display:grid;gap:8px;min-width:min(100%,420px)}.attendance-action-group{display:grid;gap:10px}.attendance-action-group-toggle{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;text-align:left;color:var(--text)}.attendance-action-group-toggle p{margin:4px 0 0}.attendance-action-group-items{display:grid;gap:8px}.attendance-action-list-item{width:100%}@media (max-width: 1120px){.attendance-summary-grid,.attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-grid-rapid,.attendance-rapid-shell,.attendance-actions-top-grid,.attendance-justification-layout,.attendance-evidence-input-grid{grid-template-columns:1fr}.attendance-justification-sidebar{position:static}.attendance-filter-grid,.attendance-absence-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 780px){.attendance-summary-grid,.attendance-grid,.attendance-filter-grid,.attendance-absence-filter-grid,.attendance-reception-form-grid{grid-template-columns:1fr}.attendance-summary-card-wide{grid-column:auto}.management-split-grid,.management-detail-grid{grid-template-columns:1fr}}.attendance-import-modal-content{display:grid;gap:12px}.attendance-import-textarea{min-height:220px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;line-height:1.45}.attendance-import-table-wrap{max-height:360px}.attendance-import-table{min-width:920px}.attendance-import-table td strong,.attendance-import-table td span:not(.badge){display:block}.success-badge{background:#569c7229;color:#24543a}.warning-badge{background:#e0a03f29;color:#7a4f12}.danger-badge{background:#be4e4e24;color:#8c2f2f}.success-message{margin:0;color:#24543a;font-weight:700}.attendance-justification-toolbar{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(130px,.9fr) minmax(190px,1.4fr) minmax(130px,.8fr) minmax(130px,.8fr) auto;gap:10px;align-items:end;margin-bottom:12px}.attendance-justification-student-filter{position:relative}.attendance-student-filter-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.attendance-student-filter-control input{min-width:0}.attendance-filter-clear{min-height:38px;padding:6px 10px;width:fit-content;border-color:#dccdb8bf;background:#ffffffb8;color:var(--muted)}.attendance-student-filter-results{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;max-height:240px;overflow:auto;padding:6px;border:1px solid rgba(220,205,184,.9);border-radius:12px;background:#fffdfafa;box-shadow:0 14px 30px #3c2b1f24}.attendance-student-filter-results button{display:grid;gap:2px;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left}.attendance-student-filter-results button:hover,.attendance-student-filter-results button:focus-visible{background:#f6efe5f2;color:var(--text)}.attendance-student-filter-results strong{color:var(--text)}.attendance-student-filter-results span{color:var(--muted);font-size:.8rem}.attendance-view-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(220,205,184,.75);border-radius:999px;background:#ffffffbd}.attendance-view-toggle button{border:0;border-radius:999px;padding:8px 12px;background:transparent;color:var(--muted);font-weight:700}.attendance-view-toggle button.is-active{background:#fff;color:var(--text);box-shadow:0 1px 5px #3c2b1f1f}.attendance-justification-list-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.attendance-justification-list-rows{display:grid;gap:8px}.attendance-justification-incident{border:1px solid rgba(220,205,184,.75);background:#ffffffc7;color:var(--text)}button.attendance-justification-incident{width:100%;text-align:left}.attendance-justification-incident-card{min-height:172px;border-radius:18px;padding:14px;display:grid;align-content:space-between;gap:10px}.attendance-justification-incident-row{border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:minmax(180px,1.3fr) auto minmax(105px,auto) auto;gap:10px;align-items:center}.attendance-justification-incident-main strong{display:block;margin-bottom:2px}.attendance-justification-incident-date{white-space:nowrap}.attendance-incident-type-chip{width:fit-content;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;white-space:nowrap}.attendance-incident-type-chip-school-entry{background:#dff3ff;color:#075985}.attendance-incident-type-chip-classroom{background:#ede9fe;color:#5b21b6}.attendance-incident-type-chip-absence{background:#ffe4ef;color:#be185d}@media (max-width: 760px){.attendance-justification-toolbar,.attendance-justification-incident-row{grid-template-columns:1fr}.attendance-view-toggle{justify-self:start}}.attendance-review-justification-item{width:100%}.attendance-review-justification-row{border-radius:14px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.28fr);gap:14px;align-items:stretch}.attendance-review-justification-data{display:grid;gap:12px;min-width:0}.attendance-review-justification-row-top,.attendance-review-justification-row-bottom{display:grid;grid-template-columns:minmax(170px,1.1fr) auto minmax(105px,auto) auto;gap:10px;align-items:center;min-width:0}.attendance-review-justification-row-bottom{grid-template-columns:minmax(170px,.8fr) minmax(260px,1.4fr) auto}.attendance-review-justification-form{margin-top:0;align-content:start}.attendance-review-justification-form textarea{min-height:72px}.attendance-review-justification-form .panel-header-actions{justify-content:flex-start}.pagination-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;margin:8px 0;padding:6px 0;border-top:1px solid rgba(220,205,184,.6)}.pagination-controls__info,.pagination-controls__actions{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.pagination-controls__info{justify-self:start}.pagination-controls__actions{grid-column:2;justify-self:center}.pagination-controls__actions button{min-width:82px;padding:6px 10px;border-color:#dccdb8bf;background:#ffffffb8;color:var(--muted);box-shadow:none}.pagination-controls__actions button:not(:disabled):hover,.pagination-controls__actions button:not(:disabled):focus-visible{background:#f6efe5e6;color:var(--text);transform:none}.pagination-controls__page-size{display:inline-flex;align-items:center;gap:8px;justify-self:end;white-space:nowrap}.pagination-controls__page-size select{min-height:30px;padding:4px 8px}.attendance-justification-modal .attendance-form{margin-top:0}.attendance-modal-inline-header{margin-bottom:10px}.attendance-justification-incident-card.attendance-review-justification-item{align-content:stretch}.attendance-justification-incident-card .attendance-review-justification-row-top,.attendance-justification-incident-card .attendance-review-justification-row-bottom{grid-template-columns:1fr;align-items:start}@media (max-width: 900px){.attendance-review-justification-row,.attendance-review-justification-row-top,.attendance-review-justification-row-bottom{grid-template-columns:1fr}.pagination-controls{grid-template-columns:1fr;justify-content:start}}.attendance-guardian-action-modal .ui-modal-body{padding-top:10px}.attendance-guardian-action-form{gap:8px}.attendance-guardian-action-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:12px;align-items:start;padding:8px 10px}.attendance-guardian-action-summary p,.attendance-guardian-action-log-summary p{margin:2px 0 0}.attendance-guardian-action-log-summary{border-left:1px solid var(--line);padding-left:12px}.attendance-guardian-contact-grid,.attendance-guardian-action-footer-grid{align-items:start}.attendance-guardian-action-items-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.attendance-guardian-action-items-grid .attendance-history-card{min-width:0}@media (max-width: 980px){.attendance-guardian-action-summary,.attendance-guardian-action-items-grid{grid-template-columns:1fr}.attendance-guardian-action-log-summary{border-left:0;padding-left:0}}.attendance-import-result-notice{padding:12px 14px;border:1px solid rgba(86,156,114,.34);border-radius:14px;background:#569c7224;box-shadow:0 8px 22px #569c721f}.attendance-import-table-wrap{overflow:auto}.attendance-import-table{table-layout:fixed;width:1180px;min-width:1180px}.attendance-import-table th{position:sticky;top:0;z-index:8;white-space:nowrap}.attendance-import-table th:first-child,.attendance-import-table td:first-child,.attendance-import-table th:nth-child(2),.attendance-import-table td:nth-child(2),.attendance-import-table th:last-child,.attendance-import-table td:last-child{position:static;left:auto;right:auto;z-index:auto;min-width:0;text-align:left}.attendance-import-table thead th:first-child,.attendance-import-table thead th:nth-child(2),.attendance-import-table thead th:last-child{position:sticky;top:0;z-index:8}.attendance-import-col-status{width:112px}.attendance-import-col-time{width:78px}.attendance-import-col-type{width:132px}.attendance-import-col-block{width:96px}.attendance-import-col-run{width:112px}.attendance-import-col-student{width:250px}.attendance-import-col-course{width:118px}.attendance-import-col-match{width:282px}.attendance-import-status-cell{width:112px;max-width:112px}.attendance-import-status-cell .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.attendance-import-table td:nth-child(2),.attendance-import-table td:nth-child(7){white-space:nowrap}.attendance-import-table td:nth-child(6),.attendance-import-table td:nth-child(8){overflow-wrap:anywhere}.attendance-import-clipboard-panel{display:grid;justify-items:start;gap:8px;padding:12px;border:1px dashed rgba(149,113,73,.36);border-radius:16px;background:#fffaf3b8}.attendance-import-clipboard-notice{margin:0;color:var(--muted);font-weight:700}.attendance-import-progress-notice{border-color:#e0a03f61;background:#e0a03f24;color:#7a4f12;box-shadow:0 8px 22px #e0a03f1f}.attendance-action-attempt-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-start;margin-top:.45rem}.attendance-action-attempt-history ul{display:grid;gap:.5rem;list-style:none;margin:.5rem 0 0;padding:0}.attendance-action-attempt-history li{border:1px solid var(--border-subtle, #e5e7eb);border-radius:.75rem;display:grid;gap:.2rem;padding:.65rem .75rem}.attendance-action-attempt-history small{color:var(--text-muted, #64748b)}.attendance-guardian-action-item-card{padding:0;overflow:hidden}.attendance-guardian-action-item-toggle{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding:14px;color:var(--text);text-align:left}.attendance-guardian-action-item-toggle>span:first-child{display:grid;gap:3px;min-width:0}.attendance-guardian-action-item-toggle-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:0 0 auto}.attendance-guardian-action-item-body{display:grid;gap:10px;padding:0 14px 14px}.attendance-guardian-risk-step{margin:0}.attendance-guardian-action-item-card{background:#fffaf2;border-color:#eadcc8}.attendance-guardian-action-item-toggle{background:#fffaf2}.attendance-guardian-action-item-toggle:hover{background:#f7f1e8}.attendance-guardian-action-item-body{background:#fffdf8;border-top:1px solid #eadcc8}.totem-shell{min-height:100vh;padding:32px 20px;background:radial-gradient(circle at top,rgba(194,216,194,.72),transparent 36%),linear-gradient(180deg,#f5efe3,#efe5d2)}.totem-panel{width:min(760px,100%);margin:0 auto;padding:32px;border-radius:28px;background:#fffcf6f5;border:1px solid rgba(107,87,54,.12);box-shadow:0 28px 80px #4731171f;display:grid;gap:20px}.totem-heading{display:grid;gap:8px}.totem-form{display:grid;gap:12px}.totem-input{min-height:58px;padding:0 18px;border-radius:18px;border:1px solid rgba(119,92,50,.22);background:#fffffff0;font:inherit;font-size:1.05rem}.totem-banner{margin:0;padding:12px 14px;border-radius:16px}.totem-banner.is-error{background:#d6455024;color:#7f1f24}.totem-banner.is-info{background:#4271b124;color:#24508d}.totem-results{display:grid;gap:12px}.totem-result-card{width:100%;padding:16px 18px;border-radius:20px;border:1px solid rgba(119,92,50,.18);background:#ffffffeb;color:var(--text);text-align:left;display:grid;gap:4px}.totem-result-card strong{color:var(--text);font-size:1rem}.totem-result-card small{color:var(--muted);font-size:.9rem}.totem-result-card:hover,.totem-result-card:focus-visible{border-color:#88582aa3;box-shadow:0 0 0 3px #88582a1f}.totem-success-card{padding:22px;border-radius:24px;background:#5699681f;display:grid;gap:10px}.totem-success-card h2,.totem-success-card p{margin:0}.totem-ticket-meta{display:flex;gap:10px;flex-wrap:wrap}.totem-help{color:var(--muted);display:grid;gap:8px}.totem-help p{margin:0}.totem-print-sheet{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0}.totem-ticket{width:80mm;box-sizing:border-box;padding:8mm 5mm;background:#fff;color:#111;font-family:Courier New,monospace;display:grid;gap:4px}.totem-ticket h2,.totem-ticket p{margin:0}.totem-ticket-school{font-size:.9rem}.totem-ticket-student{font-weight:700}.totem-activation-card{display:grid;justify-items:center;gap:10px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}.totem-pin-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;gap:10px}.mobile-totem-shell{min-height:100dvh;padding:18px;background:radial-gradient(circle at 20% 0%,rgba(227,151,77,.24),transparent 32%),linear-gradient(160deg,#f8f1e5,#eadcc5);color:#182533}.mobile-state-card,.mobile-pin-card,.mobile-operation-card{width:min(100%,520px);margin:0 auto;border:1px solid rgba(94,67,36,.16);border-radius:26px;background:#fffcf6f7;box-shadow:0 20px 55px #4a311821}.mobile-state-card{min-height:calc(100dvh - 36px);display:grid;align-content:center;gap:14px;padding:28px;text-align:center}.mobile-pin-card{display:grid;gap:18px;padding:24px 20px;text-align:center}.mobile-pin-dots{display:flex;justify-content:center;gap:16px}.mobile-pin-dots span{width:18px;height:18px;border:2px solid #9b7045;border-radius:50%;background:transparent}.mobile-pin-dots span.is-filled{background:#9b4f29;border-color:#9b4f29}.mobile-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mobile-keypad button{min-height:60px;border-radius:18px;font-size:1.25rem}.mobile-keypad button.ghost{font-size:.85rem}.mobile-confirm-key{background:#2f704b}.mobile-totem-header{width:min(100%,520px);margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-operation-card{display:grid;gap:14px;padding:16px}.mobile-issue-heading{display:grid;gap:0}.mobile-issue-heading .eyebrow{margin-bottom:0}.mobile-search-form{display:grid;gap:10px}.mobile-search-form input{min-height:58px;font-size:1.05rem;border-radius:16px}.mobile-search-form button{min-height:52px}.mobile-candidate-list{display:grid;gap:7px}.mobile-candidate{min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 11px;background:#fff;color:var(--text);border:1px solid var(--line);text-align:left}.mobile-candidate strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-candidate span{color:#7b4b26;font-size:.88rem;font-weight:800;white-space:nowrap}.mobile-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:22;display:grid;place-items:end center;padding:18px 18px 10mm;background:#1825336b}.mobile-confirm-card{position:relative;width:min(100%,480px);display:grid;gap:10px;padding:18px;border-radius:20px;background:#fffaf2;box-shadow:0 22px 70px #1825333d}.mobile-confirm-close{position:absolute;top:10px;right:10px;width:38px;min-height:38px;padding:0;border-radius:999px;font-size:1.5rem;line-height:1}.mobile-confirm-card h2{margin:0;padding-right:42px;font-size:1.35rem}.mobile-confirm-actions{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:end;gap:8px;margin-top:2px}.mobile-confirm-primary{width:100%;min-height:56px;align-self:start}.mobile-confirm-cancel{min-height:42px;padding-inline:10px;align-self:end;font-size:.9rem}.mobile-message{display:grid;gap:10px;padding:13px;border-radius:14px}.mobile-message.is-error{color:#7f1f24;background:#d6455024}.mobile-message.is-success{color:#205f3b;background:#40915b24}.mobile-reprint{min-height:48px}.mobile-lock-button{margin-left:auto}.mobile-tabs{width:min(100%,520px);margin:0 auto 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-tabs button{min-height:46px;border-radius:16px;background:#fffcf6b8;color:#6e4d2b}.mobile-tabs button.is-active{background:#9b4f29;color:#fff}.mobile-today-card>.ghost{justify-self:stretch}.mobile-today-list{display:grid;gap:9px}.mobile-today-row{display:grid;grid-template-columns:58px 1fr;gap:8px 10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.mobile-today-row time{color:#7b4b26;font-weight:800}.mobile-today-row>div{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-pass-detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#1825336b}.mobile-pass-detail-card{width:min(100%,480px);display:grid;gap:10px;padding:20px;border-radius:22px;background:#fffaf2;box-shadow:0 22px 70px #1825333d}.mobile-pass-detail-card>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 780px){.totem-shell{padding:18px 14px}.management-policy-grid{grid-template-columns:1fr}.totem-panel{padding:22px 18px}.totem-pin-form{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.totem-print-sheet,.totem-print-sheet *{visibility:visible}.totem-print-sheet{position:static;opacity:1}.totem-ticket{width:80mm;margin:0;padding:8mm 5mm}@page{size:80mm auto;margin:4mm}}
