.portal-shell{--portal-ink:#071e28;--portal-aqua:#19c4d6;--portal-deep:#061c25;min-height:100vh;color:var(--portal-ink);background:#f2f8f8}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.team-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.team-card{gap:16px;display:grid}.team-card>header,.team-editor>header,.team-editor>footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.team-card>header span,.team-editor>header p{color:#6edce7;letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:9px;font-weight:900;display:block}.team-card>header h2,.team-editor>header h2{margin:0}.team-card>header b{color:#05242c;background:#64d8e3;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.team-card>p{color:#a8c3c7;margin:0;font-size:11px}.team-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.team-members>span{color:#dceff1;border:1px solid #284d56;border-radius:9px;align-items:center;gap:9px;min-width:0;padding:9px 10px;font-size:10px;display:flex}.team-members>span i{color:#05242c;background:#9ee7ed;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:8px;font-style:normal;font-weight:900;display:grid}.team-card>footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.team-card>footer button{width:100%;min-height:42px}.team-editor{gap:20px;margin-bottom:18px;display:grid}.team-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.team-editor-grid label,.team-student-picker label{color:#acc7cb;gap:7px;font-size:10px;font-weight:750;display:grid}.team-editor-grid .wide{grid-column:1/-1}.team-editor-grid input,.team-editor-grid select{color:#eefafa;background:#08242d;border:1px solid #315761;border-radius:9px;width:100%;min-height:48px;padding:0 14px}.team-student-picker{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0;display:grid}.team-student-picker legend{color:#eaf8fa;grid-column:1/-1;margin-bottom:8px;font-size:12px;font-weight:850}.team-student-picker label{background:#0a2932;border:1px solid #294e57;border-radius:9px;grid-template-columns:20px 1fr;align-items:center;padding:11px}.team-student-picker input{width:18px;height:18px}.team-student-picker span,.team-student-picker small{display:block}.team-student-picker small{color:#87a9ae;margin-top:3px;font-size:9px}.team-editor>footer span{color:#8fb1b6;font-size:10px}.coach-student-summary{gap:20px;display:grid}.coach-student-summary>header{grid-template-columns:76px 1fr auto;align-items:center;gap:18px;display:grid}.coach-student-summary>header>img,.coach-student-summary>header>i{object-fit:cover;color:#05242c;background:#76dce5;border-radius:50%;place-items:center;width:76px;height:76px;font-style:normal;font-weight:900;display:grid}.coach-student-summary>header span,.coach-student-summary>header p{color:#8fb1b6;margin:0}.coach-student-summary>header h2{margin:4px 0}.coach-student-summary>header>b{color:#6ee0e9;text-align:right;font-size:24px}.coach-student-summary>header>b small{color:#8fb1b6;text-transform:uppercase;font-size:8px;display:block}.coach-student-summary>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.coach-student-summary article{border:1px solid #294e57;border-radius:9px;gap:5px;padding:14px;display:grid}.coach-student-summary article span,.coach-student-summary li span{color:#8fb1b6;font-size:9px}.coach-student-summary ul{background:#294e57;gap:1px;margin:0;padding:0;list-style:none;display:grid}.coach-student-summary li{background:#0b2a33;justify-content:space-between;padding:12px 14px;display:flex}@media (max-width:760px){.team-grid,.team-editor-grid,.team-student-picker,.team-members,.coach-student-summary>div{grid-template-columns:1fr}.coach-student-summary>header{grid-template-columns:62px 1fr}.coach-student-summary>header>img,.coach-student-summary>header>i{width:62px;height:62px}.coach-student-summary>header>b{text-align:left;grid-column:1/-1}.team-card>footer{grid-template-columns:1fr}.team-page-actions,.team-page-actions button{width:100%}}.portal-shell *{box-sizing:border-box}.portal-topbar{z-index:20;color:#fff;background:var(--portal-deep);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;height:78px;padding:0 34px;display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:12px;display:flex}.portal-brand img{object-fit:contain;width:50px;height:50px}.portal-brand span{display:grid}.portal-brand strong{letter-spacing:.04em;font-family:Bodoni Moda,Georgia,serif;font-size:18px}.portal-brand small{color:#8edce3;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}.profile-button{color:#fff;cursor:pointer;background:#0b5363;border:1px solid #ffffff59;border-radius:50%;width:42px;height:42px;font-weight:900}.portal-layout{grid-template-columns:230px 1fr;min-height:calc(100vh - 78px);display:grid}.portal-sidebar{color:#c3d6d9;background:var(--portal-deep);padding:38px 24px}.portal-sidebar>strong{color:#6f969d;letter-spacing:.18em;margin:20px 14px 10px;font-size:9px;display:block}.portal-sidebar>strong:first-child{margin-top:0}.portal-sidebar a{border-left:3px solid #0000;margin:4px 0;padding:12px 14px;font-size:13px;font-weight:750;display:block}.portal-sidebar a:hover,.portal-sidebar a.active{color:#fff;border-left-color:var(--portal-aqua);background:#19c4d61a}.portal-content{width:min(1180px,100%);margin:0 auto;padding:48px}.welcome-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.welcome-row p,.card-heading p,.alert-card>p{color:#079db6;letter-spacing:.17em;margin:0 0 10px;font-size:10px;font-weight:900}.welcome-row h1{letter-spacing:-.03em;margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:700}.welcome-row span{color:#587177;margin-top:8px;display:block}.primary-action{color:#001217;background:var(--portal-aqua);min-height:50px;font:inherit;cursor:pointer;border:0;padding:0 22px;font-size:13px;font-weight:900}.primary-action b{margin-left:22px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0 22px;display:grid}.metric-grid article{border-top:3px solid var(--portal-deep);background:#fff;flex-direction:column;min-height:140px;padding:24px;display:flex;box-shadow:0 8px 28px #082a370f}.metric-grid span{color:#587177;font-size:12px;font-weight:750}.metric-grid strong{margin:8px 0 5px;font-family:Bodoni Moda,Georgia,serif;font-size:38px}.metric-grid small{color:#72888d}.metric-grid small.positive{color:#087d70}.portal-columns{grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:22px;display:grid}.day-card,.alert-card{background:#fff;box-shadow:0 8px 28px #082a370f}.day-card{padding:28px}.card-heading{border-bottom:2px solid var(--portal-ink);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.card-heading h2,.alert-card h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:25px}.card-heading a{color:#079db6;font-size:12px;font-weight:850}.class-row{border-bottom:1px solid #06161b1f;grid-template-columns:90px 1fr auto;align-items:center;gap:16px;padding:19px 0;display:grid}.class-row:last-child{border-bottom:0}.class-row time{color:#079db6;font-size:12px;font-weight:900}.class-row div{gap:4px;display:grid}.class-row div strong{font-size:14px}.class-row div span{color:#698086;font-size:12px}.class-row button{min-height:38px;color:var(--portal-ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #b6cccf;padding:0 14px;font-size:11px;font-weight:850}.alert-card{color:#fff;background:#082a37;padding:28px}.alert-card>p{color:#63d5df}.alert-card>div{border-bottom:1px solid #ffffff1f;gap:12px;padding:20px 0;display:flex}.alert-card>div:last-child{border-bottom:0}.alert-card>div p{gap:5px;margin:0;display:grid}.alert-card small{color:#a7c1c5}.alert-dot{background:#19c4d6;border-radius:50%;flex:0 0 9px;width:9px;height:9px;margin-top:4px}.alert-dot.coral{background:#ff7d69}.alert-dot.gold{background:#ffd16a}.mobile-nav{display:none}@media (max-width:900px){.portal-layout{grid-template-columns:1fr}.portal-sidebar{display:none}.portal-content{padding:32px 22px 100px}.portal-columns{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:620px){.portal-topbar{height:64px;padding:0 18px}.portal-brand img{width:42px;height:42px}.portal-brand strong{font-size:16px}.portal-layout{min-height:calc(100vh - 64px)}.portal-content{padding:26px 16px 96px}.welcome-row{display:block}.welcome-row h1{font-size:34px}.primary-action{justify-content:space-between;align-items:center;width:100%;margin-top:22px;display:flex}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 18px}.metric-grid article{min-height:118px;padding:18px}.metric-grid article:last-child{grid-column:1/-1}.metric-grid strong{font-size:32px}.day-card,.alert-card{padding:21px}.class-row{grid-template-columns:72px 1fr}.class-row button{grid-column:2;width:max-content}.mobile-nav{z-index:30;height:70px;padding:7px 8px max(7px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d8e5e6;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #082a3714}.mobile-nav a{color:#6b7e82;place-items:center;gap:1px;font-size:9px;font-weight:850;display:grid}.mobile-nav a span{font-size:19px}.mobile-nav a.active{color:#087f92}}.portal-shell button,.portal-shell input,.portal-shell select,.portal-shell textarea{font:inherit}.portal-shell button{cursor:pointer}.portal-icon{flex:none;display:block}.demo-banner{color:#06252d;letter-spacing:.05em;background:#82e5ec;justify-content:center;align-items:center;gap:16px;height:34px;padding:0 18px;font-size:10px;display:flex}.demo-banner strong{letter-spacing:.15em;font-size:9px}.demo-banner label{align-items:center;gap:8px;margin-left:auto;display:flex}.demo-banner select{color:#06252d;background:#ffffffbf;border:0;padding:4px 25px 4px 7px;font-size:10px;font-weight:800}.top-actions{align-items:center;gap:13px;display:flex}.notification-button,.menu-button{border-radius:var(--portal-corner,8px);color:#fff;background:0 0;border:0;place-items:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;display:grid;position:relative}.notification-badge{color:#061c25;text-align:center;background:#5cdae7;border:2px solid #061c25;border-radius:50%;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-style:normal;font-weight:900;line-height:1;display:flex;position:absolute;top:0;right:0;transform:translate(18%,-18%)}.menu-button{display:none}.portal-sidebar{flex-direction:column;height:calc(100vh - 78px);display:flex;position:sticky;top:78px;overflow-y:auto}.portal-sidebar>div{display:contents}.portal-sidebar .nav-group{color:#6f969d;letter-spacing:.18em;margin:20px 14px 10px;font-size:9px;display:block}.portal-sidebar .nav-group:first-child{margin-top:0}.portal-sidebar>div>button{color:#c3d6d9;text-align:left;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:13px;width:100%;min-height:46px;margin:3px 0;padding:0 14px;font-size:13px;font-weight:750;display:flex}.portal-sidebar>div>button:hover,.portal-sidebar>div>button.active{color:#fff;border-left-color:var(--portal-aqua);background:#19c4d61a}.portal-sidebar>div>button i{color:#061c25;text-align:center;background:#5cdae7;border-radius:10px;min-width:20px;margin-left:auto;padding:4px;font-size:8px;font-style:normal}.sidebar-account{border-top:1px solid #ffffff1f!important;align-items:center!important;gap:10px!important;margin-top:auto!important;padding:20px 10px 4px!important;display:flex!important}.sidebar-account>span{color:#fff;background:#0b5363;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;font-size:10px;font-weight:900;display:grid}.sidebar-account p{gap:2px;min-width:0;margin:0;display:grid}.sidebar-account p strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.sidebar-account p small{font-size:9px}.sidebar-account button{border:0!important;width:auto!important;min-height:auto!important;margin-left:auto!important;padding:7px!important}.portal-sidebar>.mobile-sidebar-head,.menu-backdrop{display:none}.portal-page-head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.portal-page-head p{color:#079db6;letter-spacing:.17em;margin:0 0 10px;font-size:10px;font-weight:900}.portal-page-head h1{letter-spacing:-.03em;margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:700;line-height:1}.portal-page-head>div>span{color:#587177;margin-top:10px;display:block}.primary-action{justify-content:center;align-items:center;gap:10px;display:flex}.card-heading button{color:#079db6;background:0 0;border:0;font-size:12px;font-weight:850}.class-capacity{background:#e2f6f2;padding:7px 10px;font-weight:850;color:#087d70!important;font-size:10px!important}.portal-toast{z-index:100;color:#f1fcfd;overflow-wrap:anywhere;background:#0b5a69;border:1px solid #74e2eb61;border-radius:10px;align-items:center;gap:11px;width:max-content;max-width:min(440px,100vw - 44px);min-height:52px;padding:11px 15px;font-size:12px;font-weight:800;line-height:1.4;animation:.25s both toast-in;display:flex;position:fixed;top:96px;right:22px;box-shadow:0 14px 34px #0000003d}.portal-toast .portal-icon{background:#04272f42;border:1px solid #e2fbfc6b;border-radius:50%;flex:0 0 28px;width:28px;height:28px;padding:5px}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.section-card{background:#fff;margin-top:30px;padding:28px;box-shadow:0 8px 28px #082a370f}.section-card h2{margin:0 0 24px;font-family:Bodoni Moda,Georgia,serif;font-size:25px}.section-toolbar{color:#667d82;border-bottom:2px solid #071e28;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;font-size:12px;display:flex}.section-toolbar select,.search-box{background:#fff;border:1px solid #c7d8da;min-height:43px}.section-toolbar select{color:#28464d;padding:0 34px 0 13px}.date-chip{color:#071e28;background:#e2f4f5;padding:11px 15px;font-weight:850}.attendance-class{border-bottom:1px solid #06161b1f;grid-template-columns:130px 1fr auto;align-items:center;gap:24px;padding:25px 0;display:grid}.attendance-class:last-child{border-bottom:0}.time-block{border-right:1px solid #d6e1e2;gap:5px;padding-right:22px;display:grid}.time-block strong{color:#078ca1;font-size:16px}.time-block small{color:#71858a}.attendance-class h3,.attendance-class p{margin:0}.attendance-class h3{font-size:16px}.attendance-class p{color:#6b7f84;margin-top:5px;font-size:12px}.capacity-bar{background:#e3eced;width:min(220px,100%);height:4px;margin-top:12px}.capacity-bar i{background:#19c4d6;height:100%;display:block}.secondary-action,.outline-action{color:#072a35;background:#fff;border:1px solid #abc6ca;min-height:42px;padding:0 16px;font-size:11px;font-weight:850}.secondary-action:hover,.outline-action:hover{color:#057f93;border-color:#079db6}.search-box{align-items:center;gap:10px;width:min(440px,100%);padding:0 13px;display:flex}.search-box input{color:#071e28;border:0;outline:0;width:100%}.student-table .table-head,.student-table article{grid-template-columns:1.45fr 1.15fr .7fr .8fr .5fr;align-items:center;gap:16px;display:grid}.table-head{color:#73878b;letter-spacing:.12em;text-transform:uppercase;padding:17px 8px;font-size:9px;font-weight:900}.student-table article{border-top:1px solid #e0e9ea;min-height:80px;padding:14px 8px;font-size:12px}.student-table article>div:not(.student-name){gap:5px;display:grid}.student-table article small{color:#708489}.student-name{align-items:center;gap:11px;display:flex}.student-name>i,.progress-person>i{color:#075667;background:#dff5f6;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:10px;font-style:normal;font-weight:900;display:grid}.student-name p{gap:5px;margin:0;display:grid}.mini-bar{background:#e2ecec;width:75px;height:3px}.mini-bar i{background:#19c4d6;height:100%;display:block}.status{width:max-content;padding:7px 9px;font-size:9px;font-weight:900}.status.paid{color:#0b6f61;background:#e1f5f0}.status.due{color:#8a6100;background:#fff3d1}.status.overdue{color:#a33525;background:#ffe7e1}.status.neutral{color:#586c70;background:#edf1f1}.empty-state{color:#587177;text-align:center;place-items:center;padding:60px 20px;display:grid}.empty-state h3{color:#071e28;margin:14px 0 4px}.empty-state p{margin:0}.week-strip{grid-template-columns:42px repeat(7,1fr) 42px;gap:7px;margin:30px 0 18px;display:grid}.week-strip button{color:#4e676c;background:#fff;border:1px solid #c9d9db;min-height:48px;font-size:11px;font-weight:800}.schedule-list{gap:8px;display:grid}.schedule-list article{background:#fff;grid-template-columns:100px 5px 1fr 70px 40px;align-items:center;gap:20px;min-height:84px;padding:15px 22px;display:grid;box-shadow:0 6px 18px #082a370b}.schedule-list time{color:#078ca1;font-size:13px;font-weight:900}.program-stripe{background:#19c4d6;height:44px}.program-stripe.coral{background:#ff7d69}.program-stripe.gold{background:#ffd16a}.schedule-list h3,.schedule-list p{margin:0}.schedule-list h3{font-size:15px}.schedule-list p{color:#6d8185;margin-top:5px;font-size:11px}.schedule-list .capacity{text-align:center;display:grid}.schedule-list .capacity strong{color:#071e28;font-size:15px}.schedule-list article>button{color:#49646a;background:#fff;border:1px solid #cadadb;place-items:center;width:36px;height:36px;display:grid}.progress-grid{grid-template-columns:repeat(2,1fr);gap:17px;margin-top:30px;display:grid}.progress-grid>article{background:#fff;padding:26px;box-shadow:0 8px 28px #082a370f}.progress-person{border-bottom:1px solid #dce7e8;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding-bottom:20px;display:grid}.progress-person h3,.progress-person p{margin:0}.progress-person h3{font-size:14px}.progress-person p{color:#73878b;margin-top:5px;font-size:10px}.progress-person>strong{color:#078ca1;font-family:Bodoni Moda,Georgia,serif;font-size:25px}.skill-progress{gap:7px;padding:20px 0;display:grid}.skill-progress>span,.goal span{color:#71858a;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:850}.skill-progress>strong{font-size:13px}.skill-progress>div{background:#e4eeee;height:5px}.skill-progress>div i{background:#19c4d6;height:100%;display:block}.goal{color:#075667;background:#e7f7f7;align-items:center;gap:11px;padding:14px;display:flex}.goal p{gap:4px;margin:0;display:grid}.goal strong{font-size:12px}.progress-grid article>button{color:#078ca1;background:#fff;border:0;border-top:1px solid #dce7e8;justify-content:space-between;width:100%;margin-top:17px;padding:13px 0;font-size:11px;font-weight:850;display:flex}.payment-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;display:grid}.payment-summary article{color:#fff;background:#082a37;gap:9px;padding:23px;display:grid}.payment-summary span{color:#a6c2c7;font-size:10px}.payment-summary strong{font-family:Bodoni Moda,Georgia,serif;font-size:25px}.payment-table .table-head,.payment-table article{grid-template-columns:minmax(150px,1.1fr) minmax(165px,1.2fr) minmax(105px,.7fr) minmax(145px,.9fr) minmax(92px,.65fr) minmax(120px,.85fr);align-items:center;gap:16px;display:grid}.payment-table article{border-top:1px solid #e0e9ea;min-height:62px;padding:10px 8px;font-size:11px}.payment-table article>button{color:#075667;background:#fff;border:1px solid #b9cfd2;padding:8px;font-size:9px;font-weight:900}.message-layout{grid-template-columns:1.6fr .7fr;gap:20px;margin-top:30px;display:grid}.message-list{background:#fff}.message-list article{border-bottom:1px solid #dfe8e9;grid-template-columns:70px 1fr;gap:18px;padding:25px;display:grid}.message-list article.unread{border-left:4px solid #19c4d6}.message-list>article>i{color:#078ca1;letter-spacing:.1em;font-size:9px;font-style:normal;font-weight:900}.message-list article div>span{color:#078ca1;text-transform:uppercase;font-size:9px;font-weight:900}.message-list h3{margin:7px 0;font-size:15px}.message-list p{color:#536c72;margin:0;font-size:12px;line-height:1.55}.message-list small{color:#87999d;margin-top:12px;font-size:9px;display:block}.message-settings{color:#fff;background:#082a37;align-self:start;padding:27px}.message-settings h3{margin:16px 0 7px;font-family:Bodoni Moda,Georgia,serif;font-size:22px}.message-settings>p{color:#acc5c9;margin:0 0 20px;font-size:11px;line-height:1.5}.message-settings label{border-top:1px solid #ffffff1f;gap:9px;padding:12px 0;font-size:11px;display:flex}.message-settings button{color:#06252d;background:#19c4d6;border:0;width:100%;margin-top:16px;padding:12px;font-size:10px;font-weight:900}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.profile-editor{grid-template-columns:70px 1fr;gap:20px;display:grid}.profile-editor>i{color:#fff;background:#0b5363;border-radius:50%;place-items:center;width:64px;height:64px;font-style:normal;font-weight:900;display:grid}.profile-editor>div{grid-template-columns:1fr 1fr;gap:14px;display:grid}.profile-editor label,.form-grid label{color:#526c72;gap:7px;font-size:10px;font-weight:850;display:grid}.profile-editor input,.form-grid input,.form-grid select,.form-grid textarea{color:#071e28;background:#fff;border:1px solid #c8d9db;outline:0;width:100%;min-height:43px;padding:10px 12px}.profile-editor input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#079db6;box-shadow:0 0 0 3px #009db41a}.profile-editor .primary-action{width:max-content;margin:3px 0 0}.permission-row{border-top:1px solid #dfe8e9;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:17px 0;display:grid}.permission-row p{gap:4px;margin:0;display:grid}.permission-row p strong{font-size:12px}.permission-row p span{color:#6c8186;font-size:10px}.permission-row b{color:#078ca1}.outline-action{margin-top:13px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#031319b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.portal-modal{color:#071e28;background:#f7fbfa;flex-direction:column;width:min(620px,100%);max-height:calc(100vh - 40px);display:flex;box-shadow:0 28px 80px #00000059}.portal-modal>header{color:#fff;background:#082a37;justify-content:space-between;align-items:flex-start;gap:18px;padding:25px 28px;display:flex}.portal-modal>header p{color:#5cdae7;letter-spacing:.15em;margin:0 0 7px;font-size:9px;font-weight:900}.portal-modal>header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:27px}.portal-modal>header span{color:#aac4c8;margin-top:6px;font-size:10px;display:block}.portal-modal>header button{color:#fff;background:0 0;border:0;padding:4px}.attendance-legend{color:#647b80;border-bottom:1px solid #d9e5e6;gap:18px;padding:14px 28px;font-size:10px;display:flex}.attendance-legend span{align-items:center;gap:6px;display:flex}.attendance-legend i{border-radius:50%;width:7px;height:7px}.present{background:#38bda7!important}.late{background:#f1b942!important}.absent{background:#ef7866!important}.roll-list{padding:0 28px;overflow:auto}.roll-list article{border-bottom:1px solid #dce7e8;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:14px 0;display:grid}.roll-list .avatar{color:#075667;background:#def3f4;border-radius:50%;place-items:center;width:36px;height:36px;font-size:9px;font-style:normal;font-weight:900;display:grid}.roll-list article>div:nth-child(2){gap:4px;display:grid}.roll-list small{color:#71858a;font-size:9px}.status-buttons{gap:6px;display:flex}.status-buttons button{color:#6b8185;background:#fff;border:1px solid #c6d7d9;border-radius:50%;width:37px;height:37px;font-size:16px}.status-buttons button.active{color:#fff;border:0}.portal-modal>footer{background:#fff;border-top:1px solid #cfdddf;justify-content:space-between;align-items:center;gap:20px;padding:17px 28px;display:flex}.portal-modal>footer>span{color:#597277;font-size:11px;font-weight:800}.portal-modal>footer .primary-action{margin:0}.form-grid{grid-template-columns:1fr 1fr;gap:17px;padding:26px 28px;display:grid;overflow:auto}.form-grid .wide{grid-column:1/-1}.text-action{color:#526c72;background:0 0;border:0;padding:10px;font-size:11px;font-weight:850}.login-screen{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:linear-gradient(135deg,#031820eb,#065765b8),url(/images/swimmer.jpg) 50%/cover;flex-direction:column;justify-content:space-between;min-height:620px;padding:42px 8vw 45px;display:flex;position:relative}.login-brand-logo{align-items:center;gap:13px;width:max-content;display:flex}.login-brand-logo img{object-fit:contain;width:62px;height:62px}.login-brand-logo span{display:grid}.login-brand-logo strong{font-family:Bodoni Moda,Georgia,serif;font-size:21px}.login-brand-logo small{color:#7fd9e2;letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:900}.login-brand-panel>div p,.login-form-panel p,.pending-screen>p{color:#5cdae7;letter-spacing:.18em;margin:0 0 15px;font-size:10px;font-weight:900}.login-brand-panel h1{letter-spacing:-.04em;margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:clamp(48px,6vw,78px);line-height:.95}.login-brand-panel h1 em{color:#5cdae7}.login-brand-panel>div>span{color:#d1e3e6;max-width:430px;margin-top:22px;line-height:1.6;display:block}.login-brand-panel>small{color:#9db7bc;letter-spacing:.13em;text-transform:uppercase;font-size:9px}.login-form-panel{background:#f7fbfa;place-items:center;padding:42px;display:grid}.login-form-panel>div{width:min(390px,100%)}.login-form-panel h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:42px}.login-form-panel>div>span{color:#5b7378;margin:12px 0 30px;line-height:1.5;display:block}.login-form-panel button{color:#071e28;background:#fff;border:1px solid #aebfc2;justify-content:center;align-items:center;gap:12px;width:100%;min-height:54px;font-weight:850;display:flex}.login-form-panel button b{font-size:18px}.login-form-panel>div>small{color:#788b8f;margin-top:19px;font-size:9px;line-height:1.5;display:block}.login-form-panel a{color:#078ca1;margin-top:28px;font-size:11px;font-weight:850;display:block}.auth-screen,.pending-screen{color:#fff;background:#061c25;align-content:center;place-items:center;gap:16px;min-height:100vh;display:grid}.loading-mark{position:relative}.loading-mark img,.pending-screen>img{object-fit:contain;width:88px;height:88px}.loading-mark span{border:2px solid #0000;border-top-color:#19c4d6;border-radius:50%;animation:1s linear infinite spin;position:absolute;inset:-9px}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen p{color:#b7d0d4;font-size:11px}.pending-screen{text-align:center;padding:30px}.pending-screen h1{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:40px}.pending-screen>span{color:#bfd3d6;max-width:530px;line-height:1.6}.pending-screen>div{border:1px solid #ffffff26;gap:5px;padding:17px 24px;display:grid}.pending-screen small{color:#5cdae7}.pending-screen button{color:#061c25;background:#19c4d6;border:0;padding:12px 18px;font-weight:850}@media (max-width:1000px){.student-table .table-head{display:none}.student-table article{grid-template-columns:1.4fr 1fr .6fr}.student-table article>span{display:none}.payment-table{overflow-x:auto}.payment-table .table-head,.payment-table article{min-width:720px}.settings-grid{grid-template-columns:1fr}.portal-sidebar{top:78px}.progress-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.menu-button{display:grid}.portal-sidebar{z-index:60;width:270px;height:100vh;transition:transform .25s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.portal-sidebar.open{transform:translate(0)}.mobile-sidebar-head{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;margin-bottom:15px;padding:5px 10px 15px;display:flex!important}.mobile-sidebar-head>button{width:auto!important;min-height:auto!important;padding:5px!important}.menu-backdrop{z-index:50;background:#00000073;border:0;display:block;position:fixed;inset:0}.message-layout,.login-screen{grid-template-columns:1fr}.login-brand-panel{display:none}}@media (max-width:700px){.demo-banner{justify-content:flex-start;gap:8px;height:auto;min-height:36px;padding:6px 12px}.demo-banner>span{display:none}.demo-banner label{margin-left:auto}.portal-topbar{top:0}.portal-page-head{display:block}.portal-page-head h1{font-size:35px}.portal-page-head .primary-action{width:100%;margin-top:20px;display:flex}.portal-columns{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article:last-child{grid-column:1/-1}.attendance-class{grid-template-columns:85px 1fr;gap:14px}.attendance-class .secondary-action{grid-column:2;width:max-content}.time-block{padding-right:12px}.progress-grid{grid-template-columns:1fr}.week-strip{display:flex;overflow:auto}.week-strip button{min-width:66px}.week-strip button:first-child,.week-strip button:last-child{min-width:42px}.schedule-list article{grid-template-columns:76px 4px 1fr 35px;gap:11px;padding:13px}.schedule-list .capacity{display:none}.student-table article{grid-template-columns:1fr auto}.student-table article>div:nth-child(2),.student-table article>div:nth-child(3){display:none}.student-table article>span:last-child{display:block}.payment-summary{grid-template-columns:1fr 1fr}.payment-summary article:first-child{grid-column:1/-1}.message-list article{grid-template-columns:1fr}.message-list>article>i{margin-bottom:-10px}.profile-editor,.profile-editor>div{grid-template-columns:1fr}.profile-editor .primary-action{width:100%}.portal-modal{max-height:100vh}.modal-backdrop{align-items:end;padding:0}.portal-modal>header,.roll-list,.portal-modal>footer,.form-grid{padding-left:18px;padding-right:18px}.status-buttons button{width:34px;height:34px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.login-form-panel{padding:28px 22px}.mobile-nav button{color:#6b7e82;background:#fff;border:0;place-items:center;gap:1px;font-size:9px;font-weight:850;display:grid}.mobile-nav button.active{color:#087f92}.portal-toast{justify-content:flex-start;width:auto;max-width:none;top:78px;left:14px;right:14px}.top-actions{gap:8px}}.portal-shell .permissions-card,.portal-shell .permissions-card h2,.portal-shell .permissions-card h3,.portal-shell .permissions-card strong,.portal-shell .permissions-card span,.portal-shell .permissions-card small,.portal-shell .permissions-card b,.portal-shell .permissions-card select{font-family:Nunito Sans,Segoe UI,Arial,sans-serif;font-style:normal}.portal-shell .permissions-card h2{letter-spacing:-.015em;font-weight:800}.portal-shell .permissions-card h3,.portal-shell .permissions-card .permission-row strong,.portal-shell .permissions-card .role-manager strong{letter-spacing:0;font-weight:750}.permissions-actions{border-top:1px solid #21434c;justify-content:space-between;align-items:center;gap:22px;margin-top:8px;padding-top:22px;display:flex}.permissions-actions>div{gap:4px;display:grid}.permissions-actions>div>strong{color:#f1fbfc;font-size:13px}.permissions-actions>div>span{color:#9db7bc;max-width:470px;font-size:11px;line-height:1.5}.permissions-actions .primary-action{flex:none;width:auto;margin:0}.role-management-page{gap:18px;display:grid}.role-manager-back{align-items:center;gap:8px;width:max-content;margin:0;display:inline-flex}.role-management-card{padding:28px}.role-management-card>header{border-bottom:1px solid #21434c;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;display:flex}.role-management-card>header>div{gap:6px;display:grid}.role-management-card>header span,.role-management-card>header p,.role-management-card>header h2{margin:0}.role-management-card>header>div>span{color:#5cdae7;letter-spacing:.14em;font-size:10px;font-weight:900}.role-management-card>header h2{color:#f5ffff;font-size:24px}.role-management-card>header p{color:#9db7bc;max-width:680px;font-size:12px;line-height:1.55}.role-management-card>header>strong{color:#c9f3f6;background:#0a2730;border:1px solid #315761;border-radius:8px;flex:none;padding:8px 12px;font-size:11px}.role-manager-toolbar{grid-template-columns:minmax(240px,1fr) minmax(190px,230px);gap:14px;padding:20px 0;display:grid}.role-search-box{color:#8fb0b5;background:#0a2730;border:1px solid #315761;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:0 14px;display:flex}.role-search-box input{color:#edfafa;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:12px}.role-search-box input::placeholder{color:#789ba1}.role-filter-control,.role-account-control{color:#93b1b6;letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:9px;font-weight:850;display:grid}.role-select-shell{min-width:0;display:block;position:relative}.role-select-shell:after{content:"";pointer-events:none;background-color:#71dfe814;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371dfe8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5 5 5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #71dfe840;border-radius:50%;width:28px;height:28px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.role-select-shell.is-disabled:after{opacity:.55}.role-select-shell select{-webkit-appearance:none;appearance:none;color:#eaf6f7;width:100%;min-height:46px;font:inherit;text-transform:none;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0a2730;border:1px solid #315761;border-radius:8px;padding:0 48px 0 13px;font-size:12px;font-weight:750}.role-select-shell select:disabled{color:#a8bec2;cursor:not-allowed;opacity:.8}.role-account-list{border-top:1px solid #21434c;display:grid}.role-account-list article{border-bottom:1px solid #21434c;grid-template-columns:minmax(0,1fr) minmax(190px,230px);align-items:center;gap:24px;min-width:0;padding:17px 0;display:grid}.role-account-identity{align-items:center;gap:13px;min-width:0;display:flex}.role-account-identity>i{color:#04232a;background:#74dce5;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:11px;font-style:normal;font-weight:900;display:grid}.role-account-identity p{gap:3px;min-width:0;margin:0;display:grid}.role-account-identity strong{color:#f3ffff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.role-account-identity small{overflow-wrap:anywhere;color:#8faeb3;font-size:10px}.role-account-identity p>span{color:#f4ca63;text-transform:uppercase;background:#3a311e;border-radius:6px;width:max-content;margin-top:2px;padding:3px 7px;font-size:8px;font-weight:900}.role-manager-empty{color:#8faeb3;text-align:center;align-content:center;place-items:center;gap:7px;min-height:160px;display:grid}.role-manager-empty strong{color:#dff5f7;font-size:13px}.role-manager-empty span{font-size:10px}.role-manager-note{color:#789ba1;margin-top:16px;font-size:9px;line-height:1.5;display:block}@media (max-width:700px){.permissions-actions{flex-direction:column;align-items:stretch}.permissions-actions .primary-action{justify-content:center;width:100%;margin:0}.role-manager-back{justify-content:center;width:100%;min-height:46px}.role-management-card{padding:20px 16px}.role-management-card>header{flex-direction:column;gap:14px}.role-manager-toolbar,.role-account-list article{grid-template-columns:minmax(0,1fr)}.role-account-list article{gap:13px}.role-account-control,.role-filter-control{width:100%}}.payment-table .payment-due-input{color:#eaf8fa;background:#0a2730;border:1px solid #3d6973;border-radius:8px;width:100%;min-width:0;box-shadow:inset 0 0 0 1px #63dce708}.payment-table .payment-state .status{letter-spacing:.02em;background:0 0;border:1px solid;border-radius:8px;padding:7px 11px}.payment-table .payment-state .status.paid{color:#73dfcc;background:#2fbca41a}.payment-table .payment-state .status.due{color:#f2ca72;background:#dfab3c1a}.payment-table .payment-state .status.overdue{color:#ff9686;background:#eb68551a}.payment-table .payment-action>button{color:#d9f8fb;background:#123b46;border-color:#3d7d88;border-radius:8px}.payment-table .payment-action>button:hover{color:#042229;background:#72dfe8;border-color:#72dfe8}@media (max-width:1200px){.payment-table{box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.payment-table .table-head{display:none}.payment-table .payment-row{background:#102f39;border:1px solid #28545e;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(155px,.55fr);gap:16px 20px;min-width:0;min-height:0;margin-bottom:12px;padding:18px;display:grid;box-shadow:0 10px 26px #00000029}.payment-table .payment-cell>.payment-label{display:block}.payment-table .payment-student{grid-column:1}.payment-table .payment-state{grid-column:2;justify-items:end}.payment-table .payment-concept,.payment-table .payment-action{grid-column:1/-1}.payment-table .payment-value{grid-column:1}.payment-table .payment-due{grid-column:2}.payment-table .payment-action>button{min-height:42px}}@media (max-width:700px){.payment-table .payment-row{grid-template-columns:minmax(0,1fr) auto;gap:15px 18px}.payment-table .payment-student,.payment-table .payment-concept,.payment-table .payment-due,.payment-table .payment-action{grid-column:1/-1}.payment-table .payment-value{grid-column:1}.payment-table .payment-state{grid-column:2}}.account-profile-card{grid-column:1/-1}.profile-account-summary{background:linear-gradient(135deg,#0d303a 0%,#09242d 100%);border:1px solid #2e5963;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px;display:grid}.profile-photo-control{width:92px;height:92px;position:relative}.profile-photo-control>img,.profile-photo-control>i{color:#06242c;object-fit:cover;background:#6bdde7;border:2px solid #67dce7;border-radius:50%;place-items:center;width:92px;height:92px;margin:0;font-size:25px;font-style:normal;font-weight:900;display:grid;overflow:hidden}.profile-photo-pencil{color:#06242c;cursor:pointer;background:#72e0e9;border:2px solid #0d303a;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:-2px;right:-2px;overflow:hidden;box-shadow:0 6px 16px #00000052}.profile-photo-pencil:hover{background:#91edf3}.profile-photo-pencil input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.profile-account-copy{min-width:0}.profile-account-copy h3,.profile-account-copy p,.profile-account-copy small{margin:0}.profile-account-copy h3{color:#fff;margin-top:8px;font-size:clamp(20px,2.7vw,30px)}.profile-account-copy p{color:#b8d4d8;overflow-wrap:anywhere;margin-top:4px}.profile-account-copy small{color:#88a9ae;margin-top:5px;display:block}.profile-completion{letter-spacing:.08em;text-transform:uppercase;border-radius:6px;width:max-content;padding:5px 8px;font-size:9px;font-weight:900;display:inline-flex}.profile-completion.complete{color:#baffec;background:#185748}.profile-completion.pending{color:#ffe1a7;background:#5a4521}.profile-edit-toggle{min-width:205px;min-height:46px;padding-inline:15px}.profile-edit-panel{background:#09252e;border:1px solid #2c545e;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;padding:20px;display:grid}.profile-edit-panel>label{color:#bed5d8;gap:7px;min-width:0;font-size:11px;font-weight:800;display:grid}.profile-edit-panel input:not([type=checkbox]){color:#f4ffff;width:100%;min-width:0;min-height:48px;font:inherit;background:#071f27;border:1px solid #39636d;border-radius:9px;padding:0 14px}.profile-edit-panel input:disabled{color:#88a6ab;background:#0a252d}.profile-edit-panel .profile-consent,.profile-edit-actions{grid-column:1/-1}.profile-edit-actions{justify-content:flex-end;gap:10px;display:flex}.profile-edit-actions button{min-height:44px}.mark-modal{color:#edfafa;width:min(680px,100%);background:#0a2832!important}.portal-shell .mark-modal>header{background:linear-gradient(135deg,#0a3541,#082630)}.portal-shell .mark-modal .form-grid{gap:17px;padding:24px;background:#0a2832!important}.portal-shell .mark-modal .form-grid label{color:#cae2e5;gap:8px;font-size:11px;font-weight:850}.portal-shell .mark-modal .form-grid input,.portal-shell .mark-modal .form-grid select{color:#f5ffff;background-color:#061e26;border:1px solid #3d6b75;border-radius:10px;min-height:52px;box-shadow:inset 0 1px #ffffff08}.portal-shell .mark-modal .form-grid input::placeholder{color:#6f9298;opacity:1}.portal-shell .mark-modal>footer{border-top-color:#2b535c;background:#071f27!important}.portal-shell .mark-modal>footer .text-action{color:#c9e4e7;background:#0c2d36;border:1px solid #365e67;border-radius:8px;min-height:44px;padding-inline:18px}.card-actions .outline-action{justify-content:center;align-items:center;display:inline-flex}@media (max-width:700px){.profile-account-summary{text-align:center;grid-template-columns:1fr;justify-items:center;gap:14px}.profile-account-copy{justify-items:center;display:grid}.profile-edit-toggle{width:100%;min-width:0}.profile-edit-panel{grid-template-columns:1fr;padding:17px}.profile-edit-panel .profile-consent,.profile-edit-actions{grid-column:auto}.profile-edit-actions{grid-template-columns:1fr;display:grid}.portal-shell .mark-modal .form-grid{grid-template-columns:1fr;padding:19px 17px}.portal-shell .mark-modal .form-grid .wide{grid-column:auto}.portal-shell .mark-modal>footer{grid-template-columns:.8fr 1.2fr}}.primary-action,.secondary-action,.outline-action,.danger-action,.progress-grid article>button{text-align:center;justify-content:center;align-items:center;gap:8px;line-height:1.2;display:inline-flex}.primary-action b,.progress-grid article>button b{margin-left:0}.primary-action .portal-icon,.secondary-action .portal-icon,.outline-action .portal-icon,.progress-grid article>button .portal-icon{flex:none}.portal-page-head .outline-action{white-space:nowrap;width:max-content;max-width:100%;margin-top:0}.portal-shell select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23bfeaf0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;padding-right:40px!important}.sidebar-account-photo{object-fit:cover;border-radius:50%;flex:0 0 34px;width:34px;height:34px}.sidebar-account button{flex:0 0 38px;place-items:center;color:#c9e8eb!important;background:#0c2b34!important;border:1px solid #aad6dc47!important;border-radius:8px!important;width:38px!important;height:38px!important;padding:0!important;display:grid!important}.role-manager article,.role-manager p{min-width:0}.role-manager p small{overflow-wrap:anywhere}.role-manager .role-select{text-overflow:clip;width:184px;max-width:none;min-height:44px;padding:9px 40px 9px 12px;overflow:visible}.portal-shell .portal-modal{color:#eaf6f7;background:#0c2832;border:1px solid #29515b;border-radius:12px;overflow:hidden}.portal-shell .portal-modal>header{background:#082a35;border-bottom:1px solid #29515b}.portal-shell .portal-modal>footer{background:#0a232c;border-color:#29515b}.portal-shell .portal-modal>footer>span{color:#a8c3c7}.portal-shell .form-grid{background:#0c2832;min-width:0;overflow-x:hidden}.portal-shell .form-grid label,.portal-shell .form-grid fieldset{color:#cfe4e7;min-width:0}.portal-shell .form-grid input,.portal-shell .form-grid select,.portal-shell .form-grid textarea{color:#eefafa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#071f27;border-color:#315a64;min-width:0;max-width:100%}.portal-shell .text-action{color:#bee4e8}.card-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;min-width:0;display:flex}.card-placeholder{justify-items:center;display:grid}.card-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:min(430px,100%);display:flex}.card-actions .upload-button,.card-actions button{min-width:150px;min-height:46px;margin:0}.upload-button:has(input:disabled){cursor:wait;opacity:.55}.billing-editor input[inputmode=numeric]{font-variant-numeric:tabular-nums;letter-spacing:.025em}.upload-label input[type=file]{color:#9db7bc;padding:6px}.upload-label input[type=file]::file-selector-button{color:#dffbfd;min-height:34px;font:inherit;cursor:pointer;background:#123b46;border:1px solid #3d7d88;border-radius:7px;margin-right:10px;padding:0 12px;font-weight:800}.payment-cell{min-width:0}.payment-cell>.payment-label{color:#7f9fa5;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850;display:none}.payment-action>button{border-radius:var(--portal-corner);color:#bfeaf0;width:100%;min-height:38px;font:inherit;cursor:pointer;background:#0c2932;border:1px solid #315c66;padding:8px 10px;font-size:10px;font-weight:900}.student-danger-zone{background:#2a2023;border:1px solid #754a4a;border-radius:10px;justify-content:space-between;align-items:center;gap:22px;margin-top:22px;padding:18px;display:flex}.student-danger-zone h3,.student-danger-zone p{margin:0}.student-danger-zone p{color:#c7aeb2;max-width:680px;margin-top:5px;font-size:11px;line-height:1.5}.danger-action{border-radius:var(--portal-corner);color:#ffe8e8;min-height:44px;font:inherit;cursor:pointer;background:#8f363d;border:1px solid #d66f6f;padding:0 16px;font-size:11px;font-weight:900}.danger-action:hover:not(:disabled){color:#fff;background:#a8424a}.confirmation-dialog{width:min(520px,100%)}.confirmation-copy{gap:13px;padding:26px 28px;display:grid}.confirmation-copy p,.confirmation-copy strong{margin:0}.confirmation-copy p{color:#d6e9eb;font-size:14px;line-height:1.6}.confirmation-copy strong{color:#93b4b9;font-size:11px;line-height:1.5}.confirmation-dialog>footer{justify-content:flex-end}@media (max-width:1000px){.payment-table{overflow-x:visible}.payment-table .table-head,.payment-table article{min-width:0}}@media (max-width:700px){.portal-page-head .outline-action{min-height:46px;margin-top:18px;padding:0 16px}.profile-editor>img,.profile-editor>i{margin-inline:auto}.profile-editor{text-align:left}.role-manager article{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;padding:16px 0;display:grid}.role-manager .role-select{width:100%;max-width:100%}.modal-backdrop{align-items:center;padding:12px}.portal-shell .portal-modal{border-radius:12px;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.portal-shell .portal-modal>header,.portal-shell .portal-modal>footer,.portal-shell .form-grid,.confirmation-copy{padding-left:18px;padding-right:18px}.portal-shell .portal-modal>footer{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px;display:grid}.portal-shell .portal-modal>footer button,.portal-shell .portal-modal>footer label{width:100%;min-width:0;margin:0}.portal-modal.card-modal{height:calc(100dvh - 24px)}.card-modal .card-stage{padding:22px 18px}.card-actions{grid-template-columns:1fr;display:grid}.card-actions .upload-button,.card-actions button{width:100%}.student-detail-card>header{gap:18px}.student-detail-card>header>.primary-action{width:100%}.student-danger-zone{flex-direction:column;align-items:stretch}.student-danger-zone .danger-action{width:100%}.payment-table{box-shadow:none;background:0 0;border:0;padding:0}.payment-table .table-head{display:none}.payment-table .payment-row{background:#102f39;border:1px solid #24505a;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:15px 18px;min-width:0;min-height:0;margin-bottom:12px;padding:18px;display:grid;box-shadow:0 10px 26px #0000002e}.payment-cell{gap:5px;display:grid}.payment-cell>.payment-label{display:block}.payment-student,.payment-concept,.payment-due,.payment-action{grid-column:1/-1}.payment-concept span{color:#b8d0d4;line-height:1.45}.payment-value{grid-column:1}.payment-state{grid-column:2;justify-items:end}.payment-due-input{width:100%;min-width:0}.payment-action>button{min-height:42px}.confirmation-dialog>footer{grid-template-columns:1fr}}.portal-brand img,.login-brand-logo img,.loading-mark img,.pending-screen>img,.email-verification-screen>img,.email-preview img{object-fit:cover;border-radius:50%}.pending-screen>img,.email-verification-screen>img{background:#fff;border:2px solid #39727d;overflow:hidden;box-shadow:0 12px 34px #00000047}.portal-shell select,.registration-form select,.login-form-panel select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2375dce7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:16px!important;padding-right:42px!important}.notification-center{position:relative}.notification-panel{z-index:80;color:#eaf6f7;background:#0c2932;border:1px solid #2d5963;border-radius:12px;width:min(390px,100vw - 28px);position:absolute;top:calc(100% + 16px);right:-54px;overflow:hidden;box-shadow:0 22px 60px #0000006b}.notification-panel:before{content:"";background:#0c2932;border-top:1px solid #2d5963;border-left:1px solid #2d5963;width:12px;height:12px;position:absolute;top:-7px;right:68px;transform:rotate(45deg)}.notification-panel>header{border-bottom:1px solid #244852;justify-content:space-between;align-items:center;padding:17px 18px;display:flex}.notification-panel>header>div{gap:3px;display:grid}.notification-panel>header small{color:#8faeb3;font-size:10px}.notification-panel>header button{color:#bde8ec;background:0 0;border:0;place-items:center;padding:7px;display:grid}.notification-panel>div{max-height:min(520px,70vh);overflow-y:auto}.notification-panel>div>button{color:#68d9e4;text-align:left;background:0 0;border:0;border-bottom:1px solid #1e414a;grid-template-columns:28px 1fr;align-items:start;gap:10px;width:100%;padding:15px 18px;display:grid}.notification-panel>div>button:hover{background:#123740}.notification-panel>div>button span{gap:4px;min-width:0;display:grid}.notification-panel>div>button strong{color:#f2fbfb;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.notification-panel>div>button small{color:#9eb9bd;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.notification-panel>div>p{color:#94b1b6;text-align:center;margin:0;padding:28px 18px;font-size:12px}.student-toolbar{grid-template-columns:minmax(240px,1fr) minmax(180px,230px) minmax(190px,250px);display:grid}.student-toolbar select{width:100%}.student-table .student-row{color:#eaf6f7;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #21434c;grid-template-columns:1.45fr 1.15fr .7fr .8fr .5fr;align-items:center;gap:16px;width:100%;min-height:80px;padding:14px 8px;font-size:12px;transition:background-color .18s;display:grid}.student-table .student-row>div:not(.student-name){gap:5px;display:grid}.student-table .student-row small{color:#9db7bc}:is(.student-table .student-row:hover,.student-table .student-row:focus-visible){background:#153a44;outline:none}.student-detail-card>header{border-bottom:1px solid #28505a;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;display:flex}.student-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-detail-actions .secondary-action{justify-content:center;align-items:center;gap:8px;display:inline-flex}.admin-student-editor{background:#0a252e;border:1px solid #315963;border-radius:10px;margin-top:22px;overflow:hidden}.admin-editor-heading{background:#123640;border-bottom:1px solid #315963;justify-content:space-between;align-items:end;gap:18px;padding:20px;display:flex}.admin-editor-heading span{color:#66dbe6;letter-spacing:.14em;font-size:10px;font-weight:900}.admin-editor-heading h3,.admin-editor-heading p{margin:5px 0 0}.admin-editor-heading p{color:#a7c0c4;max-width:370px;font-size:13px}.admin-student-editor .member-fields{padding:20px}.admin-editor-actions{justify-content:flex-end;gap:10px;padding:0 20px 20px;display:flex}.student-detail-identity{align-items:center;gap:17px;display:flex}.student-detail-identity>img,.student-detail-identity>i{color:#05232a;object-fit:cover;background:#68dbe5;border-radius:50%;flex:0 0 76px;place-items:center;width:76px;height:76px;font-size:18px;font-style:normal;font-weight:900;display:grid;overflow:hidden}.student-detail-identity h2,.student-detail-identity p{margin:7px 0 0}.student-detail-identity p{color:#9eb9bd}.student-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.student-detail-grid>div{background:#0b2831;border:1px solid #28505a;border-radius:9px;align-content:center;gap:7px;min-height:88px;padding:15px;display:grid}.student-detail-grid span,.student-membership-row span{color:#8faeb3;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.student-membership-row{background:#0b2831;border:1px solid #28505a;border-radius:9px;justify-content:space-between;align-items:end;gap:18px;margin-top:14px;padding:18px;display:flex}.student-membership-row>div{gap:8px;display:grid}.student-membership-row input{color:#edfafa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#071f27;border:1px solid #3a626b;border-radius:8px;min-height:43px;padding:0 12px}.membership-reason{color:#d8e9eb;background:#172f35;border-left:3px solid #e4b24f;margin:14px 0 0;padding:13px 16px}.attendance-sheet{padding:0;overflow:hidden}.attendance-summary{border-bottom:1px solid #28505a;grid-template-columns:repeat(3,1fr);display:grid}.attendance-summary>div{border-right:1px solid #28505a;gap:3px;padding:20px 24px;display:grid}.attendance-summary>div:last-child{border-right:0}.attendance-summary strong{color:#71e0e9;font-size:28px}.attendance-summary span{color:#9eb9bd;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.attendance-sheet .attendance-legend{color:#b6ccd0;border-color:#28505a;padding:15px 24px}.attendance-sheet .roll-list{padding:0 24px}.attendance-sheet .roll-list article{border-color:#234952}.attendance-sheet .roll-list small{color:#91adb2}.attendance-sheet .status-buttons button{color:#a9c1c5;background:#0b252e;border-color:#4a6970;place-items:center;width:42px;height:42px;display:grid}.attendance-sheet .status-buttons button .portal-icon{display:block}.attendance-sheet-footer{background:#0b2831;border-top:1px solid #28505a;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;display:flex}.attendance-sheet-footer span{color:#9eb9bd;font-size:12px}.membership-request-card>form{gap:14px;display:grid}.membership-request-card>form>p,.membership-admin-card>p,.membership-request-status p{color:#9db7bc;line-height:1.55}.membership-request-card label{color:#c9dde0;gap:7px;font-size:11px;font-weight:800;display:grid}.membership-request-card select,.membership-request-card input,.membership-request-card textarea{color:#eaf6f7;width:100%;min-height:44px;font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#0a2730;border:1px solid #315761;border-radius:8px;padding:10px 13px}.membership-request-status{background:#382f1d;border:1px solid #8d7434;border-radius:9px;gap:7px;padding:16px;display:grid}.membership-request-status span,.membership-admin-card article span{color:#f2c966;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.membership-admin-card article{border-top:1px solid #28505a;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.membership-admin-card article>div:first-child{gap:6px;display:grid}.membership-admin-card article p,.membership-admin-card article small{color:#9db7bc;margin:0}.membership-admin-card article>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;width:min(100%,316px);display:grid}.membership-admin-card article>div:last-child>button{justify-content:center;width:100%;min-width:0;min-height:50px;margin:0;padding:0 16px}.audience-picker{border:1px solid #315761;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;display:grid}.audience-picker legend{color:#c8dde0;padding:0 6px;font-size:11px;font-weight:800}.audience-picker label,.important-email-option{background:#0b2831;border:1px solid #315761;border-radius:8px;align-items:flex-start;padding:10px;gap:9px!important;display:flex!important}.audience-picker input,.important-email-option input{flex:0 0 18px;width:18px!important;min-height:18px!important}.important-email-option>span{gap:4px;display:grid}.important-email-option small{color:#94afb4;font-weight:600;line-height:1.45}.email-preview{background:#fff;border:1px solid #b9d1d5;border-radius:14px;padding:0;overflow:visible}.email-preview-brand{text-align:center;background:#0b303a;border-radius:13px 13px 0 0;justify-items:center;padding:22px 20px 19px;display:grid}.email-preview-brand img{border:2px solid #68dce7;width:70px;height:70px;margin-bottom:10px}.email-preview-brand>strong{color:#fff;letter-spacing:.08em;font-size:17px}.email-preview-brand small{color:#a9c9ce;letter-spacing:.16em;margin-top:3px;font-size:8px}.email-preview-brand span{color:#67dce7;letter-spacing:.1em;margin-top:11px;font-size:9px;font-weight:900}.email-preview-body{color:#102f38;background:#fff;border-radius:0 0 13px 13px;justify-items:start;gap:10px;padding:24px;display:grid}.email-preview-body>small:first-child{color:#087c8d;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.email-preview-body>strong{color:#102f38;font-size:22px}.email-preview-body p{box-sizing:border-box;color:#36565e;background:#edf7f8;border-left:4px solid #19bfd1;border-radius:8px;width:100%;margin:0;padding:14px 16px;line-height:1.6}.email-preview-body b{color:#062832;text-align:center;background:#55d4e0;border-radius:9px;justify-self:center;margin-top:8px;padding:13px 22px}.email-preview-body>small:last-child{color:#6b858b;text-align:center;justify-self:center}@media (max-width:900px){.student-toolbar,.student-detail-grid{grid-template-columns:1fr 1fr}.student-toolbar .search-box{grid-column:1/-1}}@media (max-width:700px){.notification-panel{width:auto;position:fixed;top:72px;left:14px;right:14px}.notification-panel:before{display:none}.student-toolbar,.student-detail-grid,.audience-picker{grid-template-columns:1fr}.student-toolbar .search-box{grid-column:auto}.student-table .student-row{grid-template-columns:1fr auto}.student-table .student-row>div:nth-child(2),.student-table .student-row>div:nth-child(3),.student-table .student-row>.card-link{display:none}.student-detail-card>header,.student-membership-row,.membership-admin-card article{flex-direction:column;align-items:stretch}.student-detail-identity{align-items:flex-start}.student-detail-actions,.admin-editor-actions,.admin-editor-heading{flex-direction:column;align-items:stretch}.student-detail-actions>button,.admin-editor-actions>button{width:100%}.admin-student-editor .member-fields{grid-template-columns:1fr;padding:15px}.admin-student-editor .member-fields .wide{grid-column:auto}.attendance-summary>div{padding:15px 12px}.attendance-summary strong{font-size:23px}.attendance-sheet .roll-list{padding:0 14px}.attendance-sheet .roll-list article{grid-template-columns:36px 1fr}.attendance-sheet .status-buttons{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.attendance-sheet .status-buttons button{border-radius:8px;width:100%}.attendance-sheet-footer{flex-direction:column;align-items:stretch}.membership-admin-card article>div:last-child{width:100%}.email-preview-body{padding:20px 16px}.email-preview-body b{box-sizing:border-box;width:100%}}.week-strip{grid-template-columns:repeat(7,1fr)}.schedule-list article{grid-template-columns:112px 5px minmax(0,1fr) minmax(118px,auto)}.schedule-list time{gap:5px;display:grid}.schedule-list time b{color:#d7edef;text-transform:capitalize;font-size:10px}.schedule-list article>div>small,.attendance-class small.rsvp-ready,.attendance-class small.rsvp-low{margin-top:7px;font-size:10px;font-weight:800;display:block}.rsvp-ready{color:#55d7be!important}.rsvp-low{color:#ffd16a!important}.rsvp-actions{justify-content:flex-end;gap:7px;display:flex}.rsvp-actions button{color:#d9edef;background:#12343e;border:1px solid #416772;border-radius:8px;min-height:38px;padding:0 12px}.rsvp-actions button.active.yes{color:#032820;background:#55d7be;border-color:#55d7be}.rsvp-actions button.active.no{color:#32120d;background:#ff907f;border-color:#ff907f}.compact-empty{border:1px dashed #31545d;border-radius:12px;min-height:180px;padding:32px 20px}@media (max-width:700px){.portal-content{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.week-strip{scrollbar-width:none;grid-template-columns:repeat(7,66px);width:100%;min-width:0;max-width:100%;overflow-x:auto}.week-strip::-webkit-scrollbar{display:none}.week-strip button:first-child,.week-strip button:last-child{min-width:66px}.schedule-list article{grid-template-columns:72px 4px minmax(0,1fr);gap:11px;padding:15px 13px}.schedule-list article>div{min-width:0}.schedule-list .capacity,.rsvp-actions{grid-column:3;justify-content:flex-start}.rsvp-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;min-width:0;display:grid}.rsvp-actions button{width:100%;min-width:0;min-height:44px;padding:0 8px}}.portal-shell{--portal-corner:8px;font-family:Nunito Sans,Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.45}.login-screen,.auth-screen,.pending-screen{--portal-corner:8px;font-family:Nunito Sans,Segoe UI,Arial,sans-serif}.login-brand-panel h1,.login-form-panel h2,.auth-screen h1,.pending-screen h1{letter-spacing:-.025em;font-family:Outfit,Nunito Sans,Segoe UI,Arial,sans-serif;font-style:normal;font-weight:700}.login-form-panel button,.auth-screen button,.pending-screen button{border-radius:var(--portal-corner);font-family:Nunito Sans,Segoe UI,Arial,sans-serif}.portal-shell h1,.portal-shell h2,.portal-shell h3,.portal-shell .portal-brand strong,.portal-shell .metric-grid strong,.portal-shell .progress-person>strong,.portal-shell .payment-summary strong,.portal-shell .login-form-panel h1,.portal-shell .pending-screen h1{letter-spacing:-.025em;font-family:Outfit,Nunito Sans,Segoe UI,Arial,sans-serif;font-style:normal}.portal-shell h1{font-weight:720}.portal-shell h2,.portal-shell h3{font-weight:700}.portal-shell button,.portal-shell select,.portal-shell input,.portal-shell textarea,.portal-shell .upload-button{border-radius:var(--portal-corner)}.portal-shell button{letter-spacing:.005em;font-weight:800;transition:color .18s,background-color .18s,border-color .18s,transform .18s}.portal-shell button:hover:not(:disabled){transform:translateY(-1px)}.portal-shell .upload-button:focus-within{outline-offset:2px;outline:3px solid #5cdae757}.portal-shell button:focus-visible{outline-offset:2px;outline:3px solid #5cdae757}.portal-shell select:focus-visible{outline-offset:2px;outline:3px solid #5cdae757}.portal-shell input:focus-visible{outline-offset:2px;outline:3px solid #5cdae757}.portal-shell textarea:focus-visible{outline-offset:2px;outline:3px solid #5cdae757}.primary-action{border-radius:var(--portal-corner);color:#03191f;background:#5cdae7;box-shadow:0 8px 22px #19c4d62e}.primary-action:hover:not(:disabled){color:#001217;background:#78e5ed}.class-row button{border-radius:var(--portal-corner);color:#03252c;background:#62dce7;border-color:#62dce7;min-width:96px;min-height:40px;font-size:12px;box-shadow:0 7px 18px #19c4d624}.class-row button:hover{color:#00171c;background:#8ceaf0;border-color:#8ceaf0}.secondary-action,.outline-action,.schedule-list article>button,.payment-table article>button,.card-link{border-radius:var(--portal-corner)}.secondary-action,.outline-action{color:#dffbfd;background:#123b46;border-color:#3d7d88}.secondary-action:hover,.outline-action:hover{color:#041b20;background:#75e1e9;border-color:#75e1e9}.metric-grid article,.day-card,.alert-card,.section-card,.schedule-list article,.progress-grid>article,.message-list,.message-settings,.personal-schedule article,.login-form-panel,.registration-form{border-radius:12px}.profile-button,.notification-badge,.sidebar-account>span,.profile-editor>i,.status-buttons button{border-radius:50%}.notification-target{outline:0;scroll-margin:110px 0 92px}@media (max-width:700px){.class-row button{width:100%;min-height:44px}}.profile-button{padding:0;overflow:hidden}.portal-shell .profile-button{border-radius:50%}.profile-button img,.profile-editor>img,.student-name>img{object-fit:cover;width:100%;height:100%}.profile-editor>img{border-radius:50%;width:64px;height:64px}.student-name>img{border-radius:50%;flex:none;width:38px;height:38px}.card-link{color:#066f81;background:#fff;border:1px solid #98bec4;width:max-content;padding:8px 10px;font-size:10px;font-weight:900}.student-summary{grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin:34px 0 22px;display:grid}.student-summary article{color:#fff;background:#082a37;flex-direction:column;gap:7px;min-height:130px;padding:23px;display:flex}.student-summary span{color:#6bd8e3;letter-spacing:.12em;font-size:9px;font-weight:900}.student-summary strong{font-family:Bodoni Moda,Georgia,serif;font-size:21px}.student-summary small{color:#b7cdd1}.student-summary button{color:#6bd8e3;background:0 0;border:0;width:max-content;margin-top:auto;padding:0;font-size:11px;font-weight:850}.personal-schedule{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px;display:grid}.personal-schedule article{background:#fff;border-left:5px solid #19c4d6;grid-template-columns:90px 1fr auto;align-items:center;gap:15px;padding:24px;display:grid;box-shadow:0 8px 28px #082a370f}.personal-schedule span{color:#078ca1;font-size:11px;font-weight:900}.personal-schedule time{font-size:11px}.mark-list{gap:7px;margin-top:14px;display:grid}.mark-list p{background:#f0f7f7;grid-template-columns:1fr auto;gap:4px;margin:0;padding:10px;display:grid}.mark-list p small{color:#71858a;grid-column:1/-1}.mark-list .empty-mark{color:#71858a;font-size:11px;display:block}.role-manager{border-top:1px solid #dfe8e9;margin-top:20px;padding-top:18px}.role-manager h3{font-size:13px}.role-manager article{border-top:1px solid #e3ebec;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.role-manager p{gap:3px;margin:0;display:grid}.role-manager small{color:#71858a;font-size:9px}.role-manager select{background:#fff;border:1px solid #b9ced1;max-width:140px;padding:8px}.privacy-note{color:#536c72;background:#edf6f6;padding:14px;font-size:11px}.carnet-summary p{color:#536c72;font-size:11px;line-height:1.55}.carnet-summary>div{border-top:1px solid #dfe8e9;justify-content:space-between;padding:12px 0;font-size:11px;display:flex}.upload-label small{color:#71858a;font-weight:400}.card-modal{width:min(760px,100%)}.card-stage{background:#071e28;place-items:center;min-height:300px;padding:20px;display:grid;overflow:auto}.card-stage>img{object-fit:contain;max-width:100%;max-height:65vh;display:block}.card-stage>img:-webkit-full-screen{background:#071e28;width:100vw;max-width:none;height:100vh;max-height:none}.card-stage>img:fullscreen{background:#071e28;width:100vw;max-width:none;height:100vh;max-height:none}.card-placeholder{color:#c4dadd;text-align:center;max-width:390px}.card-placeholder h3{color:#fff}.upload-button{place-items:center;margin:0;display:grid;position:relative}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.registration-form{text-align:left;background:#fff;grid-template-columns:repeat(2,1fr);gap:12px;width:min(760px,100%);padding:20px;display:grid}.registration-form label{color:#39545a;gap:5px;font-size:10px;font-weight:800;display:grid}.registration-form input,.registration-form select{background:#fff;border:1px solid #bfd0d3;min-height:42px;padding:8px}.registration-form .wide{grid-column:1/-1}.registration-form fieldset{color:#39545a;border:1px solid #bfd0d3;flex-wrap:wrap;gap:10px;padding:12px;display:flex}.registration-form fieldset label{align-items:center;display:flex}.registration-form fieldset input,.registration-form .consent input{min-height:0}.registration-form .consent{color:#c5dcdf;background:#102f39;border:1px solid #31545d;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:12px 14px;font-size:11px;line-height:1.55;display:flex}.registration-form .consent a,.portal-legal-note a{color:#73e1ea;text-underline-offset:2px;font-weight:800;text-decoration:underline;text-decoration-thickness:1px}.registration-form .consent input{accent-color:#20c5d5;flex:none;width:18px;height:18px;margin-top:1px}.legal-sensitive-consent{border-color:#317784!important}.legal-minor-consent{background:#142f42!important;border-color:#5c718f!important}.portal-legal-note{margin-top:18px;font-size:10px;line-height:1.6;display:block;color:#93b5ba!important}.pending-screen>.registration-form button{margin:0}.pending-screen{overflow:auto}.pending-screen>.registration-form+button{color:#a8c2c6;background:0 0}@media (max-width:700px){.student-summary,.personal-schedule{grid-template-columns:1fr}.student-summary article{min-height:110px}.personal-schedule article{grid-template-columns:75px 1fr}.personal-schedule time{grid-column:2}.registration-form{grid-template-columns:1fr;padding:16px}.registration-form .wide{grid-column:auto}.card-stage{min-height:260px}.portal-modal.card-modal{height:100vh}.card-modal .card-stage{flex:1}.settings-grid{display:block}.settings-grid>.section-card{margin-top:16px}}.portal-shell{--portal-ink:#eaf6f7;color:var(--portal-ink);background:#091d25}.portal-content{background:radial-gradient(circle at 88% 8%,#19c4d617,#0000 34%),#0b222b}.portal-page-head h1,.welcome-row h1,.section-card h2,.schedule-list h3,.progress-person h3,.message-list h3,.empty-state h3{color:#f2fbfb}.portal-page-head>div>span,.welcome-row span,.student-table article small,.schedule-list p,.progress-person p,.message-list p,.message-list small,.permission-row p span,.carnet-summary p{color:#9db7bc}.metric-grid article,.day-card,.alert-card,.section-card,.schedule-list article,.progress-grid>article,.message-list,.personal-schedule article{color:#eaf6f7;background:#102f39;border-color:#1b4651;box-shadow:0 12px 32px #0000002e}.student-table article,.message-list article,.progress-person,.permission-row,.role-manager,.role-manager article,.carnet-summary>div{border-color:#21434c}.section-toolbar{color:#a8c1c5;border-color:#3b6871}.section-toolbar select,.search-box,.profile-editor input,.form-grid input,.form-grid select,.form-grid textarea,.role-manager select{color:#eaf6f7;background:#0a2730;border-color:#315761}.search-box input{color:#eaf6f7;background:0 0}.week-strip button,.secondary-action,.outline-action,.schedule-list article>button,.progress-grid article>button,.payment-table article>button,.card-link{color:#bfeaf0;background:#0c2932;border-color:#315c66}.week-strip button.active{color:#04171d;background:#19c4d6;border-color:#19c4d6}.goal,.privacy-note,.mark-list p{color:#c9e5e8;background:#163b44}.mobile-nav{background:#081d25;border-color:#20434c;box-shadow:0 -12px 30px #0000004d}.mobile-nav button{color:#91adb2!important;background:0 0!important}.mobile-nav button.active{color:#5cdae7!important}.family-switcher{color:#8fdce4;letter-spacing:.1em;text-transform:uppercase;gap:3px;font-size:8px;font-weight:900;display:grid}.family-switcher select{color:#eaf6f7;text-transform:none;background:#0b303a;border:1px solid #2e5c66;max-width:190px;padding:7px 28px 7px 9px;font-size:10px}.login-form-panel{color:#eefafa;background:#0b2530}.login-form-panel>div>span,.login-form-panel>div>small{color:#aec5c9}.login-form-panel button{border-color:#4c6a71}.registration-form{background:#0e2a33;border:1px solid #244852}.registration-form label,.registration-form fieldset{color:#cce2e5}.registration-form input,.registration-form select{color:#eefafa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#09232b;border-color:#31545d}.registration-form fieldset{border-color:#31545d}.registration-form .account-type{grid-template-columns:1fr 1fr;gap:10px;display:grid}.registration-form .account-type label{background:#123640;border:1px solid #31545d;padding:12px}.invited-account-type{background:#0e3039;border:1px solid #3b6871;border-radius:8px;gap:5px;padding:16px;display:grid}.invited-account-type>span{color:#6ddce6;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.invited-account-type>strong{color:#effcfd;font-size:15px}.invited-account-type>small{color:#9bb8bc;font-size:10px}.family-member{background:#0a222a;border:1px solid #31545d;grid-column:1/-1}.family-member>header{color:#75dce7;background:#123640;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.family-member>header button{color:#ffb3a7;background:0 0;padding:5px 8px}.member-fields{grid-template-columns:1fr 1fr;gap:12px;padding:15px;display:grid}.member-fields .wide{grid-column:1/-1}.compact-consent{background:#102f39;border:1px solid #31545d;padding:10px 12px;line-height:1.45}.pending-error{text-align:left;background:#4a211f;border:1px solid #a94c43;width:min(760px,100%);margin:0;padding:12px 15px;color:#ffd8d2!important}.pending-status{background:#0e2a33;border-radius:8px;width:min(590px,100%);gap:10px!important;padding:22px!important}.pending-status p{color:#b8cfd3;margin:7px 0;line-height:1.55}.pending-status button{border-radius:8px;justify-self:center;margin:5px 0 0}.profile-consent{grid-column:1/-1;align-items:flex-start;line-height:1.45;grid-template-columns:none!important;gap:9px!important;display:flex!important}.profile-consent input{margin-top:2px;width:18px!important;min-height:18px!important}.google-auth-button{color:#17252b!important;background:#fff!important;border-color:#b8c9cd!important}.google-auth-button:hover:not(:disabled){background:#f4fbfc!important;border-color:#67cfd9!important}.google-logo{flex:0 0 22px;width:22px;height:22px}.auth-divider{color:#8da7ac;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:22px 0 16px;font-size:10px;font-weight:750;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#31515a;flex:1;height:1px}.auth-mode-tabs{background:#071f28;border:1px solid #31515a;border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.login-form-panel .auth-mode-tabs button{color:#a9c2c7;background:0 0;border:0;min-height:40px;font-size:12px}.login-form-panel .auth-mode-tabs button.active{color:#052129;background:#6bdde7}.email-auth-form{gap:13px;margin-top:17px;display:grid}.email-auth-form label{color:#d7e8ea;gap:6px;font-size:11px;font-weight:800;display:grid}.email-auth-form input{color:#f4ffff;width:100%;min-height:46px;font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#071f28;border:1px solid #41616a;border-radius:8px;padding:0 13px}.email-auth-form input:focus-visible{border-color:#5cdae7;outline:3px solid #5cdae747}.login-form-panel .email-auth-submit{color:#041d24;background:#5cdae7;border-color:#5cdae7;min-height:48px;margin-top:3px}.login-form-panel .email-auth-submit:hover:not(:disabled){background:#79e7ef}.login-form-panel .password-reset-button{color:#77dce5;background:0 0;border:0;min-height:34px;font-size:11px}.login-form-panel button:disabled,.email-verification-screen button:disabled{cursor:wait;opacity:.65}.login-form-panel .auth-feedback{letter-spacing:0;text-transform:none;border-radius:8px;margin:0;padding:10px 12px;font-size:11px;font-weight:750;line-height:1.45}.login-form-panel .auth-feedback.error{color:#ffd8d4;background:#492321;border:1px solid #9d4f49}.login-form-panel .auth-feedback.success{color:#c9fff4;background:#163f39;border:1px solid #347d70}.email-verification-screen{text-align:center;padding:32px 22px}.email-verification-screen>img{object-fit:contain;width:88px;height:88px}.email-verification-screen>p{color:#5cdae7;letter-spacing:.18em;margin:4px 0 0;font-size:10px;font-weight:900}.email-verification-screen h1{margin:0;font-size:clamp(34px,7vw,46px)}.email-verification-screen>span{color:#bed2d6;max-width:540px;line-height:1.6}.email-verification-screen>span strong{color:#fff}.verification-actions{grid-template-columns:1fr 1fr;gap:10px;width:min(420px,100%);display:grid}.verification-actions button{min-height:48px}.verification-feedback{color:#d8edef;background:#0e2a33;border:1px solid #31515a;border-radius:8px;max-width:520px;padding:11px 14px;font-size:12px}.email-verification-screen .verification-logout{color:#86dce4;background:0 0;padding:9px 14px}@media (max-width:700px){.login-form-panel{align-items:start;min-height:100vh;padding-top:36px;padding-bottom:36px}.login-form-panel h2{font-size:36px}.verification-actions{grid-template-columns:1fr}}.add-family-member{min-height:46px;margin:0}.registration-review{grid-column:1/-1}.registration-review>p{color:#9db7bc;margin:-10px 0 20px;line-height:1.55}.registration-review>article{border-top:1px solid #21434c;padding:18px 0}.registration-review>article>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.registration-review>article>header div{gap:5px;display:grid}.registration-review>article>header small{color:#8fc5cc}.registration-review .primary-action{min-height:40px}.request-athletes{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px;display:grid}.request-athletes>div{color:#dcebed;background:#0a252e;border-left:3px solid #19c4d6;gap:5px;padding:13px;display:grid}.request-athletes span,.request-athletes small{color:#91adb2;font-size:10px}@media (max-width:700px){.family-switcher span{display:none}.family-switcher select{max-width:130px}.registration-form .account-type,.member-fields{grid-template-columns:1fr}.member-fields .wide,.family-member{grid-column:auto}.registration-review>article>header{flex-direction:column;align-items:stretch}.registration-review .primary-action{width:100%;margin:0}.request-athletes{grid-template-columns:1fr}}@media (min-width:901px) and (max-height:820px){.login-form-panel{padding-block:18px}.login-form-panel h2{font-size:36px}.login-form-panel>div>span{margin:8px 0 16px}.login-form-panel .google-auth-button{min-height:48px}.auth-divider{margin:12px 0 10px}.login-form-panel .auth-mode-tabs button{min-height:42px}.email-auth-form{gap:8px;margin-top:10px}.email-auth-form input{min-height:42px}.login-form-panel .email-auth-submit{min-height:44px}.login-form-panel>div>small{margin-top:10px}.login-form-panel a{margin-top:12px}}.admin-overview{color:#eefbfc;background:#082a37;margin:0 0 22px;padding:24px}.admin-overview .card-heading{border-bottom-color:#31515a}.admin-overview .card-heading p,.admin-overview .card-heading button{color:#68dbe5}.admin-overview .card-heading button{background:#103641;border:1px solid #37636d;padding:8px 11px}.monthly-chart{grid-template-columns:repeat(6,minmax(38px,1fr));gap:12px;height:190px;margin-top:22px;display:grid}.monthly-chart article{text-align:center;grid-template-rows:1fr auto auto;gap:4px;min-width:0;display:grid}.chart-bars{border-bottom:1px solid #41606a;justify-content:center;align-items:end;gap:5px;min-height:135px;display:flex}.chart-bars>i{border-radius:4px 4px 0 0;width:min(18px,36%);min-height:2px}.attendance-bar{background:#61dbe6}.payment-bar{background:#e8b957}.monthly-chart strong{text-transform:uppercase}.monthly-chart small{color:#9eb8bd}.chart-legend{color:#b7cdd1;flex-wrap:wrap;gap:15px;margin-top:14px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.chart-legend span i{border-radius:3px;width:11px;height:11px}.chart-legend small{color:#83a2a8;margin-left:auto}.student-operational-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.student-payment-card,.student-attendance-history,.student-payment-history{background:#0b2831;border:1px solid #28505a;border-radius:9px;padding:18px}.student-payment-card>header,.student-attendance-history>header{border-bottom:1px solid #31515a;justify-content:space-between;align-items:start;gap:12px;padding-bottom:13px;display:flex}.student-payment-card header span:first-child,.student-attendance-history header span{color:#75dce7;letter-spacing:.1em;font-size:9px;font-weight:900}.student-payment-card h3,.student-attendance-history h3,.student-payment-history h3{margin:4px 0 0}.student-payment-facts{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.student-payment-facts p{gap:4px;min-width:0;margin:0;display:grid}.student-payment-facts span,.billing-editor label{color:#8faeb3;font-size:9px}.student-payment-facts strong{overflow-wrap:anywhere;font-size:12px}.billing-editor{border-top:1px solid #31515a;grid-template-columns:.65fr 1fr auto;align-items:end;gap:9px;margin-top:14px;padding-top:14px;display:grid}.billing-editor label{gap:5px;display:grid}.billing-editor input,.payment-due-input,.period-filter input{color:#edfafa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#071f27;border:1px solid #3a626b;min-height:40px;padding:0 10px}.billing-editor button{min-height:40px;padding-inline:12px}.student-attendance-history>article{border-bottom:1px solid #294a53;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.student-attendance-history>article>i{border-radius:50%;width:9px;height:9px}.student-attendance-history>article>i.present{background:#35c5a8}.student-attendance-history>article>i.late{background:#e8b957}.student-attendance-history>article>i.absent{background:#ef8173}.student-attendance-history article div{display:grid}.student-attendance-history article small,.student-attendance-history article>span,.student-attendance-history>p{color:#90adb2;font-size:10px}.self-attendance-card>h2{margin-top:0}.self-attendance-summary{align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.self-attendance-summary strong{color:#68dbe5;font-size:30px}.self-attendance-summary span,.self-attendance-card>p{color:#91adb2}.self-attendance-card>article{border-top:1px solid #294a53;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.self-attendance-card>article>i{background:#ef8173;border-radius:50%;width:9px;height:9px}.self-attendance-card>article>i.present{background:#35c5a8}.self-attendance-card>article>i.late{background:#e8b957}.self-attendance-card article div{display:grid}.self-attendance-card article small,.self-attendance-card article>span{color:#90adb2;font-size:10px}.self-next-payment{background:#0a252e;border:1px solid #31515a;border-radius:8px;grid-template-columns:1fr auto;gap:4px 12px;margin-top:14px;padding:13px;display:grid}.self-next-payment small{color:#90adb2;grid-column:1/-1}.student-payment-history{margin-top:14px}.student-payment-history>article{border-top:1px solid #294a53;grid-template-columns:1.2fr .7fr auto 1.2fr;align-items:center;gap:12px;padding:11px 0;display:grid}.student-payment-history article>div{display:grid}.student-payment-history small{color:#90adb2}.period-filter{color:#759096;text-transform:uppercase;gap:5px;font-size:10px;font-weight:850;display:grid}.period-filter input{min-width:155px}.payment-table article>small{color:#739095;font-size:9px}.email-quota-card{border-top:1px solid #ffffff29;gap:8px;margin-top:18px;padding-top:17px;display:grid}.email-quota-card>span,.email-quota-card small{color:#9fbcc1;font-size:10px}.email-quota-card>div{background:#173e48;border-radius:4px;height:7px;overflow:hidden}.email-quota-card>div i{border-radius:inherit;background:#61dbe6;height:100%;display:block}.request-staff-profile{background:#0a252e;border-left:3px solid #e8b957;gap:6px;margin-top:14px;padding:14px;display:grid}.request-staff-profile span,.request-staff-profile p{color:#91adb2;margin:0;font-size:11px}.staff-onboarding-card{grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;display:flex}.staff-onboarding-card p{color:#75dce7;letter-spacing:.1em;margin:0 0 5px;font-size:9px;font-weight:900}.staff-onboarding-card h2{margin:0 0 8px}.staff-onboarding-card span{color:#9db7bc;max-width:760px;line-height:1.5;display:block}.staff-onboarding-card button{flex:none;min-height:44px;padding-inline:16px}.invite-link-controls{grid-template-columns:minmax(150px,180px) minmax(190px,1fr);align-items:end;gap:10px;min-width:min(100%,420px);display:grid}.invite-link-controls>label{color:#a9c4c8;letter-spacing:.05em;text-transform:uppercase;gap:6px;font-size:9px;font-weight:850;display:grid}.staff-onboarding-card .invite-link-controls .role-select-shell{max-width:none}.invite-link-controls>small{color:#86abb0;grid-column:1/-1;font-size:9px;line-height:1.45}.staff-request-fields>header{gap:15px}.staff-request-fields>header small{color:#a9c2c6;text-align:right}.registration-form textarea{color:#eefafa;background:#09232b;border-color:#31545d}@media (max-width:900px){.student-operational-grid{grid-template-columns:1fr}.billing-editor{grid-template-columns:1fr 1fr}.billing-editor button{grid-column:1/-1}}@media (max-width:700px){.admin-overview{padding:17px}.monthly-chart{gap:5px;height:160px}.chart-bars{min-height:105px}.chart-legend small{width:100%;margin-left:0}.student-payment-facts,.billing-editor{grid-template-columns:1fr}.billing-editor button{grid-column:auto}.student-payment-history>article{grid-template-columns:1fr auto}.student-payment-history>article>small{grid-column:1/-1}.staff-onboarding-card,.staff-request-fields>header{flex-direction:column;align-items:stretch}.staff-onboarding-card button{width:100%}.invite-link-controls{grid-template-columns:1fr;width:100%;min-width:0}.invite-link-controls>small{grid-column:auto}.staff-request-fields>header small{text-align:left}}
