@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#111;--color-primary-active:#242424;--color-ink:#111;--color-body:#374151;--color-muted:#6b7280;--color-hairline:#e5e7eb;--color-hairline-soft:#f3f4f6;--color-canvas:#fff;--color-surface-soft:#f8f9fa;--color-surface-card:#f5f5f5;--color-semantic-success:#10b981;--color-semantic-error:#ef4444;--radius-pill:9999px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--brand-4a-red:#d92d20;--success-ink:#087453;--error-ink:#b42318;--success-surface:#ecf9f5}@supports (color:color-mix(in lab,red,red)){:root{--success-surface:color-mix(in srgb, var(--color-semantic-success) 8%, white)}}:root{--error-surface:#fef2f2}@supports (color:color-mix(in lab,red,red)){:root{--error-surface:color-mix(in srgb, var(--color-semantic-error) 7%, white)}}:root{--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--text-nav:11px;--text-caption:13px;--text-ui:14px;--text-body:16px;--text-title:18px;--text-display:28px;--shadow-soft:0 1px 2px #0000000d;--shadow-raised:0 4px 12px #00000014;--control-height:44px;--footer-height:72px;--product-width:560px;font-family:var(--font-sans);color:var(--color-ink);background:var(--color-surface-soft);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:disabled{cursor:default}button,a,.attendance-pill{transition:background-color .14s,color .14s,border-color .14s}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.app-shell{width:100%;max-width:var(--product-width);background:var(--color-surface-soft);border-inline:1px solid var(--color-hairline);min-height:100dvh;margin:0 auto}main{padding:calc(env(safe-area-inset-top) + var(--space-xs)) var(--space-md) calc(var(--footer-height) + env(safe-area-inset-bottom) + var(--space-md))}.date-section{margin-bottom:var(--space-sm)}.icon-button{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);color:var(--color-ink);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:disabled{color:var(--color-muted);opacity:.35}.calendar-trigger{color:var(--color-muted);margin-left:var(--space-xxs)}.more-trigger{color:var(--color-muted)}.date-actions{flex-shrink:0;position:relative}.attendance-action-menu{z-index:7;top:calc(100% + var(--space-xxs));width:188px;padding:var(--space-xxs);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-canvas);box-shadow:var(--shadow-raised);position:absolute;right:0}.attendance-action-menu button{width:100%;min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);text-align:left;font-size:var(--text-ui);font-weight:500}.attendance-action-menu button:focus-visible{outline-offset:-2px}.date-navigation{align-items:center;gap:var(--space-xxs);display:flex}.date-navigation time{font-size:var(--text-ui);text-align:center;text-transform:uppercase;letter-spacing:.04em;flex:1;font-weight:600}.session-segment{background:var(--color-surface-card);border-radius:var(--radius-pill);border:1px solid var(--color-hairline-soft);padding:6px;display:flex}.session-segment button{gap:var(--space-xs);min-height:var(--control-height);border-radius:var(--radius-pill);font-size:var(--text-ui);color:var(--color-muted);background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;font-weight:500;display:flex}.session-segment button[aria-pressed=true]{color:var(--color-ink);background:var(--color-canvas);border-color:var(--color-hairline);box-shadow:var(--shadow-soft)}.sport-tabs{gap:var(--space-xxs);margin-top:var(--space-xs);border-bottom:1px solid var(--color-hairline);padding:0;display:flex}.sport-tabs button{min-width:0;min-height:var(--control-height);color:var(--color-muted);font-size:var(--text-ui);border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:5px;font-weight:500;display:flex}.sport-tabs button[aria-pressed=true]{background:var(--color-surface-card);color:var(--color-ink);box-shadow:inset 0 -2px 0 var(--color-ink)}.roster{margin-top:var(--space-md)}h2{font-size:var(--text-body);margin:0;font-weight:600}.student-list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.student-row{align-items:center;gap:var(--space-sm);min-height:68px;padding:var(--space-sm);background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);scroll-margin-bottom:calc(var(--footer-height) + var(--space-md) + env(safe-area-inset-bottom));transition:background-color .14s;display:flex}.student-name{overflow-wrap:anywhere;min-width:0;font-size:var(--text-ui);flex:1;font-weight:500;line-height:1.5}.attendance-toggle{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);font-size:var(--text-body);color:var(--color-canvas);background:var(--color-primary);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.student-row.absent{border-color:#fbd6d6}@supports (color:color-mix(in lab,red,red)){.student-row.absent{border-color:color-mix(in srgb,var(--color-semantic-error) 22%,white)}}.call-parent{width:var(--control-height);height:var(--control-height);color:var(--color-body);background:var(--color-surface-soft);border:1px solid var(--color-hairline);border-radius:var(--radius-md);justify-content:center;align-items:center;animation:.14s reveal;display:inline-flex}.app-bottom{width:100%;max-width:var(--product-width);background:var(--color-canvas);border:1px solid var(--color-hairline);z-index:5;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-navigation{padding:var(--space-xs) var(--space-xs);grid-template-columns:repeat(5,1fr);display:grid}.bottom-navigation button{justify-content:center;align-items:center;gap:var(--space-xxs);min-width:0;min-height:54px;color:var(--color-muted);font-size:var(--text-nav);border-radius:var(--radius-md);flex-direction:column;font-weight:500;display:flex}.nav-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:26px;display:flex}.bottom-navigation button[aria-current=page]{color:var(--brand-4a-red);font-weight:600}.bottom-navigation button[aria-current=page] .nav-icon{background:var(--brand-4a-red)}@supports (color:color-mix(in lab,red,red)){.bottom-navigation button[aria-current=page] .nav-icon{background:color-mix(in srgb,var(--brand-4a-red) 6%,white)}}.date-dialog{width:calc(100% - var(--space-xl));max-width:370px;padding:var(--space-sm);background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);color:var(--color-ink);margin:auto;position:fixed;top:0;right:0;bottom:0;left:0}.date-dialog::backdrop{background:#1111114d}.calendar-heading,.calendar-month{justify-content:space-between;align-items:center;display:flex}.calendar-heading{padding-left:var(--space-xs);margin-bottom:var(--space-xs)}.calendar-heading h2{font-size:var(--text-body)}.calendar-month h3{font-size:var(--text-ui);font-weight:600}.calendar-grid{margin-top:var(--space-xs);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-grid button{height:var(--control-height);font-size:var(--text-ui);border-radius:var(--radius-md)}.calendar-grid button:disabled{color:var(--color-muted);opacity:.35}.calendar-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--color-hairline)}.calendar-grid button[aria-pressed=true]{background:var(--color-primary);color:var(--color-canvas)}.weekday{text-align:center;color:var(--color-muted);font-size:var(--text-caption);padding-block:var(--space-xs)}.calendar-today{width:100%;min-height:var(--control-height);margin-top:var(--space-sm);border-top:1px solid var(--color-hairline);font-size:var(--text-ui);font-weight:500;display:block}@keyframes reveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.attendance-stats{gap:var(--space-xs);margin-top:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{align-items:flex-start;gap:var(--space-xxs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas);flex-direction:column-reverse;margin:0;display:flex}.stat dt{font-size:var(--text-caption);color:var(--color-muted)}.stat dd{font-size:var(--text-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.2}.stat-present dd{color:var(--success-ink)}.stat-absent dd{color:var(--error-ink)}.student-avatar{border-radius:var(--radius-pill);background:var(--color-surface-card);width:36px;height:36px;color:var(--color-muted);font-size:var(--text-caption);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.student-actions{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.attendance-toggle.absent{color:var(--error-ink);background:var(--error-surface);border-color:#fcdddd}@supports (color:color-mix(in lab,red,red)){.attendance-toggle.absent{border-color:color-mix(in srgb,var(--color-semantic-error) 18%,white)}}.attendance-toggle.present:active{background:var(--color-primary-active)}@media(max-width:400px){.app-shell{border-inline:0}}@media(max-width:350px){.student-row{gap:var(--space-xs);padding:var(--space-xs)}.student-actions{gap:var(--space-xxs)}}.auth-shell{min-height:100dvh;padding:var(--space-lg);place-items:center;display:grid}.auth-card{width:100%;max-width:380px;padding:var(--space-lg);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-canvas)}.auth-card h1{margin:0 0 var(--space-lg);font-size:var(--text-display);letter-spacing:-.04em;font-weight:600}.auth-brand span{color:var(--brand-4a-red)}.auth-card p{font-size:var(--text-ui);color:var(--color-body);line-height:1.5}.auth-card label{margin:var(--space-md) 0 var(--space-xs);font-size:var(--text-ui);font-weight:500;display:block}.auth-card input{width:100%;min-height:var(--control-height);padding:var(--space-sm);border:1px solid var(--color-hairline);border-radius:var(--radius-md);font:inherit;font-size:var(--text-body);background:var(--color-canvas)}.primary-action,.secondary-action{min-height:var(--control-height);padding:var(--space-sm) var(--space-md);font-size:var(--text-ui);border-radius:var(--radius-md);font-weight:600}.primary-action{width:100%;margin-top:var(--space-lg);background:var(--color-primary);color:var(--color-canvas)}.primary-action:disabled{background:var(--color-hairline);color:var(--color-muted)}.secondary-action{border:1px solid var(--color-hairline);background:var(--color-canvas)}.auth-error,.auth-card .auth-error{color:var(--error-ink);font-size:var(--text-ui);line-height:1.5}.auth-session-error{padding:var(--space-md);color:var(--error-ink)}.roster-message{padding:var(--space-lg) var(--space-md);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-canvas);font-size:var(--text-ui);color:var(--color-muted)}.roster-message p{margin:0 0 var(--space-md)}.account-action{margin-top:var(--space-md);color:var(--color-muted);font-size:var(--text-caption);justify-content:space-between;align-items:center;display:flex}.account-action button{min-height:var(--control-height);padding:var(--space-xs);text-underline-offset:3px;border-radius:var(--radius-sm);text-decoration:underline}.account-action button:disabled{opacity:.5}.error-notice{z-index:6;bottom:calc(var(--footer-height) + env(safe-area-inset-bottom) + var(--space-xs));width:calc(100% - var(--space-xl));max-width:calc(var(--product-width) - var(--space-xl));align-items:center;gap:var(--space-sm);background:var(--color-canvas);color:var(--error-ink);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);padding:var(--space-sm);font-size:var(--text-caption);display:flex;position:fixed;left:50%;transform:translate(-50%)}.error-notice button{min-height:var(--control-height);flex-shrink:0;font-weight:600}.attendance-fields,.class-fields{border:0;min-width:0;margin:0;padding:0}.no-class-state{padding:var(--space-lg);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-canvas)}.no-class-state p{margin:var(--space-xxs) 0 0 26px;font-size:var(--text-caption);color:var(--color-muted);line-height:1.4}.class-actions{align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.no-class-dialog{width:calc(100% - var(--space-xl));max-width:380px;max-height:calc(100dvh - var(--space-xl));padding:var(--space-lg) var(--space-md);border-radius:var(--radius-lg);margin:auto;top:0;right:0;bottom:0;left:0;overflow-y:auto}.no-class-dialog h2{font-size:var(--text-title)}.class-context{margin:var(--space-xxs) 0 0;color:var(--color-muted);font-size:var(--text-caption);line-height:1.5}.class-fields label{font-size:var(--text-ui);margin:var(--space-md) 0 var(--space-xs);font-weight:500;display:block}.class-fields select{width:100%;min-height:var(--control-height);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);background:var(--color-canvas);color:var(--color-ink);font:inherit;font-size:var(--text-ui)}.class-sheet-actions{gap:var(--space-xs);margin-top:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.class-sheet-actions .primary-action,.class-sheet-actions .secondary-action{width:100%;margin:0}.sport-tabs svg{flex-shrink:0}.no-class-state h2{align-items:center;gap:var(--space-xs);display:flex}.no-class-state h2 svg{color:var(--color-muted);flex-shrink:0}.class-actions .secondary-action{color:var(--color-body);box-shadow:none;justify-content:center;align-items:center;gap:var(--space-xs);font-weight:500;display:inline-flex}.class-actions .class-change-reason{color:var(--color-muted);padding-inline:var(--space-xs);background:0 0;border-color:#0000;margin-left:auto}.class-actions .class-restore{border-color:var(--color-hairline);background:var(--color-canvas)}.class-sheet-actions .secondary-action{color:var(--color-muted);background:0 0;border-color:#0000;font-weight:500}.reason-field{margin:var(--space-md) 0 0;border:0;min-width:0;padding:0}.reason-field legend{font-size:var(--text-ui);margin-bottom:var(--space-xs);font-weight:500}.reason-options{gap:var(--space-xs);grid-template-columns:1fr 1fr;display:grid}.class-fields .reason-choice{margin:0;position:relative}.reason-choice svg{flex:0 0 18px}.reason-choice input{opacity:0;width:1px;height:1px;position:absolute}.reason-choice span{align-items:center;gap:var(--space-xs);min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-hairline);border-radius:var(--radius-md);color:var(--color-muted);cursor:pointer;font-weight:500;display:flex}.reason-choice input:checked+span{color:var(--color-ink);border-color:var(--color-ink);background:var(--color-surface-card)}.reason-choice input:focus-visible+span{outline:2px solid var(--color-ink);outline-offset:2px}.reason-choice input:disabled+span{opacity:.5;cursor:default}.scope-select{position:relative}.scope-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px}.scope-select>svg{pointer-events:none;color:var(--color-muted);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.attendance-save-status{color:var(--color-muted);font-size:var(--text-caption);margin-top:var(--space-md)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.app-shell[data-design="4a"]{--color-surface-soft: #F7F7F5;--color-surface-card: #F2F2F0;--color-canvas: #FFFFFF;--color-ink: #171717;--color-body: #262626;--color-muted: #737373;--color-hairline: #E8E8E5;--color-hairline-soft: #F2F2F0;--color-primary: #171717;--color-primary-active: #0A0A0A;--success-ink: #15803D;--success-surface: #ECFDF3;--error-ink: #D92D20;--error-surface: #FFF1EF;--border-strong: #DADAD6;--radius-md: 10px;--radius-lg: 14px;--shadow-soft: 0 1px 2px rgb(0 0 0 / 4%), 0 4px 12px rgb(0 0 0 / 4%);--shadow-raised: 0 16px 48px rgb(0 0 0 / 14%);--glass-surface: rgb(255 255 255 / 74%);color:var(--color-body)}[data-design="4a"] main{padding-top:0;padding-bottom:calc(var(--footer-height) + 52px + env(safe-area-inset-bottom))}[data-design="4a"] .attendance-top-controls{position:sticky;top:0;z-index:6;margin-inline:calc(-1 * var(--space-md));padding:calc(env(safe-area-inset-top) + var(--space-xs)) var(--space-md) 4px;background:#f7f7f5f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-design="4a"] .date-navigation{position:relative}[data-design="4a"] .date-navigation>.icon-button{width:40px}[data-design="4a"] .date-navigation>.icon-button[aria-label="Next day"]{margin-left:auto}[data-design="4a"] .date-center-trigger{position:absolute;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);padding:0 4px;border-radius:var(--radius-md);background:transparent;color:var(--color-ink);white-space:nowrap}[data-design="4a"] .date-center-trigger:active{background:var(--color-surface-card)}[data-design="4a"] .date-navigation .date-center-trigger time{flex:none;font-size:15px;line-height:22px;font-weight:600;letter-spacing:-.015em;text-transform:none}[data-design="4a"] .date-navigation time{font-size:16px;line-height:22px;letter-spacing:-.015em;text-transform:none;color:var(--color-ink)}[data-design="4a"] .date-section{margin-bottom:16px}[data-design="4a"] .session-segment{padding:4px;border:0;border-radius:12px}[data-design="4a"] .session-segment button{border-radius:10px;font-weight:500}[data-design="4a"] .session-segment button[aria-pressed=true]{border-color:transparent;box-shadow:var(--shadow-soft)}[data-design="4a"] .sport-tabs{padding:0;margin-top:12px;gap:0;border-radius:0;border-bottom:1px solid var(--color-hairline)}[data-design="4a"] .sport-tabs button{position:relative;border-radius:0;border:0;font-size:13px;min-height:48px}[data-design="4a"] .sport-tabs button[aria-pressed=true]{background:transparent;box-shadow:none}[data-design="4a"] .sport-tabs button[aria-pressed=true]:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:var(--brand-4a-red);border-radius:2px}[data-design="4a"] .attendance-stats{gap:0;margin-top:20px;padding:12px 0;background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:12px}[data-design="4a"] .stat{border:0;border-radius:0;background:transparent;padding:0 16px;gap:4px}[data-design="4a"] .stat+.stat{border-left:1px solid var(--color-hairline)}[data-design="4a"] .stat dd{font-size:28px;line-height:32px;letter-spacing:-.02em}[data-design="4a"] .stat dt{font-size:12px;font-weight:500;line-height:16px}[data-design="4a"] .roster{margin-top:20px}[data-design="4a"] .student-list{gap:0;background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:12px;overflow:hidden}[data-design="4a"] .student-row{min-height:72px;padding:12px;border:0;border-radius:0;background:transparent}[data-design="4a"] .student-row+.student-row{border-top:1px solid var(--color-hairline)}[data-design="4a"] .student-name{font-size:15px;line-height:21px;font-weight:500}[data-design="4a"] .student-avatar{width:32px;height:32px;font-size:11px;font-weight:500}[data-design="4a"] .attendance-toggle{border-radius:10px;font-weight:600}[data-design="4a"] .attendance-toggle.present{color:var(--success-ink);background:var(--success-surface)}[data-design="4a"] .attendance-toggle.absent{border-color:transparent;color:var(--error-ink);background:var(--error-surface)}[data-design="4a"] .call-parent{color:var(--color-muted);background:transparent;border-color:var(--color-hairline)}[data-design="4a"] .no-class-state{padding:20px 16px;border-radius:12px}[data-design="4a"] .no-class-state h2{font-size:16px;line-height:22px}[data-design="4a"] .class-actions{gap:8px;margin-top:20px}[data-design="4a"] .secondary-action{font-weight:500;color:var(--color-body);box-shadow:none}[data-design="4a"] .class-actions .class-change-reason{border-color:transparent;background:transparent;color:var(--color-muted)}[data-design="4a"] .class-actions .class-restore{border-color:var(--color-hairline);background:var(--color-canvas)}[data-design="4a"] .no-class-dialog{border-radius:16px;padding:20px;box-shadow:var(--shadow-raised)}[data-design="4a"] .no-class-dialog h2{font-size:22px;line-height:28px;letter-spacing:-.015em}[data-design="4a"] .class-context{font-size:13px;line-height:18px}[data-design="4a"] .class-fields label,[data-design="4a"] .reason-field legend{font-size:12px;line-height:16px}[data-design="4a"] .reason-choice span{font-size:14px}[data-design="4a"] .reason-choice input:checked+span{border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--border-strong)}[data-design="4a"] .class-sheet-actions{grid-template-columns:auto 1fr}[data-design="4a"] .attendance-action-menu{border-radius:10px;box-shadow:var(--shadow-soft)}[data-design="4a"] .app-bottom{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:calc(var(--product-width) - 28px);padding-bottom:0;border:1px solid rgb(255 255 255 / 55%);border-radius:22px;background:var(--glass-surface);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 8px 26px #0000001a,0 1px 4px #0000000a}[data-design="4a"] .app-bottom:before{content:"";position:absolute;bottom:100%;left:-14px;width:calc(100% + 28px);height:36px;pointer-events:none;background:linear-gradient(to bottom,#f7f7f500,#f7f7f5d1)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){[data-design="4a"] .app-bottom{background:#ffffffeb}}[data-design="4a"] .bottom-navigation button{font-size:11px;line-height:14px}[data-design="4a"] .bottom-navigation button[aria-current=page] .nav-icon{background:var(--error-surface)}
