.study-guides{--study-ink: #192638;--study-muted: #687789;--study-line: #dce3e8;--study-teal: #187c78;--study-teal-dark: #125d5c;--study-paper: #fff;max-width:1160px;margin:0 auto;padding:25px clamp(16px,4vw,52px) 34px;color:var(--study-ink);font-family:inherit}.study-guides *,.study-guides *:before,.study-guides *:after{box-sizing:border-box}.study-guides a{color:inherit}.study-hero{position:relative;min-height:350px;overflow:hidden;padding:25px clamp(22px,5vw,60px) 46px;border-radius:22px;background:radial-gradient(ellipse at 85% 80%,#286363 0,transparent 34%),linear-gradient(120deg,#142536,#1c3340 62%,#21434a);color:#f5f8fa;box-shadow:0 18px 44px #172f3d25}.study-hero:after{position:absolute;right:-72px;bottom:-224px;width:480px;height:480px;border:1px solid #ffffff13;border-radius:50%;box-shadow:0 0 0 30px #ffffff08,0 0 0 62px #ffffff06;content:""}.study-hero__topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#b8c9d1;font-size:10px;font-weight:750;letter-spacing:.12em}.study-hero__topline a{color:#e0eeee;font-size:12px;letter-spacing:0;text-decoration:none}.study-hero__topline a:hover{color:#9de1d5}.study-hero__content{position:relative;z-index:1;max-width:630px;padding-top:47px}.study-eyebrow{margin:0 0 10px;color:var(--study-teal);font-size:10px;font-weight:800;letter-spacing:.17em}.study-hero .study-eyebrow{color:#8dd9ce}.study-hero h1{margin:0;color:#fff;font-size:clamp(40px,7vw,66px);font-weight:720;letter-spacing:-.065em;line-height:1}.study-hero__content>p:not(.study-eyebrow){max-width:535px;margin:17px 0 25px;color:#d1dce0;font-size:16px;line-height:1.7}.study-primary-link{display:inline-flex;align-items:center;gap:22px;min-height:43px;padding:0 16px;border:1px solid #6fbcb2;border-radius:8px;background:#317d79;color:#fff!important;font-size:12px;font-weight:700;text-decoration:none;transition:background .18s ease,transform .18s ease}.study-primary-link:hover{transform:translateY(-1px);background:#3b928b}.study-hero__seal{position:absolute;z-index:1;top:50%;right:clamp(30px,9vw,115px);display:grid;width:145px;height:145px;align-content:center;justify-items:center;gap:8px;transform:translateY(-36%);border:1px solid #8ac5bb80;border-radius:50%;color:#a6d9cf;text-align:center;box-shadow:0 0 0 9px #ffffff08,inset 0 0 0 6px #ffffff06}.study-hero__seal>span{font-family:serif;font-size:51px;line-height:1}.study-hero__seal small{color:#bbd2d2;font-size:8px;font-weight:800;letter-spacing:.14em;line-height:1.45}.study-guide-nav{position:sticky;z-index:5;top:0;display:grid;gap:12px;margin:18px 0 0;padding:16px 18px;border:1px solid #b8d5d0;border-radius:12px;background:linear-gradient(110deg,#e3f0ed,#f5f8f8 58%,#e7f0ed);box-shadow:0 5px 18px #19334412;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.study-guide-nav__title{display:flex;align-items:baseline;gap:10px;margin:0;color:#183748;font-size:13px;font-weight:800}.study-guide-nav__title span{color:#627889;font-size:10px;font-weight:500}.study-guide-nav__links{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}.study-guide-nav__links a{display:flex;flex:1 0 auto;align-items:center;gap:9px;min-height:40px;justify-content:space-between;padding:0 12px;border:1px solid #c4d9d5;border-radius:8px;background:#fff;color:#30485a;font-size:11px;font-weight:700;text-decoration:none;box-shadow:0 2px 5px #1732480a;transition:border-color .15s ease,background .15s ease,transform .15s ease}.study-guide-nav__links a>span{color:#167a75;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums}.study-guide-nav__links a b{color:#167a75;font-size:13px}.study-guide-nav__links a:hover{transform:translateY(-1px);border-color:#74aaa2;background:#edf7f4;color:#125d5c}.study-section{padding:55px 0 53px;scroll-margin-top:75px}.study-section--tinted{position:relative;margin:0 calc(clamp(16px,4vw,52px)*-1);padding:52px clamp(16px,4vw,52px);background:#eef3f2}.study-section__heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}.study-section__heading>div{max-width:720px}.study-section__heading h2,.study-section--belt h2{margin:0;color:var(--study-ink);font-size:clamp(26px,4vw,36px);font-weight:720;letter-spacing:-.05em}.study-section__heading>div>p:last-child,.study-section--belt>div>p:not(.study-eyebrow){margin:9px 0 0;color:var(--study-muted);font-size:13px;line-height:1.7}.study-section__count{display:grid;flex:0 0 auto;width:66px;height:66px;align-content:center;justify-items:center;border:1px solid #cddbd9;border-radius:14px;background:#edf4f2;color:var(--study-teal-dark);font-size:22px;font-weight:750}.study-section__count small{font-size:7px;letter-spacing:.11em}.study-callout{display:flex;align-items:center;gap:13px;margin:21px 0 28px;padding:13px 16px;border:1px solid #d4e5e1;border-radius:9px;background:#f3f9f7}.study-callout>span{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:50%;background:#dceee9;color:var(--study-teal)}.study-callout p{margin:0;color:#596b78;font-size:12px;line-height:1.6}.study-callout strong{margin-right:7px;color:var(--study-ink)}.study-subheading{display:flex;align-items:center;gap:12px;margin:23px 0 13px;color:#34485a;font-size:14px}.study-subheading span{color:#82929e;font-size:9px;font-weight:750;letter-spacing:.12em}.study-subheading--later{margin-top:31px}.study-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.study-video-grid--advanced{grid-template-columns:repeat(3,minmax(0,1fr))}.study-video-card{overflow:hidden;border:1px solid #dce3e8;border-radius:10px;background:#fff;text-decoration:none;box-shadow:0 3px 12px #20374909;transition:transform .18s ease,box-shadow .18s ease}.study-video-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #20374918}.study-video-card__thumbnail{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:#22353d}.study-video-card__thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.study-video-card:hover .study-video-card__thumbnail img{transform:scale(1.04)}.study-video-card__play,.study-belt-video>span{position:absolute;top:50%;left:50%;display:grid;width:42px;height:42px;place-items:center;transform:translate(-50%,-50%);border:1px solid #ffffff85;border-radius:50%;background:#10212dbd;color:#fff;font-size:14px;padding-left:2px}.study-video-card__details{display:grid;gap:6px;padding:12px}.study-video-card__details>span:first-child{overflow:hidden;color:#748491;font-size:8px;font-weight:750;letter-spacing:.1em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.study-video-card__details strong{min-height:36px;color:var(--study-ink);font-size:13px;line-height:1.4}.study-video-card__details .study-video-card__link{display:flex;justify-content:space-between;color:var(--study-teal);font-size:10px;font-weight:700}.study-reference-link{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px;padding:14px 16px;border-top:1px solid var(--study-line);color:var(--study-muted);font-size:11px}.study-reference-link a{color:var(--study-teal-dark);font-weight:700;text-decoration:none}.study-reference-link a:hover{text-decoration:underline}.study-hangul{color:#a5bbb8;font-family:serif;font-size:clamp(20px,4vw,32px);letter-spacing:.12em;white-space:nowrap}.study-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.study-count-card{padding:20px;border:1px solid #dbe3e2;border-radius:12px;background:#fff;box-shadow:0 4px 15px #20374908}.study-count-card__heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.study-count-card__heading h3{margin:0;color:#304254;font-size:15px}.study-count-card__play-all{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid #9bc9c1;border-radius:7px;background:#eaf6f2;color:#12645f;cursor:pointer;font:inherit;font-size:10px;font-weight:750}.study-count-card__play-all:hover,.study-number-list__play:hover{border-color:#4a9990;background:#d8eee8}.study-number-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.study-number-list li{display:flex;min-height:53px;align-items:center;gap:8px;padding:7px;border:1px solid #edf0f2;border-radius:7px;background:#fbfcfc}.study-number-list__number{display:grid;flex:0 0 25px;width:25px;height:25px;place-items:center;border-radius:7px;background:#e5f2ef;color:var(--study-teal-dark);font-size:11px;font-weight:750}.study-number-list__words{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:7px;min-width:0}.study-number-list__words strong{color:#26384b;font-size:11px}.study-number-list__words>span{color:var(--study-teal);font-size:13px}.study-number-list__words small{grid-column:1 / -1;overflow:hidden;color:#7c8a94;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.study-number-list__play{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;margin-left:auto;padding:0 0 0 2px;border:1px solid #c2dcd6;border-radius:50%;background:#fff;color:#167a75;cursor:pointer;font-size:9px}.study-number-list__play:focus-visible,.study-count-card__play-all:focus-visible,.study-guide-nav__links a:focus-visible{outline:3px solid #56aaa0;outline-offset:2px}.study-count-card__hint{margin:12px 0 0;color:#77858f;font-size:9px}.study-footnote{margin:14px 0 0;color:#77858f;font-size:10px}.study-oral-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.study-oral-card{padding:19px;border:1px solid var(--study-line);border-radius:11px;background:#fff}.study-oral-card--feature{border-color:#bddbd5;background:linear-gradient(145deg,#f3faf8,#fff)}.study-oral-card__icon{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:#e7f2f0;color:var(--study-teal);font-size:18px}.study-oral-card>p{margin:14px 0 5px;color:#758592;font-size:8px;font-weight:800;letter-spacing:.13em}.study-oral-card h3{margin:0;color:#28394b;font-size:16px;letter-spacing:-.02em}.study-oral-card>span:last-child{display:block;margin-top:8px;color:var(--study-muted);font-size:11px;line-height:1.6}.study-oral-card ul{display:grid;gap:0;margin:12px 0 0;padding:0;list-style:none}.study-oral-card li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf0f2;color:#344657;font-size:11px}.study-oral-card li strong{font-weight:700}.study-oral-card li span{color:#7b8994;text-align:right}.study-belt-note{display:flex;align-items:center;gap:12px;margin-top:16px;padding:13px 15px;border:1px solid #e6e2d6;border-radius:9px;background:#faf8f1}.study-belt-note>span{color:#a28247;font-size:20px}.study-belt-note p{flex:1;margin:0;color:#71808a;font-size:11px;line-height:1.5}.study-belt-note p strong{display:block;color:#344657}.study-belt-note a{color:#80662f;font-size:10px;font-weight:750;text-decoration:none;white-space:nowrap}.study-requirement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.study-requirement-card{overflow:hidden;border:1px solid #dce3e8;border-radius:9px;background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.study-requirement-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #20374914}.study-requirement-card img{display:block;width:100%;aspect-ratio:1.32 / 1;object-fit:contain;background:#fff}.study-requirement-card>span{display:grid;gap:5px;padding:12px;border-top:1px solid #edf0f2}.study-requirement-card small{color:var(--study-teal);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.study-requirement-card strong{color:#304254;font-size:11px}.study-requirement-card em{color:#758592;font-size:9px;font-style:normal}.study-section--belt{display:grid;grid-template-columns:1fr minmax(260px,.8fr);align-items:center;gap:32px;padding:50px 0}.study-section--belt .study-primary-link{margin-top:18px}.study-belt-video{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;border:1px solid #dce3e8;border-radius:12px;background:#263b43;box-shadow:0 10px 25px #20374919}.study-belt-video img{display:block;width:100%;height:100%;object-fit:cover}.study-belt-video>span{width:55px;height:55px;font-size:18px}.study-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0 4px;border-top:1px solid var(--study-line);color:#71808d;font-size:10px}.study-footer a{color:var(--study-teal-dark);font-weight:700;text-decoration:none}.study-footer a:hover{text-decoration:underline}.study-footer>span{text-align:center}@media(max-width:900px){.study-video-grid,.study-video-grid--advanced{grid-template-columns:repeat(3,minmax(0,1fr))}.study-requirement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.study-guides{padding-top:12px}.study-hero{min-height:325px;padding:18px 21px 28px;border-radius:15px}.study-hero__topline{align-items:flex-start;font-size:8px}.study-hero__topline a{font-size:11px;white-space:nowrap}.study-hero__content{max-width:400px;padding-top:55px}.study-hero__content>p:not(.study-eyebrow){max-width:360px;font-size:14px}.study-hero__seal{top:auto;right:15px;bottom:15px;width:77px;height:77px;transform:none;opacity:.65}.study-hero__seal>span{font-size:28px}.study-hero__seal small{font-size:6px}.study-guide-nav{top:0;gap:9px;margin-top:12px;padding:12px}.study-guide-nav__title{display:grid;gap:2px;font-size:12px}.study-guide-nav__title span{font-size:9px}.study-guide-nav__links a{min-height:37px;gap:6px;padding:0 9px;font-size:10px}.study-section{padding:39px 0}.study-section--tinted{margin-right:-16px;margin-left:-16px;padding:38px 16px}.study-section__heading{align-items:start}.study-section__count{width:51px;height:51px;font-size:18px}.study-video-grid,.study-video-grid--advanced{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.study-video-card__details{padding:9px}.study-video-card__details strong{font-size:11px}.study-video-card__play{width:34px;height:34px;font-size:11px}.study-count-grid,.study-oral-grid{grid-template-columns:1fr}.study-number-list{gap:5px}.study-number-list li{gap:5px;padding:5px}.study-number-list__play{flex-basis:25px;width:25px;height:25px}.study-number-list__words strong{font-size:10px}.study-number-list__words>span{font-size:12px}.study-number-list__words small{font-size:8px}.study-belt-note{align-items:flex-start;flex-wrap:wrap}.study-belt-note p{flex-basis:calc(100% - 42px)}.study-belt-note a{margin-left:41px}.study-requirement-grid{gap:9px}.study-requirement-card>span{padding:9px}.study-section--belt{grid-template-columns:1fr;gap:20px}.study-footer{flex-wrap:wrap;justify-content:flex-start}.study-footer>span{order:1;flex-basis:100%;text-align:left}}@media(prefers-reduced-motion:reduce){.study-guides *,.study-guides *:before,.study-guides *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.family-view{--family-ink: #183047;--family-muted: #65798b;--family-accent: #146c72;--family-line: #dbe5e9;max-width:1380px;margin:0 auto;padding:2rem clamp(1rem,3vw,2.5rem) 4rem;color:var(--family-ink)}.family-view__header,.family-list__heading,.family-entry__top,.family-editor__actions,.family-entry__actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.family-view__header{margin-bottom:1.7rem}.family-view__header h1{margin:.1rem 0 .45rem;font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.04em}.family-view__header p:not(.family-view__eyebrow){margin:0;color:var(--family-muted)}.family-view__eyebrow,.family-card__step{color:var(--family-accent);font-size:.72rem;font-weight:800;letter-spacing:.12em}.family-view__eyebrow{margin:0}.family-view__count{display:grid;min-width:88px;padding:.8rem 1rem;border:1px solid var(--family-line);border-radius:16px;background:#fff;text-align:center}.family-view__count strong{font-size:1.4rem}.family-view__count span,.family-list__heading>span{color:var(--family-muted);font-size:.82rem}.family-view__layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.5fr);align-items:start;gap:1.3rem}.family-card,.family-list{border:1px solid var(--family-line);border-radius:18px;background:#fff;box-shadow:0 8px 26px #19354a0a}.family-editor{position:sticky;top:1rem;padding:1.3rem}.family-card__heading h2,.family-list__heading h2{margin:.3rem 0 1.1rem;font-size:1.25rem}.family-field{display:grid;gap:.42rem;margin:1rem 0;font-size:.88rem;font-weight:700}.family-field input{width:100%;box-sizing:border-box;padding:.72rem .8rem;border:1px solid #cbd9df;border-radius:10px;color:var(--family-ink);font:inherit;font-weight:400}.family-field input:focus{border-color:var(--family-accent);outline:3px solid #146c721c}.family-student-picker{max-height:320px;overflow:auto;border:1px solid var(--family-line);border-radius:12px}.family-student-option{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:.65rem;padding:.7rem .75rem;border-bottom:1px solid #edf1f3;cursor:pointer}.family-student-option:last-of-type{border-bottom:0}.family-student-option input{width:16px;height:16px;accent-color:var(--family-accent)}.family-student-option span{font-size:.9rem}.family-student-option small,.family-entry li small{color:var(--family-muted);font-size:.72rem}.family-editor__selection{margin:.8rem 0;color:var(--family-muted);font-size:.82rem}.family-editor__actions{justify-content:flex-start}.family-editor__actions button,.family-entry__actions button{padding:.62rem .85rem;border:1px solid var(--family-accent);border-radius:9px;background:var(--family-accent);color:#fff;font:inherit;font-size:.83rem;font-weight:700;cursor:pointer}.family-editor__actions button:disabled{opacity:.55;cursor:not-allowed}.family-editor__actions .family-button-secondary,.family-entry__actions button{border-color:var(--family-line);background:#fff;color:var(--family-ink)}.family-entry__actions .family-button-danger{border-color:#f2d8d8;color:#a33d3d}.family-list{padding:1.3rem}.family-list__heading{margin-bottom:1rem}.family-list__heading h2{margin-bottom:0}.family-list__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:.9rem}.family-entry{padding:1rem;transition:border-color .12s ease,box-shadow .12s ease}.family-entry--editing{border-color:var(--family-accent);box-shadow:0 0 0 3px #146c7214}.family-entry__top{align-items:flex-start}.family-entry__top h3{margin:0 0 .25rem;font-size:1rem}.family-entry__top>div:first-child>span{color:var(--family-muted);font-size:.78rem}.family-entry__actions{gap:.4rem}.family-entry__actions button{padding:.44rem .6rem;font-size:.76rem}.family-entry ul{display:grid;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none}.family-entry li{display:flex;align-items:center;gap:.6rem;font-size:.86rem}.family-entry li small{margin-left:auto}.family-entry__avatar{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#e8f2f2;color:var(--family-accent);font-size:.72rem;font-weight:800}.family-view__empty{padding:1rem;color:var(--family-muted);font-size:.86rem}.family-view__empty--card{display:grid;gap:.35rem;place-items:center;min-height:180px;border:1px dashed var(--family-line);border-radius:14px;text-align:center}.family-view__empty--card strong{color:var(--family-ink)}.family-view__message{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;background:#eaf5f1;color:#205b46}.family-view__message--error{background:#fff0f0;color:#9b3535}@media(max-width:820px){.family-view__layout{grid-template-columns:1fr}.family-editor{position:static}}@media(max-width:520px){.family-view__header{align-items:flex-start}.family-entry__top{flex-direction:column}}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(180deg,#f9fbff,#edf3ff);color:#142133}.app-nav-dropdown-trigger{padding:0;border:0;background:transparent;color:#d9e2ec;font:inherit;cursor:pointer}.app-nav-dropdown-trigger--active{color:#fff;font-weight:600}.app-nav-dropdown-menu{display:none;position:absolute;top:calc(100% + .35rem);right:0;min-width:11rem;padding:.35rem 0;border-radius:8px;border:1px solid #486581;background:#143355;box-shadow:0 8px 20px #102a4359;z-index:20}.app-nav-dropdown--open .app-nav-dropdown-menu{display:grid}.app-nav-dropdown-menu a{display:block;padding:.45rem .85rem;color:#d9e2ec;white-space:nowrap}.app-nav-dropdown-menu a:hover,.app-nav-dropdown-menu a.active{background:#ffffff14;color:#fff}.app-header-right{display:grid;grid-template-columns:1fr;gap:.5rem;justify-items:end;flex:1 1 520px;min-width:280px}.app-auth-area{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:#d9e2ec}.app-logout-btn{padding:.35rem .6rem;border-radius:8px;border:1px solid #486581;background:#143355;color:#d9e2ec;cursor:pointer}.app-main{max-width:900px;margin:0 auto;padding:1.5rem}.tuition-plan-view{--tuition-ink: #142133;--tuition-muted: #64748b;--tuition-line: #e3eaf2;--tuition-accent: #0f609b;display:grid;gap:1.25rem}.tuition-plan-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;border-radius:18px;background:linear-gradient(120deg,#10395d,#176d9a);color:#fff;box-shadow:0 12px 30px #10395d2e}.tuition-plan-hero h2,.tuition-plan-hero p{margin:0}.tuition-plan-hero h2{font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.04em}.tuition-plan-hero>div:first-child>p:last-child{margin-top:.45rem;color:#d4e8f5}.tuition-plan-kicker,.tuition-plan-step{display:block;margin:0 0 .35rem;color:#8ed6e5;font-size:.7rem;font-weight:800;letter-spacing:.13em}.tuition-plan-count{min-width:92px;display:grid;justify-items:center;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:#ffffff1a}.tuition-plan-count strong{font-size:1.7rem;line-height:1.1}.tuition-plan-count span{color:#d4e8f5;font-size:.8rem}.tuition-plan-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:start;gap:1rem}.tuition-plan-card{min-width:0;padding:1.25rem;border:1px solid var(--tuition-line);border-radius:16px;background:#fff;box-shadow:0 5px 18px #162d490e}.tuition-plan-card-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.tuition-plan-card-heading h3{margin:0;color:var(--tuition-ink);font-size:1.15rem;letter-spacing:-.02em}.tuition-plan-card .tuition-plan-step{color:var(--tuition-accent)}.tuition-plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.tuition-plan-fields label{display:grid;align-content:start;gap:.4rem;color:#334155;font-size:.82rem;font-weight:700}.tuition-plan-fields label>span{display:flex;justify-content:space-between}.tuition-plan-fields label small{color:#94a3b8;font-size:.72rem;font-weight:500}.tuition-plan-field-full{grid-column:1 / -1}.tuition-plan-fields input,.tuition-plan-fields textarea{width:100%;min-width:0;padding:.68rem .72rem;border:1px solid #d5dee8;border-radius:9px;outline:none;background:#fbfdff;color:var(--tuition-ink);font:inherit;font-size:.88rem}.tuition-plan-fields textarea{resize:vertical}.tuition-plan-fields input:focus,.tuition-plan-fields textarea:focus{border-color:#4b9dc1;box-shadow:0 0 0 3px #0f609b1c;background:#fff}.tuition-plan-fields .tuition-plan-recommended-toggle{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-start;gap:.55rem;padding:.65rem .75rem;border:1px solid #dce7ef;border-radius:9px;background:#f7fbfd;cursor:pointer}.tuition-plan-fields .tuition-plan-recommended-toggle input{width:1rem;height:1rem;margin:0;accent-color:#0f609b;cursor:pointer}.tuition-plan-fields .tuition-plan-recommended-toggle span{color:#334155;font-size:.83rem}.tuition-plan-money-input{display:flex;align-items:center;overflow:hidden;border:1px solid #d5dee8;border-radius:9px;background:#fbfdff}.tuition-plan-money-input:focus-within{border-color:#4b9dc1;box-shadow:0 0 0 3px #0f609b1c;background:#fff}.tuition-plan-money-input>span{padding-left:.75rem;color:#64748b}.tuition-plan-money-input input{border:0;background:transparent;box-shadow:none!important}.tuition-plan-form-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #edf1f5}.tuition-plan-form-footer>span{color:var(--tuition-muted);font-size:.73rem}.tuition-plan-form-footer button{flex:0 0 auto;padding:.68rem 1rem;border:0;border-radius:9px;background:var(--tuition-accent);color:#fff;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.tuition-plan-form-footer button:hover{background:#0c4f80}.tuition-plan-form-footer button:disabled{opacity:.6;cursor:wait}.tuition-plan-text-button{padding:.4rem .55rem;border:0;background:transparent;color:var(--tuition-accent);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.tuition-plan-list-count{color:var(--tuition-muted);font-size:.78rem}.tuition-plan-list{display:grid;gap:.75rem}.tuition-plan-item{padding:1rem;border:1px solid var(--tuition-line);border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.tuition-plan-item--editing{border-color:#55a5c7;box-shadow:0 0 0 3px #0f609b14}.tuition-plan-item-top{display:flex;justify-content:space-between;gap:.8rem}.tuition-plan-item h4{margin:0;color:var(--tuition-ink);font-size:1rem}.tuition-plan-recommended-badge{display:inline-block;margin-left:.5rem;padding:.2rem .42rem;border-radius:999px;background:#e5f5ec;color:#187348;font-size:.63rem;font-weight:800;letter-spacing:.02em;vertical-align:.12rem}.tuition-plan-item-top p{margin:.35rem 0 0;color:var(--tuition-muted);font-size:.8rem;line-height:1.45;white-space:pre-wrap}.tuition-plan-price{flex:0 0 auto;color:#0d567f;font-size:1.12rem;white-space:nowrap}.tuition-plan-price small{display:block;margin-top:.1rem;color:var(--tuition-muted);font-size:.68rem;font-weight:500;text-align:right}.tuition-plan-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.tuition-plan-meta span{padding:.35rem .55rem;border:1px solid #e7edf3;border-radius:7px;background:#f7fafc;color:#526176;font-size:.73rem}.tuition-plan-meta strong{color:#20364c}.tuition-plan-item-actions{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.7rem}.tuition-plan-item-actions button{padding:.4rem .55rem;border:0;border-radius:7px;background:#eef6fb;color:#155d87;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.tuition-plan-item-actions button:hover{background:#dceef8}.tuition-plan-item-actions .tuition-plan-delete{background:transparent;color:#a33b3b}.tuition-plan-item-actions .tuition-plan-delete:hover{background:#fff0f0}.tuition-plan-empty{display:grid;justify-items:center;gap:.35rem;padding:2rem 1rem;color:var(--tuition-muted);text-align:center;font-size:.85rem}.tuition-plan-empty strong{color:var(--tuition-ink);font-size:.95rem}.tuition-plan-message{margin:.75rem 0 0;color:#167148;font-size:.82rem}.tuition-plan-message--error{color:#b42318}@media(max-width:760px){.tuition-plan-layout{grid-template-columns:1fr}}@media(max-width:480px){.tuition-plan-hero{align-items:flex-start;padding:1.1rem}.tuition-plan-count{min-width:68px;padding:.6rem}.tuition-plan-card{padding:1rem}.tuition-plan-fields{grid-template-columns:1fr}.tuition-plan-field-full{grid-column:auto}.tuition-plan-form-footer{align-items:flex-start;flex-direction:column}}.equipment-view{--equipment-ink: #142133;--equipment-muted: #64748b;--equipment-line: #e3eaf2;--equipment-accent: #0f609b;display:grid;gap:1.25rem}.equipment-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;border-radius:18px;background:linear-gradient(120deg,#10395d,#176d9a);color:#fff;box-shadow:0 12px 30px #10395d2e}.equipment-hero h2,.equipment-hero p{margin:0}.equipment-hero h2{font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.04em}.equipment-hero>div:first-child>p:last-child{margin-top:.45rem;color:#d4e8f5}.equipment-kicker,.equipment-step{display:block;margin:0 0 .35rem;color:#8ed6e5;font-size:.7rem;font-weight:800;letter-spacing:.13em}.equipment-count{min-width:92px;display:grid;justify-items:center;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:#ffffff1a}.equipment-count strong{font-size:1.7rem;line-height:1.1}.equipment-count span{color:#d4e8f5;font-size:.8rem}.equipment-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:start;gap:1rem}.equipment-card{min-width:0;padding:1.25rem;border:1px solid var(--equipment-line);border-radius:16px;background:#fff;box-shadow:0 5px 18px #162d490e}.equipment-card-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.equipment-card-heading h3{margin:0;color:var(--equipment-ink);font-size:1.15rem;letter-spacing:-.02em}.equipment-card .equipment-step{color:var(--equipment-accent)}.equipment-fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.equipment-fields label{display:grid;align-content:start;gap:.4rem;color:#334155;font-size:.82rem;font-weight:700}.equipment-fields label>span{display:flex;justify-content:space-between}.equipment-field-full{grid-column:1 / -1}.equipment-fields input{width:100%;min-width:0;padding:.68rem .72rem;border:1px solid #d5dee8;border-radius:9px;outline:none;background:#fbfdff;color:var(--equipment-ink);font:inherit;font-size:.88rem}.equipment-fields input:focus{border-color:#4b9dc1;box-shadow:0 0 0 3px #0f609b1c;background:#fff}.equipment-money-input{display:flex;align-items:center;overflow:hidden;border:1px solid #d5dee8;border-radius:9px;background:#fbfdff}.equipment-money-input:focus-within{border-color:#4b9dc1;box-shadow:0 0 0 3px #0f609b1c;background:#fff}.equipment-money-input>span{padding-left:.75rem;color:#64748b}.equipment-money-input input{border:0;background:transparent;box-shadow:none!important}.equipment-form-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #edf1f5}.equipment-form-footer>span{color:var(--equipment-muted);font-size:.73rem}.equipment-form-footer button{flex:0 0 auto;padding:.68rem 1rem;border:0;border-radius:9px;background:var(--equipment-accent);color:#fff;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.equipment-form-footer button:hover{background:#0c4f80}.equipment-form-footer button:disabled{opacity:.6;cursor:wait}.equipment-text-button{padding:.4rem .55rem;border:0;background:transparent;color:var(--equipment-accent);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.equipment-list-count{color:var(--equipment-muted);font-size:.78rem}.equipment-list{display:grid;gap:.75rem}.equipment-item{padding:1rem;border:1px solid var(--equipment-line);border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.equipment-item--editing{border-color:#55a5c7;box-shadow:0 0 0 3px #0f609b14}.equipment-item-top{display:flex;justify-content:space-between;gap:.8rem}.equipment-item-top h4{margin:0;color:var(--equipment-ink);font-size:1rem}.equipment-item-top strong{flex:0 0 auto;color:#0d567f;font-size:1.12rem}.equipment-item-actions{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.7rem}.equipment-item-actions button{padding:.4rem .55rem;border:0;border-radius:7px;background:#eef6fb;color:#155d87;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.equipment-item-actions button:hover{background:#dceef8}.equipment-item-actions .equipment-delete{background:transparent;color:#a33b3b}.equipment-item-actions .equipment-delete:hover{background:#fff0f0}.equipment-empty{display:grid;justify-items:center;gap:.35rem;padding:2rem 1rem;color:var(--equipment-muted);text-align:center;font-size:.85rem}.equipment-empty strong{color:var(--equipment-ink);font-size:.95rem}.equipment-message{margin:.75rem 0 0;color:#167148;font-size:.82rem}.equipment-message--error{color:#b42318}.events-view{--events-ink: #142133;--events-muted: #64748b;--events-line: #e3eaf2;--events-accent: #0f609b;display:grid;gap:1.25rem}.events-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.6rem;border-radius:20px;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.2),transparent 24%),linear-gradient(120deg,#10395d,#176d9a);color:#fff;box-shadow:0 12px 30px #10395d2e}.events-hero h2,.events-hero p{margin:0}.events-hero h2{font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.045em}.events-hero>div:first-child>p:last-child{margin-top:.45rem;color:#d4e8f5}.events-kicker,.events-step{display:block;margin:0 0 .35rem;color:#8ed6e5;font-size:.7rem;font-weight:800;letter-spacing:.13em}.events-count{min-width:96px;display:grid;justify-items:center;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:#ffffff1a}.events-count strong{font-size:1.8rem;line-height:1.1}.events-count span{color:#d4e8f5;font-size:.8rem}.events-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;gap:1rem}.events-card{min-width:0;padding:1.25rem;border:1px solid var(--events-line);border-radius:17px;background:#fff;box-shadow:0 5px 18px #162d490e}.events-card-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.events-card-heading h3{margin:0;color:var(--events-ink);font-size:1.15rem;letter-spacing:-.02em}.events-card .events-step{color:var(--events-accent)}.events-fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.events-fields label{display:grid;align-content:start;gap:.4rem;color:#334155;font-size:.82rem;font-weight:700}.events-fields input,.events-fields textarea,.events-emoji-picker>input{width:100%;min-width:0;padding:.68rem .72rem;border:1px solid #d5dee8;border-radius:9px;outline:none;background:#fbfdff;color:var(--events-ink);font:inherit;font-size:.88rem}.events-fields textarea{resize:vertical}.events-fields input:focus,.events-fields textarea:focus,.events-emoji-picker>input:focus{border-color:#4b9dc1;box-shadow:0 0 0 3px #0f609b1c;background:#fff}.events-field-full{grid-column:1 / -1}.events-money-input{display:flex;align-items:center;overflow:hidden;border:1px solid #d5dee8;border-radius:9px;background:#fbfdff}.events-money-input:focus-within{border-color:#4b9dc1;box-shadow:0 0 0 3px #0f609b1c;background:#fff}.events-money-input>span{padding-left:.75rem;color:#64748b}.events-money-input input{border:0;background:transparent;box-shadow:none!important}.events-emoji-picker{grid-column:1 / -1;display:grid;gap:.55rem}.events-emoji-heading{display:flex;align-items:center;justify-content:space-between;color:#334155;font-size:.82rem;font-weight:700}.events-emoji-heading strong{display:grid;width:2.3rem;height:2.3rem;place-items:center;border:1px solid #dce7ef;border-radius:10px;background:#f7fbfd;font-size:1.35rem}.events-emoji-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.28rem;max-height:150px;overflow:auto;padding:.45rem;border:1px solid #e7edf3;border-radius:10px;background:#fbfdff}.events-emoji-grid button{min-width:0;aspect-ratio:1;padding:.1rem;border:1px solid transparent;border-radius:7px;background:transparent;font-size:1.15rem;cursor:pointer}.events-emoji-grid button:hover,.events-emoji-grid button.events-emoji--selected{border-color:#a9d4e7;background:#eaf6fb}.events-emoji-grid button:focus-visible,.events-item-actions button:focus-visible,.events-form-footer button:focus-visible{outline:3px solid rgba(15,96,155,.25);outline-offset:2px}.events-form-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #edf1f5}.events-form-footer>span{color:var(--events-muted);font-size:.73rem}.events-form-footer button{flex:0 0 auto;padding:.68rem 1rem;border:0;border-radius:9px;background:var(--events-accent);color:#fff;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.events-form-footer button:hover{background:#0c4f80}.events-form-footer button:disabled{opacity:.6;cursor:wait}.events-text-button{padding:.4rem .55rem;border:0;background:transparent;color:var(--events-accent);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.events-list-count{color:var(--events-muted);font-size:.78rem}.events-list{display:grid;gap:.75rem}.events-item{padding:1rem;border:1px solid var(--events-line);border-radius:13px;background:linear-gradient(135deg,#fff,#fbfdff);transition:border-color .15s ease,box-shadow .15s ease}.events-item--editing{border-color:#55a5c7;box-shadow:0 0 0 3px #0f609b14}.events-item-heading{display:flex;align-items:center;gap:.7rem}.events-item-emoji{display:grid;flex:0 0 2.7rem;height:2.7rem;place-items:center;border-radius:12px;background:#edf7fb;font-size:1.45rem}.events-item-title{min-width:0;flex:1}.events-item-title h4{margin:0;color:var(--events-ink);font-size:1rem}.events-item-title time{display:block;margin-top:.25rem;color:var(--events-muted);font-size:.76rem}.events-price{flex:0 0 auto;color:#0d567f;font-size:1.05rem;white-space:nowrap}.events-description{margin:.75rem 0 0;color:#526176;font-size:.82rem;line-height:1.5;white-space:pre-wrap}.events-item-actions{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.65rem}.events-item-actions button{padding:.4rem .55rem;border:0;border-radius:7px;background:#eef6fb;color:#155d87;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.events-item-actions button:hover{background:#dceef8}.events-item-actions .events-delete{background:transparent;color:#a33b3b}.events-item-actions .events-delete:hover{background:#fff0f0}.events-empty{display:grid;justify-items:center;gap:.35rem;padding:2rem 1rem;color:var(--events-muted);text-align:center;font-size:.85rem}.events-empty strong{color:var(--events-ink);font-size:.95rem}.events-message{margin:.75rem 0 0;color:#167148;font-size:.82rem}.events-message--error{color:#b42318}.event-signup-view>.events-card{display:grid;gap:1rem}.event-signup-select,.event-signup-add label{display:grid;gap:.4rem;color:#334155;font-size:.82rem;font-weight:700}.event-signup-select select,.event-signup-add select,.event-signup-add input{width:100%;min-width:0;padding:.75rem .8rem;border:1px solid #d5dee8;border-radius:9px;outline:none;background:#fbfdff;color:var(--events-ink);font:inherit;font-size:.9rem}.event-signup-select select:focus,.event-signup-add select:focus,.event-signup-add input:focus{border-color:#4b9dc1;box-shadow:0 0 0 3px #0f609b1c;background:#fff}.event-signup-summary{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1px solid #dceaf1;border-radius:12px;background:linear-gradient(110deg,#f1f9fc,#fff)}.event-signup-summary>span:first-child{display:grid;flex:0 0 2.7rem;height:2.7rem;place-items:center;border-radius:12px;background:#e4f3f8;font-size:1.45rem}.event-signup-summary>div{display:grid;flex:1;gap:.2rem;min-width:0}.event-signup-summary strong{color:var(--events-ink)}.event-signup-summary time,.event-signup-summary>span:last-child{color:var(--events-muted);font-size:.78rem}.event-signup-add{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:.65rem}.event-signup-add button{padding:.75rem 1rem;border:0;border-radius:9px;background:var(--events-accent);color:#fff;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.event-signup-add button:hover:not(:disabled){background:#0c4f80}.event-signup-add button:disabled{opacity:.55;cursor:not-allowed}.event-signup-list-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.4rem;padding-top:1rem;border-top:1px solid #edf1f5}.event-signup-list-heading h3{margin:0;color:var(--events-ink);font-size:1rem}.event-signup-list-heading>span{color:var(--events-muted);font-size:.78rem}.event-signup-list{display:grid;gap:.55rem}.event-signup-row{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border:1px solid var(--events-line);border-radius:11px;background:#fcfdff}.event-signup-avatar{display:grid;flex:0 0 2.35rem;height:2.35rem;place-items:center;border-radius:50%;background:#e8f3f8;color:#155d87;font-weight:800}.event-signup-student{display:grid;flex:1;gap:.18rem;min-width:0}.event-signup-student strong{overflow:hidden;color:var(--events-ink);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.event-signup-student span{color:var(--events-muted);font-size:.74rem}.event-signup-row button{padding:.43rem .6rem;border:0;border-radius:7px;background:transparent;color:#a33b3b;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.event-signup-row button:hover:not(:disabled){background:#fff0f0}.event-signup-row button:disabled{opacity:.55;cursor:wait}@media(max-width:760px){.events-layout{grid-template-columns:1fr}}@media(max-width:480px){.events-hero{align-items:flex-start;padding:1.15rem}.events-count{min-width:70px;padding:.6rem}.events-card{padding:1rem}.events-fields{grid-template-columns:1fr}.events-field-full,.events-emoji-picker{grid-column:auto}.events-form-footer{align-items:flex-start;flex-direction:column}.events-emoji-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:760px){.equipment-layout{grid-template-columns:1fr}}@media(max-width:480px){.equipment-hero{align-items:flex-start;padding:1.1rem}.equipment-count{min-width:68px;padding:.6rem}.equipment-card{padding:1rem}.equipment-fields{grid-template-columns:1fr}.equipment-field-full{grid-column:auto}.equipment-form-footer{align-items:flex-start;flex-direction:column}}.login-view{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(440px,100%);background:#fff;border-radius:12px;padding:1.15rem;box-shadow:0 2px 12px #102a431f;border:1px solid #e6edf5;display:grid;gap:.8rem}.login-card h1{margin:0}.login-card p{margin:0;color:#52667a}.login-form{display:grid;gap:.55rem}.login-form input,.login-form button{padding:.6rem .7rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.login-form button{background:#0f609b;color:#fff;border:none;cursor:pointer}.workspace-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;margin-bottom:1rem}.workspace-form input,.workspace-form button{padding:.6rem .7rem;border-radius:8px;border:1px solid #bcccdc}.workspace-form button{background:#0f609b;color:#fff;border:none;cursor:pointer}.error{color:#b42318}.builder-view,.test-sections-view{display:grid;gap:.75rem}.test-sections-add-form{display:flex;gap:.5rem}.test-sections-add-input{flex:1;padding:.55rem .7rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff}.test-sections-add-button{padding:.55rem .9rem;border-radius:8px;border:none;background:#0f609b;color:#fff;font:inherit;cursor:pointer}.test-sections-add-button:hover{background:#0a4f80}.test-sections-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.test-sections-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:8px;background:#fff;border:1px solid #dce8f0}.test-sections-name{flex:1;font-size:.95rem}.test-sections-rename-input{flex:1;padding:.3rem .5rem;border-radius:6px;border:1px solid #bcccdc;font:inherit;font-size:.95rem}.test-sections-action-button{padding:.3rem .6rem;border-radius:6px;border:1px solid transparent;font:inherit;font-size:.8rem;cursor:pointer}.test-sections-rename-button{border-color:#bcccdc;background:#f0f4f8;color:#2d4a60}.test-sections-rename-button:hover{background:#dce8f0}.test-sections-save-button{border-color:#0f609b;background:#e8f2fb;color:#0a4f80}.test-sections-save-button:hover{background:#d0e6f5}.test-sections-cancel-button{border-color:#bcccdc;background:#f0f4f8;color:#2d4a60}.test-sections-cancel-button:hover{background:#dce8f0}.test-sections-delete-button{border-color:#d64545;background:#fff1f1;color:#932727}.test-sections-delete-button:hover{background:#fddada}.slides-view{display:grid;gap:1rem}.slides-section-selector{display:flex;align-items:center;gap:.6rem}.slides-section-actions{display:flex;flex-wrap:wrap;gap:.5rem}.slides-clipboard-status{margin:0;color:#6b7c93;font-size:.9rem}.slides-label{font-weight:600;font-size:.9rem;white-space:nowrap}.slides-select{padding:.55rem .7rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff;min-width:200px}.slides-add-form{display:flex;gap:.5rem;align-items:center}.slides-type-select{padding:.55rem .6rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff}.slides-add-input{flex:1;padding:.55rem .7rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff}.slides-add-button{padding:.55rem .9rem;border-radius:8px;border:none;background:#0f609b;color:#fff;font:inherit;cursor:pointer}.slides-add-button:hover{background:#0a4f80}.slides-copy-button{border-color:#bcccdc;background:#f0f4f8;color:#2d4a60}.slides-copy-button:hover{background:#dce8f0}.slides-remove-all-button:disabled{opacity:.6;cursor:not-allowed}.slides-paste-button{border-color:#0f609b;background:#e8f2fb;color:#0a4f80}.slides-paste-button:hover{background:#d0e6f5}.slides-bulk-form{display:grid;gap:.45rem;max-width:760px}.slides-bulk-input{width:100%;padding:.6rem .7rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff;resize:vertical}.slides-loading,.slides-empty{color:#6b7c93;font-size:.9rem}.slides-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.slides-item{border-radius:8px;border:1px solid #dce8f0;background:#fff;padding:.5rem .6rem;cursor:grab;-webkit-user-select:none;user-select:none}.slides-item:active{cursor:grabbing}.slides-item--drag-over{border-color:#0f609b;background:#edf5fd}.slides-row,.slides-edit-row{display:flex;align-items:center;gap:.5rem}.slides-drag-handle{color:#9ab0c4;font-size:1rem;cursor:grab;flex-shrink:0}.slides-type-badge{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .45rem;border-radius:4px;white-space:nowrap}.slides-type-badge--standard{background:#e8f2fb;color:#0a4f80}.slides-type-badge--intro{background:#f0faf0;color:#256325}.slides-text{flex:1;font-size:.95rem;color:#000;white-space:pre-wrap}.slides-edit-input{flex:1;min-width:0;min-height:4.5rem;padding:.3rem .5rem;border-radius:6px;border:1px solid #bcccdc;font:inherit;font-size:.95rem;resize:vertical}.slides-action-button{padding:.3rem .6rem;border-radius:6px;border:1px solid transparent;font:inherit;font-size:.8rem;cursor:pointer;white-space:nowrap}.slides-edit-button{border-color:#bcccdc;background:#f0f4f8;color:#2d4a60}.slides-edit-button:hover{background:#dce8f0}.slides-save-button{border-color:#0f609b;background:#e8f2fb;color:#0a4f80}.slides-save-button:hover{background:#d0e6f5}.slides-cancel-button{border-color:#bcccdc;background:#f0f4f8;color:#2d4a60}.slides-cancel-button:hover{background:#dce8f0}.slides-delete-button{border-color:#d64545;background:#fff1f1;color:#932727}.slides-delete-button:hover{background:#fddada}.clear-requirements-button{justify-self:start;padding:.55rem .8rem;border-radius:8px;border:1px solid #d64545;background:#fff1f1;color:#932727;cursor:pointer}.builder-form{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}.builder-form textarea{width:100%;padding:.75rem;border-radius:10px;border:1px solid #bcccdc;resize:vertical;font:inherit}.builder-form select{width:100%;padding:.7rem;border-radius:10px;border:1px solid #bcccdc;font:inherit;background:#fff}.icon-submit{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:none;background:#0f609b;color:#fff;cursor:pointer}.requirements-list{padding-left:1.2rem;margin:0;display:grid;gap:.5rem}.belts-view{display:grid;gap:.9rem}.belts-form{display:flex;gap:.6rem;max-width:480px;flex-wrap:wrap}.kick-combolist-view{display:grid;gap:.9rem}.kick-combolist-replacements{display:flex;flex-wrap:wrap;gap:.45rem}.kick-combolist-view .kick-combolist-replacement{padding:.45rem .7rem;border-radius:8px;border:1px solid #2d5986;background:#fff;color:#143355;cursor:pointer;font:inherit;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.kick-combolist-view .kick-combolist-replacement:hover{transform:translateY(-1px);border-color:#1b4b73}.kick-combolist-view .kick-combolist-replacement:focus-visible{outline:3px solid rgba(15,96,155,.22);outline-offset:2px}.kick-combolist-view .kick-combolist-replacement--active{background:#0f609b;border-color:#0f609b;color:#fff}.kick-combolist-view .kick-combolist-replacement--active:hover{transform:translateY(-1px)}.belts-form input,.belts-form button{padding:.6rem .7rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.belts-form input{flex:1;background:#fff}.belts-form button{background:#0f609b;color:#fff;border:none;cursor:pointer}.belts-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #102a4314}.belts-table th,.belts-table td{padding:.65rem .75rem;border-bottom:1px solid #e6edf5;text-align:left}.belts-table thead th{background:#f2f6fc;font-weight:600}.belts-table tbody tr:last-child td{border-bottom:none}.belts-rank-input{width:5rem;padding:.35rem .45rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.belts-order-actions{display:flex;gap:.45rem}.belts-order-actions button{padding:.35rem .55rem;border-radius:8px;border:1px solid #2d5986;background:#143355;color:#d9e2ec;cursor:pointer}.belts-order-actions button:disabled{opacity:.35;cursor:not-allowed}.belts-delete-btn{padding:.35rem .55rem;border-radius:8px;border:1px solid #d64545;background:#fff1f1;color:#932727;cursor:pointer}.belts-empty{color:#66788a;font-style:italic}.students-view{display:grid;gap:.9rem;width:100%}.students-bulk-controls{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.students-bulk-upload-btn{padding:.55rem .75rem;border-radius:8px;border:none;background:#1f6f4f;color:#fff;cursor:pointer;font:inherit}.students-bulk-upload-btn:disabled{opacity:.6;cursor:not-allowed}.students-bulk-file-input{display:none}.students-bulk-meta{font-size:.9rem;color:#52667a}.students-bulk-status{margin:0;color:#1d6f3e;font-size:.92rem}.students-class-filter{display:grid;gap:.45rem}.students-class-filter-label{margin:0;font-size:.92rem;color:#52667a}.students-class-filter-loading{margin:0;font-size:.9rem;color:#66788a;font-style:italic}.students-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.6rem;max-width:1200px}.students-form input,.students-form select,.students-form button,.students-table input,.students-table select{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.students-form button,.students-actions button{background:#0f609b;color:#fff;border:none;cursor:pointer}.students-table{width:100%;min-width:1160px;table-layout:fixed;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #102a4314}.students-table-wrap{width:100%;overflow-x:auto;padding-bottom:.15rem}.students-table th,.students-table td{padding:.5rem .6rem;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:middle}.students-table input,.students-table select{width:100%;min-width:0;padding:.4rem .5rem;font-size:.89rem}.students-table th:nth-child(1),.students-table td:nth-child(1),.students-table th:nth-child(2),.students-table td:nth-child(2){width:12%}.students-table th:nth-child(3),.students-table td:nth-child(3){width:16%}.students-table th:nth-child(4),.students-table td:nth-child(4){width:12%}.students-table th:nth-child(5),.students-table td:nth-child(5),.students-table th:nth-child(6),.students-table td:nth-child(6){width:12%}.students-table th:nth-child(7),.students-table td:nth-child(7){width:10%}.students-table th:nth-child(8),.students-table td:nth-child(8){width:26%}.students-table thead th{background:#f2f6fc;font-weight:600}.students-table tbody tr:last-child td{border-bottom:none}.students-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;align-items:stretch}.students-actions-grid button{width:100%;padding:.4rem .5rem;font-size:.82rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.students-delete-btn{background:#fff1f1!important;color:#932727!important;border:1px solid #d64545!important}.students-attendance-btn{background:#eaf4fb;color:#0f609b;border:1px solid #a8d0ec!important;cursor:pointer}.students-attendance-btn.active{background:#0f609b;color:#fff}.students-active-btn{padding:.25rem .6rem;border-radius:999px;border:1px solid;cursor:pointer;font:inherit;font-size:.85rem}.students-active-btn.active{background:#d9fbe5;border-color:#2f9e61;color:#1d5f3c}.students-active-btn.inactive{background:#fff1f1;border-color:#d64545;color:#932727}.student-attendance-panel,.student-edit-panel{background:#fff;border-radius:10px;padding:1rem 1.1rem;box-shadow:0 2px 12px #102a4314;border:1px solid #e6edf5}.student-edit-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.student-edit-panel-header h3{margin:0;font-size:1rem}.student-edit-panel-body{display:grid;gap:.9rem}.student-edit-fieldset{border:1px solid #d9e6f2;border-radius:8px;padding:.75rem .85rem .85rem;margin:0}.student-edit-fieldset legend{font-weight:600;font-size:.88rem;color:#334e68;padding:0 .35rem}.student-edit-address-grid,.student-edit-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.55rem}.student-edit-field{display:grid;gap:.25rem;font-size:.88rem;color:#334e68}.student-edit-field--full{grid-column:1 / -1}.student-edit-field input,.student-edit-field select,.student-edit-field textarea{padding:.45rem .55rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;font-size:.88rem;background:#fff}.student-edit-field textarea{resize:vertical}.student-edit-array-list{display:grid;gap:.4rem}.student-edit-array-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center}.student-edit-array-row input{padding:.45rem .55rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;font-size:.88rem}.student-edit-array-row button,.student-edit-array-list>button{padding:.35rem .6rem;border-radius:8px;border:1px solid #bcccdc;background:#f0f4f8;color:#243b53;cursor:pointer;font:inherit;font-size:.82rem;white-space:nowrap;justify-self:start}.student-edit-array-row button:disabled{opacity:.5;cursor:not-allowed}.students-autosave-status{margin:.25rem 0 0;font-size:.84rem;color:#486581}.student-attendance-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.student-attendance-panel-header h3{margin:0;font-size:1rem}.student-attendance-close{background:none;border:none;cursor:pointer;font-size:1rem;color:#66788a;padding:.2rem .4rem}.student-attendance-close:hover{color:#1a2b3c}.student-attendance-rates{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.attendance-rate-badge{padding:.3rem .7rem;border-radius:6px;font-weight:700;font-size:.85rem;background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#0d47a1;border:1px solid #90caf9}.student-practice-sparkline-panel{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;padding:.5rem .75rem;background:#f7fbff;border:1px solid #dce9f5;border-radius:8px}.student-practice-month{margin:.75rem 0;padding:.75rem;background:#f7fbff;border:1px solid #dce9f5;border-radius:8px}.student-practice-month h4{margin:0;color:#243b53;font-size:.95rem}.student-practice-month-total{margin:.35rem 0 .65rem;color:#3d5a72;font-size:.88rem}.student-practice-month-total strong{color:#0d47a1;font-size:1.1rem}.student-practice-day-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.4rem;max-height:12rem;margin:0;padding:0;overflow-y:auto;list-style:none}.student-practice-day-list li{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .55rem;border:1px solid #e6edf5;border-radius:6px;background:#fff;color:#3a5a7a;font-size:.82rem}.student-practice-day-list strong{color:#1a2b3c}.sparkline-panel-label{font-size:.78rem;font-weight:600;color:#3d5a72;white-space:nowrap}.practice-sparkline{display:block;overflow:visible}.attendance-student-sparkline{display:flex;align-items:center;gap:.4rem;margin-top:.15rem}.sparkline-label{font-size:.75rem;color:#556b7f;white-space:nowrap}.student-attendance-list{margin:0;padding:0;list-style:none;display:grid;gap:.4rem}.student-attendance-item{display:flex;align-items:center;gap:1rem;padding:.5rem .7rem;border-radius:8px;background:#f7fbff;border:1px solid #e6edf5}.student-attendance-date{font-weight:600;color:#1a2b3c;min-width:7rem}.student-attendance-class{color:#3a5a7a}.student-attendance-loading,.student-attendance-empty{color:#66788a;font-style:italic;margin:0}.students-empty{color:#66788a;font-style:italic}.users-view{display:grid;gap:.9rem}.users-logon-btn{justify-self:start;padding:.55rem .8rem;border-radius:8px;border:none;background:#0f609b;color:#fff;cursor:pointer;font:inherit}.users-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;max-width:720px}.users-form input,.users-form button{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.users-form button{background:#0f609b;color:#fff;border:none;cursor:pointer}.users-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #102a4314}.users-table th,.users-table td{padding:.65rem .75rem;border-bottom:1px solid #e6edf5;text-align:left}.users-table thead th{background:#f2f6fc;font-weight:600}.users-table tbody tr:last-child td{border-bottom:none}.users-actions{display:flex;gap:.45rem}.users-delete-btn{background:#fff1f1!important;color:#932727!important;border:1px solid #d64545!important;padding:.35rem .55rem;border-radius:8px;cursor:pointer}.users-empty{color:#66788a;font-style:italic}.emailtemplate-view{display:grid;gap:.9rem}.emailtemplate-create,.emailtemplate-card{display:grid;gap:.6rem;background:#fff;border:1px solid #e6edf5;border-radius:10px;box-shadow:0 2px 12px #102a4314;padding:.85rem}.emailtemplate-create input,.emailtemplate-create textarea,.emailtemplate-create button,.emailtemplate-card input,.emailtemplate-card textarea,.emailtemplate-card button{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.emailtemplate-create button,.emailtemplate-actions button{background:#0f609b;color:#fff;border:none;cursor:pointer}.emailtemplate-variables{display:flex;flex-wrap:wrap;gap:.45rem}.emailtemplate-variable-btn{background:#eef4fb!important;color:#164a75!important;border:1px solid #bcd2e6!important;font-size:.85rem;padding:.35rem .55rem!important}.remindme-view{display:grid;gap:1rem}.remindme-view h2{margin:0}.remindme-view>p{margin:0;max-width:68ch;color:#52667a;line-height:1.55}.remindme-summary,.remindme-form,.remindme-item{background:#fff;border:1px solid #e6edf5;border-radius:14px;box-shadow:0 2px 12px #102a4314}.remindme-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem .9rem;padding:.85rem 1rem;color:#243b53;font-weight:600}.remindme-form{display:grid;gap:.9rem;padding:1rem}.remindme-form__filters,.remindme-form__row{display:grid;gap:.8rem}.remindme-form__filters{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.remindme-form__row{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(8rem,.7fr))}.remindme-status-toggle{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;align-self:end}.remindme-status-toggle button{padding:.5rem .85rem;border-radius:999px;border:1px solid #bcd2e6;background:#f2f6fc;color:#143355;font:inherit;cursor:pointer}.remindme-status-toggle button.active{background:#0f609b;border-color:#0f609b;color:#fff;font-weight:600}.remindme-field{display:grid;gap:.35rem;min-width:0;color:#334e68;font-size:.92rem}.remindme-field--message{grid-column:1 / -1}.remindme-field span,.remindme-preview span,.remindme-item__header span{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#627d98}.remindme-field input,.remindme-field select,.remindme-field textarea{width:100%;padding:.6rem .7rem;border-radius:10px;border:1px solid #bcccdc;font:inherit;background:#fff;color:#142133}.remindme-field textarea{resize:vertical;min-height:8rem}.remindme-preview{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .8rem;padding:.85rem .95rem;border-radius:12px;background:#f8fbfe;border:1px solid #d9e2ec;color:#243b53}.remindme-preview strong{font-size:1rem;font-weight:700}.remindme-preview small{width:100%;color:#627d98;font-size:.88rem}.remindme-form__actions{display:flex;justify-content:flex-end}.remindme-form__actions button,.remindme-delete-btn{padding:.55rem .85rem;border-radius:10px;font:inherit;cursor:pointer}.remindme-form__actions button{border:none;background:#0f609b;color:#fff;min-width:10rem}.remindme-form__actions button:disabled,.remindme-delete-btn:disabled{opacity:.6;cursor:not-allowed}.remindme-view .error,.remindme-status,.remindme-view .attendance-empty{margin:0;padding:.75rem .9rem;border-radius:12px;background:#0f609b14;border:1px solid rgba(15,96,155,.12);color:#143355}.remindme-view .error{background:#d6454514;border-color:#d6454526;color:#9b2c2c}.remindme-list{display:grid;gap:.85rem;list-style:none;margin:0;padding:0}.remindme-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem}.remindme-item__main{display:grid;gap:.55rem;min-width:0;flex:1 1 auto}.remindme-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.remindme-item__header strong{font-size:1.02rem;color:#122033}.remindme-item__meta{display:flex;flex-wrap:wrap;gap:.5rem .85rem;color:#52667a;font-size:.92rem}.remindme-item p{margin:0;color:#243b53;line-height:1.5;overflow-wrap:anywhere}.remindme-delete-btn{border:1px solid #e2b8b8;background:#fff5f5;color:#9b2c2c;flex-shrink:0}.emailtemplate-list{display:grid;gap:.8rem}.emailtemplate-actions{display:flex;gap:.45rem}.emailtemplate-delete-btn{background:#fff1f1!important;color:#932727!important;border:1px solid #d64545!important}.emailtemplate-status{margin:0;color:#1d6f3e;font-size:.92rem}.emailtemplate-empty{color:#66788a;font-style:italic}.email-view{display:grid;gap:.9rem}.email-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;align-items:end;background:#fff;border:1px solid #e6edf5;border-radius:10px;box-shadow:0 2px 12px #102a4314;padding:.85rem}.email-controls label{display:grid;gap:.35rem;font-size:.9rem;color:#334e68}.email-controls select,.email-controls button{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.email-controls select,.email-controls select option{background:#fff;color:#132033}.email-controls button{background:#0f609b;color:#fff;border:none;cursor:pointer}.email-status{margin:0;color:#1d6f3e;font-size:.92rem}.email-preview{background:#fff;border:1px solid #e6edf5;border-radius:10px;box-shadow:0 2px 12px #102a4314;padding:.9rem;display:grid;gap:.45rem}.email-preview h3,.email-preview p{margin:0}.email-preview-text{margin:0;color:#132033;white-space:pre-wrap;background:#f8fbff;border:1px solid #d9e6f2;border-radius:8px;padding:.7rem;font-family:Consolas,Courier New,monospace;font-size:.86rem}.checkemail-view{display:grid;gap:.9rem}.checkemail-header{display:flex;justify-content:space-between;align-items:end;gap:.75rem;flex-wrap:wrap}.checkemail-header h2,.checkemail-header p{margin:0}.checkemail-actions{display:inline-flex;gap:.5rem;flex-wrap:wrap}.checkemail-header button,.checkemail-detail button{padding:.55rem .75rem;border-radius:8px;border:none;background:#0f609b;color:#fff;cursor:pointer;font:inherit}.checkemail-disconnect-btn{background:#8d2b0b}.checkemail-header button:disabled,.checkemail-detail button:disabled{opacity:.6;cursor:not-allowed}.checkemail-mailbox{margin:0;color:#334e68;font-size:.9rem}.checkemail-help{margin:0;color:#52667a;font-size:.92rem}.checkemail-empty-state{background:#fff;border:1px solid #e6edf5;border-radius:10px;box-shadow:0 2px 12px #102a4314;padding:1rem;display:grid;gap:.4rem}.checkemail-empty-state h3,.checkemail-empty-state p{margin:0}.checkemail-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:.75rem}.checkemail-list,.checkemail-detail{background:#fff;border:1px solid #e6edf5;border-radius:10px;box-shadow:0 2px 12px #102a4314;padding:.75rem}.checkemail-list{display:grid;gap:.5rem;max-height:65vh;overflow:auto}.checkemail-list-item{text-align:left;padding:.55rem;border-radius:8px;border:1px solid #dce8f0;background:#f8fbff;cursor:pointer;font:inherit;color:inherit;display:grid;gap:.25rem}.checkemail-list-item.active{border-color:#0f609b;background:#e8f2fb}.checkemail-list-item p{margin:0;font-size:.85rem;color:#52667a}.checkemail-list-item-top{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.checkemail-read-pill,.checkemail-unread-pill{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600}.checkemail-read-pill{background:#edf2f7;color:#486581}.checkemail-unread-pill{background:#fff2c9;color:#8d2b0b}.checkemail-detail{display:grid;gap:.55rem}.checkemail-detail h3,.checkemail-detail p{margin:0}.checkemail-preview-text{margin:0;padding:.7rem;border-radius:8px;background:#f8fbff;border:1px solid #d9e6f2;white-space:pre-wrap;line-height:1.45}.checkemail-reply-box{display:grid;gap:.35rem;color:#334e68;font-size:.9rem}.checkemail-reply-box textarea{width:100%;padding:.6rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;resize:vertical}@media(max-width:960px){.checkemail-grid{grid-template-columns:1fr}.checkemail-list{max-height:45vh}}.wavier-view{display:grid;gap:.9rem}.wavier-controls,.wavier-sign-form,.wavier-history,.wavier-template-form{background:#fff;border:1px solid #e6edf5;border-radius:10px;box-shadow:0 2px 12px #102a4314;padding:.9rem}.wavier-template-form{display:grid;gap:.55rem}.wavier-template-form h3{margin:0}.wavier-template-form input,.wavier-template-form textarea,.wavier-template-form button{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.wavier-template-form button{justify-self:start;background:#0f609b;color:#fff;border:none;cursor:pointer}.wavier-ack-builder{display:grid;gap:.45rem}.wavier-ack-builder-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;align-items:center;padding:.45rem;border:1px solid #d9e6f2;border-radius:8px;background:#f8fbff}.wavier-ack-builder-row button{padding:.35rem .55rem;border-radius:8px;border:1px solid #bcccdc;background:#fff;color:#243b53;cursor:pointer}.wavier-ack-builder-row button:disabled{opacity:.55;cursor:not-allowed}.wavier-template-list{display:grid;gap:.35rem;margin-top:.35rem}.wavier-template-item{display:flex;justify-content:space-between;align-items:center;gap:.65rem;padding:.45rem .55rem;border-radius:8px;background:#f7fbff;border:1px solid #d9e6f2;color:#334e68}.wavier-template-item-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.wavier-template-item button{padding:.35rem .55rem;border-radius:8px;border:none;background:#1d6f3e;color:#fff;cursor:pointer}.wavier-controls{display:grid;gap:.35rem;max-width:380px}.wavier-controls label,.wavier-signer-grid label{display:grid;gap:.35rem;font-size:.9rem;color:#334e68}.wavier-controls select,.wavier-signer-grid select,.wavier-signer-grid input,.wavier-sign-form button{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.wavier-sign-form{display:grid;gap:.75rem}.wavier-doc{display:grid;gap:.4rem}.wavier-doc h3,.wavier-history h3{margin:0}.wavier-doc-text{margin:0;background:#f8fbff;border:1px solid #d9e6f2;border-radius:8px;padding:.75rem;max-height:260px;overflow-y:auto;font-family:inherit;font-size:.95rem;line-height:1.55;white-space:normal}.wavier-acks,.wavier-consents{display:grid;gap:.4rem}.wavier-acks h4{margin:0}.wavier-check-row{display:flex;gap:.55rem;align-items:flex-start;color:#243b53}.newstudent-sign-grid .wavier-check-row{display:flex;align-items:flex-start}.newstudent-checkbox-error{accent-color:#d64545;outline:2px solid #d64545;outline-offset:2px;box-shadow:0 0 0 2px #d6454524}.wavier-check-row.newstudent-field-error{color:#b42318}.wavier-signer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.wavier-sign-form button{justify-self:start;background:#0f609b;color:#fff;border:none;cursor:pointer}.wavier-sign-form button:disabled{opacity:.6;cursor:not-allowed}.wavier-status{margin:0;color:#1d6f3e;font-size:.92rem}.wavier-empty{color:#66788a;font-style:italic}.studentwaviers-view{gap:1rem}.studentwaviers-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.studentwaviers-summary>div{background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #d9e6f2;border-radius:12px;padding:.85rem .95rem;display:grid;gap:.2rem;box-shadow:0 2px 12px #102a430f}.studentwaviers-summary strong{font-size:1.3rem;color:#102a43}.studentwaviers-summary span{color:#627d98;font-size:.9rem}.studentwaviers-list{display:grid;gap:1rem}.studentwaviers-card{background:#fff;border:1px solid #e6edf5;border-radius:12px;box-shadow:0 2px 12px #102a4314;padding:1rem;display:grid;gap:1rem}.studentwaviers-card__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap;list-style:none;cursor:pointer}.studentwaviers-card__header::-webkit-details-marker{display:none}.studentwaviers-card__header:before{content:"▸";color:#627d98}.studentwaviers-card[open]>.studentwaviers-card__header:before{content:"▾"}.studentwaviers-card__summary-main{display:grid;gap:.2rem}.studentwaviers-card__summary-main strong{font-size:1.1rem}.studentwaviers-card__summary-main>span,.studentwaviers-grid h4,.studentwaviers-snapshot h5{margin:0}.studentwaviers-card__summary-main>span{color:#627d98;font-size:.92rem}.studentwaviers-card__badges{display:flex;gap:.4rem;flex-wrap:wrap}.studentwaviers-card__badges span{background:#e6f0fb;color:#0f609b;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:600}.studentwaviers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.studentwaviers-grid section{background:#f8fbff;border:1px solid #d9e6f2;border-radius:10px;padding:.85rem;display:grid;gap:.7rem}.studentwaviers-grid dl{display:grid;gap:.4rem;margin:0}.studentwaviers-detail-row{display:grid;gap:.12rem}.studentwaviers-detail-row dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#627d98}.studentwaviers-detail-row dd{margin:0;color:#243b53;word-break:break-word}.studentwaviers-snapshot{display:grid;gap:.35rem}.studentwaviers-snapshot pre{margin:0;padding:.8rem;border-radius:10px;border:1px solid #d9e6f2;background:#fff;white-space:pre-wrap;word-break:break-word;font:inherit;line-height:1.5;max-height:240px;overflow:auto}@media(max-width:1080px){.studentwaviers-grid,.studentwaviers-summary{grid-template-columns:1fr}}.newstudent-view,.newstudent-form{display:grid;gap:.9rem}.newstudent-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:.9rem}.newstudent-panel{display:grid;gap:.7rem;background:#fff;border:1px solid #e6edf5;border-radius:10px;box-shadow:0 2px 12px #102a4314;padding:.9rem}.newstudent-panel h3,.newstudent-panel h4,.newstudent-summary{margin:0}.newstudent-panel-header{display:grid;gap:.25rem}.newstudent-panel-header p{margin:0;color:#627d98;font-size:.9rem}.newstudent-panel-header--space-between{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.newstudent-add-student,.newstudent-remove-student{padding:.5rem .75rem;border-radius:8px;border:none;font:inherit;cursor:pointer}.newstudent-add-student{background:#1d7a5f;color:#fff}.newstudent-remove-student{background:#eef4fb;color:#9b2c2c}.newstudent-student-list{display:grid;gap:.75rem}.newstudent-student-list-footer{display:flex;justify-content:flex-end;padding-top:.25rem}.newstudent-student-card{display:grid;gap:.75rem;padding:.85rem;border:1px solid #d9e2ec;border-radius:10px;background:#f8fbfe}.newstudent-student-card-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.newstudent-grid,.newstudent-sign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.newstudent-sign-grid-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;align-items:start;grid-column:1 / -1}.newstudent-grid label,.newstudent-sign-grid label{display:grid;gap:.35rem;font-size:.9rem;color:#334e68}.newstudent-birthday-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.newstudent-grid input,.newstudent-grid select,.newstudent-grid textarea,.newstudent-sign-grid input,.newstudent-sign-grid select,.newstudent-panel button{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.newstudent-field-error{border-color:#d64545!important;box-shadow:0 0 0 2px #d6454524}.newstudent-grid textarea{resize:vertical}.newstudent-student-card .newstudent-grid{background:#fff;padding:.75rem;border-radius:8px;border:1px solid #edf2f7}.newstudent-full-width{grid-column:1 / -1}.newstudent-panel button{justify-self:start;background:#0f609b;color:#fff;border:none;cursor:pointer}.newstudent-panel button:disabled{opacity:.6;cursor:not-allowed}.newstudent-goal-suggestions{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .5rem}.newstudent-goal-suggestions button{justify-self:auto;padding:.38rem .6rem;border-radius:999px;border:1px solid #bcccdc;background:#edf3ff;color:#102a43;cursor:pointer;font-size:.85rem;line-height:1.2}.newstudent-goal-suggestions button:hover{background:#d9e2ec}.newstudent-goal-suggestions button[aria-pressed=true]{background:#102a43;border-color:#102a43;color:#fff}.newstudent-help-text{margin:0;font-size:.85rem;color:#52606d;line-height:1.35}.newstudent-summary{color:#1d6f3e}.newstudent-complete-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:1rem;background:#0d1f2d9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.newstudent-complete-modal{width:min(520px,100%);background:#fff;border-radius:16px;border:1px solid #dbe7f3;box-shadow:0 20px 60px #0a162259;padding:1.2rem;display:grid;gap:.8rem;animation:attendanceModalIn .18s ease-out;text-align:center}.newstudent-complete-modal h3,.newstudent-complete-modal p{margin:0}.newstudent-complete-modal p{color:#52606d;line-height:1.45}.newstudent-complete-modal button{justify-self:center;padding:.55rem 1rem;border-radius:8px;border:none;background:#0f609b;color:#fff;cursor:pointer}@media(max-width:960px){.newstudent-layout,.newstudent-grid,.newstudent-sign-grid-row,.newstudent-sign-grid,.newstudent-birthday-row{grid-template-columns:1fr}}.wavier-history ul{margin:.4rem 0 0;padding-left:1rem;display:grid;gap:.3rem;color:#334e68}.gocardless-view{display:grid;gap:.9rem}.gocardless-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.gocardless-header h2{margin:0}.gocardless-header p{margin:.25rem 0 0;color:#52667a}.gocardless-header button{padding:.55rem .8rem;border-radius:8px;border:none;background:#0f609b;color:#fff;cursor:pointer}.gocardless-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #102a4314}.gocardless-table th,.gocardless-table td{padding:.65rem .75rem;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:top}.gocardless-table th:nth-child(3),.gocardless-table td:nth-child(3){min-width:24rem}.gocardless-table thead th{background:#f2f6fc;font-weight:600}.gocardless-table tbody tr:last-child td{border-bottom:none}.gocardless-empty{color:#66788a;font-style:italic}.gocardless-stacked-cell{display:grid;gap:.25rem;min-width:0;width:100%}.gocardless-student-picker{position:relative;min-width:0;width:100%}.gocardless-assigned-list{display:grid;gap:.4rem;min-width:0;width:100%}.gocardless-assigned-chip{display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding:.35rem .55rem;border-radius:999px;background:#12203614;border:1px solid rgba(18,32,54,.12);min-width:0;width:100%}.gocardless-assigned-chip span{min-width:0;overflow-wrap:anywhere;font-size:.92rem;font-weight:600;font-style:normal;color:#253a50}.gocardless-assigned-chip button,.gocardless-available-list button,.gocardless-filter-row button{flex-shrink:0;font-size:.88rem}.gocardless-available-list{position:absolute;top:calc(100% + .45rem);left:0;z-index:4;display:grid;gap:.45rem;padding:.75rem;max-height:18rem;overflow:auto;width:min(34rem,calc(100vw - 2rem));border-radius:16px;border:1px solid rgba(26,34,48,.1);background:#fffffff5;box-shadow:0 18px 36px #102a431f}.gocardless-available-list button{width:100%;text-align:left;white-space:normal;padding:.5rem .65rem;border:1px solid rgba(45,89,134,.18);border-radius:12px;background:#f2f6fcf5;color:#143355;box-shadow:none;font-size:.92rem}.gocardless-available-list button:hover:not(:disabled){background:#e1ecf6fa}.gocardless-filter-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;border-radius:12px;background:#1220360a;color:#455365;width:100%}.gocardless-filter-row span{min-width:0;overflow-wrap:anywhere;font-size:.9rem;font-weight:600}.gocardless-save-status{display:block;font-size:.9rem;color:#52667a}.gocardless-pagination{display:flex;justify-content:flex-end}.gocardless-pagination button{padding:.55rem .8rem;border-radius:8px;border:1px solid #2d5986;background:#f2f6fc;color:#143355;cursor:pointer}.gocardless-pagination button:disabled{opacity:.6;cursor:not-allowed}.square-view{display:grid;gap:1rem}.square-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.15rem;border-radius:14px;background:linear-gradient(135deg,#102a43,#1a4a72);color:#f7fbff;box-shadow:0 12px 30px #102a4333}.square-hero h2,.square-hero p{margin:0}.square-hero p{color:#f7fbffd9}.square-kicker{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.square-hero__summary{display:grid;gap:.25rem;justify-items:end;text-align:right;font-size:.9rem;color:#f7fbffd1}.square-hero__summary strong{font-size:1.05rem;color:#fff}.square-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:1rem;align-items:start}.square-card{background:#fff;border-radius:14px;border:1px solid #e6edf5;box-shadow:0 2px 12px #102a4314;padding:1rem}.square-form{display:grid;gap:.9rem}.square-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.square-form-grid__full{grid-column:1 / -1}.square-form label{display:grid;gap:.35rem;font-weight:600;color:#334e68}.square-form input,.square-form select,.square-form textarea{padding:.6rem .7rem;border-radius:10px;border:1px solid #bcccdc;font:inherit;background:#fff;color:#102a43}.square-form textarea{resize:vertical}.square-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.square-submit{padding:.65rem 1rem;border:none;border-radius:10px;background:#0f609b;color:#fff;font:inherit;font-weight:700;cursor:pointer}.square-submit:disabled{opacity:.65;cursor:not-allowed}.square-help{color:#52667a;font-size:.92rem}.square-error{margin:0;color:#b42318;font-weight:600}.square-status{margin:0;color:#155724;font-weight:600}.square-link-block{margin:0;word-break:break-word;color:#334e68}.square-link-block a{color:#0f609b;text-decoration:none;font-weight:700}.square-summary-card h3{margin:0 0 .75rem}.square-summary-list{display:grid;gap:.65rem}.square-summary-list div{display:grid;gap:.15rem;padding:.55rem .65rem;border-radius:10px;border:1px solid #e6edf5;background:#f7fbff}.square-summary-list span{font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:#52667a}.square-summary-list strong{font-size:.98rem;color:#102a43}.square-empty{margin:0;color:#66788a;font-style:italic}.square-payments-card{min-width:0}.square-payments-toolbar{display:flex;align-items:end;gap:.75rem;margin-bottom:1rem}.square-payments-toolbar label{display:grid;gap:.35rem;min-width:220px;color:#334e68;font-weight:600}.square-payments-toolbar input,.square-payments-toolbar select{min-height:40px;padding:.55rem .7rem;border:1px solid #bcccdc;border-radius:9px;background:#fff;color:#102a43;font:inherit}.square-payments-toolbar button,.square-payments-pagination button{min-height:40px;padding:.55rem .85rem;border:1px solid #bcccdc;border-radius:9px;background:#f7fbff;color:#143355;font:inherit;font-weight:600;cursor:pointer}.square-payments-toolbar button:disabled,.square-payments-pagination button:disabled{opacity:.55;cursor:not-allowed}.square-payments-table-wrap{overflow-x:auto}.square-payments-table{width:100%;border-collapse:collapse;text-align:left}.square-payments-table th,.square-payments-table td{padding:.75rem .65rem;border-bottom:1px solid #e6edf5;vertical-align:middle}.square-payments-table th{background:#f7fbff;color:#52667a;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.square-payment-status{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.82rem;font-weight:700;text-transform:capitalize}.square-payment-status--completed{background:#e6f4ea;color:#176b35}.square-payment-status--pending{background:#fff4d6;color:#815b00}.square-payment-status--failed{background:#fde8e7;color:#a12b22}.square-payment-id{max-width:190px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;word-break:break-all}.square-empty-cell{padding:1.5rem!important;color:#66788a;text-align:center}.square-payments-pagination{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding-top:1rem;color:#52667a}.square-payments-pagination>div{display:flex;gap:.5rem}@media(max-width:960px){.square-layout,.square-form-grid{grid-template-columns:1fr}.square-hero{flex-direction:column}.square-hero__summary{justify-items:start;text-align:left}.square-form-grid__full{grid-column:auto}.square-payments-toolbar{align-items:stretch;flex-direction:column}.square-payments-toolbar label{min-width:0}}.testrecords-view{display:grid;gap:.9rem}.testrecords-filter{display:inline-grid;gap:.35rem;max-width:260px}.testreview-view{display:grid;gap:.9rem}.testreview-student-filter{display:grid;gap:.7rem;padding:.9rem;border-radius:10px;background:#fff;border:1px solid #e6edf5;box-shadow:0 2px 12px #102a430f}.testreview-student-filter__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.testreview-student-filter__header h3{margin:0}.testreview-student-filter__header p{margin:.2rem 0 0;color:#66788a;font-size:.9rem}.testreview-student-filter__actions button{padding:.45rem .7rem;border-radius:8px;border:1px solid #bcccdc;background:#f7fbff;font:inherit;cursor:pointer}.testreview-student-list{display:flex;flex-wrap:wrap;gap:.5rem}.testreview-student-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;border:1px solid #d9e2ec;background:#f7fbff;color:#102a43;font-size:.95rem;cursor:pointer;white-space:nowrap}.testreview-student-pill input{margin:0}.testreview-student-pill small{color:#66788a;font-size:.78rem}.testreview-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #102a4314;border:1px solid #e6edf5}.testreview-table th,.testreview-table td{padding:.75rem .8rem;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:top}.testreview-table th{background:#f7fbff;color:#334e68;font-size:.86rem;text-transform:uppercase;letter-spacing:.04em}.testreview-view{display:grid;gap:1rem;max-width:1200px;margin:0 auto;padding-bottom:.5rem}.testreview-view>h2{margin:0;font-size:1.7rem;letter-spacing:-.02em}.testreview-view>p{margin:0;color:#52667a;max-width:66ch;line-height:1.45}.testreview-student-filter{display:grid;gap:.9rem;padding:1rem;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #d9e2ec;box-shadow:0 8px 24px #102a430f}.testreview-student-filter__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.testreview-student-filter__header h3{margin:0;font-size:1rem;color:#102a43}.testreview-student-filter__header p{margin:.25rem 0 0;color:#627d98;font-size:.9rem}.testreview-student-filter__actions{display:flex;gap:.5rem;flex-wrap:wrap}.testreview-student-filter__actions button{padding:.5rem .8rem;border-radius:999px;border:1px solid #bcccdc;background:#fff;font:inherit;font-weight:700;cursor:pointer;color:#102a43}.testreview-student-filter__actions button:hover:not(:disabled){background:#eef6ff;border-color:#9fb3c8}.testreview-student-filter__actions button:disabled{opacity:.6;cursor:not-allowed}.testreview-student-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem}.testreview-student-pill{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;width:100%;padding:.85rem .95rem;border-radius:14px;border:1px solid #d9e2ec;background:#fff;color:#102a43;font-size:.95rem;cursor:pointer;box-shadow:0 1px 4px #102a430a;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background-color .15s ease}.testreview-student-pill:hover{transform:translateY(-1px);border-color:#9fb3c8;box-shadow:0 8px 16px #102a4314;background:#f8fbff}.testreview-student-pill input{margin:0;accent-color:#0f609b;width:1rem;height:1rem;flex:none}.testreview-student-pill span{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.testreview-student-pill small{color:#627d98;font-size:.78rem;font-weight:700;white-space:nowrap}.testreview-table-wrap{display:grid;gap:.75rem}.testreview-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #102a4314;border:1px solid #d9e2ec;font-size:.92rem}.testreview-table th,.testreview-table td{padding:.85rem .95rem;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:top;line-height:1.35}.testreview-table th{background:#f7fbff;color:#334e68;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}.testreview-table tbody tr:last-child td{border-bottom:none}.testreview-table td:nth-child(2),.testreview-table td:nth-child(3){color:#102a43}.testreview-table td:nth-child(4) .testrecords-tags{justify-content:flex-start}.testreview-empty-state{padding:.9rem 1rem;border-radius:12px;background:#f7fbff;border:1px dashed #cbd2d9;color:#627d98;font-style:italic}.testrecords-filter label{color:#334e68;font-weight:600}.testrecords-filter select{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff}.testrecords-actions{display:flex;align-items:center;gap:.5rem}.testrecords-promote-all-btn{padding:.55rem .8rem;border:none;border-radius:8px;font:inherit;font-weight:700;background:#0f609b;color:#fff;cursor:pointer}.testrecords-promote-all-btn:disabled{opacity:.6;cursor:not-allowed}.testrecords-student-groups{display:grid;gap:.75rem}.testrecords-student-card{background:#fff;border-radius:10px;padding:.85rem;box-shadow:0 2px 12px #102a4314;border:1px solid #e6edf5}.testrecords-student-header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.5rem}.testrecords-student-title{display:grid;gap:.2rem}.testrecords-student-actions{display:flex;align-items:center;gap:.5rem}.testrecords-student-header h3{margin:0}.testrecords-student-header span{color:#66788a;font-size:.9rem}.testrecords-promoted-chip{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;background:#e6fffa;color:#0f5132;font-size:.8rem;font-weight:700;white-space:nowrap}.testrecords-promote-btn{padding:.45rem .65rem;border:none;border-radius:8px;font:inherit;font-size:.85rem;font-weight:700;background:#198754;color:#fff;cursor:pointer;white-space:nowrap}.testrecords-promote-btn:disabled{opacity:.6;cursor:not-allowed}.testrecords-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.testrecords-item{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .65rem;border-radius:8px;background:#f7fbff;border:1px solid #e6edf5}.testrecords-main{display:grid;gap:.25rem}.testrecords-usernames{font-size:.85rem;color:#486581}.testrecords-tags{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.testrecords-item p{margin:0;line-height:1.35}.testrecords-tag{padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.testrecords-tag.major{background:#ffe3e3;color:#9b2c2c}.testrecords-tag.minor{background:#e3f2fd;color:#1e3a8a}.testrecords-empty{color:#66788a;font-style:italic;margin:0}.test-view{display:grid;gap:.9rem;color:#f8fafc}.test-view>p:not(.error),.test-view .test-empty{color:#d7e2ee}.test-form{display:flex;gap:.6rem;max-width:420px}.test-form input,.test-form button{padding:.6rem .7rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.test-form input{background:#fff;flex:1}.test-form button{background:#0f609b;color:#fff;border:none;cursor:pointer}.test-table{width:100%;border-collapse:collapse;background:#fff;color:#142133;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #102a4314}.test-table th,.test-table td{padding:.65rem .75rem;border-bottom:1px solid #e6edf5;text-align:left}.test-table thead th{background:#e7eef7;color:#142133;font-weight:600}.test-table tbody tr:last-child td{border-bottom:none}.test-delete-btn{padding:.35rem .55rem;border-radius:8px;border:1px solid #d64545;background:#fff1f1;color:#932727;cursor:pointer}.test-empty{color:#66788a;font-style:italic}.test-students-section{display:grid;gap:.65rem;padding:.8rem;border-radius:10px;border:1px solid #45627e;background:#17344f;box-shadow:0 8px 24px #0000002e}.test-students-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.test-students-header h3{margin:0}.test-students-header select{padding:.45rem .6rem;border-radius:8px;border:1px solid #9aafc4;font:inherit;background:#fff;color:#142133}.test-students-grid{display:flex;flex-wrap:wrap;gap:.45rem}.test-student-btn{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.42rem .65rem;border-radius:999px;border:1px solid #91a9c1;background:#f8fbff;color:#142133;cursor:pointer;font:inherit}.test-student-btn.assigned{background:#b8f0cd;border-color:#23834e;color:#124c2e;font-weight:600}.test-student-promoted-to{font-size:.78rem;font-weight:600;line-height:1.2;color:#14532d}.test-view button:focus-visible,.test-view input:focus-visible,.test-view select:focus-visible{outline:3px solid #f5c451;outline-offset:2px}.classes-view{display:grid;gap:.9rem}.classes-form{display:grid;grid-template-columns:1fr;gap:.55rem;max-width:860px;padding:.8rem;border-radius:10px;background:#fff;box-shadow:0 2px 12px #102a4314}.classes-range-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.classes-range-fields label{display:grid;min-width:0;gap:.3rem;color:#334e68;font-size:.85rem}.classes-range-fields input,.classes-range-fields select{width:100%;min-width:0}.classes-range-fields select,.classes-range-cell select{min-width:0;padding:.55rem .65rem;border:1px solid #bcccdc;border-radius:8px;background:#fff;font:inherit}.classes-range-cell{white-space:nowrap}.classes-range-cell input,.classes-range-cell select{width:5.5rem}.classes-range-cell span{margin:0 .3rem;color:#66788a}.classes-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;border-radius:20px;-webkit-overflow-scrolling:touch}.classes-table-wrap .classes-table{min-width:1120px;width:100%;table-layout:fixed}.classes-table-wrap .classes-table th:first-child,.classes-table-wrap .classes-table td:first-child{width:10rem}.classes-table-wrap .classes-table th:nth-child(2),.classes-table-wrap .classes-table td:nth-child(2){width:2.75rem}.classes-table-wrap .classes-table th:nth-child(3),.classes-table-wrap .classes-table td:nth-child(3),.classes-table-wrap .classes-table th:nth-child(4),.classes-table-wrap .classes-table td:nth-child(4){width:11rem}.classes-table-wrap .classes-table th:nth-child(5),.classes-table-wrap .classes-table td:nth-child(5){width:7rem}.classes-table-wrap .classes-table th:nth-child(6),.classes-table-wrap .classes-table td:nth-child(6),.classes-table-wrap .classes-table th:nth-child(7),.classes-table-wrap .classes-table td:nth-child(7){width:9rem}.classes-table-wrap .classes-table th:nth-child(8),.classes-table-wrap .classes-table td:nth-child(8){width:7rem}.classes-table-wrap .classes-table th:nth-child(9),.classes-table-wrap .classes-table td:nth-child(9){width:6rem}.classes-table-wrap .classes-table th:nth-child(10),.classes-table-wrap .classes-table td:nth-child(10){width:7rem}.classes-alternative-toggle{display:inline-flex;min-width:2.75rem;min-height:2.75rem;align-items:center;justify-content:center;cursor:pointer}.classes-alternative-toggle input[type=checkbox]{width:1.1rem;height:1.1rem}.classes-range-cell{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.35rem;white-space:normal}.classes-range-cell input,.classes-range-cell select{width:100%;min-width:0}.classes-range-cell span{margin:0;color:#66788a}@media(max-width:1100px)and (min-width:701px){.classes-range-cell{white-space:normal}.classes-range-cell input,.classes-range-cell select{width:4.5rem}}.classes-form input:not([type=checkbox]),.classes-form button,.classes-table input:not([type=checkbox]){padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.classes-schedule-toggle{display:inline-flex;gap:0;align-self:start;border-radius:12px;overflow:hidden;border:1px solid rgba(26,34,48,.16);background:#fff}.classes-schedule-toggle button{margin:0;border-radius:0;border:0;box-shadow:none;padding:.55rem .85rem;background:#e9eff6;color:#22364d;font-weight:600}.classes-schedule-toggle button+button{border-left:1px solid rgba(26,34,48,.14)}.classes-schedule-toggle button.active{background:#0f609b;color:#fff}.classes-day-option input[type=checkbox],.classes-stat-cell input[type=checkbox]{width:1rem;height:1rem;padding:0;margin:0;border-radius:4px;border:1px solid rgba(26,34,48,.3);box-shadow:none;accent-color:#0f609b}.classes-form button,.classes-actions button{background:#0f609b;color:#fff;border:none;cursor:pointer}.classes-days-picker{display:flex;flex-wrap:wrap;gap:.45rem .7rem;padding:.35rem 0}.classes-days-picker.compact{gap:.25rem .45rem}.classes-day-option{display:inline-flex;align-items:center;gap:.25rem;font-size:.9rem;color:#334e68}.classes-table{white-space:normal;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;width:4.5rem}.classes-table th,margin: 0; color: #66788a; border-bottom: 1px solid #e6edf5; text-align: left; vertical-align: top; background: #f2f6fc; .classes-range-cell{white-space:nowrap}border-bottom: none; .classes-range-cell input,.classes-range-cell select{width:5.5rem}} .classes-actions{display:flex;gap:.45rem}.classes-delete-btn{background:#fff1f1!important;color:#932727!important;border:1px solid #d64545!important}.classes-empty{color:#66788a;font-style:italic}.dashboard-view{display:grid;gap:1rem;padding:1rem;max-width:1400px;margin:0 auto}.dashboard-view h2{font-size:1.8rem;margin:0 0 .5rem;color:#0f3a66}.dashboard-grid{display:grid;gap:1.5rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.dashboard-stat-card{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #bbdefb;border-radius:12px;padding:1.2rem;text-align:center;box-shadow:0 2px 8px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.dashboard-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-number{font-size:2rem;font-weight:800;color:#0f3a66;margin-bottom:.3rem}.stat-label{font-size:.85rem;color:#556b7f;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.dashboard-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}.dashboard-card{background:#fff;border:1px solid #d4e0eb;border-radius:12px;padding:1.2rem;box-shadow:0 2px 8px #0000000f}.dashboard-card h3{font-size:1.1rem;margin:0 0 .8rem;color:#0f3a66;border-bottom:2px solid #ffd700;padding-bottom:.4rem}.dashboard-empty{color:#96a9b8;font-style:italic;margin:.5rem 0}.dashboard-class-list{display:grid;gap:.6rem}.dashboard-class-item{display:grid;grid-template-columns:70px 1fr;gap:.8rem;align-items:center;padding:.7rem;background:#f5f9fc;border-radius:8px;border-left:4px solid #2e5c8a}.class-time{font-weight:700;color:#0f609b;font-size:.95rem}.class-details{display:grid;gap:.15rem}.class-name{font-weight:600;color:#142133;font-size:.95rem}.dashboard-test-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.8rem}.dashboard-test-item{display:grid;gap:.3rem;align-items:center;justify-items:center;padding:.8rem;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #ffb74d;border-radius:8px;text-align:center}.test-date{font-weight:700;font-size:.9rem;color:#e65100}.test-label{font-size:.75rem;color:#bf360c;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.dashboard-birthday-list{display:grid;gap:.6rem}.dashboard-birthday-item{display:flex;align-items:center;gap:.6rem;padding:.7rem;background:linear-gradient(135deg,#fce4ec,#f8bbd0);border-radius:8px;border-left:4px solid #e91e63}.birthday-emoji{font-size:1.2rem}.birthday-name{font-weight:600;color:#880e4f;flex:1}.dashboard-leaderboard{display:grid;gap:.5rem}.dashboard-leaderboard-row{display:grid;grid-template-columns:30px 1fr 60px;gap:.8rem;align-items:center;padding:.7rem;background:#f5f9fc;border-radius:8px;border-left:3px solid #4caf50}.dashboard-leaderboard-row:nth-child(1){border-left-color:gold;background:linear-gradient(90deg,#fffbf0,#f5f9fc)}.dashboard-leaderboard-row:nth-child(2){border-left-color:silver;background:linear-gradient(90deg,#faf8f3,#f5f9fc)}.dashboard-leaderboard-row:nth-child(3){border-left-color:#cd7f32;background:linear-gradient(90deg,#f9f5f0,#f5f9fc)}.rank{font-weight:800;font-size:.95rem;color:#0f3a66;text-align:center}.student-name{font-weight:600;color:#142133;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minutes{font-weight:700;color:#4caf50;text-align:right;font-size:.9rem}.dashboard-error{background:#ffebee;border:1px solid #ef5350;border-radius:8px;padding:1rem;color:#c62828;font-weight:500}@media(max-width:768px){.dashboard-view{padding:.8rem;gap:.8rem}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:.8rem}.dashboard-main{grid-template-columns:1fr}.dashboard-test-list{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.retention-report-view{display:grid;gap:1rem;padding:1rem;max-width:1200px;margin:0 auto}.retention-report-view h2{font-size:1.8rem;margin:0 0 .2rem;color:#0f3a66}.retention-report-view>p{color:#556b7f;margin:0 0 1rem}.retention-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:.5rem}.retention-summary-stat{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #81c784;border-radius:12px;padding:1rem;text-align:center;box-shadow:0 2px 8px #0000000f}.retention-summary-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-value{font-size:2rem;font-weight:800;color:#1b5e20;margin-bottom:.3rem}.stat-label{font-size:.85rem;color:#2e7d32;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.retention-card{background:#fff;border:1px solid #d4e0eb;border-radius:12px;padding:1.2rem;box-shadow:0 2px 8px #0000000f}.retention-card h3{font-size:1.1rem;margin:0 0 1rem;color:#0f3a66;border-bottom:2px solid #ffd700;padding-bottom:.4rem}.retention-empty{color:#96a9b8;font-style:italic;margin:.5rem 0}.retention-error{background:#ffebee;border:1px solid #ef5350;border-radius:8px;padding:1rem;color:#c62828;font-weight:500}.class-popularity-view{display:grid;gap:1rem;padding:1rem;max-width:1280px;margin:0 auto;color:#f7fbff}.class-popularity-view h2{font-size:1.8rem;margin:0 0 .2rem;color:#fff}.class-popularity-view>p{color:#f7fbffe6;font-weight:500;margin:0 0 1rem}.class-popularity-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.class-popularity-summary-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;padding:1rem;text-align:center;box-shadow:0 2px 8px #0000000f}.class-popularity-summary-card .summary-value{color:#0a2747}.class-popularity-summary-card .summary-label{color:#163a5a}.class-popularity-overall-chart{display:grid;grid-template-columns:1fr;gap:.85rem;align-items:center;padding:1rem;background:linear-gradient(135deg,#f8fbff,#eef5fb);border:1px solid #dbe6f0;border-radius:12px;box-shadow:0 2px 8px #0000000f}.class-popularity-overall-chart-copy{display:grid;gap:.35rem;max-width:32rem}.class-popularity-overall-chart-copy strong{font-size:2rem;line-height:1;color:#0f3a66}.class-popularity-overall-chart-copy p{margin:0;color:#29465f;font-size:.9rem;line-height:1.45}.class-popularity-trend-chart{min-width:0;padding:.25rem .25rem 0;background:#fff;border:1px solid #dbe6f0;border-radius:10px;overflow:hidden}.class-popularity-trend-chart__svg{display:block;width:100%;height:300px;font-size:11px;color:#29465f}.class-popularity-trend-chart__grid{stroke:#dbe6f0;stroke-width:1}.class-popularity-trend-chart__grid--vertical{stroke-dasharray:3 3}.class-popularity-trend-chart__axis-label{fill:#29465f;font-size:11px;font-weight:600}.class-popularity-trend-chart__area{fill:#0f3a661f}.class-popularity-trend-chart__line{fill:none;stroke:#0f3a66;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.class-popularity-trend-chart__point{fill:#0f3a66;stroke:#fff;stroke-width:1}.summary-value{font-size:1.8rem;font-weight:800;color:#1d4ed8;margin-bottom:.3rem;word-break:break-word}.summary-label{font-size:.82rem;color:#1e3a8a;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.class-popularity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.class-popularity-card{background:#fff;border:1px solid #d4e0eb;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000f;display:grid;gap:.85rem}.class-popularity-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.class-popularity-card-header h3{margin:0;font-size:1.05rem;color:#0f3a66}.class-popularity-card-header p{margin:.25rem 0 0;color:#29465f;font-size:.9rem}.class-popularity-delta{padding:.3rem .6rem;border-radius:999px;font-weight:700;font-size:.85rem;white-space:nowrap}.class-popularity-delta.positive{background:#e8f5e9;color:#2e7d32}.class-popularity-delta.negative{background:#ffebee;color:#c62828}.class-popularity-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.class-popularity-metrics>div{background:#f7fbff;border:1px solid #e2ecf5;border-radius:8px;padding:.65rem;display:grid;gap:.2rem}.class-popularity-metrics span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#33506b}.class-popularity-metrics strong{font-size:1.15rem;color:#0f3a66}.class-popularity-chart-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .8rem;background:linear-gradient(135deg,#f8fbff,#eef5fb);border:1px solid #dbe6f0;border-radius:8px}.class-popularity-chart-note{font-size:.8rem;color:#29465f;white-space:nowrap}@media(max-width:760px){.class-popularity-overall-chart{grid-template-columns:1fr}.class-popularity-overall-chart svg{width:100%;max-width:100%}.class-popularity-trend-chart__svg{height:260px}}.class-popularity-empty{color:#5c7386;font-style:italic;margin:.5rem 0}.class-popularity-error{background:#ffebee;border:1px solid #ef5350;border-radius:8px;padding:1rem;color:#c62828;font-weight:500}.practice-sparkline{flex-shrink:0}.retention-trends-table{display:grid;gap:0;border:1px solid #d4e0eb;border-radius:8px;overflow:hidden}.retention-trends-header,.retention-trends-row{display:grid;grid-template-columns:110px repeat(4,1fr);gap:.5rem;padding:.8rem;align-items:center;border-bottom:1px solid #e8eef6}.retention-trends-header{background:#f5f9fc;font-weight:700;color:#0f3a66;font-size:.9rem;border-bottom:2px solid #0f609b}.retention-trends-row:last-child{border-bottom:none}.retention-trends-row:nth-child(2n){background:#fafbfd}.col-month{font-weight:600;color:#142133}.col-metric{text-align:center;font-weight:600;font-size:.95rem;padding:.4rem;border-radius:6px}.new-badge{background:#e8f5e9;color:#1b5e20}.active-badge{background:#e3f2fd;color:#0f3a66}.churn-badge{background:#ffebee;color:#c62828}.growth-badge{font-weight:800}.growth-badge.positive{background:#e8f5e9;color:#2e7d32}.growth-badge.negative{background:#ffebee;color:#d32f2f}.retention-atrisk-list{display:grid;gap:.8rem}.retention-atrisk-item{display:grid;gap:.4rem;padding:.8rem;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #ff6f00;border-radius:8px}.atrisk-student-name{font-weight:700;color:#e65100;font-size:.95rem}.atrisk-details{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.atrisk-badge,.atrisk-months{font-size:.8rem;font-weight:600;padding:.3rem .6rem;border-radius:6px;background:#ffffffb3;color:#bf360c}.atrisk-months{background:linear-gradient(90deg,#fff9,#ff6f001a)}@media(max-width:768px){.retention-report-view{padding:.8rem;gap:.8rem}.retention-summary{grid-template-columns:repeat(2,1fr)}.class-popularity-grid,.class-popularity-metrics{grid-template-columns:1fr}.class-popularity-chart-row{flex-direction:column;align-items:flex-start}.class-popularity-chart-note{white-space:normal}.retention-trends-header,.retention-trends-row{grid-template-columns:90px repeat(4,1fr);gap:.3rem;padding:.6rem;font-size:.85rem}.col-metric{font-size:.85rem;padding:.3rem}.atrisk-details{gap:.5rem}}.attendance-view{display:grid;gap:.9rem}.attendance-date-picker{display:inline-grid;gap:.3rem;max-width:280px}.attendance-date-picker span{font-weight:600;color:#334e68}.attendance-date-picker input{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff}.attendance-top-controls{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.attendance-rate-window{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.5rem 0}.attendance-rate-window label{font-weight:600;color:#334e68;font-size:.95rem}.attendance-window-btn{padding:.35rem .65rem;border-radius:6px;border:1px solid #2d5986;background:#f2f6fc;color:#2d5986;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .2s ease}.attendance-window-btn:hover{background:#dce9f5;transform:translateY(-1px)}.attendance-window-btn.active{background:#2d5986;color:#fff;box-shadow:0 2px 6px #2d59864d}.attendance-practice-toggle{white-space:nowrap}.attendance-classes{display:flex;flex-wrap:wrap;gap:.45rem}.attendance-class-btn{padding:.45rem .7rem;border-radius:8px;border:1px solid #2d5986;background:#f2f6fc;color:#143355;cursor:pointer;font:inherit}.attendance-class-btn.active{background:#0f609b;color:#fff;border-color:#0f609b}.attendance-students-sections{display:grid;gap:.85rem}.attendance-students-group{background:#fff;border:1px solid #e6edf5;border-radius:10px;padding:.8rem;box-shadow:0 2px 12px #102a4314;display:grid;gap:.55rem}.attendance-students-group h3{margin:0;font-size:1rem;color:#243b53}.attendance-students-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.attendance-recent-students-list{display:flex;flex-direction:column;gap:.15rem}.attendance-recent-students-divider{border-top:2px solid #9fb3c8;margin:.3rem 0}.attendance-recent-student-row{display:grid;grid-template-columns:4ch minmax(0,2fr) minmax(0,1.1fr);align-items:center;row-gap:.7rem;padding:0rem .25rem;border-radius:12px;border:1px solid #c7d6e5;box-shadow:0 1px #243b5308;color:#243b53;cursor:pointer}.attendance-recent-student-priority{grid-column:1;width:4ch;max-width:4ch;font-size:.88rem;font-weight:800;text-align:left;overflow:hidden;text-overflow:clip;white-space:nowrap}.attendance-recent-student-name{font-size:.95rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-student-name--upcoming-test{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.12em}.attendance-recent-student-practice{display:inline-block;margin-left:.35rem;font-size:.9em;text-decoration:none}.attendance-recent-student-stripes{display:inline-block;margin-left:.5rem;font-size:.84rem;font-weight:800;white-space:nowrap;opacity:.8}.attendance-recent-student-goal{font-size:.88rem;font-weight:600;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-student-row{position:relative;min-width:0;overflow:visible}.attendance-student-card{position:relative;min-width:0}.attendance-student-btn{position:relative;padding:.55rem .75rem;border-radius:10px;border:1px solid #bcccdc;background:#f8fbff;color:#243b53;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center;width:100%}.attendance-student-btn:focus-visible{outline:2px solid #0f609b;outline-offset:2px}.checkin-student-name-row{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;max-width:100%}.checkin-student-name-row .attendance-student-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkin-upcoming-event-icon{flex:0 0 auto;font-size:1.05em;line-height:1}.attendance-student-btn.present{background:#d9fbe5;border-color:#2f9e61;color:#1d5f3c}.attendance-student-stripes{position:absolute;right:-.35rem;top:-.35rem;min-width:2.6rem;min-height:1.35rem;display:inline-flex;align-items:center;justify-content:center;padding:.12rem .35rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;border:1px solid #c7d6e5;background:#fff;color:#334e68;cursor:pointer;font:inherit;font-size:.5rem;font-weight:700;line-height:1;z-index:2;white-space:nowrap}.attendance-student-stripes--priority-red{background:#fde2e2;border-color:#f5a3a3;color:#9b2226}.attendance-student-stripes--priority-orange{background:#fff0df;border-color:#f3c185;color:#a15c00}.attendance-student-stripes--priority-yellow{background:#fff7d6;border-color:#ead47a;color:#7a5f00}.attendance-student-stripes--priority-green{background:#e0f5df;border-color:#9ed39b;color:#2f6b2a}.attendance-student-stripes:focus-visible{outline:2px solid #0f609b;outline-offset:2px}.attendance-stripes-summary{margin:0;color:#334e68;font-size:.95rem}.attendance-stripes-top-row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem}.attendance-stripes-date-picker{display:flex;flex-direction:column;gap:.25rem;color:#243b53;font-size:.9rem;font-weight:700}.attendance-stripes-date-picker input{min-height:2.45rem;padding:.35rem .65rem;border:1px solid #bcccdc;border-radius:8px;background:#fff;color:#243b53;font:inherit}.attendance-stripes-test-controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin-top:.2rem}.attendance-stripes-test-label{display:flex;flex-direction:column;gap:.25rem;flex:1 1 240px;font-size:.9rem;font-weight:700;color:#243b53}.attendance-stripes-test-label select{min-height:2.45rem;padding:.35rem .65rem;border-radius:8px;border:1px solid #bcccdc;background:#fff;color:#243b53;font:inherit}.attendance-stripes-test-hint{font-size:.82rem;font-weight:600;color:#627d98}.attendance-stripes-controls{display:grid;grid-template-columns:auto minmax(3rem,1fr) auto;gap:.55rem;align-items:center;max-width:260px}.attendance-stripes-adjust-btn{min-width:2.4rem;padding:.45rem .7rem;border-radius:8px;border:1px solid #bcccdc;background:#f7fbff;color:#334e68;font:inherit;font-weight:700;cursor:pointer}.attendance-stripes-adjust-btn--increase{border-color:#2f9e61;background:#e3f9ea;color:#1d5f3c}.attendance-stripes-adjust-btn--decrease{border-color:#c53030;background:#fde8e8;color:#8a1f1f}.attendance-stripes-adjust-btn:disabled{opacity:.55;cursor:not-allowed}.attendance-stripes-count{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.25rem .75rem;border-radius:10px;border:1px solid #dbe7f3;background:#f8fbff;color:#102a43;font-size:1rem;font-weight:700}.attendance-stripes-actions{display:inline-flex;gap:.5rem;flex-wrap:wrap}.attendance-stripes-history-row{display:flex;justify-content:flex-start}.attendance-stripes-history-section{max-height:16rem;overflow-y:auto;border-top:1px solid #dbe7f3;padding-top:.5rem}.attendance-stripes-history-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.attendance-stripes-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.55rem .65rem;border:1px solid #dbe7f3;border-radius:9px;background:#f8fbff}.attendance-stripes-history-main{display:flex;flex-wrap:wrap;gap:.5rem;color:#243b53}.attendance-stripes-history-meta{color:#627d98;font-size:.88rem}.attendance-stripes-history-remove-btn{padding:.35rem .6rem;border:1px solid #e5a2a2;border-radius:7px;background:#fff5f5;color:#8a1f1f;font:inherit;cursor:pointer}@media(max-width:520px){.attendance-stripes-history-item{grid-template-columns:minmax(0,1fr) auto}.attendance-stripes-history-meta{grid-column:1}.attendance-stripes-history-remove-btn{grid-column:2;grid-row:1 / span 2}}.attendance-student-notes-badge{position:absolute;right:.45rem;top:.45rem;width:1.55rem;height:1.55rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;border:1px solid #c7d6e5;background:#fff;color:#334e68;box-shadow:0 8px 18px #0d223c1f;cursor:pointer;font:inherit;line-height:1;z-index:2}.attendance-student-notes-badge svg{width:.9rem;height:.9rem;flex:0 0 auto}.attendance-student-notes-age{position:absolute;right:-.35rem;bottom:-.35rem;min-width:1.2rem;height:1.2rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .18rem;border-radius:999px;border:1px solid #c7d6e5;background:#fff;color:#334e68;cursor:pointer;font:inherit;font-size:.55rem;font-weight:700;line-height:1;z-index:2;white-space:nowrap}.attendance-student-practice-age{position:absolute;left:-.35rem;bottom:-.35rem;min-width:1.2rem;height:1.2rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .18rem;border-radius:999px;border:1px solid #c7d6e5;background:#fff;color:#334e68;cursor:pointer;font:inherit;font-size:.55rem;font-weight:700;line-height:1;z-index:2;white-space:nowrap}.attendance-student-practice-age:focus-visible{outline:2px solid #0f609b;outline-offset:2px}.attendance-student-practice-age.active{border-color:#0f609b;background:#e8f3ff;color:#0f4470}.attendance-student-notes-age:focus-visible{outline:2px solid #0f609b;outline-offset:2px}.attendance-student-notes-age.active{border-color:#0f609b;background:#e8f3ff;color:#0f4470}.attendance-student-stat{font-size:.82rem;line-height:1.2}.attendance-streak{font-size:.9rem;font-weight:600;color:#ff6b6b;display:block;margin-top:.25rem;line-height:1.2}.checkin-perfect-attendance-badge{display:inline-flex;align-items:center;gap:.25rem;margin-top:.25rem;padding:.16rem .55rem;border-radius:999px;background:linear-gradient(135deg,#fff5c7,#d7f6dc);border:1px solid #8fcf9d;color:#14532d;font-size:.72rem;font-weight:800;line-height:1.2;text-align:left}.checkin-perfect-attendance-badge--hero{margin:0;justify-self:start;max-width:100%;text-wrap:balance}.checkin-perfect-attendance-summary{display:grid;gap:.3rem;padding:.75rem .9rem;border-radius:12px;border:1px solid #8fcf9d;background:linear-gradient(135deg,#f8ffe8,#e8fff0);color:#14532d;box-shadow:0 8px 18px #14532d14}.checkin-perfect-attendance-summary strong{font-size:.95rem;font-weight:800}.checkin-perfect-attendance-summary span{font-size:.9rem;line-height:1.35}.attendance-missing-section h3{margin:0;font-size:1rem;color:#243b53}.attendance-missing-desc{margin:0;color:#66788a}.attendance-missing-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.attendance-missing-item{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:.45rem .7rem;border-radius:8px;background:#fff8f0;border:1px solid #f6c89a;font-size:.85rem;color:#b25500}.attendance-missing-item-main{display:grid;gap:.15rem}.attendance-missing-name{font-weight:600;color:#243b53}.attendance-missing-days{white-space:nowrap}.attendance-missing-phone{color:#7a4a12}.attendance-missing-inactive-btn{border:1px solid #c99b63;background:#fffdf8;color:#7a4a12;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;cursor:pointer}.attendance-missing-inactive-btn:hover{background:#fff4e6}.attendance-notes-panel{gap:.65rem}.attendance-notes-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#0d1f2d9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.attendance-notes-modal{width:min(760px,100%);max-height:min(90vh,900px);overflow:auto;background:#fff;color:#102a43;border-radius:16px;border:1px solid #dbe7f3;box-shadow:0 20px 60px #0a162259;padding:1rem;display:grid;gap:.75rem;animation:attendanceModalIn .18s ease-out}@keyframes attendanceModalIn{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.attendance-notes-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.attendance-notes-close-btn{padding:.4rem .65rem;border-radius:8px;border:1px solid #bcccdc;background:#f7fbff;color:#334e68;font:inherit;cursor:pointer}.attendance-notes-date-picker{display:inline-grid;gap:.35rem;max-width:220px}.attendance-notes-date-picker span{font-size:.85rem;font-weight:600;color:#334e68}.attendance-notes-date-picker input{padding:.45rem .6rem;border-radius:8px;border:1px solid #bcccdc;background:#fff;color:#102a43;font:inherit}.attendance-notes-input{min-height:130px;padding:.6rem .7rem;border-radius:8px;border:1px solid #bcccdc;background:#fff;color:#102a43;font:inherit;resize:vertical;line-height:1.35}.attendance-notes-status{margin:0;font-size:.85rem;color:#486581}.attendance-notes-panel h4{margin:0;font-size:.95rem;color:#243b53}.attendance-notes-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.attendance-notes-item{padding:.5rem .65rem;border-radius:8px;background:#f7fbff;border:1px solid #e6edf5;color:#102a43;display:grid;gap:.25rem}.attendance-notes-item-date{font-size:.8rem;font-weight:700;color:#486581}.attendance-notes-item p{margin:0;white-space:pre-wrap;color:#102a43;line-height:1.35}.attendance-practice-item{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.attendance-practice-item p{margin:.25rem 0 0}.attendance-practice-actions{display:flex;align-items:center;gap:.4rem}.attendance-practice-header-actions{display:flex;align-items:center;gap:.45rem}.attendance-practice-add-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.55rem;align-items:end;padding:.6rem;border:1px solid #dbe7f3;border-radius:10px;background:#f8fbff}.attendance-practice-add-row label{display:inline-grid;gap:.2rem;font-size:.78rem;color:#334e68}.attendance-practice-add-row input,.attendance-practice-add-row select{width:100%;padding:.3rem .45rem;border:1px solid #bcccdc;border-radius:8px;font:inherit;background:#fff}.attendance-practice-edit-row label{display:inline-grid;gap:.2rem;font-size:.78rem;color:#334e68}.attendance-practice-edit-row input{width:6.5rem;padding:.3rem .45rem;border:1px solid #bcccdc;border-radius:8px;font:inherit}.attendance-practice-edit-btn,.attendance-practice-cancel-btn{padding:.35rem .55rem;border-radius:8px;border:1px solid #bcccdc;background:#f7fbff;color:#334e68;font:inherit;cursor:pointer;white-space:nowrap}.attendance-practice-edit-btn:disabled,.attendance-practice-cancel-btn:disabled{opacity:.7;cursor:not-allowed}.attendance-practice-delete-btn{padding:.35rem .55rem;border-radius:8px;border:1px solid #d9a3a3;background:#fff5f5;color:#9b2c2c;font:inherit;cursor:pointer;white-space:nowrap}.attendance-practice-delete-btn:disabled{opacity:.7;cursor:not-allowed}@media(max-width:840px){.attendance-practice-add-row{grid-template-columns:1fr;align-items:stretch}}.checkin-view{display:grid;gap:.5rem}.checkin-top-controls{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.checkin-top-done-btn{margin-top:.05rem;min-height:2.05rem}.checkin-help-text{margin:0;font-size:.9rem;color:#486581}.checkin-selected-class-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem}.checkin-selected-class-title{margin:0;text-align:center}.checkin-selected-class-back{padding:.45rem .75rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;cursor:pointer;background:#f7fbff;color:#243b53;font-weight:700}.checkin-selected-class-spacer{display:block;width:88px;height:1px}.checkin-nav{display:flex;justify-content:space-between;gap:.6rem;padding-top:.2rem}.checkin-nav button,.checkin-minutes-grid button,.checkin-done-btn{padding:.55rem .75rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;cursor:pointer;background:#f7fbff;color:#243b53}.checkin-nav button:last-child,.checkin-done-btn{background:#0f609b;color:#fff;border:none}.checkin-nav button:disabled{opacity:.6;cursor:not-allowed}.checkin-minutes-panel{gap:.8rem}.checkin-minutes-goal{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:.8rem;align-items:center;padding:.85rem .9rem;border-radius:16px;border:1px solid rgba(255,196,72,.22);background:linear-gradient(180deg,#ffffffb3,#fff6e1f2)}.checkin-stripe-congrats{position:relative;min-height:min(68vh,650px);align-content:center;justify-items:center;gap:.75rem;padding:clamp(1.25rem,4vw,3rem);border:2px solid #f6c453;border-radius:28px;background:radial-gradient(circle at 15% 12%,rgba(255,236,153,.75),transparent 28%),radial-gradient(circle at 88% 18%,rgba(253,186,116,.48),transparent 26%),linear-gradient(145deg,#fffdf4,#fff3cc 48%,#ffe8c2);box-shadow:0 24px 60px #78350f2e,inset 0 1px #fff;text-align:center;overflow:hidden}.checkin-stripe-confetti{color:#d97706;font-size:clamp(1.15rem,3vw,1.8rem);letter-spacing:.65rem;text-shadow:0 4px 18px rgba(217,119,6,.35)}.checkin-stripe-eyebrow,.checkin-stripe-next-label{margin:0;color:#a34c08;font-size:.78rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.checkin-stripe-congrats h2{margin:0;color:#713f12;font-size:clamp(1.8rem,5vw,3.5rem);font-weight:950;line-height:1.05;text-wrap:balance}.checkin-stripe-intro{margin:0;color:#694b2a;font-size:clamp(1rem,2.4vw,1.35rem);font-weight:650}.checkin-stripe-award-card{display:grid;justify-items:center;gap:.15rem;min-width:min(100%,280px);margin:.35rem 0;padding:1rem 2.25rem 1.15rem;border:1px solid rgba(255,255,255,.85);border-radius:24px;background:linear-gradient(155deg,#1f2937,#111827 70%);box-shadow:0 18px 36px #1e293b47,inset 0 1px #ffffff38;color:#fff}.checkin-stripe-award-label{color:#fcd34d;font-size:.72rem;font-weight:900;letter-spacing:.22em}.checkin-stripe-award-number{color:#fff7d6;font-size:clamp(4.5rem,12vw,7.5rem);font-weight:950;letter-spacing:-.08em;line-height:1;text-shadow:0 0 32px rgba(250,204,21,.45)}.checkin-stripe-award-belt{padding:.35rem .85rem;border-radius:999px;background:linear-gradient(90deg,#fde68a,#f59e0b,#fde68a);color:#422006;font-size:1rem;font-weight:900}.checkin-stripe-award-date{margin-top:.35rem;color:#cbd5e1;font-size:.85rem}.checkin-stripe-next-goal{width:min(100%,720px);padding:1rem 1.3rem;border:1px solid rgba(180,83,9,.18);border-radius:18px;background:#ffffffc2;box-shadow:0 10px 24px #78350f14}.checkin-stripe-next-goal h3{margin:.25rem 0 .35rem;color:#7c2d12;font-size:clamp(1.2rem,3vw,1.75rem);font-weight:900}.checkin-stripe-next-goal p{margin:0;color:#374151;font-size:clamp(.95rem,2vw,1.2rem);font-weight:650;line-height:1.45;text-wrap:balance}.checkin-stripe-next-hint{margin:0;color:#7c2d12;font-size:.9rem;font-weight:750}.checkin-goal-badge--compact{padding:.85rem;border-radius:16px}.checkin-goal-copy--compact{padding:0;gap:.35rem}.checkin-practice-question{margin:0;font-size:clamp(1.05rem,2.1vw,1.45rem);line-height:1.25;font-weight:800;color:#1f2937;text-align:center;text-wrap:balance}.checkin-goal-panel{gap:1rem;background:radial-gradient(circle at top left,rgba(255,214,102,.22),transparent 34%),linear-gradient(160deg,#fffdf6,#fff4de 48%,#fff8ea);border:2px solid #ffd36b;box-shadow:0 14px 36px #c73e1d24;position:relative;overflow:hidden}.checkin-goal-panel:before{content:"";position:absolute;inset:-22% auto auto -8%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#ffc75752,#ffc75700 68%);filter:blur(8px);pointer-events:none}.checkin-goal-hero{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:.9rem;align-items:stretch;position:relative;z-index:1}.checkin-goal-badge{display:grid;justify-items:center;align-content:center;gap:.3rem;padding:1rem;border-radius:18px;border:1px solid rgba(199,62,29,.2);background:linear-gradient(180deg,#ffffffd1,#fff4e0f5);box-shadow:inset 0 1px #ffffffd9,0 8px 20px #c73e1d14;text-align:center}.checkin-goal-badge-label{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#b45309}.checkin-goal-badge-value{font-size:clamp(3rem,7vw,4.8rem);line-height:.92;font-weight:900;letter-spacing:-.06em;color:#9a3412;text-shadow:0 0 22px rgba(255,199,87,.34)}.checkin-goal-badge-caption{font-size:.92rem;font-weight:700;color:#7c2d12;text-wrap:balance}.checkin-goal-copy{display:grid;gap:.55rem;padding:.35rem 0;position:relative;z-index:1}.checkin-goal-copy h3{margin:0;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:900;color:#7c2d12}.checkin-goal-text{margin:0;font-size:clamp(1.1rem,2.7vw,1.55rem);line-height:1.35;font-weight:800;color:#1f2937;text-wrap:balance}.checkin-goal-note{margin:0;font-size:.95rem;font-weight:600;line-height:1.45;color:#6b4a1d}.checkin-goal-art{position:relative;z-index:1;display:grid;place-items:center;min-height:180px;padding:.25rem 0 .1rem;border-radius:18px;background:linear-gradient(180deg,#ffffff94,#fff5dcd6);border:1px solid rgba(255,196,72,.22)}.checkin-goal-art-svg{width:100%;height:auto;max-height:220px;filter:drop-shadow(0 12px 26px rgba(255,153,0,.15))}@media(max-width:1024px){.checkin-minutes-goal{grid-template-columns:minmax(116px,150px) minmax(0,1fr);gap:.5rem;padding:.55rem .65rem;align-items:start}.checkin-goal-badge--compact{padding:.55rem .6rem;gap:.2rem}.checkin-goal-badge-label{font-size:.62rem;letter-spacing:.14em}.checkin-goal-badge-value{font-size:clamp(1.9rem,4.6vw,3rem);line-height:.95}.checkin-goal-badge-caption{font-size:.78rem;line-height:1.2}.checkin-goal-copy--compact{gap:.25rem}.checkin-goal-copy h3{font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.1}.checkin-goal-text{font-size:clamp(.9rem,1.6vw,1.1rem);line-height:1.2}.checkin-goal-note{font-size:.8rem;line-height:1.25}.checkin-practice-question{font-size:clamp(.92rem,1.8vw,1.2rem);line-height:1.15}.checkin-minutes-total{font-size:1.7rem;padding:.2rem .45rem}.checkin-minutes-grid{gap:.4rem}.checkin-nav{padding-top:.1rem}}@media(max-width:700px){.checkin-minutes-goal{grid-template-columns:1fr}.checkin-goal-badge--compact{width:100%}.checkin-practice-question{text-align:left}}.checkin-minutes-total{font-size:2rem;font-weight:800;color:#0f609b;text-align:center;padding:.3rem .6rem;border-radius:10px;background:#e8f3ff;border:1px solid #c5dcf5}.checkin-update-name-btn{justify-self:center;padding:.55rem .9rem;border-radius:999px;border:1px solid #bcccdc;background:#f7fbff;color:#243b53;font:inherit;font-weight:700;cursor:pointer}.checkin-update-name-btn:hover{background:#e8f3ff;border-color:#0f609b;color:#0f609b}.checkin-minutes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.checkin-minutes-btn.positive{background:#e8f8ed;border-color:#5dbb82;color:#17653f}.checkin-minutes-btn.negative{background:#ffecec;border-color:#e46a6a;color:#8b1f1f}.checkin-celebrate-panel{text-align:center;gap:.85rem;background:linear-gradient(135deg,#ffd7001f,#2ecc711f);border-color:gold;border:2px solid #ffd700;border-radius:14px;box-shadow:0 12px 32px #ffd70033;position:relative;z-index:1}.checkin-celebrate-done-btn{position:absolute;top:.9rem;right:.9rem;z-index:2}.checkin-celebrate-message{margin:0;font-size:1.05rem;font-weight:600;color:#1f2937}.checkin-practice-importance{margin:0;font-size:.95rem;line-height:1.4;color:#334e68}.checkin-streak-panel{display:grid;gap:1rem;padding:1rem;border-radius:18px;border:1px solid rgba(255,216,140,.2);background:radial-gradient(circle at top left,rgba(255,166,0,.24),transparent 36%),linear-gradient(160deg,#1a1030,#0f172a 54%,#08111f);box-shadow:0 18px 44px #02061757;position:relative;overflow:hidden;color:#f8fafc}.checkin-streak-panel:before{content:"";position:absolute;inset:-35% 45% auto -15%;height:180px;background:radial-gradient(circle,#ffffff2e,#fff0 70%);pointer-events:none;filter:blur(8px)}.checkin-streak-hero{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:.9rem;align-items:stretch;position:relative;z-index:1}.checkin-streak-meter{display:grid;justify-items:center;align-content:center;gap:.35rem;padding:1rem;border-radius:16px;background:linear-gradient(180deg,#ffffff29,#ffffff0f);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px #ffffff14}.checkin-streak-meter-label{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f8fafcb3}.checkin-streak-meter-value{font-size:clamp(3.2rem,8vw,5.2rem);line-height:.92;font-weight:900;letter-spacing:-.06em;color:#fff8ea;text-shadow:0 0 28px rgba(255,193,92,.5)}.checkin-streak-meter-caption{font-size:.95rem;font-weight:700;color:#f8fafcd6;text-align:center}.checkin-streak-copy{display:grid;gap:.55rem;padding:.2rem 0;position:relative;z-index:1}.checkin-streak-copy h4{margin:0;font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:900;letter-spacing:.01em;color:#fff}.checkin-streak-copy p{margin:0;font-size:.98rem;line-height:1.5;color:#f1f5f9e6}.checkin-streak-copy .checkin-perfect-attendance-badge{color:#14532d}.checkin-streak-progress{height:14px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.14);overflow:hidden}.checkin-streak-progress-bar{height:100%;border-radius:inherit;transition:width .32s ease;box-shadow:0 0 22px #ffffff29}.checkin-streak-copy-note{font-size:.88rem;font-weight:700;color:#e2e8f0bd}.checkin-flame-art-wrap{display:grid;align-items:center;justify-items:center;min-height:100%}.checkin-flame-art{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.75rem;width:100%;min-height:320px;padding:1rem;border-radius:22px;border:1px solid rgba(255,255,255,.22);overflow:hidden;position:relative}.checkin-flame-art:after{content:"";position:absolute;inset:auto 12% 14px 12%;height:34%;border-radius:50%;background:radial-gradient(circle,#ffffff38,#fff0 72%);filter:blur(14px);pointer-events:none}.checkin-flame-art-svg{width:100%;height:auto;max-height:250px;position:relative;z-index:1}.checkin-flame-art-caption{display:grid;gap:.25rem;justify-items:center;text-align:center;position:relative;z-index:1;padding-top:.15rem;background:#ffffff1f;border-radius:16px;border:1px solid rgba(255,255,255,.14);padding:.7rem .9rem}.checkin-flame-week{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.84}.checkin-flame-name{font-size:1.02rem;font-weight:900;line-height:1.1;text-wrap:balance}.checkin-flame-status{font-size:.78rem;font-weight:800;opacity:.84}.checkin-save-status{margin:0;padding:.4rem .7rem;border-radius:999px;background:#0f609b1f;border:1px solid rgba(15,96,155,.22);font-size:.9rem;font-weight:700;color:#0f609b}.checkin-save-status--inline{justify-self:center;padding-inline:.85rem}.checkin-rank-dual-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%}.checkin-multiclass-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;padding-top:.5rem}.checkin-check-another-btn{padding:.6rem .8rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;background:#f7fbff;color:#243b53;transition:all .2s cubic-bezier(.4,0,.2,1)}.checkin-check-another-btn:hover{background:#e8f3ff;border-color:#0f609b;color:#0f609b;transform:translateY(-2px);box-shadow:0 4px 12px #0f609b33}.checkin-show-all-btn{margin-top:.75rem;padding:.6rem .85rem;border-radius:8px;border:1px solid #0f609b;font:inherit;font-weight:700;cursor:pointer;background:#e8f3ff;color:#0f609b;transition:all .2s cubic-bezier(.4,0,.2,1)}.checkin-show-all-btn:hover{background:#d6eaff;transform:translateY(-1px);box-shadow:0 4px 12px #0f609b29}.checkin-new-student-card{margin-top:.75rem;padding:.9rem;border-radius:14px;border:1px solid #cbd5e1;background:linear-gradient(180deg,#f8fbff,#eef6ff);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.85rem;box-shadow:0 10px 24px #0f172a14}.checkin-new-student-option{display:flex;flex-direction:column;align-items:center;gap:.45rem}.checkin-new-student-option>.checkin-show-all-btn{margin-top:0}a.checkin-show-all-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.checkin-new-student-qr{display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center;color:#334e68;font-weight:600;max-width:17rem}.checkin-new-student-option>h4,.checkin-new-student-qr h4,.checkin-new-student-qr p{margin:0}.checkin-new-student-qr svg{display:block;padding:.45rem;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #0f172a14}@media(max-width:768px){.checkin-new-student-card{grid-template-columns:1fr}.checkin-kiosk-fullscreen .attendance-classes{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.checkin-kiosk-fullscreen .attendance-class-btn{min-height:64px;padding:.8rem 1rem;font-size:1rem}}@media(max-width:480px){.checkin-kiosk-fullscreen .attendance-classes{grid-template-columns:1fr;gap:.5rem}.checkin-kiosk-fullscreen .attendance-class-btn{min-height:60px;padding:.75rem .9rem;font-size:.95rem}.checkin-selected-class-row{grid-template-columns:auto minmax(0,1fr)}.checkin-selected-class-spacer{display:none}.checkin-kiosk-fullscreen .checkin-selected-class-back{min-height:42px;padding:.45rem .7rem;font-size:.88rem}.checkin-goal-hero{grid-template-columns:1fr}.checkin-goal-art{min-height:150px}}.checkin-rank-panel{display:grid;gap:.5rem;text-align:left;padding:.6rem;border-radius:12px;border:1px solid #d8e6f8;background:linear-gradient(160deg,#fff,#f7fbff);box-shadow:0 8px 20px #102a4314}.checkin-rank-panel.class-panel{border-color:#c73e1d;background:radial-gradient(circle at top right,#c73e1d2e,#fffffff7 48%),linear-gradient(160deg,#fff,#fff5f0);box-shadow:0 10px 28px #c73e1d26}.checkin-rank-panel.overall-panel{border-color:#2e5c8a;background:radial-gradient(circle at top right,#2e5c8a2e,#fffffff7 48%),linear-gradient(160deg,#fff,#f0f7ff);box-shadow:0 10px 28px #2e5c8a26}.checkin-rank-panel h4{margin:0;font-size:1rem;font-weight:900;letter-spacing:.02em;color:#102a43}.checkin-rank-text{margin:0;font-size:.95rem;font-weight:700;color:#243b53}.checkin-rank-chart{display:grid;gap:.45rem;max-height:260px;overflow:auto;padding:.55rem;border-radius:10px;background:#ffffffd1;border:1px solid #d7e7f8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.checkin-rank-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;padding:.25rem .35rem;border-radius:8px;background:#f3f9ffbf}.checkin-rank-row.selected{background:linear-gradient(90deg,#1091ff29,#7857ff2e);outline:1px solid #6ca9d9}.checkin-rank-row-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.checkin-rank-bar-track{width:100%;height:14px;border-radius:999px;background:#e7eef6;overflow:hidden}.checkin-rank-bar{height:100%;border-radius:999px;transition:width .25s ease}.checkin-rank-bar.class-bar{background:linear-gradient(90deg,#e74c3c,#c73e1d);box-shadow:0 0 8px #c73e1d66}.checkin-rank-bar.overall-bar{background:linear-gradient(90deg,#3498db,#2e5c8a);box-shadow:0 0 8px #2e5c8a66}.checkin-rank-bar.selected{filter:saturate(1.25) brightness(1.05)}.checkin-rank-label{font-size:.85rem;font-weight:800;color:#0f4470;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkin-rank-minutes{font-size:.8rem;font-weight:800;color:#334e68;white-space:nowrap}.checkin-auto-reset-note{margin:0;font-size:.9rem;color:#486581}.app-shell:has(.checkin-kiosk-fullscreen) .app-header{display:none}.app-shell:has(.checkin-kiosk-fullscreen) .app-main{max-width:100%;margin:0;padding:.9rem;min-height:100vh;min-height:100dvh}.checkin-kiosk-fullscreen{min-height:calc(100vh - 1.8rem);min-height:calc(100dvh - 1.8rem);padding:.75rem;display:grid;grid-template-rows:auto auto 1fr auto;gap:.9rem;background:linear-gradient(135deg,#0f1419,#1a2633,#1f3a52,#2a4a6a,#1a2633);border-radius:14px;border:2px solid #c73e1d;position:relative;overflow:hidden}.checkin-kiosk-fullscreen:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 15% 20%,rgba(199,62,29,.08) 0%,transparent 40%),radial-gradient(circle at 85% 80%,rgba(46,92,138,.08) 0%,transparent 40%);pointer-events:none}.checkin-kiosk-fullscreen h2{font-size:2.2rem;margin:0;line-height:1.05;color:gold;font-weight:900;letter-spacing:.05em;text-shadow:2px 2px 8px rgba(0,0,0,.5)}.checkin-date-info{margin:.25rem 0 0;font-size:.95rem;color:#e0e0e0;font-weight:600}.checkin-class-step{gap:.35rem}.checkin-class-step h3{margin-bottom:.15rem}.practice-view{display:grid;gap:1rem;padding:1rem;background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #d9e6f5;border-radius:12px}.practice-view h2{margin:0}.practice-view>p{margin:0;color:#486581}.practice-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.practice-controls label{display:grid;gap:.35rem;font-size:.9rem;color:#334e68;font-weight:600}.practice-controls select{border:1px solid #cbd8e6;border-radius:8px;padding:.55rem .65rem;font-size:.95rem;background:#fff;color:#102a43}.practice-summary{display:flex;gap:1rem;flex-wrap:wrap;padding:.65rem .75rem;border-radius:10px;background:#eef6ff;border:1px solid #d0e0f2}.practice-summary p{margin:0;font-weight:700;color:#243b53}.practice-ranking-list{display:grid;gap:.5rem;padding:.65rem;border-radius:10px;background:#fff;border:1px solid #d7e3f2;max-height:70vh;overflow:auto}.practice-ranking-row{display:grid;grid-template-columns:70px minmax(160px,260px) minmax(180px,1fr) 90px;gap:.65rem;align-items:center;padding:.35rem .45rem;border-radius:8px;background:#f9fcff;border:1px solid #e3edf9}.practice-rank{font-weight:800;color:#0f4c81}.practice-name{font-weight:600;color:#102a43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-bar-wrap{width:100%}.practice-bar-track{width:100%;height:14px;border-radius:999px;background:#e2ebf6;overflow:hidden}.practice-bar-fill{height:100%;background:linear-gradient(90deg,#0f609b,#2f8fca);border-radius:999px}.practice-minutes{font-weight:700;color:#1f3b57;text-align:right;white-space:nowrap}@media(max-width:960px){.practice-controls{grid-template-columns:1fr}.practice-ranking-row{grid-template-columns:56px minmax(0,1fr) 84px}.practice-bar-wrap{grid-column:1 / -1}.checkin-rank-dual-panels{grid-template-columns:1fr}}.checkin-kiosk-fullscreen>p{margin:0;font-size:1.1rem;font-weight:600;color:#334e68}.checkin-kiosk-fullscreen .attendance-students-group{padding:1.1rem;border-radius:14px;box-shadow:0 12px 32px #0000004d;gap:.8rem;background:linear-gradient(160deg,#fffffff2,#f0f8ffe6);border:1px solid rgba(199,62,29,.2);position:relative;z-index:1}.checkin-kiosk-fullscreen .attendance-students-group h3{font-size:1.3rem;line-height:1.25}.checkin-kiosk-fullscreen .checkin-selected-class-row{gap:.75rem}.checkin-kiosk-fullscreen .checkin-selected-class-back{min-height:48px;padding:.6rem .9rem;border-radius:10px;border:2px solid #2e5c8a;background:linear-gradient(135deg,#e8f4ff,#d7ecff);color:#1a3a52;font-size:.96rem;font-weight:800;box-shadow:0 4px 12px #2e5c8a26;transition:all .2s ease}.checkin-kiosk-fullscreen .checkin-selected-class-back:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2e5c8a40}.checkin-kiosk-fullscreen .checkin-selected-class-spacer{width:106px}.checkin-kiosk-fullscreen .attendance-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;width:100%}.checkin-kiosk-fullscreen .attendance-class-btn{min-height:72px;padding:1rem 1.25rem;font-size:1.1rem;font-weight:700;border-radius:14px;border:2px solid #2e5c8a;background:linear-gradient(135deg,#e8f4ff,#d7ecff);color:#1a3a52;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #2e5c8a26;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;white-space:normal;word-break:break-word}.checkin-kiosk-fullscreen .attendance-class-btn:hover:not(.active){transform:translateY(-3px) scale(1.02);box-shadow:0 12px 28px #2e5c8a66;background:linear-gradient(135deg,#d7ecff,#c5e1ff)}.checkin-kiosk-fullscreen .attendance-class-btn.active{background:linear-gradient(135deg,#2e5c8a,#1a3a52);color:gold;border-color:#c73e1d;box-shadow:0 8px 24px #2e5c8a99,inset 0 1px 3px #fff3;transform:scale(1.02)}.checkin-kiosk-fullscreen .attendance-students-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.checkin-kiosk-fullscreen .checkin-recent-attendees-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.checkin-kiosk-fullscreen .attendance-student-btn{min-height:74px;padding:.8rem;border-radius:12px;font-size:1.02rem;justify-content:center;border:2px solid #cbd5e3;background:linear-gradient(135deg,#fff,#f5f9ff);color:#1f3b57;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000014;cursor:pointer}.checkin-kiosk-fullscreen .attendance-student-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2e5c8a33;background:linear-gradient(135deg,#f0f7ff,#e8f3ff)}.checkin-kiosk-fullscreen .attendance-student-btn.present{background:linear-gradient(135deg,#2e5c8a,#1a3a52);color:gold;border-color:#1a3a52}.checkin-kiosk-fullscreen .attendance-student-btn.present:disabled{background:#d9fbe5;border-color:#2f9e61;color:#1d5f3c;opacity:1;cursor:not-allowed}.checkin-kiosk-fullscreen .attendance-student-name{font-size:1.1rem;line-height:1.2}.checkin-kiosk-fullscreen .checkin-minutes-total{font-size:2.4rem;padding:.55rem .75rem;border-radius:14px}.checkin-kiosk-fullscreen .checkin-minutes-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.checkin-kiosk-fullscreen .checkin-minutes-grid button{min-height:72px;font-size:1.02rem;font-weight:700;border-radius:12px;background:#fff;transition:all .2s ease;box-shadow:0 4px 12px #0000001a}.checkin-kiosk-fullscreen .checkin-minutes-btn.positive{background:linear-gradient(135deg,#2ecc71,#27ae60);border:2px solid #229954;color:#fff;font-weight:800;box-shadow:0 6px 16px #2ecc714d}.checkin-kiosk-fullscreen .checkin-minutes-btn.positive:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2ecc7180}.checkin-kiosk-fullscreen .checkin-minutes-btn.negative{background:linear-gradient(135deg,#e74c3c,#c0392b);border:2px solid #a93226;color:#fff;font-weight:800;box-shadow:0 6px 16px #e74c3c4d}.checkin-kiosk-fullscreen .checkin-minutes-btn.negative:hover{transform:translateY(-2px);box-shadow:0 8px 20px #e74c3c80}.checkin-kiosk-fullscreen .checkin-nav{padding-top:.3rem;gap:.8rem;position:sticky;bottom:0;background:linear-gradient(180deg,#f7fbff00,#f7fbff 36%);padding-bottom:.25rem}.checkin-kiosk-fullscreen .checkin-nav button,.checkin-kiosk-fullscreen .checkin-nav button[type=button]{min-height:auto;font-size:inherit;font-weight:600;border-radius:8px;padding:.55rem .75rem;transition:all .2s ease;box-shadow:none;background:#f7fbff;color:#243b53;border:1px solid #bcccdc}.checkin-kiosk-fullscreen .checkin-done-btn{min-height:68px;font-size:1.15rem;font-weight:800;border-radius:12px;padding:.75rem 1rem;transition:all .2s ease;box-shadow:0 6px 16px #0003}.checkin-kiosk-fullscreen .checkin-nav button:hover,.checkin-kiosk-fullscreen .checkin-nav button[type=button]:hover{transform:translateY(-1px);box-shadow:none;background:#e8f3ff;border-color:#0f609b;color:#0f609b}.checkin-kiosk-fullscreen .checkin-done-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.checkin-kiosk-fullscreen .checkin-done-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:2px solid #229954}.checkin-kiosk-fullscreen .checkin-nav button[type=button]{background:linear-gradient(135deg,#2e5c8a,#1a3a52);color:gold;border:2px solid #c73e1d}.checkin-kiosk-fullscreen .checkin-multiclass-buttons{display:flex;justify-content:center;gap:1rem;width:100%;margin-top:.75rem}.checkin-kiosk-fullscreen .checkin-check-another-btn{min-height:68px;font-size:1.1rem;font-weight:800;border-radius:12px;padding:.75rem 1rem;transition:all .2s ease;box-shadow:0 6px 16px #0003;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:2px solid #1f5f8f}.checkin-kiosk-fullscreen .checkin-check-another-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.checkin-kiosk-fullscreen .checkin-celebrate-message{font-size:1.35rem;line-height:1.35;color:#c73e1d;font-weight:900;letter-spacing:.02em}.checkin-kiosk-fullscreen .checkin-streak-panel{padding:1.1rem;gap:1rem}.checkin-kiosk-fullscreen .checkin-flame-art{min-height:360px}.checkin-kiosk-fullscreen .checkin-streak-meter-value{font-size:clamp(4rem,7vw,6rem)}@media(max-width:720px){.checkin-streak-hero{grid-template-columns:1fr}.checkin-streak-meter{justify-items:start;text-align:left}.checkin-streak-meter-caption{text-align:left}.checkin-flame-art{min-height:280px}}.checkin-kiosk-fullscreen .checkin-rank-dual-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;position:relative;z-index:1}.checkin-kiosk-fullscreen .checkin-rank-panel h4{font-size:1.15rem;letter-spacing:.05em}.checkin-kiosk-fullscreen .checkin-rank-text{font-size:1.02rem}.checkin-kiosk-fullscreen .checkin-rank-chart{max-height:300px}.app-main--full-on-display:has(.display-fullscreen){width:100%;max-width:100%;margin:0;padding:0;height:100vh;height:100dvh}.app-main--full-on-display:has(.students-view){width:100%;max-width:100%;margin:0;padding:1.1rem .85rem}.app-shell:has(.display-fullscreen){min-height:100vh;min-height:100dvh}.app-shell:has(.display-fullscreen) .app-header{display:none}.app-shell:has(.display-fullscreen) .app-main{width:100%;max-width:100%;margin:0;padding:0;height:100vh;height:100dvh}.display-fullscreen{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#0d1f2d;color:#f0f4f8;position:relative}.display-floating-nav{position:absolute;top:.75rem;right:.75rem;z-index:30}.display-floating-nav-toggle{padding:.45rem .8rem;border-radius:999px;border:1px solid #486581;background:#102a43eb;color:#d9e2ec;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.display-floating-nav-menu{margin-top:.45rem;min-width:170px;padding:.4rem;border-radius:10px;background:#0a1622f7;border:1px solid #243b53;box-shadow:0 10px 28px #00000059;display:grid;gap:.2rem}.display-floating-nav-link{padding:.45rem .55rem;border-radius:6px;text-decoration:none;color:#d9e2ec;font-size:.84rem}.display-floating-nav-link:hover{background:#1a2e42;color:#fff}.display-intro-sidebar{width:100%;background:#111e2b;border-bottom:1px solid #1e3448;display:flex;flex-direction:row;overflow-x:auto;z-index:10;padding:0;flex-shrink:0}.display-intro-sidebar-item{padding:.55rem 1.1rem;text-align:center;background:transparent;border:none;border-right:1px solid #1e3448;color:#8fa8c0;font:inherit;font-size:.88rem;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s;flex-shrink:0}.display-intro-sidebar-item:hover{background:#1a2e42;color:#e8edf2}.display-intro-sidebar-item.active{background:#1a3a5c;color:#90cdf4;font-weight:700;border-bottom:3px solid #90cdf4}.display-fullscreen-card{flex:1;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem 3rem;font-size:clamp(3rem,7.5vw,7.4rem);line-height:1.25;text-align:center;word-break:break-word}.display-belt{font-weight:700;color:#90cdf4;white-space:nowrap}.display-separator{color:#718096;font-weight:400}.display-text{white-space:pre-wrap}.display-markdown-content{flex:1;width:min(100%,1200px);min-height:0;margin:0 auto;padding:clamp(1.25rem,4vw,3.5rem);overflow:auto;font-size:clamp(1.2rem,2.5vw,2rem);line-height:1.55;text-align:left;overflow-wrap:anywhere}.display-markdown-content>:first-child{margin-top:0}.display-markdown-content>:last-child{margin-bottom:0}.display-markdown-content h1,.display-markdown-content h2,.display-markdown-content h3,.display-markdown-content h4{margin:.8em 0 .35em;color:#f6e05e;line-height:1.2}.display-markdown-content p,.display-markdown-content ul,.display-markdown-content ol,.display-markdown-content blockquote{margin:.65em 0}.display-markdown-content ul,.display-markdown-content ol{padding-left:1.5em}.display-markdown-content a{color:#90cdf4}.display-markdown-content img{max-width:100%;max-height:100%;object-fit:contain}.display-markdown-content pre{max-width:100%;padding:1em;border-radius:.5rem;background:#091722;overflow:auto}.display-markdown-content table{width:100%;table-layout:fixed;border-collapse:collapse;max-width:100%;word-break:break-word}.display-markdown-content th,.display-markdown-content td{border:1px solid #486581;padding:.35em .6em}.display-segments{flex:1;display:grid;overflow:hidden}.display-segment{flex:1;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 3rem;font-size:clamp(1.4rem,3vw,2.4rem);line-height:1.5;text-align:center;white-space:normal;background:var(--segment-bg, transparent);border:none;border-top:1px solid #1e3a4f;color:var(--segment-fg, #f0f4f8);cursor:pointer;width:100%;overflow:hidden;transition:filter .15s ease}.display-segment:first-child{border-top:none}.display-segment:hover{filter:brightness(.96)}.display-segment:active{filter:brightness(.9)}.display-segment-belt{font-weight:700;color:inherit;white-space:nowrap}.display-segment-sep{color:inherit;font-weight:400;white-space:pre}.display-start-slide{flex:1;display:flex;flex-direction:column;padding:.9rem 1rem .75rem;overflow:hidden}.display-start-title{margin:0;font-size:clamp(2rem,4.8vw,4rem);font-weight:800;letter-spacing:.02em;line-height:1.15;color:#f6e05e}.display-start-students-grid{flex:1;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:repeat(1,minmax(0,1fr));gap:.45rem;overflow:hidden;min-height:0}.display-start-student-card{display:flex;justify-content:center;align-items:center;gap:.3rem;border:1px solid #26445f;border-radius:8px;background:#133049;padding:.25rem .45rem;min-width:0;overflow:hidden}.display-start-student-name{line-height:1.1;text-align:center;font-weight:700;color:#f0f4f8;word-break:break-word;overflow-wrap:anywhere}.display-segment-technique{white-space:normal;word-break:normal;overflow-wrap:break-word}.display-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-top:1px solid #1e3a4f;background:#0b1924}.display-counter{color:#718096;font-size:.9rem}.display-index-form{display:inline-flex;align-items:center;gap:.5rem}.display-index-input{width:5.5rem;min-height:44px;padding:.45rem .6rem;border-radius:8px;border:1px solid #2d5986;background:#143355;color:#d9e2ec;font-size:1rem;text-align:center}.display-index-input:focus{outline:2px solid #63b3ed;outline-offset:1px}.display-test-select-wrap{display:inline-flex;align-items:center;gap:.45rem}.display-test-select{min-height:44px;padding:.45rem .6rem;border-radius:8px;border:1px solid #2d5986;background:#143355;color:#d9e2ec;font:inherit}.display-nav-btn{min-height:44px;padding:.6rem 1.2rem;border-radius:8px;border:1px solid #2d5986;background:#143355;color:#d9e2ec;cursor:pointer;font-size:1rem}.display-nav-btn:disabled{opacity:.35;cursor:not-allowed}.display-status{margin:3rem auto;color:#718096}.admin-view{display:grid;gap:.9rem}.admin-card{background:#fff;border:1px solid #e6edf5;border-radius:10px;padding:1rem 1.1rem;box-shadow:0 2px 12px #102a4314;display:grid;gap:.75rem;max-width:480px}.admin-card-header h3{margin:0 0 .25rem}.admin-card-header p{margin:0;color:#66788a;font-size:.9rem}.admin-export-btn{justify-self:start;padding:.6rem 1.1rem;border-radius:8px;border:none;background:#0f609b;color:#fff;font:inherit;cursor:pointer}.admin-import-btn{justify-self:start;padding:.6rem 1.1rem;border-radius:8px;border:none;background:#1f6f4f;color:#fff;font:inherit;cursor:pointer}.admin-export-btn:disabled{opacity:.6;cursor:not-allowed}.admin-import-btn:disabled{opacity:.6;cursor:not-allowed}.admin-file-input{font:inherit}.admin-success{color:#1d6f3e;margin:0}.display-student-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050f18b8;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20}.display-student-modal{width:min(720px,100%);max-height:85vh;overflow:auto;background:#2a2f36;border:1px solid #454b55;border-radius:14px;padding:1rem;box-shadow:0 20px 55px #00000073}.display-student-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.display-student-header h3{margin:0;font-size:1.1rem;color:#eceff3}.display-modal-close{padding:.4rem .65rem;border-radius:8px;border:1px solid #5b6370;background:#3a4049;color:#eceff3;cursor:pointer}.display-picked-requirement{margin:.6rem 0 .85rem;color:#eceff3;font-size:.95rem;line-height:1.35;word-break:break-word}.display-severity-toggle{display:inline-flex;gap:.45rem;margin-bottom:.9rem}.display-severity-btn{padding:.45rem .8rem;border-radius:999px;border:1px solid #636b78;background:#343941;color:#d2d8e1;cursor:pointer}.kick-setup{display:flex;flex-direction:column;align-items:center;padding:3rem 1rem;gap:2rem}.kick-setup-title{font-size:1.8rem;font-weight:700;margin:0}.kick-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;max-width:620px}.kick-preset-btn{padding:.55rem .65rem;border-radius:10px;border:1px solid #bcccdc;background:#f8fbff;color:#243b53;cursor:pointer;font:inherit;font-size:.92rem;font-weight:700;text-align:center}.kick-preset-btn:hover{background:#eaf3ff}.kick-preset-btn--high-white{background:#f7f8fa;border-color:#c6c9cf;color:#20252d}.kick-preset-btn--yellow{background:#ffec7a;border-color:#d8b843;color:#332600}.kick-preset-btn--orange{background:#ffb15c;border-color:#d17a1d;color:#3d2000}.kick-preset-btn--green{background:#7edca0;border-color:#2f8f53;color:#0e3d21}.kick-preset-btn--high-green{background:linear-gradient(to bottom,#7edca0,#7edca0 33.333%,#6ca8ff 33.333%,#6ca8ff 66.667%,#7edca0 66.667%,#7edca0);border-color:#25744a;color:#eafff2}.kick-preset-btn--blue{background:#6ca8ff;border-color:#2f6fca;color:#071a36}.kick-preset-btn--purple{background:#c197ff;border-color:#7f55be;color:#220a45}.kick-preset-btn--red{background:#f07a7a;border-color:#b84040;color:#3a0f0f}.kick-preset-btn--brown{background:#b7865f;border-color:#7e5536;color:#29170c}.kick-preset-btn--black{background:#1b1c1f;border-color:#4a4d54;color:#f3f5f8}.kick-setup-form{display:flex;flex-direction:column;gap:1.2rem;width:100%;max-width:320px}.kick-setup-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.kick-setup-row label{font-size:1.1rem;font-weight:600;min-width:80px}.kick-input{flex:1;padding:.6rem .8rem;text-align:center;border-radius:8px;border:1px solid #bcccdc;font:inherit;font-size:1.3rem;font-weight:700}.kick-btn{padding:.75rem 1.5rem;border-radius:10px;border:none;cursor:pointer;font:inherit;font-size:1.1rem;font-weight:700;transition:opacity .15s}.kick-btn:disabled{opacity:.45;cursor:not-allowed}.kick-btn--start{background:#1d6f3e;color:#fff;margin-top:.5rem}.kick-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(255,244,167,.18),transparent 35%),linear-gradient(180deg,#07080c,#121723 45%,#07080c);color:#f7fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;z-index:100;overflow:hidden;text-align:center;padding:2rem 1rem;box-shadow:inset 0 0 160px #ffffff14}@media(max-width:640px){.kick-presets{grid-template-columns:1fr}}.kick-fullscreen--done{background:radial-gradient(circle at top,rgba(126,220,160,.25),transparent 28%),linear-gradient(180deg,#07130b,#10311f 52%,#050a07)}.kick-fullscreen--minute{animation:kickScreenPulse 1.25s ease-in-out infinite}.kick-fullscreen--warning{animation:kickScreenFlash .7s ease-in-out infinite}.kick-fullscreen--countdown{animation:kickScreenFlash .45s steps(2,end) infinite}.kick-fullscreen--buzzer{animation:kickScreenBurst 2s ease-in-out infinite}.kick-fullscreen--celebration{animation:kickCelebrationPulse 1s ease-in-out infinite}.kick-fullscreen:before{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle at center,rgba(255,255,255,.12),transparent 42%),linear-gradient(130deg,rgba(255,204,102,.08),transparent 35%,rgba(255,59,48,.1));filter:blur(16px);opacity:.85;pointer-events:none;transform:scale(1.03)}.kick-fullscreen--celebration:before{background:radial-gradient(circle at 18% 24%,rgba(255,255,255,.85) 0 2px,transparent 3px),radial-gradient(circle at 22% 28%,rgba(255,208,102,.72) 0 3px,transparent 6px),radial-gradient(circle at 76% 22%,rgba(255,255,255,.8) 0 2px,transparent 3px),radial-gradient(circle at 80% 26%,rgba(255,77,109,.72) 0 3px,transparent 6px),radial-gradient(circle at 48% 18%,rgba(126,220,160,.65) 0 2px,transparent 5px),radial-gradient(circle at 52% 34%,rgba(255,141,0,.7) 0 3px,transparent 6px),linear-gradient(130deg,rgba(255,208,102,.14),transparent 35%,rgba(255,77,109,.14));filter:blur(10px);opacity:1;animation:kickFireworksDrift 1.15s ease-in-out infinite}.kick-fullscreen--celebration:after{content:"";position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;background:radial-gradient(circle at 15% 75%,rgba(255,208,102,.28) 0 2px,transparent 7px),radial-gradient(circle at 26% 68%,rgba(255,77,109,.35) 0 2px,transparent 8px),radial-gradient(circle at 72% 74%,rgba(126,220,160,.32) 0 2px,transparent 8px),radial-gradient(circle at 84% 66%,rgba(255,141,0,.34) 0 2px,transparent 8px),radial-gradient(circle at 50% 12%,rgba(255,255,255,.45) 0 2px,transparent 7px),radial-gradient(circle at 53% 54%,rgba(255,255,255,.18) 0 22px,transparent 24px);background-repeat:no-repeat;background-size:100% 100%;animation:kickFireworksBurst .85s ease-in-out infinite;pointer-events:none;opacity:.9;mix-blend-mode:screen}.kick-fullscreen>*{position:relative;z-index:1}.kick-time{font-size:clamp(5rem,26vw,20rem);font-weight:900;letter-spacing:.08em;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(255,255,255,.18),0 0 48px rgba(255,209,102,.18)}.kick-time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;text-align:center}.kick-time__status{font-size:clamp(.95rem,3vw,2rem);font-weight:900;letter-spacing:.22em;text-transform:uppercase;line-height:1;text-shadow:0 0 18px rgba(255,255,255,.18)}.kick-time__value{font-size:inherit;font-weight:inherit;line-height:1}.kick-target{font-size:clamp(3.2rem,16vw,12rem);font-weight:800;color:#7fffb0;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(79,220,138,.25)}.kick-progress-bar{width:90vw;max-width:1200px;height:20px;background:#ffffff1c;border-radius:999px;overflow:hidden;box-shadow:0 0 0 1px #ffffff1a,0 0 28px #4ade801f}.kick-progress-fill{height:100%;background:linear-gradient(90deg,#ffe066,#ff8a00 52%,#ff2d55);border-radius:999px;transition:width .1s linear;box-shadow:0 0 20px #ff8d008c}.kick-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.75rem 1.5rem;border-radius:24px;border:1px solid rgba(255,255,255,.16);background:#00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-transform:uppercase;box-shadow:0 0 45px #00000038;letter-spacing:.14em;transform:translateZ(0)}.kick-banner__primary{font-size:clamp(1.5rem,7vw,4.5rem);font-weight:900;line-height:1;text-shadow:0 0 20px rgba(255,255,255,.16)}.kick-banner__secondary{font-size:clamp(.75rem,2.5vw,1.6rem);font-weight:800;letter-spacing:.32em;color:#ffe29f}.kick-banner--idle{color:#f7fbff}.kick-banner--minute{color:#ffe29f;box-shadow:0 0 34px #ffe29f38}.kick-banner--warning{color:#ffd1a3;box-shadow:0 0 42px #ff8a0040}.kick-banner--countdown{color:#fff4f4;box-shadow:0 0 56px #ff2d5547}.kick-banner--paused{color:#cde8ff}.kick-banner--buzzer{color:#fff;box-shadow:0 0 70px #ff2d5552;animation:kickBuzzerPop .55s ease-in-out infinite}.kick-time--countdown{animation:kickTimePunch .8s ease-in-out infinite}.kick-time--warning{color:#ffd27a}.kick-time--countdown{color:#ffb3c1;text-shadow:0 0 18px rgba(255,77,109,.28),0 0 64px rgba(255,77,109,.24)}.kick-time--yellow{color:#ffe066}.kick-time--orange{color:#ff9f1a}.kick-time--red{color:#ff4d5d}.kick-time--celebration{color:#fff8dc;text-shadow:0 0 18px rgba(255,255,255,.28),0 0 60px rgba(255,208,102,.38);animation:kickCelebrationText .9s ease-in-out infinite}.kick-btn--done{background:#8a2be2;color:#fff}.kick-time--buzzer{color:#fff;text-shadow:0 0 28px rgba(255,255,255,.3),0 0 72px rgba(255,45,85,.35)}@keyframes kickScreenPulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.008);filter:brightness(1.14)}}@keyframes kickScreenFlash{0%,to{filter:brightness(1)}50%{filter:brightness(1.28) contrast(1.1)}}@keyframes kickScreenBurst{0%,to{filter:brightness(1.02) saturate(1.05)}50%{filter:brightness(1.35) saturate(1.22)}}@keyframes kickTimePunch{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes kickBuzzerPop{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes kickCelebrationPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.22)}}@keyframes kickFireworksBurst{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.03) rotate(1deg)}}@keyframes kickFireworksDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes kickCelebrationText{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.kick-controls{display:flex;gap:1.35rem;flex-wrap:wrap;justify-content:center}.kick-btn--pause{background:#7c5a00;color:#fff}.kick-btn--resume{background:#1d6f3e;color:#fff}.kick-btn--reset{background:#4a1a1a;color:#fff}.kick-paused-label{font-size:clamp(2rem,8vw,5rem);font-weight:700;color:#f6ad55;letter-spacing:.1em;text-transform:uppercase}.display-severity-btn.active{background:#3f78bd;border-color:#86c0f4;color:#fff}.display-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.display-student-btn{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .75rem;border-radius:10px;border:1px solid #565e6a;background:#353b44;color:#f3f5f8;cursor:pointer;text-align:left}.display-student-btn.has-record{border-color:#48bb78;background:#123a30;box-shadow:inset 0 0 0 1px #48bb7866}.display-student-btn.has-record-other{border-color:#d6b118;background:#45380f;box-shadow:inset 0 0 0 1px #f6e05e73}.display-student-btn.has-record-many{border-color:#9bd1ff;background:#23527a;box-shadow:inset 0 0 0 2px #9bd1ff8c}.display-student-belt{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-weight:700;font-size:.9rem;white-space:nowrap}.display-recorded-flag{padding:.2rem .55rem;border-radius:999px;background:#1f6f4f;color:#e6fffa;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.display-record-status{margin:.8rem 0 0;color:#9ae6b4;font-size:.9rem}@media(max-width:720px){.app-header{flex-direction:column;align-items:flex-start;gap:.6rem;padding:.75rem 1rem}.app-header-right{width:100%;justify-items:stretch}.app-header h1{margin:0;font-size:1.1rem}.app-header nav{flex-wrap:wrap;gap:.4rem .6rem;width:100%}.app-auth-area{justify-content:space-between;width:100%}.app-header nav a,.app-nav-dropdown-trigger{font-size:.85rem;padding:.25rem .5rem;border-radius:6px;background:#ffffff12}.app-main{padding:.85rem}.workspace-form,.builder-form{grid-template-columns:1fr}.icon-submit{width:100%;border-radius:10px}.belts-form{flex-direction:column;max-width:none}.students-form{grid-template-columns:1fr;max-width:none}.students-view{width:100%}.users-form{grid-template-columns:1fr;max-width:none}.email-controls,.wavier-signer-grid,.wavier-ack-builder-row{grid-template-columns:1fr}.students-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-form{flex-direction:column;max-width:none}.classes-form{max-width:none}.classes-range-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.classes-table-wrap{overflow:visible}.classes-table-wrap .classes-table{min-width:0;table-layout:auto}.classes-range-cell{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.classes-stats-controls,.classes-stats-summary{max-width:none}.attendance-date-picker{max-width:none;width:100%}.attendance-date-picker input{width:100%}.belts-table{display:block;overflow-x:auto}.students-table{display:block;width:100%;background:transparent;border:0;box-shadow:none;overflow:visible}.classes-table thead{display:none}.classes-table tbody{display:grid;gap:.75rem;width:100%}.classes-table tr{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;box-sizing:border-box;gap:.75rem;padding:.95rem;border-radius:18px;background:#fffffff5;border:1px solid rgba(26,34,48,.08);box-shadow:var(--ui-shadow-soft)}.classes-table td{width:100%;min-width:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(7rem,34%) minmax(0,1fr);gap:.45rem;align-items:start;padding:0;border:0}.classes-table-wrap .classes-table td:nth-child(n){width:100%}.classes-table td:before{content:attr(data-label);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7f95}.classes-table td>input,.classes-table td>select,.classes-range-cell input,.classes-range-cell select{width:100%}.classes-range-cell{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.classes-range-cell:before{grid-column:1 / -1}.classes-range-cell span{margin:0;text-align:center}.classes-table__cell--schedule{grid-template-columns:1fr}.classes-table__cell--schedule:before{margin-bottom:.1rem}.classes-table__cell--actions{grid-template-columns:1fr}.classes-table__cell--actions .classes-actions{display:flex;flex-wrap:wrap;gap:.5rem}.classes-table__cell--actions .classes-actions button{flex:1 1 8rem}.classes-table__cell--toggle{grid-template-columns:minmax(7rem,34%) minmax(0,1fr)}.classes-table__cell--toggle input[type=checkbox]{justify-self:start}.users-table,.test-table{display:block;overflow-x:auto}.testrecords-item{flex-direction:column;align-items:flex-start}.gocardless-header{flex-direction:column}.gocardless-table{display:block;overflow-x:auto}.student-attendance-panel{padding:.75rem}.student-attendance-item{flex-direction:column;gap:.2rem}.student-attendance-date{min-width:unset}.display-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"index index" "section date" "prev next";align-items:stretch;gap:.6rem;padding:.75rem 1rem}.display-nav-btn-prev{grid-area:prev;justify-self:start}.display-nav-btn-next{grid-area:next;justify-self:end}.display-index-form{grid-area:index;justify-content:flex-start;gap:.35rem}.display-test-select-wrap{grid-area:section;justify-content:flex-end;justify-self:start}.display-test-date-wrap{grid-area:date;justify-content:flex-end;justify-self:end}.display-index-input{width:4.25rem}.display-student-btn{flex-direction:column;align-items:flex-start}.display-student-list{grid-template-columns:repeat(1,minmax(0,1fr))}}@media(max-width:480px){.app-header nav a{font-size:.8rem}.app-main{padding:.65rem}.users-table th:nth-child(2),.users-table td:nth-child(2){display:none}.attendance-class-btn{flex:1 1 auto;text-align:center}.attendance-student-row{position:relative}.attendance-student-btn{flex:1 1 auto;align-items:flex-start;text-align:left}.attendance-recent-student-row{padding:.25rem;row-gap:.45rem}.attendance-recent-student-priority{font-size:.78rem}.attendance-recent-student-name{font-size:.85rem}.attendance-recent-student-stripes{margin-left:.35rem;font-size:.72rem}.attendance-recent-student-goal{font-size:.78rem}.attendance-student-notes-badge{right:.25rem;top:.25rem;width:1.45rem;height:1.45rem}.attendance-student-notes-age{right:-.3rem;bottom:-.3rem;min-width:1.1rem;height:1.1rem;font-size:.5rem}.attendance-student-practice-age{left:-.3rem;bottom:-.3rem;min-width:1.1rem;height:1.1rem;font-size:.5rem}.checkin-minutes-grid{grid-template-columns:1fr}.classes-form .classes-days-picker{gap:.35rem .5rem}.display-segment{padding:.75rem .8rem;line-height:1.3}.display-segment-sep{display:none}.display-footer{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"index index" "section date" "prev next"}.display-test-select-wrap,.display-index-form{justify-content:space-between}.display-nav-btn-prev{justify-self:start}.display-nav-btn-next{justify-self:end}.display-test-select{width:min(100%,240px)}.display-student-modal{padding:.85rem;max-height:92dvh}.display-student-header{align-items:flex-start;flex-direction:column}.display-severity-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%}}.birthdays-view{display:grid;gap:.9rem}.birthdays-year-picker{display:inline-grid;gap:.3rem;max-width:200px}.birthdays-year-picker span{font-weight:600;color:#334e68}.birthdays-year-picker select{padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff}.birthdays-empty{color:#627d98}.birthdays-months{display:grid;gap:.85rem}.birthdays-month{background:#fff;border:1px solid #e6edf5;border-radius:10px;padding:.8rem;box-shadow:0 2px 12px #102a4314;display:grid;gap:.55rem}.birthdays-month h3{margin:0;font-size:1rem;color:#243b53}.birthdays-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.birthdays-item{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(120px,1fr) auto;gap:.75rem;align-items:center;padding:.55rem .65rem;border-radius:8px;background:#f8fbff;border:1px solid #e6edf5}.birthdays-name{font-weight:600;color:#243b53}.birthdays-date{color:#486581}.birthdays-age{font-weight:600;color:#0f609b;white-space:nowrap}@media(max-width:640px){.birthdays-item{grid-template-columns:1fr;gap:.25rem}}.splits-view{max-width:1100px}.splits-stage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:1rem;align-items:start}.splits-video-wrap{position:relative;border-radius:12px;overflow:hidden;background:#0b1f33;border:1px solid #bcccdc;box-shadow:0 8px 24px #102a431f;aspect-ratio:16 / 9}.splits-video,.splits-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:none}.splits-video--mirrored,.splits-canvas--mirrored{transform:scaleX(-1)}.splits-canvas{pointer-events:none}.splits-panel{display:grid;gap:.85rem;background:#fff;border:1px solid #e6edf5;border-radius:12px;padding:1rem;box-shadow:0 2px 12px #102a4314}.splits-best-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.9fr);gap:.85rem;align-items:center;padding:.85rem;border:1px solid #e6edf5;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbff)}.splits-best-meta{display:grid;gap:.2rem}.splits-best-image-wrap{min-height:120px;border-radius:10px;overflow:hidden;background:#0b1f33;border:1px solid #bcccdc}.splits-best-image{display:block;width:100%;height:100%;min-height:120px;object-fit:cover}.splits-best-image-placeholder{display:grid;place-items:center;min-height:120px;padding:.75rem;text-align:center;color:#627d98;background:linear-gradient(135deg,#3974a11f,#0f609b0d)}.splits-camera-toggle{display:flex;flex-wrap:wrap;gap:.5rem}.splits-leg-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem}.splits-score-card{display:grid;gap:.2rem}.splits-score-label{font-size:.9rem;color:#486581}.splits-score-value{font-size:2.4rem;line-height:1;color:#0f609b}.splits-score-sublabel{font-size:1rem;font-weight:600;color:#243b53}.splits-meter{height:12px;border-radius:999px;background:#d9e2ec;overflow:hidden}.splits-meter-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#0f609b 55%,#7c3aed);transition:width .12s linear}.splits-meter-caption{margin:0;font-size:.9rem;color:#627d98}.splits-stats{margin:0;display:grid;gap:.55rem}.splits-debug{margin:0;display:grid;gap:.55rem;padding-top:.4rem;border-top:1px solid #e6edf5}.splits-stats div{display:flex;justify-content:space-between;gap:.75rem}.splits-stats dt{margin:0;color:#486581}.splits-stats dd{margin:0;font-weight:600;color:#243b53}.splits-actions{display:flex;flex-wrap:wrap;gap:.5rem}.splits-btn{padding:.55rem .85rem;border-radius:8px;border:1px solid #bcccdc;background:#f0f4f8;color:#243b53;font:inherit;cursor:pointer}.splits-btn--active{background:#d9e2ec;border-color:#829ab1;color:#102a43;box-shadow:inset 0 0 0 1px #102a4314}.splits-btn--start{background:#0f609b;border-color:#0f609b;color:#fff}.splits-btn--stop{background:#9b1c1c;border-color:#9b1c1c;color:#fff}.splits-status{margin:0;font-size:.9rem;color:#627d98}@media(max-width:900px){.splits-stage,.splits-best-card,.splits-leg-grid{grid-template-columns:1fr}}:root{color-scheme:light;--ui-bg: #f4efe6;--ui-bg-alt: #edf3fb;--ui-surface: rgba(255, 255, 255, .9);--ui-surface-strong: #ffffff;--ui-surface-soft: rgba(245, 241, 234, .92);--ui-text: #132033;--ui-text-soft: #5c6878;--ui-border: rgba(19, 32, 51, .12);--ui-primary: #2e5c8a;--ui-primary-strong: #173b63;--ui-accent: #c73e1d;--ui-accent-soft: #f0b63f;--ui-shadow: 0 28px 64px rgba(16, 27, 45, .1);--ui-shadow-soft: 0 16px 36px rgba(16, 27, 45, .08);--ui-focus: rgba(46, 92, 138, .22)}html{scroll-behavior:smooth}body{position:relative;isolation:isolate;font-family:Trebuchet MS,Segoe UI,sans-serif;line-height:1.5;color:var(--ui-text);background:radial-gradient(circle at top left,rgba(199,62,29,.1),transparent 34%),radial-gradient(circle at top right,rgba(46,92,138,.12),transparent 30%),linear-gradient(180deg,#faf7f1,#eef3f9 48%,#e8eef6)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.46) 1px,transparent 1px),radial-gradient(rgba(16,27,45,.02) 1px,transparent 1px);background-position:0 0,18px 18px;background-size:36px 36px;opacity:.45}.student-portal{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.student-portal-card{width:min(100%,560px);padding:clamp(32px,7vw,64px);border:1px solid rgba(255,255,255,.75);border-radius:28px;background:#ffffffd6;box-shadow:var(--ui-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.student-portal-card--dashboard{width:min(100%,1000px);padding:clamp(24px,5vw,52px)}.student-portal-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px;color:var(--ui-text);font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;font-size:clamp(20px,4vw,26px);font-weight:700;letter-spacing:-.03em}.student-portal-brand-mark{width:56px;height:56px;flex:0 0 auto;object-fit:contain}.student-portal-eyebrow{margin:0 0 10px;color:var(--ui-accent);font-size:12px;font-weight:800;letter-spacing:.16em}.student-portal-card h1{margin:0;color:var(--ui-text);font-size:clamp(30px,6vw,42px);letter-spacing:-.035em;line-height:1.12}.student-portal-description{margin:14px 0 30px;color:var(--ui-text-soft);font-size:16px}.student-portal-alternative-classes-note{margin:18px 0 24px;padding:16px 18px;border:1px solid var(--ui-border);border-left:4px solid var(--ui-accent);border-radius:12px;color:var(--ui-text-soft);background:#ffffffb3;line-height:1.55}.student-portal-alternative-classes-note a{color:var(--ui-primary-strong);font-weight:700}.student-portal-card form{display:grid;gap:12px}.student-portal-signin-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-portal-card label{font-size:14px;font-weight:700}.student-portal-card input{width:100%;min-height:54px;padding:0 16px;border:1px solid var(--ui-border);border-radius:14px;color:var(--ui-text);background:#fff;font:inherit}.student-portal-card input:focus{border-color:var(--ui-primary);outline:3px solid var(--ui-focus)}.student-portal-birthday{margin:4px 0 0;padding:14px;border:1px solid var(--ui-border);border-radius:14px}.student-portal-birthday legend{padding:0 6px;font-weight:700}.student-portal-birthday p{margin:0 0 10px;color:var(--ui-text-soft);font-size:13px}.student-portal-birthday>div{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.student-portal-birthday>div>div{display:grid;gap:5px}.student-portal-birthday select,.student-portal-review-select select{min-width:0;min-height:48px;padding:0 10px;border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-text);background:#fff;font:inherit}.student-portal-subpage{place-items:start center}.student-portal-back{display:inline-block;margin-bottom:20px;color:var(--ui-primary-strong);font-weight:700;text-decoration:none}.student-portal-back:hover{text-decoration:underline}.student-portal-history-table-wrap{overflow-x:auto;margin-top:24px}.student-portal-history-table{width:100%;border-collapse:collapse;text-align:left}.student-portal-history-table th,.student-portal-history-table td{padding:12px;border-bottom:1px solid var(--ui-border);vertical-align:top}.student-portal-history-table th{color:var(--ui-text-soft);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.student-portal-review-select{display:grid;max-width:420px;gap:8px;margin:22px 0}.student-portal-missed-list{display:grid;gap:10px;margin:22px 0 0;padding:0;list-style:none}.student-portal-missed-list li{padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:#ffffffc7}.student-portal-missed-list small{display:block;margin-top:5px;color:var(--ui-text-soft)}@media(max-width:560px){.student-portal-birthday>div{grid-template-columns:repeat(3,minmax(0,1fr))}.student-portal-history-table th,.student-portal-history-table td{padding:9px 7px;font-size:13px}}.student-portal-card button{min-height:52px;margin-top:4px;border:0;border-radius:14px;color:#fff;background:var(--ui-primary-strong);font:inherit;font-weight:700;cursor:pointer}.student-portal-card button:hover{background:var(--ui-primary)}.student-portal-card .student-portal-back-button{border:1px solid var(--ui-border);color:var(--ui-text);background:#fff}.student-portal-card .student-portal-back-button:hover{background:#f6f8fb}.student-portal-status{min-height:22px;margin:0;color:var(--ui-text-soft);font-size:13px}.student-portal-greeting{padding:18px 0}.student-portal-progress{margin-top:18px;padding:16px 18px;border:1px solid var(--ui-border);border-radius:16px;background:#ffffffb8}.student-portal-progress h2{margin:0 0 6px;font-size:17px}.student-portal-progress p{margin:0;color:var(--ui-text-soft)}.student-portal-progress ul{margin-bottom:0;padding-left:20px}.student-portal-welcome{position:relative;margin:-12px 0 26px}.student-portal-welcome-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-portal-welcome h1{font-size:clamp(2rem,5vw,3rem)}.student-portal-welcome>p:last-child,.student-portal-resources-heading>p{margin:10px 0 0;color:var(--ui-text-soft)}.student-portal-card-label{margin:0 0 8px;color:var(--ui-accent);font-size:10px;font-weight:800;letter-spacing:.14em}.student-portal-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-portal-card .student-portal-progress{min-width:0;margin:0;padding:20px;border-color:#122c4917;border-radius:18px;background:#ffffffd1;box-shadow:0 8px 22px #19304b0b}.student-portal-progress h2{color:var(--ui-text);font-size:17px;letter-spacing:-.02em}.student-portal-progress p{line-height:1.55}.student-portal-stripe{background:linear-gradient(135deg,#fffaeef5,#ffffffe0)!important}.student-portal-stripe h2 span{color:var(--ui-primary-strong)}.student-portal-streak{background:linear-gradient(135deg,#eff7fffa,#ffffffe0)!important}.student-portal-streak>p:last-child strong{color:var(--ui-primary-strong);font-size:2rem;letter-spacing:-.05em}.student-portal-card .student-portal-practice,.student-portal-card .student-portal-awards{grid-column:span 1}.student-portal-practice ul{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.student-portal-awards ul{padding-left:18px;color:var(--ui-text-soft);line-height:1.55}.student-portal-resources{margin-top:30px}.student-portal-resources-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.student-portal-resources-heading .student-portal-eyebrow{margin-bottom:5px}.student-portal-resources-heading h2{margin:0;color:var(--ui-text);font-size:clamp(1.1rem,3vw,1.4rem);letter-spacing:-.03em}.student-portal-resources-heading>p{margin:0 0 2px;font-size:13px}.student-portal-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-portal-payments{margin-top:24px;padding-top:22px;border-top:1px solid var(--ui-border)}.student-portal-payments h2{margin:0 0 12px;color:var(--ui-text);font-size:1.1rem;letter-spacing:-.03em}.student-portal-practice ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;max-height:180px;margin-top:12px;padding:0;overflow-y:auto;list-style:none}.student-portal-practice ul li{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:10px;background:#ffffffbf;color:var(--ui-text-soft);font-size:13px}.student-portal-practice ul li span,.student-portal-practice-total{font-weight:700;color:var(--ui-primary-strong)}.student-portal-card .student-portal-signout{width:100%;margin-top:12px;border:1px solid var(--ui-border);color:var(--ui-text);background:#fff}.dashboard-signins-view{padding:24px}.dashboard-signins-header h1{margin:0}.dashboard-signins-header>div>p:last-child{color:var(--ui-text-soft)}.dashboard-signins-table-wrap{overflow:auto;border:1px solid var(--ui-border);border-radius:14px;background:#fff}.dashboard-signins-table{width:100%;border-collapse:collapse;white-space:nowrap}.dashboard-signins-table th,.dashboard-signins-table td{padding:12px 14px;border-bottom:1px solid var(--ui-border);text-align:left}.dashboard-signins-table th{position:sticky;top:0;background:#f5f7fb}@media(max-width:720px){.dashboard-signins-view{padding:16px}.student-portal-card{padding:28px 22px}}.student-portal-action,.student-portal-back{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:14px 16px;border:1px solid rgba(18,44,73,.1);border-radius:15px;color:var(--ui-text);background:#ffffffdb;font-weight:700;text-decoration:none;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.student-portal-action:hover{transform:translateY(-2px);border-color:#124e7c4d;background:#fff;box-shadow:0 9px 20px #19304b17}.student-portal-action:focus-visible,.student-portal-card button:focus-visible,.student-portal-card input:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.student-portal-action>span:first-child{display:grid;gap:3px}.student-portal-action strong{font-size:14px}.student-portal-action small{color:var(--ui-text-soft);font-size:12px;font-weight:500}.student-portal-action .student-portal-action-arrow{margin-left:auto;padding-left:12px;color:var(--ui-accent);font-size:18px}.student-portal-study-guides-link{background:linear-gradient(135deg,#f0f8fffa,#fff)}.student-portal-study-guides-link:hover{filter:none}.student-portal-action--wide{grid-column:1 / -1}.student-portal-card .student-portal-signout{width:auto;min-height:40px;margin:0;padding:0 14px;border-radius:11px;color:var(--ui-text-soft);font-size:13px}.student-portal-card .student-portal-signout:hover{color:var(--ui-text);background:#f6f8fb}.student-test-payment-card form,.student-waiver-card form{margin-top:26px}.student-test-payment-card select,.student-tuition-payment-card select,.student-waiver-card select,.student-waiver-card input:not([type=checkbox]){width:100%;min-height:50px;padding:10px 14px;border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-text);background:#fff;font:inherit}.student-test-payment-card .student-portal-note,.student-tuition-payment-card .student-portal-note,.student-portal-error{color:var(--ui-text-soft)}.student-portal-error{color:#a12c20}.student-tuition-payment-card,.student-equipment-payment-card{width:min(100%,760px)}.student-event-portal{padding-top:clamp(20px,5vh,48px)}.student-event-payment-card,.student-event-registration-form{min-width:0}.student-event-select{width:100%;min-width:0;min-height:50px;padding:10px 40px 10px 14px;border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-text);background:#fff;font:inherit}.student-event-summary{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:18px 0}.student-event-summary>div{min-width:0}.student-event-summary>div strong,.student-event-summary>div span,.student-event-summary>p,.student-event-summary>span{min-width:0;overflow-wrap:anywhere}.student-event-summary-title{display:block;font-size:18px;line-height:1.3}.student-event-summary>p{margin:4px 0;color:var(--ui-text-soft);white-space:pre-line}.student-event-summary>span{font-weight:800}.student-event-payment-card .student-event-summary{grid-column:1 / -1;grid-template-columns:minmax(0,1fr);width:100%}.student-event-payment-card .student-event-summary>div,.student-event-payment-card .student-event-summary>p,.student-event-payment-card .student-event-summary>span{grid-column:1 / -1}.student-event-registration-form fieldset{display:grid;gap:10px}.student-event-registration-form #student-event-quantity{max-width:150px}.student-event-history-item>div{min-width:0}.student-event-history-item>div strong{overflow-wrap:anywhere}.student-equipment-list{margin-top:24px}.student-equipment-list fieldset{padding:0;border:0}.student-equipment-list legend{margin-bottom:12px;font-weight:800}.student-equipment-option{display:grid;grid-template-columns:minmax(0,1fr) 90px 88px;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--ui-border)}.student-equipment-option>div{display:grid;gap:4px}.student-equipment-option>div span,.student-equipment-option label{color:var(--ui-text-soft);font-size:14px}.student-equipment-option input{width:100%;min-height:44px;padding:8px;border:1px solid var(--ui-border);border-radius:10px;font:inherit}.student-equipment-checkout-total{display:flex;justify-content:space-between;margin:20px 0 14px;font-size:18px}.student-equipment-list>button{width:100%;min-height:50px;border:0;border-radius:12px;color:#fff;background:var(--ui-primary-strong);font:inherit;font-weight:800;cursor:pointer}.student-equipment-list>button:disabled{opacity:.55;cursor:not-allowed}.student-equipment-history{margin-top:32px;padding-top:22px;border-top:1px solid var(--ui-border)}.student-equipment-history h2{margin:0 0 14px;font-size:20px}.student-equipment-history ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.student-equipment-history li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--ui-border);border-radius:12px}.student-equipment-history li>div{display:grid;gap:5px}.student-equipment-history small{color:var(--ui-text-soft)}@media(max-width:560px){.student-event-portal{min-height:100dvh;padding:14px 12px 24px}.student-event-payment-card{padding:24px 18px;border-radius:20px}.student-event-payment-card h1{font-size:clamp(28px,8vw,36px)}.student-event-payment-card .student-portal-description{margin-bottom:22px;font-size:15px}.student-event-select{padding-right:34px;font-size:16px}.student-event-registration-form fieldset{gap:9px}.student-event-summary{gap:7px;padding:14px 0}.student-event-summary>p{font-size:14px;line-height:1.55}.student-event-registration-form #student-event-quantity{max-width:none}.student-event-history-item{align-items:flex-start;flex-direction:column;gap:10px;padding:13px}.student-event-history-item .student-tuition-payment-status{align-self:flex-start}.student-event-payment-card .student-portal-back:last-child{margin-top:4px;margin-bottom:0}}@media(max-width:520px){.student-equipment-option{grid-template-columns:minmax(0,1fr) 76px}.student-equipment-option .student-portal-card--dashboard{padding:28px 22px}.student-equipment-option .student-portal-resources-heading{align-items:flex-start;flex-direction:column;gap:4px}.student-portal-overview-grid,.student-portal-action-grid{grid-template-columns:1fr}.student-portal-card .student-portal-practice,.student-portal-card .student-portal-awards,.student-portal-action--wide{grid-column:auto}.student-portal-welcome{margin-top:-8px}.student-portal-card .student-portal-progress{padding:17px}@media(max-width:560px){.student-event-summary{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.student-portal-action{transition:none}.student-portal-action:hover{transform:none}}.student-equipment-option label{grid-column:1;grid-row:2}.student-equipment-option input{grid-column:2;grid-row:1 / span 2}}.student-tuition-count-field{display:grid;gap:8px;margin-top:24px}.student-tuition-count-field label,.student-tuition-plan-list legend{font-weight:800}.student-tuition-count-field .student-portal-note{margin:0}.student-tuition-plan-toggle{margin-top:20px;padding:10px 14px;border:1px solid var(--ui-primary);border-radius:10px;color:var(--ui-primary);background:#fff;font:inherit;font-weight:700;cursor:pointer}.student-tuition-plan-toggle:hover{background:var(--ui-focus)}.student-tuition-warning-dialog{width:min(100% - 32px,520px);max-width:520px;padding:0;border:1px solid var(--ui-border);border-radius:18px;color:var(--ui-text);background:#fff;box-shadow:0 24px 80px #121f3247}.student-tuition-warning-dialog::backdrop{background:#111d2e94;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.student-tuition-warning-dialog form{display:grid;gap:16px;padding:28px}.student-tuition-warning-dialog h2,.student-tuition-warning-dialog p{margin:0}.student-tuition-warning-dialog h2{font-size:22px}.student-tuition-warning-dialog p{line-height:1.6}.student-tuition-warning-dialog label{display:flex;align-items:flex-start;gap:10px;font-weight:700}.student-tuition-warning-dialog input[type=checkbox]{width:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0}.student-tuition-warning-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.student-tuition-warning-dialog-actions button{min-height:44px;padding:10px 16px;border:1px solid var(--ui-border);border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.student-tuition-warning-dialog-actions button[type=submit]{border-color:var(--ui-primary);color:#fff;background:var(--ui-primary)}.student-tuition-warning-dialog-actions button:disabled{opacity:.55;cursor:not-allowed}.student-tuition-plan-list{margin-top:24px}.student-tuition-plan-list fieldset{display:grid;gap:12px;min-width:0;margin:0;padding:0;border:0}.student-tuition-plan-list legend{margin-bottom:12px}.student-tuition-plan-option{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--ui-border);border-radius:16px;background:#fff;cursor:pointer}.student-tuition-plan-option.is-selected{border-color:var(--ui-primary);box-shadow:0 0 0 3px var(--ui-focus)}.student-tuition-plan-option input[type=radio]{width:20px;min-height:20px;flex:0 0 20px;margin:0;padding:0;border:0;border-radius:50%;background:transparent}.student-tuition-plan-copy,.student-tuition-plan-price,.student-tuition-history li>span:first-child{display:grid;gap:3px}.student-tuition-plan-copy>span,.student-tuition-plan-copy small,.student-tuition-plan-price small,.student-tuition-history li small{color:var(--ui-text-soft);font-size:13px;font-weight:400}.student-tuition-plan-copy .student-tuition-plan-recommended{color:var(--ui-primary);font-weight:700}.student-tuition-plan-price{margin-left:auto;text-align:right;white-space:nowrap}.student-tuition-history{margin-top:34px;padding-top:24px;border-top:1px solid var(--ui-border)}.student-tuition-history h2{margin:0 0 12px;font-size:20px}.student-tuition-history ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.student-tuition-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--ui-border);border-radius:12px;background:#ffffffc7}.student-tuition-payment-status{font-size:13px;font-weight:800}.student-tuition-payment-status.status-completed{color:#267348}.student-tuition-payment-status.status-pending{color:#8a5b00}.student-tuition-payment-status.status-failed{color:#a12c20}@media(max-width:540px){.student-tuition-plan-option{align-items:flex-start;padding:14px}.student-tuition-plan-price{font-size:14px}}.student-waiver-card form{display:grid;gap:16px}.student-waiver-card form>label:not(.student-waiver-check){display:grid;gap:7px;font-weight:700}.student-waiver-profile{min-width:0;padding:18px;border:1px solid var(--ui-border);border-radius:14px}.student-waiver-profile legend{padding:0 8px;font-size:1.1rem;font-weight:700}.student-waiver-profile>p{margin-top:0;color:var(--ui-text-soft)}.student-waiver-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-waiver-profile-grid label{display:grid;gap:7px;font-weight:700}.student-waiver-profile-grid input,.student-waiver-profile-grid textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-text);background:#fff;font:inherit}.student-waiver-profile-grid textarea{resize:vertical}.student-waiver-profile-full{grid-column:1 / -1}@media(max-width:560px){.student-waiver-profile-grid{grid-template-columns:minmax(0,1fr)}.student-waiver-profile-full{grid-column:auto}}.student-waiver-document{max-height:360px;overflow:auto;padding:20px;border:1px solid var(--ui-border);border-radius:14px;background:#ffffffb3}.student-waiver-acks{display:grid;gap:12px;padding:18px;border:1px solid var(--ui-border);border-radius:14px}.student-waiver-acks label,.student-waiver-check{display:flex;align-items:flex-start;gap:10px}.student-waiver-card input[type=checkbox]{margin-top:5px}.student-waiver-card .student-portal-back{margin-top:16px}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}button{border-radius:14px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}button:hover{transform:translateY(-1px)}:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ui-focus)}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:20;padding:.9rem 1rem;background:#0b1421c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 16px 32px #08111c1f}.app-header__inner{width:min(1480px,100%);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.app-brand{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;color:#fff}.app-brand__copy{display:grid;gap:.15rem}.app-brand__mark,.login-brand-mark{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.16))}.app-brand__name,.login-brand-panel h1,.dashboard-view h2,.retention-report-view h2,.class-popularity-view h2,.practice-view h2,.streaks-view h2,.users-view h2,.students-view h2,.classes-view h2,.test-view h2,.gocardless-view h2,.wavier-view h2,.email-view h2,.emailtemplate-view h2,.belts-view h2,.builder-view h2,.slides-view h2,.testrecords-view h2,.attendance-view h2,.checkin-view h2,.admin-view h2,.birthdays-view h2,.splits-view h2,.remindme-view h2{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;letter-spacing:-.03em}.app-brand__name{font-size:1.45rem;line-height:1;font-weight:700}.app-brand__tagline,.login-eyebrow,.page-eyebrow{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f0f6fcd1}.login-eyebrow,.page-eyebrow{color:var(--ui-accent)}.app-header__nav-area{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;flex:1 1 720px;flex-wrap:wrap}.app-mobile-menu-toggle{display:none}.app-nav{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;align-items:center}.app-nav-link,.app-nav-dropdown-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:999px;border:1px solid transparent;background:#ffffff0f;color:#f0f6fce6;font-weight:600;text-decoration:none;white-space:nowrap}.app-nav-link:hover,.app-nav-link--active,.app-nav-dropdown-trigger:hover,.app-nav-dropdown-trigger--active{background:#ffffff24;border-color:#ffffff29;color:#fff}.app-nav-dropdown{position:relative}.app-nav-dropdown-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit}.app-nav-dropdown-menu{min-width:13rem;padding:.45rem;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#0a121ef0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 22px 44px #040a1257}.app-nav-dropdown-menu a{padding:.65rem .8rem;border-radius:12px;color:#f0f6fce0}.app-nav-dropdown-menu a:hover,.app-nav-dropdown-menu a.active{background:#ffffff1f;color:#fff}.app-auth-area{display:inline-flex;align-items:center;gap:.7rem;padding:.3rem .35rem .3rem .85rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#f0f6fce6}.app-auth-area__label{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-logout-btn{padding:.5rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,#2e5c8a,#173b63);color:#f8fbff;box-shadow:0 10px 24px #173b632e}.app-main{width:min(1480px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 2.2rem}.app-shell--streaks-cast .app-main{width:100%;max-width:100%;margin:0;padding:0;height:100vh;height:100dvh}.app-shell--streaks-cast .app-header{display:none}.dashboard-view,.retention-report-view,.class-popularity-view,.practice-view,.dashboardclasses-view,.users-view,.students-view,.classes-view,.test-view,.gocardless-view,.email-view,.emailtemplate-view,.belts-view,.builder-view,.slides-view,.testrecords-view,.checkin-view,.admin-view,.birthdays-view,.splits-view,.streaks-view{position:relative;background:linear-gradient(180deg,#0b1f33,#102a43);color:#fff;min-height:100vh}.streaks-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:36px 36px;opacity:.28;pointer-events:none}.streaks-view:after{content:"";position:absolute;top:-40px;right:6%;width:210px;height:210px;border-radius:999px;filter:blur(22px);opacity:.7;pointer-events:none;background:#ffc4503d;animation:streaksFloat 16s ease-in-out infinite;will-change:transform}.dashboardclasses-view{position:relative;display:grid;grid-template-rows:auto auto auto 1fr;gap:.7rem;padding:.9rem 1rem 1rem;min-height:100vh;min-height:100dvh;overflow:hidden;border-radius:0;border:1px solid rgba(255,255,255,.22);background:radial-gradient(circle at top left,rgba(122,255,202,.22),transparent 34%),radial-gradient(circle at top right,rgba(255,185,86,.2),transparent 32%),linear-gradient(145deg,#07141d,#10263a 48%,#0f1720);color:#f7fbff;box-shadow:0 24px 60px #060f1f3d}.dashboardclasses-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:36px 36px;opacity:.24;pointer-events:none}.dashboardclasses-view:after{content:"";position:absolute;top:-40px;right:6%;width:210px;height:210px;border-radius:999px;filter:blur(22px);opacity:.7;pointer-events:none;background:#53ffad2e;animation:streaksFloat 16s ease-in-out infinite;will-change:transform}.dashboardassistant-view{position:relative;display:grid;grid-template-rows:auto auto auto 1fr;gap:.7rem;padding:.9rem 1rem 1rem;min-height:100vh;min-height:100dvh;overflow:hidden;border-radius:0;border:1px solid rgba(255,255,255,.22);background:radial-gradient(circle at top left,rgba(255,194,102,.24),transparent 34%),radial-gradient(circle at top right,rgba(156,111,255,.2),transparent 32%),linear-gradient(145deg,#0f1520,#24172f 48%,#121212);color:#f7fbff;box-shadow:0 24px 60px #060f1f3d}.dashboardassistant-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:36px 36px;opacity:.24;pointer-events:none}.dashboardassistant-view:after{content:"";position:absolute;top:-40px;right:6%;width:210px;height:210px;border-radius:999px;filter:blur(22px);opacity:.7;pointer-events:none;background:#ffc2662e;animation:streaksFloat 16s ease-in-out infinite;will-change:transform}.dashboardassistant-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(220px,.75fr);gap:.75rem;align-items:stretch;z-index:1}.dashboardassistant-hero__copy,.dashboardassistant-hero__stat,.dashboardassistant-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboardassistant-hero__copy{padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#081223b8}.dashboardassistant-hero__copy h2{margin:.1rem 0 .25rem;font-size:clamp(2rem,4vw,4.2rem);line-height:.95;letter-spacing:-.06em;text-transform:uppercase;text-wrap:balance}.dashboardassistant-hero__copy p{margin:0;max-width:58rem;color:#f0f6fccc;font-size:.95rem;line-height:1.5}.dashboardassistant-hero__stat{display:grid;align-content:center;justify-items:center;gap:.3rem;padding:.85rem;border-radius:16px;border:1px solid rgba(255,194,102,.16);background:linear-gradient(180deg,#ffc26621,#ffffff0f);text-align:center}.dashboardassistant-hero__stat-label{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f0f6fcb8}.dashboardassistant-hero__stat-value{font-size:clamp(3.2rem,9vw,6rem);line-height:.9;font-weight:900;letter-spacing:-.08em;color:#ffe7a6;text-shadow:0 0 24px rgba(255,199,77,.4)}.dashboardassistant-hero__stat-caption{font-size:.82rem;font-weight:700;color:#f0f6fcc2}.dashboardassistant-card__name,.dashboardassistant-card__days strong{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif}.dashboardprogression-view{position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:.7rem;padding:.9rem 1rem 1rem;min-height:100vh;min-height:100dvh;overflow:hidden;border-radius:0;border:1px solid rgba(255,255,255,.22);background:radial-gradient(circle at top left,rgba(110,220,255,.22),transparent 34%),radial-gradient(circle at top right,rgba(255,184,105,.18),transparent 32%),linear-gradient(145deg,#09131d,#1a2236 48%,#11151d);color:#f7fbff;box-shadow:0 24px 60px #060f1f3d}.dashboardprogression-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:36px 36px;opacity:.24;pointer-events:none}.dashboardprogression-view:after{content:"";position:absolute;top:-40px;right:6%;width:210px;height:210px;border-radius:999px;filter:blur(22px);opacity:.7;pointer-events:none;background:#6edcff2e;animation:streaksFloat 16s ease-in-out infinite;will-change:transform}.dashboardprogression-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(220px,.85fr);gap:.75rem;align-items:stretch;z-index:1}.dashboardprogression-hero__copy{padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#081223b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboardprogression-hero__copy p{margin:.2rem 0 0;max-width:58rem;color:#f0f6fccc;font-size:.95rem;line-height:1.5}.dashboardprogression-hero__copy h2{line-height:1.05}.dashboardprogression-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;align-content:start}.dashboardprogression-card{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(240px,.95fr);gap:.65rem;align-items:start;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--tv-card-border, rgba(255, 255, 255, .12));background:var(--tv-card-background, linear-gradient(135deg, rgba(12, 29, 46, .92), rgba(20, 22, 33, .72)));box-shadow:var(--tv-card-shadow, 0 12px 28px rgba(5, 12, 25, .24));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;content-visibility:auto;contain-intrinsic-size:auto 148px}.dashboardprogression-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 22px 44px #050c195c;border-color:#6edcff47}.dashboardprogression-card--rank-1{background:var(--tv-card-background, linear-gradient(135deg, rgba(0, 52, 84, .9), rgba(15, 25, 37, .95)))}.dashboardprogression-card--rank-2{background:var(--tv-card-background, linear-gradient(135deg, rgba(45, 56, 92, .88), rgba(15, 25, 37, .95)))}.dashboardprogression-card--rank-3{background:var(--tv-card-background, linear-gradient(135deg, rgba(72, 53, 20, .88), rgba(15, 25, 37, .95)))}.dashboardprogression-card__rank{display:grid;gap:.1rem;align-self:stretch;align-content:center;justify-items:center;padding:.12rem .2rem;min-width:0;border-radius:12px;background:var(--tv-card-rank-background, rgba(255, 255, 255, .08));text-align:center}.dashboardprogression-card__rank-label{font-size:.56rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .68))}.dashboardprogression-card__rank-value{font-size:clamp(1.2rem,3vw,2rem);line-height:1;font-weight:900;letter-spacing:-.08em;color:var(--tv-card-rank-text, #fff)}.dashboardprogression-card__name-wrap{display:grid;gap:.25rem;min-width:0}.dashboardprogression-card__name{line-height:1.08}.dashboardprogression-card__name.tv-dashboard-card__name{color:var(--tv-card-text, #102030)}.dashboardprogression-card__meta{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .58))}.dashboardprogression-card__gap{display:grid;justify-items:end;gap:.35rem;padding-left:.3rem;text-align:right;white-space:nowrap}.dashboardprogression-card__gap strong{font-size:clamp(1.4rem,3.2vw,2.4rem);line-height:1.02;letter-spacing:-.08em;color:var(--tv-card-value, #8ee7ff);text-shadow:0 0 18px color-mix(in srgb,var(--tv-card-value, #8ee7ff) 28%,transparent)}.dashboardprogression-card__gap span{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .74))}.dashboardprogression-card__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.5rem;min-width:0}.dashboardprogression-card__detail{display:grid;gap:.2rem;padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:color-mix(in srgb,var(--tv-card-rank-background, rgba(255, 255, 255, .08)) 72%,transparent);min-width:0}.dashboardprogression-card__detail strong{font-size:.92rem;line-height:1.2;letter-spacing:-.03em;color:var(--tv-card-text, #ffffff);text-wrap:balance;overflow-wrap:anywhere}.dashboardprogression-card__detail span{font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .72))}.dashboardprogression-loading,.dashboardprogression-error{position:relative;z-index:1}.dashboardprogression-loading{margin:0;padding:.6rem .85rem;border-radius:10px;background:#ffffff14;color:#f7fbffd1;font-weight:700}.dashboardassistant-loading,.dashboardassistant-error,.attendance-empty{position:relative;z-index:1}.dashboardassistant-loading{margin:0;padding:.6rem .85rem;border-radius:10px;background:#ffffff14;color:#f7fbffd1;font-weight:700}.dashboardassistant-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;align-content:start}.dashboardassistant-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--tv-card-border, rgba(255, 255, 255, .12));background:var(--tv-card-background, linear-gradient(135deg, rgba(32, 15, 46, .92), rgba(20, 22, 33, .72)));box-shadow:var(--tv-card-shadow, 0 12px 28px rgba(5, 12, 25, .24));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;content-visibility:auto;contain-intrinsic-size:auto 72px}.dashboardassistant-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 22px 44px #050c195c;border-color:#ffc26647}.dashboardassistant-card--rank-1{background:var(--tv-card-background, linear-gradient(135deg, rgba(90, 57, 0, .88), rgba(15, 25, 37, .95)))}.dashboardassistant-card--rank-2{background:var(--tv-card-background, linear-gradient(135deg, rgba(75, 35, 70, .8), rgba(15, 25, 37, .95)))}.dashboardassistant-card--rank-3{background:var(--tv-card-background, linear-gradient(135deg, rgba(95, 67, 15, .8), rgba(15, 25, 37, .95)))}.dashboardassistant-card__rank{display:grid;gap:.1rem;align-self:stretch;align-content:center;justify-items:center;padding:.12rem .2rem;min-width:0;border-radius:12px;background:var(--tv-card-rank-background, rgba(255, 255, 255, .08));text-align:center}.dashboardassistant-card__rank-label{font-size:.56rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .68))}.dashboardassistant-card__rank-value{font-size:clamp(1.2rem,3vw,2rem);line-height:1;font-weight:900;letter-spacing:-.08em;color:var(--tv-card-rank-text, #fff)}.dashboardassistant-card__name-wrap{display:grid;gap:.25rem;min-width:0}.dashboardassistant-card__name{font-size:clamp(1.15rem,2vw,2rem);line-height:.96;letter-spacing:-.05em;text-wrap:balance;color:var(--tv-card-text, #ffffff)}.tv-dashboard-hero__copy{padding:.7rem .9rem}.tv-dashboard-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start}.tv-dashboard-hero__copy h2{margin:0;font-size:clamp(1.75rem,3.4vw,3.4rem);line-height:.92}.tv-dashboard-hero__copy p{margin:.2rem 0 0;font-size:.88rem;line-height:1.35}.tv-dashboard-card__name{font-size:clamp(1.35rem,2.7vw,2.45rem);line-height:.92}.dashboardassistant-card__meta{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .58))}.dashboardassistant-card__days{display:grid;justify-items:end;gap:.15rem;padding-left:.3rem;text-align:right;white-space:nowrap}.dashboardassistant-card__days strong{font-size:clamp(1.4rem,3.2vw,2.4rem);line-height:.9;letter-spacing:-.08em;color:var(--tv-card-value, #ffd28a);text-shadow:0 0 18px color-mix(in srgb,var(--tv-card-value, #ffd28a) 28%,transparent)}.dashboardassistant-card__days span{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .74))}.dashboardassistant-card__bar-track{width:min(16rem,100%);height:.45rem;border-radius:999px;background:color-mix(in srgb,var(--tv-card-text, #ffffff) 12%,transparent);overflow:hidden}.dashboardassistant-card__bar-fill{height:100%;border-radius:999px;background:var(--tv-card-bar-fill, linear-gradient(90deg, #ffb347 0%, #ffe08a 100%))}.tvsettings-view{display:grid;gap:1rem;padding:1rem;background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #d9e6f5;border-radius:12px}.tvsettings-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.tvsettings-header h2{margin:.1rem 0 .35rem;font-size:clamp(2rem,4vw,3.2rem);line-height:.98}.tvsettings-header .page-description{margin:0;color:#486581}.tvsettings-header__badge{padding:.65rem .9rem;border-radius:999px;background:#0f609b;color:#fff;font-weight:800;white-space:nowrap}.tvsettings-time-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 1rem;border-radius:14px;border:1px solid #d7e3f2;background:linear-gradient(135deg,#eef6ff,#fff)}.tvsettings-time-card__label{margin:0;font-weight:800;color:#102a43}.tvsettings-time-card__hint{margin:.2rem 0 0;color:#52667a;font-size:.9rem}.tvsettings-time-card__controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tvsettings-time-card__controls input{width:9rem;padding:.65rem .75rem;border-radius:10px;border:1px solid #bcccdc;font:inherit;font-size:1rem;font-weight:700;color:#102a43}.tvsettings-time-card__button{padding:.7rem 1rem;border:0;border-radius:10px;background:linear-gradient(135deg,#0f609b,#173b63);color:#fff;font:inherit;font-weight:800;cursor:pointer}.tvsettings-time-card__button:disabled{opacity:.7;cursor:not-allowed}.tvsettings-list{display:grid;gap:.65rem}.tvsettings-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.95rem 1rem;border-radius:14px;border:1px solid #d7e3f2;background:#fff;box-shadow:0 2px 8px #0000000d;cursor:pointer}.tvsettings-item--selected{border-color:#0f609b;background:linear-gradient(135deg,#eef6ff,#fff)}.tvsettings-item input{width:1.15rem;height:1.15rem;accent-color:#0f609b}.tvsettings-item__copy{display:grid;gap:.15rem;min-width:0}.tvsettings-item__label{font-weight:800;color:#102a43}.tvsettings-item__route,.tvsettings-item__state{font-size:.85rem;color:#52667a}.tvsettings-item__state{font-weight:700;white-space:nowrap}@media(max-width:720px){.tvsettings-time-card{flex-direction:column;align-items:stretch}.tvsettings-item{grid-template-columns:auto minmax(0,1fr)}.tvsettings-item__state{grid-column:1 / -1;justify-self:start}}.tv-view{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at top left,rgba(78,173,255,.25),transparent 32%),radial-gradient(circle at top right,rgba(255,196,80,.22),transparent 28%),linear-gradient(145deg,#050b16,#0f1d2e 42%,#04070d);color:#f7fbff}.tv-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:36px 36px;opacity:.22;pointer-events:none}.tv-view__overlay{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 1rem 0;pointer-events:none}.tv-view__brand{max-width:min(56vw,52rem);padding:.9rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#07101fad;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tv-view__eyebrow{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f0f6fcb8}.tv-view__brand h2{margin:.2rem 0 0;font-size:clamp(2rem,4.5vw,4.8rem);line-height:.92;letter-spacing:-.06em;text-transform:uppercase}.tv-view__meta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.tv-view__pill{padding:.75rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#07101fc2;font-weight:800;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tv-view__frame-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;padding:.8rem}.tv-view__slide-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;will-change:transform;overflow:hidden}.tv-view--photo .tv-view__frame-shell{padding:0}.tv-view__frame{width:100%;height:100%;border:0;border-radius:22px;background:#000;box-shadow:0 32px 70px #00000073}.tv-view__photo-shell{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.tv-view__photo{width:100%;height:100%;object-fit:cover;display:block;background:#000}.tv-view__photo-caption{position:absolute;left:50%;bottom:1rem;z-index:2;transform:translate(-50%);padding:.65rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#07101fc2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-weight:800;text-align:center}.tv-view__status-card{display:grid;place-items:center;align-content:center;gap:.35rem;min-height:100%;padding:2rem;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:#07101fb8;text-align:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tv-view__status-card h2{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:-.05em;text-transform:uppercase}.tv-view__status-card p{margin:0;max-width:48rem;color:#f0f6fcc7;font-size:1rem;line-height:1.5}.tv-view__status-card--error{border-color:#ff7b7b73;background:#380c14b8}@media(max-width:720px){.tv-view__overlay{flex-direction:column}.tv-view__brand{max-width:100%}.tv-view__frame-shell{padding-top:8.2rem}}@media(max-width:1100px){.dashboardassistant-hero,.dashboardassistant-summary,.dashboardassistant-board,.dashboardprogression-hero,.dashboardprogression-board{grid-template-columns:1fr}.dashboardassistant-card{grid-template-columns:72px minmax(0,1fr) auto}.dashboardprogression-card{grid-template-columns:72px minmax(0,1fr)}.dashboardprogression-card__gap{justify-items:end;text-align:right;padding-left:.3rem}.dashboardprogression-card__details{grid-column:1 / -1}.dashboardassistant-card__days{justify-items:end;text-align:right;padding-left:.3rem}}@media(max-width:720px){.dashboardassistant-view{padding:.7rem;border-radius:0}.dashboardassistant-hero__copy h2{font-size:clamp(2rem,12vw,3.4rem)}.dashboardassistant-card,.dashboardprogression-card{grid-template-columns:1fr}.dashboardassistant-card__rank,.dashboardprogression-card__rank{justify-items:start}.dashboardassistant-card__days,.dashboardprogression-card__gap{justify-items:start;text-align:left;padding-left:0}.dashboardprogression-card__details{grid-template-columns:1fr}.dashboardassistant-card__bar-track{width:100%}}.dashboardpractice-view{position:relative;display:grid;grid-template-rows:auto auto auto 1fr;gap:.7rem;padding:.9rem 1rem 1rem;min-height:100vh;min-height:100dvh;overflow:hidden;border-radius:0;border:1px solid rgba(255,255,255,.22);background:radial-gradient(circle at top left,rgba(255,171,87,.24),transparent 34%),radial-gradient(circle at top right,rgba(255,231,125,.2),transparent 32%),linear-gradient(145deg,#120f1f,#241634 48%,#161616);color:#f7fbff;box-shadow:0 24px 60px #060f1f3d}.dashboardpractice-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:36px 36px;opacity:.24;pointer-events:none}.dashboardpractice-view:after{content:"";position:absolute;top:-40px;right:6%;width:210px;height:210px;border-radius:999px;filter:blur(22px);opacity:.7;pointer-events:none;background:#ffb1572e;animation:streaksFloat 16s ease-in-out infinite;will-change:transform}.dashboardpractice-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(220px,.75fr);gap:.75rem;align-items:stretch;z-index:1}.dashboardpractice-hero__copy,.dashboardpractice-hero__stat,.dashboardpractice-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboardpractice-hero__copy{padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#081223b8}.dashboardpractice-hero__copy h2{margin:.1rem 0 .25rem;font-size:clamp(2rem,4vw,4.2rem);line-height:.95;letter-spacing:-.06em;text-transform:uppercase;text-wrap:balance}.dashboardpractice-hero__copy p{margin:0;max-width:58rem;color:#f0f6fccc;font-size:.95rem;line-height:1.5}.dashboardpractice-hero__stat{display:grid;align-content:center;justify-items:center;gap:.3rem;padding:.85rem;border-radius:16px;border:1px solid rgba(255,199,77,.16);background:linear-gradient(180deg,#ffc74d21,#ffffff0f);text-align:center}.dashboardpractice-hero__stat-label{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f0f6fcb8}.dashboardpractice-hero__stat-value{font-size:clamp(3.2rem,9vw,6rem);line-height:.9;font-weight:900;letter-spacing:-.08em;color:#ffe7a6;text-shadow:0 0 24px rgba(255,199,77,.4)}.dashboardpractice-hero__stat-caption{font-size:.82rem;font-weight:700;color:#f0f6fcc2}.dashboardpractice-card__name,.dashboardpractice-card__minutes strong{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif}.dashboardpractice-loading,.dashboardpractice-error,.attendance-empty{position:relative;z-index:1}.dashboardpractice-loading{margin:0;padding:.6rem .85rem;border-radius:10px;background:#ffffff14;color:#f7fbffd1;font-weight:700}.dashboardpractice-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;align-content:start}.dashboardpractice-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--tv-card-border, rgba(255, 255, 255, .12));background:var(--tv-card-background, linear-gradient(135deg, rgba(32, 15, 46, .92), rgba(20, 22, 33, .72)));box-shadow:var(--tv-card-shadow, 0 12px 28px rgba(5, 12, 25, .24));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;content-visibility:auto;contain-intrinsic-size:auto 72px}.dashboardpractice-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 22px 44px #050c195c;border-color:#ffc74d47}.dashboardpractice-card--rank-1{background:var(--tv-card-background, linear-gradient(135deg, rgba(90, 57, 0, .88), rgba(15, 25, 37, .95)))}.dashboardpractice-card--rank-2{background:var(--tv-card-background, linear-gradient(135deg, rgba(75, 35, 70, .8), rgba(15, 25, 37, .95)))}.dashboardpractice-card--rank-3{background:var(--tv-card-background, linear-gradient(135deg, rgba(95, 67, 15, .8), rgba(15, 25, 37, .95)))}.dashboardpractice-card__rank{display:grid;gap:.1rem;align-self:stretch;align-content:center;justify-items:center;padding:.12rem .2rem;min-width:0;border-radius:12px;background:var(--tv-card-rank-background, rgba(255, 255, 255, .08));text-align:center}.dashboardpractice-card__rank-label{font-size:.56rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .68))}.dashboardpractice-card__rank-value{font-size:clamp(1.2rem,3vw,2rem);line-height:1;font-weight:900;letter-spacing:-.08em;color:var(--tv-card-rank-text, #fff)}.dashboardpractice-card__name-wrap{display:grid;gap:.25rem;min-width:0}.dashboardpractice-card__name{font-size:clamp(1.15rem,2vw,2rem);line-height:.96;letter-spacing:-.05em;text-wrap:balance;color:var(--tv-card-text, #ffffff)}.dashboardpractice-card__meta{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .58))}.dashboardpractice-card__minutes{display:grid;justify-items:end;gap:.15rem;padding-left:.3rem;text-align:right;white-space:nowrap}.dashboardpractice-card__minutes strong{font-size:clamp(1.4rem,3.2vw,2.4rem);line-height:.9;letter-spacing:-.08em;color:var(--tv-card-value, #ffd28a);text-shadow:0 0 18px color-mix(in srgb,var(--tv-card-value, #ffd28a) 28%,transparent)}.dashboardpractice-card__minutes span{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .74))}.dashboardpractice-card__bar-track{width:min(16rem,100%);height:.45rem;border-radius:999px;background:color-mix(in srgb,var(--tv-card-text, #ffffff) 12%,transparent);overflow:hidden}.dashboardpractice-card__bar-fill{height:100%;border-radius:999px;background:var(--tv-card-bar-fill, linear-gradient(90deg, #ffb347 0%, #ffe08a 100%))}@media(max-width:1100px){.dashboardpractice-hero,.dashboardpractice-summary,.dashboardpractice-board{grid-template-columns:1fr}.dashboardpractice-card{grid-template-columns:72px minmax(0,1fr) auto}.dashboardpractice-card__minutes{justify-items:end;text-align:right;padding-left:.3rem}}@media(max-width:720px){.dashboardpractice-view{padding:.7rem;border-radius:0}.dashboardpractice-hero__copy h2{font-size:clamp(2rem,12vw,3.4rem)}.dashboardpractice-card{grid-template-columns:1fr}.dashboardpractice-card__rank{justify-items:start}.dashboardpractice-card__minutes{justify-items:start;text-align:left;padding-left:0}.dashboardpractice-card__bar-track{width:100%}}.dashboardclasses-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(220px,.75fr);gap:.75rem;align-items:stretch;z-index:1}.dashboardclasses-hero__copy,.dashboardclasses-hero__stat,.dashboardclasses-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboardclasses-hero__copy{padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#081223b8}.dashboardclasses-hero__copy h2{margin:.1rem 0 .25rem;font-size:clamp(2rem,4vw,4.2rem);line-height:.95;letter-spacing:-.06em;text-transform:uppercase;text-wrap:balance}.dashboardclasses-hero__copy p{margin:0;max-width:58rem;color:#f0f6fccc;font-size:.95rem;line-height:1.5}.dashboardclasses-hero__stat{display:grid;align-content:center;justify-items:center;gap:.3rem;padding:.85rem;border-radius:16px;border:1px solid rgba(122,255,202,.16);background:linear-gradient(180deg,#7affca21,#ffffff0f);text-align:center}.dashboardclasses-hero__stat-label{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f0f6fcb8}.dashboardclasses-hero__stat-value{font-size:clamp(3.2rem,9vw,6rem);line-height:.9;font-weight:900;letter-spacing:-.08em;color:#c8ffee;text-shadow:0 0 24px rgba(90,255,200,.4)}.dashboardclasses-hero__stat-caption{font-size:.82rem;font-weight:700;color:#f0f6fcc2}.dashboardclasses-card__name,.dashboardclasses-card__average strong{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif}.dashboardclasses-loading,.dashboardclasses-error,.attendance-empty{position:relative;z-index:1}.dashboardclasses-loading{margin:0;padding:.6rem .85rem;border-radius:10px;background:#ffffff14;color:#f7fbffd1;font-weight:700}.dashboardclasses-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;align-content:start}.app-shell--streaks-cast .dashboardclasses-board,.app-shell--streaks-cast .dashboardassistant-board{grid-template-columns:minmax(0,1fr);gap:.45rem;min-height:0;overflow-y:auto;padding-right:.2rem}.dashboardclasses-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--tv-card-border, rgba(255, 255, 255, .12));background:var(--tv-card-background, linear-gradient(135deg, rgba(11, 23, 44, .92), rgba(17, 31, 52, .72)));box-shadow:var(--tv-card-shadow, 0 12px 28px rgba(5, 12, 25, .24));content-visibility:auto;contain-intrinsic-size:auto 72px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dashboardclasses-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 22px 44px #050c195c;border-color:#7affca47}.dashboardclasses-card--rank-1{background:var(--tv-card-background, linear-gradient(135deg, rgba(0, 78, 60, .88), rgba(15, 25, 37, .95)))}.dashboardclasses-card--rank-2{background:var(--tv-card-background, linear-gradient(135deg, rgba(55, 92, 109, .8), rgba(15, 25, 37, .95)))}.dashboardclasses-card--rank-3{background:var(--tv-card-background, linear-gradient(135deg, rgba(82, 73, 40, .8), rgba(15, 25, 37, .95)))}.dashboardclasses-card__rank{display:grid;gap:.1rem;align-self:stretch;align-content:center;justify-items:center;padding:.12rem .2rem;min-width:0;border-radius:12px;background:var(--tv-card-rank-background, rgba(255, 255, 255, .08));text-align:center}.dashboardclasses-card__rank-label{font-size:.56rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .68))}.dashboardclasses-card__rank-value{font-size:clamp(1.2rem,3vw,2rem);line-height:1;font-weight:900;letter-spacing:-.08em;color:var(--tv-card-rank-text, #fff)}.dashboardclasses-card__name-wrap{display:grid;gap:.25rem;min-width:0}.dashboardclasses-card__name{font-size:clamp(1.15rem,2vw,2rem);line-height:.96;letter-spacing:-.05em;text-wrap:balance;color:var(--tv-card-text, #ffffff)}.dashboardclasses-card__meta{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .58))}.dashboardclasses-card__average{display:grid;justify-items:end;gap:.15rem;padding-left:.3rem;text-align:right;white-space:nowrap}.dashboardclasses-card__average strong{font-size:clamp(1.4rem,3.2vw,2.4rem);line-height:.9;letter-spacing:-.08em;color:var(--tv-card-value, #9ef7d9);text-shadow:0 0 18px color-mix(in srgb,var(--tv-card-value, #9ef7d9) 28%,transparent)}.dashboardclasses-card__average span{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#f0f6fcbd}@media(max-width:1100px){.dashboardclasses-hero,.dashboardclasses-summary,.dashboardclasses-board{grid-template-columns:1fr}.dashboardclasses-card{grid-template-columns:72px minmax(0,1fr) auto}.dashboardclasses-card__average{justify-items:end;text-align:right;padding-left:.3rem}}@media(max-width:720px){.dashboardclasses-view{padding:.7rem;border-radius:0}.dashboardclasses-hero__copy h2{font-size:clamp(2rem,12vw,3.4rem)}.dashboardclasses-card{grid-template-columns:1fr}.dashboardclasses-card__rank{justify-items:start}.dashboardclasses-card__average{justify-items:start;text-align:left;padding-left:0}}.dashboardphotos-view{position:relative;display:grid;gap:.8rem;padding:1rem;min-height:100%;border-radius:24px;overflow:hidden;background:radial-gradient(circle at top left,rgba(110,255,204,.2),transparent 26%),radial-gradient(circle at right 10%,rgba(255,201,109,.18),transparent 30%),linear-gradient(180deg,#060e1cfa,#090d16f5);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 60px #02071061}.dashboardphotos-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;opacity:.32;pointer-events:none}.dashboardphotos-view__glow{position:absolute;border-radius:999px;filter:blur(18px);opacity:.6;pointer-events:none}.dashboardphotos-view__glow--one{top:-3rem;right:12%;width:11rem;height:11rem;background:#6cffca40}.dashboardphotos-view__glow--two{bottom:8rem;left:4%;width:13rem;height:13rem;background:#ffc67029}.dashboardphotos-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(220px,.75fr);gap:.75rem;z-index:1}.dashboardphotos-hero__copy,.dashboardphotos-hero__stat,.dashboardphotos-summary,.dashboardphotos-upload-card,.dashboardphotos-section,.dashboardphotos-card,.dashboardphotos-board__card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboardphotos-hero__copy{padding:.95rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#081223bf}.dashboardphotos-hero__copy h2{margin:.08rem 0 .25rem;font-size:clamp(2.1rem,4.4vw,4.6rem);line-height:.94;letter-spacing:-.07em;text-transform:uppercase;text-wrap:balance}.dashboardphotos-hero__copy p{margin:0;max-width:60rem;color:#f0f6fcd1;font-size:.97rem;line-height:1.55}.dashboardphotos-hero__stat{display:grid;align-content:center;justify-items:center;gap:.3rem;padding:.9rem;border-radius:18px;border:1px solid rgba(108,255,202,.18);background:linear-gradient(180deg,#6cffca24,#ffffff0f);text-align:center}.dashboardphotos-hero__stat-label,.dashboardphotos-summary__label,.dashboardphotos-upload-card__label,.dashboardphotos-section__eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f0f6fcb8}.dashboardphotos-hero__stat-value{font-size:clamp(3rem,8vw,5.6rem);line-height:.9;font-weight:900;letter-spacing:-.08em;color:#c9ffee;text-shadow:0 0 24px rgba(108,255,202,.3)}.dashboardphotos-hero__stat-caption{font-size:.8rem;font-weight:700;color:#f0f6fcc2}.dashboardphotos-summary{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.dashboardphotos-summary__chip{display:grid;gap:.18rem;padding:.7rem .85rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f}.dashboardphotos-summary__chip strong{font-size:clamp(.95rem,1.6vw,1.2rem);line-height:1.15;color:#fff;text-wrap:balance}.dashboardphotos-upload-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#0a1220c2}.dashboardphotos-upload-card__hint{margin:.18rem 0 0;color:#f0f6fcc7;font-size:.92rem;line-height:1.45}.dashboardphotos-upload-card__controls{display:grid;grid-template-columns:auto auto auto;gap:.55rem;align-items:center}.dashboardphotos-upload-card__controls input[type=file]{max-width:19rem;color:#f0f6fcdb}.dashboardphotos-upload-card__toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .7rem;border-radius:999px;background:#ffffff14;color:#f0f6fce6;font-size:.82rem;font-weight:700}.dashboardphotos-upload-card__toggle input{accent-color:#6dffc9}.dashboardphotos-upload-card__button,.dashboardphotos-card__actions button{border:0;border-radius:999px;padding:.72rem 1rem;font-weight:800;letter-spacing:.04em;color:#07131f;background:linear-gradient(135deg,#9cfdd9,#ffe09b);box-shadow:0 14px 30px #0f1b2747;cursor:pointer}.dashboardphotos-upload-card__button:disabled,.dashboardphotos-card__actions button:disabled{opacity:.65;cursor:wait}.dashboardphotos-error,.dashboardphotos-loading{position:relative;z-index:1}.dashboardphotos-loading{margin:0;padding:.6rem .85rem;border-radius:10px;background:#ffffff14;color:#f7fbffd1;font-weight:700}.dashboardphotos-section{position:relative;z-index:1;display:grid;gap:.7rem;padding:.85rem;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#070d18b8}.dashboardphotos-section__header{display:flex;justify-content:space-between;align-items:end;gap:.5rem;padding:0 .1rem;color:#f0f6fccc}.dashboardphotos-section__header h3{margin:.1rem 0 0;font-size:clamp(1.25rem,2vw,1.9rem);letter-spacing:-.05em;text-transform:uppercase}.dashboardphotos-section__header span{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f0f6fca6}.dashboardphotos-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.dashboardphotos-board__card{display:grid;gap:.55rem;padding:.65rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff12;box-shadow:0 12px 24px #050b143d}.dashboardphotos-board__image,.dashboardphotos-card__image{display:block;width:100%;height:auto;object-fit:cover;border-radius:12px;background:#ffffff0f}.dashboardphotos-board__image{aspect-ratio:16 / 10}.dashboardphotos-board__meta{display:grid;gap:.16rem;color:#f0f6fcd1}.dashboardphotos-board__meta strong,.dashboardphotos-card__title-row strong{font-size:.98rem;line-height:1.2;text-wrap:balance}.dashboardphotos-board__meta span,.dashboardphotos-card__sizes span,.dashboardphotos-card__title-row span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f0f6fca6}.dashboardphotos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.75rem}.dashboardphotos-card{display:grid;gap:.6rem;padding:.7rem;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;box-shadow:0 12px 26px #050b1442;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboardphotos-card:hover{transform:translateY(-2px);border-color:#6cffca38;box-shadow:0 18px 30px #050b1457}.dashboardphotos-card--selected{border-color:#6cffca38;background:#6cffca17}.dashboardphotos-card__image{aspect-ratio:4 / 3}.dashboardphotos-card__body{display:grid;gap:.55rem}.dashboardphotos-card__title-row{display:flex;justify-content:space-between;gap:.5rem;align-items:start;color:#f0f6fce6}.dashboardphotos-card__title-row strong{color:#fff}.dashboardphotos-card__title-row span{white-space:nowrap}.dashboardphotos-card__sizes{display:grid;gap:.18rem;color:#f0f6fcd1}.dashboardphotos-card__actions{display:flex;gap:.5rem;flex-wrap:wrap}.dashboardphotos-card__actions button{padding:.62rem .88rem;font-size:.85rem}.dashboardphotos-card__delete{background:linear-gradient(135deg,#ffb1a6,#ffd08f)!important}@media(max-width:1100px){.dashboardphotos-hero,.dashboardphotos-summary,.dashboardphotos-upload-card{grid-template-columns:1fr}.dashboardphotos-upload-card__controls{grid-template-columns:1fr;justify-items:start}.dashboardphotos-section__header{align-items:start;flex-direction:column}}@media(max-width:720px){.dashboardphotos-view{padding:.7rem;border-radius:0}.dashboardphotos-hero__copy h2{font-size:clamp(2rem,12vw,3.4rem)}.dashboardphotos-card__title-row,.dashboardphotos-section__header{flex-direction:column;align-items:start}.dashboardphotos-card__actions{width:100%}.dashboardphotos-card__actions button{flex:1 1 8rem}}.streaks-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(220px,.75fr);gap:.75rem;align-items:stretch;z-index:1}.streaks-hero__copy,.streaks-hero__stat,.streak-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.streaks-hero__copy{padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#081223b8}.streaks-hero__copy h2{margin:.1rem 0 .25rem;font-size:clamp(2rem,4vw,4.2rem);line-height:.95;letter-spacing:-.06em;text-transform:uppercase;text-wrap:balance}.streaks-hero__copy p{margin:0;max-width:58rem;color:#f0f6fccc;font-size:.95rem;line-height:1.5}.streaks-hero__stat{display:grid;align-content:center;justify-items:center;gap:.3rem;padding:.85rem;border-radius:16px;border:1px solid rgba(255,224,153,.18);background:linear-gradient(180deg,#ffd76e26,#ffffff0f);text-align:center}.streaks-hero__stat-label{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f0f6fcb8}.streaks-hero__stat-value{font-size:clamp(3.2rem,9vw,6rem);line-height:.9;font-weight:900;letter-spacing:-.08em;color:#fff5cf;text-shadow:0 0 24px rgba(255,205,91,.55)}.streaks-hero__stat-caption{font-size:.82rem;font-weight:700;color:#f0f6fcc2}.streak-card__name,.streak-card__streak strong{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif}.streaks-loading,.streaks-error,.attendance-empty{position:relative;z-index:1}.streaks-loading{margin:0;padding:.6rem .85rem;border-radius:10px;background:#ffffff14;color:#f7fbffd1;font-weight:700}.streaks-board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;align-content:start}.streak-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--tv-card-border, rgba(255, 255, 255, .12));background:var(--tv-card-background, linear-gradient(135deg, rgba(11, 23, 44, .92), rgba(17, 31, 52, .72)));box-shadow:var(--tv-card-shadow, 0 12px 28px rgba(5, 12, 25, .24));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;content-visibility:auto;contain-intrinsic-size:auto 72px}.streak-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 22px 44px #050c195c;border-color:#ffdc8c4d}.streak-card--rank-1{background:var(--tv-card-background, linear-gradient(135deg, rgba(107, 73, 0, .76), rgba(25, 24, 34, .95)));box-shadow:var(--tv-card-shadow, 0 18px 38px rgba(95, 67, 0, .35))}.streak-card--rank-2{background:var(--tv-card-background, linear-gradient(135deg, rgba(94, 111, 132, .54), rgba(14, 23, 38, .94)))}.streak-card--rank-3{background:var(--tv-card-background, linear-gradient(135deg, rgba(112, 69, 30, .66), rgba(17, 25, 40, .94)))}.streak-card__rank{display:grid;gap:.1rem;align-self:stretch;align-content:center;justify-items:center;padding:.12rem .2rem;min-width:0;border-radius:12px;background:var(--tv-card-rank-background, rgba(255, 255, 255, .08));text-align:center}.streak-card__rank-label{font-size:.56rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .68))}.streak-card__rank-value{font-size:clamp(1.2rem,3vw,2rem);line-height:1;font-weight:900;letter-spacing:-.08em;color:var(--tv-card-rank-text, #fff)}.streak-card__name-wrap{display:grid;gap:.25rem;min-width:0}.streak-card__name{font-size:clamp(1.15rem,2vw,2rem);line-height:.96;letter-spacing:-.05em;text-wrap:balance;color:var(--tv-card-text, #ffffff)}.streak-card__meta{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tv-card-muted, rgba(240, 246, 252, .58))}.streak-card__streak{display:grid;justify-items:end;gap:.15rem;padding-left:.3rem;text-align:right;white-space:nowrap}.streak-card__streak strong{font-size:clamp(1.4rem,3.2vw,2.4rem);line-height:.9;letter-spacing:-.08em;color:var(--tv-card-value, #ffe08a);text-shadow:0 0 18px color-mix(in srgb,var(--tv-card-value, #ffe08a) 28%,transparent)}.streak-card__streak span{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#f0f6fcbd}.streak-card__classes{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tv-card-accent, rgba(255, 224, 138, .9))}@keyframes streaksFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,12px,0) scale(1.06)}}@media(max-width:1100px){.streaks-hero,.streaks-board{grid-template-columns:1fr}.streak-card{grid-template-columns:72px minmax(0,1fr) auto}.streak-card__streak{justify-items:end;text-align:right;padding-left:.3rem}}@media(max-width:720px){.streaks-view{padding:.7rem;border-radius:0}.streaks-hero__copy h2{font-size:clamp(2rem,12vw,3.4rem)}.streak-card{grid-template-columns:1fr}.streak-card__rank{justify-items:start}.streak-card__name{font-size:clamp(1.8rem,10vw,2.8rem)}.streak-card__streak strong{font-size:clamp(1.9rem,11vw,3rem)}}.emailtemplate-view,.belts-view,.builder-view,.slides-view,.testrecords-view,.attendance-view,.checkin-view,.admin-view,.birthdays-view,splits-view,.remindme-view{width:100%;padding:1.25rem;border-radius:30px;background:linear-gradient(180deg,#ffffffd1,#f7f2eaeb);color:var(--ui-text);border:1px solid rgba(26,34,48,.08);box-shadow:var(--ui-shadow)}.emailtemplate-view .remindme-form__filters,.emailtemplate-view .remindme-form__row,.belts-view .remindme-form__filters,.belts-view .remindme-form__row,.builder-view .remindme-form__filters,.builder-view .remindme-form__row,.slides-view .remindme-form__filters,.slides-view .remindme-form__row,.testrecords-view .remindme-form__filters,.testrecords-view .remindme-form__row,.attendance-view .remindme-form__filters,.attendance-view .remindme-form__row,.checkin-view .remindme-form__filters,.checkin-view .remindme-form__row,.admin-view .remindme-form__filters,.admin-view .remindme-form__row,.birthdays-view .remindme-form__filters,.birthdays-view .remindme-form__row,splits-view .remindme-form__filters,splits-view .remindme-form__row,.remindme-view .remindme-form__filters,.remindme-view .remindme-form__row{grid-template-columns:1fr}.emailtemplate-view .remindme-form__actions button,.belts-view .remindme-form__actions button,.builder-view .remindme-form__actions button,.slides-view .remindme-form__actions button,.testrecords-view .remindme-form__actions button,.attendance-view .remindme-form__actions button,.checkin-view .remindme-form__actions button,.admin-view .remindme-form__actions button,.birthdays-view .remindme-form__actions button,splits-view .remindme-form__actions button,.remindme-view .remindme-form__actions button{width:100%}.emailtemplate-view .remindme-item,.belts-view .remindme-item,.builder-view .remindme-item,.slides-view .remindme-item,.testrecords-view .remindme-item,.attendance-view .remindme-item,.checkin-view .remindme-item,.admin-view .remindme-item,.birthdays-view .remindme-item,splits-view .remindme-item,.remindme-view .remindme-item{flex-direction:column}.emailtemplate-view .remindme-delete-btn,.belts-view .remindme-delete-btn,.builder-view .remindme-delete-btn,.slides-view .remindme-delete-btn,.testrecords-view .remindme-delete-btn,.attendance-view .remindme-delete-btn,.checkin-view .remindme-delete-btn,.admin-view .remindme-delete-btn,.birthdays-view .remindme-delete-btn,splits-view .remindme-delete-btn,.remindme-view .remindme-delete-btn{align-self:flex-start}.slides-view{color:#132033}.page-description,.login-brand-copy,.dashboard-card-copy,.stat-note{margin:0;color:var(--ui-text-soft);line-height:1.6}.dashboard-page-header,.retention-report-view>h2,.class-popularity-view>h2,.practice-view>h2,.users-view>h2,.students-view>h2,.classes-view>h2,.test-view>h2,.gocardless-view>h2,.wavier-view>h2,.email-view>h2,.emailtemplate-view>h2,.belts-view>h2,.builder-view>h2,.slides-view>h2,.testrecords-view>h2,.attendance-view>h2,.checkin-view>h2,.admin-view>h2,.birthdays-view>h2,.splits-view>h2{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1rem}.dashboard-page-header{padding:0 0 .35rem;border-bottom:1px solid rgba(26,34,48,.08)}.dashboard-header-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.status-pill{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:#2e5c8a1a;border:1px solid rgba(46,92,138,.14);font-size:.82rem;font-weight:700;color:#183652}.status-pill--accent{background:#c73e1d1f;border-color:#c73e1d29;color:#9e2d10}.login-view{min-height:calc(100vh - 2rem);display:grid;place-items:center;padding:1rem}.login-layout{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,440px);gap:1.25rem;align-items:stretch}.login-brand-panel,.login-card,.dashboard-stat-card,.dashboard-card,.retention-card,.class-popularity-card,.class-popularity-summary-card,.admin-card,.emailtemplate-card,.splits-best-card,.splits-score-card,.gocardless-card,.student-attendance-panel,.practice-summary-card,.testrecords-student-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:24px;box-shadow:var(--ui-shadow-soft)}.login-brand-panel{padding:2rem;background:radial-gradient(circle at top left,rgba(199,62,29,.2),transparent 38%),radial-gradient(circle at bottom right,rgba(46,92,138,.22),transparent 32%),linear-gradient(160deg,#ffffffe0,#f5f1e9f0);display:grid;gap:1rem;align-content:start}.login-brand-panel h1{margin:0;font-size:clamp(2.4rem,4vw,4.25rem);line-height:.95;max-width:11ch;color:#142133}.login-brand-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:.35rem}.login-brand-point{padding:.95rem 1rem;border-radius:18px;background:#ffffffb3;border:1px solid rgba(26,34,48,.08);display:grid;gap:.35rem}.login-brand-point strong{font-size:.95rem;color:#10263f}.login-brand-point span{font-size:.92rem;color:#5c697b;line-height:1.5}.login-card{width:100%;padding:2rem;display:grid;gap:1rem;background:#fffffff0}.login-card h2{margin:0;font-size:clamp(1.9rem,3vw,3rem);line-height:1;color:#122036}.login-card>p{margin:0;color:#5b6a7b}.login-audience{padding:.9rem 1rem;border:1px solid rgba(46,92,138,.18);border-radius:14px;background:#2e5c8a0f;color:#42566c;font-size:.9rem;line-height:1.55}.login-audience p{margin:0}.login-audience .login-admin-notice{margin-bottom:.25rem;color:#142b45;font-weight:700}.login-audience a{color:#245b8d;font-weight:700;text-underline-offset:.15em}.login-form{display:grid;gap:.9rem}.login-field{display:grid;gap:.35rem}.login-field span{font-size:.88rem;font-weight:700;letter-spacing:.02em;color:#33465c}.login-form input,.workspace-form input,.workspace-form button,.test-sections-add-input,.test-sections-rename-input,.slides-select,.slides-type-select,.slides-add-input,.slides-bulk-input,.slides-edit-input,.builder-form textarea,.builder-form select,.belts-form input,.belts-form button,.students-form input,.students-form select,.students-form button,.users-form input,.users-form button,.emailtemplate-card input,.emailtemplate-card textarea,.emailtemplate-card button,.wavier-template-form input,.wavier-template-form textarea,.wavier-template-form button,.test-form input,.test-form button,.classes-form input:not([type=checkbox]),.classes-form button,.gocardless-header button,.checkin-kiosk-fullscreen .checkin-minutes-grid button{border-radius:14px;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease,color .18s ease}.login-form input,.workspace-form input,.test-sections-add-input,.test-sections-rename-input,.slides-select,.slides-type-select,.slides-add-input,.slides-bulk-input,.slides-edit-input,.builder-form textarea,.builder-form select,.belts-form input,.students-form input,.students-form select,.users-form input,.emailtemplate-card input,.emailtemplate-card textarea,.wavier-template-form input,.wavier-template-form textarea,.test-form input,.classes-form input:not([type=checkbox]){border:1px solid rgba(26,34,48,.16);background:#ffffffeb;color:#132033;box-shadow:inset 0 1px #ffffffb8}.login-form input:focus,.workspace-form input:focus,.test-sections-add-input:focus,.test-sections-rename-input:focus,.slides-select:focus,.slides-type-select:focus,.slides-add-input:focus,.slides-bulk-input:focus,.slides-edit-input:focus,.builder-form textarea:focus,.builder-form select:focus,.belts-form input:focus,.students-form input:focus,.students-form select:focus,.users-form input:focus,.emailtemplate-card input:focus,.emailtemplate-card textarea:focus,.wavier-template-form input:focus,.wavier-template-form textarea:focus,.test-form input:focus,.classes-form input:not([type=checkbox]):focus{outline:none;border-color:#2e5c8a80;box-shadow:0 0 0 4px #2e5c8a2e}.login-form button,.workspace-form button,.test-sections-add-button,.slides-add-button,.builder-form button,.belts-form button,.students-form button,.users-form button,.emailtemplate-card button,.wavier-template-form button,.test-form button,.classes-form button,.gocardless-header button,.gocardless-pagination button,.checkin-kiosk-fullscreen .checkin-minutes-grid button,.icon-submit{background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-strong));color:#f8fbff;border:1px solid rgba(10,33,55,.08);box-shadow:0 10px 24px #173b632e;cursor:pointer}.dashboard-grid{display:grid;gap:1.25rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.dashboard-stat-card{padding:1.15rem;text-align:left;background:linear-gradient(145deg,#fffffff5,#f0f5fae0);position:relative;overflow:hidden}.dashboard-stat-card:after{content:"";position:absolute;inset:auto -18% -32% auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(46,92,138,.16),transparent 68%);pointer-events:none}.dashboard-stat-card:hover{transform:translateY(-2px);box-shadow:0 24px 48px #101b2d1f}.dashboard-stat-card--loading,.dashboard-card--loading{display:grid;gap:.75rem}.dashboard-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.dashboard-card,.retention-card,.class-popularity-card,.admin-card,.emailtemplate-card,.gocardless-card,.practice-summary-card,.testrecords-student-card,.display-fullscreen-card,.display-start-student-card,.display-index-card{padding:1.15rem}.dashboard-card h3,.retention-card h3,.class-popularity-card h3,.admin-card h3,.emailtemplate-card h3,.gocardless-card h3,.practice-summary-card h3,.testrecords-student-card h3{font-size:1rem;margin:0 0 .85rem;color:#10263f;padding-bottom:.55rem;border-bottom:1px solid rgba(26,34,48,.1)}.dashboard-empty,.retention-empty,.class-popularity-empty,.practice-empty,.admin-empty,.gocardless-empty,.slides-empty,.belts-empty,.classes-empty,.testrecords-empty{margin:0;padding:.7rem 0;color:#6a7888;font-style:italic}.dashboard-class-list,.dashboard-birthday-list,.dashboard-leaderboard,.retention-summary,.class-popularity-summary,.admin-card-list,.slides-list,.test-sections-list,.belts-list,.gocardless-pagination,.practice-leaderboard{display:grid;gap:.7rem}.admin-duplicate-days-list{display:grid;gap:.85rem}.admin-duplicate-day{display:grid;gap:.75rem;padding:.95rem;border-radius:18px;background:#ffffffd1;border:1px solid rgba(26,34,48,.08)}.admin-duplicate-day-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.admin-duplicate-day-header strong{display:block;font-size:1rem;color:#10263f}.admin-duplicate-day-header p{margin:.2rem 0 0;color:#6a7888;font-size:.92rem}.admin-duplicate-records-list{display:grid;gap:.55rem}.admin-duplicate-record{display:grid;gap:.35rem;padding:.75rem .85rem;border-radius:14px;background:#f5f8fcf2;border:1px solid rgba(26,34,48,.08)}.admin-duplicate-record-topline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.45rem .75rem;align-items:baseline}.admin-duplicate-record-topline span,.admin-duplicate-record-meta{color:#6a7888;font-size:.92rem}.admin-duplicate-record-meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem}.admin-duplicate-record-entries{display:grid;gap:.5rem;padding-top:.2rem;border-top:1px solid rgba(26,34,48,.08)}.admin-duplicate-record-entry{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .7rem;border-radius:12px;background:#ffffffc7;border:1px solid rgba(26,34,48,.06);color:#4a5868;font-size:.92rem}.admin-delete-record-btn{margin-left:auto;border:1px solid rgba(173,48,48,.2);background:#ad303014;color:#9c1f1f;border-radius:999px;padding:.45rem .75rem;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.admin-delete-record-btn:hover:not(:disabled){background:#ad303024;border-color:#ad30304d}.admin-delete-record-btn:disabled{opacity:.7;cursor:progress}.admin-duplicate-record-entry-index{min-width:1.8rem;font-weight:700;color:#10263f}.dashboard-class-item,.dashboard-test-item,.dashboard-birthday-item,.dashboard-leaderboard-row,.retention-summary-stat,.class-popularity-summary-card,.admin-card-item,.gocardless-row,.practice-leaderboard-row,.student-attendance-item,.testrecords-entry,.splits-score-item{background:#f5f8fceb;border:1px solid rgba(26,34,48,.08);border-radius:18px}.display-fullscreen-card,.display-start-student-card,.display-index-card{background:#133049;border:1px solid #26445f;box-shadow:none}.dashboard-card-copy,.stat-note{font-size:.9rem}.dashboard-class-item{display:grid;grid-template-columns:72px 1fr;gap:.9rem;align-items:center;padding:.9rem 1rem;border-left:4px solid var(--ui-primary)}.dashboard-test-item{display:grid;gap:.35rem;justify-items:center;padding:.9rem;background:linear-gradient(135deg,#fff9eef5,#ffefd9f0);border-color:#f0b63f47}.dashboard-birthday-item{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;background:linear-gradient(135deg,#f8e6eef5,#ffeff4f5);border-left:4px solid var(--ui-accent)}.dashboard-leaderboard-row{display:grid;grid-template-columns:32px 1fr auto;gap:.85rem;align-items:center;padding:.85rem 1rem;border-left:4px solid var(--ui-primary)}.dashboard-leaderboard-row:nth-child(1){border-left-color:#f0b63f;background:linear-gradient(90deg,#fffbedfa,#f5f8fcf2)}.dashboard-leaderboard-row:nth-child(2){border-left-color:#b9bcc5;background:linear-gradient(90deg,#f9fafcfa,#f5f8fcf2)}.dashboard-leaderboard-row:nth-child(3){border-left-color:#b86f2e;background:linear-gradient(90deg,#fbf6effa,#f5f8fcf2)}.stat-number{font-size:2.25rem;font-weight:800;line-height:1;color:var(--ui-primary-strong);margin-bottom:.3rem}.stat-label{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#5f6f81}.stat-note{margin-top:.35rem}.skeleton{position:relative;overflow:hidden;border-radius:999px;background:#2e5c8a17}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:shimmer 1.5s infinite}.skeleton--stat{height:2.4rem;width:56%}.skeleton--label{height:.7rem;width:72%}.skeleton--heading{height:1.1rem;width:45%}.skeleton--line{height:.8rem;width:100%}@keyframes shimmer{to{transform:translate(100%)}}table,.belts-table,.students-table,.users-table,.test-table,.classes-table,.gocardless-table,.retention-trends-table{width:100%;border-collapse:separate;border-spacing:0;background:#ffffffe6;border:1px solid rgba(26,34,48,.08);border-radius:20px;overflow:hidden;box-shadow:var(--ui-shadow-soft)}table th,table td,.belts-table th,.belts-table td,.students-table th,.students-table td,.users-table th,.users-table td,.test-table th,.test-table td,.classes-table th,.classes-table td,.gocardless-table th,.gocardless-table td,.retention-trends-table th,.retention-trends-table td{padding:.75rem .9rem;border-bottom:1px solid rgba(26,34,48,.08);vertical-align:middle;font-size:.75rem;letter-spacing:.08em}table th .classes-view,table td .classes-view,.belts-table th .classes-view,.belts-table td .classes-view,.students-table th .classes-view,.students-table td .classes-view,.users-table th .classes-view,.users-table td .classes-view,.test-table th .classes-view,.test-table td .classes-view,.classes-table th .classes-view,.classes-table td .classes-view,.gocardless-table th .classes-view,.gocardless-table td .classes-view,.retention-trends-table th .classes-view,.retention-trends-table td .classes-view{display:grid;gap:1rem;max-width:100%;min-width:0}table th .app-main:has(.classes-view),table td .app-main:has(.classes-view),.belts-table th .app-main:has(.classes-view),.belts-table td .app-main:has(.classes-view),.students-table th .app-main:has(.classes-view),.students-table td .app-main:has(.classes-view),.users-table th .app-main:has(.classes-view),.users-table td .app-main:has(.classes-view),.test-table th .app-main:has(.classes-view),.test-table td .app-main:has(.classes-view),.classes-table th .app-main:has(.classes-view),.classes-table td .app-main:has(.classes-view),.gocardless-table th .app-main:has(.classes-view),.gocardless-table td .app-main:has(.classes-view),.retention-trends-table th .app-main:has(.classes-view),.retention-trends-table td .app-main:has(.classes-view){width:100%;max-width:1440px}table th .classes-form,table td .classes-form,.belts-table th .classes-form,.belts-table td .classes-form,.students-table th .classes-form,.students-table td .classes-form,.users-table th .classes-form,.users-table td .classes-form,.test-table th .classes-form,.test-table td .classes-form,.classes-table th .classes-form,.classes-table td .classes-form,.gocardless-table th .classes-form,.gocardless-table td .classes-form,.retention-trends-table th .classes-form,.retention-trends-table td .classes-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:1040px;padding:1rem;align-items:start}table tbody tr:hover td,.belts-table tbody tr:hover td,.students-table tbody tr:hover td,.users-table tbody tr:hover td,.test-table tbody tr:hover td,.classes-table tbody tr:hover td,.gocardless-table tbody tr:hover td,.retention-trends-table tbody tr:hover td{background:#2e5c8a0a}table tbody tr:last-child td,.belts-table tbody tr:last-child td,.students-table tbody tr:last-child td,.users-table tbody tr:last-child td,.test-table tbody tr:last-child td,.classes-table tbody tr:last-child td,.gocardless-table tbody tr:last-child td,.retention-trends-table tbody tr:last-child td{border-bottom:none}.classes-view{display:grid;gap:1rem;max-width:100%;min-width:0}.classes-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:1040px;padding:1rem;align-items:start}.classes-form>input:first-of-type,.classes-form>.classes-range-fields,.classes-form>.classes-schedule-toggle,.classes-form>.classes-days-picker,.classes-form>.classes-one-time-date{grid-column:1 / -1}.classes-form input:not([type=checkbox]),.classes-form button,.classes-table input:not([type=checkbox]),.classes-stats-controls select{min-height:44px}.classes-form input:not([type=checkbox]),.classes-form button,.classes-table input:not([type=checkbox]){width:100%;padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit}.classes-form>button[type=submit]{justify-self:end;width:min(100%,18rem)}.classes-schedule-toggle{width:fit-content;max-width:100%}.classes-stats-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1rem;align-items:flex-end;max-width:1040px}.classes-stats-controls label{display:grid;gap:.35rem;min-width:min(100%,18rem)}.classes-stats-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:1040px}.classes-stats-summary p{margin:0;padding:.95rem 1rem;border-radius:16px;background:#ffffffeb;border:1px solid rgba(26,34,48,.08);box-shadow:var(--ui-shadow-soft)}.classes-view .classes-form,.classes-view .classes-stats-summary p,.classes-view .classes-table td,.classes-view .classes-day-option,.classes-view .classes-schedule-label,.classes-view .classes-empty{color:#294158}.classes-view .classes-stats-summary strong{color:#10253e}.classes-table td{min-width:0}.classes-table input:not([type=checkbox]),.classes-table select{width:100%;min-width:0}.classes-one-time-date{display:grid;gap:.35rem}.classes-one-time-date.compact input{width:100%}.classes-schedule-label{margin-top:.35rem;font-size:.78rem;line-height:1.3;color:#5e7287}.classes-actions{flex-wrap:wrap}.classes-table__cell--schedule,.classes-table__cell--time,.classes-table__cell--stat,.classes-table__cell--toggle,.classes-table__cell--actions{min-width:0}@media(max-width:1100px){.login-layout{grid-template-columns:1fr}.dashboard-page-header,.retention-report-view>h2,.class-popularity-view>h2,.practice-view>h2,.users-view>h2,.students-view>h2,.classes-view>h2,.test-view>h2,.gocardless-view>h2,.wavier-view>h2,.email-view>h2,.emailtemplate-view>h2,.belts-view>h2,.builder-view>h2,.slides-view>h2,.testrecords-view>h2,.attendance-view>h2,.checkin-view>h2,.admin-view>h2,.birthdays-view>h2,.splits-view>h2{align-items:flex-start;flex-direction:column}}@media(max-width:820px){.app-main{width:min(100%,calc(100% - 1rem));padding-top:1rem}.app-header{padding:.75rem}.app-header__inner{align-items:stretch;gap:.75rem}.app-brand{gap:.65rem}.app-brand__mark{width:56px;height:56px}.app-brand__name{font-size:1.1rem}.app-brand__tagline{font-size:.62rem}.app-header__nav-area{display:grid;justify-items:end;align-content:start;gap:.45rem;flex:1 1 auto;width:100%;margin-left:0}.app-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem .75rem}.app-brand{min-width:0}.app-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#f8fbff;font-weight:700;justify-self:end}.app-header__nav-area{display:none!important;grid-column:1 / -1;width:100%;margin-left:0}.app-header__nav-area--open{display:grid!important;justify-items:start;align-content:start;gap:.45rem;max-height:min(78dvh,calc(100dvh - 5.25rem));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.app-header__nav-area--open>.app-nav,.app-header__nav-area--open>.app-auth-area{display:flex!important}.app-header__nav-area--open>.app-auth-area{width:100%;justify-content:space-between;padding:.3rem .35rem .3rem .85rem}.app-header__nav-area--open>.app-nav{display:grid;grid-template-columns:1fr;flex-wrap:wrap;justify-content:flex-start;width:100%;gap:.45rem;padding:.75rem;border-radius:22px;background:#0a121eeb;border:1px solid rgba(255,255,255,.1);box-shadow:0 22px 44px #040a123d}.app-header__nav-area--open .app-nav-link,.app-header__nav-area--open .app-nav-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:.8rem .95rem;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#f0f6fc;text-decoration:none}.app-header__nav-area--open .app-nav-link--active,.app-header__nav-area--open .app-nav-dropdown-trigger--active{background:#ffffff24;border-color:#ffffff29}.app-header__nav-area--open .app-nav-dropdown{width:100%}.app-header__nav-area--open .app-nav-dropdown--open .app-nav-dropdown-menu{position:static;display:grid;margin-top:.4rem;min-width:0;background:#ffffff0a;box-shadow:none}.app-header__nav-area--open .app-nav-dropdown--open .app-nav-dropdown-menu a{padding:.75rem .95rem}.dashboard-view,.retention-report-view,.class-popularity-view,.practice-view,.users-view,.students-view,.classes-view,.test-view,.gocardless-view,.wavier-view,.email-view,.emailtemplate-view,.belts-view,.builder-view,.slides-view,.testrecords-view,.attendance-view,.checkin-view,.admin-view,.birthdays-view,.splits-view{padding:1rem;border-radius:24px}.classes-form{grid-template-columns:1fr;max-width:none}.classes-range-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.classes-form>button[type=submit]{justify-self:stretch;width:100%}.classes-stats-controls,.classes-stats-summary{max-width:none}.classes-stats-summary{grid-template-columns:1fr}.classes-table-wrap{overflow:visible}.classes-table-wrap .classes-table{min-width:0;table-layout:auto}.classes-table{display:block;width:100%;background:transparent;border:0;box-shadow:none;overflow:visible}.classes-table thead{display:none}.classes-table tbody{display:grid;gap:.75rem}.classes-table tr{display:grid;gap:.75rem;padding:.95rem;border-radius:18px;background:#fffffff5;border:1px solid rgba(26,34,48,.08);box-shadow:var(--ui-shadow-soft)}.classes-table td{display:grid;grid-template-columns:minmax(7rem,34%) minmax(0,1fr);gap:.45rem;align-items:start;padding:0;border:0}.classes-table td:before{content:attr(data-label);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7f95}.classes-table td>input,.classes-table td>select{width:100%}.classes-table__cell--schedule{grid-template-columns:1fr}.classes-table__cell--schedule:before{margin-bottom:.1rem}.classes-table__cell--actions{grid-template-columns:1fr}.classes-table__cell--actions .classes-actions{display:flex;flex-wrap:wrap;gap:.5rem}.classes-table__cell--actions .classes-actions button{flex:1 1 8rem}.classes-table__cell--toggle{grid-template-columns:minmax(7rem,34%) minmax(0,1fr)}.classes-table__cell--toggle input[type=checkbox]{justify-self:start}.dashboard-stats,.login-brand-points,.dashboard-main,.dashboard-class-item,.dashboard-leaderboard-row{grid-template-columns:1fr}.dashboard-leaderboard-row .minutes{text-align:left}.dashboard-header-badges{justify-content:flex-start}.display-student-list,.attendance-students-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-student-row{position:relative}.attendance-student-btn{width:100%;align-items:flex-start;text-align:left}.attendance-student-notes-badge{right:.25rem;top:.25rem;width:1.4rem;height:1.4rem}.attendance-student-notes-age{right:-.28rem;bottom:-.28rem;min-width:1.05rem;height:1.05rem;font-size:.48rem}.attendance-student-practice-age{left:-.28rem;bottom:-.28rem;min-width:1.05rem;height:1.05rem;font-size:.48rem}.attendance-student-sparkline{gap:.3rem}.attendance-student-sparkline .practice-sparkline{width:68px;height:22px}.attendance-student-sparkline .sparkline-label{font-size:.68rem}}@media(min-width:561px)and (max-width:820px){.classes-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.classes-form>input:first-of-type,.classes-form>.classes-range-fields,.classes-form>.classes-schedule-toggle,.classes-form>.classes-days-picker,.classes-form>.classes-one-time-date{grid-column:1 / -1}.classes-range-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.dashboard-page-header{gap:.65rem}.dashboard-header-badges{width:100%}.status-pill{font-size:.75rem;padding:.38rem .68rem}.classes-view{gap:.8rem}.classes-view>h2{margin-top:0}.classes-range-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.classes-table tr{gap:.65rem;padding:.75rem}.classes-table td{grid-template-columns:minmax(5.5rem,31%) minmax(0,1fr);gap:.4rem}.classes-table__cell--schedule{grid-template-columns:1fr}.classes-actions button{min-height:44px}.dashboard-stat-card,.dashboard-card{padding:.9rem}.stat-number{font-size:1.85rem}.dashboard-class-item,.dashboard-birthday-item,.dashboard-test-item,.dashboard-leaderboard-row{padding:.75rem}.dashboard-test-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-leaderboard-row{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:.55rem}.dashboard-leaderboard-row .rank{grid-row:1 / span 2;align-self:center}.dashboard-leaderboard-row .student-name,.dashboard-birthday-item .birthday-name,.dashboard-class-item .class-name{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}.dashboard-leaderboard-row .minutes{grid-column:2;text-align:left;font-size:.82rem}.attendance-student-sparkline .practice-sparkline{width:60px;height:20px}}.leads-view{display:grid;gap:1rem;width:100%}.leads-hero{display:flex;justify-content:space-between;gap:1rem;align-items:end;padding:1.15rem 1.35rem;border-radius:24px;background:linear-gradient(135deg,#1f6f4f1f,#26528014);border:1px solid rgba(26,34,48,.08);box-shadow:var(--ui-shadow-soft)}.leads-hero h2{margin:0;font-size:clamp(1.7rem,3vw,2.35rem);color:#1a2230}.leads-kicker{margin:0 0 .35rem;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1f6f4f}.leads-hero p:last-child{margin:.45rem 0 0;max-width:68ch;color:#52667a}.leads-stack{display:grid;gap:1rem}.leads-card{background:#ffffffeb;border:1px solid rgba(26,34,48,.08);border-radius:20px;box-shadow:var(--ui-shadow-soft);padding:1rem}.leads-form{display:grid;gap:.9rem;align-content:start}.leads-form h3,.leads-table-card h3{margin:0;font-size:1.05rem;color:#1a2230}.leads-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.leads-form-grid label{display:grid;gap:.35rem;color:#52667a;font-size:.92rem;font-weight:700}.leads-form-grid label:first-child{grid-column:1 / -1}.leads-form-grid input,.leads-form-grid select{min-height:44px;width:100%;padding:.55rem .65rem;border-radius:8px;border:1px solid #bcccdc;font:inherit;background:#fff}.leads-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.leads-actions button{min-height:44px;padding:.55rem 1rem;border-radius:8px;border:none;background:#1f6f4f;color:#fff;font:inherit;cursor:pointer}.leads-actions button:disabled{opacity:.6;cursor:not-allowed}.leads-status{color:#1d6f3e;font-size:.92rem}.leads-error{margin:0;color:#b42318}.leads-table-card{display:grid;gap:.75rem}.leads-table-card>summary{list-style:none;cursor:pointer}.leads-table-card>summary::-webkit-details-marker{display:none}.leads-table-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-weight:700;color:#1a2230}.leads-table-summary strong{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.15rem .55rem;border-radius:999px;background:#1f6f4f1f;color:#1f6f4f;margin-left:.45rem}.leads-table-body{padding-top:.25rem}.leads-table-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.leads-table-header span{color:#52667a;font-size:.92rem}.leads-empty{margin:0;color:#66788a;font-style:italic}.leads-table-wrap{overflow:auto}.leads-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;background:#ffffffe6;border:1px solid rgba(26,34,48,.08);border-radius:18px;overflow:hidden;box-shadow:inset 0 1px #ffffffb8}.leads-table th,.leads-table td{padding:.75rem .9rem;border-bottom:1px solid rgba(26,34,48,.08);vertical-align:middle;color:#294158;text-align:left}.leads-table thead th{background:#f0f4f9f5;color:#294158;font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.leads-table tbody tr:hover td{background:#2e5c8a0a}.leads-table tbody tr:last-child td{border-bottom:none}@media(max-width:960px){.leads-form-grid{grid-template-columns:1fr}.leads-form-grid label:first-child{grid-column:auto}}
