:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--vipers-acid-strong:oklch(88% .19 116);--vipers-acid:oklch(82.8% .18 116);--vipers-acid-deep:oklch(63% .145 116);--vipers-gold:oklch(87% .15 90);--vipers-danger:oklch(70% .18 25);--vipers-warning:oklch(79% .16 75);--vipers-success:oklch(76% .15 142);--vipers-info:oklch(72% .12 230);--vipers-bg:oklch(12% .008 130);--vipers-surface-1:oklch(16% .01 130);--vipers-surface-2:oklch(20% .012 130);--vipers-surface-3:oklch(24% .014 130);--vipers-panel:oklch(18% .012 130/.96);--vipers-text:oklch(97% .006 130);--vipers-text-soft:oklch(85% .012 130);--vipers-muted:oklch(72% .012 130);--vipers-border:oklch(72% .012 130/.22);--vipers-border-strong:oklch(82.8% .18 116/.46);--color-bg:var(--vipers-bg);--color-surface:var(--vipers-surface-1);--color-surface-raised:var(--vipers-surface-2);--color-surface-hover:var(--vipers-surface-3);--color-text:var(--vipers-text);--color-text-soft:var(--vipers-text-soft);--color-text-muted:var(--vipers-muted);--color-border:var(--vipers-border);--color-focus:var(--vipers-acid-strong);--color-action:var(--vipers-acid);--color-error:var(--vipers-danger);--color-warning:var(--vipers-warning);--color-success:var(--vipers-success);--color-info:var(--vipers-info);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:999px;--elevation-sm:0 .5rem 1.5rem oklch(5% .008 130/.28), 0 0 0 1px oklch(82% .01 130/.04);--elevation-md:0 1rem 2.5rem oklch(5% .008 130/.36), 0 0 0 1px oklch(82% .01 130/.07);--elevation-lg:0 1.5rem 4rem oklch(5% .008 130/.48), 0 0 0 1px oklch(82% .01 130/.1);--z-dropdown:100;--z-sticky:200;--z-backdrop:300;--z-dialog:400;--z-toast:500;--z-tooltip:600;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--text-xs:.75rem;--text-sm:.875rem;--text-body:1rem;--text-subheading:1.125rem;--text-heading:1.5rem;font-synthesis:none;font-kerning:normal;font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Roboto,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.55}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}:where(button,input,select,textarea){font:inherit}:where(.data-table,.admin-data-table,.finance-table){font-variant-numeric:tabular-nums}.app-crash-state{width:min(38rem,100% - 2rem);min-height:100dvh;color:var(--color-text);align-content:center;margin:0 auto;display:grid}.app-crash-state>section{justify-items:start;gap:var(--space-6);display:grid}.app-crash-state>section>svg{color:var(--color-warning)}.app-crash-state h1{margin:0 0 var(--space-2);font-size:var(--text-heading);line-height:1.2}.app-crash-state p{max-width:60ch;color:var(--color-text-soft);margin:0}.app-crash-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.app-crash-actions :where(button,a){justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-raised);cursor:pointer;text-decoration:none;display:inline-flex}.app-crash-actions button{border-color:var(--vipers-border-strong);color:oklch(18% .02 116);background:var(--color-action);font-weight:700}.form-error-message{color:var(--color-error);font-size:var(--text-sm);margin:0;line-height:1.45}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (pointer:coarse){:where(button,[role=button],select,input:not([type=checkbox]):not([type=radio]):not([type=range]),.store-nav a,.bazar-top-nav a,.bazar-bottom-nav a,.store-session a){min-block-size:44px}:where(.store-session-cart,.bazar-carousel-control,.bazar-favorite-button){width:44px;min-width:44px;height:44px;min-height:44px}}@media (forced-colors:active){:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:highlight}}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:var(--vipers-bg);min-width:320px;color:var(--vipers-text);overscroll-behavior:none;overflow-x:hidden}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}.vipers-app{min-height:100vh;position:relative;overflow:hidden}.vipers-bg-overlay,.bg-snakes-container{pointer-events:none;position:fixed;inset:0}.vipers-bg-overlay{background:radial-gradient(circle at 0 0,#c3d52e1f,#0000 26%),radial-gradient(circle at 100% 100%,#ffffff0f,#0000 20%),linear-gradient(#02020299,#020202eb 40%,#020202)}.bg-snakes-container{overflow:hidden}.snake-blob{filter:blur(100px);mix-blend-mode:screen;border-radius:50%;width:450px;height:450px;position:absolute}.snake-alpha{offset-path:path("M -200,800 C 400,800 600,200 1200,200 S 1800,800 2200,100");background:radial-gradient(circle,#c3d52e80 0%,#0000 65%);animation:30s ease-in-out infinite hockey-forward}.snake-ghost{offset-path:path("M 2200,600 C 1600,600 1200,200 800,500 S 200,100 -200,300");background:radial-gradient(circle,#fff6 0%,#0000 65%);animation:28s cubic-bezier(.4,0,.2,1) 3s infinite hockey-defender}@keyframes hockey-forward{0%{offset-distance:0%;opacity:0;transform:scale(.5)}10%{opacity:.7;transform:scale(1)}40%{transform:scale(.7)}60%{opacity:.6;transform:scale(1.1)}90%{opacity:.15}to{offset-distance:100%;opacity:0;transform:scale(.3)}}@keyframes hockey-defender{0%{offset-distance:0%;opacity:0;transform:scale(.5)}20%{opacity:.6}50%{opacity:.7;transform:scale(1.2)}to{offset-distance:100%;opacity:0;transform:scale(.4)}}.vipers-app-content{z-index:1;width:min(1600px,100% - 2rem);margin:0 auto;padding:2rem 0 4rem;position:relative}.brand-block{gap:.5rem;display:grid}.brand-logo{width:78px;height:78px}.brand-eyebrow{color:var(--vipers-acid);letter-spacing:.18em;text-transform:uppercase;font-family:Teko,sans-serif;font-size:1.25rem}.brand-title{text-transform:uppercase;margin:0;font-family:Teko,sans-serif;font-size:clamp(3rem,9vw,5.5rem);line-height:.92}.brand-subtitle{max-width:34rem;color:var(--vipers-muted);margin:0}.glass-panel{border:1px solid var(--vipers-border);border-radius:var(--radius-lg);background:var(--vipers-surface-1);box-shadow:var(--elevation-sm);position:relative;overflow:hidden}.topbar,.section-header,.table-actions,.form-grid,.hero-split,.dashboard-grid,.module-grid,.cards-row,.topbar-actions{gap:1rem;display:flex}.topbar{justify-content:space-between;align-items:center;margin-bottom:1.5rem}.topbar-user{color:var(--vipers-acid);align-items:center;gap:.85rem;display:flex}.topbar-user strong,.topbar-user span{display:block}.topbar-user span{color:var(--vipers-muted);font-size:.85rem}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.hero-split{justify-content:space-between;align-items:flex-end;margin-bottom:2rem}.dashboard-grid,.cards-row{flex-wrap:wrap;align-items:stretch}.metric-card{align-content:start;gap:var(--space-2);min-width:12rem;padding:var(--space-4);border-top:1px solid var(--color-border);flex:1;display:grid}.metric-label,.metric-hint,.section-description{color:var(--vipers-muted)}.metric-label{letter-spacing:.02em;font-size:.82rem;font-weight:700;display:block}.metric-value{font-family:Roboto,system-ui,sans-serif;font-size:2rem;font-weight:800;line-height:1.1;display:block}.section-header{justify-content:space-between;align-items:end;margin-bottom:1rem}.section-title{text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-family:Teko,sans-serif;font-size:clamp(2.2rem,4vw,3.3rem);line-height:.92}.module-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.module-card{border:1px solid var(--vipers-border);color:var(--vipers-text);text-align:left;cursor:pointer;background:#ffffff08;border-radius:1.2rem;gap:.5rem;padding:1.3rem;display:grid}.module-card-active{border-color:var(--vipers-border-strong);background:linear-gradient(#c3d52e26,#ffffff0a)}.module-card-title{text-transform:uppercase;font-family:Teko,sans-serif;font-size:2rem;line-height:.95}.module-card-description{color:var(--vipers-muted)}.action-button,.ghost-button,.danger-button,.status-badge,.tab-button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.15rem;display:inline-flex}.action-button{background:var(--vipers-acid);color:#080808;font-weight:700}.ghost-button{color:var(--vipers-text);border-color:var(--vipers-border);background:#ffffff05}.ghost-button:disabled{cursor:not-allowed;opacity:.55}.ghost-button:focus-visible,.action-button:focus-visible,.icon-action-button:focus-visible,.event-operation-tab:focus-visible,.vipers-field:focus-visible,.vipers-select:focus-visible,.audit-search-field:focus-within{outline-offset:3px;outline:2px solid #cbe454d1}.ghost-button:active:not(:disabled){transform:translateY(0)}.ghost-button.is-highlighted{color:#cbe454;border-color:#cbe45480}.ghost-button.is-positive{color:#a5f39e;border-color:#82d37c73}.ghost-button.is-negative{color:#ffc391;border-color:#ffb07b73}.danger-button{color:var(--vipers-danger);background:#ff626214;border-color:#ff626233}.status-badge{letter-spacing:.08em;text-transform:uppercase;padding:.35rem .8rem;font-size:.78rem}.status-success{color:var(--vipers-acid);background:#c3d52e24}.status-info{color:#72b0ff;background:#3a8cff29}.status-warning{color:var(--vipers-warning);background:#ffb02024}.status-danger{color:var(--vipers-danger);background:#ff626224}.status-muted{color:#bfbfbf;background:#ffffff0f}.table-shell{padding:1.25rem}.table-responsive{overflow-x:auto}table{border-collapse:separate;border-spacing:0 6px;width:100%}th,td{text-align:left;padding:.9rem .7rem}th{color:var(--vipers-muted);letter-spacing:.12em;text-transform:uppercase;font-family:Teko,sans-serif;font-size:1.2rem}td{color:#ddd;background:#ffffff08}.admin-data-table td>strong,.admin-data-table td>small,.admin-data-table td>span:not(.status-badge){display:block}.admin-data-table td>small{color:#ffffffa8;overflow-wrap:anywhere;margin-top:.18rem;font-size:.82rem;line-height:1.35}.admin-data-table td>strong{overflow-wrap:anywhere}th.actions-header,td.actions-cell{text-align:right}td:first-child{border-radius:10px 0 0 10px}td:last-child{border-radius:0 10px 10px 0}.search-input,.vipers-field,.vipers-textarea,.vipers-select{width:100%;color:var(--vipers-text);box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff14;border-radius:1rem;padding:.85rem 1rem}.search-input,.vipers-field,.vipers-select,.admin-filter-dropdown-summary{min-height:52px}.vipers-select{appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:linear-gradient(45deg,#0000 50%,#ffffffbf 50%),linear-gradient(135deg,#ffffffbf 50%,#0000 50%);background-position:calc(100% - 22px) calc(50% - 2px),calc(100% - 16px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2.8rem}.vipers-textarea{resize:vertical;min-height:7rem}.form-grid{gap:1rem;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-stack{gap:.45rem;min-width:0;display:grid}.field-stack label{color:var(--vipers-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.modal-backdrop{z-index:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020202b8;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal-panel{width:min(980px,100%);max-height:min(92vh,980px);padding:1.5rem;overflow:auto}.modal-panel-inline{width:100%;max-height:none;padding:1.5rem;overflow:visible}.student-save-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02020299;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.student-save-overlay-card{min-width:220px;color:var(--vipers-muted);background:#0a0a0ad6;border:1px solid #c3d52e38;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 18px 54px #00000047}.modal-header,.modal-footer,.inline-actions,.file-dropzone,.login-layout,.two-column{gap:1rem;display:flex}.modal-header,.modal-footer{justify-content:space-between;align-items:center}.modal-footer{margin-top:1.5rem}.inline-actions{flex-wrap:wrap}.file-dropzone{text-align:center;min-height:11rem;color:var(--vipers-muted);cursor:pointer;background:#c3d52e0d;border:1px dashed #c3d52e73;border-radius:1.1rem;flex-direction:column;justify-content:center;align-items:center}.file-dropzone-avatar{border-radius:999px;width:180px;min-height:180px;padding:1rem}.student-avatar{object-fit:cover;border:2px solid #c3d52e59;border-radius:50%;width:74px;height:74px}.student-avatar-large{width:152px;height:152px}.student-avatar-placeholder{color:var(--vipers-acid);background:#c3d52e1f;place-items:center;font-family:Teko,sans-serif;font-size:2rem;display:grid}.feed-list{gap:.85rem;display:grid}.feed-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:1rem;padding:1rem}.feed-item strong{text-transform:uppercase;font-family:Teko,sans-serif;font-size:1.75rem;line-height:.95;display:block}.empty-state{text-align:center;padding:1.75rem}.login-layout,.two-column{align-items:stretch}.login-layout{justify-content:space-between;min-height:calc(100vh - 4rem)}.login-card{max-width:29rem;margin-left:auto;padding:2rem}.login-legacy-shell{min-height:100dvh;padding:max(2.5rem, calc(env(safe-area-inset-top) + 2rem)) 1rem max(1.5rem, calc(env(safe-area-inset-bottom) + 1.25rem));align-content:start;justify-items:center;display:grid;overflow-y:auto}.login-legacy-card{gap:1.5rem;width:min(100%,420px);padding:2rem}.login-legacy-head{text-align:center;justify-items:center;gap:.9rem;display:grid}.login-legacy-logo{width:min(132px,42vw);height:auto;display:block}.login-legacy-title{text-transform:uppercase;color:#fff;margin:0;font-family:Teko,sans-serif;font-size:clamp(3.5rem,10vw,4.6rem);line-height:.88}.login-legacy-title span{color:var(--vipers-acid)}.login-legacy-bar{margin:0 auto}.student-login-card{background:radial-gradient(circle at top,#c3d52e29,#0a0a0af0 42%),linear-gradient(#0b0d06f5,#060706fa);border-color:#c3d52e2e;position:relative;overflow:hidden}.student-login-card-minimal{border-radius:1.8rem;width:min(100%,24rem);margin:0 auto;padding:1.4rem}.student-login-card:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0 36%,#c3d52e17 36% 39%,#0000 39%),linear-gradient(#ffffff0a,#0000 24%);position:absolute;inset:0}.student-login-head{position:relative}.student-login-head-minimal{justify-items:center;gap:.8rem;margin-bottom:.9rem;display:grid}.student-login-brand{align-items:center;gap:.9rem;display:inline-flex}.student-login-brand-copy{text-align:left;text-transform:uppercase;letter-spacing:.12em;display:grid}.student-login-brand-copy span{color:#9fa68c;font-size:.72rem}.student-login-brand-copy strong{color:#fff;font-family:Teko,sans-serif;font-size:2rem;line-height:.9}.student-login-title{text-shadow:0 0 28px #c3d52e24}.student-login-title-minimal{text-align:center;font-size:clamp(2.8rem,11vw,4rem)}.student-login-logo-minimal{width:min(132px,34vw)}.student-login-copy{color:#b8b8b8;max-width:18rem;margin:0;font-size:.95rem}.student-login-context{color:#f7ffe4b8;text-align:center;max-width:19rem;margin:-.25rem 0 0;line-height:1.45}.login-submit-button{letter-spacing:.05em;text-transform:uppercase;justify-content:center;width:100%;font-family:Teko,sans-serif;font-size:1.4rem;box-shadow:0 0 20px #c3d52e59}.ghost-button.login-submit-button{box-shadow:none}.student-login-back{font-size:1.1rem}.page-stack{gap:1.5rem;display:grid}.page-stack.compact{gap:1rem}@media (height<=760px){.login-legacy-shell{padding-top:max(1.5rem, calc(env(safe-area-inset-top) + 1.25rem))}.student-login-card-minimal{padding:1.1rem}.student-login-head-minimal{gap:.6rem;margin-bottom:.65rem}.student-login-title-minimal{font-size:clamp(2.35rem,9vw,3.2rem)}.page-stack.compact{gap:.85rem}}.attendance-records{gap:.75rem;max-height:24rem;display:grid;overflow:auto}.attendance-record-item{background:#ffffff05;border:1px solid #ffffff0f;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.attendance-editor-panel{width:min(1080px,100%)}.attendance-editor-panel-inline{border:1px solid #ffffff14}.attendance-editor-teacher-stack{gap:1rem}.attendance-editor-toolbar,.attendance-add-panel{gap:1rem;display:grid}.attendance-compact-summary{color:#d7d7d7;background:#c3d52e14;border:1px solid #c3d52e38;border-radius:1rem;padding:.9rem 1rem;font-size:.96rem}.attendance-compact-summary strong{color:var(--vipers-acid);font-family:Teko,sans-serif;font-size:1.4rem;line-height:1}.attendance-editor-counter-grid,.attendance-editor-overview-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;display:grid}.attendance-counter-card,.attendance-overview-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:1.15rem;padding:1rem 1.05rem}.attendance-counter-card{gap:.35rem;display:grid}.attendance-counter-card strong{font-family:Teko,sans-serif;font-size:2.1rem;line-height:.9}.attendance-counter-card-info{background:#72b0ff14;border-color:#72b0ff38}.attendance-counter-card-warning{background:#ffb02014;border-color:#ffb02038}.attendance-counter-label,.attendance-overview-card span{color:var(--vipers-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.attendance-overview-card{align-items:center;gap:.8rem;display:flex}.attendance-overview-card strong{color:#fff;font-size:1rem;display:block}.attendance-editor-overview-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-editor-overview-grid-compact .attendance-overview-card{gap:.6rem;padding:.8rem .9rem}.attendance-editor-overview-grid-compact .attendance-overview-card strong{font-size:.92rem}.attendance-editor-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.attendance-status-switch{flex-wrap:wrap;gap:.75rem;display:flex}.attendance-status-chip{min-height:46px;color:var(--vipers-text);letter-spacing:.05em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;padding:.7rem 1rem;font-family:Teko,sans-serif;font-size:1.15rem}.attendance-status-chip.is-active{color:var(--vipers-acid);background:#c3d52e24;border-color:#c3d52e66}.attendance-status-switch-compact{gap:.55rem}.attendance-status-switch-compact .attendance-status-chip{min-height:38px;padding:.55rem .9rem;font-size:.96rem}.attendance-search-shell{position:relative}.attendance-search-icon{color:var(--vipers-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.attendance-search-input{padding-left:2.75rem}.attendance-search-results{gap:.15rem;display:grid}.attendance-search-option{width:100%;color:var(--vipers-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.55rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:38px;padding:.4rem .6rem;transition:background .15s;display:grid}.attendance-search-option:hover,.attendance-search-option:focus-visible{background:#ffffff0d}.attendance-search-option:focus-visible{outline:2px solid var(--color-focus,var(--vipers-acid));outline-offset:-3px}.attendance-search-option strong{font-size:.88rem;font-weight:600;display:block}.attendance-search-option span{color:var(--vipers-muted);font-size:.75rem}.attendance-record-list{gap:.85rem;display:grid}.attendance-record-list-compact{gap:.55rem}.attendance-record-card{background:linear-gradient(#111111f5,#0a0a0aeb);border:1px solid #ffffff14;border-radius:1.15rem;gap:.95rem;padding:1rem 1.1rem;display:grid}.attendance-record-card.is-experimental{border-color:#72b0ff47;box-shadow:inset 0 0 0 1px #72b0ff14}.attendance-record-card.is-present{background:linear-gradient(#161c0ef5,#0a0a0aeb)}.attendance-swipe-row{border-radius:1rem;position:relative;overflow:hidden}.attendance-swipe-delete{width:88px;color:var(--vipers-danger);background:#ff62622e;border:1px solid #ff626247;border-radius:1rem;font-weight:700;position:absolute;inset:0 0 0 auto}.attendance-list-row{z-index:1;touch-action:pan-y;background:#0a0a0aeb;border:1px solid #ffffff14;border-radius:1rem;justify-content:space-between;align-items:center;gap:.85rem;min-height:62px;padding:.75rem .85rem;transition:transform .18s;display:flex;position:relative}.attendance-list-row.is-present{background:#161c0ef0;border-color:#c3d52e38}.attendance-list-row-copy{align-items:center;gap:.45rem;min-width:0;display:flex}.attendance-list-row-copy strong{color:#f2f2f2;font-size:1rem;line-height:1.2}.attendance-row-alert{color:var(--vipers-warning);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.attendance-record-copy{gap:.5rem;display:grid}.attendance-record-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-record-title-row strong{text-transform:uppercase;font-family:Teko,sans-serif;font-size:2rem;line-height:.9}.attendance-record-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.attendance-mini-badge{min-height:28px;color:var(--vipers-warning);letter-spacing:.08em;text-transform:uppercase;background:#ffb0201f;border:1px solid #ffb02038;border-radius:999px;justify-content:center;align-items:center;padding:0 .75rem;font-size:.74rem;font-weight:700;display:inline-flex}.attendance-record-meta{color:var(--vipers-muted);flex-wrap:wrap;gap:.85rem;font-size:.88rem;display:flex}.attendance-record-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-toggle-button{color:#bbb;background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.75rem;min-height:50px;padding:.65rem .85rem;font-weight:700;display:inline-flex}.attendance-toggle-button.is-present{color:var(--vipers-acid);background:#c3d52e24;border-color:#c3d52e5c}.attendance-toggle-knob{background:#ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.attendance-toggle-button.is-present .attendance-toggle-knob{background:var(--vipers-acid);color:#050505}.attendance-toggle-button-compact{justify-content:center;gap:.55rem;min-width:132px;min-height:40px;padding:.45rem .7rem;font-size:.88rem}.attendance-toggle-button-compact .attendance-toggle-knob{width:24px;height:24px}.attendance-confirm-panel{background:radial-gradient(circle at top,#c3d52e14,#0000 44%),linear-gradient(#121212fa,#080808fa);border:1px solid #c3d52e29;border-radius:1.35rem;width:min(448px,100% - 1.5rem);padding:1.2rem 1.1rem 1rem;position:relative;overflow:hidden;box-shadow:0 22px 60px #00000073}.attendance-confirm-panel:before{content:"";background:linear-gradient(90deg,#c3d52eeb,#ffb02061,#c3d52e00);height:3px;position:absolute;inset:0 0 auto}.attendance-confirm-panel:after{content:"";opacity:.55;pointer-events:none;background:radial-gradient(circle,#c3d52e1a,#c3d52e00 66%),repeating-linear-gradient(-55deg,#ffffff09 0 8px,#0000 8px 18px);border-radius:999px;width:10rem;height:10rem;position:absolute;bottom:-2.6rem;right:-2.2rem}.attendance-confirm-panel-danger{border-color:#ff62623d;box-shadow:0 16px 48px #00000061}.attendance-confirm-panel-danger:before{background:linear-gradient(90deg,#ff6262eb,#ffb02057,#ff626200)}.attendance-confirm-panel>*{z-index:1;position:relative}.attendance-confirm-content{flex-direction:column;gap:1.05rem;padding:.1rem;display:flex}.attendance-confirm-title{text-transform:uppercase;letter-spacing:.04em;color:var(--vipers-text);margin:0;font-family:Teko,sans-serif;font-size:2rem;font-weight:600;line-height:.95}.attendance-confirm-hero{flex-direction:column;gap:.45rem;padding:.15rem 0 .4rem;display:flex}.attendance-confirm-hero-danger,.attendance-confirm-hero-success{grid-template-columns:auto 1fr;align-items:start;gap:.8rem;display:grid}.attendance-confirm-hero-copy{gap:.3rem;display:grid}.attendance-confirm-alert-icon{width:42px;height:42px;color:var(--vipers-danger);background:#ff62621f;border:1px solid #ff62623d;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.attendance-confirm-alert-icon-success{color:var(--vipers-acid);background:#c3d52e1f;border-color:#c3d52e3d}.attendance-confirm-copy{color:var(--vipers-muted);margin:0;font-size:.92rem;line-height:1.45}.attendance-confirm-summary{gap:.65rem;display:grid}.attendance-confirm-summary-item{color:var(--vipers-text);letter-spacing:.05em;text-transform:uppercase;background:#ffffff0d;border:1px solid #ffffff14;border-radius:.9rem;align-items:center;gap:.45rem;min-width:0;padding:.45rem .78rem;font-size:.78rem;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.attendance-confirm-summary-item.is-warning{color:var(--vipers-warning);border-color:#ffb02038}.attendance-confirm-actions{flex-direction:column;gap:.65rem;padding-top:.2rem;display:flex}.attendance-confirm-btn{justify-content:center;width:100%}.attendance-confirm-error{color:var(--vipers-danger);font-size:.78rem}.attendance-confirm-panel .field-stack{gap:.55rem}.attendance-confirm-panel .field-stack label{color:#ecececc2;letter-spacing:.11em;text-transform:uppercase;font-size:.74rem}.attendance-confirm-panel .vipers-textarea{background:linear-gradient(#ffffff0d,#ffffff08),#0e0e0ef5;min-height:7.5rem;padding:.95rem 1rem;line-height:1.45;box-shadow:inset 0 1px #ffffff0a}.attendance-confirm-panel-danger .vipers-textarea{border-color:#ff626229}.vipers-textarea.is-invalid{border-color:#ff626259;box-shadow:0 0 0 1px #ff62621f}.attendance-meta strong,.student-card-name{text-transform:uppercase;font-family:Teko,sans-serif;font-size:1.75rem;line-height:.95;display:block}.attendance-meta span,.student-card-subtitle{color:var(--vipers-muted);font-size:.92rem}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.student-photo-cell{width:64px}.table-student-avatar{object-fit:cover;border:2px solid #c3d52e47;border-radius:50%;width:46px;height:46px}.table-student-avatar-placeholder{color:var(--vipers-acid);background:#c3d52e1f;place-items:center;font-family:Teko,sans-serif;font-size:1.45rem;display:grid}.student-name-cell{align-items:center;gap:.6rem;min-width:220px;display:flex}.student-signal{justify-content:center;align-items:center;display:inline-flex}.student-signal-star{color:#72b0ff}.student-signal-alert{color:var(--vipers-warning)}.student-meta-grid,.product-card-meta{color:var(--vipers-muted);gap:.6rem;font-size:.92rem;display:grid}.student-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-card{padding:1.2rem}.student-card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.toggle-row{color:var(--vipers-muted);align-items:center;gap:.75rem;display:flex}.order-line{background:#ffffff05;border:1px solid #ffffff0f;border-radius:1rem;gap:1rem;padding:1rem;display:grid}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.product-card{padding:1.2rem}.product-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.tabs-row{flex-wrap:wrap;gap:.8rem;display:flex}.tab-button{color:var(--vipers-text);background:#ffffff0a;border-color:#ffffff14}.tab-active{background:var(--vipers-acid);color:#090909}.dashboard-wrapper{z-index:2;flex-direction:column;gap:1.35rem;max-width:1600px;margin:0 auto;padding:2rem 1rem 4rem;display:flex;position:relative}.header-flex{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.legacy-admin-brand{align-items:flex-start;gap:.8rem;display:flex}.legacy-hero-title{color:#fff;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.7rem;margin:0;font-family:Teko,sans-serif;font-size:clamp(3.8rem,9vw,5.4rem);line-height:.88;display:flex}.legacy-hero-inline-logo{object-fit:contain;filter:drop-shadow(0 6px 18px #00000047);width:auto;height:.92em}.legacy-hero-bar{background:var(--vipers-acid);width:60px;height:4px;margin:15px 0;box-shadow:0 0 15px #c3d52e66}.legacy-hero-subtitle{color:#666;letter-spacing:2px;text-transform:uppercase;font-family:Teko,sans-serif;font-size:1.5rem}.legacy-top-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:flex-start;gap:.85rem;display:flex}.legacy-user-chip{color:#fff;align-items:center;gap:.7rem;display:flex}.legacy-user-chip small{color:#777;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;display:block}.dashboard-matrix{grid-template-rows:240px 240px 220px 220px;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:1.5rem;display:grid}.legacy-secondary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.matrix-item-freq{grid-area:1/1/auto/3}.matrix-item-students{grid-area:1/3}.matrix-item-feed{grid-area:1/4/3}.matrix-item-notices{grid-area:2/1}.matrix-item-store{grid-area:3/1}.matrix-item-finance{grid-area:3/2}.matrix-item-events{grid-area:3/3}.matrix-item-audit{grid-area:3/4}.matrix-item-bazar{grid-area:4/1/auto/3}.matrix-item-classrooms{grid-area:2/2}.matrix-item-teachers,.matrix-item-tryouts,.matrix-item-users{grid-area:2/3}.vipers-glass-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--vipers-surface-1);box-shadow:var(--elevation-sm);transition:background var(--duration-base) var(--ease-out-quart), border-color var(--duration-base) var(--ease-out-quart), box-shadow var(--duration-base) var(--ease-out-quart), transform var(--duration-fast) var(--ease-out-quart);padding:2rem;position:relative;overflow:hidden}.vipers-glass-card.interactive{cursor:pointer}.vipers-glass-card.interactive:hover{border-color:var(--vipers-border-strong);background:var(--vipers-surface-2);box-shadow:var(--elevation-md);transform:translateY(-1px)}.legacy-card-active{border-color:#c3d52e59;box-shadow:0 25px 50px -12px #000000e6,inset 0 1px #fff3,inset 0 0 24px #c3d52e14}.legacy-card-disabled{opacity:.65}.legacy-card-shell{gap:1rem;height:100%;display:grid}.legacy-card-shell:not(.legacy-card-hero){grid-template-rows:minmax(72px,auto) minmax(120px,1fr)}.legacy-card-hero{border-left:4px solid var(--vipers-acid);grid-template-rows:minmax(0,1fr);align-items:stretch}.legacy-card-hero-body{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:1.5rem;height:100%;min-height:0;display:grid}.legacy-card-hero-copy{grid-template-rows:minmax(48px,auto) minmax(80px,1fr);gap:.75rem;min-width:0;height:100%;display:grid}.legacy-card-hero-top-spacer{min-height:72px}.legacy-card-icon-box{background:var(--vipers-acid);color:#000;border-radius:18px;justify-content:center;align-self:start;align-items:center;width:90px;height:90px;margin-top:.25rem;display:flex;box-shadow:0 0 20px #c3d52e66}.legacy-card-icon-box-hero{margin-top:0}.legacy-card-top{justify-content:flex-end;align-items:flex-start;min-height:72px;display:flex}.legacy-card-icon{color:#4b5563;transition:all .4s}.vipers-glass-card:hover .legacy-card-icon{color:#fff;filter:drop-shadow(0 0 15px #c3d52e99);transform:scale(1.08)rotate(-5deg)}.legacy-card-bottom{grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:.55rem;min-height:120px;display:grid}.legacy-card-title{color:#fff;text-transform:uppercase;margin:0;font-family:Teko,sans-serif;font-size:3rem;line-height:.9}.legacy-card-title-hero{font-size:3rem;line-height:.9}.legacy-card-title-module{align-self:center}.legacy-card-desc{color:var(--vipers-acid);letter-spacing:.12em;text-transform:uppercase;opacity:.85;overflow-wrap:normal;word-break:keep-all;min-height:2.1rem;margin:0;font-size:.78rem;font-weight:700;line-height:1.25;display:block}.legacy-card-desc-hero,.legacy-card-desc-module{align-self:end}.legacy-card-desc-hero{min-height:0;margin-top:0}.legacy-card-bottom-hero{min-height:80px}.feed-glass-wrapper{flex-direction:column;height:100%;padding:0;display:flex}.feed-header-fixed{background:#0003;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:20px 25px;display:flex}.feed-scroll-container{flex:1;padding:20px;overflow-y:auto}.feed-card-item{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:12px;padding:15px;transition:all .2s}.feed-card-item:hover{background:#ffffff0f;border-color:#c3d52e66;transform:translate(3px)}.feed-tag{letter-spacing:1px;border:1px solid;border-radius:4px;margin-bottom:6px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-block}.tag-system{color:var(--vipers-acid);background:#c3d52e0d;border-color:#c3d52e4d}.tag-new{color:#0cf;background:#00ccff0d;border-color:#00ccff4d}.tag-demo{color:#d600ff;background:#d600ff0d;border-color:#d600ff4d}.tag-alert{color:#ff9100;background:#ff91000d;border-color:#ff91004d}.admin-dashboard-state{align-items:center;gap:var(--space-3);width:min(100%,72rem);min-height:52px;margin:0 auto var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-soft);background:var(--color-surface);display:flex}.admin-dashboard-state--error{border-color:oklch(70% .18 25/.46)}.admin-dashboard-state--error>svg{color:var(--color-error)}.admin-dashboard-state button{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-raised);cursor:pointer;margin-left:auto;font-weight:800;display:inline-flex}.admin-dashboard-feed-empty{padding:var(--space-4);color:var(--color-text-muted);text-align:center;margin:0}.legacy-module-panel{min-width:0;padding:1.5rem;overflow:hidden}.legacy-module-shell{gap:1rem;display:grid}.dashboard-metrics-panel{padding-top:1.1rem;padding-bottom:1.1rem}.admin-module-panel{grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;display:grid}.admin-module-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.admin-feedback{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:var(--z-toast);justify-content:space-between;align-items:center;gap:var(--space-3);width:min(28rem,100vw - 2rem);min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface-raised);box-shadow:var(--elevation-md);display:flex;position:fixed}.admin-feedback--success{border-color:oklch(76% .15 142/.45)}.admin-feedback--error{border-color:oklch(70% .18 25/.5)}.admin-feedback button{min-height:44px;padding:0 var(--space-2);color:var(--color-action);cursor:pointer;background:0 0;border:0;font-weight:800}.admin-action-dialog{width:min(32rem,100vw - 2rem)}.admin-query-state{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-soft);background:var(--color-surface);display:flex}.admin-query-state--error{border-color:oklch(70% .18 25/.46)}.admin-query-state--error>svg{color:var(--color-error)}.admin-query-state button{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-raised);cursor:pointer;margin-left:auto;font-weight:800;display:inline-flex}.admin-query-updating{min-height:1.25rem;color:var(--color-text-muted);font-size:var(--text-xs);text-align:right;display:block}.admin-module-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;min-width:0;display:flex}.admin-filter-shell{margin-bottom:.35rem}.admin-filter-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(180px,1fr));align-items:end;gap:1rem;display:grid}.admin-filter-grid-two{grid-template-columns:repeat(2,minmax(220px,1fr))}.admin-filter-grid-compact{grid-template-columns:minmax(0,420px)}.admin-filter-dropdown{position:relative}.admin-filter-dropdown[open]{z-index:3}.admin-filter-dropdown-summary{width:100%;color:var(--vipers-text);cursor:pointer;box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff14;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem 1rem;list-style:none;display:grid}.admin-filter-dropdown-summary-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.admin-filter-dropdown-chevron{flex-shrink:0;transition:transform .2s}.admin-filter-dropdown[open] .admin-filter-dropdown-chevron{transform:rotate(180deg)}.admin-filter-dropdown-summary::-webkit-details-marker{display:none}.admin-filter-dropdown-body{background:#0c0c0cf5;border:1px solid #ffffff14;border-radius:1rem;gap:.65rem;padding:.9rem;display:grid;position:absolute;top:calc(100% + .5rem);left:0;right:0;box-shadow:0 24px 60px #00000059}.admin-filter-option{width:100%;color:var(--vipers-text);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:.9rem;padding:.85rem 1rem;transition:border-color .2s,background .2s}.admin-filter-option:hover,.admin-filter-option.is-active{background:#c3d52e14;border-color:#c3d52e59}.admin-checkbox-row{color:#ddd;align-items:center;gap:.7rem;display:flex}.admin-checkbox-row input{accent-color:var(--vipers-acid)}.admin-collapse-shell{gap:1rem;display:grid}.admin-collapse-trigger{width:100%;color:var(--vipers-text);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.85rem;padding:.95rem 1rem;display:grid}.admin-collapse-trigger>span:first-child{text-align:left;justify-self:start;min-width:0}.admin-collapse-trigger svg:last-child{justify-self:end;margin-left:0;transition:transform .2s}.admin-collapse-trigger.is-open svg:last-child{transform:rotate(180deg)}.admin-collapse-meta{width:32px;min-width:32px;height:32px;color:var(--vipers-acid);text-align:center;background:#c3d52e1f;border-radius:999px;justify-content:center;justify-self:center;align-items:center;margin-left:0;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.admin-collapse-meta-warning{color:var(--vipers-warning);background:#ffb02024}.admin-collapse-meta-muted{color:#bfbfbf;background:#ffffff14}.admin-collapse-body{gap:1rem;display:grid}.modal-confirm-panel{width:min(520px,100%)}.table-actions-end{justify-content:flex-end}.admin-data-table td{overflow-wrap:anywhere}.admin-data-table td:before{content:none}.icon-action-button{width:40px;height:40px;color:var(--vipers-text);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.icon-action-button:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.icon-action-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.icon-action-button.danger{color:var(--vipers-danger);background:#ff626214;border-color:#ff626240}.icon-action-button.danger:hover{background:#ff626229;border-color:#ff626259}.modal-form-section{border-top:1px solid #ffffff14;gap:1rem;padding-top:1.25rem;display:grid}.modal-form-section:first-of-type{border-top:none;padding-top:0}.modal-section-header{display:grid}.modal-section-header h3{color:#fff;letter-spacing:.05em;text-transform:uppercase;margin:0;font-family:Teko,sans-serif;font-size:1.7rem;line-height:.95}.table-inline-select{min-width:180px}.student-modal-identity-grid{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.student-modal-primary-grid{align-content:start}.field-span-full{grid-column:1/-1}.admin-pagination{justify-content:flex-end;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.admin-pagination-label{color:var(--vipers-muted);font-size:.9rem}.public-flow-shell{place-items:center;min-height:100vh;padding:1.5rem 0 3rem;display:grid}.public-form-frame{gap:1.5rem;width:min(1040px,100% - 1rem);display:grid}.public-flow-header{text-align:center;padding:1rem 0 .5rem}.public-flow-logo{object-fit:contain;filter:drop-shadow(0 0 18px #c3d52e1f);width:min(420px,88vw);height:72px}.public-flow-subtitle{color:#888;letter-spacing:.32em;text-transform:uppercase;margin:.4rem 0 0;font-size:.82rem}.public-flow-dots{justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.public-flow-dot{background:#333;border-radius:999px;width:8px;height:8px;transition:transform .2s,background .2s}.public-flow-dot.active{background:var(--vipers-acid);transform:scale(1.35);box-shadow:0 0 10px #c3d52e80}.public-flow-content{gap:1.25rem;display:grid}.public-flow-copy{justify-items:start;gap:.85rem;display:grid}.public-back-button{padding-inline:.95rem}.public-flow-title{text-transform:uppercase;color:#fff;margin:0;font-family:Teko,sans-serif;font-size:clamp(3rem,8vw,4.3rem);line-height:.9}.public-flow-title span{color:var(--vipers-acid)}.public-flow-text{color:#a9a9a9;max-width:52rem;margin:0}.mobile-app-wrapper{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0000008c;border-left:1px solid #333;border-right:1px solid #333;flex-direction:column;width:min(100%,480px);min-height:calc(100vh - 2rem);margin:0 auto;display:flex;position:relative}.screen-section{flex-direction:column;flex:1;width:100%;display:flex}.mobile-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 0 0,#c3d52e2e,#000000f5);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px;display:flex}.professor-mobile-header{align-items:flex-start}.professor-header-copy{gap:.55rem;display:grid}.professor-brand-row{align-items:center;gap:.85rem;display:flex}.professor-header-logo{object-fit:contain;filter:drop-shadow(0 0 12px #c3d52e38);width:40px;height:40px}.professor-header-title{text-transform:uppercase;color:#fff;font-family:Teko,sans-serif;font-size:2.1rem;line-height:.9}.professor-header-welcome{color:#d4d4d4;font-size:.92rem}.professor-logout-inline{cursor:pointer;min-width:44px;min-height:44px;color:var(--vipers-muted);background:0 0;border:none;justify-content:center;align-items:center;gap:.35rem;padding:.5rem;font-size:.82rem;transition:color .2s;display:inline-flex}.professor-logout-inline:hover{color:var(--vipers-text)}.admin-app-header{z-index:30;isolation:isolate;-webkit-backdrop-filter:blur(20px)saturate(140%);background:#0f120c8c;border-bottom:1px solid #ffffff0f;margin:-2rem -1rem 1.5rem;padding:.7rem 1.25rem;position:sticky;top:0}.admin-app-header:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#c3d52e00 10%,#c3d52e8c 50%,#c3d52e00 90%,#0000 100%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.admin-app-header__inner{justify-content:space-between;align-items:center;gap:1.25rem;max-width:1600px;min-height:52px;margin:0 auto;display:flex}.admin-app-header__brand{align-items:center;gap:.75rem;min-width:0;display:flex}.admin-app-header__mark{flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.admin-app-header__mark img{object-fit:contain;filter:drop-shadow(0 0 8px #c3d52e38);width:36px;height:36px}.admin-app-header__titles{text-transform:uppercase;align-items:baseline;gap:.6rem;min-width:0;font-family:Teko,sans-serif;line-height:1;display:flex}.admin-app-header__eyebrow{color:#e8e8e4;letter-spacing:.04em;font-size:1.55rem;font-weight:500;line-height:1}.admin-app-header__title-row{align-items:baseline;gap:.6rem;min-width:0;display:inline-flex}.admin-app-header__title-row:before{content:"";background:#c3d52eb3;border-radius:1px;align-self:center;width:2px;height:1.1rem;margin-right:.1rem;display:inline-block}.admin-app-header__title{letter-spacing:.08em;text-transform:uppercase;color:#c3d52e;font-family:Teko,sans-serif;font-size:1.55rem;font-weight:600;line-height:1}.admin-app-header__chip{display:none}.admin-app-header__actions{flex-shrink:0;align-items:center;gap:.9rem;display:flex}.admin-app-header__user{background:0 0;border:0;align-items:center;gap:.6rem;padding:0;display:flex}.admin-app-header__avatar{color:#c3d52e;letter-spacing:.04em;background:#c3d52e1f;border:1px solid #c3d52e66;border-radius:50%;place-items:center;width:30px;height:30px;font-family:Teko,sans-serif;font-size:1rem;font-weight:600;display:grid}.admin-app-header__user-meta{gap:.1rem;line-height:1;display:grid}.admin-app-header__user-name{color:#ececec;text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:.85rem;font-weight:500;overflow:hidden}.admin-app-header__user-role{color:#7e8676;letter-spacing:.2em;text-transform:uppercase;font-size:.62rem}.admin-app-header__actions:before{content:"";background:#ffffff14;width:1px;height:24px;margin-right:.1rem}.admin-app-header__logout{letter-spacing:.04em;color:#9aa08e;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.4rem;min-height:38px;padding:.4rem .55rem;font-size:.78rem;font-weight:500;transition:color .16s,background-color .16s;display:inline-flex}.admin-app-header__logout:hover{color:#c3d52e;background:#c3d52e14}.admin-app-header__logout:focus-visible{outline-offset:2px;outline:2px solid #c3d52e99}.mobile-brand-title{text-transform:uppercase;font-family:Teko,sans-serif;font-size:2.5rem;line-height:.9}.mobile-brand-title span{color:var(--vipers-acid)}.mobile-brand-subtitle{color:#aaa;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.prof-badge{color:var(--vipers-acid);border:1px solid var(--vipers-acid);cursor:pointer;background:#c3d52e1a;border-radius:20px;justify-content:center;align-items:center;gap:.45rem;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.student-portal-shell{min-width:0;min-height:100vh;padding:.85rem}.student-portal-frame{gap:.8rem;width:100%;min-width:0;max-width:26rem;margin:0 auto;display:grid}.student-portal-header{box-shadow:none;background:0 0;border:none;border-bottom:1px solid #ffffff14;border-radius:0;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:0 0 .85rem}.student-header-copy{gap:.3rem}.student-brand-row{align-items:center}.student-brand-logo{filter:drop-shadow(0 0 18px #c3d52e29);width:40px;height:auto}.student-brand-copy{text-transform:uppercase;gap:.15rem;display:grid}.student-brand-eyebrow{color:#9ea78a;letter-spacing:.18em;font-size:.68rem}.student-brand-copy strong{color:#fff;font-family:Teko,sans-serif;font-size:clamp(2rem,8vw,2.7rem);line-height:.9}.student-header-actions{width:auto}.student-header-actions-compact{justify-items:end;gap:.35rem;display:grid}.student-header-link{color:#8c8c8c;cursor:pointer;background:0 0;border:none;justify-items:center;gap:.12rem;padding:0;transition:color .2s;display:grid}.student-header-link:hover{color:#d7d7d7}.student-header-link span{font-size:.76rem}.student-arena-card{background:#101010eb;border:1px solid #ffffff14;border-radius:1.6rem;position:relative;overflow:hidden;box-shadow:0 10px 24px #0000003d}.student-arena-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff05,#0000 28%);position:absolute;inset:0}.student-selection-shell,.student-portal-content{gap:.8rem;min-width:0;display:grid}.student-hero-card,.student-panel-card{min-width:0;padding:1rem}.student-profile-topbar{flex-wrap:wrap;align-items:center;gap:20px;width:100%;min-width:0;margin-top:12px;display:flex}.student-profile-jersey{flex:12rem;gap:6px;width:100%;min-width:0;display:grid}.student-profile-tabs{border-bottom:1px solid var(--vipers-border);gap:6px;width:100%;min-width:0;margin:20px 0 14px;padding-bottom:4px;display:flex;overflow-x:auto}.student-profile-form{gap:20px;width:100%;min-width:0;display:grid}.student-profile-tabs>button,.student-profile-form .form-grid,.student-profile-form .field-stack{min-width:0}.student-profile-date-input{min-width:0;max-width:100%;overflow:hidden}.student-profile-date-input::-webkit-date-and-time-value{text-align:left;min-width:0}.student-profile-date-input::-webkit-calendar-picker-indicator{margin:0;padding:0}.student-portal-select{width:100%;min-width:0;position:relative}.student-portal-select__trigger{width:100%;min-height:52px;color:var(--vipers-text);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:1rem;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 1rem;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.student-portal-select__trigger:disabled{cursor:not-allowed;opacity:.65}.student-portal-select__trigger:focus-visible{border-color:#c3d52e73;outline:none;box-shadow:0 0 0 3px #c3d52e1f}.student-portal-select__value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.student-portal-select__value.is-placeholder{color:var(--vipers-muted)}.student-portal-select__chevron{color:#ffffffb8;flex-shrink:0;transition:transform .18s}.student-portal-select.is-open .student-portal-select__chevron{transform:rotate(180deg)}.student-portal-select.is-invalid .student-portal-select__trigger{border-color:#ff626273}.student-portal-select__menu{margin-top:.35rem}.student-portal-select__list{background:linear-gradient(#111111fa,#080808fa);border:1px solid #ffffff14;border-radius:1rem;gap:.3rem;max-height:min(16rem,45vh);padding:.4rem;display:grid;overflow-y:auto;box-shadow:0 18px 36px #00000061}.student-portal-select__option{width:100%;color:var(--vipers-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem .85rem;transition:background .16s,color .16s;display:flex}.student-portal-select__option.is-active,.student-portal-select__option:hover{background:#ffffff0f}.student-portal-select__option.is-selected{color:var(--vipers-acid);background:#c3d52e14}.student-selection-intro{gap:.45rem;padding:.15rem 0 .25rem;display:grid}.student-selection-greeting{color:var(--vipers-acid);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.88rem;font-weight:700}.student-section-tag,.student-type-chip{width:fit-content;color:var(--vipers-acid);letter-spacing:.14em;text-transform:uppercase;background:#c3d52e1f;border-radius:999px;align-items:center;gap:.35rem;padding:.42rem .78rem;font-size:.72rem;font-weight:700;display:inline-flex}.student-selection-title,.student-hero-card h1,.student-panel-head h2{text-transform:uppercase;color:#fff;margin:0;font-family:Teko,sans-serif;line-height:.9}.student-selection-title{max-width:10ch;font-size:clamp(1.75rem,8vw,2.55rem)}.student-selection-copy,.student-panel-copy{color:#d0d0d0;margin:0;line-height:1.6}.student-selection-grid{grid-template-columns:1fr;gap:.6rem;display:grid}.student-player-card{text-align:left;color:#fff;cursor:pointer;background:#0c0c0cf0;border:1px solid #c3d52e26;border-radius:1rem;gap:.5rem;padding:.85rem .9rem;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid}.student-player-card:hover{border-color:#c3d52e61;transform:translateY(-4px);box-shadow:0 18px 28px #00000073}.student-player-card strong{text-transform:uppercase;font-family:Teko,sans-serif;font-size:1.5rem;line-height:.92}.student-player-card span{color:#c7c7c7;font-size:.88rem}.student-player-badge,.student-player-cta{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.35rem;width:fit-content;font-size:.72rem;font-weight:700;display:inline-flex}.student-player-badge{background:#ffffff14;border-radius:999px;padding:.28rem .58rem}.student-player-cta{color:var(--vipers-acid)}.student-hero-card{grid-template-columns:1fr;align-items:stretch;gap:.8rem;display:grid}.student-hero-copy{display:block}.student-hero-topline{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.student-hero-card h1{font-size:clamp(1.45rem,7vw,1.9rem)}.student-hero-switch{color:#cacaca;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;flex-shrink:0;align-items:center;gap:.38rem;padding:.45rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.student-hero-switch:hover{color:#fff;border-color:#c3d52e4d}.student-hero-scoreboard{background:#0000002e;border:1px solid #ffffff14;border-radius:1rem;gap:.6rem;padding:.85rem;display:grid}.student-hero-scoreboard-single{width:100%}.student-hero-scoreboard div{gap:.15rem;display:grid}.student-hero-scoreboard span{color:#959595;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem}.student-hero-scoreboard strong{text-transform:uppercase;color:#fff;font-family:Teko,sans-serif;font-size:1.45rem;line-height:.9}.student-portal-grid{grid-template-columns:1fr;gap:.8rem;display:grid}.student-wallet-card,.student-event-card{gap:1rem;display:grid}.student-wallet-card{position:relative;overflow:hidden}.student-wallet-card:before{content:"";pointer-events:none;opacity:.7;background:linear-gradient(135deg,#c3d52e1f,#0000 34%),repeating-linear-gradient(115deg,#ffffff09 0 1px,#0000 1px 18px);position:absolute;inset:0}.student-wallet-card>*{position:relative}.student-wallet-pass{background:linear-gradient(145deg,#c3d52e24,#0000 34%),repeating-linear-gradient(135deg,#ffffff0a 0 1px,#0000 1px 14px),#080a05;border:1px solid #c3d52e8a;border-radius:18px;gap:.95rem;min-width:0;padding:1.1rem;display:grid;box-shadow:inset 0 -18px 42px #c3d52e1a,0 18px 38px #00000057}.student-wallet-pass__top,.student-wallet-pass__main,.student-wallet-pass__details{position:relative}.student-wallet-pass__top{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.student-wallet-pass__top strong{color:var(--vipers-acid);letter-spacing:0;text-transform:uppercase;font-family:Teko,sans-serif;font-size:2.05rem;font-style:italic;font-weight:800;line-height:.9}.student-wallet-status-chip{min-height:1.75rem;color:var(--vipers-acid);text-transform:uppercase;background:#c3d52e1c;border:1px solid #c3d52e6b;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .72rem;font-family:Teko,sans-serif;font-size:1.02rem;font-weight:700;line-height:1;display:inline-flex}.student-wallet-pass__main{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"photo qr""identity identity";align-items:start;gap:.9rem;min-width:0;display:grid}.student-wallet-photo{aspect-ratio:1;width:min(100%,8.2rem);color:var(--vipers-acid);background:radial-gradient(circle at 70% 30%,#c3d52e24,#0000 45%),#ffffff0d;border:1px solid #c3d52e6b;border-radius:14px;grid-area:photo;place-items:center;font-family:Teko,sans-serif;font-size:2.1rem;line-height:1;display:grid;overflow:hidden}.student-wallet-photo img{object-fit:cover;width:100%;height:100%}.student-wallet-identity{grid-area:identity;align-content:center;gap:.55rem;min-width:0;display:grid}.student-wallet-identity strong{overflow-wrap:normal;text-wrap:balance;text-transform:uppercase;max-width:100%;font-family:Teko,sans-serif;font-size:clamp(2.25rem,10vw,2.9rem);line-height:.92}.student-wallet-identity__meta{color:#ffffffb3;text-transform:uppercase;flex-wrap:wrap;gap:.45rem;font-size:.84rem;font-weight:800;display:flex}.student-wallet-identity__meta span:last-child{color:var(--vipers-acid)}.student-wallet-pass__details{border-top:1px solid #c3d52e33;border-bottom:1px solid #c3d52e33;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.student-wallet-pass__details span{color:#ffffffe0;border-right:1px solid #c3d52e29;gap:.16rem;min-width:0;padding:.64rem .56rem;font-size:.82rem;font-weight:800;line-height:1.15;display:grid}.student-wallet-pass__details span:last-child{border-right:0}.student-wallet-pass__details small{color:var(--vipers-acid);letter-spacing:0;text-transform:uppercase;font-family:Teko,sans-serif;font-size:.82rem;font-weight:700;line-height:1}.student-event-registration small{color:#ffffffa8}.student-wallet-qr-box{aspect-ratio:1;color:#060606;background:#fffffff0;border:1px solid #c3d52e70;border-radius:14px;grid-area:qr;justify-self:start;place-items:center;width:min(100%,8.2rem);padding:.35rem;font-family:Teko,sans-serif;font-size:1.35rem;font-weight:800;display:grid}.student-wallet-qr{object-fit:contain;border-radius:10px;width:100%;height:100%}.student-wallet-actions{grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.student-wallet-actions .ghost-button{white-space:normal;min-width:0;min-height:44px;padding-inline:.8rem}.student-wallet-download{box-shadow:0 14px 32px #c3d52e33}.student-wallet-status{color:var(--vipers-acid)}.student-primary-action{border-color:var(--vipers-acid);background:var(--vipers-acid);color:#060606}.wallet-action-disabled{opacity:.58;border-style:dashed;font-size:.9rem}.student-primary-action:disabled,.student-primary-action[disabled]{color:#ffffff6b;box-shadow:none;cursor:not-allowed;background:#ffffff12;border-color:#ffffff1a;transform:none}.student-event-meta{flex-wrap:wrap;gap:.45rem;display:flex}.student-event-meta span{color:#ffffffb8;overflow-wrap:anywhere;background:#ffffff09;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:.45rem;min-height:2rem;padding:.32rem .55rem;font-size:.86rem;display:inline-flex}.student-event-registration{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;gap:.2rem;padding:.8rem;display:grid}.student-event-registration strong{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.82rem;display:inline-flex}.student-event-registration--confirmed{appearance:none;width:100%;min-height:48px;color:inherit;font:inherit;text-align:left;box-shadow:none;cursor:default;opacity:1;-webkit-text-fill-color:currentColor;background:#2fd57c14;border-color:#2fd57c57}.student-event-registration--confirmed strong{color:var(--color-success)}.student-event-registration--pending_payment{background:#f5b75314;border-color:#f5b75357}.student-event-registration--pending_payment strong{color:var(--color-warning)}.student-event-registration--canceled{opacity:.72}.student-event-action-error{color:var(--vipers-danger);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.88rem;display:flex}.student-event-action-error .ghost-button{flex:none;min-height:44px;margin-left:auto}.student-event-deadline{color:#ffffffc2}.student-event-pix{background:#c3d52e14;border:1px solid #c3d52e38;border-radius:12px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:.75rem;padding:.85rem;display:grid}.student-event-pix img{background:#fff;border-radius:8px;width:92px;height:92px;padding:.25rem}.student-event-pix div{gap:.45rem;min-width:0;display:grid}.student-event-pix small{color:#ffffffad;word-break:break-all;max-height:3.2rem;display:block;overflow:hidden}.event-operations-stack{gap:1rem;display:grid}.event-registration-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;display:grid}.event-financial-report{gap:1rem;display:grid}.event-financial-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;display:grid}.event-financial-note{color:#ffffffc2;background:#c3d52e0f;border:1px solid #c3d52e2e;border-radius:12px;align-items:center;gap:.65rem;padding:.85rem 1rem;display:flex}.event-financial-table{max-height:560px;padding-right:.2rem;overflow:auto}.event-financial-table .admin-data-table{min-width:0}.event-registration-metric{background:linear-gradient(#ffffff0e,#ffffff06),#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;gap:.25rem;min-width:0;padding:.85rem;display:grid}.event-registration-metric span{color:#fff9;font-size:.78rem}.event-registration-metric strong{overflow-wrap:anywhere;font-family:Teko,sans-serif;font-size:1.55rem;line-height:1}.event-operations-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.event-operation-tab{color:#8f8f8f;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#090909e6;border:1px solid #ffffff24;border-radius:999px;min-width:0;min-height:48px;padding:.7rem .8rem;font-family:Teko,sans-serif;font-size:1.05rem;transition:color .2s,background .24s,border-color .24s,box-shadow .24s,transform .12s;overflow:hidden}.event-operation-tab.active{border-color:var(--vipers-acid);background:var(--vipers-acid);color:#060606;box-shadow:0 0 24px #c3d52e42}.event-operation-tab:active{transform:scale(.97)}.event-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.event-summary-grid div{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;gap:.25rem;min-width:0;padding:.9rem;display:grid}.event-summary-grid strong{color:#ffffffad;font-size:.78rem}.event-summary-grid span{color:#fff;min-width:0}.event-checkin-panel{background:#c3d52e0f;border:1px solid #c3d52e2e;border-radius:14px;gap:.75rem;padding:1rem;display:grid}.event-checkin-panel>div:first-child strong{color:#fff;font-size:1.02rem;display:block}.event-checkin-panel small{color:#ffffff9e;margin-top:.18rem;display:block}.event-checkin-form{grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;display:grid}.event-camera-scanner{gap:.65rem;display:grid}.event-camera-scanner video{object-fit:cover;background:#050505;border:1px solid #c3d52e3d;border-radius:14px;width:100%;max-height:340px}.event-recent-checkins,.event-gate-mode__recent{gap:.55rem;display:grid}.event-recent-checkins>div,.event-gate-mode__recent>div{border-top:1px solid #ffffff14;justify-content:space-between;gap:1rem;padding:.65rem 0;display:flex}.event-recent-checkins small,.event-gate-mode__recent small{color:#ffffff9e}.event-gate-mode{z-index:80;height:100dvh;color:var(--vipers-text);background:radial-gradient(circle at 0 0,#c3d52e24,#0000 34%),linear-gradient(#ffffff06,#0000 28%),#050505;grid-template-rows:auto minmax(0,1fr);gap:1rem;padding:clamp(1rem,2vw,2rem);display:grid;position:fixed;inset:0;overflow:auto}body.event-gate-mode-open{overflow:hidden}body.event-gate-mode-open #root{height:100dvh;overflow:hidden}.event-gate-mode__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.event-gate-mode__head span{color:var(--vipers-acid);text-transform:uppercase;font-weight:800}.event-gate-mode__head h2{text-transform:uppercase;margin:.2rem 0 0;font-family:Teko,sans-serif;font-size:clamp(2.2rem,6vw,4.8rem);line-height:.9}.event-gate-mode__head p{color:#ffffffb3;margin:.3rem 0 0}.event-gate-mode__body{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);align-content:start;gap:1rem;min-height:0;display:grid}.event-gate-mode .event-checkin-panel,.event-gate-mode__recent{background:#ffffff0d;border:1px solid #c3d52e38;border-radius:18px;align-self:start;padding:1rem}.event-gate-mode .event-camera-scanner video{max-height:min(54vh,620px)}.event-cancel-modal{gap:1rem;max-width:34rem;display:grid}.event-cancel-backdrop{z-index:520}.event-cancel-modal .modal-header{border-bottom:1px solid #ffffff14;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0;padding:0 0 .85rem;display:flex}.event-cancel-modal .modal-footer{flex-direction:row;justify-content:flex-end;gap:.65rem;margin:0;padding:0;display:flex}.event-cancel-modal textarea{min-height:7.5rem}.event-paid-reversal{color:var(--vipers-text);background:#f5b75314;border:1px solid #f5b75352;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.85rem;display:flex}.event-paid-reversal input{margin-top:.25rem}.event-paid-reversal span{gap:.25rem;display:grid}.event-paid-reversal small{color:#ffffffa8}.event-gate-feedback{text-align:center;background:#ffffff0f;border:2px solid #ffffff2e;border-radius:18px;gap:.25rem;padding:clamp(1rem,3vw,1.6rem);display:grid}.event-gate-feedback strong{text-transform:uppercase;font-family:Teko,sans-serif;font-size:clamp(2.4rem,8vw,5.4rem);line-height:.85}.event-gate-feedback span{color:#ffffffc7;font-size:1.05rem}.event-gate-feedback.is-success{background:#2fd57c1f;border-color:#2fd57c9e}.event-gate-feedback.is-success strong{color:#61f29e}.event-gate-feedback.is-error{background:#eb55551f;border-color:#eb55559e}.event-gate-feedback.is-error strong{color:#ff7474}.event-gate-feedback.is-info strong{color:var(--vipers-acid)}.audit-entity-link{width:fit-content;color:var(--vipers-acid);margin-top:.2rem;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.audit-detail-button{padding:.48rem .7rem;font-size:.78rem}.audit-data-table td[data-label=Ação] small:empty{display:none}.audit-data-table td[data-label=Ação] small{overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;line-height:1.35;display:inline-block}.audit-data-table td[data-label=Status] small{width:fit-content;display:inline-block}.audit-metadata-error:empty,.audit-entity-id:empty{display:none}.audit-detail-button,.audit-pagination .ghost-button{min-height:42px}.audit-detail-drawer{width:min(34rem,92vw)}.audit-detail-body{gap:1rem;display:grid}.audit-detail-list{gap:.65rem;margin:0;display:grid}.audit-detail-list div{border-bottom:1px solid #ffffff14;gap:.18rem;padding-bottom:.65rem;display:grid}.audit-detail-list dt{color:#ffffff94;text-transform:uppercase;font-size:.76rem;font-weight:700}.audit-detail-list dd{color:#fff;overflow-wrap:anywhere;margin:0}.audit-detail-link{width:fit-content}.audit-detail-json{color:#ffffffc7;white-space:pre-wrap;background:#00000057;border-radius:12px;max-height:18rem;padding:.85rem;font-size:.78rem;overflow:auto}.audit-panel{border-top:1px solid #ffffff1a;gap:1rem;margin-top:1.2rem;padding-top:1.2rem;display:grid}.audit-panel__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.audit-panel__head h2{text-transform:uppercase;margin:0;font-family:Teko,sans-serif;font-size:2rem}.audit-panel__head p{color:#ffffff9e;margin:.15rem 0 0}.audit-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.audit-filter-grid .span-2{grid-column:span 2}.audit-search-field{background:#0000002e;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:.5rem;padding:0 .75rem;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.audit-search-field:focus-within{background:#00000047;border-color:#c3d52e94;box-shadow:0 0 0 3px #c3d52e1f}.audit-search-field input{width:100%;min-width:0;color:inherit;background:0 0;border:0;outline:none;padding:.75rem 0}.audit-pagination{margin-top:1rem}.student-panel-card-highlight{background:radial-gradient(circle at 0 0,#c3d52e29,#0b0b0bf5 38%),#000000f0}.student-panel-card-wide{grid-column:1/-1}.student-panel-head{justify-content:space-between;align-items:flex-start;gap:.9rem;margin-bottom:.75rem;display:flex}.student-panel-head h2{font-size:clamp(1.65rem,8vw,2.2rem)}.student-panel-head-notice{align-items:flex-start;margin-bottom:.4rem}.student-notice-card{gap:.9rem}.student-notice-card .student-panel-head h2{font-size:clamp(1.15rem,5.6vw,1.55rem)}.student-notice-card .student-panel-head{margin-bottom:0}.student-notice-card .student-panel-copy{color:#d9d9d9;white-space:pre-line;padding-top:1.25rem;line-height:1.55}.student-notice-date{color:#8c8c8c;font-size:.78rem}.student-notice-meta{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1.15rem;display:flex}.student-type-chip-notice{color:var(--vipers-acid);background:#c3d52e1f}.student-type-chip-championship{color:var(--vipers-gold);background:#ffd84d29}.student-type-chip-urgent{color:var(--vipers-danger);background:#ff626224}.student-history-card{gap:.9rem;display:grid}.student-history-table{gap:.6rem;display:grid}.student-history-row{background:#ffffff0a;border-radius:1rem;grid-template-columns:88px minmax(0,1fr) 64px;align-items:center;gap:.75rem;padding:.8rem .85rem;display:grid}.student-history-row-head{background:0 0;padding:0 .15rem}.student-history-row span,.student-history-row strong{min-width:0}.student-history-row-head span{color:#888;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.student-history-row strong{color:#fff;font-size:.84rem}.student-history-row span:first-child{color:var(--vipers-acid);font-family:Teko,sans-serif;font-size:1rem;line-height:.95}.student-history-row-head span:first-child{font-family:inherit;font-size:.72rem;line-height:1.2}.student-history-check{border-radius:999px;justify-content:center;justify-self:end;align-items:center;width:2rem;height:2rem;display:inline-flex}.student-history-check.is-present{color:var(--vipers-acid);background:#c3d52e1f}.student-history-check.is-absent{color:var(--vipers-danger);background:#ff626224}.student-pagination{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.student-pagination span{color:#999;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem}.filter-tabs{background:var(--color-bg);z-index:var(--z-sticky);gap:12px;padding:15px 20px 10px;display:flex;position:sticky;top:0}.tab-btn{background:var(--color-surface);border:1px solid var(--color-border);min-height:44px;color:var(--color-text-muted);border-radius:var(--radius-lg);font-family:Roboto,sans-serif;font-size:var(--text-sm);transition:color var(--duration-base) var(--ease-out-quart), border-color var(--duration-base) var(--ease-out-quart), background var(--duration-base) var(--ease-out-quart);cursor:pointer;flex:1;padding:12px;font-weight:800}.tab-btn.active{color:var(--color-action);border-color:var(--vipers-border-strong);background:oklch(82.8% .18 116/.12)}.prof-status-banner{color:#ccc;background:#0c0c0ce6;border:1px solid #ffffff0f;border-left:3px solid #0000;border-radius:10px;align-items:center;gap:10px;margin:0 20px 10px;padding:10px 14px;font-size:.85rem;display:flex}.prof-status-banner.banner-alert{border-left-color:var(--vipers-warning);color:var(--vipers-warning)}.prof-status-banner.banner-ok{border-left-color:var(--vipers-acid);color:#ccc}.prof-status-banner>button{border-radius:var(--radius-sm);min-height:36px;color:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid;margin-left:auto;padding:.4rem .65rem;font-weight:800}.professor-query-error,.professor-inline-error{padding:var(--space-4);border-radius:var(--radius-lg);color:var(--color-text);background:oklch(70% .18 25/.08);border:1px solid oklch(70% .18 25/.42);margin:0 20px 14px}.professor-query-error{align-items:start;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);display:grid}.professor-query-error>svg{color:var(--color-error)}.professor-query-error h3,.professor-query-error p{margin:0}.professor-query-error p{margin-top:var(--space-1);color:var(--color-text-soft);font-size:var(--text-sm)}.professor-query-error-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.professor-inline-error{gap:var(--space-1);font-size:var(--text-sm);display:grid}.professor-inline-error span{color:var(--color-text-soft)}.professor-inline-error button{min-height:44px;color:var(--color-action);cursor:pointer;background:0 0;border:0;justify-self:start;padding:.5rem 0;font-weight:800}.professor-scope-panel{background:linear-gradient(135deg,#c3d52e1f,#00ccff14 42%,#0c0c0cf0);border:1px solid #c3d52e2e;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin:0 20px 14px;padding:.7rem;display:grid;box-shadow:inset 0 1px #ffffff14,0 14px 32px #00000059}.professor-scope-copy{color:#d8d8d8;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;min-width:0;font-size:.78rem;display:inline-flex}.professor-scope-copy svg{color:var(--vipers-acid);flex-shrink:0}.professor-scope-copy strong{color:#fff;font-family:Teko,sans-serif;font-size:1.22rem;font-weight:500;line-height:1}.professor-scope-toggle{color:#bcbcbc;cursor:pointer;background:#00000080;border:1px solid #ffffff1f;border-radius:999px;grid-template-columns:1fr 1fr;align-items:center;width:9.6rem;min-width:9.6rem;min-height:44px;padding:.25rem;display:grid;position:relative;overflow:hidden}.professor-scope-toggle span:not(.professor-scope-thumb){z-index:1;text-transform:uppercase;place-items:center;min-width:0;font-family:Teko,sans-serif;font-size:1.05rem;line-height:1;display:grid;position:relative}.professor-scope-thumb{background:var(--vipers-acid);border-radius:999px;width:calc(50% - .25rem);transition:transform .22s;position:absolute;inset:.25rem auto .25rem .25rem;box-shadow:0 0 18px #c3d52e61}.professor-scope-toggle.is-on .professor-scope-thumb{background:#0cf;transform:translate(100%);box-shadow:0 0 18px #00ccff57}.professor-scope-toggle:not(.is-on) span:first-child,.professor-scope-toggle.is-on span:nth-child(2){color:#050505}.professor-filter-panel{background:linear-gradient(#080808f2,#000);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.75rem;max-width:100%;padding:0 20px 14px;display:grid}.professor-filter-panel .field-stack{gap:.45rem;min-width:0}.professor-filter-panel .field-stack span{color:var(--vipers-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.professor-calendar-button{min-height:48px;color:var(--vipers-acid);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:#c3d52e24;border:1px solid #c3d52e7a;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;font-family:Teko,sans-serif;font-size:1.2rem;display:inline-flex;position:relative;box-shadow:0 0 20px #c3d52e1f}.professor-calendar-button svg{flex-shrink:0}.professor-calendar-native{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.professor-filter-reset-button{color:#e6e6e6;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;min-height:48px;font-family:Teko,sans-serif;font-size:1.12rem;display:inline-flex}.professor-filter-reset-button:disabled{cursor:not-allowed;opacity:.45}.professor-filter-select,.professor-filter-date{font-variant-numeric:tabular-nums;min-width:0;min-height:44px;padding-right:2.9rem}.professor-filter-date::-webkit-calendar-picker-indicator{opacity:.84;cursor:pointer}.cards-container{padding:20px;padding-bottom:max(120px, calc(env(safe-area-inset-bottom,0px) + 120px));background:radial-gradient(circle at top,#c3d52e0f,#000);flex:1;overflow-y:auto}.class-card{background:#0f0f0fd9;border:1px solid #ffffff1a;border-radius:16px;max-width:100%;margin-bottom:15px;padding:20px;overflow:hidden;box-shadow:0 14px 30px #000000b3}.class-card-other-teacher{background:linear-gradient(135deg,#00ccff14,#0f0f0fe0 42%),#0f0f0fd9;border-color:#00ccff3d}.class-card.status-Aberta{border-color:var(--color-warning);background:color-mix(in oklch, var(--color-warning) 7%, var(--vipers-surface-1))}.class-card.status-Fechada{border-color:var(--vipers-border-strong);background:color-mix(in oklch, var(--color-success) 6%, var(--vipers-surface-1))}.class-card.status-Cancelada,.class-card.status-Inativo{border-color:color-mix(in oklch, var(--color-error) 55%, transparent);background:color-mix(in oklch, var(--color-error) 6%, var(--vipers-surface-1))}.class-card.status-Pago,.class-card.status-Confirmado,.class-card.status-Entregue{border-color:color-mix(in oklch, var(--color-info) 55%, transparent);background:color-mix(in oklch, var(--color-info) 6%, var(--vipers-surface-1))}.card-header-row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:8px;display:flex}.class-turma{color:var(--color-text);overflow-wrap:anywhere;flex:1;min-width:0;font-family:Roboto,system-ui,sans-serif;font-size:1.25rem;font-weight:800;line-height:1.2}.class-card-title-stack{flex:1;gap:.35rem;min-width:0;display:grid}.class-card-title-line{flex-wrap:wrap;flex:1;align-items:flex-start;gap:.6rem;min-width:0;display:flex}.attendance-date-chip{width:fit-content;max-width:100%;min-height:1.8rem;color:var(--vipers-acid);letter-spacing:.04em;white-space:nowrap;background:#c3d52e29;border:1px solid #c3d52e7a;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 0 18px #c3d52e29}.attendance-date-chip svg{flex-shrink:0}.teacher-scope-badge{color:#9cecff;letter-spacing:.12em;text-transform:uppercase;background:#00ccff14;border:1px solid #00ccff59;border-radius:8px;width:fit-content;max-width:100%;padding:.22rem .48rem;font-size:.68rem;font-weight:800}.class-time{color:#ccc;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:15px;font-size:1rem;font-weight:300;display:flex}.professor-class-meta{color:#c7c7c7;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1fr);align-items:center;gap:.55rem;margin-bottom:1rem;font-size:.82rem;display:grid}.professor-class-meta span{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;min-width:0;display:inline-flex;overflow:hidden}.professor-class-meta span svg{flex-shrink:0}.admin-attendance-card-list{flex-direction:column;gap:.75rem;padding:.5rem 0;display:flex}.admin-attendance-filterbar{background:#00000038;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:.75rem;margin-bottom:1rem;padding:.9rem;display:grid}.attendance-report-actions{flex-wrap:wrap;gap:.6rem;margin:-.25rem 0 1rem;display:flex}.attendance-report-actions .ghost-button{min-height:44px}.attendance-compliance-panel{background:#c3d52e0d;border:1px solid #c3d52e33;border-radius:12px;gap:.75rem;margin-bottom:1rem;padding:.9rem;display:grid}.attendance-compliance-heading{color:var(--vipers-acid);align-items:center;gap:.65rem;display:flex}.attendance-compliance-heading div{gap:.15rem;display:grid}.attendance-compliance-heading span,.attendance-compliance-row small,.attendance-compliance-empty{color:var(--vipers-muted);font-size:.75rem}.attendance-compliance-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem;display:grid}.attendance-compliance-row{background:#0000003d;border-radius:10px;grid-template-columns:1fr auto;gap:.2rem .75rem;padding:.65rem .75rem;display:grid}.attendance-compliance-row small{grid-column:1/-1}.admin-attendance-filterbar label{gap:.35rem;min-width:0;display:grid}.admin-attendance-filterbar label span{color:var(--vipers-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.attendance-multiselect{gap:.35rem;min-width:0;display:grid}.attendance-multiselect>span{color:var(--vipers-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.attendance-multiselect .admin-filter-dropdown-summary{text-overflow:ellipsis;white-space:nowrap;min-height:44px;overflow:hidden}.attendance-filter-actions{align-items:center;gap:.5rem;display:flex}.attendance-filter-actions .icon-action-button{width:44px;height:44px}.attendance-teacher-filter-row{display:contents}.attendance-overview{background:#ffffff06;border:1px solid #ffffff1a;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem;display:grid}.attendance-metric{gap:.15rem;min-width:0;padding:.75rem .85rem;display:grid}.attendance-metric+.attendance-metric{border-left:1px solid #ffffff1a}.attendance-metric strong{color:var(--vipers-acid);font-size:1.35rem;line-height:1}.attendance-metric span{color:var(--vipers-muted);font-size:.72rem;line-height:1.2}.attendance-charts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.attendance-chart-panel{background:#ffffff06;border:1px solid #ffffff1a;border-radius:12px;gap:.65rem;min-width:0;margin:0;padding:.9rem;display:grid}.attendance-chart-panel figcaption{gap:.2rem;display:grid}.attendance-chart-panel figcaption strong{color:var(--vipers-text);font-size:.9rem}.attendance-chart-panel figcaption span,.attendance-chart-legend{color:var(--vipers-muted);font-size:.72rem}.attendance-chart-canvas{min-width:0;min-height:230px}.attendance-chart-empty{min-height:230px;color:var(--vipers-muted);place-items:center;font-size:.82rem;display:grid}.attendance-chart-legend{flex-wrap:wrap;gap:.45rem .7rem;display:flex}.attendance-chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.attendance-chart-legend i{border-radius:50%;width:.5rem;height:.5rem}.admin-module-panel:has(.admin-attendance-filterbar) .inline-actions{white-space:nowrap;flex-wrap:nowrap}.attendance-header-actions{white-space:nowrap;flex-wrap:nowrap}.admin-module-panel:has(.attendance-charts) .attendance-list{border-top:1px solid #ffffff1a;display:grid}.admin-module-panel:has(.attendance-charts) .attendance-list-row{background:0 0;border:0;border-bottom:1px solid #ffffff1a;border-radius:0;grid-template-columns:minmax(220px,1.55fr) minmax(120px,.85fr) minmax(92px,.7fr) 44px;gap:.75rem;min-height:58px;padding:.65rem .2rem;display:grid}.attendance-list-main,.attendance-list-teacher,.attendance-list-presence,.attendance-list-state,.attendance-list-state small{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.attendance-list-main{align-content:center;gap:.2rem;display:grid}.attendance-list-meta{align-items:center;gap:.5rem;min-width:0;display:flex}.attendance-list-meta>span{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.attendance-list-main strong{color:var(--vipers-text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.attendance-list-meta>span,.attendance-list-teacher,.attendance-list-presence,.attendance-list-state small{color:var(--vipers-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.attendance-list-state{align-content:center;justify-items:start;gap:.2rem;display:grid}.card-actions-row{border-top:1px solid #ffffff0d;justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.btn-action-mobile{width:100%;color:var(--vipers-acid);min-height:44px;font-family:Roboto,sans-serif;font-size:var(--text-sm);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:12px;font-weight:800;display:flex}.professor-editor-container{padding-bottom:1.5rem}.professor-pagination-bar{background:radial-gradient(circle at bottom,#c3d52e0d,#0000);justify-content:center;align-items:center;padding:0 20px 20px;display:flex}.professor-pagination-pill{background:linear-gradient(135deg,#c3d52e12,#0000008f),#0c0c0cd1;border:1px solid #ffffff1f;border-radius:999px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;min-height:3.35rem;padding:.25rem;display:grid;box-shadow:inset 0 1px #ffffff0f,0 16px 34px #0000004d}.professor-pagination-btn{color:#f1f1f1;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-width:0;min-height:2.85rem;font-family:Teko,sans-serif;font-size:1.25rem;line-height:1;transition:background .18s,color .18s,opacity .18s;display:inline-flex}.professor-pagination-btn:hover:not(:disabled),.professor-pagination-btn:focus-visible{background:#ffffff12}.professor-pagination-btn:focus-visible{outline:2px solid var(--color-focus,var(--vipers-acid));outline-offset:2px}.professor-pagination-btn:disabled{color:#ffffff57;cursor:not-allowed}.professor-pagination-count{color:#bdbdbd;text-align:center;letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;border-left:1px solid #ffffff14;border-right:1px solid #ffffff14;min-width:4.1rem;padding:.4rem .8rem;font-size:.86rem}.professor-pagination-bar>span{color:#bdbdbd;letter-spacing:.08em;text-transform:uppercase;font-size:.86rem}.status-pill{text-transform:uppercase;letter-spacing:1px;color:#fff;background:#333;border-radius:6px;padding:4px 8px;font-size:.7rem;font-weight:700;display:inline-block}.portal-grid{gap:1rem;display:grid}.portal-summary{color:#bbb;gap:.4rem;font-size:.92rem;display:grid}.portal-summary strong{color:#fff}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.checkbox-chip{color:#d8d8d8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:1rem;align-items:center;gap:.55rem;min-height:48px;padding:.8rem .95rem;display:inline-flex}.checkbox-chip input{accent-color:var(--vipers-acid)}.student-classroom-multiselect,.student-classroom-row-picker{flex-wrap:wrap;gap:.45rem;min-width:0;max-width:100%;display:flex}.student-classroom-multiselect{background:#ffffff06;border:1px solid #ffffff1a;border-radius:8px;padding:.5rem}.student-classroom-row-picker{width:min(100%,360px)}.student-classroom-multiselect .checkbox-chip,.student-classroom-row-picker .checkbox-chip{white-space:nowrap;border-radius:8px;min-height:32px;padding:.38rem .55rem;font-size:.78rem;line-height:1.15}.student-classroom-row-picker .checkbox-chip{max-width:100%}.student-classroom-row-picker .checkbox-chip span{text-overflow:ellipsis;overflow:hidden}@media (width<=1080px){.module-grid,.store-grid,.student-grid,.student-meta-grid,.form-grid.two,.form-grid.three,.two-column{flex-direction:column;grid-template-columns:1fr}.login-layout,.hero-split,.topbar,.section-header,.header-flex,.legacy-admin-brand{flex-direction:column;align-items:flex-start}.login-card{max-width:unset;margin-left:0}.dashboard-matrix,.legacy-secondary-grid{grid-template-rows:auto;grid-template-columns:1fr 1fr}.matrix-item-freq,.matrix-item-feed{grid-column:span 2}.matrix-item-students,.matrix-item-classrooms,.matrix-item-store,.matrix-item-finance,.matrix-item-events,.matrix-item-audit,.matrix-item-bazar,.matrix-item-teachers,.matrix-item-users,.matrix-item-tryouts,.matrix-item-feed{grid-row:auto}.admin-filter-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.dashboard-wrapper{padding:1.5rem 0 3rem}.admin-app-header{margin:-1.5rem 0 1rem;padding:.5rem .75rem}.admin-app-header__inner{gap:.75rem;min-height:52px}.admin-app-header__chip,.admin-app-header__user-meta{display:none}.admin-app-header__user{background:0 0;border:none;padding:.2rem}.admin-app-header__logout span{display:none}.admin-app-header__logout{padding:.45rem .6rem}.dashboard-metrics-panel{display:none}.dashboard-matrix{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"freq students""notices classrooms""store finance""events audit""users users""bazar bazar""feed feed";gap:.75rem}.matrix-item-freq{grid-area:freq}.matrix-item-students{grid-area:students}.matrix-item-notices{grid-area:notices}.matrix-item-classrooms{grid-area:classrooms}.matrix-item-teachers{grid-area:teachers}.matrix-item-users{grid-area:users}.matrix-item-store{grid-area:store}.matrix-item-finance{grid-area:finance}.matrix-item-events{grid-area:events}.matrix-item-audit{grid-area:audit}.matrix-item-bazar{grid-area:bazar}.matrix-item-feed{grid-area:feed;min-height:20rem;display:block}.dashboard-matrix>div{min-width:0}.dashboard-matrix .vipers-glass-card{padding:1.15rem}.dashboard-matrix .legacy-card-title,.dashboard-matrix .legacy-card-title-hero{overflow-wrap:normal;word-break:keep-all;max-width:100%;font-size:clamp(1.4rem,6.5vw,1.75rem);line-height:.96}.dashboard-matrix .legacy-card-desc{letter-spacing:.08em;overflow-wrap:anywhere;word-break:normal;font-size:.68rem}.feed-glass-wrapper{min-height:20rem;padding:0}.feed-header-fixed{padding:1rem 1.1rem}.feed-scroll-container{padding:1rem 1.1rem 1.1rem}.legacy-card-hero{grid-template-rows:minmax(72px,auto) minmax(80px,1fr)}.legacy-card-hero-body{grid-template-columns:1fr}.legacy-card-icon-box-hero{display:none}.legacy-card-hero-top-spacer{min-height:24px}.student-photo-cell,.table-student-avatar,.table-student-avatar-placeholder{display:none}.legacy-module-panel{border-radius:1.2rem;padding:1rem}.admin-module-toolbar{align-items:stretch}.section-title{font-size:clamp(2rem,11vw,2.85rem);line-height:.96}.admin-module-toolbar,.admin-module-toolbar-actions,.inline-actions{flex-direction:column;align-items:stretch;gap:.65rem}.admin-module-toolbar .vipers-link-button,.admin-module-toolbar .action-button,.admin-module-toolbar .ghost-button,.admin-module-toolbar-actions>*,.inline-actions>*{justify-content:center;width:100%}.admin-module-panel:has(.finance-command) .admin-module-toolbar{flex-direction:row;align-items:stretch;gap:8px}.admin-module-panel:has(.finance-command) .admin-module-toolbar>.vipers-link-button{flex:1 1 0;width:auto;min-width:0}.admin-module-panel:has(.finance-command) .admin-module-toolbar .ghost-button{flex:1 1 0;width:auto;min-width:0}.admin-module-panel:has(.finance-command) .admin-module-toolbar-actions{flex:1 1 0;width:auto;min-width:0}.admin-module-panel:has(.finance-command) .admin-module-toolbar-actions>*{flex:1 1 0;width:auto;min-width:0}.admin-module-panel:has(.finance-command) .admin-module-toolbar-actions{flex-direction:row;gap:8px}.admin-filter-grid,.admin-filter-grid-two,.admin-filter-grid-compact{grid-template-columns:1fr}.admin-module-panel .table-responsive{overflow:visible}.admin-data-table{border-spacing:0}.admin-data-table thead{display:none}.admin-data-table,.admin-data-table tbody,.admin-data-table tr,.admin-data-table td{width:100%;display:block}.admin-data-table tbody{gap:.85rem;display:grid}.admin-data-table tr{background:#ffffff08;border:1px solid #ffffff14;border-radius:1rem;gap:.8rem;min-width:0;padding:1rem;display:grid;box-shadow:0 18px 30px #00000038}.admin-data-table td{text-align:left;background:0 0;border-radius:0;grid-template-columns:minmax(88px,.82fr) minmax(0,1.18fr);align-items:flex-start;gap:.75rem;min-width:0;padding:0;display:grid}.admin-data-table td:before{content:attr(data-label);color:var(--vipers-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.admin-data-table td.student-photo-cell{display:none}.admin-data-table td.actions-cell{text-align:left;border-top:1px solid #ffffff14;grid-template-columns:1fr;justify-items:end;gap:.65rem;margin-top:.15rem;padding-top:.85rem}.admin-data-table td.actions-cell:before{display:none}.admin-data-table .table-actions-end{justify-content:flex-start;width:100%}.admin-data-table .table-inline-select{min-height:46px}.professor-class-meta{grid-template-columns:1fr}.legacy-hero-inline-logo{height:.85em}.vipers-app-content{width:min(100%,100% - 1rem)}.mobile-app-wrapper{border-left:none;border-right:none;width:100%}.public-flow-shell,.login-legacy-shell{padding-inline:0}.login-legacy-shell{padding-top:max(2.75rem, calc(env(safe-area-inset-top) + 2.25rem));padding-bottom:max(1rem, calc(env(safe-area-inset-bottom) + .75rem))}.public-form-frame{width:min(100%,100% - .5rem)}.public-flow-copy{padding-inline:.5rem}.modal-backdrop{place-items:end center;padding:.75rem 0 0}.modal-backdrop.event-cancel-backdrop{place-items:center;padding:1rem}.modal-panel:not(.modal-confirm-panel){border-radius:1.3rem 1.3rem 0 0;width:100%;min-height:calc(100vh - .75rem);max-height:100vh;padding:1rem 1rem 5rem}.event-cancel-modal{width:100%;max-height:calc(100dvh - 2rem);border-radius:1rem!important;min-height:0!important;padding:1rem!important}.modal-panel-inline,.login-legacy-card{padding:1.25rem}.student-portal-shell{padding-inline:.25rem}.student-portal-frame{max-width:none}.student-portal-header,.student-hero-card{padding:1.1rem}.student-pagination{width:100%}.student-wallet-pass{padding:.95rem}.student-wallet-pass__main{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.student-wallet-photo,.student-wallet-qr-box{border-radius:12px;width:min(100%,7.15rem)}.student-wallet-pass__details{grid-template-columns:repeat(2,minmax(0,1fr))}.student-wallet-pass__details span:nth-child(2n){border-right:0}.student-wallet-actions{grid-template-columns:1fr;display:grid}.student-event-pix,.event-checkin-form{grid-template-columns:1fr}.event-registration-metrics,.event-financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.event-financial-table{max-height:min(760px,72dvh);padding-right:.25rem;overflow-x:visible;overflow-y:auto!important}.event-registration-metrics .event-registration-metric:last-child:nth-child(odd),.event-financial-summary .event-registration-metric:last-child:nth-child(odd){grid-column:1/-1}.event-operations-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.event-summary-grid,.event-gate-mode__body{grid-template-columns:1fr}.event-gate-mode{padding-bottom:calc(1rem + env(safe-area-inset-bottom));overflow-y:auto}.event-gate-mode__head{flex-direction:column}.student-wallet-qr{width:100%;height:100%}.event-summary-grid div,.event-registration-metric{border-radius:14px}.audit-panel__head{grid-template-columns:1fr;align-items:stretch;display:grid}.audit-panel__head .table-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.audit-panel__head .table-actions>*{justify-content:center;min-width:0}.audit-filter-grid{grid-template-columns:1fr}.audit-filter-grid .span-2{grid-column:auto}.audit-data-table tbody{gap:.6rem}.audit-data-table tr{gap:.55rem;padding:.8rem}.audit-data-table td{grid-template-columns:minmax(68px,.7fr) minmax(0,1.3fr);gap:.55rem}.audit-data-table td:before{font-size:.68rem}.audit-data-table td[data-label=IP]{display:none}.audit-data-table .audit-technical-action,.audit-data-table .audit-entity-id{display:none!important}.audit-data-table .audit-metadata-error:not(:empty){color:var(--vipers-danger);display:inline-block}.audit-data-table td.actions-cell{padding-top:.55rem}.audit-detail-button{min-height:38px;padding-block:.42rem}.audit-detail-drawer{width:min(100vw - 1rem,34rem);max-height:calc(100dvh - 1rem)}.student-hero-topline{flex-direction:column}.student-header-link{flex:1;justify-content:center}.student-history-row{grid-template-columns:78px minmax(0,1fr) 52px}.professor-scope-toggle{width:100%;min-width:0}.professor-scope-panel{grid-template-columns:1fr}.bottom-sheet{width:calc(100dvw - .5rem);max-width:none}.modal-header,.modal-footer{flex-direction:column;align-items:flex-start}.modal-panel:not(.modal-confirm-panel) .modal-header{z-index:2;background:#0c0c0cf5;margin-bottom:1rem;padding:0 0 .9rem;position:sticky;top:-1rem}.event-cancel-modal .modal-header{background:0 0;flex-direction:row;align-items:flex-start;margin:0;padding:0 0 .85rem;position:static!important}.modal-panel:not(.modal-confirm-panel) .modal-footer{z-index:2;padding:.9rem 0 calc(env(safe-area-inset-bottom,0px) + .25rem);background:#0c0c0cf5;margin-top:1.25rem;position:sticky;bottom:-1rem}.event-cancel-modal .modal-footer{background:0 0;flex-flow:wrap;justify-content:flex-end;margin:0;padding:0;position:static!important}.attendance-editor-overview-grid-compact,.professor-filter-panel,.admin-attendance-filterbar,.attendance-compliance-list{grid-template-columns:1fr}.attendance-report-actions .ghost-button{flex:calc(50% - .3rem)}.attendance-list-row{flex-wrap:wrap}.attendance-toggle-button-compact{width:100%}}@media (width<=389px){.dashboard-matrix{grid-template-columns:1fr;grid-template-areas:"freq""students""notices""classrooms""users""feed"}.admin-app-header__inner{flex-wrap:wrap;gap:.6rem}.admin-app-header__actions{margin-left:auto}}.vipers-not-found-page{place-items:center;min-height:100vh;padding:2rem;display:grid}.vipers-not-found-card{text-align:center;justify-items:center;gap:.8rem;width:min(760px,100%);padding:3rem;display:grid}.vipers-not-found-logo{width:140px;height:auto}.vipers-not-found-eyebrow{color:var(--vipers-acid);letter-spacing:.22em;text-transform:uppercase;font-size:.92rem}.vipers-not-found-code,.vipers-not-found-title{text-transform:uppercase;margin:0;font-family:Teko,sans-serif}.vipers-not-found-code{font-size:clamp(5rem,14vw,8rem);line-height:.8}.vipers-not-found-title{font-size:clamp(2.2rem,6vw,3.2rem);line-height:.92}.vipers-not-found-copy{max-width:34rem;color:var(--vipers-muted);margin:0}.vipers-not-found-path{border:1px solid var(--vipers-border);color:#d9d9d9;background:#ffffff08;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:.75rem 1rem;display:inline-flex}.vipers-not-found-actions{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:.4rem;display:flex}@media (width<=720px){.mobile-app-wrapper{min-height:100dvh}.cards-container{padding-bottom:max(150px, calc(env(safe-area-inset-bottom,0px) + 150px))}.professor-pagination-bar{padding-bottom:max(28px, calc(env(safe-area-inset-bottom,0px) + 28px))}.vipers-not-found-card{padding:2rem 1.25rem}}.attendance-scoreboard{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(160deg,#c3d52e0f 0%,#0a0a0a99 60%);border:1px solid #c3d52e2e;border-radius:1.15rem;gap:.85rem;margin-top:.45rem;padding:1.2rem 1.1rem 1rem;display:grid}.attendance-scoreboard-header{justify-content:space-between;align-items:center;gap:.55rem;min-width:0;display:flex}.attendance-scoreboard-title{text-transform:uppercase;letter-spacing:.06em;color:var(--vipers-acid);flex:1;min-width:0;font-family:Teko,sans-serif;font-size:1.45rem;font-weight:600;line-height:1}.attendance-scoreboard-context{flex-wrap:wrap;align-items:center;gap:.55rem .9rem;margin-top:-.65rem;display:flex}.attendance-scoreboard-context-item{color:var(--vipers-muted);letter-spacing:.02em;align-items:center;gap:.32rem;font-size:.8rem;display:inline-flex}.attendance-scoreboard-numbers{align-items:center;gap:0;display:flex}.attendance-scoreboard-stat{text-align:center;flex:1;gap:.05rem;display:grid}.attendance-scoreboard-stat-value{letter-spacing:-.01em;color:var(--vipers-text);font-family:Teko,sans-serif;font-size:clamp(2.8rem,10vw,3.6rem);font-weight:700;line-height:.9;transition:color .3s}.attendance-scoreboard-stat-value.is-highlight{color:var(--vipers-acid)}.attendance-scoreboard-stat-label{text-transform:uppercase;letter-spacing:.12em;color:var(--vipers-muted);font-size:.68rem}.attendance-scoreboard-divider{background:var(--vipers-border);flex-shrink:0;width:1px;height:3rem;margin:0 1.1rem}.attendance-progress-track{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.attendance-progress-fill{background:var(--vipers-acid);border-radius:999px;min-width:6px;height:100%;transition:width .45s cubic-bezier(.34,1.56,.64,1)}.attendance-scoreboard-meta{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.attendance-scoreboard-pct{letter-spacing:.06em;color:var(--vipers-acid);font-family:Teko,sans-serif;font-size:.78rem}.attendance-scoreboard-tags{flex-wrap:wrap;gap:.4rem;display:flex}.attendance-scoreboard-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--vipers-muted);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.7rem;display:inline-flex}.attendance-scoreboard-tag.tag-extra{color:var(--vipers-warning);border-color:#ffb02040}.attendance-scoreboard-tag.tag-experimental{color:#72b0ff;border-color:#72b0ff40}.attendance-game-swipe-wrapper{background:0 0;border-radius:0;position:relative;overflow:hidden}.attendance-game-swipe-wrapper .attendance-game-row{z-index:1;background:#0c0c0c;position:relative}.attendance-game-swipe-delete-btn{background:var(--vipers-danger);color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;justify-content:center;align-items:center;width:88px;font-size:.78rem;font-weight:600;display:flex;position:absolute;inset:0 0 0 auto}.attendance-game-row{min-height:46px;max-height:46px;box-shadow:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;will-change:transform;background:#0c0c0c;border:none;border-bottom:1px solid #ffffff0d;border-radius:0;align-items:center;gap:.65rem;padding:0 .75rem;transition:box-shadow .2s,background .2s,transform .1s;display:flex;position:relative}.attendance-game-row:active{opacity:.85;transform:scaleX(.99)}.attendance-game-row[aria-disabled=true]{cursor:default}.attendance-game-row[aria-disabled=true]:active{opacity:1;transform:none}.attendance-game-row.is-present{box-shadow:inset 3px 0 0 var(--vipers-acid);background:#0d1a05}.attendance-game-swipe-wrapper .attendance-game-row.is-present{background:#0d1a05}.attendance-game-row-check{width:20px;height:20px;color:var(--vipers-acid);opacity:0;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s,transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;transform:scale(.5)}.attendance-game-row.is-present .attendance-game-row-check{opacity:1;transform:scale(1)}.attendance-game-row-info{flex-wrap:nowrap;flex:1;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.attendance-game-row-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.attendance-game-row-name{color:var(--vipers-muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:.9rem;font-weight:600;transition:color .2s;overflow:hidden}.attendance-game-row.is-present .attendance-game-row-name{color:var(--vipers-text)}.attendance-game-row-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;padding:.15rem .5rem;font-size:.66rem;font-weight:600;display:inline-flex}.attendance-game-row-badge.badge-extra{color:var(--vipers-warning);background:#ffb02012;border:1px solid #ffb0204d}.attendance-game-row-badge.badge-alert{color:var(--vipers-danger);background:#ff626212;border:1px solid #ff62624d}.attendance-game-row-star{color:var(--vipers-warning);opacity:.85;flex-shrink:0}.attendance-game-toggle{pointer-events:none;background:#ffffff1a;border:1px solid #ffffff14;border-radius:999px;flex-shrink:0;width:50px;height:30px;transition:background .25s,border-color .25s,box-shadow .25s;position:relative}.attendance-game-toggle.is-on{background:var(--vipers-acid);border-color:#0000}.attendance-game-toggle-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000059}.attendance-game-toggle.is-on .attendance-game-toggle-knob{transform:translate(20px)}.attendance-game-footer{padding:.85rem 0;z-index:10;background:0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:.85rem;display:flex;position:sticky;bottom:0}.attendance-game-footer-count{align-items:baseline;gap:.35rem;display:flex}.attendance-game-footer-number{color:var(--vipers-acid);font-family:Teko,sans-serif;font-size:1.6rem;font-weight:700;line-height:1}.attendance-game-footer-label{color:var(--vipers-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.attendance-game-footer-extra{color:var(--vipers-warning);margin-left:.1rem;font-size:.78rem}.attendance-game-footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.attendance-game-footer-btn{min-width:148px}.modal-panel.attendance-editor-panel-inline>.modal-header{z-index:2;background:radial-gradient(circle at 0 0,#c3d52e17,#0000 42%),linear-gradient(135deg,#161812f5,#0a0b0aeb);border:1px solid #c3d52e1f;border-radius:1rem;flex-direction:row;justify-content:flex-start;align-items:center;gap:.85rem;margin:0 0 1rem;padding:.75rem;display:flex;position:sticky;top:.35rem;box-shadow:inset 0 1px #ffffff0f,0 16px 34px #00000038}.prof-editor-title-row{flex:1;justify-content:flex-start;align-items:center;gap:.5rem;min-width:0;display:flex}.prof-editor-title{letter-spacing:.04em;text-transform:uppercase;color:var(--vipers-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Teko,sans-serif;font-size:clamp(1.65rem,3.4vw,2.35rem);font-weight:600;line-height:.92;overflow:hidden}.attendance-editor-panel-inline .prof-editor-title{font-size:clamp(1.65rem,7.2vw,2rem)}.prof-status-label{letter-spacing:.09em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:.28rem .72rem;font-size:.74rem;font-weight:700;line-height:1}.prof-status-label.status-open{color:var(--vipers-warning);background:#ffb0201f;border-color:#ffb02059}.prof-status-label.status-closed{color:#4caf72;background:#4caf721f;border-color:#4caf7259}.prof-status-label.status-cancelled{color:var(--vipers-danger);background:#ff62621f;border-color:#ff626259}@media (width<=640px){.modal-panel.attendance-editor-panel-inline{z-index:450;width:100%;height:100dvh;max-height:100dvh;padding:max(1rem, calc(env(safe-area-inset-top,0px) + .75rem)) 1rem max(1rem, calc(env(safe-area-inset-bottom,0px) + 1rem));border-radius:0;position:fixed;inset:0;overflow-y:auto}.attendance-game-footer-count,.attendance-game-footer-actions{width:100%}.attendance-editor-teacher-stack{padding-bottom:max(180px, calc(env(safe-area-inset-bottom,0px) + 180px))}.attendance-game-footer{left:max(.75rem, env(safe-area-inset-left,0px));right:max(.75rem, env(safe-area-inset-right,0px));bottom:max(72px, calc(env(safe-area-inset-bottom,0px) + 72px));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080808f0;border:1px solid #c3d52e29;border-radius:1rem;margin-inline:0;padding:.75rem;position:fixed;box-shadow:0 16px 34px #00000057}.attendance-game-footer-actions{flex-direction:column-reverse}.attendance-game-footer-btn{width:100%}.attendance-confirm-panel{width:calc(100% - 1rem);padding:1rem .95rem .9rem}}.prof-back-btn{width:44px;min-width:44px;height:44px;color:var(--vipers-text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;gap:.3rem;padding:0;font-size:.8rem;font-weight:700;transition:background .2s,border-color .2s;display:flex}.prof-back-btn:hover{background:#ffffff1a}.attendance-editor-panel-inline .attendance-editor-teacher-stack{padding-bottom:max(9.25rem, calc(env(safe-area-inset-bottom,0px) + 9.25rem))}.attendance-game-footer-inline{left:50%;bottom:max(1rem, calc(env(safe-area-inset-bottom,0px) + 1rem));z-index:460;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080808f0;border:1px solid #c3d52e29;border-radius:1rem;width:min(480px,100vw - 1.5rem);margin:0;padding:.75rem;position:fixed;transform:translate(-50%);box-shadow:0 16px 34px #00000057}.attendance-game-footer-hidden{visibility:hidden;pointer-events:none}.vipers-app-content:has(.professor-screen){padding-top:0}.professor-screen .filter-tabs{background:linear-gradient(#080808f5,#020202fa);gap:.75rem;padding:1rem 1.25rem .75rem}.professor-screen .tab-btn{color:#777;letter-spacing:.02em;text-transform:uppercase;background:#ffffff05;border-color:#ffffff2e;border-radius:1rem;min-height:3.25rem;padding:.75rem;font-family:Teko,sans-serif;font-size:1.3rem;font-weight:500;line-height:1}.professor-screen .tab-btn.active{border-color:var(--vipers-acid);background:var(--vipers-acid);color:#101308}.professor-screen .prof-status-banner{color:#d2d2d2;border-inline-start:3px solid #0000;min-height:2.55rem;margin-bottom:.7rem;padding:.55rem .85rem;font-size:.95rem}.professor-screen .prof-status-banner.banner-alert{border-inline-start-color:var(--vipers-warning);color:var(--vipers-warning)}.professor-screen .professor-scope-panel{background:linear-gradient(115deg,#c3d52e1a,#00ccff0f 48%,#090c0af5),#0a0c0bf0;border-color:#c3d52e42;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;min-height:4.1rem;margin-bottom:.9rem;padding:.7rem}.professor-screen .professor-scope-copy{gap:.45rem;font-size:.78rem}.professor-screen .professor-scope-copy strong{font-size:1.22rem}.professor-screen .professor-scope-toggle{min-height:2.85rem}.professor-screen .professor-scope-toggle span:not(.professor-scope-thumb){font-size:1.05rem}.professor-screen .cards-container{background:radial-gradient(circle at top,#c3d52e0f,#000);padding:1.25rem}.professor-screen .class-card{background:#0f0f0fd9;border-color:#ffffff1a;border-radius:1rem;margin-bottom:.95rem;padding:1.25rem;box-shadow:0 14px 30px #000000b3}.professor-screen .class-card.status-Aberta{border-color:#ffffff1a;background:#0f0f0fd9;border-inline-start:4px solid #ff9100}.professor-screen .class-card-other-teacher.status-Aberta{background:linear-gradient(135deg,#00ccff14,#0f0f0fe0 42%),#0f0f0fd9;border-color:#00ccff57}.professor-screen .class-card.status-Fechada{border-inline-start:4px solid var(--vipers-acid)}.professor-screen .class-card.status-Cancelada,.professor-screen .class-card.status-Inativo{border-inline-start:4px solid var(--vipers-danger)}.professor-screen .card-header-row{gap:.8rem;margin-bottom:1rem}.professor-screen .class-card-title-line{gap:.65rem}.professor-screen .class-turma{letter-spacing:.02em;text-transform:uppercase;font-family:Teko,sans-serif;font-size:clamp(1.8rem,7vw,2.2rem);font-weight:500;line-height:.9}.professor-screen .attendance-date-chip{background:#c3d52e1f;border-color:#c3d52e8c;min-height:1.8rem;padding:.25rem .55rem;font-family:Roboto,sans-serif;font-size:.78rem;font-weight:600}.professor-screen .status-badge{letter-spacing:.07em;border-color:#0000;min-height:auto;padding:.35rem .8rem;font-family:Roboto,sans-serif;font-size:.78rem;font-weight:700}.professor-screen .status-Aberta .status-badge{color:var(--vipers-warning);background:#ff910029}.professor-screen .teacher-scope-badge{border-radius:.65rem;padding:.3rem .6rem;font-size:.8rem}.professor-screen .professor-class-meta{color:#c7c7c7;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1fr);gap:.55rem;margin-bottom:1rem;font-size:.82rem}.professor-screen .btn-action-mobile{min-height:2.75rem;color:var(--vipers-acid);background:#ffffff0d;border-color:#ffffff1a;border-radius:.625rem;font-family:Teko,sans-serif;font-size:1.3rem;font-weight:400}@media (width<=640px){.professor-screen .professor-scope-panel{grid-template-columns:minmax(0,1fr) auto}.professor-screen .professor-scope-toggle{width:9.6rem;min-width:9.6rem}.professor-screen .professor-class-meta{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1fr);font-size:.82rem}}.tap-press{transition:transform .12s}.tap-press:active:not(:disabled){transform:scale(.97)}.student-hero-identity{text-align:center;justify-items:center;gap:.45rem;padding:.25rem 0 .15rem;display:grid}.student-hero-identity h1{letter-spacing:.02em;text-transform:uppercase;color:#fff;margin:0;font-family:Teko,sans-serif;font-size:clamp(1.55rem,7.5vw,2rem);line-height:.95}.student-hero-meta{color:#9a9a9a;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.82rem;font-weight:600;display:inline-flex}.student-hero-meta__jersey{color:var(--vipers-acid);letter-spacing:.04em;align-items:center;gap:.35rem;font-family:Teko,sans-serif;font-size:1.15rem;display:inline-flex}.student-hero-meta__jersey svg{stroke-width:2.25px;color:var(--vipers-acid);flex-shrink:0}.student-hero-meta__jersey.is-placeholder{opacity:.55}.student-hero-meta__sep{background:#ffffff40;border-radius:999px;width:4px;height:4px;display:inline-block}.student-story-avatar{place-items:center;width:128px;height:128px;margin:0 auto;display:grid;position:relative}.student-story-avatar__ring{background:conic-gradient(from 0deg, var(--vipers-acid), #ffd84d 35%, var(--vipers-acid) 60%, #69c600 80%, var(--vipers-acid));-webkit-mask-composite:xor;pointer-events:none;border-radius:50%;padding:3px;animation:9s linear infinite story-ring-rotate;position:absolute;inset:0;box-shadow:0 0 22px #c3d52e47;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.student-story-avatar:hover .student-story-avatar__ring{animation-play-state:paused}.student-story-avatar__ring.has-unread{background:conic-gradient(from 0deg, var(--vipers-gold), var(--vipers-acid) 40%, var(--vipers-gold) 70%, #ff9a2e 90%, var(--vipers-gold));box-shadow:0 0 26px #ffd84d61}@keyframes story-ring-rotate{to{transform:rotate(360deg)}}.student-story-avatar__button{cursor:pointer;background:#0a0a0a;border:none;border-radius:50%;place-items:center;width:110px;height:110px;padding:0;transition:transform .2s cubic-bezier(.22,.8,.3,1);display:grid;position:relative;overflow:hidden}.student-story-avatar__button:active:not(:disabled){transform:scale(.96)}.student-story-avatar__button:disabled{cursor:wait;opacity:.6}.student-story-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.student-story-avatar__placeholder{color:var(--vipers-muted);letter-spacing:.04em;justify-items:center;gap:4px;font-family:Teko,sans-serif;font-size:1.9rem;display:grid}.student-story-avatar__placeholder small{color:var(--vipers-muted);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:4px;font-family:inherit;font-size:.72rem;display:inline-flex}.student-story-avatar__edit-badge{background:var(--vipers-acid);color:#0a0a0a;border-radius:50%;place-items:center;width:26px;height:26px;transition:transform .2s;display:grid;position:absolute;bottom:4px;right:4px;box-shadow:0 4px 12px #c3d52e59}.student-story-avatar__button:hover .student-story-avatar__edit-badge{transform:scale(1.08)}.avatar-lightbox{z-index:1100;background:#000000eb;place-items:center;padding:1.5rem;animation:.22s ease-out backdrop-in;display:grid;position:fixed;inset:0}.avatar-lightbox__img{border:1px solid #c3d52e40;border-radius:18px;max-width:100%;max-height:82vh}.avatar-lightbox__close{color:#fff;cursor:pointer;background:#0a0a0ab3;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:1rem;right:1rem}.student-bell{color:#d4d4d4;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;place-items:center;width:44px;height:44px;transition:border-color .2s,color .2s;display:grid;position:relative}.student-bell:hover{color:#fff;border-color:#c3d52e66}.student-bell__dot{background:var(--vipers-acid);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite acid-pulse;position:absolute;top:8px;right:10px;box-shadow:0 0 0 2px #050505}@keyframes acid-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}.student-next-training-card{cursor:default;text-align:start;background:linear-gradient(135deg,#c3d52e14,#0000 62%),#0a0a0ae6;border:1px solid #c3d52e2e;border-radius:1.2rem;gap:.3rem;padding:.95rem 1rem;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid;position:relative}.student-next-training-card:hover{border-color:#c3d52e73;transform:translateY(-2px);box-shadow:0 12px 28px #c3d52e38}.student-next-training-card__label{letter-spacing:.16em;text-transform:uppercase;color:var(--vipers-acid);align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;display:inline-flex}.student-next-training-card__label svg{width:auto;height:auto}.student-next-training-card__value{color:#fff;text-transform:uppercase;margin:0;font-family:Teko,sans-serif;font-size:1.35rem;line-height:1}.student-next-training-card__meta{color:#aeaeae;margin:0;font-size:.82rem}.feed-card-enter{opacity:0;animation:.42s cubic-bezier(.22,.8,.3,1) forwards feed-in;transform:translateY(10px)}@keyframes feed-in{to{opacity:1;transform:translateY(0)}}.bottom-sheet-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0009;animation:.24s ease-out backdrop-in;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.bottom-sheet{z-index:1001;background:#0c0c0cfa;border:1px solid #ffffff14;border-bottom:none;border-top-left-radius:22px;border-top-right-radius:22px;flex-direction:column;width:100%;max-width:28rem;max-height:88vh;animation:.32s cubic-bezier(.22,.8,.3,1) sheet-slide-up;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -20px 40px #0000008c}@keyframes sheet-slide-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.bottom-sheet__grabber{background:#ffffff38;border-radius:4px;width:42px;height:4px;margin:10px auto 6px}.bottom-sheet__head{border-bottom:1px solid var(--vipers-border);justify-content:space-between;align-items:center;padding:4px 16px 12px;display:flex}.bottom-sheet__title{text-transform:uppercase;color:#fff;letter-spacing:.04em;margin:0;font-family:Teko,sans-serif;font-size:1.5rem;line-height:1}.bottom-sheet__close{color:#d4d4d4;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.bottom-sheet__close:hover{color:#fff;border-color:#c3d52e66}.bottom-sheet__body{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex:1;min-width:0;padding:12px 14px 20px;overflow:hidden auto}.bottom-sheet__body::-webkit-scrollbar{width:5px}.bottom-sheet__body::-webkit-scrollbar-track{background:0 0}.bottom-sheet__body::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.bottom-sheet__body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.bottom-sheet__body .student-arena-card{box-shadow:none;background:0 0;border:none;padding:0}.bottom-sheet__body .student-arena-card:before,.bottom-sheet__body .student-panel-head{display:none}.action-sheet-backdrop{-webkit-backdrop-filter:blur(6px);z-index:1050;background:#0000008c;justify-content:center;align-items:flex-end;padding:.75rem;animation:.2s ease-out backdrop-in;display:flex;position:fixed;inset:0}.action-sheet{background:#0e0e0efa;border:1px solid #ffffff14;border-radius:18px;gap:6px;width:min(100%,26rem);padding:12px;animation:.26s cubic-bezier(.22,.8,.3,1) sheet-slide-up-small;display:grid}@keyframes sheet-slide-up-small{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.action-sheet__title{letter-spacing:.14em;text-transform:uppercase;color:var(--vipers-muted);margin:4px 4px 6px;font-size:.74rem;font-weight:700}.action-sheet__list{gap:4px;display:grid}.action-sheet__btn{color:#eaeaea;cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 14px;font-size:.95rem;font-weight:600;transition:background .18s,border-color .18s,color .18s,transform .12s;display:flex}.action-sheet__btn:hover{background:#c3d52e14;border-color:#c3d52e40}.action-sheet__btn--danger{color:var(--vipers-danger)}.action-sheet__btn--cancel{color:var(--vipers-muted);background:#ffffff05;border-color:#ffffff1a;justify-content:center;margin-top:6px}.action-sheet__icon{width:32px;height:32px;color:var(--vipers-acid);background:#c3d52e1a;border-radius:10px;place-items:center;display:grid}.student-portal-topbar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.65rem;padding:0 0 .65rem;display:flex}.student-portal-topbar__brand{align-items:center;gap:.55rem;display:inline-flex}.student-portal-topbar__brand img{filter:drop-shadow(0 0 14px #c3d52e33);width:32px;height:auto}.student-portal-topbar__brand strong{text-transform:uppercase;letter-spacing:.04em;color:#fff;font-family:Teko,sans-serif;font-size:1.3rem}.student-portal-topbar__actions{align-items:center;gap:.4rem;display:inline-flex}.student-toast{z-index:1200;border-radius:12px;width:min(100% - 2rem,24rem);padding:.75rem 1rem;font-size:.88rem;font-weight:600;line-height:1.4;animation:.26s cubic-bezier(.22,.8,.3,1) toast-in;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #00000073}.student-toast--ok{color:var(--vipers-acid);background:#c3d52e29;border:1px solid #c3d52e73}.student-toast--err{color:var(--vipers-danger);background:#ff626224;border:1px solid #ff626273}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}.field-req{color:var(--vipers-danger);margin-left:2px;font-weight:700}.field-error{color:var(--vipers-danger);margin-top:4px;font-size:12px;display:block}.vipers-field[aria-invalid=true]{border-color:#ff626299;box-shadow:0 0 0 2px #ff62622e}.photo-cropper-backdrop{z-index:1200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b8;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out jp-fade-in;display:flex;position:fixed;inset:0}.photo-cropper-panel{background:var(--vipers-panel);border:1px solid var(--vipers-border);border-radius:20px;flex-direction:column;gap:16px;width:min(360px,100%);padding:20px;animation:.22s cubic-bezier(.22,.8,.3,1) jp-pop-in;display:flex;box-shadow:0 30px 80px #000000b3}.photo-cropper-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-cropper-head strong{color:var(--vipers-text);font-size:15px}.photo-cropper-close{width:32px;height:32px;color:var(--vipers-muted);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.photo-cropper-close:hover{border-color:var(--vipers-acid);color:var(--vipers-acid)}.photo-cropper-viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;border-radius:50%;align-self:center;position:relative;overflow:hidden}.photo-cropper-viewport:active{cursor:grabbing}.photo-cropper-viewport img{pointer-events:none;will-change:transform;max-width:none;position:absolute;top:50%;left:50%}.photo-cropper-mask{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #c3d52e80}.photo-cropper-zoom{align-items:center;gap:10px;display:flex}.photo-cropper-zoom button{width:32px;height:32px;color:var(--vipers-muted);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.photo-cropper-zoom button:hover{border-color:var(--vipers-acid);color:var(--vipers-acid)}.photo-cropper-zoom input[type=range]{accent-color:var(--vipers-acid);flex:1}.photo-cropper-actions{justify-content:flex-end;gap:10px;display:flex}.photo-cropper-btn{cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:600;transition:transform .12s,box-shadow .2s,border-color .15s;display:inline-flex}.photo-cropper-btn.ghost{color:var(--vipers-muted);background:0 0;border:1px solid #ffffff24}.photo-cropper-btn.ghost:hover{border-color:var(--vipers-text);color:var(--vipers-text)}.photo-cropper-btn.primary{background:var(--vipers-acid);border:1px solid var(--vipers-acid);color:#0a0a0a}.photo-cropper-btn.primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px #c3d52e4d}.classroom-change-modal{border-radius:18px;flex-direction:column;gap:18px;width:min(460px,92vw);padding:24px;animation:.22s cubic-bezier(.22,.8,.3,1) jp-pop-in;display:flex}.classroom-change-modal__head{grid-template-columns:auto 1fr auto;align-items:flex-start;gap:12px;display:grid}.classroom-change-modal__icon{width:36px;height:36px;color:var(--vipers-acid);background:#c3d52e24;border:1px solid #c3d52e59;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.classroom-change-modal__head-text{min-width:0}.classroom-change-modal__head-text .section-title{margin:0;font-size:1.05rem;line-height:1.15}.classroom-change-modal__head-text .section-description{color:var(--vipers-text);text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600}.classroom-change-modal__close{width:32px;height:32px;color:var(--vipers-muted);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.classroom-change-modal__close:hover:not(:disabled){border-color:var(--vipers-acid);color:var(--vipers-acid)}.classroom-change-modal__close:disabled{opacity:.5;cursor:not-allowed}.classroom-change-modal__transition{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:10px;display:grid}.classroom-change-modal__chip{border:1px solid var(--vipers-border);background:#ffffff08;border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex}.classroom-change-modal__chip--to{background:#c3d52e14;border-color:#c3d52e73}.classroom-change-modal__chip--to.is-removing{background:#ff626214;border-color:#ff626266}.classroom-change-modal__chip-label{letter-spacing:.12em;text-transform:uppercase;color:var(--vipers-muted);font-size:10px;font-weight:700}.classroom-change-modal__chip-value{color:var(--vipers-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.classroom-change-modal__chip--to .classroom-change-modal__chip-value{color:var(--vipers-acid)}.classroom-change-modal__chip--to.is-removing .classroom-change-modal__chip-value{color:var(--vipers-danger)}.classroom-change-modal__arrow{color:var(--vipers-muted);flex-shrink:0;align-self:center}.classroom-change-modal__note{border:1px solid var(--vipers-border);color:var(--vipers-muted);background:#ffffff08;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.classroom-change-modal__note svg{color:var(--vipers-muted);flex-shrink:0;margin-top:2px}.classroom-change-modal__actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=420px){.classroom-change-modal__transition{grid-template-columns:1fr}.classroom-change-modal__arrow{justify-self:center;transform:rotate(90deg)}.classroom-change-modal__actions{flex-direction:column-reverse}.classroom-change-modal__actions button{width:100%}}@media (width<=640px){.admin-module-header:has(.attendance-header-actions){flex-wrap:wrap}.attendance-header-actions{justify-content:flex-end;width:100%}.attendance-header-actions>:is(.action-button,.ghost-button){min-width:0;padding-inline:.65rem}:is(.admin-module-panel:has(.admin-attendance-filterbar) .admin-module-toolbar-actions,.admin-module-panel:has(.admin-attendance-filterbar) .inline-actions){width:auto;min-width:0}.admin-module-panel:has(.admin-attendance-filterbar) .attendance-header-actions{flex-flow:row;justify-content:flex-end;align-items:center;gap:.5rem;width:100%;display:flex}.admin-module-panel:has(.admin-attendance-filterbar) .attendance-header-actions>:is(.action-button,.ghost-button){flex:0 auto;width:auto;min-width:0}.modal-backdrop>.modal-panel.notice-composer-panel{grid-template-rows:auto minmax(0,1fr);width:100%;height:calc(100dvh - .75rem);min-height:0;max-height:none;padding-bottom:.5rem;display:grid;position:fixed;inset:.75rem 0 0;overflow:hidden!important}.modal-panel.notice-composer-panel .modal-header{background:0 0;flex-direction:row;align-items:center;min-height:44px;margin:0;padding:0 0 .75rem;display:flex;position:static}.modal-panel.notice-composer-panel .notice-composer{min-height:0;padding-bottom:0;overflow-y:auto}.modal-panel.notice-composer-panel .notice-composer-actions{width:100%;padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom));background:var(--color-surface);flex-wrap:nowrap;position:sticky;bottom:0;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;display:flex!important}.admin-module-panel:has(.admin-attendance-filterbar) .admin-module-toolbar-actions :is(.action-button,.ghost-button,button,a){width:auto;min-width:0;padding-inline:.65rem}.admin-module-panel:has(.admin-attendance-filterbar) .admin-module-toolbar-actions :is(.action-button,.ghost-button,button,a) span{display:inline}.admin-attendance-filterbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;padding:.7rem}.attendance-teacher-filter-row{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.6rem;display:grid}.attendance-teacher-filter-row .attendance-filter-actions{justify-content:flex-end}.admin-attendance-filterbar .admin-checkbox-row{align-items:center;gap:.7rem;min-height:44px;display:flex}.admin-attendance-filterbar .admin-checkbox-row input{flex:none;width:1.15rem;height:1.15rem;margin:0}.admin-attendance-filterbar .admin-checkbox-row span{color:#ddd;letter-spacing:normal;text-transform:none;font-size:.875rem}.admin-module-header:has(.attendance-header-actions){flex-wrap:nowrap;align-items:center}.attendance-header-actions{width:auto;margin-left:auto}.admin-module-panel:has(.admin-attendance-filterbar) .attendance-generate-button{flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0}:is(.admin-module-panel:has(.admin-attendance-filterbar) .attendance-create-button,.admin-module-panel:has(.students-create-button) .students-create-button){aspect-ratio:1;box-sizing:border-box;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;gap:0;width:44px;min-width:44px;max-width:44px;height:44px;padding:0;font-size:0}:is(.admin-module-panel:has(.admin-attendance-filterbar) .attendance-create-button svg,.admin-module-panel:has(.students-create-button) .students-create-button svg){width:16px;height:16px}.attendance-overview{margin-inline:-.1rem}.attendance-metric{padding:.65rem .55rem}.attendance-metric strong{font-size:1.15rem}.attendance-metric span{font-size:.66rem}.attendance-charts{grid-template-columns:1fr;gap:.75rem}.admin-module-panel:has(.attendance-charts) .attendance-list-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main state""presence action";gap:.35rem .65rem;min-height:96px;padding:.7rem .1rem}.attendance-list-main{grid-area:main}.attendance-list-presence{grid-area:presence}.attendance-list-state{grid-area:state;align-items:start}.admin-module-panel:has(.attendance-charts) .attendance-list-row>.icon-action-button{grid-area:action;place-self:end}.student-name-cell{min-width:0}}@media (width<=360px){.admin-attendance-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-attendance-filterbar>label:nth-of-type(-n+2){grid-column:1/-1}.admin-attendance-filterbar>.attendance-filter-actions{grid-column:auto}}
