*{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}.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}.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}@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}}.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}.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;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:#f2f6fc;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 #e6edf5;background:#fff;box-shadow:0 2px 12px #102a4314}.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 #bcccdc;font:inherit;background:#fff}.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 #bcccdc;background:#f8fbff;color:#243b53;cursor:pointer;font:inherit}.test-student-btn.assigned{background:#d9fbe5;border-color:#2f9e61;color:#1d5f3c;font-weight:600}.test-student-promoted-to{font-size:.78rem;font-weight:600;line-height:1.2;color:#226646}.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-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{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #102a4314}.classes-table th,.classes-table td{padding:.65rem .75rem;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:top}.classes-table thead th{background:#f2f6fc;font-weight:600}.classes-table tbody tr:last-child td{border-bottom:none}.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-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-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}.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:flex;flex-direction:column;align-items:center;gap:.85rem;box-shadow:0 10px 24px #0f172a14}.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-qr svg{display:block;padding:.45rem;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #0f172a14}@media(max-width:768px){.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,.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}.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}.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}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-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;color:#294158}table thead th,.belts-table thead th,.students-table thead th,.users-table thead th,.test-table thead th,.classes-table thead th,.gocardless-table thead th,.retention-trends-table thead th{background:#f0f4f9f5;color:#294158;font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}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%}.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-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-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{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(max-width:560px){.dashboard-page-header{gap:.65rem}.dashboard-header-badges{width:100%}.status-pill{font-size:.75rem;padding:.38rem .68rem}.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}}
