@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--bg:#f6f7f4;--bg-elevated:#fff;--panel:#fff;--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 #18222e14;--shadow-soft:0 8px 20px #18222e0f}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);background:linear-gradient(135deg, #ad4f2b12 0 12%, transparent 12% 100%), linear-gradient(90deg, #18222e09 1px, transparent 1px), linear-gradient(180deg, #fbfbf8 0%, var(--bg) 100%);color:var(--text);background-size:auto,28px 28px,auto;margin:0}button,input,select,textarea,img{font:inherit}#root{min-height:100vh}.screen-shell{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,p{margin:0}button{border-radius:var(--radius-md);cursor:pointer;background:var(--accent);color:#fff;border:0;padding:8px 12px;font-size:.94rem;font-weight:700;transition:transform .12s,opacity .12s,background .12s,border-color .12s}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{color:var(--muted);border:1px solid var(--line);background:0 0}.ui-button{border-radius:var(--radius-md);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:700;line-height:1.15;display:inline-flex}.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{color:var(--muted);border-color:var(--line);background:0 0}.ui-button-danger{background:var(--danger);color:#fff}.ui-icon-button{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg-elevated);width:38px;height:38px;color:var(--text);justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-dropdown{display:inline-flex;position:relative}.ui-dropdown-trigger{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;display:inline-flex}.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{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--line) 88%, white 12%);min-width:180px;box-shadow:var(--shadow);z-index:30;background:#fffffff7;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px)}.ui-dropdown-menu-start{left:0}.ui-dropdown-menu-end{right:0}.ui-dropdown-item{border-radius:var(--radius-md);width:100%;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;padding:10px 12px;font-weight:600}.ui-dropdown-item:hover{background:var(--panel-strong)}.ui-dropdown-item.is-active{border-color:color-mix(in srgb, var(--line) 82%, white 18%);background:var(--panel-strong);color:var(--text)}.ui-dropdown-item.danger{color:var(--danger)}.ui-badge{border-radius:var(--radius-pill);align-items:center;gap:6px;min-height:24px;padding:3px 8px;font-size:.78rem;font-weight:700;line-height:1.1;display:inline-flex}.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{gap:14px;width:100%;display:grid}.ui-page-shell-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ui-page-shell-copy{gap:4px;min-width:0;display:grid}.ui-page-shell-description{color:var(--muted);max-width:72ch}.ui-page-shell-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ui-page-shell-body{gap:14px;min-width:0;display:grid}.ui-table-shell{gap:10px;min-width:0;display:grid}.ui-table-scroll{min-width:0;overflow-x:auto}.ui-table-empty{color:var(--muted)}.ui-empty-state,.ui-loading-state{color:var(--muted);text-align:center;justify-items:center;gap:6px;padding:22px;display:grid}.ui-empty-state strong{color:var(--text)}.ui-form-field small{color:var(--muted);font-size:.8rem}.ui-tabs{border:1px solid color-mix(in srgb, var(--line) 86%, white 14%);background:color-mix(in srgb, var(--panel-strong) 72%, white 28%);scrollbar-width:none;-ms-overflow-style:none;border-radius:999px;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;padding:4px;display:flex;overflow-x:auto;box-shadow:inset 0 1px #ffffffbf}.ui-tabs button[role=tab]{min-height:34px;color:var(--muted);white-space:nowrap;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:7px 14px}.ui-tabs button[role=tab]:hover{color:var(--text);background:#ffffffb8;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{z-index:100;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.ui-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#18222e57;position:absolute;inset:0}.ui-modal-card{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--line) 82%, white 18%);background:var(--panel);width:min(560px,100%);max-height:min(720px,100dvh - 36px);position:relative;overflow:auto;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,100vw - 28px)}.ui-modal-header,.ui-modal-actions{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.ui-modal-header{border-bottom:1px solid var(--line)}.ui-modal-body{gap:12px;padding:16px;display:grid}.ui-modal-form{gap:12px;display:grid}.ui-modal-actions{border-top:1px solid var(--line);justify-content:flex-end}.ui-modal-close{flex:none}.ui-loading-state-dot{border-radius:var(--radius-pill);background:var(--accent);width:9px;height:9px;animation:.9s ease-in-out infinite alternate ui-loading-pulse}@keyframes ui-loading-pulse{0%{opacity:.35;transform:scale(.78)}to{opacity:1;transform:scale(1)}}.loading-shell{flex:auto;place-items:center;min-height:0;padding:24px;display:grid}.loading-card,.auth-card{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);width:min(900px,100%);box-shadow:var(--shadow)}.loading-card{padding:24px}.auth-card{grid-template-columns:1.05fr .95fr;gap:18px;padding:18px;display:grid;overflow:hidden}.password-gate-card{width:min(960px,100%)}.password-gate-copy{align-self:center}.auth-copy,.auth-form{padding:16px}.auth-copy{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--line) 72%, white 28%);background:linear-gradient(135deg,#ad4f2b14,#0000 34%),linear-gradient(#eef2e8cc,#ffffff94);align-content:center;min-height:340px;display:grid}.brand-lockup,.hero-brand{align-items:center;gap:14px;display:flex}.brand-stack{gap:16px;margin-bottom:14px;display:grid}.brand-lockup{margin-bottom:10px}.brand-logo{object-fit:contain;flex:none;width:112px;height:auto}.brand-logo-hero{width:128px}.brand-wordmark{object-fit:contain;width:min(100%,440px);height:auto}.auth-form{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--line) 78%, white 22%);background:#ffffffd1;align-content:start;gap:14px;display:grid;box-shadow:inset 0 1px #fffc}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-strong);margin:0 0 8px;font-size:.8rem}.lead,.subtitle,.status-line,.helper,.room-legend,.student-meta,.user-chip span{color:var(--muted)}.lead{max-width:58ch;margin-top:10px}.field,label{color:var(--muted);gap:4px;font-size:.9rem;display:grid}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text);background:#fff;padding:8px 10px;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{border-radius:var(--radius-lg);width:min(1280px,100% - 32px);color:var(--danger);background:var(--danger-soft);margin:0 auto 16px;padding:10px 14px}.form-error-inline{border-radius:var(--radius-md);color:var(--danger);background:var(--danger-soft);margin:0;padding:10px 12px}.password-gate-actions{flex-wrap:wrap;gap:10px;display:flex}.layout-change-warning{color:var(--accent-strong);background:#be5b2d24;border:1px solid #be5b2d66;border-radius:12px;margin-top:8px;padding:10px 12px;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,100% - 28px);color:var(--muted);border-top:1px solid color-mix(in srgb, var(--line) 78%, white 22%);justify-content:center;align-items:center;gap:10px;margin:8px auto 18px;padding:12px 14px;font-size:.82rem;display:flex}.product-footer-copy{letter-spacing:.04em;text-transform:uppercase}.product-footer-logo{object-fit:contain;opacity:.88;width:auto;height:66px}.hero{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.app-header-block{width:calc(100vw - 28px);margin-bottom:14px;margin-left:calc(50% - 50vw + 14px)}.app-header{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--line) 86%, white 14%);width:100%;min-height:64px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;gap:16px;padding:10px 14px;display:grid}.app-header-brand{align-items:center;gap:12px;min-width:0;display:flex}.app-header-center{justify-content:center;min-width:0;display:flex}.app-header-center-spacer{min-width:0}.app-header-logo{object-fit:contain;flex:none;width:34px;height:34px}.app-header-brand-copy{min-width:0}.app-header-brand-line{min-width:0;color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:1rem;display:flex}.app-header-brand-line strong{font-size:1.05rem}.app-header-brand-line span:last-child{text-overflow:ellipsis;overflow:hidden}.app-header-brand-separator{color:var(--muted)}.app-header-tools{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.app-header-user-menu{flex:0 auto}.app-header-user-button-content{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--line) 88%, white 12%);max-width:100%;color:var(--text);background:#ffffffe6;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.app-header-user{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--text);font-weight:700;display:inline-block;overflow:hidden}.app-header-icon,.app-header-icon-button{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--line) 88%, white 12%);background:var(--bg-elevated);width:38px;height:38px;color:var(--text);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.app-header-icon-button{padding:0}.app-header-icon-svg{width:18px;height:18px}.app-header-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:8px 2px 0;display:flex}.app-header-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (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{margin-bottom:10px;font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1}.subtitle{max-width:58ch}.status-line{margin-top:8px;font-size:.88rem}.hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.user-chip{background:#ffffffad;border:1px solid #dccdb8bf;border-radius:14px;gap:2px;min-width:180px;padding:8px 10px;font-size:.92rem;display:grid}.layout{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.top-panels{order:3;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.system-log-floating{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:80;pointer-events:none;justify-items:end;gap:12px;display:grid;position:fixed}.system-log-button,.system-log-panel{pointer-events:auto}.system-log-button{border:1px solid color-mix(in srgb, var(--accent) 72%, white 28%);background:color-mix(in srgb, var(--accent) 90%, white 10%);color:#fff;width:27px;min-width:27px;height:27px;box-shadow:var(--shadow-soft);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.system-log-button svg{stroke-width:2px;flex:none;width:16px;height:16px}.system-log-badge{background:var(--danger);color:#fff;border:1px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 4px;font-size:.55rem;font-weight:800;display:inline-flex;position:absolute;top:-3px;right:-3px}.system-log-panel{border:1px solid color-mix(in srgb, var(--line) 78%, white 22%);border-radius:var(--radius-lg);width:min(420px,100vw - 32px);max-height:min(560px,100vh - 104px);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;overflow:hidden}.system-log-panel-header{border-bottom:1px solid color-mix(in srgb, var(--line) 82%, white 18%);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.system-log-panel-header h2{margin:0;font-size:1.05rem}.system-log-panel-actions{gap:6px;display:flex}.system-log-list{gap:8px;max-height:calc(min(560px,100vh - 104px) - 80px);margin:0;padding:12px;list-style:none;display:grid;overflow:auto}.system-log-entry{border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--line) 82%, white 18%);background:#ffffffbd;padding:10px 12px}.system-log-entry-meta{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;font-size:.76rem;font-weight:700;display:flex}.system-log-entry-meta strong{color:var(--text)}.system-log-entry p,.system-log-empty{margin:6px 0 0}.system-log-empty{color:var(--muted);padding:18px}.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 (width<=640px){.system-log-floating{bottom:12px;right:12px}.system-log-panel{width:calc(100vw - 24px)}}.system-log-toast{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);width:min(380px,100vw - 32px);box-shadow:var(--shadow-soft);color:var(--text);cursor:pointer;text-align:left;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;gap:4px;padding:11px 13px;display:grid}.system-log-toast strong{text-transform:uppercase;font-size:.78rem}.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);box-shadow:var(--shadow-soft);padding:13px}.panel-wide{min-width:0;overflow:hidden}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.panel-header-actions,.selector-meta,.teacher-assignment-strip,.toolbar,.room-manager,.room-form,.room-create-form,.room-legend,.stage-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.panel-toggle{white-space:nowrap}.badge{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);padding:5px 9px;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{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}.arrangement-secondary-actions{grid-area:2/3;justify-self:start;align-items:center;gap:6px;display:flex}.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{color:var(--accent-strong);background:#be5b2d17;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700}.panel-body[hidden]{display:none}.panel.is-collapsed{min-height:132px;padding:11px 14px}.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{gap:6px;margin-top:8px;display:grid}.students-list-preview{max-height:320px;padding-right:4px;overflow-y:auto}.student-card{width:100%;color:var(--text);background:#fff;border:1px solid #dccdb8d9;border-radius:14px;justify-content:space-between;align-items:stretch;gap:5px;padding:6px 8px;display:flex}.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{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:6px;padding:0;display:grid}.student-select-button:hover{transform:none}.student-support-tags{flex-wrap:wrap;gap:4px;display:flex}.student-support-tag{min-width:28px;color:var(--accent-strong);letter-spacing:.02em;background:#be5b2d1f;border-radius:999px;justify-content:center;align-items:center;padding:2px 6px;font-size:.62rem;font-weight:800;line-height:1;display:inline-flex}.student-support-tag-pie{color:#b95d00;background:#e089212e}.student-support-tag-pf{color:#8a6900;background:#f5d04247}.student-support-tag-pt{color:#b12632;background:#d6455029}.student-support-tags.inline{margin-top:3px}.student-support-tags.compact{margin-left:auto}.student-support-tags.seat{z-index:2;margin-top:4px;position:relative}.student-card.selected .student-support-tag,.compact-student-card.selected .student-support-tag{color:#fff;background:#ffffff2e}.student-select-static{cursor:default}.student-photo-button{flex:none;align-self:center;min-width:56px;padding:7px 10px;font-size:.82rem}.student-summary{gap:1px;min-width:0;display:grid}.student-number{color:var(--accent-strong);letter-spacing:.02em;font-size:.64rem;font-weight:700;line-height:1.05}.student-name{font-size:.86rem;font-weight:700;line-height:1.08}.student-portrait,.seat-portrait{object-fit:cover;object-position:center;background:linear-gradient(#f6efe5 0%,#eadfce 100%);border:1px solid #dccdb8e6;border-radius:11px;width:38px;height:38px}.student-portrait.placeholder{color:var(--accent-strong);place-items:center;font-size:.76rem;font-weight:700;display:grid}.student-meta{font-size:.74rem;line-height:1.05}.room-form{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.room-form label:first-child,.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{background:#ffffff73;border:1px solid #dccdb8bf;border-radius:16px;margin-top:10px;padding:10px}.panel-subheader{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.blocks-editor{flex-wrap:nowrap;align-items:flex-start;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.block-editor-group{align-items:center;gap:6px;display:flex}.block-editor-card{cursor:grab;background:#fff;border:1px solid #dccdb8d9;border-radius:16px;flex:0 0 124px;gap:8px;min-width:124px;padding:10px;display:grid}.block-editor-card.dragging{opacity:.5}.block-editor-card.drop-target{outline-offset:2px;outline:3px solid #be5b2d47}.block-gap-button{width:28px;min-width:28px;min-height:92px;color:var(--accent-strong);writing-mode:vertical-rl;background:#be5b2d0f;border:1px dashed #be5b2d59;border-radius:14px;align-self:center;padding:6px 3px;font-size:.62rem;font-weight:700;line-height:1.2;transform:rotate(180deg)}.block-gap-button:hover,.block-gap-button:disabled{transform:rotate(180deg)}.block-gap-button.active{background:repeating-linear-gradient(#be5b2d14,#be5b2d14 10px,#be5b2d29 10px 20px)}.block-editor-title{font-size:.84rem;font-weight:700}.block-drag-hint{color:var(--muted);font-size:.7rem}.room-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.room-create-form{grid-template-columns:1.1fr 1.4fr auto;align-items:end;margin-top:10px;display:grid}.room-legend{color:var(--muted);margin-top:10px;font-size:.82rem}.stage-tools-panel{background:#ffffff6b;border:1px solid #dccdb8cc;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;padding:7px 8px;display:flex}.stage-header-bar{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.stage-header-bar>h2{position:static}.stage-tools-groups{display:contents}.stage-tools-panel{justify-content:center;width:100%}.stage-tools-group{border-right:1px dashed #dccdb8e0;flex-wrap:wrap;align-items:stretch;gap:6px;margin-right:2px;padding-right:8px;display:flex}.subtle-tools-group:last-child{border-right:0;margin-right:0;padding-right:0}.stage-tool-button{border:1px dashed var(--line);width:66px;min-width:66px;min-height:56px;color:var(--muted);text-align:center;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 5px 5px;font-size:.96rem;font-weight:800;line-height:1.05;display:inline-flex;position:relative}.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{letter-spacing:.01em;font-size:.54rem;font-weight:700}.stage-tool-count{background:var(--accent-soft);min-width:15px;height:15px;color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:.58rem;font-weight:800;display:inline-flex;position:absolute;top:-5px;right:-5px}.room-stage-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;display:grid}.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{touch-action:none;background:#ffffff75;border:1px solid #dccdb8bf;border-radius:18px;flex:auto;width:100%;min-height:0;max-height:none;position:relative;overflow:hidden}.mobile-stage-transform{transform-origin:0 0;will-change:transform;width:max-content}.mobile-stage-readonly{pointer-events:none;width:800px;min-width:800px}.mobile-stage-readonly .classroom-wrap{width:800px;min-width:800px;overflow:visible}.mobile-stage-readonly .classroom-stage{width:776px;min-width:776px}.compact-students-panel{background:#ffffff85;border:1px solid #dccdb8bf;border-radius:16px;flex-direction:column;min-width:0;height:100%;padding:8px 8px 7px;display:flex;position:relative}.compact-students-panel.drop-target{background:#be5b2d14;border-style:dashed;border-color:#be5b2d8c}.compact-students-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.compact-students-list{flex:auto;grid-auto-rows:max-content;align-content:start;gap:4px;min-height:0;padding-right:1px;display:grid;overflow:auto}.compact-student-card{background:#fff;border:1px solid #dccdb8d1;border-radius:11px}.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{text-align:left;width:100%;color:var(--text);background:0 0;border:0;padding:4px 6px;display:block}.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{flex-wrap:wrap;align-items:baseline;gap:5px;min-width:0;display:flex}.compact-student-number{color:var(--accent-strong);flex:none;font-size:.58rem;font-weight:700;line-height:1.05}.compact-student-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.76rem;font-weight:700;line-height:1;overflow:hidden}.compact-student-course{color:var(--text-muted);text-transform:uppercase;flex:none;font-size:.58rem;font-weight:700;line-height:1.05}.compact-student-preview{pointer-events:none;z-index:12;background:#fffcf5fa;border:1px solid #dccdb8f2;border-radius:16px;width:152px;padding:8px;position:absolute;left:calc(100% + 14px);box-shadow:0 18px 34px #3d291729}.compact-student-preview.is-placeholder{border-radius:14px;width:auto;padding:6px}.compact-student-preview-portrait{aspect-ratio:4/5;object-fit:cover;object-position:center;background:linear-gradient(#f6efe5 0%,#eadfce 100%);border:1px solid #dccdb8e6;border-radius:12px;width:100%;display:block}.compact-student-preview-portrait.placeholder{color:var(--accent-strong);aspect-ratio:4/5;place-items:center;width:46px;font-size:.84rem;font-weight:700;display:grid}.classroom-wrap{background:linear-gradient(#fffdf8 0%,#f5eee2 100%);border:1px solid #dccdb8bf;border-radius:20px;margin-top:10px;padding:12px;overflow-x:auto}.classroom-stage{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.classroom-grid{align-items:stretch;gap:10px;min-width:0;display:flex}.seat-block-shell{grid-template-rows:auto auto;align-self:flex-start;gap:5px;min-width:0;display:grid}.seat-block-shell.drop-target{outline-offset:4px;border-radius:20px;outline:3px solid #be5b2d47}.seat-block-handle{color:var(--accent-strong);cursor:grab;background:#be5b2d14;border:1px dashed #be5b2d47;border-radius:12px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:.72rem;font-weight:700;display:flex}.seat-block-handle.dragging{opacity:.5}.seat-block-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-block{align-content:start;gap:8px;min-width:0;display:grid}.aisle{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.12em;min-width:16px;color:var(--accent-strong);background:repeating-linear-gradient(#be5b2d14,#be5b2d14 10px,#be5b2d29 10px 20px);border:1px dashed #be5b2d59;border-radius:14px;flex:0 0 16px;justify-content:center;align-self:stretch;align-items:center;font-size:.58rem;font-weight:700;display:flex;transform:rotate(180deg)}.feature-zone{grid-template-columns:minmax(0,1fr) minmax(0,1.9fr) minmax(0,1fr);gap:8px;width:100%;display:grid}.room-feature{text-align:center;border:1px solid #dccdb8e6;border-radius:14px;justify-content:center;align-items:center;min-width:0;min-height:42px;padding:8px 10px;font-size:.92rem;font-weight:700;display:flex}.room-feature.teacher-desk{color:#fff;background:linear-gradient(#d9894a 0%,#be5b2d 100%)}.room-feature.board{color:#fff;background:#24303d}.room-feature.door{color:var(--text);background:#efe3c7}.room-feature.door.drop-target{background:#f3dfbd;border-style:dashed;border-color:#be5b2d99}.seat-card{text-align:left;min-width:0;color:var(--text);cursor:pointer;background:#fff;border:1px solid #dccdb8d9;border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:7px 8px;display:flex;position:relative;overflow:hidden}.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(#fff5ee 0%,#ffe3d2 100%);border-color:#be5b2d59}.seat-card.has-background-photo{background:0 0;min-height:112px}.seat-card.has-background-photo:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0c11180a 0%,#0c111814 45%,#0c111885 100%);position:absolute;inset:0}.seat-card.locked{background:linear-gradient(#c47a390f 0%,#c47a391f 100%),#fffbf6f5;box-shadow:inset 0 0 0 2px #8f3f174d}.seat-lock-button{letter-spacing:.01em;z-index:2;color:#6f7a87;background:#f4f0e8f5;border:1px solid #c1b9abe6;border-radius:999px;align-self:flex-end;align-items:center;gap:4px;min-width:50px;min-height:24px;padding:3px 7px;font-size:.66rem;font-weight:700;line-height:1;display:inline-flex;position:relative;box-shadow:0 2px 8px #1a27360f}.seat-lock-button.inactive{color:#6f7a87;background:#f4f0e8f5;border-color:#c1b9abe6}.seat-lock-button.active{color:#7a3414;background:#c47a392e;border-color:#8f3f177a;box-shadow:0 3px 10px #8f3f172e}.seat-lock-icon{font-size:.74rem;line-height:1}.seat-lock-text{letter-spacing:0;font-size:.56rem;line-height:1}.seat-lock-button:hover:not(:disabled),.seat-lock-button:focus-visible{transform:translateY(-1px)}.seat-lock-button:focus-visible{outline-offset:2px;outline:2px solid #c47a3957}.seat-portrait{object-fit:cover;opacity:1;filter:saturate(1.02)contrast(1.05);z-index:0;-webkit-user-drag:none;border-radius:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.seat-card-topline{z-index:2;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;display:flex;position:relative}.seat-student-number{color:var(--accent-strong);letter-spacing:.02em;font-size:.64rem;font-weight:700}.seat-card .student-support-tags.seat{margin-top:0}.seat-card.has-background-photo .seat-card-topline{flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:0;position:absolute;inset:8px auto auto 8px}.seat-card.has-background-photo .seat-student-number{color:#fff7f0fa;text-shadow:0 1px 2px #0c11187a;background:#0c111894;border-radius:999px;margin:0;padding:2px 6px}.seat-card.has-background-photo .student-support-tags.seat{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.seat-card.has-background-photo .student-support-tag{color:#fff7f0fa;text-shadow:0 1px 2px #0c111861;background:#0c111894;min-width:24px;padding:2px 5px;font-size:.54rem}.seat-card.has-background-photo .student-support-tag-pie{color:#fff7f0;background:#e08921e0}.seat-card.has-background-photo .student-support-tag-pf{color:#5c4700;text-shadow:none;background:#f5d042e0}.seat-card.has-background-photo .student-support-tag-pt{color:#fff5f6;background:#d64550e0}.seat-name{overflow-wrap:anywhere;z-index:2;flex:auto;width:100%;margin-top:0;font-size:.76rem;font-weight:700;line-height:1.15;position:relative}.seat-card.short-name-mode .seat-name{font-size:1.06rem;font-weight:800;line-height:1.02}.seat-card.short-name-mode.has-background-photo .seat-name{font-size:.94rem;line-height:1.08}.seat-card.has-background-photo .seat-name{color:#fff;text-shadow:0 1px 2px #0c11188c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0c11186b;border-radius:10px;padding:4px 6px;position:absolute;bottom:7px;left:8px;right:8px}.checkbox-field{color:var(--text);align-items:center;gap:10px;font-size:.92rem;display:flex}.checkbox-field input{width:auto;margin:0}.student-support-group{background:#ffffff75;border:1px solid #dccdb8b8;border-radius:16px;gap:10px;padding:12px 14px;display:grid}.student-support-group-title{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.84rem;font-weight:800}.empty-stage{color:var(--text);background:linear-gradient(135deg,#fff3dfeb 0%,#ffffffd1 100%);border:1px dashed #c97e397a;border-radius:18px;padding:22px 24px;box-shadow:inset 0 0 0 1px #ffffffb3}.empty-stage-title{color:#9f4e18;margin:0;font-size:1.05rem;font-weight:800}.empty-stage-message{color:var(--text);margin:8px 0 0;font-size:.96rem;line-height:1.45}.arrangement-create-callout{background:linear-gradient(135deg,#fff5e2f5 0%,#ffffffe0 100%);border:1px solid #c97e3980;border-radius:18px;width:min(560px,100%);margin:18px 0 12px auto;padding:16px 18px;position:relative;box-shadow:0 16px 28px #95633014}.arrangement-create-callout:before{content:"";background:#c97e398c;width:2px;height:26px;position:absolute;top:-26px;left:9%}.arrangement-create-callout:after{content:"";border-bottom:12px solid #c97e39ad;border-left:7px solid #0000;border-right:7px solid #0000;position:absolute;top:-40px;left:calc(9% - 6px)}.arrangement-create-callout-title{color:#9f4e18;margin:0;font-size:1rem;font-weight:800}.arrangement-create-callout-message{color:var(--text);margin:8px 0 0;line-height:1.45}.profile-modal-card{width:min(640px,100vw - 28px);max-height:calc(100vh - 28px);overflow:auto}.profile-modal-section{background:#ffffff8c;border:1px solid #dccdb8d1;border-radius:14px;gap:8px;padding:10px;display:grid}.profile-modal-section h4{margin:0}.profile-modal-actions{justify-content:flex-end;display:flex}.photo-modal{z-index:30;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.photo-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a171394;position:absolute;inset:0}.photo-modal-card{background:color-mix(in srgb, var(--panel) 94%, white 6%);border:1px solid #dccdb8d1;border-radius:28px;width:min(820px,100vw - 28px);max-height:calc(100vh - 28px);padding:20px;position:relative;overflow:auto;box-shadow:0 28px 65px #16120d40}.photo-modal-header,.photo-modal-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.photo-modal-header{margin-bottom:14px}.photo-modal-body{gap:14px;display:grid}.photo-step{gap:12px;display:grid}.photo-camera-toolbar{flex-wrap:wrap;gap:8px;display:flex}.camera-frame{background:#141b24;border:1px solid #dccdb8b3;border-radius:20px;min-height:min(56vw,360px);overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%;display:block}.photo-modal.mirror-enabled .camera-frame video{transform:scaleX(-1)}.photo-crop-surface{aspect-ratio:1;touch-action:none;cursor:grab;background:#1c2530;border:1px solid #dccdb8b3;border-radius:24px;width:min(100%,400px);margin:0 auto;position:relative;overflow:hidden}.photo-crop-surface img{transform-origin:50%;-webkit-user-select:none;user-select:none;max-width:none;position:absolute;top:50%;left:50%}.photo-crop-overlay{pointer-events:none;border:2px solid #fffc;border-radius:24px;position:absolute;inset:0;box-shadow:inset 0 0 0 999px #0c11183d}@media (pointer:coarse){.photo-crop-surface{cursor:default}}.photo-modal-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:14px}.workspace-switcher{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--line) 88%, white 12%);width:fit-content;max-width:100%;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:6px;display:flex}.workspace-switcher button{border-radius:var(--radius-pill);padding:6px 14px;font-size:.84rem}.student-list-number-editor{flex:0 0 34px;justify-content:center;align-items:center;display:flex}.student-list-number-editor input,.student-list-number-editor span{width:30px;height:30px;color:var(--text);text-align:center;background:#ffffffdb;border:1px solid #dccdb8e6;border-radius:10px;font-size:.78rem;font-weight:800}.student-list-number-editor input{padding-left:1px;padding-right:1px}.student-list-number-editor input:focus{border-color:#be5b2db3;outline:2px solid #be5b2d59}.student-list-number-editor span{color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.student-card.selected .student-list-number-editor span{color:#ffffffe6;background:#ffffff2e}.management-shell{width:100%;min-width:0;padding-top:8px}.management-hero{margin-bottom:12px}.management-content{width:calc(100vw - 28px);margin-left:calc(50% - 50vw + 14px)}.management-nav{gap:10px;margin-bottom:12px;display:grid}.management-tabs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex;overflow:visible}.management-tabs button.active{border-style:solid}.management-tab-dropdown{flex:none}.management-tab-dropdown-trigger-content{align-items:center;gap:6px;display:inline-flex}.management-tab-dropdown-icon{width:15px;height:15px;transition:transform .18s}.management-tab-dropdown-trigger[aria-expanded=true] .management-tab-dropdown-icon{transform:rotate(180deg)}.management-tab-dropdown .ui-dropdown-menu{min-width:min(220px,100vw - 28px);max-width:calc(100vw - 28px)}.management-grid{gap:14px;display:grid}.management-policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.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{background:#ffffffb8;border:1px solid #dccdb8d1;border-radius:18px;gap:12px;padding:14px;display:grid}.management-summary-section-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.management-summary-section-header h3{margin-bottom:2px;font-size:1.08rem}.management-summary-section-header p{color:var(--muted);max-width:70ch;font-size:.92rem}.management-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.management-kpi-card{background:#ffffffbd;border:1px solid #dccdb8d1;border-radius:16px;gap:4px;padding:12px;display:grid}.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{background:#ffffffb3;border:1px solid #dccdb8d1;border-radius:16px;gap:8px;padding:12px;display:grid}.management-alerts h3{font-size:1.05rem}.management-alert{border:1px solid #0000;border-radius:12px;gap:2px;padding:10px;display:grid}.management-alert p{color:var(--muted);font-size:.9rem}.management-alert-warning{background:#c9604b1f;border-color:#c9604b59}.management-alert-info{background:#3b659114;border-color:#3b65913d}.management-risk-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.management-risk-card{background:#ffffffd6;border:1px solid #dccdb8d1;border-radius:16px;gap:6px;padding:12px;display:grid}.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);min-height:2.6em;font-size:.9rem}.management-risk-card button{justify-self:start}.management-risk-card-alert{background:#c9604b14;border-color:#c9604b4d}.management-risk-card-ok{background:#57836414;border-color:#57836447}.management-summary-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.management-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.management-summary-cards article{background:#ffffffa3;border:1px solid #dccdb8d1;border-radius:16px;gap:6px;padding:12px;display:grid}.management-summary-cards p{color:var(--muted);font-size:.9rem}.management-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.management-summary-card{background:#ffffffa3;border:1px solid #dccdb8d1;border-radius:16px;gap:6px;padding:12px;display:grid}.management-summary-card span{color:var(--muted);font-size:.9rem}.management-summary-card strong{font-size:1.25rem}.management-panel{background:#ffffff94;border:1px solid #dccdb8d1;border-radius:18px;gap:8px;padding:14px;display:grid}.management-collapsible-panel{padding:0;overflow:hidden}.management-collapsible-panel>summary{cursor:pointer;list-style:none}.management-collapsible-panel>summary::-webkit-details-marker{display:none}.management-collapsible-summary{align-items:center;padding:14px;display:flex}.management-collapsible-summary:after{content:"▾";color:var(--muted);margin-left:auto;font-size:.9rem}.management-collapsible-panel:not([open])>.management-collapsible-summary:after{content:"▸"}.management-collapsible-content{gap:8px;padding:0 14px 14px;display:grid}.management-panel h4{margin:0}.management-capability-groups{gap:10px;display:grid}.management-capability-group{background:#ffffff85;border:1px solid #dccdb8b3;border-radius:16px;gap:10px;padding:12px;display:grid}.management-capability-group-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.management-panel .management-capability-list{gap:10px;margin:0;padding-left:0;list-style:none;display:grid}.management-panel ul{margin:0;padding-left:20px}.management-capability-item{gap:6px;display:grid}.management-capability-head{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.management-capability-help{width:22px;height:22px;color:var(--accent-strong);background:#fffaf1eb;border:1px solid #ac916573;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.78rem;font-weight:800;line-height:1;display:inline-flex}.management-capability-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.management-capability-scope{color:var(--ink-strong);background:#cfb2832e;border-radius:999px;align-items:center;padding:3px 8px;font-size:.76rem;font-weight:700;display:inline-flex}.management-capability-option-copy{gap:6px;display:grid}.management-list{gap:10px;display:grid}.management-list-card{background:#f5efe4ad;border:1px solid #dccdb8d1;border-radius:14px;gap:6px;padding:12px;display:grid}.management-list-card p{margin:0}.management-resolution-actions{gap:6px;display:grid}.management-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.student-enroll-modal{width:min(860px,100%)}.student-enroll-form{gap:14px}.student-enroll-section{border:1px solid color-mix(in srgb, var(--line) 86%, white 14%);background:color-mix(in srgb, var(--panel-strong) 58%, white 42%);border-radius:16px;gap:10px;padding:12px;display:grid}.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{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-enroll-inline-action{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.student-enroll-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.student-enroll-history-list{max-height:220px;padding-right:4px;overflow:auto}.student-enroll-selected-history{margin:0}.management-offering-check-grid{grid-template-columns:minmax(0,1fr);gap:10px}.management-table-panel{gap:10px;min-width:0;display:grid}.management-report-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.management-table-toolbar{grid-template-columns:minmax(280px,420px);display:grid}.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-course-create-form{grid-template-columns:repeat(3,minmax(0,1fr))}.management-course-create-full-row{grid-column:1/-1}@media (width<=620px){.management-course-create-form{grid-template-columns:1fr}}@media (width<=900px){.management-tabs{border-radius:24px}}.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{color:var(--text);white-space:nowrap;background:#ffffffc7;border:1px solid #7a8ba247;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-weight:600;line-height:1;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.management-filter-chip:hover{border-color:#4361ee59;transform:translateY(-1px);box-shadow:0 3px 10px #0f172a14}.management-filter-chip.is-active{color:var(--primary);background:#4361ee1f;border-color:#4361ee66}.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);align-items:end;gap:8px}.management-curriculum-actions{align-items:center}.curriculum-loading-state{text-align:center;color:var(--muted);padding:36px}.curriculum-onboarding{background:radial-gradient(circle at 90% 10%,#d8ebdee6,#0000 34%),linear-gradient(135deg,#fffaf2fa,#f5efe4f0);border:1px solid #dccdb8e6;border-radius:22px;gap:24px;padding:clamp(22px,4vw,44px);display:grid}.curriculum-onboarding-copy{max-width:720px}.curriculum-onboarding-copy h2,.curriculum-plan-hero h2{margin:5px 0 8px}.curriculum-onboarding-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.curriculum-onboarding-card{background:#ffffffc7;border:1px solid #dccdb8eb;border-radius:18px;align-content:start;gap:12px;min-height:230px;padding:22px;display:grid}.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{background:linear-gradient(120deg,#f7e9d2ad,#ffffffb8);border:1px solid #dccdb8e6;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding:18px 20px;display:flex}.curriculum-advanced-actions{position:relative}.curriculum-advanced-actions summary{cursor:pointer;color:var(--muted);font-weight:700}.curriculum-advanced-menu{z-index:20;background:#fffdf9;border:1px solid #dccdb8f2;border-radius:16px;gap:8px;width:min(320px,80vw);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 45px #2c231924}.curriculum-advanced-menu p{color:var(--muted);margin:0;font-size:.88rem}@media (width<=760px){.curriculum-onboarding-options{grid-template-columns:1fr}.curriculum-plan-hero{flex-direction:column}}.management-split-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:12px;display:grid}.management-detail-card{background:#ffffffa3;border:1px solid #dccdb8d1;border-radius:18px;align-content:start;align-self:start;gap:12px;padding:14px;display:grid}.management-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.management-detail-grid p{margin:0}.management-inline-code{word-break:break-all;font-family:Courier New,monospace;font-size:.9rem}.management-event-list{gap:8px;display:grid}.management-link-button,button.management-link-button{color:var(--accent-strong);background:0 0;border:0;padding:0;font-weight:700}.checkbox-inline{align-items:center;gap:8px;display:inline-flex}.checkbox-inline input{flex:none;width:auto;margin:0}.management-modal-checkbox{width:100%;color:var(--muted);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;line-height:1.35;display:grid}.management-modal-checkbox input{margin:2px 0 0}.management-table-wrap{background:#ffffffb8;border:1px solid #dccdb8d1;border-radius:14px;overflow:auto}.management-table{border-collapse:collapse;width:100%;min-width:760px}.management-table th,.management-table td{text-align:left;border-bottom:1px solid #dccdb8a6;padding:8px 10px;font-size:.91rem}.management-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}.management-course-subject-summary{gap:.2rem;max-width:16rem;display:grid}.management-course-subject-summary span{color:var(--muted-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.management-course-subject-detail{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;align-self:start;padding:0;font-size:.8rem;text-decoration:underline}.management-disabled-row{background:#d6d0c733}.management-disabled-row td{color:#2a3a4f9e}.management-room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.management-room-card{background:#ffffffad;border:1px solid #dccdb8d1;border-radius:16px;gap:6px;padding:12px;display:grid}.management-room-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.management-room-card p{color:var(--muted);font-size:.9rem}.management-room-assignment{margin-top:2px}.management-room-actions,.management-row-actions{flex-wrap:wrap;gap:6px;display:flex}.management-row-actions button{padding:4px 8px;font-size:.78rem}.management-room-actions button{padding:6px 10px;font-size:.82rem}.management-inline-editor{background:#ffffffb3;border:1px dashed #dccdb8f2;border-radius:12px;gap:8px;margin-top:8px;padding:10px;display:grid}.management-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.management-search-selected-list{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.management-search-selected-item{color:var(--muted);background:#ffffffc2;border:1px dashed #dccdb8f2;border-radius:999px;align-items:center;padding:4px 8px;font-size:.85rem;display:inline-flex}.management-search-results{background:#ffffffb8;border:1px solid #dccdb8d1;border-radius:12px;gap:8px;max-height:240px;margin-top:2px;padding:8px;display:grid;overflow:auto}.management-search-result-row{border:1px dashed #dccdb8d1;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px;display:flex}.management-linked-courses{flex-wrap:wrap;gap:6px;display:flex}.management-linked-course{align-items:center;gap:6px;display:inline-flex}.management-linked-course button{padding:2px 6px;font-size:.75rem}.management-layout-modal{width:min(560px,100vw - 24px)}.management-course-subject-create,.management-course-subject-meta{grid-template-columns:minmax(0,1fr) 140px auto;align-items:end;gap:10px;display:grid}.management-course-subject-card{background:#ffffffd6;border:1px dashed #dccdb8e6;border-radius:14px;gap:8px;padding:10px 12px;display:grid}.management-course-subject-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.management-course-subject-compact-row{align-items:end;gap:10px;display:grid}.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{gap:2px;min-width:0;display:grid}.management-course-subject-title strong,.management-course-subject-title .helper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.management-course-subject-hours,.management-course-subject-teacher-select{min-width:0}.management-course-subject-teachers{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.management-search-selected-item{gap:6px}.management-search-selected-item button{padding:2px 8px;font-size:.76rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.management-import-report-modal,.management-export-modal{width:min(760px,100vw - 24px);max-height:calc(100vh - 28px);overflow:auto}.management-teacher-modal{width:min(1120px,100vw - 24px);max-height:calc(100vh - 28px);overflow:auto}.management-reset-modal{width:min(680px,100vw - 24px)}.management-reset-panel{gap:12px}.management-reset-scope-option{align-items:center;gap:10px;display:flex}.management-reset-course-picker{gap:10px;display:grid}.management-reset-course-actions{flex-wrap:wrap;gap:8px;display:flex}.management-reset-course-grid{align-content:start;max-height:280px;padding-right:6px;overflow:auto}.management-reset-course-option{border:1px solid var(--border-color);background:#ffffff94;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex}.management-reset-summary{margin:0}.management-sync-report{gap:14px;display:grid}.management-sync-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.management-sync-summary article{background:#ffffffd1;border:1px solid #dccdb8eb;border-radius:14px;gap:4px;padding:12px;display:grid}.management-sync-summary strong{color:var(--ink-strong);font-size:1.35rem}.management-sync-course-list{gap:12px;display:grid}.management-sync-course-card{background:#ffffffd6;border:1px dashed #dccdb8eb;border-radius:14px;gap:10px;padding:12px;display:grid}.management-sync-course-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.management-sync-course-stats{color:var(--ink-muted);white-space:nowrap;font-size:.82rem}.management-export-panel{gap:6px;padding:12px}.management-export-panel .helper{margin:0}.management-export-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);align-items:start;gap:12px;display:grid}.management-export-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;max-height:280px;padding-right:6px;overflow:auto}.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{grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:10px;min-width:0;display:grid}.management-export-option input{margin-top:3px}.management-export-option span{word-break:normal;overflow-wrap:break-word;min-width:0;line-height:1.25;display:block}.management-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.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{align-items:end;gap:10px;margin-top:10px;display:grid}.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{white-space:nowrap;min-height:40px}.management-inline-error{color:#9f3f2f;align-items:center;gap:6px;margin-top:6px;display:flex}.management-inline-error .ghost{min-height:auto;padding:2px 6px}.management-teacher-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.management-teacher-role-option{grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:10px;min-width:0;display:grid}.management-teacher-role-option input{width:auto;margin-top:3px}.management-teacher-role-option span{min-width:0;line-height:1.25;display:block}.institution-setup-shell{max-width:1120px;padding-top:28px}.institution-setup-actions{justify-content:flex-end;margin-bottom:18px;display:flex}.institution-workspace{gap:20px;display:grid}.institution-setup-hero{color:#f7f1e4;background:radial-gradient(circle at 85% 15%,#e0933e33,#0000 32%),linear-gradient(135deg,#17382f,#255747);border-radius:24px;padding:clamp(28px,5vw,56px)}.institution-setup-hero h1{color:inherit;margin:4px 0 10px;font-size:clamp(2rem,5vw,4rem)}.institution-stepper{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:28px;display:grid}.institution-stepper span{color:#ffffff8c;border-top:3px solid #fff3;padding-top:10px}.institution-stepper span.active{color:#fff;border-color:#e9a34c}.institution-card{gap:18px;display:grid}.institution-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.institution-form-grid label{gap:7px;font-weight:700;display:grid}.institution-year-list,.institution-term-list{gap:10px;display:grid}.institution-year-card{background:#f5f1e8;border:1px solid #ddd3c2;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.institution-year-card.current{border-color:#2c6a55;box-shadow:inset 4px 0 #2c6a55}.institution-year-select{color:inherit;text-align:left;background:0 0;flex:1;align-items:flex-start;gap:3px;padding:4px 8px;display:grid}.institution-inline-form{background:#fbf8f1;border:1px dashed #c9bda9;border-radius:16px;gap:14px;padding:18px;display:grid}.institution-term-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.institution-term-list article{background:#f5f1e8;border-radius:14px;gap:5px;padding:16px;display:grid}.institution-term-draft{grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;display:grid}.institution-complete,.institution-empty-state{text-align:center;background:#e9f2ec;border-color:#9ab8a9}@media (width<=760px){.institution-stepper,.institution-form-grid,.institution-term-draft{grid-template-columns:1fr}.institution-year-card{flex-direction:column;align-items:stretch}}.management-layout-presets{gap:6px;display:grid}.management-layout-preset-list{flex-wrap:wrap;gap:6px;display:flex}.management-layout-preset-list button{border-radius:999px;padding:4px 10px;font-size:.8rem}@media (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-area:auto}.room-form label:first-child,.room-form label:nth-child(2),.room-form label:nth-child(3){grid-column:span 1}.photo-modal-card{padding:16px}}@media (width<=900px){.hero,.layout{grid-template-columns:1fr;display:grid}.app-header,.app-header-toolbar{grid-template-columns:1fr;align-items:flex-start;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{flex:auto;gap:0;min-height:0;display:flex}.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{min-height:var(--mobile-panel-height);flex-direction:column;display:flex}.mobile-photo-mode #students-panel{width:100%}.mobile-photo-mode #students-panel .panel-body{flex-direction:column;flex:auto;min-height:0;display:flex;max-height:none!important}.mobile-photo-mode .students-list{flex:auto;min-height:0;max-height:none!important;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{flex-direction:column;align-items:flex-start}.app-header-tools{justify-content:space-between;width:100%}.app-header-user-menu,.app-header-user-button,.app-header-user{max-width:100%}.app-header-brand-line{white-space:normal;flex-wrap:wrap;font-size:.92rem}.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{flex-direction:column;align-items:flex-start;gap:10px}.brand-logo,.brand-logo-hero{width:84px}.brand-wordmark{width:min(100%,320px)}.workspace-switcher{border-radius:14px;width:fit-content;max-width:100%}.product-footer{text-align:center;justify-content:center;align-items:center;gap:8px;padding-inline:12px}.product-footer-copy{font-size:.72rem}.product-footer-logo{height:34px}.stage-tools-panel{flex-direction:column;align-items:flex-start}.stage-header-bar{min-height:0;position:static}.stage-header-bar>.stage-tools-panel{margin-top:6px;position:static;transform:none}.stage-tools-group{border-right:0;margin-right:0;padding-right:0}.classroom-grid{flex-direction:column}.compact-student-preview{display:none}.aisle{writing-mode:horizontal-tb;width:100%;min-height:18px;transform:none}.mobile-stage-readonly .classroom-wrap{margin-top:0;padding:10px}.mobile-stage-readonly .classroom-grid{flex-direction:row;align-items:stretch;gap:8px}.mobile-stage-readonly .seat-block-shell{align-self:flex-start}.mobile-stage-readonly .seat-block-handle{border-radius:10px;padding:4px 6px;font-size:.64rem}.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{border-radius:12px;min-height:34px;padding:6px 8px;font-size:.78rem}.mobile-stage-readonly .aisle{writing-mode:vertical-rl;letter-spacing:.1em;align-self:stretch;width:auto;min-width:12px;min-height:0;font-size:.5rem;transform:rotate(180deg)}.mobile-stage-readonly .seat-card{border-radius:13px;padding:5px 6px}.mobile-stage-readonly .seat-card.has-background-photo{min-height:88px}.mobile-stage-readonly .seat-lock-button{gap:3px;min-width:40px;min-height:20px;padding:2px 5px}.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{padding:2px 5px;top:6px;left:6px}.mobile-stage-readonly .seat-card.has-background-photo .seat-name{border-radius:8px;padding:3px 5px;bottom:6px;left:6px;right:6px}.photo-modal{padding:12px}.photo-modal-header,.photo-modal-actions{flex-direction:column;align-items:stretch}.photo-camera-toolbar{flex-direction:column}}@media (width<=700px){.photo-modal.mobile-photo-modal{place-items:stretch stretch;padding:0}.photo-modal.mobile-photo-modal .photo-modal-card{width:100vw;min-height:100dvh;max-height:100dvh;padding:14px 14px max(14px, env(safe-area-inset-bottom));border-radius:0;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.photo-modal.mobile-photo-modal .photo-modal-header{flex-direction:row;align-items:flex-start;margin-bottom:10px}.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;padding-bottom:10px;overflow:auto}.photo-modal.mobile-photo-modal .photo-step{align-content:start;min-height:100%}.photo-modal.mobile-photo-modal .camera-frame{border-radius:24px;min-height:min(62dvh,520px)}.photo-modal.mobile-photo-modal .photo-crop-surface{border-radius:24px;width:min(100%,100dvw - 28px)}.photo-modal.mobile-photo-modal .photo-modal-actions{border-top:1px solid #dccdb8b3;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin-top:0;padding-top:10px;display:grid}.photo-modal.mobile-photo-modal .photo-modal-actions button{justify-content:center;width:100%;min-height:46px}.photo-modal.mobile-photo-modal .photo-modal-actions button:last-child{grid-column:1/-1}.photo-modal.mobile-photo-modal .photo-camera-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.photo-modal.mobile-photo-modal .photo-camera-toolbar button{min-height:42px}}.management-policy-panel-teacher-tracking{grid-template-columns:minmax(220px,1fr) minmax(220px,320px) minmax(260px,1.2fr);align-items:center;gap:12px;margin-bottom:14px;display:grid}.management-policy-panel-teacher-tracking h4,.management-policy-panel-teacher-tracking .helper{margin:0}.management-policy-compact-control{gap:5px;display:grid}@media (width<=900px){.management-policy-panel-teacher-tracking{grid-template-columns:1fr;align-items:stretch}}.management-policy-subsections{gap:12px;display:grid}.management-policy-subsection{background:#fffdf89e;border:1px solid #dccdb8b8;border-radius:14px;gap:10px;padding:12px;display:grid}.management-policy-subsection-header{gap:2px;display:grid}.management-policy-subsection-header strong{color:var(--text);font-size:.92rem}.management-policy-subsection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.management-policy-field-label{align-items:center;gap:6px;display:inline-flex}.management-policy-tooltip{color:var(--muted);background:#0f172a14;border:1px solid #0f172a24;border-radius:999px;justify-content:center;align-items:center;width:17px;height:17px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.management-policy-checkbox{flex-direction:row;align-items:center;gap:8px;display:flex}.management-policy-checkbox input[type=checkbox]{margin:0}@media (width<=720px){.management-policy-subsection-grid{grid-template-columns:1fr}}.management-policy-panel-absence .management-policy-subsections{gap:0}.management-policy-panel-absence .management-policy-subsection{background:0 0;border:0;border-top:1px solid #dccdb8d1;border-radius:0;padding:14px 0}.management-policy-panel-absence .management-policy-subsection:first-child{border-top:0;padding-top:4px}.management-policy-panel-absence .management-policy-subsection-header{margin-bottom:2px}.management-policy-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.management-policy-contact-attempt-grid{grid-template-columns:minmax(130px,.65fr) minmax(190px,1fr) minmax(180px,1fr);gap:10px;display:grid}@media (width<=900px){.management-policy-contact-attempt-grid,.management-policy-checkbox-grid{grid-template-columns:1fr}}.management-policy-panel-absence .management-policy-field-label{min-width:0;max-width:100%}.management-policy-panel-absence .management-policy-field-label>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.management-policy-panel-absence label{min-width:0}.management-policy-panel-absence input,.management-policy-panel-absence select,.management-policy-panel-absence textarea{width:100%;min-width:0}.management-policy-panel-absence .management-policy-checkbox .management-policy-field-label>span:first-child{white-space:normal}.management-policy-contact-attempt-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr)}.management-policy-contact-attempt-grid label{gap:4px}.management-policy-contact-attempt-grid .management-policy-field-label{font-size:.76rem}.management-policy-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-policy-panel-absence .management-policy-checkbox{background:#ffffff94;border:1px solid #dccdb894;border-radius:10px;align-items:center;gap:8px;min-width:0;padding:8px 10px}.management-policy-panel-absence .management-policy-checkbox input[type=checkbox]{flex:none;width:14px;min-width:14px;height:14px;margin-top:0}.management-policy-panel-absence .management-policy-checkbox .management-policy-field-label{flex:auto;min-width:0;line-height:1.15}.management-policy-panel-absence .management-policy-checkbox .management-policy-field-label>span:first-child{text-overflow:clip;overflow:visible}.management-policy-history{background:#ffffffb8;border:1px solid #dccdb8d1;border-radius:18px;margin-top:14px;padding:0}.management-policy-history summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.management-policy-history summary::-webkit-details-marker{display:none}.management-policy-history summary:before{color:var(--muted);content:"▸";font-size:.9rem;transition:transform .18s}.management-policy-history[open] summary:before{transform:rotate(90deg)}.management-policy-history summary>span:first-of-type{gap:2px;margin-right:auto;display:grid}.management-policy-history summary strong{font-size:1.08rem}.management-policy-history summary small{color:var(--muted);font-size:.9rem}.management-policy-history-count{color:var(--muted);background:#0f172a14;border:1px solid #0f172a1f;border-radius:999px;justify-content:center;align-items:center;min-width:28px;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.management-policy-history .management-table-wrap{border-bottom:0;border-left:0;border-right:0;border-radius:0 0 18px 18px;margin:0}.management-policy-panel-school-entry .management-policy-subsections,.management-policy-panel-classroom .management-policy-subsections{gap:0}.management-policy-panel-school-entry .management-policy-subsection,.management-policy-panel-classroom .management-policy-subsection{background:0 0;border:0;border-top:1px solid #dccdb8d1;border-radius:0;padding:14px 0}.management-policy-panel-school-entry .management-policy-subsection:first-child,.management-policy-panel-classroom .management-policy-subsection:first-child{border-top:0;padding-top:4px}.management-policy-panel-school-entry .management-policy-subsection-header,.management-policy-panel-classroom .management-policy-subsection-header{margin-bottom:2px}.management-policy-panel-school-entry .management-policy-field-label,.management-policy-panel-classroom .management-policy-field-label{min-width:0;max-width:100%}.management-policy-panel-school-entry .management-policy-field-label>span:first-child,.management-policy-panel-classroom .management-policy-field-label>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.management-policy-panel-school-entry label,.management-policy-panel-classroom label{min-width:0}.management-policy-panel-school-entry input,.management-policy-panel-school-entry select,.management-policy-panel-school-entry textarea,.management-policy-panel-classroom input,.management-policy-panel-classroom select,.management-policy-panel-classroom textarea{width:100%;min-width:0}.management-policy-panel-school-entry .management-policy-checkbox,.management-policy-panel-classroom .management-policy-checkbox{background:#ffffff94;border:1px solid #dccdb894;border-radius:10px;align-items:center;gap:8px;min-width:0;padding:8px 10px}.management-policy-panel-school-entry .management-policy-checkbox input[type=checkbox],.management-policy-panel-classroom .management-policy-checkbox input[type=checkbox]{flex:none;width:14px;min-width:14px;height:14px;margin-top:0}.management-policy-panel-school-entry .management-policy-checkbox .management-policy-field-label,.management-policy-panel-classroom .management-policy-checkbox .management-policy-field-label{flex:auto;min-width:0;line-height:1.15}.management-policy-panel-school-entry .management-policy-checkbox .management-policy-field-label>span:first-child,.management-policy-panel-classroom .management-policy-checkbox .management-policy-field-label>span:first-child{text-overflow:clip;white-space:normal;overflow:visible}.management-course-cell-summary{gap:.3rem;min-width:max-content;display:grid}.management-course-inline-actions{flex-wrap:wrap;gap:.25rem .6rem;display:flex}@media (width<=620px){.management-shell .app-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand""tools""center"}.management-shell .app-header-tools{justify-content:center}.management-table-toolbar,.management-student-search-toolbar,.management-room-toolbar,.management-teacher-toolbar,.management-student-toolbar,.management-distribution-toolbar,.management-curriculum-toolbar{grid-template-columns:minmax(0,1fr);min-width:0}.management-student-search-toolbar .management-filter-chip{justify-self:center}}.attendance-shell{gap:8px;width:100%;max-width:none;display:grid}.attendance-shell>*{min-width:0}.attendance-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:14px;width:100%;display:grid}.attendance-sidebar{background:#ffffff94;border:1px solid #dccdb8d1;border-radius:18px;grid-template-rows:minmax(0,1fr) auto;gap:14px;min-width:0;min-height:calc(100vh - 116px);padding:12px;display:grid;position:sticky;top:12px}.attendance-sidebar-navigation{min-width:0}.attendance-content{gap:14px;min-width:0;display:grid}.attendance-sidebar-status{align-items:flex-end;min-width:0;display:flex}.attendance-sidebar-status .badge{white-space:normal;text-align:center;justify-content:center;width:100%}.attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.attendance-summary-sections{gap:18px;display:grid}.attendance-summary-section{gap:10px;display:grid}.attendance-summary-section h2{margin:0;font-size:1.05rem}.attendance-summary-card{gap:4px;display:grid}.attendance-summary-card-wide{grid-column:span 2}.attendance-summary-card strong{font-size:2rem;line-height:1}.attendance-summary-breakdown{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.attendance-tabs{background:0 0;border:0;border-radius:0;flex-flow:column;flex:auto;align-items:stretch;gap:8px;width:100%;min-width:0;padding:0;display:flex}.attendance-tabs button[role=tab]{width:100%;min-height:38px;color:var(--muted);text-align:left;white-space:normal;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:8px 12px}.attendance-tabs button[role=tab]:hover{color:var(--text);background:#ffffffb8;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:none;width:100%;position:relative}.attendance-tardy-dropdown .ui-dropdown-trigger.attendance-tardy-dropdown-trigger{width:100%;min-height:38px;color:var(--muted);text-align:left;white-space:normal;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 12px;font-weight:700}.attendance-tardy-dropdown .ui-dropdown-trigger.attendance-tardy-dropdown-trigger:hover{color:var(--text);background:#ffffffb8}.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{align-items:center;gap:6px;line-height:1;display:inline-flex}.attendance-tardy-dropdown-icon{opacity:.9;width:15px;height:15px}.attendance-tardy-selection-badge{min-height:34px;color:var(--muted);background:#ffffff9e;border-radius:999px;align-items:center;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.attendance-toolbar{grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:12px;width:100%;margin-bottom:4px;padding:0;display:grid}.attendance-toolbar-tabs{width:100%;min-width:0}.attendance-toolbar-meta{align-content:start;gap:8px;display:grid}.attendance-status-toolbar{border:1px solid color-mix(in srgb, var(--line) 84%, white 16%);background:#ffffff9e;border-radius:16px;align-items:center;min-height:34px;padding:8px 10px 2px;display:flex}.attendance-status-toolbar .status-line{color:var(--muted);margin:0;font-size:.88rem}.attendance-toolbar-badges{justify-content:flex-start;display:flex}.attendance-toolbar-badges .badge{white-space:nowrap}.attendance-toolbar-badges{padding-top:0}@media (width<=920px){.attendance-layout{grid-template-columns:1fr}.attendance-sidebar{grid-template-rows:auto;min-height:0;position:static}.attendance-tabs{flex-flow:wrap;align-items:center}.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{gap:14px;display:grid}.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{gap:10px;display:grid}.attendance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-form-grid label:last-child:nth-child(odd){grid-column:1/-1}.attendance-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;display:grid}.attendance-absence-filter-grid{grid-template-columns:minmax(220px,1.3fr) minmax(150px,.8fr) minmax(180px,1fr)}.attendance-absence-sheet-actions{flex-wrap:nowrap;align-items:center}.attendance-absence-date-controls{flex:none;align-items:center;gap:6px;display:flex}.attendance-absence-date-controls input[type=date]{width:150px;min-width:150px}.attendance-list,.attendance-history-list{gap:10px;display:grid}.attendance-suggestion-list{max-height:420px;overflow:auto}.attendance-rapid-shell{grid-template-columns:minmax(260px,320px) minmax(320px,1fr);align-items:start;gap:16px;display:grid}.attendance-justification-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);align-items:start;gap:14px;display:grid}.attendance-justification-layout-full{grid-template-columns:1fr}.attendance-actions-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.attendance-actions-list-column,.attendance-actions-detail-column,.attendance-actions-history-panel{min-width:0}.attendance-actions-history-panel{gap:12px;display:grid}.attendance-rapid-block{gap:12px;min-width:0;display:grid}.attendance-list-card,.attendance-history-card,.attendance-justification-card,.attendance-action-card,.attendance-pass-card{background:#ffffffb8;border:1px solid #dccdb8bf;border-radius:16px;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{text-align:left;width:100%;color:var(--text);display:block}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{text-align:left;width:100%;color:var(--text);cursor:pointer;transition:border-color .14s,box-shadow .14s,background-color .14s,transform .14s}.attendance-history-card-selectable:hover,.attendance-history-card-selectable:focus-visible{border-color:#88582ab3;transform:translateY(-1px);box-shadow:0 0 0 2px #88582a1f}.attendance-list-card.is-selected{border-color:#88582ab3;box-shadow:0 0 0 2px #88582a1f}.attendance-history-card-selectable.is-selected{background:linear-gradient(#fff8eff5 0%,#fff3e2f5 100%);border-color:#88582ac7;box-shadow:0 0 0 2px #88582a29}.attendance-list-card-static{cursor:default}.attendance-list-card strong,.attendance-history-card strong,.attendance-pass-card strong{margin-bottom:4px;display:block}.attendance-history-main{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.attendance-history-main>div{min-width:0}.attendance-action-title{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:baseline;gap:2px 12px;min-width:0;display:grid}.attendance-action-title-primary,.attendance-action-title-secondary{word-break:break-word;min-width:0;line-height:1.15;display:block}.attendance-action-title-primary{font-weight:800}.attendance-action-title-secondary{color:var(--muted);font-weight:700}.attendance-action-icon{border:1px solid #0000;border-radius:14px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.attendance-action-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:23px;height:23px}.attendance-action-icon-justification{color:#245f7b;background:#346f8c24;border-color:#346f8c47}.attendance-action-icon-risk{color:#95471f;background:#b25b3426;border-color:#b25b344d}.attendance-action-icon-protocol{color:#3f6335;background:#566f4c29;border-color:#566f4c4d}.attendance-justification-form{border-top:1px solid #dccdb8b8;margin-top:14px;padding-top:14px}.attendance-justification-sidebar{position:sticky;top:20px}.attendance-week-picker{gap:6px;min-width:180px;display:grid}.attendance-tracking-toolbar{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.attendance-tracking-global-toolbar{grid-template-columns:minmax(180px,1fr) auto auto minmax(180px,1fr) auto;justify-content:flex-end;align-items:end;gap:8px;display:grid}.attendance-reception-form-grid{grid-template-columns:minmax(118px,.14fr) minmax(96px,.12fr) minmax(220px,1fr);align-items:end;gap:10px 14px;display:grid}.attendance-inline-check{color:var(--muted);align-items:center;gap:8px;display:flex}.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{text-align:center;align-items:center}.attendance-tardies-header-panel .attendance-segmented-toggle .helper{text-align:center}.attendance-chip-row{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.attendance-segmented-toggle{border:1px solid color-mix(in srgb, var(--line) 82%, white 18%);min-height:34px;color:var(--muted);box-shadow:none;background:#ffffffa6;border-radius:999px;flex-direction:column;flex:none;align-items:flex-start;gap:2px;padding:7px 14px;display:inline-flex}.attendance-segmented-toggle .helper{color:inherit;opacity:.72;text-align:left;margin:0;font-size:.74rem;line-height:1.2}.attendance-segmented-toggle:hover{color:var(--text);background:#ffffffe0;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{background:#ffffffa8;border:1px solid #dccdb8b8;border-radius:18px;overflow-x:auto}.attendance-tracking-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.attendance-tracking-table th,.attendance-tracking-table td{vertical-align:top;background:#ffffffc2;border-bottom:1px solid #dccdb899;border-right:1px solid #dccdb899;padding:10px 12px}.attendance-tracking-table th{z-index:1;text-align:center;color:var(--text);background:#f8f2e9f5;position:sticky;top:0}.attendance-table-sort-button{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.attendance-table-sort-button:hover{color:var(--accent);transform:none}.attendance-table-sort-indicator{min-width:.8em;font-size:.82em;display:inline-block}.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){z-index:2;background:#f8f2e9fa;position:sticky;left:0}.attendance-tracking-table th:nth-child(2),.attendance-tracking-table td:nth-child(2){z-index:3;left:72px}.attendance-tracking-table th:first-child,.attendance-tracking-table td:first-child{text-align:center;min-width:72px}.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{z-index:4;background:#f8f2e9fa;border-right:0;position:sticky;right:0}.attendance-day-header{white-space:nowrap;justify-content:center;align-items:center;gap:4px;display:flex}.attendance-day-header span{color:var(--muted);text-transform:capitalize;font-size:.8rem}.attendance-tracking-cell{min-width:88px}.attendance-tracking-table th.attendance-today-column,.attendance-tracking-table td.attendance-today-column{box-shadow:inset 0 0 0 1px #b98f1a59;background:#e9cd7847!important}.attendance-tracking-table th.attendance-today-column{background:#e9cd7857!important}.attendance-tracking-table td.attendance-today-column{border-top:2px solid #b98f1a6b;border-bottom:2px solid #b98f1a6b}.attendance-week-divider{border-left:3px solid #88582a52!important}.attendance-tracking-cell.is-active{background:inherit;box-shadow:none}.attendance-tracking-cell-content{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:.78rem;line-height:1;display:flex}.attendance-tracking-counter-heading,.attendance-tracking-counter-cell{min-width:124px}.attendance-tracking-counter-content{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:.78rem;line-height:1;display:flex}.attendance-tracking-counter-content strong{color:var(--text)}.attendance-tracking-counter-content span{color:var(--muted)}.attendance-tracking-metric{color:var(--text);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.attendance-tracking-metric--absence{background:#ef444438;border-color:#b91c1c47}.attendance-tracking-metric--school-entry{background:#f9731638;border-color:#c2410c47}.attendance-tracking-metric--classroom{background:#facc1557;border-color:#ca8a044d}.attendance-tracking-metric__code,.attendance-tracking-metric strong,.attendance-tracking-metric__justified{font-size:.78rem;font-weight:800;line-height:1}.attendance-tracking-metric__justified{color:#2f6b3c;background:#ffffffc7;border:1px solid #566f4c4d;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;display:inline-flex}.attendance-tracking-counter-cell.is-alert{box-shadow:inset 0 0 0 1px #9b111147;background:#be1f1f2e!important}.attendance-tracking-empty-cell{text-align:center;color:var(--muted);background:#fbf9f4e6;padding:1.25rem 1rem}.attendance-tracking-empty-cell strong,.attendance-tracking-empty-cell span{display:block}.attendance-tracking-empty-cell strong{color:var(--text);margin-bottom:.35rem;font-size:.95rem}.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{flex-wrap:wrap;gap:8px;display:flex}.attendance-annulled-row{opacity:.72}.attendance-annulled-row td{background:#70696014}.attendance-annul-reason-presets{flex-wrap:wrap;gap:8px;display:flex}.attendance-annul-reason-presets button{min-height:34px}.attendance-action-printed,button.attendance-action-printed{color:#24543a;background:#569c7229;border-color:#3a7e5666}.attendance-action-printed:hover,button.attendance-action-printed:hover{background:#569c7238}.attendance-table-empty{text-align:center;color:var(--muted)}.attendance-pass-grid{gap:10px;margin-top:14px;display:grid}.attendance-date-filter{gap:4px;min-width:170px;display:grid}.attendance-date-filter span{color:var(--muted);font-size:.82rem;font-weight:700}.attendance-date-filter input{min-height:40px}.attendance-issued-pass-card{background:#ffffffc2;border:1px solid #dccdb8c7;border-radius:16px;gap:12px;padding:14px;display:grid}.attendance-issued-pass-card header{justify-content:space-between;align-items:start;gap:12px;display:flex}.attendance-issued-pass-card header>div:first-child{gap:4px;display:grid}.attendance-issued-pass-card header span{color:var(--muted);font-size:.9rem}.attendance-issued-pass-students{gap:8px;margin:0;padding-left:18px;display:grid}.attendance-issued-pass-students li{gap:2px;display:grid}.attendance-issued-pass-students span{color:var(--muted);font-size:.9rem}.attendance-selected-chip{text-align:left;min-width:180px;color:var(--text);background:#fffc;border:1px solid #dccdb8bf;border-radius:14px;gap:2px;padding:10px 34px 10px 12px;display:grid;position:relative}.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{color:var(--muted);font-weight:700;position:absolute;top:8px;right:10px}.attendance-status-banner{color:#255838;background:#56996824;border-radius:16px;margin:0;padding:12px 14px}.attendance-badge-ok{color:#255838;background:#56996829}.attendance-badge-alert{color:#7f1f24;background:#d6455029}.attendance-badge-warn{color:#8a4a18;background:#be5b2d29}.attendance-live-badge{align-items:center;gap:6px;display:inline-flex}.attendance-live-badge:before{content:"";width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 14%, transparent);background:currentColor;border-radius:999px}.attendance-live-badge-connecting:before{animation:1.4s ease-in-out infinite attendance-live-pulse}.attendance-history-divider{border-top:1px solid #dccdb8b3;margin:12px 0 10px}.attendance-history-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.attendance-badge-info{color:#24508d;background:#4271b124}@keyframes attendance-live-pulse{0%,to{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.attendance-review-box{margin-top:10px}.attendance-action-detail-title-block{gap:4px;display:grid}.attendance-action-detail-title-row{flex-wrap:wrap;align-items:baseline;gap:10px 12px;display:flex}.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{gap:14px;display:grid}.attendance-action-step{background:#ffffffb8;border:1px solid #dccdb8ad;border-radius:10px;gap:10px;padding:12px;display:grid}.attendance-action-step strong{color:var(--text-strong)}.attendance-action-step .helper{margin:0}.attendance-action-summary{background:#faf6f0e6;border:1px solid #d8c6afbf;border-radius:10px;gap:4px;margin-top:10px;padding:10px 12px;display:grid}.attendance-guardian-options-grid,.attendance-phone-options-grid,.attendance-outcome-options-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.attendance-outcome-options-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.attendance-guardian-select-button{text-align:left;justify-content:flex-start;align-items:flex-start;width:100%}.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{background:#f7fafcbf;border:1px dashed #788b9e8c;border-radius:10px;gap:10px;padding:12px;display:grid}.attendance-flow-config strong{color:var(--text-strong)}.attendance-action-meta{background:#fffbf4cc;border:1px solid #dccdb8bf;border-radius:12px;gap:4px;margin-top:10px;padding:10px 12px;display:grid}.attendance-action-meta strong{color:var(--text-strong)}.attendance-action-meta p{margin:0}.attendance-evidence-preview{gap:8px;display:grid}.attendance-evidence-preview-image{object-fit:cover;background:#ffffffe6;border:1px solid #dccdb8cc;border-radius:12px;width:100%;max-height:240px;display:block}.attendance-evidence-preview-meta{gap:8px;display:grid}.attendance-evidence-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.attendance-evidence-block{gap:10px;display:grid}.attendance-evidence-clipboard-box{align-content:end;gap:8px;display:grid}.attendance-choice-row{flex-wrap:wrap;gap:8px 14px;display:flex}.attendance-guardian-snapshot-list{gap:10px;display:grid}.attendance-guardian-snapshot-card{background:#ffffffbf;border:1px solid #d8c6afcc;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.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{flex-wrap:wrap;gap:6px;display:flex}.attendance-guardian-phone-chip{background:#faf3e9f2;border:1px solid #d8c6afe6;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.84rem;display:inline-flex}.attendance-action-filter-bar{justify-content:flex-start;align-items:end;display:flex}.attendance-action-filter-bar label{gap:8px;min-width:min(100%,420px);display:grid}.attendance-action-group{gap:10px;display:grid}.attendance-action-group-toggle{text-align:left;width:100%;color:var(--text);justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-action-group-toggle p{margin:4px 0 0}.attendance-action-group-items{gap:8px;display:grid}.attendance-action-list-item{width:100%}@media (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 (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{gap:12px;display:grid}.attendance-import-textarea{resize:vertical;min-height:220px;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{color:#24543a;background:#569c7229}.warning-badge{color:#7a4f12;background:#e0a03f29}.danger-badge{color:#8c2f2f;background:#be4e4e24}.success-message{color:#24543a;margin:0;font-weight:700}.attendance-justification-toolbar{grid-template-columns:minmax(130px,.9fr) minmax(130px,.9fr) minmax(190px,1.4fr) minmax(130px,.8fr) minmax(130px,.8fr) auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.attendance-justification-student-filter{position:relative}.attendance-student-filter-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.attendance-student-filter-control input{min-width:0}.attendance-filter-clear{width:fit-content;min-height:38px;color:var(--muted);background:#ffffffb8;border-color:#dccdb8bf;padding:6px 10px}.attendance-student-filter-results{z-index:20;background:#fffdfafa;border:1px solid #dccdb8e6;border-radius:12px;gap:4px;max-height:240px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 14px 30px #3c2b1f24}.attendance-student-filter-results button{color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;gap:2px;padding:8px;display:grid}.attendance-student-filter-results button:hover,.attendance-student-filter-results button:focus-visible{color:var(--text);background:#f6efe5f2}.attendance-student-filter-results strong{color:var(--text)}.attendance-student-filter-results span{color:var(--muted);font-size:.8rem}.attendance-view-toggle{background:#ffffffbd;border:1px solid #dccdb8bf;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.attendance-view-toggle button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 12px;font-weight:700}.attendance-view-toggle button.is-active{color:var(--text);background:#fff;box-shadow:0 1px 5px #3c2b1f1f}.attendance-justification-list-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.attendance-justification-list-rows{gap:8px;display:grid}.attendance-justification-incident{color:var(--text);background:#ffffffc7;border:1px solid #dccdb8bf}button.attendance-justification-incident{text-align:left;width:100%}.attendance-justification-incident-card{border-radius:18px;align-content:space-between;gap:10px;min-height:172px;padding:14px;display:grid}.attendance-justification-incident-row{border-radius:14px;grid-template-columns:minmax(180px,1.3fr) auto minmax(105px,auto) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.attendance-justification-incident-main strong{margin-bottom:2px;display:block}.attendance-justification-incident-date{white-space:nowrap}.attendance-incident-type-chip{white-space:nowrap;border-radius:999px;width:fit-content;padding:5px 9px;font-size:.78rem;font-weight:800}.attendance-incident-type-chip-school-entry{color:#075985;background:#dff3ff}.attendance-incident-type-chip-classroom{color:#5b21b6;background:#ede9fe}.attendance-incident-type-chip-absence{color:#be185d;background:#ffe4ef}@media (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;grid-template-columns:minmax(0,1fr) minmax(220px,.28fr);align-items:stretch;gap:14px;padding:12px;display:grid}.attendance-review-justification-data{gap:12px;min-width:0;display:grid}.attendance-review-justification-row-top,.attendance-review-justification-row-bottom{grid-template-columns:minmax(170px,1.1fr) auto minmax(105px,auto) auto;align-items:center;gap:10px;min-width:0;display:grid}.attendance-review-justification-row-bottom{grid-template-columns:minmax(170px,.8fr) minmax(260px,1.4fr) auto}.attendance-review-justification-form{align-content:start;margin-top:0}.attendance-review-justification-form textarea{min-height:72px}.attendance-review-justification-form .panel-header-actions{justify-content:flex-start}.pagination-controls{border-top:1px solid #dccdb899;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin:8px 0;padding:6px 0;display:grid}.pagination-controls__info,.pagination-controls__actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.pagination-controls__info{justify-self:start}.pagination-controls__actions{grid-column:2;justify-self:center}.pagination-controls__actions button{min-width:82px;color:var(--muted);box-shadow:none;background:#ffffffb8;border-color:#dccdb8bf;padding:6px 10px}.pagination-controls__actions button:not(:disabled):hover,.pagination-controls__actions button:not(:disabled):focus-visible{color:var(--text);background:#f6efe5e6;transform:none}.pagination-controls__page-size{white-space:nowrap;justify-self:end;align-items:center;gap:8px;display:inline-flex}.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 (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{grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);align-items:start;gap:12px;padding:8px 10px;display:grid}.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{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.attendance-guardian-action-items-grid .attendance-history-card{min-width:0}@media (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{background:#569c7224;border:1px solid #569c7257;border-radius:14px;padding:12px 14px;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{z-index:8;white-space:nowrap;position:sticky;top:0}.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{z-index:auto;text-align:left;min-width:0;position:static;left:auto;right:auto}.attendance-import-table thead th:first-child,.attendance-import-table thead th:nth-child(2),.attendance-import-table thead th:last-child{z-index:8;position:sticky;top:0}.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{text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:100%;overflow:hidden}.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{background:#fffaf3b8;border:1px dashed #9571495c;border-radius:16px;justify-items:start;gap:8px;padding:12px;display:grid}.attendance-import-clipboard-notice{color:var(--muted);margin:0;font-weight:700}.attendance-import-progress-notice{color:#7a4f12;background:#e0a03f24;border-color:#e0a03f61;box-shadow:0 8px 22px #e0a03f1f}.attendance-action-attempt-meta{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.35rem;margin-top:.45rem;display:flex}.attendance-action-attempt-history ul{gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.attendance-action-attempt-history li{border:1px solid var(--border-subtle,#e5e7eb);border-radius:.75rem;gap:.2rem;padding:.65rem .75rem;display:grid}.attendance-action-attempt-history small{color:var(--text-muted,#64748b)}.attendance-guardian-action-item-card{padding:0;overflow:hidden}.attendance-guardian-action-item-toggle{width:100%;color:var(--text);text-align:left;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.attendance-guardian-action-item-toggle>span:first-child{gap:3px;min-width:0;display:grid}.attendance-guardian-action-item-toggle-meta{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.attendance-guardian-action-item-body{gap:10px;padding:0 14px 14px;display:grid}.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}.attendance-risk-incidents-panel{gap:8px}.attendance-risk-incidents-list{gap:8px;max-height:260px;padding-right:4px;display:grid;overflow:auto}.attendance-risk-incident-row{background:#fffaf4c7;border:1px solid #cc8b5652;border-radius:12px;gap:6px;padding:10px;display:grid}.attendance-risk-incident-row>div:first-child{gap:2px;display:grid}.attendance-risk-incident-row span{color:var(--muted);font-size:.9rem}.attendance-risk-incident-meta{flex-wrap:wrap;gap:6px 10px;display:flex}.attendance-risk-incident-meta span{background:#ffffffb8;border-radius:999px;padding:2px 6px}@media (width<=860px){.attendance-tracking-global-toolbar{grid-template-columns:1fr auto auto 1fr auto}}@media (width<=720px){.attendance-tracking-global-toolbar{grid-template-columns:1fr;justify-content:stretch}}.attendance-tracking-metric__justified--received{color:#1d4ed8;background:#3b82f629;border-color:#2563eb57}.attendance-tracking-metric__justified--approved{color:#15803d;background:#22c55e29;border-color:#16a34a57}.attendance-tracking-metric__justified--rejected{color:#b91c1c;background:#ef444429;border-color:#dc262657}.attendance-guardian-action-section{background:#fffdf8b8;border:1px solid #dccdb8b8;border-radius:14px;gap:10px;padding:12px;display:grid}.attendance-guardian-action-section-header,.attendance-guardian-week-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.attendance-guardian-action-section-header h3{margin:0}.attendance-guardian-weekly-table td:first-child{min-width:150px}.attendance-guardian-weekly-table td:first-child strong,.attendance-guardian-weekly-table td:first-child span{display:block}.attendance-guardian-weekly-table{table-layout:auto;width:max-content;min-width:100%}.attendance-guardian-weekly-date-heading,.attendance-guardian-weekly-table .attendance-tracking-cell{width:76px;min-width:76px}.attendance-guardian-weekly-student-heading,.attendance-guardian-weekly-student-cell{z-index:2;background:#fffdf8;min-width:150px;max-width:190px;position:sticky;left:0;box-shadow:1px 0 #dccdb8b8}.attendance-guardian-weekly-student-heading{z-index:3}.attendance-guardian-weekly-month-heading{color:var(--muted);letter-spacing:.02em;text-transform:capitalize;background:#f8f2e9f5;border-bottom:1px solid #dccdb8e6;font-size:.78rem}.attendance-guardian-weekly-date-heading{background:#fffdf8f5}.attendance-guardian-weekly-table th:first-child,.attendance-guardian-weekly-table td:first-child,.attendance-guardian-weekly-table th:nth-child(2),.attendance-guardian-weekly-table td:nth-child(2),.attendance-guardian-weekly-table th:last-child,.attendance-guardian-weekly-table td:last-child,.attendance-guardian-weekly-table .attendance-guardian-weekly-date-heading,.attendance-guardian-weekly-table .attendance-guardian-weekly-month-heading{z-index:auto;background:inherit;box-shadow:none;position:static;left:auto;right:auto}.attendance-guardian-weekly-table .attendance-guardian-weekly-student-heading,.attendance-guardian-weekly-table .attendance-guardian-weekly-student-cell{z-index:5;background:#fffdf8;position:sticky;left:0;box-shadow:1px 0 #dccdb8b8}.attendance-guardian-weekly-table .attendance-guardian-weekly-student-heading{z-index:6}.attendance-guardian-weekly-table .attendance-guardian-weekly-month-heading{background:#f8f2e9f5}.attendance-guardian-weekly-table .attendance-guardian-weekly-date-heading{background:#fffdf8f5}.attendance-guardian-weekly-table .attendance-guardian-weekly-date-heading,.attendance-guardian-weekly-table .attendance-tracking-cell{white-space:nowrap;width:auto;min-width:0;padding:6px 8px}.attendance-guardian-weekly-table .attendance-guardian-weekly-month-heading{white-space:nowrap;height:auto;padding:3px 8px;font-size:.68rem;line-height:1.1}.attendance-guardian-weekly-table .attendance-guardian-weekly-date-heading{white-space:nowrap;height:auto;padding:4px 8px;font-size:.72rem;line-height:1.1}.attendance-guardian-weekly-table .attendance-tracking-cell-content{width:max-content;min-width:0;margin:0 auto}.attendance-guardian-weekly-table th,.attendance-guardian-weekly-table td,.attendance-guardian-weekly-table th:nth-child(2),.attendance-guardian-weekly-table td:nth-child(2),.attendance-guardian-weekly-table th:nth-child(3),.attendance-guardian-weekly-table td:nth-child(3){width:auto;min-width:0;max-width:none}.attendance-guardian-weekly-table .attendance-guardian-weekly-student-heading,.attendance-guardian-weekly-table .attendance-guardian-weekly-student-cell{white-space:nowrap;width:max-content;min-width:max-content;max-width:none}.attendance-guardian-weekly-table .attendance-guardian-weekly-student-cell strong,.attendance-guardian-weekly-table .attendance-guardian-weekly-student-cell span{display:inline}.attendance-guardian-weekly-table .attendance-guardian-weekly-student-cell strong:after{content:" · ";color:var(--muted);font-weight:600}.attendance-guardian-weekly-student-line{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.attendance-guardian-weekly-course{color:var(--muted);font-size:.86rem;line-height:1}.attendance-guardian-weekly-table .attendance-guardian-weekly-student-cell strong:after{content:none}.attendance-guardian-weekly-student-inline{white-space:nowrap;line-height:1.05;display:inline-block}.attendance-guardian-weekly-course{display:none}.attendance-guardian-weekly-student-cell{white-space:nowrap;width:max-content;min-width:max-content;max-width:none}.attendance-guardian-modal-header-grid{grid-template-columns:minmax(280px,.95fr) minmax(360px,1.25fr);align-items:stretch;gap:14px;display:grid}.attendance-guardian-header-card{background:#fffdf8e6;border:1px solid #dccdb8db;border-radius:16px;padding:12px}.attendance-guardian-header-card-title{gap:2px;margin-bottom:10px;display:grid}.attendance-guardian-student-toggle-list{flex-wrap:wrap;gap:8px;display:flex}.attendance-guardian-student-toggle{color:var(--text);cursor:pointer;background:#fff;border:1px solid #1e3a5f2e;border-radius:999px;align-items:baseline;gap:6px;padding:7px 10px;font-weight:700;display:inline-flex}.attendance-guardian-student-toggle small{color:var(--muted);font-size:.76rem;font-weight:600}.attendance-guardian-student-toggle.is-active{color:#17483f;background:#e9f5ef;border-color:#2271656b}.attendance-guardian-contact-card{gap:10px;display:grid}.attendance-guardian-contact-outcome-step{margin:0}.attendance-guardian-phone-actions{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.attendance-guardian-whatsapp-button{white-space:nowrap}@media (width<=720px){.attendance-guardian-phone-actions{grid-template-columns:1fr}.attendance-guardian-whatsapp-button{justify-self:start}}@media (width<=900px){.attendance-guardian-modal-header-grid{grid-template-columns:1fr}}.attendance-guardian-evidence-card{gap:10px;display:grid}.attendance-guardian-evidence-card .action-evidence-input,.attendance-guardian-evidence-card .attendance-action-evidence-input{margin:0}.attendance-guardian-history-details{padding:0;overflow:hidden}.attendance-guardian-history-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.attendance-guardian-history-details summary::-webkit-details-marker{display:none}.attendance-guardian-history-details summary:after{content:"Mostrar";color:var(--muted);font-size:.86rem;font-weight:700}.attendance-guardian-history-details[open] summary:after{content:"Ocultar"}.attendance-guardian-history-details summary span{gap:2px;display:grid}.attendance-guardian-history-details summary small{color:var(--muted);font-size:.82rem}.attendance-guardian-history-details .attendance-guardian-action-log-summary,.attendance-guardian-history-details>.helper{margin:0 16px 16px}.attendance-guardian-modal-header-grid{grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) minmax(360px,2fr)}.attendance-guardian-contact-card{align-content:start;gap:12px;display:grid}.attendance-guardian-contact-card .attendance-guardian-channel-toggle{justify-self:center}@media (width<=1180px){.attendance-guardian-modal-header-grid{grid-template-columns:1fr 1fr}.attendance-guardian-evidence-card{grid-column:1/-1}}@media (width<=900px){.attendance-guardian-modal-header-grid{grid-template-columns:1fr}.attendance-guardian-evidence-card{grid-column:auto}}.attendance-guardian-action-body-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.attendance-guardian-action-body-grid>.attendance-guardian-action-section{margin:0}@media (width<=980px){.attendance-guardian-action-body-grid{grid-template-columns:1fr}}.attendance-guardian-action-item-card .attendance-risk-incidents-panel{gap:6px}.attendance-guardian-action-item-card .attendance-risk-incidents-panel>strong{font-size:.9rem}.attendance-guardian-action-item-card .attendance-risk-incidents-panel>.helper{margin:0;font-size:.78rem;line-height:1.25}.attendance-guardian-action-item-card .attendance-risk-incidents-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:238px;overflow:auto}.attendance-guardian-action-item-card .attendance-risk-incident-row{border-radius:10px;gap:4px;padding:7px 8px}.attendance-guardian-action-item-card .attendance-risk-incident-row strong{font-size:.8rem;line-height:1.15}.attendance-guardian-action-item-card .attendance-risk-incident-row span{font-size:.76rem;line-height:1.15}.attendance-guardian-action-item-card .attendance-risk-incident-meta{gap:4px}.attendance-guardian-template-button{justify-self:start}@media (width<=720px){.attendance-guardian-action-item-card .attendance-risk-incidents-list{grid-template-columns:1fr}}.attendance-guardian-channel-toggle{background:#fff;border:1px solid #1e3a5f2e;border-radius:999px;grid-template-columns:repeat(3,minmax(105px,1fr));align-items:stretch;gap:0;display:inline-grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff73}.attendance-guardian-channel-toggle .btn,.attendance-guardian-channel-toggle button{border:0;border-radius:0;justify-content:center;min-height:38px}.attendance-guardian-channel-toggle .btn+.btn,.attendance-guardian-channel-toggle button+button{border-left:1px solid #1e3a5f24}.attendance-guardian-justification-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.attendance-guardian-justification-actions .helper{margin:0}.attendance-guardian-weekly-risk-row .attendance-tracking-cell,.attendance-guardian-weekly-risk-row .attendance-guardian-weekly-student-cell{background:#fff7ed;border-top:1px dashed #f59e0b61}.attendance-guardian-weekly-risk-label{color:#92400e;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:700}.attendance-guardian-weekly-risk-cell{vertical-align:middle}.attendance-guardian-weekly-risk-markers{flex-direction:column;align-items:center;gap:3px;min-width:max-content;display:flex}.attendance-guardian-weekly-risk-chip{color:#92400e;white-space:nowrap;background:#f59e0b24;border:1px solid #f59e0b6b;border-radius:999px;justify-content:center;align-items:center;padding:3px 6px;font-size:.63rem;font-weight:700;line-height:1;display:inline-flex}.attendance-guardian-weekly-risk-cell.is-merged{box-shadow:inset 0 0 0 1px #f59e0b3d}.attendance-guardian-weekly-risk-cell.is-merged .attendance-guardian-weekly-risk-markers{width:100%}.attendance-guardian-weekly-filter-controls{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.attendance-guardian-weekly-filter-controls label{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #94a3b873;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.attendance-guardian-weekly-filter-controls input[type=checkbox]{margin:0}.attendance-guardian-weekly-selectable-metric{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;margin:0;padding:0}.attendance-guardian-weekly-selectable-metric.is-selected .attendance-tracking-metric,.attendance-guardian-weekly-risk-chip.is-selected{outline:none;box-shadow:0 0 0 2px #2563eb73,0 2px 8px #2563eb29}button.attendance-guardian-weekly-risk-chip{cursor:pointer;font-family:inherit}.totem-shell{background:radial-gradient(circle at top,#c2d8c2b8,#0000 36%),linear-gradient(#f5efe3 0%,#efe5d2 100%);min-height:100vh;padding:32px 20px}.totem-panel{background:#fffcf6f5;border:1px solid #6b57361f;border-radius:28px;gap:20px;width:min(760px,100%);margin:0 auto;padding:32px;display:grid;box-shadow:0 28px 80px #4731171f}.totem-heading{gap:8px;display:grid}.totem-form{gap:12px;display:grid}.totem-input{min-height:58px;font:inherit;background:#fffffff0;border:1px solid #775c3238;border-radius:18px;padding:0 18px;font-size:1.05rem}.totem-banner{border-radius:16px;margin:0;padding:12px 14px}.totem-banner.is-error{color:#7f1f24;background:#d6455024}.totem-banner.is-info{color:#24508d;background:#4271b124}.totem-results{gap:12px;display:grid}.totem-result-card{width:100%;color:var(--text);text-align:left;background:#ffffffeb;border:1px solid #775c322e;border-radius:20px;gap:4px;padding:16px 18px;display:grid}.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{background:#5699681f;border-radius:24px;gap:10px;padding:22px;display:grid}.totem-success-card h2,.totem-success-card p{margin:0}.totem-ticket-meta{flex-wrap:wrap;gap:10px;display:flex}.totem-help{color:var(--muted);gap:8px;display:grid}.totem-help p{margin:0}.totem-print-sheet{pointer-events:none;opacity:0;position:fixed;inset:0}.totem-ticket{box-sizing:border-box;color:#111;background:#fff;gap:4px;width:80mm;padding:8mm 5mm;font-family:Courier New,monospace;display:grid}.totem-ticket h2,.totem-ticket p{margin:0}.totem-ticket-school{font-size:.9rem}.totem-ticket-student{font-weight:700}.totem-activation-card{border:1px solid var(--line);background:#fff;border-radius:20px;justify-items:center;gap:10px;padding:18px;display:grid}.totem-pin-form{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;gap:10px;display:grid}.mobile-totem-shell{color:#182533;background:radial-gradient(circle at 20% 0,#e3974d3d,#0000 32%),linear-gradient(160deg,#f8f1e5 0%,#eadcc5 100%);min-height:100dvh;padding:18px}.mobile-state-card,.mobile-pin-card,.mobile-operation-card{background:#fffcf6f7;border:1px solid #5e432429;border-radius:26px;width:min(100%,520px);margin:0 auto;box-shadow:0 20px 55px #4a311821}.mobile-state-card{text-align:center;align-content:center;gap:14px;min-height:calc(100dvh - 36px);padding:28px;display:grid}.mobile-pin-card{text-align:center;gap:18px;padding:24px 20px;display:grid}.mobile-pin-dots{justify-content:center;gap:16px;display:flex}.mobile-pin-dots span{background:0 0;border:2px solid #9b7045;border-radius:50%;width:18px;height:18px}.mobile-pin-dots span.is-filled{background:#9b4f29;border-color:#9b4f29}.mobile-keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mobile-keypad button{border-radius:18px;min-height:60px;font-size:1.25rem}.mobile-keypad button.ghost{font-size:.85rem}.mobile-confirm-key{background:#2f704b}.mobile-totem-header{justify-content:space-between;align-items:center;gap:12px;width:min(100%,520px);margin:0 auto 12px;display:flex}.mobile-operation-card{gap:14px;padding:16px;display:grid}.mobile-issue-heading{gap:0;display:grid}.mobile-issue-heading .eyebrow{margin-bottom:0}.mobile-search-form{gap:10px;display:grid}.mobile-search-form input{border-radius:16px;min-height:58px;font-size:1.05rem}.mobile-search-form button{min-height:52px}.mobile-candidate-list{overscroll-behavior:contain;gap:7px;max-height:360px;padding-right:4px;display:grid;overflow-y:auto}.mobile-candidate{min-height:46px;color:var(--text);border:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;display:grid}.mobile-candidate strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-candidate span{color:#7b4b26;white-space:nowrap;font-size:.88rem;font-weight:800}.mobile-confirm-overlay{z-index:22;background:#1825336b;place-items:end center;padding:18px 18px 10mm;display:grid;position:fixed;inset:0}.mobile-confirm-card{background:#fffaf2;border-radius:20px;gap:10px;width:min(100%,480px);padding:18px;display:grid;position:relative;box-shadow:0 22px 70px #1825333d}.mobile-confirm-close{border-radius:999px;width:38px;min-height:38px;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:10px;right:10px}.mobile-confirm-card h2{margin:0;padding-right:42px;font-size:1.35rem}.mobile-confirm-actions{grid-template-columns:minmax(0,1fr) 112px;align-items:end;gap:8px;margin-top:2px;display:grid}.mobile-confirm-primary{align-self:start;width:100%;min-height:56px}.mobile-confirm-cancel{align-self:end;min-height:42px;padding-inline:10px;font-size:.9rem}.mobile-message{border-radius:14px;gap:10px;padding:13px;display:grid}.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{grid-template-columns:1fr 1fr;gap:8px;width:min(100%,520px);margin:0 auto 12px;display:grid}.mobile-tabs button{color:#6e4d2b;background:#fffcf6b8;border-radius:16px;min-height:46px}.mobile-tabs button.is-active{color:#fff;background:#9b4f29}.mobile-today-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-today-heading .eyebrow{margin-bottom:0}.mobile-today-list{gap:9px;display:grid}.mobile-today-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:58px 1fr;align-items:center;gap:8px 10px;padding:12px;display:grid}.mobile-today-row.is-annulled{opacity:.68}.mobile-today-row time{color:#7b4b26;font-weight:800}.mobile-today-row strong{gap:3px;display:grid}.mobile-today-row strong span{color:#8e2d24;text-transform:uppercase;background:#f5d6d3;border-radius:999px;width:fit-content;padding:2px 7px;font-size:.72rem}.mobile-today-row>div{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.mobile-totem-shell button.danger{color:#fff;background:#b33a2f}.mobile-totem-shell button.danger:disabled{color:#ffffffd1;background:#d8aaa5}.mobile-pass-detail{z-index:20;background:#1825336b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.mobile-pass-detail-card{background:#fffaf2;border-radius:22px;gap:10px;width:min(100%,480px);padding:20px;display:grid;box-shadow:0 22px 70px #1825333d}.mobile-pass-detail-card>div{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.mobile-annul-reason{color:#6e4d2b;gap:7px;font-weight:800;display:grid}.mobile-annul-reason textarea{resize:vertical;border:1px solid var(--line);min-height:92px;font:inherit;border-radius:16px;padding:12px}@media (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{opacity:1;position:static}.totem-ticket{width:80mm;margin:0;padding:8mm 5mm}@page{size:80mm auto;margin:4mm}}
