/*! tailwindcss v4.2.1 | 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-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:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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]){appearance:button}::file-selector-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{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.table{display:table}.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,)}}:root{--navy-950:#08223a;--navy-900:#0b2c49;--navy-800:#10446d;--blue-700:#1267a1;--blue-600:#1683c2;--blue-500:#20a1df;--blue-100:#dff3ff;--blue-50:#f1faff;--teal-600:#0ca78d;--teal-100:#d9f8f1;--amber-600:#ce7509;--amber-100:#fff1d5;--rose-600:#d54861;--rose-100:#ffe4e9;--ink:#102c44;--muted:#667c8d;--line:#dce8f0;--surface:#fff;--canvas:#f4f8fb;--shadow:0 18px 45px #0c37541a;--shadow-soft:0 8px 24px #0c375414}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{background:var(--canvas);min-height:100%;color:var(--ink);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px}button,input,select{font:inherit}button{color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #20a1df59}h1,h2,h3,strong{font-family:var(--font-display), ui-sans-serif, sans-serif}h1,h2,h3,p{margin-top:0}svg{stroke-width:2px;width:1.2em;height:1.2em}.eyebrow{color:#ffffffb8;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.71rem;font-weight:800;display:inline-block}.eyebrow--blue{color:var(--blue-700)}.muted{color:var(--muted)}.mini-label{color:var(--blue-700);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:800}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.splash-screen,.load-failure{min-height:100vh;color:var(--muted);background:radial-gradient(circle at 50% 30%, #e4f6ff, transparent 38%), var(--canvas);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:28px;display:flex}.splash-mark{color:#fff;background:linear-gradient(145deg, var(--blue-500), var(--navy-800));border-radius:26px;place-items:center;width:78px;height:78px;display:grid;box-shadow:0 18px 34px #1267a140}.splash-mark svg{width:38px;height:38px}.load-failure .splash-screen{background:0 0;min-height:auto}.login-screen{background:#f8fbfd;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.login-brand{z-index:1;color:#fff;background:linear-gradient(145deg,#092b48f5,#0c5d8ef0),radial-gradient(circle at 70% 20%,#32c9d4,#0000 35%);flex-direction:column;min-height:100vh;padding:clamp(32px,5vw,72px);display:flex;position:relative}.login-brand:after{content:"";pointer-events:none;border:1px solid #ffffff21;border-radius:50%;width:420px;height:420px;position:absolute;bottom:11%;right:-210px;box-shadow:0 0 0 58px #ffffff09,0 0 0 116px #ffffff06}.login-brand__identity{z-index:1;align-items:center;gap:17px;display:flex;position:relative}.login-brand__identity h1{max-width:520px;margin:4px 0 0;font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.25}.login-brand__copy{z-index:1;max-width:650px;margin:auto 0;position:relative}.floating-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:.8rem;font-weight:700;display:inline-flex}.login-brand__copy h2{letter-spacing:-.055em;margin:26px 0 20px;font-size:clamp(2.7rem,5vw,5.4rem);line-height:.98}.login-brand__copy h2 em{color:#78e5dd;font-style:normal}.login-brand__copy p{color:#cce4f3;max-width:580px;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.75}.login-benefits{z-index:1;color:#d9edf8;flex-wrap:wrap;gap:18px 28px;font-size:.82rem;font-weight:700;display:flex;position:relative}.login-benefits span{align-items:center;gap:8px;display:inline-flex}.login-benefits svg{color:#78e5dd}.login-panel{z-index:1;place-content:center;min-height:100vh;padding:44px;display:grid;position:relative}.login-card{background:#fffffff0;border:1px solid #d6e6f0e6;border-radius:32px;width:min(100%,475px);padding:clamp(26px,4vw,46px);box-shadow:0 28px 80px #08223a1f}.login-card>h2{color:var(--navy-950);letter-spacing:-.04em;margin:9px 0 6px;font-size:2.1rem}.login-card>p{margin-bottom:25px}.login-card__mobile-brand{align-items:center;gap:12px;margin-bottom:25px;display:none}.login-card__mobile-brand div{flex-direction:column;display:flex}.login-card__mobile-brand span{color:var(--blue-700);text-transform:uppercase;font-size:.72rem;font-weight:800}.login-card__mobile-brand strong{max-width:260px;font-size:.9rem;line-height:1.25}.login-form{flex-direction:column;display:flex}.login-form label{font-family:var(--font-display);margin:13px 0 7px;font-size:.8rem;font-weight:800}.field{border:1px solid var(--line);background:#fbfdfe;border-radius:16px;align-items:center;gap:10px;height:56px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.field:focus-within{border-color:var(--blue-500);box-shadow:0 0 0 4px #20a1df1a}.field>svg{color:#8296a5;flex:none}.field input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.field input::placeholder{color:#a5b4bf}.icon-button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;padding:0;display:grid}.icon-button:hover{color:var(--blue-700);background:var(--blue-50)}.form-error{color:#a3263b;background:var(--rose-100);border-radius:12px;align-items:flex-start;gap:8px;margin-top:14px;padding:11px 13px;font-size:.83rem;display:flex}.form-error svg{flex:none;margin-top:2px}.button{min-height:46px;font-family:var(--font-display);cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:.84rem;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.58;cursor:not-allowed}.button--wide{width:100%;margin-top:24px}.button--primary{color:#fff;background:linear-gradient(135deg, var(--blue-600), var(--blue-700));box-shadow:0 12px 23px #1267a133}.button--primary:hover:not(:disabled){box-shadow:0 16px 28px #1267a147}.button--ghost{border-color:var(--line);color:var(--blue-700);background:#fff}.button--success{color:#08705f;background:var(--teal-100)}.button--danger-outline{color:var(--rose-600);background:#fff;border-color:#f1c5cc}.button--small{min-height:38px;padding:0 12px;font-size:.76rem}.secure-note{color:#376177;background:var(--blue-50);border-radius:14px;align-items:center;gap:10px;margin-top:20px;padding:13px;display:flex}.secure-note>svg{color:var(--teal-600);flex:none}.secure-note span{flex-direction:column;display:flex}.secure-note strong{font-size:.76rem}.secure-note small{color:var(--muted);margin-top:2px;font-size:.67rem;line-height:1.35}.demo-link{width:100%;color:var(--blue-700);cursor:pointer;background:0 0;border:0;margin-top:18px;padding:8px;font-size:.78rem;font-weight:800}.login-help{width:min(100%,475px);color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:7px;margin:22px 0 0;font-size:.75rem;display:flex}.login-ambient{z-index:0;filter:blur(4px);border-radius:50%;position:absolute}.login-ambient--one{background:#20a1df1f;width:230px;height:230px;top:-60px;right:-80px}.login-ambient--two{background:#0ca78d1a;width:180px;height:180px;bottom:-80px;right:28%}.app-shell{min-height:100vh}.sidebar{z-index:40;color:#fff;background:linear-gradient(180deg, var(--navy-950), #0d3b5d);flex-direction:column;width:278px;padding:27px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:14px 0 35px #06203514}.school-brand{align-items:center;gap:12px;min-width:0;padding:0 4px;display:flex}.school-brand>div,.topbar-school>div{flex-direction:column;min-width:0;display:flex}.school-brand span,.topbar-school span{color:#8fc8e8;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.school-brand strong{color:#fff;margin-top:3px;font-size:.85rem;line-height:1.22}.school-logo{object-fit:contain;color:var(--blue-700);background:#fff;border-radius:15px;flex:none;place-items:center;display:grid;box-shadow:0 6px 18px #0000001f}.school-logo--small{border-radius:12px;width:38px;height:38px;font-size:.7rem}.school-logo--normal{width:52px;height:52px;font-size:.78rem;font-weight:900}.school-logo--large{border-radius:22px;width:74px;height:74px;font-size:1rem;font-weight:900}img.school-logo{padding:6px}.school-logo--fallback{text-align:center}.school-switcher{margin:29px 2px 10px;display:block}.school-switcher>span{color:#82b4d0;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px 3px;font-size:.59rem;font-weight:800;display:block}.school-switcher>div{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:13px;align-items:center;gap:8px;height:46px;padding:0 10px;display:flex}.school-switcher select{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:.72rem;font-weight:700}.school-switcher option{color:var(--ink)}.school-switcher svg{color:#8fc8e8;flex:none}.sidebar-nav{flex-direction:column;gap:7px;margin-top:32px;display:flex}.nav-item{color:#adcddd;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-size:.82rem;font-weight:750;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0f}.sidebar .nav-item--active{color:#fff;background:linear-gradient(100deg,#20a1df4d,#20a1df1f)}.sidebar .nav-item--active:before{content:"";background:#62d7d1;border-radius:0 5px 5px 0;width:4px;height:25px;position:absolute;left:-20px}.nav-item__icon{place-items:center;display:grid;position:relative}.nav-item__icon small{border:2px solid var(--navy-950);color:#fff;background:var(--rose-600);border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.54rem;display:grid;position:absolute;top:-7px;right:-10px}.sidebar-account{border-top:1px solid #ffffff17;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding:14px 8px 0;display:grid}.sidebar-account>div{flex-direction:column;min-width:0;display:flex}.sidebar-account strong{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.sidebar-account span:not(.avatar){color:#7fa9c0;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.6rem;overflow:hidden}.sidebar-account .icon-button{color:#8fb4c8}.avatar{color:#fff;font-family:var(--font-display);background:linear-gradient(145deg,#31b9d7,#1683c2);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.avatar--small{width:37px;height:37px;font-size:.7rem}.avatar--large{width:88px;height:88px;font-size:1.4rem;box-shadow:0 13px 28px #1267a138}.sidebar-close,.sidebar-scrim{display:none}.app-column{min-height:100vh;margin-left:278px}.topbar{z-index:25;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #d8e7f0d9;justify-content:flex-end;align-items:center;height:74px;padding:0 clamp(22px,4vw,58px);display:flex;position:sticky;top:0}.topbar-school,.menu-button{display:none}.topbar-bell{border:1px solid var(--line);width:44px;height:44px;color:var(--blue-700);cursor:pointer;background:#fff;border-radius:14px;place-items:center;display:grid;position:relative}.topbar-bell>span{color:#fff;background:var(--rose-600);border:2px solid #fff;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 4px;font-size:.54rem;font-weight:900;display:grid;position:absolute;top:-6px;right:-5px}.app-main{width:min(100%,1240px);margin:0 auto;padding:34px clamp(22px,4vw,58px) 70px}.page-stack{flex-direction:column;gap:34px;display:flex}.offline-banner{z-index:90;color:#7a4706;background:var(--amber-100);justify-content:center;align-items:center;gap:8px;min-height:34px;padding:6px 15px;font-size:.74rem;font-weight:800;display:flex;position:fixed;inset:0 0 auto}.offline-banner+.sidebar,.offline-banner~.app-column .topbar{margin-top:34px}.bottom-nav{display:none}.welcome-hero{color:#fff;background:linear-gradient(125deg, var(--navy-900), #106a9e 68%, #15a6b5);border-radius:30px;align-items:center;min-height:235px;padding:clamp(25px,4vw,45px);display:flex;position:relative;overflow:hidden;box-shadow:0 22px 45px #0a3c5c29}.welcome-hero__content{z-index:3;position:relative}.welcome-kicker{color:#a5e8e2;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;font-size:.73rem;font-weight:800;display:inline-flex}.welcome-hero h1{letter-spacing:-.05em;margin:10px 0 6px;font-size:clamp(2rem,4vw,3.35rem)}.welcome-hero p{color:#cbe7f5;margin:0}.welcome-hero button{color:#fff;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:22px;padding:0;font-size:.75rem;font-weight:800;display:inline-flex}.welcome-hero__school{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:12px;width:210px;display:flex;position:absolute;right:7%}.welcome-hero__school span{color:#d8eef8;max-width:210px;font-size:.72rem;font-weight:800;line-height:1.3}.hero-orb{border:1px solid #ffffff1f;border-radius:50%;position:absolute}.hero-orb--one{width:330px;height:330px;top:-100px;right:-70px;box-shadow:0 0 0 55px #ffffff06,0 0 0 110px #ffffff05}.hero-orb--two{background:#61dcd21a;width:100px;height:100px;bottom:-55px;left:49%}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:1.4rem}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:.79rem}.updated{color:var(--teal-600);align-items:center;gap:6px;font-size:.7rem;font-weight:800;display:inline-flex}.text-button,.back-button{color:var(--blue-700);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:.75rem;font-weight:850;display:inline-flex}.back-button svg{transform:rotate(180deg)}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.stat-card{min-height:105px;box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e2ecf2;border-radius:20px;align-items:center;gap:14px;padding:19px;display:flex}.stat-card__icon{border-radius:15px;flex:none;place-items:center;width:48px;height:48px;display:grid}.tone-blue{color:var(--blue-700);background:var(--blue-100)}.tone-amber{color:var(--amber-600);background:var(--amber-100)}.tone-rose{color:var(--rose-600);background:var(--rose-100)}.stat-card>div{flex-direction:column;min-width:0;display:flex}.stat-card strong{font-size:1.65rem;line-height:1}.stat-card span:not(.stat-card__icon){color:var(--muted);margin-top:6px;font-size:.7rem;line-height:1.25}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.student-grid--wide{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.student-card{min-width:0;box-shadow:var(--shadow-soft);cursor:pointer;text-align:left;background:#fff;border:1px solid #e0ebf1;border-radius:23px;padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.student-card:hover{box-shadow:var(--shadow);border-color:#b9dbea;transform:translateY(-3px)}.student-card__top{background:linear-gradient(135deg,#eef9ff,#f8fdff);justify-content:space-between;align-items:flex-start;min-height:86px;padding:17px 17px 0;display:flex}.student-avatar{object-fit:cover;border:4px solid #fff;border-radius:20px;flex:none;width:64px;height:64px;box-shadow:0 9px 20px #0c4a7021}.student-avatar--fallback{color:#fff;font-family:var(--font-display);background:linear-gradient(145deg,#1ca5d0,#0c769e);place-items:center;font-weight:900;display:grid}.student-avatar--large{border-radius:31px;width:108px;height:108px;font-size:1.3rem}.student-card__arrow{width:32px;height:32px;color:var(--blue-700);background:#fff;border-radius:11px;place-items:center;display:grid;box-shadow:0 5px 12px #1267a117}.student-card__body{padding:14px 17px 17px}.student-card h3{min-height:42px;margin:5px 0 12px;font-size:.96rem;line-height:1.32}.student-tags{flex-wrap:wrap;gap:6px;display:flex}.student-tags span{color:#486678;text-transform:capitalize;background:#f1f6f9;border-radius:8px;padding:5px 8px;font-size:.63rem;font-weight:750}.student-card__school{min-height:39px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-top:1px solid #edf3f6;align-items:center;gap:6px;padding:9px 17px;font-size:.61rem;display:flex;overflow:hidden}.activity-list{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e0ebf1;border-radius:22px;overflow:hidden}.activity-item{border-bottom:1px solid #edf3f6;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:76px;padding:13px 18px;display:grid}.activity-item:last-child{border-bottom:0}.activity-icon{border-radius:14px;place-items:center;width:43px;height:43px;display:grid}.activity-icon--entry{color:var(--teal-600);background:var(--teal-100)}.activity-icon--exit{color:var(--blue-700);background:var(--blue-100)}.activity-item>div:nth-child(2),.activity-time{flex-direction:column;display:flex}.activity-item strong{font-size:.79rem}.activity-item span:not(.activity-icon):not(.status){color:var(--muted);margin-top:3px;font-size:.66rem}.activity-time{text-align:right;min-width:72px}.status{text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:25px;padding:3px 9px;font-size:.59rem;font-weight:900;display:inline-flex}.status--success{color:#087260;background:var(--teal-100)}.status--warning{color:#9a5705;background:var(--amber-100)}.status--danger{color:#aa2e44;background:var(--rose-100)}.status--neutral{color:#496a7c;background:#edf3f6}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.page-heading h1{letter-spacing:-.05em;margin:5px 0;font-size:clamp(1.8rem,3vw,2.5rem)}.page-heading p{color:var(--muted);margin:0;font-size:.85rem}.search-field{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:9px;width:min(100%,285px);height:47px;padding:0 13px;display:flex}.search-field svg{color:#8da0ad}.search-field input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:.78rem}.empty-state{min-height:250px;color:var(--muted);text-align:center;background:#ffffffa6;border:1px dashed #cddfe9;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:35px;display:flex}.empty-state__icon{width:65px;height:65px;color:var(--teal-600);background:var(--teal-100);border-radius:22px;place-items:center;margin-bottom:15px;display:grid}.empty-state__icon svg{width:31px;height:31px}.empty-state h3{color:var(--ink);margin:0 0 6px;font-size:1rem}.empty-state p{max-width:420px;margin:0;font-size:.8rem;line-height:1.6}.error-panel{color:#992d40;background:#fff6f7;border:1px solid #f0cad0;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;display:grid}.error-panel>svg{width:24px;height:24px}.error-panel strong{font-size:.78rem}.error-panel p{margin:2px 0 0;font-size:.7rem}.content-loader{min-height:400px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.student-profile-card{color:#fff;background:linear-gradient(125deg, var(--navy-900), #0b6f9d);min-height:190px;box-shadow:var(--shadow);border-radius:28px;align-items:center;gap:25px;padding:clamp(24px,4vw,38px);display:flex}.student-profile-card h1{letter-spacing:-.045em;margin:6px 0 9px;font-size:clamp(1.55rem,3vw,2.35rem)}.student-profile-card p{color:#cde6f3;align-items:center;gap:6px;margin:0 0 15px;font-size:.76rem;display:flex}.student-profile-card .student-tags span{color:#e9f8ff;background:#ffffff1f}.tabs{border:1px solid var(--line);background:#fff;border-radius:16px;gap:8px;padding:6px;display:flex}.tabs button{min-height:45px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:.77rem;font-weight:800;display:flex}.tabs button.active{color:var(--blue-700);background:var(--blue-50)}.tabs button span{background:#1267a11a;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:.58rem;display:grid}.attendance-list,.report-list{flex-direction:column;gap:10px;display:flex}.attendance-row{background:#fff;border:1px solid #e1ebf1;border-radius:18px;grid-template-columns:minmax(145px,1fr) auto minmax(230px,1fr) minmax(120px,auto);align-items:center;gap:14px;min-height:82px;padding:14px 17px;display:grid}.attendance-date{align-items:center;gap:10px;display:flex}.attendance-date>svg{color:var(--blue-700)}.attendance-date>div{flex-direction:column;display:flex}.attendance-date strong{text-transform:capitalize;font-size:.77rem}.attendance-date span{color:var(--muted);text-transform:capitalize;margin-top:2px;font-size:.63rem}.attendance-times{flex-wrap:wrap;gap:8px 18px;display:flex}.attendance-times span{color:var(--muted);align-items:center;gap:5px;font-size:.64rem;display:inline-flex}.attendance-times svg{color:var(--blue-600)}.attendance-times strong{color:var(--ink)}.delay-note{color:var(--amber-600);text-align:right;justify-content:flex-end;align-items:center;gap:5px;font-size:.65rem;font-weight:750;display:inline-flex}.report-card{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e1ebf1;border-radius:20px;grid-template-columns:auto minmax(0,1fr);gap:15px;padding:19px;display:grid}.report-card__icon{width:44px;height:44px;color:var(--rose-600);background:var(--rose-100);border-radius:14px;place-items:center;display:grid}.report-card__meta,.report-card__footer{color:var(--muted);text-transform:capitalize;justify-content:space-between;gap:12px;font-size:.65rem;display:flex}.report-card h3{margin:7px 0 5px;font-size:.9rem}.report-card p{color:#516e7f;margin:0 0 12px;font-size:.76rem;line-height:1.6}.filter-tabs{gap:8px;display:flex}.filter-tabs button{border:1px solid var(--line);min-height:40px;color:var(--muted);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:7px;padding:0 15px;font-size:.72rem;font-weight:800;display:flex}.filter-tabs button.active{border-color:var(--blue-600);color:#fff;background:var(--blue-700)}.filter-tabs span{background:#8097a621;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:.57rem;display:grid}.filter-tabs .active span{background:#fff3}.notification-list{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #e1ebf1;border-radius:22px;overflow:hidden}.notification-card{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf3f6;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;width:100%;padding:17px 19px;display:grid;position:relative}.notification-card:last-child{border-bottom:0}.notification-card:hover{background:#f9fcfe}.notification-card--unread{background:linear-gradient(90deg,#f1faff,#fff 45%)}.notification-card__icon{border-radius:14px;place-items:center;width:43px;height:43px;display:grid}.notification-card__icon--entrada{color:var(--teal-600);background:var(--teal-100)}.notification-card__icon--salida{color:var(--blue-700);background:var(--blue-100)}.notification-card__icon--reporte,.notification-card__icon--falta{color:var(--rose-600);background:var(--rose-100)}.notification-card__icon--aviso{color:var(--amber-600);background:var(--amber-100)}.notification-card__top{justify-content:space-between;gap:15px;display:flex}.notification-card h3{margin:1px 0 5px;font-size:.82rem}.notification-card time{color:var(--muted);flex:none;font-size:.61rem}.notification-card p{color:#587182;margin:0;font-size:.72rem;line-height:1.5}.notification-card__student{color:var(--blue-700);align-items:center;gap:5px;margin-top:9px;font-size:.61rem;font-weight:800;display:inline-flex}.unread-dot{background:var(--blue-500);width:8px;height:8px;box-shadow:0 0 0 4px var(--blue-100);border-radius:50%;align-self:center}.profile-card{color:#fff;background:linear-gradient(125deg, var(--navy-900), var(--blue-700));box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:20px;padding:26px;display:flex}.profile-card h2{margin:0 0 3px;font-size:1.35rem}.profile-card p{color:#c8e4f1;margin:0 0 10px;font-size:.78rem}.verified{color:#bdf2e8;background:#ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.62rem;font-weight:850;display:inline-flex}.profile-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.profile-info-grid article{background:#fff;border:1px solid #e1ebf1;border-radius:17px;align-items:center;gap:12px;padding:17px;display:flex}.profile-info-grid article>svg{color:var(--blue-600);flex:none}.profile-info-grid article>div{flex-direction:column;min-width:0;display:flex}.profile-info-grid span{color:var(--muted);font-size:.63rem}.profile-info-grid strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.74rem;overflow:hidden}.install-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.feature-card{background:#fff;border:1px solid #e1ebf1;border-radius:21px;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:22px;display:grid}.feature-card__icon{width:48px;height:48px;color:var(--blue-700);background:var(--blue-100);border-radius:15px;place-items:center;display:grid}.feature-card__icon--amber{color:var(--amber-600);background:var(--amber-100)}.feature-card h3{margin:4px 0 6px;font-size:.94rem}.feature-card p{color:var(--muted);margin:0 0 15px;font-size:.72rem;line-height:1.55}.feature-card small{color:var(--muted);font-size:.66rem;line-height:1.5}.ios-steps{color:#526f80;flex-direction:column;gap:7px;font-size:.68rem;display:flex}.ios-steps span{align-items:center;gap:7px;display:flex}.ios-steps b{color:#fff;background:var(--blue-600);border-radius:50%;place-items:center;width:19px;height:19px;font-size:.55rem;display:grid}.info-callout{color:#335d74;background:var(--blue-50);border-radius:16px;align-items:flex-start;gap:10px;padding:15px 17px;display:flex}.info-callout svg{color:var(--blue-700);flex:none}.info-callout p{margin:0;font-size:.73rem;line-height:1.55}.logout-button{align-self:flex-start}.toast{z-index:100;color:#116a5a;max-width:min(400px,100vw - 32px);box-shadow:var(--shadow);background:#effbf7;border:1px solid #bfe7dc;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;font-size:.75rem;font-weight:750;display:grid;position:fixed;bottom:24px;right:24px}.toast--error{color:#a22d42;background:#fff4f6;border-color:#f0c3cb}.toast button{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}@media (width<=1100px){.login-brand__copy h2{font-size:3.7rem}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-row{grid-template-columns:minmax(150px,1fr) auto minmax(220px,1fr)}.delay-note{grid-column:3;justify-content:flex-start}.welcome-hero__school{right:4%}}@media (width<=900px){.login-screen{background:linear-gradient(155deg,#eaf8ff,#f9fcfe 45%,#e8faf6);grid-template-columns:1fr}.login-brand{min-height:auto;display:none}.login-panel{min-height:100vh;padding:25px}.login-card__mobile-brand{display:flex}.sidebar{width:min(84vw,310px);transition:transform .23s;transform:translate(-105%)}.sidebar--open{transform:translate(0)}.sidebar-close{color:#a8c9da;background:#ffffff12;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:10px;right:10px}.sidebar-scrim{z-index:35;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#051b2c73;border:0;display:block;position:fixed;inset:0}.app-column{margin-left:0}.topbar{justify-content:space-between;height:68px;padding:0 18px}.menu-button{border:1px solid var(--line);width:42px;height:42px;color:var(--blue-700);background:#fff;border-radius:13px;place-items:center;display:grid}.topbar-school{align-items:center;gap:9px;min-width:0;margin:0 auto 0 10px;display:flex}.topbar-school strong{text-overflow:ellipsis;white-space:nowrap;max-width:270px;margin-top:2px;font-size:.7rem;overflow:hidden}.app-main{padding:24px 19px 90px}.bottom-nav{height:calc(68px + env(safe-area-inset-bottom));z-index:30;padding:6px 8px env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav .nav-item{color:#758b9a;text-align:center;flex-direction:column;justify-content:center;gap:2px;min-height:55px;padding:3px;font-size:.59rem}.bottom-nav .nav-item--active{color:var(--blue-700);background:var(--blue-50)}.bottom-nav .nav-item__icon svg{width:21px;height:21px}.bottom-nav .nav-item__icon small{border-color:#fff}.profile-info-grid{grid-template-columns:1fr}}@media (width<=700px){body{font-size:15px}.page-stack{gap:27px}.welcome-hero{align-items:flex-start;min-height:270px;padding:25px}.welcome-hero__content{width:100%}.welcome-hero__school{align-items:flex-end;width:130px;bottom:19px;right:22px}.welcome-hero__school .school-logo{border-radius:16px;width:52px;height:52px}.welcome-hero__school span{max-width:130px;font-size:.56rem}.welcome-hero h1{font-size:2.2rem}.welcome-hero p{max-width:310px;font-size:.83rem}.hero-orb--one{top:auto;bottom:-80px;right:-150px}.section-heading{align-items:center}.updated{display:none}.stats-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:8px;min-height:118px;padding:12px}.stat-card__icon{border-radius:12px;width:38px;height:38px}.stat-card strong{font-size:1.4rem}.stat-card span:not(.stat-card__icon){font-size:.58rem}.student-grid,.student-grid--wide{scroll-snap-type:x mandatory;margin:0 -19px;padding:0 19px 12px;display:flex;overflow-x:auto}.student-card{scroll-snap-align:start;flex:none;width:min(82vw,295px)}.activity-item{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:12px}.activity-item .status{display:none}.activity-time{min-width:55px}.page-heading{flex-direction:column;align-items:flex-start}.search-field{width:100%}.student-profile-card{flex-direction:column;align-items:flex-start;gap:17px}.student-avatar--large{border-radius:25px;width:86px;height:86px}.tabs button{font-size:.69rem}.attendance-row{grid-template-columns:minmax(0,1fr) auto;padding:14px}.attendance-times{border-top:1px solid #edf3f6;grid-column:1/-1;padding-top:9px}.delay-note{grid-column:1/-1;justify-content:flex-start}.notification-card{grid-template-columns:auto minmax(0,1fr);padding:14px}.notification-card__top{flex-direction:column;gap:2px}.unread-dot{position:absolute;top:16px;right:13px}.profile-card{align-items:flex-start}.install-grid{grid-template-columns:1fr}.feature-card{padding:17px}.toast{bottom:86px;right:16px}.error-panel{grid-template-columns:auto minmax(0,1fr)}.error-panel .button{grid-column:1/-1}}@media (width<=430px){.login-panel{padding:16px}.login-card{border-radius:25px;padding:24px 20px}.login-card>h2{font-size:1.75rem}.login-help{padding:0 10px}.topbar-school strong{max-width:165px}.topbar-school .school-logo{display:none}.app-main{padding-inline:15px}.student-grid,.student-grid--wide{margin-inline:-15px;padding-inline:15px}.welcome-hero{border-radius:24px}.stats-grid{gap:6px}.stat-card{border-radius:17px;padding:10px}.notification-card__icon{width:38px;height:38px}.profile-card{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.sidebar,.topbar,.bottom-nav,.button,.back-button{display:none!important}.app-column{margin:0}.app-main{max-width:none;padding:0}body{background:#fff}}@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}
