:root{--bg:#000;--surface:#111;--surface-hover:#181818;--surface-active:#222;--border:#252525;--text:#fff;--text-muted:#888;--text-subtle:#555;--primary:#3b82f6;--primary-hover:#2563eb;--danger:#ef4444;--page-bg:#000;--sidebar-width:220px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Consolas, monospace;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--bg:#f4f7fb;--surface:#fff;--surface-hover:#f1f5f9;--surface-active:#e7eef8;--border:#d9e2ef;--text:#172033;--text-muted:#64748b;--text-subtle:#94a3b8;--page-bg:#f4f7fb}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#333;border-radius:999px}.admin-layout{background:var(--page-bg);min-height:100vh;color:var(--text)}.admin-content{box-sizing:border-box;min-height:100vh;margin-left:240px;padding:32px}.admin-content h1{color:var(--text)}:root[data-theme=light] .students-table-wrapper,:root[data-theme=light] .settings-section,:root[data-theme=light] .schedule-card,:root[data-theme=light] .capacity-card,:root[data-theme=light] .dashboard-section{border-color:var(--border);background:#fff}.auth-page{background:#f8fafc;grid-template-columns:minmax(360px,1.05fr) minmax(480px,1fr);min-height:100vh;display:grid}.auth-intro{color:#fff;background:linear-gradient(145deg,#123d81 0%,#2563b8 53%,#50a0df 100%);flex-direction:column;min-height:100vh;padding:48px clamp(40px,8vw,128px);display:flex;position:relative;overflow:hidden}.auth-brand,.auth-mobile-brand{letter-spacing:-.5px;align-items:center;gap:9px;font-size:20px;font-weight:800;display:flex}.auth-brand span,.auth-mobile-brand span{color:#2470c6;background:#fff;border-radius:8px;place-items:center;width:25px;height:25px;font-size:16px;display:grid}.auth-intro-copy{z-index:1;margin:auto 0;position:relative}.auth-eyebrow{color:#c9e6ff;letter-spacing:1.5px;margin-bottom:20px;font-size:12px;font-weight:700}.auth-intro h1{color:#fff;letter-spacing:-2.8px;font-size:clamp(35px,3.7vw,56px);line-height:1.25}.auth-intro-copy>p:last-child{color:#e2f1ff;margin-top:23px;font-size:17px;line-height:1.75}.auth-copyright{z-index:1;color:#cbe8ff;font-size:12px;position:relative}.auth-decoration{border:1px solid #ffffff38;border-radius:50%;position:absolute}.decoration-one{width:570px;height:570px;bottom:-180px;right:-265px;box-shadow:0 0 0 65px #ffffff0d,0 0 0 130px #ffffff0a}.decoration-two{width:350px;height:350px;top:-185px;left:-135px}.auth-panel{place-items:center;padding:40px 24px;display:grid}.auth-card{width:min(100%,430px)}.auth-card-signup{width:min(100%,620px)}.auth-mobile-brand{color:#1f4f96;margin-bottom:44px;display:none}.auth-heading{margin-bottom:34px}.auth-heading h2{color:#152238;letter-spacing:-1.25px;font-size:29px}.auth-heading p{color:#738096;margin-top:10px;font-size:15px}.auth-form{flex-direction:column;gap:17px;display:flex}.auth-form-section{border:1px solid #e0e7f0;border-radius:12px;flex-direction:column;gap:14px;margin:0;padding:18px;display:flex}.auth-form-section legend{color:#1d4f91;padding:0 5px;font-size:14px;font-weight:800}.auth-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.auth-form label{color:#334155;flex-direction:column;gap:8px;font-size:13px;font-weight:700;display:flex}.auth-form em{color:#94a3b8;margin-left:5px;font-size:11px;font-style:normal;font-weight:500}.auth-form input,.auth-form select{color:#172033;background:#fff;border:1px solid #d8e0eb;border-radius:10px;outline:none;width:100%;height:48px;padding:0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-form input[type=file]{height:auto;padding:11px 12px;font-size:12px}.auth-form input::placeholder{color:#a3adbd}.auth-form input:focus,.auth-form select:focus{border-color:#3479ce;box-shadow:0 0 0 3px #3479ce21}.auth-submit{color:#fff;background:#256bc0;border:0;border-radius:10px;width:100%;height:50px;margin-top:7px;font-size:15px;font-weight:700;transition:background .15s,transform .15s}.auth-submit:hover:not(:disabled){background:#195ba8;transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-pending-note{color:#8a5b04;background:#fffaeb;border:1px solid #fde1a4;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.55}.auth-form small{color:#5c7c9f;font-size:11px;font-weight:600}.auth-message{border-radius:8px;margin-top:18px;padding:11px 13px;font-size:13px;line-height:1.45}.auth-error{color:#b42318;background:#fff0ef}.auth-notice{color:#0b6c47;background:#e9fbf3}.auth-approval-message{margin:0 0 22px;padding:16px}.auth-approval-message strong{font-size:15px;display:block}.auth-approval-message p{margin:8px 0 0;line-height:1.6}.auth-switch{color:#7d899c;text-align:center;margin-top:28px;font-size:13px}.auth-switch button{color:#2168bc;font-size:inherit;background:0 0;border:0;margin-left:9px;padding:0;font-weight:800}.auth-switch button:hover{text-decoration:underline}@media (width<=800px){.auth-page{background:#fff;display:block}.auth-intro{display:none}.auth-panel{min-height:100vh;padding:40px 24px}.auth-mobile-brand{display:flex}}@media (width<=430px){.auth-panel{padding:32px 20px}.auth-heading h2{font-size:25px}.auth-form-row{grid-template-columns:1fr;gap:17px}}.sidebar{z-index:30;width:var(--sidebar-width);border-right:1px solid var(--border);background:var(--surface);height:100dvh;color:var(--text);flex-direction:column;padding:24px 16px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar-logo{flex-shrink:0;align-items:center;gap:12px;padding:0 9px;display:flex}.sidebar-brand-mark{background:var(--primary-solid);color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.sidebar-logo strong{color:var(--primary);letter-spacing:-1.2px;font-size:25px;font-weight:850;line-height:1.05;display:block}.sidebar-logo small{color:var(--text-muted);margin-top:5px;font-size:11px;font-weight:550;line-height:1.3;display:block}.sidebar-workspace{border:1px solid var(--border);background:var(--surface-hover);width:100%;color:var(--text);text-align:left;border-radius:12px;flex-shrink:0;align-items:center;gap:10px;margin:24px 0 18px;padding:12px;transition:background .16s,border-color .16s;display:flex}.sidebar-workspace:hover{border-color:var(--primary);background:var(--primary-soft)}.workspace-avatar{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--primary);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.workspace-copy{flex:1;min-width:0}.workspace-copy strong{font-size:13px;font-weight:700;display:block}.workspace-copy>span{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.workspace-arrow{color:var(--text-muted);flex-shrink:0}.sidebar-menu{scrollbar-width:thin;flex-direction:column;flex:1;gap:18px;min-height:0;margin:0 -6px;padding:6px;display:flex;overflow:hidden auto}.sidebar-group{flex-shrink:0}.sidebar-group+.sidebar-group{padding-top:4px}.sidebar-group-label{color:var(--primary);letter-spacing:-.2px;align-items:center;gap:10px;margin-bottom:10px;padding:0 12px;font-size:12px;font-weight:750;display:flex}.sidebar-group-label:after{content:"";background:var(--border);flex:1;height:1px}.sidebar-group-items{gap:3px;display:grid}.sidebar-menu-item{width:100%;min-height:40px;color:var(--text-muted);text-align:left;letter-spacing:-.2px;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:9px 12px;font-size:14px;font-weight:550;line-height:1.4;transition:background .16s,color .16s;display:flex}.sidebar-menu-item:hover{background:var(--surface-hover);color:var(--text)}.sidebar-menu-item.active{background:var(--primary-solid);color:#fff;font-weight:700}.sidebar-menu-icon{flex-shrink:0;display:flex}.sidebar-menu-icon svg{width:19px;height:19px}.sidebar-menu-label{min-width:0}.sidebar-active-arrow{flex-shrink:0;margin-left:auto}.sidebar-bottom{border-top:1px solid var(--border);flex-shrink:0;margin-top:14px;padding-top:10px}.sidebar-logout{font-size:12px}@media (width<=1100px){.sidebar{padding-inline:12px}.sidebar-logo{padding-inline:7px}}@media (width<=760px){.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;padding:16px;position:relative;overflow:visible}.sidebar-logo{padding:0}.sidebar-logo strong{font-size:22px}.sidebar-brand-mark{border-radius:12px;width:38px;height:38px}.sidebar-brand-mark svg{width:31px;height:31px}.sidebar-logo small,.sidebar-group-label,.sidebar-active-arrow{display:none}.sidebar-workspace{margin:16px 0 12px;padding:10px 12px}.sidebar-menu{flex-direction:row;flex:none;gap:10px;margin:0 -6px -6px;overflow:auto hidden}.sidebar-group-items{gap:4px;display:flex}.sidebar-group+.sidebar-group{border-top:0;border-left:1px solid var(--border);padding-top:0;padding-left:10px}.sidebar-menu-item{white-space:nowrap;flex-shrink:0;gap:7px;width:auto;min-height:40px;padding:9px 12px;font-size:12px}.sidebar-menu-icon svg{width:17px;height:17px}.sidebar-bottom{border:0;margin:0;padding:0;position:absolute;top:14px;right:16px}}.students-page{width:100%;color:var(--text)}.students-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.students-header h1{color:var(--text);margin:0 0 6px;font-size:28px;font-weight:600}.students-header p{color:var(--text-muted);margin:0;font-size:14px}.students-add-button{background:var(--surface);color:var(--text);cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:opacity .15s}.students-add-button:hover{opacity:.8}.students-toolbar input,.students-toolbar select{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-hover);height:40px;color:var(--text);border-radius:8px;outline:none;font-size:14px}.students-toolbar input{width:280px;padding:0 12px}.students-toolbar select{width:120px;padding:0 10px}.students-toolbar input::placeholder{color:var(--text-muted)}.students-toolbar input:focus,.students-toolbar select:focus{border-color:var(--border)}.students-table-wrapper{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.students-table{border-collapse:collapse;text-align:left;width:100%}.students-table th{border-bottom:1px solid var(--border);background:var(--surface-hover);color:var(--text-muted);padding:13px 16px;font-size:12px;font-weight:600}.students-table td{border-bottom:1px solid var(--border);color:var(--text);padding:15px 16px;font-size:14px}.students-table tbody tr{cursor:pointer;transition:background .15s}.students-table tbody tr:last-child td{border-bottom:none}.student-status{border-radius:6px;align-items:center;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}@media (width<=768px){.students-header{align-items:flex-start;gap:16px}.students-header h1{font-size:24px}.students-toolbar{flex-direction:column;align-items:stretch}.students-toolbar input,.students-toolbar select{width:100%}.students-table-wrapper{overflow-x:auto}.students-table{min-width:650px}}.student-form-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.student-form-panel{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:12px;width:600px;max-width:calc(100% - 40px);max-height:calc(100vh - 40px);padding:28px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.student-form-panel.student-create-panel{display:block;overflow-y:auto}.student-form-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.student-form-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;font-size:24px;line-height:32px}.student-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.student-form-field{flex-direction:column;gap:7px;display:flex}.student-form-field label{color:var(--text-muted);font-size:13px}.student-form-field input,.student-form-field select,.student-form-field textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-hover);width:100%;color:var(--text);border-radius:7px;outline:none;font-family:inherit;font-size:14px}.student-form-field textarea{resize:vertical;padding:10px 11px}.student-form-field input::placeholder,.student-form-field textarea::placeholder{color:var(--text-muted)}.student-form-field input:focus,.student-form-field select:focus,.student-form-field textarea:focus{border-color:var(--border)}.student-form-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.student-form-cancel,.student-form-submit{cursor:pointer;border-radius:7px;height:40px;padding:0 16px;font-size:13px;font-weight:600}.student-form-cancel{border:1px solid var(--border);background:var(--surface-hover);color:var(--text-muted)}.student-form-submit{background:var(--surface);color:var(--text);border:none}.student-form-submit:hover:not(:disabled){background:var(--primary-solid-hover)}.student-form-submit:disabled{opacity:.5;cursor:not-allowed}.students-error{color:#f87171;margin-top:12px;font-size:13px}@media (width<=700px){.student-form-grid{grid-template-columns:1fr}.student-form-field.full{grid-column:auto}.student-form-panel{padding:20px}}.students-toolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.students-search{width:280px;position:relative}.students-search-icon{color:var(--text-muted);pointer-events:none;font-size:17px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.students-search input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-hover);width:100%;height:40px;color:var(--text);border-radius:8px;outline:none;padding:0 12px 0 34px;font-size:14px}.students-search input::placeholder{color:var(--text-muted)}.students-search input:focus{border-color:var(--border)}.students-toolbar select{border:1px solid var(--border);background:var(--surface-hover);height:40px;color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:0 30px 0 12px;font-size:14px}.students-toolbar select:focus{border-color:var(--border)}.students-count{color:var(--text-muted);margin-bottom:14px;font-size:13px}.student-photo-section{align-items:center;gap:20px;margin-bottom:24px;display:flex}.student-photo-preview{border-radius:12px;flex-shrink:0;width:140px;height:140px;overflow:hidden}.student-photo-empty{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.students-header-actions{gap:10px;display:flex}.student-form-field span{color:var(--text-muted);font-size:13px}.student-form-field b{color:#f87171}.student-form-section+.student-form-section{margin-top:26px}.student-form-section-title{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.student-form-section-title h3{color:var(--text);margin:0;font-size:15px}.student-form-section-title span{color:var(--text-muted);font-size:12px}.import-guide{border:1px solid var(--border);background:var(--surface-hover);color:var(--text-muted);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px;font-size:12px;display:grid}.import-guide strong{color:var(--text)}.import-guide button{background:var(--surface-hover);color:var(--text);border:0;border-radius:6px;padding:8px 10px;font-weight:600}@media (width<=700px){.students-header-actions{width:100%}.students-header-actions button{white-space:nowrap;flex:1;padding-inline:8px}.import-guide{grid-template-columns:1fr}}.students-page{max-width:none;color:var(--text);margin:0 auto}.students-header h1{color:var(--text);letter-spacing:-.5px;font-weight:700}.students-header p,.students-count{color:var(--text-muted)}.students-add-button{color:#fff;background:#0f766e;border-radius:9px;box-shadow:0 3px 9px #0f766e2e}.students-toolbar input,.students-toolbar select,.students-search input{border-color:var(--border);background:var(--surface);color:var(--text)}.students-toolbar input:focus,.students-toolbar select:focus,.students-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.students-table-wrapper{background:var(--surface);border-color:#dfe8f3;border-radius:13px;box-shadow:0 3px 12px #0f172a14}.students-table th{border-color:var(--border);background:var(--surface-hover);color:var(--text-muted)}.students-table td{color:#263449;border-color:#edf1f5}.student-form-panel.student-create-panel{background:var(--surface);color:#263449;border-color:#dfe8f3;box-shadow:0 18px 50px #0f172a33}.student-create-panel .student-form-header h2,.student-create-panel .student-form-section-title h3{color:#1b2a40}.student-create-panel .student-form-header p,.student-create-panel .student-form-field label,.student-create-panel .student-form-field span{color:#718098}.student-create-panel .student-form-field input,.student-create-panel .student-form-field select,.student-create-panel .student-form-field textarea{background:var(--surface);color:#1d2939;border-color:#cfdce9}.student-create-panel .student-form-cancel{background:var(--surface);color:#516174;border-color:#cfdce9}.student-create-panel .student-form-submit{color:#fff;background:#256bc0}:root[data-theme=dark] .student-form-panel.student-create-panel{color:#e4edf6;background:#172234;border-color:#2a3b50}:root[data-theme=dark] .student-create-panel .student-form-header h2,:root[data-theme=dark] .student-create-panel .student-form-section-title h3{color:#f4f8fc}:root[data-theme=dark] .student-create-panel .student-form-field input,:root[data-theme=dark] .student-create-panel .student-form-field select,:root[data-theme=dark] .student-create-panel .student-form-field textarea{color:#e4edf6;background:#111c2b;border-color:#344a63}:root[data-theme=dark] .student-create-panel .student-form-cancel{color:#c7d3df;background:#1d2a3d;border-color:#344a63}.student-schedule-section{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:100%;margin-top:24px;padding:24px;overflow:hidden;box-shadow:0 1px 2px #0f172a08}.student-schedule-header{justify-content:space-between;align-items:center;gap:16px;min-width:0;margin-bottom:20px;display:flex}.student-schedule-header>div{min-width:0}.student-schedule-header h3{color:var(--text);margin:0;font-size:17px;font-weight:700;line-height:1.4}.student-schedule-header p{color:var(--text-muted);margin:6px 0 0;font-size:13px;line-height:1.5}.student-schedule-header>button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:8px;flex:none;height:36px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s}.student-schedule-header>button:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 2px 6px #2563eb33}.student-schedule-header>button:disabled{opacity:.5;cursor:not-allowed}.student-schedule-form{box-sizing:border-box;background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.3fr) auto;align-items:end;gap:12px;width:100%;max-width:100%;margin-bottom:20px;padding:16px;display:grid;overflow:hidden}.student-schedule-form>div{min-width:0}.student-schedule-form label{color:var(--text);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.student-schedule-form select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;max-width:100%;height:38px;color:var(--text);cursor:pointer;box-sizing:border-box;border-radius:7px;outline:none;padding:0 10px;font-size:13px;transition:border-color .15s,box-shadow .15s;display:block}.student-schedule-form select:hover:not(:disabled){border-color:var(--border)}.student-schedule-form select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.student-schedule-form select:disabled{background:var(--surface-hover);cursor:not-allowed}.student-schedule-form>div:last-child{white-space:nowrap;align-items:center;gap:6px;display:flex}.student-schedule-form button{cursor:pointer;white-space:nowrap;border-radius:7px;height:38px;padding:0 13px;font-size:13px;font-weight:600}.student-schedule-form button:first-child{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.student-schedule-form button:first-child:hover:not(:disabled){background:var(--surface-hover)}.student-schedule-form button:last-child{color:#fff;background:#2563eb;border:1px solid #2563eb}.student-schedule-form button:last-child:hover:not(:disabled){background:#1d4ed8}.student-schedule-form button:disabled{opacity:.5;cursor:not-allowed}.student-schedule-section .students-error{color:#dc2626;box-sizing:border-box;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:13px;line-height:1.5}.student-schedule-empty{border:1px dashed var(--border);background:var(--surface-hover);min-height:100px;color:var(--text-muted);box-sizing:border-box;border-radius:10px;justify-content:center;align-items:center;padding:20px;font-size:13px;display:flex}.student-schedule-list{border-top:1px solid var(--border);flex-direction:column;width:100%;min-width:0;display:flex}.student-schedule-row{border-bottom:1px solid var(--border);box-sizing:border-box;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:66px;padding:12px 6px;transition:background .15s;display:grid}.student-schedule-row:hover{background:var(--surface-hover)}.student-schedule-row:last-child{border-bottom:none}.student-schedule-row>div:first-child{min-width:0}.student-schedule-row>div:first-child strong{color:#2563eb;box-sizing:border-box;background:#eff6ff;border-radius:6px;justify-content:center;align-items:center;min-width:52px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.student-schedule-row>div:nth-child(2){align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.student-schedule-row>div:nth-child(2) strong{color:var(--text);flex-shrink:0;font-size:14px;font-weight:600}.student-schedule-row>div:nth-child(2) span{min-width:0;color:var(--text-muted);white-space:nowrap;font-size:13px}.student-schedule-row>div:last-child{flex-shrink:0;align-items:center;gap:6px;display:flex}.student-schedule-row button{cursor:pointer;white-space:nowrap;border-radius:6px;height:32px;padding:0 11px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.student-schedule-row button:first-child{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.student-schedule-row button:first-child:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border)}.student-schedule-row button:last-child{background:var(--surface);color:#dc2626;border:1px solid #fecaca}.student-schedule-row button:last-child:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.student-schedule-row button:disabled{opacity:.5;cursor:not-allowed}.student-schedule-row.editing{background:var(--surface-hover);box-sizing:border-box;border-radius:8px;grid-template-columns:minmax(120px,1fr) minmax(180px,1.5fr) auto;padding:12px 10px}.student-schedule-row.editing>select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;height:36px;color:var(--text);cursor:pointer;box-sizing:border-box;border-radius:7px;outline:none;padding:0 10px;font-size:13px}.student-schedule-row.editing>select:hover:not(:disabled){border-color:var(--border)}.student-schedule-row.editing>select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.student-schedule-row.editing>div:last-child{flex-shrink:0;align-items:center;gap:6px;display:flex}.student-schedule-row.editing>div:last-child button:first-child{color:#fff;background:#2563eb;border-color:#2563eb}.student-schedule-row.editing>div:last-child button:first-child:hover:not(:disabled){background:#1d4ed8}.student-schedule-row.editing>div:last-child button:last-child{border-color:var(--border);background:var(--surface);color:var(--text-muted)}.student-schedule-row.editing>div:last-child button:last-child:hover:not(:disabled){background:var(--surface-hover)}.student-schedule-section>p{color:var(--text-muted);margin:16px 0 0;font-size:13px}@media (width<=850px){.student-schedule-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.student-schedule-form>div:last-child{grid-column:1/-1;justify-content:flex-end}.student-schedule-row.editing{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.student-schedule-row.editing>div:last-child{grid-column:1/-1;justify-content:flex-end}}@media (width<=600px){.student-schedule-section{border-radius:12px;margin-top:18px;padding:16px}.student-schedule-header{flex-direction:column;align-items:flex-start;gap:12px}.student-schedule-header>button{width:100%}.student-schedule-form{grid-template-columns:1fr;gap:12px;padding:14px}.student-schedule-form>div:last-child{grid-column:auto;justify-content:flex-end;width:100%}.student-schedule-form button{flex:1}.student-schedule-row{grid-template-columns:70px minmax(0,1fr);gap:10px;padding:12px 4px}.student-schedule-row>div:last-child{grid-column:1/-1;justify-content:flex-end}.student-schedule-row.editing{grid-template-columns:1fr;gap:10px;padding:12px}.student-schedule-row.editing>div:last-child{grid-column:auto;justify-content:flex-end}.student-schedule-row>div:nth-child(2){flex-direction:column;align-items:flex-start;gap:2px}}@media (width<=400px){.student-schedule-section,.student-schedule-form{padding:12px}.student-schedule-row{grid-template-columns:1fr}.student-schedule-row>div:first-child{margin-bottom:2px}.student-schedule-row>div:last-child{grid-column:auto;justify-content:flex-start}}.student-form-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:flex-start;padding:32px;display:flex;position:fixed;inset:0}.student-form-panel{background:var(--surface);width:100%;max-width:900px;max-height:calc(100vh - 64px);color:var(--text);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a2e}.student-form-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.student-form-header h2{color:var(--text);margin:0;font-size:21px;font-weight:700}.student-form-header p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.student-form-close{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:25px;line-height:1;transition:background .15s,color .15s;display:flex}.student-form-close:hover{background:var(--surface-hover);color:var(--text)}.student-form-content{min-height:0;color:var(--text);flex:1;padding:24px 28px;overflow-y:auto}.student-form-content::-webkit-scrollbar{width:7px}.student-form-content::-webkit-scrollbar-track{background:0 0}.student-form-content::-webkit-scrollbar-thumb{background:var(--surface-hover);border-radius:999px}.student-form-content::-webkit-scrollbar-thumb:hover{background:var(--surface-hover)}.student-detail-section{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.student-detail-section-header{margin-bottom:16px}.student-detail-section-header h3{color:var(--text);margin:0;font-size:16px;font-weight:700}.student-detail-section-header p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.student-form-grid{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-bottom:28px;padding-bottom:28px;display:grid}.student-form-field{flex-direction:column;gap:7px;min-width:0;display:flex}.student-form-field.full{grid-column:1/-1}.student-form-field label{color:var(--text);font-size:13px;font-weight:600;line-height:1.4;display:block}.student-form-field input,.student-form-field select,.student-form-field textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:7px;outline:none;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.student-form-field input,.student-form-field select{height:38px;padding:0 11px}.student-form-field textarea{resize:vertical;min-height:90px;padding:9px 11px}.student-form-field input:focus,.student-form-field select:focus,.student-form-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.student-form-field input:disabled,.student-form-field select:disabled,.student-form-field textarea:disabled{background:var(--surface-hover);color:var(--text-muted);cursor:not-allowed}.student-form-field input[readonly],.student-form-field textarea[readonly]{background:var(--surface-hover);color:var(--text-muted);cursor:default}.student-photo-section{border-bottom:1px solid var(--border);color:var(--text);align-items:flex-start;gap:28px;margin-bottom:28px;padding-bottom:28px;display:flex}.student-photo-wrapper{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:180px;display:flex;position:relative}.student-photo-preview{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-hover);border-radius:14px;flex-shrink:0;width:180px;height:180px;position:relative;overflow:hidden}.student-photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.student-photo-empty{background:var(--surface-hover);width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.student-photo-upload-button{border:1px solid var(--primary-solid);background:var(--primary-solid);color:#fff;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;min-width:92px;height:36px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.student-photo-upload-button:hover{background:var(--primary-solid-hover);border-color:var(--primary-solid-hover)}.student-photo-upload-button:disabled{opacity:.6;cursor:not-allowed}.student-photo-remove{color:#fff;cursor:pointer;z-index:5;background:#111827bf;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-family:Arial,sans-serif;font-size:20px;font-weight:400;line-height:1;transition:background .15s,transform .15s;display:flex;position:absolute;top:8px;right:8px}.student-photo-remove:hover{background:#dc2626;transform:scale(1.05)}.student-photo-remove:disabled{opacity:.5;cursor:not-allowed;transform:none}.student-photo-change-button{border:1px solid var(--border);background:var(--surface);min-width:92px;height:34px;color:var(--text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.student-photo-change-button:hover{background:var(--surface-hover);border-color:var(--border)}.student-photo-change-button:disabled{opacity:.6;cursor:not-allowed}.student-profile-summary{min-width:0;color:var(--text);flex:1;padding-top:4px}.student-profile-name-row{align-items:center;gap:9px;margin-bottom:18px;display:flex}.student-profile-name-row h2{color:var(--text);margin:0;font-size:22px;font-weight:700;line-height:1.3}.student-status-badge{border-radius:999px;justify-content:center;align-items:center;min-width:44px;height:25px;padding:0 9px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.student-status-badge.active{background:var(--success-soft);color:var(--success)}.student-status-badge.on-hold{background:var(--surface-hover);color:var(--warning)}.student-status-badge.withdrawn{background:var(--calendar-closed-bg);color:var(--danger)}.student-profile-info{color:var(--text);flex-direction:column;gap:10px;display:flex}.student-profile-info-row{min-height:22px;color:var(--text);align-items:flex-start;font-size:14px;line-height:1.5;display:flex}.student-profile-label{width:72px;color:var(--text-muted);flex-shrink:0;font-size:13px;font-weight:600}.student-profile-value{color:var(--text);word-break:break-word}.student-profile-schedule{align-items:flex-start}.student-profile-schedule-list{flex-direction:column;gap:6px;min-width:0;display:flex}.student-profile-schedule-item{color:var(--text);align-items:center;gap:8px;font-size:13px;line-height:1.5;display:flex}.student-profile-schedule-item strong{min-width:22px;color:var(--text);font-weight:700}.student-profile-schedule-item span{color:var(--text-muted)}.student-profile-empty{color:var(--text-muted);font-size:13px}.student-schedule-section{border-bottom:1px solid var(--border);color:var(--text);margin-bottom:24px;padding-bottom:24px}.students-error{color:var(--danger);margin:12px 0;font-size:13px}.student-form-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.student-form-footer button{cursor:pointer;border-radius:7px;height:38px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.student-form-footer button:disabled{opacity:.6;cursor:not-allowed}.student-form-footer .student-form-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text)}.student-form-footer .student-form-cancel:hover{background:var(--surface-hover)}.student-form-footer .student-form-submit{border:1px solid var(--primary-solid);background:var(--primary-solid);color:#fff}.student-form-footer .student-form-submit:hover{background:var(--primary-solid-hover)}.student-form-footer .student-form-delete{color:#be123c;background:#fff1f2;border:1px solid #fecaca;margin-right:auto}.student-form-footer .student-form-delete:hover{background:#ffe4e6}.student-points-balance{background:var(--primary-soft);border-radius:9px;justify-content:space-between;align-items:baseline;margin-bottom:12px;padding:14px 16px;display:flex}.student-points-balance span{color:var(--text-muted);font-size:13px;font-weight:600}.student-points-balance strong{color:var(--primary);font-size:23px}.student-points-form{grid-template-columns:145px 1fr auto;gap:8px;display:grid}.student-points-form input{border:1px solid var(--border);min-width:0;height:38px;font:inherit;border-radius:7px;padding:0 10px}.student-points-form button{background:var(--primary-solid);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:7px;padding:0 12px;font-size:13px;font-weight:700}.student-points-history{border-top:1px solid var(--border);margin-top:14px}.student-points-history>div{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:3px 12px;padding:10px 0;font-size:13px;display:grid}.student-points-history b.plus{color:var(--success)}.student-points-history b.minus{color:var(--danger)}.student-points-history small{color:var(--text-muted);grid-column:1/-1}.student-attendance-section{border-bottom:0;padding-bottom:0}.student-attendance-section .student-detail-section-header p{line-height:1.7}.attendance-calendar-header{justify-content:space-between;align-items:center;margin:24px 0 18px;display:flex}.attendance-calendar-header strong{color:var(--text);letter-spacing:-.5px;font-size:22px}.attendance-calendar-header button{border:1px solid var(--border);width:42px;height:42px;color:var(--text);background:var(--surface);cursor:pointer;border-radius:14px;place-items:center;font-size:26px;line-height:1;display:grid}.attendance-calendar-header button:hover{background:var(--surface-hover)}.attendance-calendar-header button:focus-visible{outline-offset:3px;outline:2px solid #60a5fa}.attendance-calendar-legend{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.attendance-calendar-legend span{border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.attendance-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.attendance-weekday{color:var(--text-muted);text-align:center;padding:0 0 8px;font-size:13px;font-weight:700}.attendance-calendar-day,.attendance-calendar-blank{min-height:78px;color:var(--text-muted);background:var(--surface-hover);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.attendance-calendar-blank{background:0 0}.attendance-calendar-day b{font-size:18px;font-weight:700}.attendance-calendar-day small{text-align:center;font-size:11px;font-weight:600;line-height:1.3}.attendance-calendar-legend .present,.attendance-calendar-day.present{color:#fff;background:#15803d}.attendance-calendar-legend .absent,.attendance-calendar-day.absent{color:#fff;background:#be123c}.attendance-calendar-legend .notified,.attendance-calendar-day.notified{color:#fff;background:#a16207}.attendance-calendar-legend .makeup,.attendance-calendar-day.makeup{color:#fff;background:#7c3aed}.attendance-calendar-day.is-today{outline-offset:3px;outline:2px solid #3b82f6}.attendance-calendar-day.has-memo{cursor:help;position:relative}.attendance-calendar-day.has-memo:after{z-index:10;color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:pre-wrap;overflow-wrap:anywhere;background:#27364a;border-radius:10px;width:max-content;max-width:210px;padding:9px 12px;font-size:12px;line-height:1.5;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,3px);box-shadow:0 5px 14px #0f172a33}.attendance-calendar-day.has-memo:hover:after,.attendance-calendar-day.has-memo:focus:after{opacity:1;transform:translate(-50%)}.attendance-calendar-day.has-memo:nth-child(7n+1):after{left:0;transform:none}.attendance-calendar-day.has-memo:nth-child(7n):after{left:auto;right:0;transform:none}@media (width<=560px){.attendance-calendar-grid{gap:6px}.attendance-calendar-day,.attendance-calendar-blank{border-radius:11px;min-height:62px}.attendance-calendar-day b{font-size:15px}.attendance-calendar-day small{font-size:9px}.attendance-calendar-header strong{font-size:20px}}@media (width<=768px){.student-form-overlay{padding:16px}.student-form-panel{border-radius:12px;max-height:calc(100vh - 32px)}.student-form-header{padding:18px 20px}.student-form-content{padding:20px}.student-form-footer{padding:12px 20px}.student-form-grid{grid-template-columns:1fr}.student-form-field.full{grid-column:auto}.student-photo-section{gap:20px}.student-photo-wrapper{width:140px}.student-photo-preview{width:140px;height:140px}.student-profile-name-row h2{font-size:19px}.student-profile-info-row{font-size:13px}.student-points-form{grid-template-columns:1fr}}@media (width<=560px){.student-photo-section{flex-direction:column}.student-photo-wrapper{width:100%}.student-photo-preview{width:150px;height:150px}.student-profile-summary{width:100%}}.student-detail-tabs{border:1px solid var(--border);background:var(--surface-hover);border-radius:10px;gap:4px;margin:-4px 0 24px;padding:4px;display:flex;overflow-x:auto}.student-detail-tabs button{min-width:max-content;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:9px 12px;font-size:13px;font-weight:700}.student-detail-tabs button:hover{color:var(--text)}.student-detail-tabs button.active{background:var(--surface);color:#2563eb;box-shadow:0 1px 3px #0f172a1f}.student-detail-tab-content>.student-detail-section:last-child,.student-detail-tab-content>.student-schedule-section:last-child{margin-bottom:0}.attendance-calendar-day{font:inherit;color:inherit;cursor:pointer}.attendance-calendar-day.mixed{background:linear-gradient(135deg,var(--success-soft) 50%,var(--calendar-closed-bg) 50%);color:var(--text)}.attendance-calendar-day.legacy{background:var(--surface-muted,#f2f4f7);border-style:dashed}.attendance-calendar-day[aria-pressed=true]{outline:2px solid var(--primary,#2870bf);outline-offset:1px}.attendance-calendar-day small{white-space:normal;overflow-wrap:anywhere}.attendance-day-details{border:1px solid var(--border,#d0d5dd);border-radius:10px;margin-top:16px;padding:14px}.attendance-detail-row{border-bottom:1px solid var(--border,#d0d5dd);flex-wrap:wrap;gap:6px 12px;padding:10px 0;display:flex}.attendance-detail-row strong,.attendance-detail-row small,.attendance-detail-row p{flex-basis:100%}.attendance-detail-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.student-detail-panel .student-form-header{padding:22px 28px}.student-form-overlay:has(dialog[open]){-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}dialog.student-form-panel{width:900px;max-width:calc(100% - 40px);margin:auto;padding:0}dialog.student-form-panel::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080}dialog.student-detail-panel{height:min(800px,100dvh - 40px);max-height:calc(100dvh - 40px)}.student-detail-panel .student-form-content{scrollbar-gutter:stable}dialog.student-create-panel{width:680px;padding:28px}.student-create-form{display:contents}.student-detail-panel .student-form-header h2{letter-spacing:-.6px;font-size:24px}.student-detail-panel .student-form-close{border:1px solid var(--border);background:var(--surface-hover)}.student-detail-panel .student-detail-tabs{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;gap:20px;margin:0 0 24px;padding:0}.student-detail-panel .student-detail-tabs button{border-radius:0;flex:none;min-height:44px;padding:8px 0 13px;font-size:14px;position:relative}.student-detail-panel .student-detail-tabs button.active{color:var(--primary);box-shadow:none;border-bottom:3px solid var(--primary);background:0 0}.student-detail-panel .student-photo-section{border:1px solid var(--border);background:var(--surface-hover);border-radius:12px;gap:22px;padding:20px}.student-detail-panel .student-photo-wrapper{width:120px}.student-detail-panel .student-photo-preview{background:var(--surface);border-radius:10px;width:120px;height:120px}.student-detail-panel .student-photo-empty{background:var(--surface)}.student-detail-panel .student-profile-name-row{flex-wrap:wrap;margin-bottom:12px}.student-detail-panel .student-form-grid{border:0;gap:16px 24px;margin-bottom:0;padding-bottom:0}.student-detail-panel .detail-field{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;padding:10px 0 14px}.student-detail-panel .student-detail-section:last-child{border-bottom:0}.student-attendance-section .attendance-calendar-grid{gap:4px}.student-attendance-section .attendance-calendar-day{background:var(--surface);color:var(--text);cursor:pointer;justify-content:flex-start;align-items:flex-start}.student-attendance-section .attendance-calendar-day b{font-size:14px}.student-attendance-section .attendance-calendar-day small{text-align:left;white-space:normal;font-size:11px}.student-attendance-section .attendance-calendar-day.present{color:#fff;background:#15803d}.student-attendance-section .attendance-calendar-day.absent{color:#fff;background:#be123c}.student-attendance-section .attendance-calendar-day.notified{color:#422006;background:#facc15}.student-attendance-section .attendance-calendar-day.makeup{color:#fff;background:#7c3aed}.student-attendance-section .attendance-calendar-day.mixed{color:var(--text);background:var(--surface)}.student-attendance-section .attendance-calendar-day.legacy{color:var(--text);background:var(--surface-hover);border-style:dashed}.student-attendance-section .attendance-calendar-day.is-today .unified-calendar-date{color:inherit}.student-attendance-section .attendance-calendar-day[aria-pressed=true]{outline:2px solid var(--primary);outline-offset:-2px}.student-attendance-section .attendance-calendar-blank{min-height:72px}.student-attendance-section .attendance-calendar-legend{gap:6px;margin-bottom:16px}.student-attendance-section .attendance-calendar-legend span{border-radius:6px;padding:4px 8px;font-size:11px}.student-attendance-section .attendance-calendar-legend .notified{color:#422006;background:#facc15}.attendance-session-badge{text-align:left;overflow-wrap:anywhere;border-radius:4px;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;padding:3px 4px;font-size:11px;line-height:1.35;display:flex}.attendance-session-badge.present{color:#fff;background:#15803d}.attendance-session-badge.makeup{color:#fff;background:#7c3aed}.attendance-session-badge.absent{color:#fff;background:#be123c}.attendance-session-badge.notified{color:#422006;background:#facc15}.attendance-session-badge.legacy{color:var(--text);background:var(--surface-hover)}.attendance-session-badge time{font-variant-numeric:tabular-nums;font-size:10px}.student-attendance-section .attendance-calendar-day.has-memo{cursor:pointer;position:relative;overflow:visible}.attendance-memo-marker{font-size:10px;font-weight:650}.student-attendance-section .attendance-calendar-day.has-memo:after{background:var(--surface-active);color:var(--text);border:1px solid var(--border)}.student-form-panel .student-form-field :is(input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.student-form-panel .student-form-footer{gap:8px}.student-form-panel .student-form-footer button{border-radius:9px;font-size:13px}@media (width<=560px){.student-detail-panel .student-form-header,.student-detail-panel .student-form-content{padding:18px}.student-detail-panel .student-photo-section{flex-direction:row;gap:14px;padding:14px}.student-detail-panel .student-photo-wrapper,.student-detail-panel .student-photo-preview{width:80px}.student-detail-panel .student-photo-preview{height:80px}.student-detail-panel .student-profile-name-row h2{font-size:18px}.student-detail-panel .student-profile-label{width:64px;font-size:12px}.student-detail-panel .student-profile-info{gap:6px}.student-detail-panel .student-profile-info-row{font-size:12px}.student-detail-panel .student-detail-tabs{gap:18px}.student-detail-panel .student-detail-tabs button{font-size:13px}.student-form-panel .student-form-footer{flex-wrap:wrap;padding:12px 18px}.student-form-panel .student-form-footer button{padding-inline:12px}}.unified-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.unified-calendar-navigation{color:var(--text);justify-content:center;align-items:center;gap:12px;margin-bottom:16px;font-size:15px;display:flex}.unified-calendar-navigation button{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;place-items:center;font-size:22px;display:grid}.unified-calendar-navigation button:hover{background:var(--primary-soft);color:var(--primary)}.unified-calendar-navigation .calendar-today-button{width:auto;color:var(--primary);padding:0 10px;font-size:12px}.unified-calendar-weekday{text-align:center;color:var(--text-muted);padding:10px 0;font-size:12px;font-weight:650}.unified-calendar-date{font-variant-numeric:tabular-nums;font-size:14px;font-weight:750}.unified-calendar-day.is-today{outline:2px solid var(--primary);outline-offset:-2px}.unified-calendar-day.is-today .unified-calendar-date{color:var(--primary)}.compact-calendar{gap:4px}.compact-calendar .unified-calendar-day{border:1px solid var(--calendar-cell-border);cursor:default;border-radius:8px;min-height:72px;padding:6px;overflow:hidden}.compact-calendar .unified-calendar-day small{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}@media (width<=480px){.compact-calendar .unified-calendar-day{min-height:66px;padding:4px}.compact-calendar .unified-calendar-day small{font-size:10px}}.unified-calendar-day{border:0;border-right:1px solid var(--calendar-cell-border);border-bottom:1px solid var(--calendar-cell-border);background:var(--surface);min-width:0;min-height:128px;color:var(--text);text-align:left;cursor:pointer;border-radius:0;flex-direction:column;align-items:stretch;gap:4px;padding:9px;display:flex}.unified-calendar-day:hover{background:var(--surface-hover)}.unified-calendar-day.selected{outline:2px solid var(--primary);outline-offset:-2px}.unified-calendar-day.closed{background:var(--calendar-closed-bg);box-shadow:inset 4px 0 var(--calendar-closed-accent)}.unified-calendar-day.outside{background:var(--surface-hover);color:var(--text-muted)}.unified-calendar-day.closed.outside{background:color-mix(in srgb,var(--calendar-closed-bg) 72%,var(--surface-hover));box-shadow:inset 4px 0 var(--calendar-closed-border)}.calendar-day-indicators{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:100%;font-size:12px;line-height:1.35;display:flex}.calendar-day-indicators>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.calendar-day-holiday{color:var(--calendar-holiday-text);font-weight:800}.calendar-day-status{border-radius:4px;padding:3px 6px;font-weight:800}.calendar-day-status.closed{color:#fff;background:#b42318}.calendar-day-status.open{color:#116d50;background:#dff6ed}:root[data-theme=dark] .calendar-day-status.open{color:#a1e9cb;background:#224a3d}.calendar-day-note{color:var(--text);font-weight:600}.calendar-day-indicators.compact{font-size:11px}@media (width<=720px){.unified-calendar-day{min-height:96px;padding:5px}.calendar-day-indicators{font-size:11px}}.student-tools-page{color:var(--text);max-width:1800px;margin:auto;padding:32px}.student-tools-page h1{margin:0 0 8px;font-size:26px}.student-tools-page h2{margin:0 0 16px;font-size:18px}.student-tools-page header p,.student-tools-page small{color:var(--text-muted)}.student-tools-page small{margin-top:6px;font-weight:400;display:block}.student-tools-page button,.student-tools-page input,.student-tools-page select,.student-tools-page textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 12px}.student-tools-page button{cursor:pointer}.student-tools-page button:disabled{opacity:.45;cursor:default}.student-tools-page :focus-visible{outline:2px solid var(--primary);outline-offset:2px}.student-tools-page .tool-primary{background:var(--primary-solid);border-color:var(--primary-solid);color:#fff;white-space:nowrap}.tool-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 16px;display:flex}.tool-toolbar input{flex:1;min-width:220px}.tool-toolbar span{color:var(--text-muted);font-size:14px}.tool-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:auto}.tool-table{border-collapse:collapse;text-align:left;width:100%}.tool-table th,.tool-table td{border-bottom:1px solid var(--border);min-width:140px;padding:14px}.tool-table thead{background:var(--surface-hover)}.tool-table th:first-child{background:var(--surface);z-index:1;min-width:165px;position:sticky;left:0}.tool-table th:last-child,.tool-table td:last-child{background:var(--surface);z-index:1;min-width:180px;box-shadow:-1px 0 var(--border);position:sticky;right:0}.tool-table td input,.tool-table td select{width:100%;min-width:150px}.tool-table .tool-sort{white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600}.tool-dirty-row{background:var(--surface-hover)}.tool-row-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.tool-row-actions h2{flex:1;margin:0}.tool-empty{text-align:center;color:var(--text-muted);padding:40px 24px}.tool-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px;min-width:0;padding:24px}.message-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;margin-top:24px;display:grid}.message-student-list{max-height:600px;overflow:auto}.message-student,.message-select-all{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:16px 0;font-size:14px;display:flex}.message-student span:first-of-type{flex:1}.message-student span:last-child{text-align:right}.message-student:has(input:disabled){opacity:.55}.message-compose{flex-direction:column;align-self:start;gap:16px;display:flex}.message-compose textarea{resize:vertical;width:100%}.message-recipients{flex-wrap:wrap;gap:6px;max-height:160px;display:flex;overflow:auto}.message-recipients button{background:var(--surface-active);font-size:13px}.message-recipients p{color:var(--text-muted);font-size:14px}.message-connection-card{justify-content:space-between;align-items:center;gap:18px;margin-top:22px;display:flex}.message-connection-card h2{margin-bottom:6px}.message-connection-card p{color:var(--text-muted);margin:0;font-size:13px}.message-connection-card small,.message-muted{color:var(--text-muted);font-size:12px}.message-connection-card.connected{border-color:#b9dfd0}.message-connected-dot{background:#159570;border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.message-tabs{border:1px solid var(--border);background:var(--surface-hover);border-radius:10px;gap:6px;width:fit-content;max-width:100%;margin:24px 0 16px;padding:5px;display:flex;overflow-x:auto}.message-tabs button,.message-type-toggle button{color:var(--text-muted);background:0 0;border:0;font-size:13px;font-weight:700}.message-tabs button.active,.message-type-toggle button.active{background:var(--primary-solid);color:#fff}.message-history-panel{overflow:hidden}.message-history-filters{background:var(--surface-hover);border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px;margin:20px 0;padding:14px;display:flex}.message-history-filters label,.message-compose>label{color:var(--text-muted);gap:6px;font-size:12px;font-weight:700;display:grid}.message-history-filters input,.message-history-filters select,.message-compose select{min-height:38px}.message-history-table-wrap{max-height:620px}.message-history-table-wrap .tool-table{min-width:1000px}.message-history-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:320px}.message-status{border-radius:5px;padding:3px 7px;font-size:11px;display:inline-block}.message-status.success{color:#087443;background:#e6f7ef}.message-status.failed{color:#a33b3b;background:#fff0f0}.message-more-button{margin:16px auto 0;display:block}.message-empty-state{place-items:start;gap:10px;display:grid}.message-empty-state p{color:var(--text-muted);margin:0}.message-error{color:#b42318;margin:16px 0;font-size:13px}.message-error button{margin-left:8px}.message-type-toggle{background:var(--surface-hover);border-radius:9px;gap:4px;padding:4px;display:flex}.message-type-toggle button{border-radius:6px;flex:1;padding:9px}.message-template-preview{border:1px solid var(--border);background:var(--surface-hover);border-radius:10px;gap:10px;padding:14px;display:grid}.message-template-preview p{white-space:pre-wrap;background:var(--surface);border-radius:8px;margin:0;padding:12px}.message-template-preview label{color:var(--text-muted);gap:5px;font-size:12px;display:grid}.message-template-preview input{box-sizing:border-box;min-height:36px}.message-compose>label select{width:100%}@media (width<=1000px){.message-layout{grid-template-columns:1fr}}@media (width<=600px){.student-tools-page{padding:20px 12px}.tool-panel{padding:16px}.message-connection-card,.message-history-filters{flex-direction:column;align-items:stretch}.message-history-filters button{width:100%}}.custom-data-page .tool-table th:last-child,.custom-data-page .tool-table td:last-child{box-shadow:none;position:static}.custom-leave-dialog{border:1px solid var(--border);width:min(520px,100% - 40px);color:var(--text);background:var(--surface);border-radius:14px;padding:24px}.custom-leave-dialog::backdrop{background:#0008}.custom-leave-dialog .tool-row-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:20px}.custom-fields-controls{border:0;min-width:0;margin:0;padding:0}.custom-data-page .settings-toolbar{margin-top:20px}.custom-data-page .settings-toolbar button.active{background:var(--primary-solid);color:#fff}.custom-fields-dialog{border:1px solid var(--border);background:var(--surface);width:800px;max-width:calc(100% - 32px);max-height:calc(100dvh - 40px);color:var(--text);border-radius:16px;margin:auto;padding:0}.custom-fields-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0008}.custom-fields-dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.custom-fields-dialog h2{margin:0;font-size:22px}.custom-fields-dialog>header p{color:var(--text-muted);margin:6px 0 0;font-size:13px}.custom-fields-dialog>header button{border:1px solid var(--border);background:var(--surface-hover);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:8px;flex:none;place-items:center;padding:0;font-size:24px;line-height:1;display:grid}.custom-fields-dialog-content{padding:20px}.custom-fields-dialog .settings-section{margin:0}@media (width<=560px){.custom-fields-dialog>header{padding:18px}.custom-fields-dialog-content{padding:12px}}.settings-page{max-width:1100px;margin:0 auto;padding:32px}.settings-header{margin-bottom:32px}.settings-header h1{color:var(--text);margin:0;font-size:28px}.settings-header p{color:var(--text-muted);margin-top:8px}.settings-toolbar{border:1px solid var(--border);background:var(--surface-hover);border-radius:10px;gap:6px;margin-bottom:20px;padding:5px;display:flex}.settings-toolbar button{color:var(--text-muted);background:0 0;border:0;border-radius:7px;padding:10px 14px;font-size:14px;font-weight:700}.settings-toolbar button:hover{background:var(--surface-active)}.settings-toolbar button.active{color:#fff;background:var(--primary-solid)}.message-settings-panel{color:var(--text);gap:12px;display:grid}.message-settings-panel h2{margin:0;font-size:20px}.message-settings-panel .tool-row-actions{flex-wrap:wrap}.message-settings-panel button{border:1px solid var(--border);color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:8px;padding:10px 14px}.message-settings-panel button.tool-primary{color:#fff;background:var(--primary-solid);border-color:var(--primary-solid)}.message-settings-panel button:disabled{opacity:.5;cursor:default}.settings-section{background:var(--surface);border:1px solid #e5e5e5;border-radius:12px;overflow:hidden}.settings-section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px;display:flex}.settings-section-header h2{color:var(--text);margin:0;font-size:20px}.settings-section-header p{color:var(--text-muted);margin:6px 0 0;font-size:14px}.settings-add-button{color:#fff;cursor:pointer;background:#416ee4;border:none;border-radius:8px;padding:10px 16px;font-size:14px}.settings-add-button:hover:not(:disabled){background:var(--primary-solid-hover)}.schedule-visibility-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:9px;margin-left:auto;font-size:13px;font-weight:600;display:flex}.schedule-visibility-toggle input{opacity:0;width:1px;height:1px;position:absolute}.schedule-visibility-toggle i{background:var(--surface-hover);border-radius:99px;width:36px;height:20px;transition:background .18s;position:relative}.schedule-visibility-toggle i:after{background:var(--surface);content:"";border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:3px;left:3px}.schedule-visibility-toggle input:checked+i{background:#2563eb}.schedule-visibility-toggle input:checked+i:after{transform:translate(16px)}.schedule-visibility-toggle input:focus-visible+i{outline-offset:2px;outline:3px solid #2563eb40}.settings-empty{text-align:center;color:var(--text-muted);padding:70px 20px}.settings-empty-icon{background:#f3f3f3;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0 auto 16px;font-size:24px;display:flex}.settings-empty h3{color:var(--text);margin:0 0 8px}.settings-empty p{margin:0 0 20px;font-size:14px}.settings-empty-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:8px;padding:10px 16px}.settings-empty-button:hover{background:var(--surface-hover)}.custom-field-list{flex-direction:column;display:flex}.custom-field-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.custom-field-item:last-child{border-bottom:none}.custom-field-info{min-width:0}.custom-field-title{color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.custom-field-meta{color:var(--text-muted);align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.field-divider{color:var(--text)}.required-badge{color:#d33;background:#fff0f0;border-radius:5px;align-items:center;padding:3px 7px;font-size:11px;font-weight:600;display:inline-flex}.custom-field-actions{gap:8px;display:flex}.custom-field-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-muted);border-radius:6px;padding:7px 12px;font-size:13px}.custom-field-actions button:hover{background:var(--surface-hover)}.custom-field-actions .delete{color:#d33}.custom-field-actions .delete:hover{background:#fff5f5;border-color:#f0caca}.settings-modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}dialog.settings-modal{border:1px solid var(--border);max-height:calc(100dvh - 32px);color:var(--text);margin:auto;padding:0;overflow-y:auto}dialog.settings-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0008}.settings-modal{background:var(--surface);border-radius:12px;width:460px;max-width:calc(100% - 32px);box-shadow:0 20px 50px #00000026}.settings-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;padding:24px;display:flex}.settings-modal-header h2{color:var(--text);margin:0;font-size:20px}.settings-modal-header p{color:var(--text-muted);margin:6px 0 0;font-size:13px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:24px}.modal-close:hover{color:var(--text)}.settings-modal form{padding:24px}.form-group{margin-bottom:20px}.form-group>label{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-group input[type=text],.form-group select{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:7px;padding:11px 12px;font-size:14px}.form-group input[type=text]:focus,.form-group select:focus{border-color:var(--border);outline:none;box-shadow:0 0 0 2px #0000000a}.checkbox-label{align-items:center;gap:8px;color:var(--text-muted)!important;font-weight:400!important;display:flex!important}.checkbox-label input{cursor:pointer;width:16px;height:16px}.settings-modal-actions{justify-content:flex-end;gap:8px;margin-top:28px;display:flex}.cancel-button,.save-button{cursor:pointer;border-radius:7px;padding:10px 18px;font-size:14px}.cancel-button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.cancel-button:hover{background:var(--surface-hover)}.save-button{color:#fff;background:#416ee4;border:none}.save-button:hover:not(:disabled){background:var(--primary-solid-hover)}.theme-settings-section,.academy-info-section{margin-bottom:18px}.academy-info-controls{gap:18px;padding:24px;display:grid}.academy-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.academy-info-grid label,.academy-address-input{color:var(--text);gap:8px;font-size:14px;font-weight:700;display:grid}.academy-info-grid input,.academy-address-input input{box-sizing:border-box;border:1px solid var(--border);width:100%;height:42px;color:var(--text);background:var(--surface);font:inherit;border-radius:7px;padding:0 11px}.academy-info-grid input:focus,.academy-address-input input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61f}.academy-info-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.academy-info-message{min-height:20px;margin:0;font-size:13px}.academy-info-message.error{color:var(--danger)}.academy-info-message.success{color:var(--success)}.theme-toggle{border:1px solid var(--border);background:var(--surface-hover);border-radius:9px;gap:4px;padding:4px;display:inline-flex}.theme-toggle button{color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:700}.theme-toggle button.active{color:#fff;background:var(--primary-solid)}.device-mode-section{margin-bottom:18px}.student-mode-button{color:#fff;cursor:pointer;background:#286fc0;border:0;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:700}.student-mode-button:hover{background:#1e5da7}.capacity-settings-section{margin-bottom:18px}.capacity-settings-controls{gap:20px;padding:24px;display:grid}.capacity-max-input{color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.capacity-max-input input{border:1px solid var(--border);background:var(--surface);width:100px;height:40px;color:var(--text);font:inherit;text-align:right;border-radius:7px;padding:0 10px}.capacity-max-input input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61f}.capacity-settings-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.capacity-settings-error{min-height:20px;color:var(--danger);margin:0;font-size:13px}.academy-danger-section{border-color:#f2c5c2;margin-bottom:18px}.academy-danger-section .settings-section-header{background:snow}.academy-danger-controls{gap:16px;padding:24px;display:grid}.academy-danger-controls label{color:#842029;gap:8px;font-size:14px;font-weight:700;display:grid}.academy-danger-controls input{box-sizing:border-box;width:100%;height:42px;color:var(--text);background:var(--surface);font:inherit;border:1px solid #e7b6b2;border-radius:7px;padding:0 11px}.academy-danger-controls input:focus{border-color:#c53932;outline:none;box-shadow:0 0 0 3px #c539321f}.academy-danger-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.academy-danger-error{min-height:20px;color:var(--danger);margin:0;font-size:13px}.academy-danger-footer button{color:#fff;cursor:pointer;background:#c53932;border:0;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:700}.academy-danger-footer button:disabled{cursor:not-allowed;opacity:.55}.message-settings-panel fieldset{border:1px solid var(--border);border-radius:8px;gap:10px;min-width:0;margin:18px 0;padding:18px;display:grid}.message-settings-panel input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:7px;padding:10px}.message-settings-panel input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.message-settings-panel fieldset button{justify-self:start}.message-settings-panel .tool-row-actions{white-space:normal;flex-wrap:wrap}@media (width<=620px){.settings-section-header{flex-direction:column;align-items:flex-start;gap:16px}.settings-toolbar{overflow-x:auto}.settings-toolbar button{flex:none}.capacity-settings-controls{padding:20px}.capacity-max-input{flex-wrap:wrap}.schedule-visibility-toggle{justify-content:space-between;width:100%;margin:0}.academy-info-grid{grid-template-columns:1fr}.academy-danger-footer{flex-direction:column;align-items:stretch}}.student-management{width:100%;max-width:1380px;color:var(--text);margin:0 auto}.student-management-tabs{border-bottom:1px solid var(--border);gap:24px;margin:0 0 24px;display:flex}.student-management-tabs button{min-height:48px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 2px 14px;font-size:14px;font-weight:650;position:relative}.student-management-tabs button:hover,.student-management-tabs button.active{color:var(--primary)}.student-management-tabs button.active:after{content:"";background:var(--primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.student-management .students-header-actions{align-items:center;gap:8px;display:flex}.student-management .students-header-actions button{min-height:42px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:650;display:inline-flex}.student-management .students-export-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.student-management .students-export-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary)}.student-management .students-add-button{background:var(--primary-solid);color:#fff;border:1px solid #0000}.student-management .students-add-button:hover:not(:disabled){background:var(--primary-solid-hover);opacity:1}.student-management .student-list{border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);border-radius:16px;overflow:hidden}.student-management .student-list .students-toolbar{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;flex-wrap:wrap;gap:12px;margin:0;padding:20px;display:flex}.student-management .students-toolbar .students-search{flex:1;min-width:180px;max-width:none;position:relative}.student-management .students-search-icon{color:var(--text-muted);pointer-events:none;font-size:23px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.student-management .students-search input{width:100%;padding-left:39px}.student-management .students-toolbar select{width:auto;min-width:125px}.student-management .students-toolbar :is(input,select){height:42px;font:inherit;background:var(--surface);font-size:13px}.student-management .students-toolbar :is(input,select):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.student-management .students-count{margin:0;padding:16px 20px;font-size:13px}.student-management .student-list .students-table-wrapper{box-shadow:none;border:0;border-radius:0}.student-management .students-table th{white-space:nowrap;font-size:12px;font-weight:650}.student-management .students-table td{padding:17px 20px;font-size:13px}.student-management .students-table tbody tr:hover{background:var(--surface-hover)}.student-name-button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.student-name-button:hover{color:var(--primary)}.student-management .student-status{font-size:12px}.student-management-panel:not([hidden]),.student-management .custom-data-page{min-height:380px}.student-list-schedules{font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;gap:4px;display:flex}.student-management .custom-data-page>header{margin-bottom:28px}.student-management .custom-data-page{width:100%;max-width:none;padding:0}.student-management .custom-data-page>header h1{letter-spacing:-1.1px;font-size:28px;font-weight:750}.student-management .custom-data-page>header p{max-width:75ch;color:var(--text-muted);margin-top:8px;font-size:13px}.student-management .custom-data-page>.settings-toolbar{background:0 0;border:0;gap:8px;margin-top:0;padding:0}.student-management .custom-data-page>.settings-toolbar button{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);border-radius:8px;padding:9px 13px}.student-management .custom-data-page>.settings-toolbar button.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}@media (width<=760px){.student-management-tabs{gap:24px;margin-bottom:20px}.student-management .students-header-actions{width:100%}.student-management .students-header-actions button{padding-inline:12px}.student-management .student-list .students-toolbar{grid-template-columns:1fr 1fr;padding:16px;display:grid}.student-management .students-toolbar .students-search{grid-column:1/-1;width:100%;min-width:0}.student-management .students-toolbar select{width:100%;min-width:0}.student-management .custom-data-page>header h1{font-size:25px}}.academy-import{color:var(--text)}.academy-import-steps{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;padding:0;list-style:none;display:grid}.academy-import-steps li{background:var(--surface-hover);border-radius:10px;gap:8px;padding:18px;display:grid}.academy-import-steps span,.academy-import-guide,.academy-import-summary span{color:var(--text-muted);font-size:13px;line-height:1.7}.academy-import-guide{border:1px solid var(--border);border-radius:10px;padding:18px}.academy-import-guide p+p{margin-top:8px}.academy-import button{cursor:pointer;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 16px}.academy-import button:disabled{opacity:.5;cursor:default}.academy-import-guide button{margin-top:16px}.academy-import .settings-add-button{color:#fff;background:var(--primary-solid)}.academy-import .academy-import-upload{text-align:center;border-style:dashed;gap:8px;width:100%;margin:20px 0;padding:28px;display:grid}.academy-import-upload span{color:var(--text-muted);font-size:12px}.academy-import-error{color:var(--danger)}.academy-import-success{color:var(--primary);background:var(--surface-hover);border-radius:8px;padding:16px}.academy-import-summary{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:24px 0;display:flex}.academy-import h3{margin:20px 0 12px;font-size:15px}.academy-import-errors{max-height:180px;color:var(--danger);background:var(--surface-hover);padding:12px 30px;line-height:1.7;overflow:auto}.academy-import-table{border:1px solid var(--border);border-radius:10px;max-height:360px;overflow:auto}.academy-import-table table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.academy-import-table th{background:var(--surface-hover);position:sticky;top:0}.academy-import-table :is(th,td){border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px}.academy-import-table p{color:var(--text-muted);padding:16px;font-size:13px}.academy-import-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}@media (width<=720px){.academy-import-steps{grid-template-columns:1fr}.academy-import-actions{flex-wrap:wrap}}.mode-password-overlay{z-index:1000;background:#0f1b2a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.mode-password-modal{color:#1b2b40;background:#fff;border:1px solid #dce6f1;border-radius:15px;width:min(100%,390px);padding:26px;box-shadow:0 24px 60px #0c1f3740}.mode-password-modal h2{margin:0;font-size:20px}.mode-password-modal>p{color:#6b7d92;margin:9px 0 21px;font-size:14px;line-height:1.5}.mode-password-modal label{color:#34465c;gap:8px;font-size:13px;font-weight:700;display:grid}.mode-password-modal input{height:43px;font:inherit;border:1px solid #cbd8e6;border-radius:8px;padding:0 11px}.mode-password-modal input:focus{border-color:#3476c1;outline:0;box-shadow:0 0 0 3px #3476c121}.mode-password-error{color:#b42318!important;margin:10px 0 0!important}.mode-password-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.mode-password-actions button{font:inherit;cursor:pointer;border:0;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:800}.mode-password-actions button[type=button]{color:#4d6074;background:#edf2f7}.mode-password-actions button[type=submit]{color:#fff;background:#286fc0}.mode-password-actions button:disabled{opacity:.65;cursor:wait}.dashboard-page{width:100%;color:var(--text)}.dashboard-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px;display:flex}.dashboard-header h1{letter-spacing:-1.4px;font-size:clamp(25px,2.3vw,32px);font-weight:750}.dashboard-header p{color:var(--text-muted);margin-top:10px;font-size:13px}.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px;display:grid}.dashboard-card{border:1px solid var(--border);background:var(--surface);min-height:161px;box-shadow:var(--card-shadow);border-radius:16px;padding:23px;position:relative}.dashboard-card .card-icon{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:11px;place-items:center;display:grid;position:absolute;top:20px;right:20px}.dashboard-card .card-label{color:var(--text-muted);margin:2px 40px 17px 0;font-size:12px;font-weight:650;display:block}.dashboard-card>strong{color:var(--text);letter-spacing:-1.1px;font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:12px;font-size:34px;font-weight:750;line-height:1;display:block}.dashboard-card strong small{color:var(--text-subtle);margin-left:6px;font-size:12px;font-weight:500}.dashboard-card .card-sub{color:var(--text-subtle);font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;display:grid}.dashboard-section{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--card-shadow);border-radius:16px}.dashboard-section .section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:24px 25px 20px;display:flex}.dashboard-section h2{letter-spacing:-.3px;font-size:15px;font-weight:750}.dashboard-section .section-header p{color:var(--text-subtle);margin-top:7px;font-size:11px}.dashboard-section .section-header button{color:var(--text-muted);background:0 0;border:0;flex:none;align-items:center;gap:5px;padding:7px 0 7px 7px;font-size:11px;display:flex}.dashboard-section .section-header button:hover{color:var(--primary)}.dashboard-section .student-list{padding:6px 25px 14px}@media (width<=980px){.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (width<=1150px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-memo{flex-direction:column;display:flex}.dashboard-memo-content{flex:1;grid-template-rows:auto minmax(160px,1fr) auto;gap:10px;padding:20px 25px;display:grid}.dashboard-memo label{color:var(--text-muted);font-size:12px;font-weight:650}.dashboard-memo textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:115px;color:var(--text);background:var(--surface);font:inherit;border-radius:9px;padding:12px;font-size:13px;line-height:1.5}.dashboard-memo textarea:focus{outline:2px solid var(--primary);outline-offset:2px}.dashboard-memo-content [role=status]{min-height:18px;color:var(--text-muted);font-size:11px}@media (width<=480px){.dashboard-memo-content{padding:18px}}.dashboard-calendar-content{padding:18px}.dashboard-calendar-error{color:var(--danger);margin:0 0 12px;font-size:12px}.dashboard-card .card-divider{color:var(--text-subtle);margin:0 8px;font-size:24px;font-weight:400}.dashboard-card .card-denominator{color:var(--text-muted);font-size:26px}.dashboard-date-card>strong{letter-spacing:-1px;font-size:27px}@media (width<=480px){.dashboard-cards{gap:10px}.dashboard-card{min-height:151px;padding:17px 14px}.dashboard-card .card-icon{width:25px;height:25px;top:15px;right:12px}.dashboard-card .card-icon svg{width:16px}.dashboard-card .card-label{margin-right:28px;font-size:12px}.dashboard-section .section-header{padding-inline:18px}.dashboard-card>strong{font-size:26px}.dashboard-card .card-denominator{font-size:21px}.dashboard-card .card-divider{margin:0 4px;font-size:20px}.dashboard-date-card>strong{font-size:23px}.dashboard-calendar-content{padding:12px}}.tuition-products-page{max-width:1400px}.tuition-products-page .ledger-header{align-items:center}.product-primary{color:#fff;cursor:pointer;background:#245fca;border:0;border-radius:9px;padding:11px 16px;font-weight:800}.product-primary:disabled{opacity:.55;cursor:default}.tuition-products-page .workspace-page-header>.product-primary{background:var(--primary-solid);color:#fff;min-height:42px;font:inherit;border:0;border-radius:9px;padding:0 16px;font-size:13px;font-weight:650}.tuition-products-page .workspace-page-header>.product-primary:hover:not(:disabled){background:var(--primary-solid-hover);color:#fff}.tuition-product-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:24px 0;display:grid}.tuition-product-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;min-height:215px;padding:20px;display:flex;box-shadow:0 3px 14px #0f172a12}.product-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.product-frequency{color:var(--primary);font-size:12px;font-weight:800}.product-status{background:var(--surface-hover);color:var(--text-muted);border-radius:99px;padding:4px 7px;font-size:11px;font-weight:700}.product-status.active{color:#116d50;background:#dff6ed}.tuition-product-card h2{color:var(--text);margin:0;font-size:20px}.product-price{color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:26px;font-weight:800}.product-price small{color:var(--text-muted);margin-left:4px;font-size:12px;font-weight:500}.product-card-help{color:var(--text-muted);margin:0;font-size:12px}.product-card-actions{gap:8px;margin-top:auto;display:flex}.product-card-actions button{border:1px solid var(--border);background:var(--surface-hover);color:var(--text);cursor:pointer;border-radius:7px;padding:8px 12px;font-weight:700}.product-card-actions button:last-child{color:#b42318}.tuition-product-empty{border:1px dashed var(--border);text-align:center;color:var(--text-muted);border-radius:12px;grid-column:1/-1;padding:48px 20px}.product-error{color:var(--danger);font-size:13px}.product-notice{color:#116d50;background:#e6f7ef;border-radius:8px;padding:10px 12px;font-size:13px}.product-dialog{border:1px solid var(--border);background:var(--surface);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:16px;padding:0;box-shadow:0 24px 80px #0f172a50}.product-dialog::backdrop{background:#0f172a88}.product-dialog header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;padding:20px 24px;display:flex}.product-dialog header p{color:var(--text-muted);margin:0 0 4px;font-size:12px}.product-dialog h2{margin:0;font-size:21px}.product-dialog header button{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:25px}.product-dialog form{padding:22px 24px}.product-dialog fieldset{border:0;gap:14px;margin:0;padding:0;display:grid}.product-dialog label{gap:6px;font-size:13px;font-weight:700;display:grid}.product-dialog input,.product-dialog select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:40px;color:var(--text);font:inherit;border-radius:7px;padding:8px 10px}.product-dialog-help{color:var(--text-muted);margin:14px 0 0;font-size:12px;line-height:1.5}.product-dialog footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.product-dialog footer button:not(.product-primary){border:1px solid var(--border);background:var(--surface-hover);color:var(--text);cursor:pointer;border-radius:7px;padding:9px 14px}.product-delete-body{padding:20px 24px}.product-delete-body p{margin:0;line-height:1.5}.product-delete-body ul{max-height:180px;margin:14px 0 0;padding-left:22px;overflow:auto}.product-delete-dialog footer{margin:0;padding:0 24px 22px}.product-delete-dialog .product-danger{color:#fff;background:#b42318;border-color:#b42318}@media (width<=640px){.tuition-products-page .ledger-header{align-items:flex-start}}.schedule-page{color:var(--text)}.schedule-page .product-primary{background:var(--primary-solid);min-height:42px;font:inherit;padding:0 16px;font-size:13px;font-weight:650}.schedule-page .product-primary:hover:not(:disabled){background:var(--primary-solid-hover)}.schedule-summary{color:var(--text-muted);margin:0;font-size:13px}.schedule-summary strong{color:var(--text)}.schedule-time-grid{margin-top:16px}.schedule-time-card{box-shadow:var(--card-shadow)}.schedule-time-card h2{overflow-wrap:anywhere}.schedule-time-card .product-status.active{color:var(--success);background:var(--success-soft)}.schedule-time-range{color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin:0;font-size:24px;font-weight:750;display:flex}.schedule-time-range span{color:var(--text-muted);font-size:16px;font-weight:500}.schedule-page .product-card-actions button{font:inherit;font-size:13px;font-weight:650}.schedule-page .product-card-actions button:last-child{color:var(--danger)}.schedule-page .product-card-actions button:hover:not(:disabled){border-color:var(--primary);background:var(--surface-hover)}.schedule-page button:disabled{opacity:.55;cursor:not-allowed}.schedule-notice{color:var(--success);background:var(--success-soft);border-radius:9px;margin:0 0 16px;padding:10px 12px;font-size:13px}.schedule-time-dialog{overflow-y:auto}.schedule-time-dialog input{border-radius:9px;min-width:0}.schedule-time-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.schedule-time-dialog :focus-visible{outline:2px solid var(--primary);outline-offset:2px}.schedule-time-dialog header button:disabled{opacity:.55;cursor:not-allowed}@media (width<=420px){.schedule-time-inputs{grid-template-columns:1fr}}.event-modal-dialog{background:var(--surface);width:min(480px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--text);border:0;border-radius:14px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 20px 60px #0003}.event-modal-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73}.event-modal-dialog .event-modal{width:100%;max-height:none;box-shadow:none;overflow:visible}.event-modal-dialog :focus-visible{outline:2px solid var(--primary);outline-offset:2px}.event-modal-dialog .event-modal-actions{background:var(--surface);position:sticky;bottom:0}.event-modal{background:var(--surface);border-radius:14px;width:min(480px,100%);overflow:hidden;box-shadow:0 20px 45px #0f172a4d}.event-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:22px 24px 16px;display:flex}.event-modal-header h2{color:#172033;font-size:19px}.event-modal-header p{color:var(--text-muted);margin-top:5px;font-size:13px}.event-modal-header button{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:24px}.event-type-options{grid-template-columns:1fr 1fr;gap:8px;padding:18px 24px 0;display:grid}.event-type-options button{color:#526276;background:var(--surface);cursor:pointer;border:1px solid #d6dde8;border-radius:8px;padding:10px;font-weight:700}.event-type-options button.selected.trial{color:#167451;background:#ecfdf3;border-color:#16a34a;box-shadow:inset 4px 0 #16a34a}.event-type-options button.selected.makeup{color:#6d28d9;background:#f5f0ff;border-color:#7c3aed;box-shadow:inset 4px 0 #7c3aed}.event-modal-fields{gap:14px;padding:20px 24px;display:grid}.event-modal-fields label{color:var(--text);gap:7px;font-size:13px;font-weight:700;display:grid}.event-modal-fields input,.event-modal-fields select,.event-modal-fields textarea{box-sizing:border-box;border:1px solid var(--border);color:#172033;width:100%;font:inherit;border-radius:7px;padding:10px;font-size:14px}.event-modal-fields textarea{resize:vertical}.event-selected-student{color:#9d174d;background:#fdf2f8;border-radius:7px;margin:-5px 0 0;padding:9px 10px;font-size:12px}.event-modal-loading,.event-modal-error{margin:20px 24px;font-size:13px}.event-modal-loading{color:var(--text-muted)}.event-modal-error{color:#dc2626}.event-modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.event-modal-actions button{cursor:pointer;border:0;border-radius:7px;padding:10px 14px;font-weight:700}.event-modal-actions button:first-child{color:var(--text-muted);background:var(--surface-hover)}.event-modal-actions button:last-child{color:#fff;background:#2563eb}.event-modal-actions button:disabled{cursor:default;opacity:.6}.event-student-search{gap:7px;display:grid}.event-student-results{border:1px solid #dbe3ed;border-radius:7px;max-height:190px;overflow:auto}.event-student-results button{color:#263449;background:var(--surface);text-align:left;cursor:pointer;border:0;border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:baseline;gap:10px;width:100%;padding:10px;font-weight:700;display:flex}.event-student-results button:last-child{border-bottom:0}.event-student-results button:hover{background:#eff6ff}.event-student-results small{color:#718098;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.event-student-results p{color:var(--text-muted);margin:0;padding:11px;font-size:13px}fieldset.event-modal-fields{border:0;min-width:0;margin:0}.event-modal-actions button.event-delete-button{color:var(--danger);background:0 0;margin-right:auto}.event-modal-actions button:not(:last-child):not(.event-delete-button),.event-modal-dialog .event-selected-student{color:var(--text-muted);background:var(--surface-hover)}.event-makeup-help{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.event-student-results{border-color:var(--border)}.event-student-results button{border-color:var(--border);color:var(--text);background:var(--surface)}.event-student-results button:hover,.event-student-results button:focus-visible{color:var(--text);background:var(--surface-active)}.event-student-results small{color:var(--text-muted)}.event-modal-fields input,.event-modal-fields select,.event-modal-fields textarea{color:var(--text);background:var(--surface)}.event-type-options button{color:var(--text);border-color:var(--border)}.month-day-modal{border:1px solid var(--border);width:min(1040px,100vw - 64px);max-width:none;max-height:min(820px,100dvh - 64px);color:var(--text);background:var(--surface);border-radius:20px;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 90px #0f172a33}.month-day-modal[open]{flex-direction:column;display:flex}.month-day-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a80}.month-day-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px;display:flex}.month-day-heading>span{color:var(--text-muted);font-size:12px;font-weight:600}.month-day-heading h2{letter-spacing:-.5px;margin:8px 0;font-size:22px}.month-day-heading p{color:var(--text-muted);margin:0;font-size:13px}.month-day-controls{flex-shrink:0;gap:6px;display:flex}.month-day-controls button{border:1px solid var(--border);min-width:36px;height:36px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:9px;font-size:22px}.month-day-controls .month-day-close{background:var(--surface-hover);margin-left:6px;padding:0 14px;font-size:13px}.month-day-controls button:hover{background:var(--surface-hover)}.month-day-controls button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.month-day-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.month-day-operation-note{border-bottom:1px solid var(--border);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;gap:4px;margin:0;padding:14px 28px;font-size:13px;display:grid}.month-day-modal .calendar-time-section{grid-template-columns:160px minmax(0,1fr)}.month-day-modal .calendar-time-section:last-child{border-bottom:0}.month-day-modal .calendar-time-label{justify-content:flex-start;gap:8px;padding:24px}.month-day-modal .calendar-time-label small{color:var(--text-muted);font-size:12px}.month-day-modal .calendar-time-content{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));align-items:start;gap:12px;padding:20px}.month-day-modal .calendar-student-card{border:1px solid var(--border);background:var(--surface);height:auto;min-height:100px;box-shadow:none;border-left:3px solid #b7c9db;align-items:flex-start;padding:16px}.month-day-modal .calendar-student-card.trial,.month-day-modal .calendar-student-card.makeup{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-left-width:3px}.month-day-modal .calendar-student-card.trial{border-left-color:#83a98e}.month-day-modal .calendar-student-card.makeup{border-left-color:#ac98c1}.month-day-modal .calendar-student-details{gap:8px;overflow:visible}.month-day-student-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.month-day-modal .calendar-student-card strong{color:var(--text);white-space:normal;overflow-wrap:anywhere;font-size:14px}.month-day-modal .month-day-type{background:var(--surface-hover);color:var(--text-muted);border-radius:5px;flex-shrink:0;padding:3px 6px;font-size:10px}.month-day-age{color:var(--text-muted);font-size:12px}.month-day-fields{gap:6px;margin:2px 0 0;font-size:12px;line-height:1.6;display:grid}.month-day-fields>div{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;display:grid}.month-day-fields dt{color:var(--text-muted);overflow-wrap:anywhere}.month-day-fields dd{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.month-day-description{border-top:1px solid var(--border);color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;padding-top:10px;font-size:12px;line-height:1.6}.month-day-empty{text-align:center;padding:80px 24px}.month-day-empty strong{font-size:16px}.month-day-empty p{color:var(--text-muted);margin:10px 0 0;font-size:13px}@media (width<=720px){.month-day-modal{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.month-day-header{flex-wrap:wrap;gap:14px;padding:20px 16px}.month-day-heading h2{font-size:18px}.month-day-modal .calendar-time-section{grid-template-columns:1fr;gap:0}.month-day-modal .calendar-time-label{padding:14px 16px}.month-day-modal .calendar-time-content{padding:16px}}.calendar-page{max-width:1400px;color:var(--text);margin:0 auto}.calendar-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.calendar-header h1{color:var(--text);font-size:28px}.calendar-header p{color:var(--text-muted);margin-top:8px;font-size:14px}.calendar-controls,.calendar-tabs,.calendar-navigation{align-items:center;gap:8px;display:flex}.calendar-tabs{background:var(--surface-hover);border-radius:9px;padding:4px}.calendar-tabs button,.today-button,.calendar-navigation button,.calendar-add-event-button{cursor:pointer;border:0;border-radius:6px;font-weight:600}.calendar-tabs button{color:var(--text);background:0 0;padding:8px 14px}.calendar-tabs button.active{color:var(--text);background:var(--surface)}.today-button,.calendar-add-event-button{color:#fff;background:#2563eb;padding:10px 15px}.calendar-add-event-button{background:#0f766e}.calendar-navigation{color:var(--text);justify-content:center;margin-bottom:16px}.calendar-navigation h2{text-align:center;width:min(440px,70vw);font-size:17px}.calendar-navigation button{color:#fff;background:#416ee4;width:36px;height:36px;font-size:26px;line-height:1}.calendar-card{background:var(--surface);border-radius:12px;min-height:350px;overflow:hidden;box-shadow:0 4px 15px #00000029}.calendar-empty,.calendar-error{text-align:center;color:var(--text-muted);padding:70px 20px}.calendar-error{color:var(--danger)}.calendar-time-section{border-bottom:1px solid var(--border);grid-template-columns:165px 1fr;display:grid}.calendar-time-label{color:var(--text);background:var(--surface-hover);flex-direction:column;justify-content:center;gap:5px;padding:22px;display:flex}.calendar-time-label strong{font-size:14px}.calendar-time-label span{color:#718098;font-size:12px}.calendar-time-content{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px;padding:14px 20px;display:grid}.calendar-student-card{background:var(--surface);box-sizing:border-box;border:1px solid #dfe8f3;border-radius:10px;align-items:center;gap:9px;min-width:0;height:82px;padding:10px;display:flex}.calendar-student-details{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex;overflow:hidden}.calendar-student-card strong{color:#263449;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.calendar-student-card span{color:var(--text-muted);font-size:11px}.calendar-student-card button{color:#fff;background:#2563eb;border:0;border-radius:6px;height:28px;padding:0 9px;font-size:11px;font-weight:700}.calendar-student-card button.checked{color:#167451;background:#e6f7ef;font-size:11px}.calendar-checkin-message{color:#1d5f47;background:#e6f7ef;border-radius:8px;width:fit-content;margin:0 auto 12px;padding:8px 12px;font-size:13px}.calendar-student-name{align-items:baseline;gap:5px;min-width:0;display:flex}.calendar-student-name small{color:var(--text-muted);flex:none;font-size:10px;font-weight:500}.calendar-student-card .calendar-student-custom-data{color:#526174;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.calendar-entry{color:#1d4ed8;background:#e0edff;border-radius:7px;flex-wrap:wrap;align-items:center;gap:3px 6px;padding:7px 9px;font-size:13px;display:flex}.calendar-entry.trial{color:#167451;background:#ecfdf3;border:1px solid #86d6a7;border-left:4px solid #16a34a}.calendar-entry.makeup{color:#6d28d9;background:#f5f0ff;border:1px solid #c4a9ef;border-left:4px solid #7c3aed}.calendar-entry-name{width:100%;font-weight:600}.calendar-entry.compact{box-sizing:border-box;align-content:flex-start;height:52px;padding:4px 5px;font-size:11px;line-height:1.2;overflow:hidden}.compact .calendar-entry-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-entry-custom-data{font-size:10px}.calendar-week-wrap{overflow-x:auto}.calendar-week-grid{grid-template-columns:115px repeat(7,minmax(110px,1fr));min-width:900px;display:grid}.week-time-header,.week-day-header{border-bottom:1px solid var(--border);background:var(--surface-hover);min-height:58px;color:var(--text-muted);justify-content:center;align-items:center;gap:7px;padding:10px;display:flex}.week-day-header.today{color:#2563eb;background:#eff6ff}.week-row{display:contents}.week-time,.week-cell{border-bottom:1px solid var(--border);min-height:105px;padding:10px}.week-time{background:var(--surface-hover);color:var(--text-muted);font-size:12px;font-weight:700}.week-cell{border-left:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px;display:flex}.calendar-month-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-weekday{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);padding:12px;font-size:12px;font-weight:700}.month-cell{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;background:var(--surface);flex-direction:column;align-items:stretch;gap:4px;min-height:128px;padding:9px;display:flex;overflow:hidden}.month-cell:hover{background:var(--surface-hover)}.month-cell.selected{outline-offset:-2px;background:#eff6ff;outline:2px solid #2563eb}.month-cell.outside{background:var(--surface-hover);color:var(--text-muted)}.month-date{font-size:13px;font-weight:700}.month-count{min-height:14px;color:var(--text-muted);font-size:11px}.week-time{flex-direction:column;gap:4px;display:flex}.week-time strong{font-size:12px}.week-time span{color:#748195;font-size:11px}@media (width<=720px){.calendar-page{margin:0 -12px}.calendar-header{flex-direction:column;align-items:start}.calendar-controls{justify-content:space-between;width:100%}.calendar-tabs button{padding:8px 10px}.calendar-time-section{grid-template-columns:1fr;gap:8px}.calendar-time-label{padding:10px 16px}.calendar-time-content{padding:12px 16px}.month-cell{min-height:94px;padding:5px}.month-cell .calendar-entry{font-size:10px}.month-weekday{padding:9px 3px}}.calendar-student-card.trial{background:linear-gradient(100deg,#dcfce7,#f8fffb);border-color:#86d6a7 #86d6a7 #86d6a7 #16a34a;border-left-style:solid;border-left-width:5px;box-shadow:0 3px 10px #16a34a24}.calendar-student-card.makeup{background:linear-gradient(100deg,#ede9fe,#fbfaff);border-color:#c4a9ef #c4a9ef #c4a9ef #7c3aed;border-left-style:solid;border-left-width:5px;box-shadow:0 3px 10px #7c3aed24}.calendar-attendance-actions{gap:5px;display:flex}.calendar-student-card .absence-button{background:#dc2626}.attendance-badge{white-space:nowrap;border-radius:6px;align-items:center;height:28px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.attendance-badge.present{color:#167451;background:#e6f7ef}.attendance-badge.absent{color:#b42318;background:#fff0ef}.absence-modal-overlay{z-index:100;background:#0f172a80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.absence-modal{background:var(--surface);width:min(100%,420px);color:var(--text);border-radius:14px;padding:26px;box-shadow:0 22px 60px #0000003d}.absence-modal h2{font-size:20px}.absence-modal p{color:var(--text-muted);margin-top:8px;font-size:14px}.absence-type-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;display:grid}.absence-type-options button{color:#526174;background:var(--surface);border:1px solid #dbe3ed;border-radius:8px;padding:12px 8px;font-weight:700}.absence-type-options button.active{color:#b42318;background:#fff4f3;border-color:#dc2626}.absence-modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.absence-modal-actions button{color:#526174;background:#edf2f7;border:0;border-radius:8px;padding:10px 14px;font-weight:700}.absence-modal-actions .confirm-absence{color:#fff;background:#dc2626}.absence-memo{color:var(--text);gap:7px;margin-top:18px;font-size:13px;font-weight:700;display:grid}.absence-memo small{color:var(--text-muted);font-weight:500}.absence-memo textarea{resize:vertical;width:100%;color:var(--text);font:inherit;border:1px solid #dbe3ed;border-radius:8px;padding:10px}.absence-memo textarea:focus{border-color:#dc2626;outline:none;box-shadow:0 0 0 3px #dc26261a}.calendar-edit-guide{color:var(--text-muted);margin:0 0 12px;font-size:12px}.calendar-student-card{position:relative}.calendar-student-card .calendar-card-open{border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.calendar-attendance-actions{z-index:1;flex-shrink:0;position:relative}.calendar-edit-hint{opacity:.55;vertical-align:-1px;flex-shrink:0}.calendar-entry-name .calendar-edit-hint{margin-left:5px}.calendar-entry.editable{text-align:left;cursor:pointer;width:100%;font-family:inherit}.calendar-entry.editable:hover{filter:brightness(.97);box-shadow:0 0 0 1px}.calendar-student-card:has(.calendar-card-open:hover){filter:brightness(.97);box-shadow:0 0 0 1px}.calendar-card-open:focus-visible,.calendar-entry.editable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.calendar-entry.editable:hover .calendar-edit-hint{opacity:1}.calendar-student-card:has(.calendar-card-open:hover) .calendar-edit-hint{opacity:1}.month-cell{color:var(--text);cursor:pointer}.month-cell:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}:root[data-theme=dark] .month-cell.selected{background:#26384b}.week-day-header{flex-wrap:wrap;align-content:center;min-height:76px}.week-day-header .calendar-day-indicators{flex-basis:100%;align-items:center}.week-day-header.closed,.week-cell.closed{background:var(--calendar-closed-bg)}.week-day-header.closed{box-shadow:inset 0 -4px var(--calendar-closed-accent)}.month-cell.unified-calendar-day.closed.selected{background:var(--calendar-closed-selected)}.unified-calendar-grid .month-weekday{border-color:var(--calendar-cell-border)}:root[data-theme=dark] .week-day-header.today:not(.closed){color:var(--primary);background:#26384b}.month-cell.unified-calendar-day .month-date{font-size:16px;font-weight:800}.month-cell.unified-calendar-day .month-count{font-size:12px;font-weight:700}.week-day-header b,.week-day-header>span{font-size:14px;font-weight:800}.calendar-day-banner{border-bottom:1px solid var(--border);background:var(--surface-hover);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;font-size:13px;display:flex}.makeup-progress{color:#6d28d9;font-size:11px;font-weight:800}.calendar-day-banner .calendar-day-indicators,.month-day-heading .calendar-day-indicators{flex-flow:wrap}.legacy-session-options{gap:8px;margin:16px 0;display:grid}.legacy-session-options button{border:1px solid var(--border,#d0d5dd);background:var(--surface,#fff);color:inherit;text-align:left;cursor:pointer;border-radius:8px;padding:12px}.calendar-page:not(.academy-operations-page){--calendar-makeup-color:#6d28d9}:root[data-theme=dark] .calendar-page:not(.academy-operations-page){--calendar-makeup-color:#c4b5fd}.calendar-page :is(.calendar-controls button,.calendar-navigation button){border:1px solid var(--border);border-radius:9px;font-family:inherit;font-weight:650}.calendar-page :is(.today-button,.calendar-navigation button){color:var(--text);background:var(--surface)}.calendar-page :is(.today-button,.calendar-navigation button):hover{color:var(--primary);border-color:var(--primary);background:var(--surface-hover)}.calendar-page:not(.academy-operations-page) .calendar-add-event-button{color:#fff;background:var(--primary-solid);border-color:#0000}.calendar-page:not(.academy-operations-page) .calendar-add-event-button:hover{background:var(--primary-solid-hover)}.calendar-page:not(.academy-operations-page) .calendar-tabs{border:1px solid var(--border);background:var(--surface);border-radius:11px}.calendar-page:not(.academy-operations-page) .calendar-tabs button{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.calendar-page:not(.academy-operations-page) .calendar-tabs button:hover{color:var(--primary);background:var(--surface-hover)}.calendar-page:not(.academy-operations-page) .calendar-tabs button.active{color:var(--primary);background:var(--primary-soft)}.calendar-page .calendar-card{border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:16px}.calendar-page .calendar-navigation h2{letter-spacing:-.3px;font-weight:750}.calendar-page:not(.academy-operations-page) .calendar-day-banner{color:var(--text);background:var(--surface-hover)}.calendar-page.workspace-page:not(.academy-operations-page) :is(.calendar-student-card,.calendar-entry){border:1px solid var(--border);height:auto;min-height:82px;color:var(--text);background:var(--surface);box-shadow:none;border-radius:9px;padding:10px;font-size:13px;line-height:1.5}.calendar-page.workspace-page:not(.academy-operations-page) :is(.calendar-student-card,.calendar-entry).trial{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 18%, var(--surface))}.calendar-page.workspace-page:not(.academy-operations-page) :is(.calendar-student-card,.calendar-entry).makeup{border-color:color-mix(in srgb, var(--calendar-makeup-color) 45%, var(--border));background:color-mix(in srgb, var(--calendar-makeup-color) 18%, var(--surface))}.calendar-page.workspace-page:not(.academy-operations-page) :is(.calendar-student-card strong,.calendar-entry-name){color:var(--text);font-size:13px;font-weight:650;line-height:1.5}.calendar-page.workspace-page:not(.academy-operations-page) .calendar-type-badge{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:5px;flex-shrink:0;margin-left:5px;padding:2px 5px;font-size:10px;font-weight:650;line-height:1.2;display:inline-block}.calendar-page.workspace-page:not(.academy-operations-page) .calendar-entry.compact{align-content:flex-start}.calendar-page.workspace-page:not(.academy-operations-page) .calendar-entry-name{overflow-wrap:anywhere;white-space:normal}.calendar-page.workspace-page:not(.academy-operations-page) .calendar-student-name{flex-wrap:wrap}.calendar-page.workspace-page:not(.academy-operations-page) .calendar-student-name strong{white-space:normal;overflow-wrap:anywhere;flex-basis:100%}.calendar-page.workspace-page:not(.academy-operations-page) .calendar-student-name .calendar-type-badge{margin-left:0}.calendar-page.workspace-page:not(.academy-operations-page) .calendar-entry-custom-data{color:var(--text-muted)}.calendar-page:not(.academy-operations-page) :is(.calendar-student-card strong,.calendar-time-label strong){color:var(--text);font-weight:650}.calendar-page:not(.academy-operations-page) :is(.calendar-time-label span,.week-time span,.calendar-student-custom-data){color:var(--text-muted)}.calendar-page:not(.academy-operations-page) .event-type-options button.selected.trial{color:var(--success);border-color:var(--success);background:var(--success-soft)}.calendar-page:not(.academy-operations-page) .event-type-options button.selected.makeup{color:var(--calendar-makeup-color);border-color:var(--calendar-makeup-color);background:color-mix(in srgb, var(--calendar-makeup-color) 10%, var(--surface))}.calendar-page:not(.academy-operations-page) .event-type-options button.selected.trial{box-shadow:inset 4px 0 var(--success)}.calendar-page:not(.academy-operations-page) .event-type-options button.selected.makeup{box-shadow:inset 4px 0 var(--calendar-makeup-color)}.calendar-page:not(.academy-operations-page) .week-day-header.today:not(.closed){color:var(--primary);background:var(--primary-soft)}.calendar-page:not(.academy-operations-page) .month-cell.selected:not(.closed){outline-color:var(--primary);background:var(--primary-soft)}.calendar-page:not(.academy-operations-page) .calendar-attendance-actions button{background:var(--primary-solid);border-radius:6px}.calendar-page:not(.academy-operations-page) .calendar-attendance-actions .absence-button{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.calendar-page:not(.academy-operations-page) :is(.attendance-badge.present,.calendar-checkin-message){color:var(--success);background:var(--success-soft)}.calendar-page:not(.academy-operations-page) .attendance-badge.absent{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.calendar-page:not(.academy-operations-page) :is(.event-modal-dialog,.absence-modal,.month-day-modal){border:1px solid var(--border);border-radius:16px}.calendar-page:not(.academy-operations-page) :is(.event-modal-header h2,.absence-modal h2,.month-day-heading h2){color:var(--text);letter-spacing:-.3px;font-weight:750}.calendar-page:not(.academy-operations-page) :is(.event-modal-fields input,.event-modal-fields select,.event-modal-fields textarea,.absence-memo textarea){background:var(--surface);color:var(--text);border-color:var(--border);border-radius:9px}.calendar-page:not(.academy-operations-page) .event-modal-actions button{border-radius:9px;font-family:inherit;font-weight:650}.calendar-page:not(.academy-operations-page) .event-modal-actions button:last-child{color:#fff;background:var(--primary-solid)}.calendar-page:not(.academy-operations-page) .event-modal-actions button:last-child:hover:not(:disabled){background:var(--primary-solid-hover)}.calendar-page:not(.academy-operations-page) .absence-modal-actions button{color:var(--text-muted);background:var(--surface-hover)}.calendar-page:not(.academy-operations-page) .absence-modal-actions .confirm-absence{color:var(--surface);background:var(--danger)}@media (width<=720px){.calendar-page:not(.academy-operations-page) .month-day-modal{border:0;border-radius:0}}.capacity-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);border-radius:15px;overflow:hidden}.capacity-card-header{justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.capacity-card-header h2{color:var(--text);margin:0;font-size:16px;font-weight:750}.capacity-card-header p{color:var(--text-muted);margin:7px 0 0;font-size:12px;line-height:1.5}.capacity-card-actions{align-items:center;gap:12px;display:flex}.capacity-display-control{border:1px solid var(--border);background:var(--surface-hover);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.capacity-display-control button{color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 13px;font-size:13px;font-weight:650}.capacity-display-control button.active{color:#fff;background:var(--primary-solid)}.capacity-quota{border:1px solid var(--border);width:fit-content;color:var(--text-muted);background:var(--surface-hover);border-radius:8px;align-items:center;gap:12px;margin:-5px 24px 14px;padding:7px 11px;font-size:12px;display:flex}.capacity-quota strong{color:var(--primary);font-variant-numeric:tabular-nums;font-size:16px;font-weight:750}.capacity-quota strong span{margin-left:3px;font-size:12px;font-weight:500}.capacity-grid-wrap{padding:0 16px 18px;overflow-x:auto}.capacity-table{border-collapse:separate;border-spacing:8px;table-layout:fixed;text-align:center;width:100%;min-width:800px}.capacity-table th,.capacity-table td{border:0;padding:0}.capacity-table thead th{color:var(--text-muted);padding:8px 0 12px;font-size:13px;font-weight:650}.capacity-table thead th:first-child{width:154px}.capacity-table tbody th{border:1px solid var(--border);color:var(--text);background:var(--surface-hover);text-align:left;border-radius:9px;padding:14px}.capacity-table tbody th strong,.capacity-table tbody th span{overflow-wrap:anywhere;display:block}.capacity-table tbody th strong{font-size:13px;font-weight:650}.capacity-table tbody th span{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px;font-weight:500}.capacity-slot{box-sizing:border-box;border:1px solid var(--border);min-height:74px;color:var(--text-muted);background:var(--surface-hover);border-radius:9px;justify-content:center;align-items:center;padding:10px 4px;display:flex}.capacity-slot strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.capacity-slot.has-students{color:var(--primary);background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}.capacity-slot.is-over-capacity{color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, var(--surface));border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.capacity-slot.is-recruiting{color:var(--success);background:color-mix(in srgb, var(--success) 23%, var(--surface));border-color:color-mix(in srgb, var(--success) 60%, var(--border))}.capacity-slot.is-full{color:var(--danger);background:color-mix(in srgb, var(--danger) 23%, var(--surface));border-color:color-mix(in srgb, var(--danger) 60%, var(--border))}.capacity-empty,.capacity-error{color:var(--text-muted);text-align:center;padding:60px 20px;font-size:13px}.capacity-error{color:var(--danger)}@media (width<=720px){.capacity-card-header{flex-direction:column;align-items:start;gap:16px;padding:18px 16px}.capacity-card-actions{justify-content:space-between;width:100%}.capacity-quota{margin:-3px 16px 12px}.capacity-grid-wrap{padding:0 8px 12px}}.store-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.store-page .store-add-button,.store-form-actions button[type=submit]{color:#fff;background:var(--primary-solid);min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:9px;padding:0 16px;font-size:13px;font-weight:650}.store-page .store-add-button:hover:not(:disabled),.store-form-actions button[type=submit]:hover:not(:disabled){background:var(--primary-solid-hover)}.store-product-section{padding-bottom:24px}.store-list-heading{justify-content:space-between;align-items:center;gap:15px;margin:0 0 16px;display:flex}.store-list-heading h2{color:var(--text);margin:0;font-size:16px;font-weight:750}.store-list-heading h2 span{color:var(--primary);margin-left:5px;font-size:13px}.store-list-heading button,.store-product-card button,.store-form-actions button[type=button]{border:1px solid var(--border);min-height:36px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:650;display:inline-flex}.store-list-heading button:hover:not(:disabled),.store-product-card button:hover:not(:disabled),.store-form-actions button[type=button]:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:var(--surface-hover)}.store-page button:disabled{opacity:.55;cursor:not-allowed}.store-empty{border:1px dashed var(--border);min-height:176px;color:var(--text-muted);text-align:center;border-radius:15px;place-content:center;gap:8px;padding:28px;font-size:13px;display:grid}.store-empty>span{font-size:27px}.store-empty small{font-size:12px}.store-message{border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-radius:9px;margin:0 0 16px;padding:12px 14px;font-size:13px}.store-product-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px;display:grid}.store-product-card{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:343px;box-shadow:var(--card-shadow);border-radius:15px;flex-direction:column;display:flex;overflow:hidden}.store-product-image-wrap{position:relative}.product-image{aspect-ratio:16/9;background:var(--surface-hover);width:100%;color:var(--primary);place-items:center;font-size:31px;display:grid;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%}.store-status{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:650;position:absolute;top:11px;right:11px}.store-status.active{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,var(--border))}.store-product-content{flex:1;padding:16px 17px 0}.store-product-card h3{overflow-wrap:anywhere;color:var(--text);margin:0 0 7px;font-size:15px;font-weight:650}.store-product-card p{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.store-product-card>strong{color:var(--primary);font-variant-numeric:tabular-nums;padding:16px 17px;font-size:22px;font-weight:750;display:block}.store-product-card>strong small{color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:500;display:block}.store-product-card>strong em{font-size:13px;font-style:normal}.store-visibility-toggle{border:1px solid var(--border);background:var(--surface-hover);cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:0 17px 16px;padding:10px 12px;display:flex;position:relative}.store-visibility-toggle>span:first-child{gap:3px;display:grid}.store-visibility-toggle small{color:var(--text-muted);font-size:11px}.store-visibility-toggle strong{color:var(--text-muted);font-size:12px;font-weight:650}.store-visibility-toggle.is-active strong{color:var(--primary)}.store-visibility-toggle input{opacity:0;width:1px;height:1px;position:absolute}.store-switch{border:1px solid var(--text-subtle);background:var(--surface-active);box-sizing:border-box;border-radius:99px;flex:none;width:42px;height:24px;position:relative}.store-switch:after{background:var(--text-subtle);content:"";border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:3px}.store-visibility-toggle.is-active .store-switch{border-color:var(--primary-solid);background:var(--primary-solid)}.store-visibility-toggle.is-active .store-switch:after{background:#fff;left:21px}.store-visibility-toggle:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:3px}.store-visibility-toggle:has(input:disabled){cursor:wait;opacity:.55}.store-product-card footer{grid-template-columns:1fr 1fr;gap:8px;padding:0 17px 17px;display:grid}.store-product-card footer .danger{color:var(--danger)}.store-product-card footer .danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.store-product-dialog{border:1px solid var(--border);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--surface);border-radius:16px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 24px 80px #0005}.store-product-dialog::backdrop{background:#0f172a88}.store-dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.store-dialog-header h2{margin:0;font-size:20px;font-weight:750}.store-dialog-header p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.store-dialog-header button{color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;font-size:25px}.store-product-dialog form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 24px;display:grid}.store-product-dialog fieldset{display:contents}.store-product-dialog label{min-width:0;color:var(--text);gap:7px;font-size:13px;font-weight:650;display:grid}.store-product-dialog input:not([type=checkbox]):not([type=file]){box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;height:42px;color:var(--text);background:var(--surface);font:inherit;border-radius:9px;padding:0 11px}.store-wide{grid-column:1/-1}.store-file-field{border:1px dashed var(--border);background:var(--surface-hover);border-radius:9px;padding:12px}.store-file-field input{width:100%;min-width:0;color:var(--text-muted);font-size:12px}.store-file-field input::file-selector-button{border:1px solid var(--border);color:var(--primary);background:var(--primary-soft);font:inherit;cursor:pointer;border-radius:7px;margin-right:8px;padding:7px 10px}.store-image-help{color:var(--text-muted);font-size:11px;font-weight:400;line-height:1.5}.store-product-dialog .store-toggle{border:1px solid var(--border);background:var(--surface-hover);border-radius:9px;align-items:flex-start;gap:8px;padding:12px;display:flex}.store-toggle input{accent-color:var(--danger);margin-top:3px}.store-toggle span{gap:4px;display:grid}.store-toggle small{color:var(--text-muted);font-size:11px;font-weight:400}.store-form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.store-form-error{color:var(--danger);margin:0;font-size:13px}@media (width<=720px){.store-header{flex-direction:column;align-items:flex-start}}@media (width<=430px){.store-product-grid{grid-template-columns:1fr}.store-product-dialog form{grid-template-columns:1fr;padding:18px 16px}.store-dialog-header{padding:18px 16px}}.number-keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,360px);margin:18px auto;display:grid}.number-keypad button{border:1px solid var(--border-color,#d5dce5);background:var(--bg-card,#fff);min-height:56px;color:var(--text-primary,#192a41);cursor:pointer;border-radius:12px;font-size:22px}.number-keypad button:disabled{opacity:.45;cursor:default}.number-keypad .number-keypad-confirm{color:#fff;background:#2563eb;grid-column:1/-1}.kiosk-input-choice{flex-wrap:wrap;justify-content:center;gap:12px;margin:20px;display:flex}.kiosk-input-choice button{cursor:pointer;border:1px solid #cbd5e1;border-radius:12px;padding:18px 28px;font-size:18px}.checkin-page{width:min(100%,680px);min-height:100vh;color:var(--text,#1d2939);grid-template-rows:auto auto;align-content:center;gap:16px;margin:0 auto;padding:32px;display:grid}.checkin-page>section:empty{width:0;height:0;position:absolute;overflow:hidden}.checkin-waiting{text-align:center;background:linear-gradient(135deg,#eff7ff,#fafdff);border:1px solid #d5e4f4;border-radius:24px;justify-items:center;min-height:324px;padding:34px 28px 28px;display:grid}.checkin-entry-icon{color:#fff;background:#2870bf;border-radius:18px;place-items:center;width:56px;height:56px;margin-bottom:12px;font-size:28px;font-weight:800;display:grid;box-shadow:0 10px 24px #2870bf3d}.checkin-eyebrow{color:#3475bc;letter-spacing:1.3px;margin:0 0 6px;font-size:11px;font-weight:800}.checkin-waiting h1{color:#152238;letter-spacing:-1.3px;margin:0;font-size:clamp(26px,5vw,32px)}.checkin-waiting>p:not(.checkin-eyebrow){color:#66788f;margin:8px 0 0;font-size:15px}.checkin-mode-notice{color:#73849a!important;font-size:12px!important}.checkin-form{gap:9px;width:min(100%,390px);margin-top:18px;display:flex}.checkin-form input{color:#1d2939;background:#fff;border:1px solid #c9d7e7;border-radius:11px;outline:none;flex:1;min-width:0;height:48px;padding:0 14px}.checkin-form input:focus{border-color:#367bd0;box-shadow:0 0 0 3px #367bd01f}.checkin-form button{color:#fff;background:#256bc0;border:0;border-radius:11px;min-width:70px;font-size:14px;font-weight:700}.checkin-form button:disabled{opacity:.65;cursor:wait}.checkin-manual-mode-button{color:#537391;text-underline-offset:3px;background:0 0;border:0;margin-top:10px;font-size:13px;font-weight:700;text-decoration:underline}.checkin-feedback{--feedback-color:#53657d;--feedback-border:#dae3ed;--feedback-bg:#f5f8fc;--feedback-icon-bg:#e9eff6;border:1px solid var(--feedback-border);background:var(--feedback-bg);height:240px;color:var(--feedback-color);text-align:center;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:20px 24px;display:flex;overflow:auto;box-shadow:0 14px 32px #1522380b}.checkin-feedback.is-success{--feedback-color:#08754b;--feedback-border:#a9dec8;--feedback-bg:#edfbf4;--feedback-icon-bg:#d2f2e1}.checkin-feedback.is-makeup{--feedback-color:#753bb5;--feedback-border:#d7bbed;--feedback-bg:#f8efff;--feedback-icon-bg:#ead8f9}.checkin-feedback.is-duplicate{--feedback-color:#8a5d0a;--feedback-border:#ecd39f;--feedback-bg:#fff8e8;--feedback-icon-bg:#fae9bd}.checkin-feedback.is-blocked,.checkin-feedback.is-error{--feedback-color:#b42318;--feedback-border:#f0b9b5;--feedback-bg:#fff0ef;--feedback-icon-bg:#fbd8d4}.checkin-feedback-icon{background:var(--feedback-icon-bg);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;margin-bottom:10px;font-size:24px;font-weight:900;line-height:1;display:grid}.checkin-feedback-label{letter-spacing:.02em;margin:0;font-size:14px;font-weight:800}.checkin-feedback h2{color:inherit;overflow-wrap:anywhere;margin:6px 0 0;font-size:clamp(24px,5vw,32px);font-weight:850;line-height:1.25}.checkin-feedback-description{margin:5px 0 0;font-size:clamp(19px,4vw,24px);font-weight:800}.checkin-feedback-hint{margin:6px 0 0;font-size:13px;font-weight:600}.checkin-feedback-details{justify-content:center;gap:9px;margin-top:12px;display:flex}.checkin-feedback-details span{background:#ffffffb8;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:700}:root[data-theme=dark] .checkin-feedback{--feedback-color:#b8c7d9;--feedback-border:#33475f;--feedback-bg:#172638;--feedback-icon-bg:#263c55}:root[data-theme=dark] .checkin-feedback.is-success{--feedback-color:#9be0bc;--feedback-border:#27694e;--feedback-bg:#143c2e;--feedback-icon-bg:#225740}:root[data-theme=dark] .checkin-feedback.is-makeup{--feedback-color:#dfb6ff;--feedback-border:#6d4690;--feedback-bg:#352246;--feedback-icon-bg:#51336c}:root[data-theme=dark] .checkin-feedback.is-duplicate{--feedback-color:#ebca84;--feedback-border:#765c2e;--feedback-bg:#3d3017;--feedback-icon-bg:#58441e}:root[data-theme=dark] .checkin-feedback.is-blocked,:root[data-theme=dark] .checkin-feedback.is-error{--feedback-color:#ffaaa2;--feedback-border:#85423e;--feedback-bg:#432422;--feedback-icon-bg:#61312e}:root[data-theme=dark] .checkin-feedback-details span{background:#ffffff16}@media (width<=600px){.checkin-page{padding:20px}.checkin-waiting{padding:28px 20px 22px}.checkin-form{flex-direction:column}.checkin-form input,.checkin-form button{width:100%}.checkin-form button{height:48px}}.checkin-feedback.is-selection{height:auto;min-height:240px}.checkin-session-options{gap:8px;width:100%;margin:12px 0;display:grid}.checkin-session-options button{border:1px solid var(--feedback-border);background:var(--surface,#fff);color:inherit;cursor:pointer;border-radius:10px;padding:12px}.checkin-session-options small{margin-top:4px;display:block}.kiosk-page{color:#17253b;max-width:1050px;min-height:100vh;margin:0 auto;padding:45px 35px}.kiosk-page header{text-align:center;margin-bottom:31px}.kiosk-page header p{color:#4978d5;letter-spacing:2px;margin:0 0 8px;font-size:12px;font-weight:900}.kiosk-page header h1{letter-spacing:-1.8px;margin:0;font-size:37px}.kiosk-page header span{color:#738198;margin-top:10px;font-size:16px;display:block}.kiosk-empty{color:#6b7c91;text-align:center;padding:70px}.kiosk-products{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:17px;display:grid}.kiosk-products button{color:#192a43;text-align:left;cursor:pointer;background:#fff;border:2px solid #dae5f2;border-radius:18px;min-height:180px;padding:22px;transition:transform .15s,border-color .15s,box-shadow .15s}.kiosk-products button:hover,.kiosk-products button.selected{border-color:#437bd0;transform:translateY(-2px);box-shadow:0 9px 24px #2d63a622}.kiosk-products button>span,.kiosk-products button>strong,.kiosk-products button>em{display:block}.kiosk-products button>span{color:#718097;font-size:13px;line-height:1.4}.kiosk-products button>strong{margin:17px 0 19px;font-size:20px}.kiosk-products button>em{color:#1670ca;font-size:25px;font-style:normal;font-weight:900}.kiosk-result{text-align:center;border-radius:15px;max-width:650px;margin:26px auto 0;padding:23px}.kiosk-result h2{margin:0;font-size:21px}.kiosk-result p{margin:10px 0}.kiosk-result.success{color:#087251;background:#e8fcf3}.kiosk-result.error{color:#ae3028;background:#fff0ef}@media (width<=700px){.kiosk-page{padding:32px 20px}.kiosk-page header h1{font-size:31px}}.kiosk-products .product-image{aspect-ratio:auto;box-sizing:border-box;background:linear-gradient(135deg,#eff6ff,#e0e7ff);border-radius:11px;place-items:center;width:100%;height:clamp(210px,24vw,280px);margin-bottom:15px;padding:8px;font-size:80px;display:grid;overflow:hidden}.kiosk-products .product-image img{object-fit:contain;background:#fff;width:100%;height:100%}.kiosk-products .product-image>span{font-size:clamp(72px,7vw,104px);line-height:1}.kiosk-modal-overlay{z-index:50;background:#0f1f337a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.kiosk-pay-modal{color:#1a2b43;text-align:center;background:#fff;border-radius:18px;width:min(100%,440px);padding:29px;position:relative;box-shadow:0 25px 70px #0e26434d}.kiosk-close{color:#708096;cursor:pointer;background:0 0;border:0;font-size:26px;position:absolute;top:12px;right:14px}.kiosk-modal-eyebrow{color:#4d7ed2;letter-spacing:1px;margin:0;font-size:12px;font-weight:900}.kiosk-pay-modal h2{margin:7px 0;font-size:26px}.kiosk-pay-modal>strong{color:#176cc0;font-size:24px;display:block}.kiosk-modal-guide{color:#65768c;margin:23px 0 16px;line-height:1.55}.kiosk-pay-modal form{gap:10px;display:grid}.kiosk-pay-modal label{color:#4d6075;text-align:left;gap:7px;font-size:13px;font-weight:700;display:grid}.kiosk-pay-modal input{height:46px;font:inherit;border:1px solid #cbd9e6;border-radius:9px;padding:0 12px}.kiosk-pay-modal form button,.kiosk-confirm-actions button{color:#fff;height:46px;font:inherit;cursor:pointer;background:#286fc0;border:0;border-radius:9px;font-weight:800}.kiosk-confirm-info{justify-content:center;gap:8px;margin:15px 0;display:flex}.kiosk-confirm-info span{color:#2c5e93;background:#eaf3fc;border-radius:999px;padding:6px 9px;font-size:13px;font-weight:700}.kiosk-confirm-actions{grid-template-columns:1fr 1.3fr;gap:9px;display:grid}.kiosk-confirm-actions button:first-child{color:#56687c;background:#edf2f7}.kiosk-modal-error{color:#b42318;margin:14px 0 0;font-size:13px}.kiosk-pay-modal{box-sizing:border-box;max-height:calc(100dvh - 40px);overflow-y:auto}.student-mode-layout{background:#f6f9fc;min-height:100vh}.student-mode-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #dfe7f0;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:68px;padding:0 28px;display:grid;position:sticky;top:0}.student-mode-brand{color:#1a2b43;gap:2px;display:grid}.student-mode-brand strong{letter-spacing:1px;font-size:14px}.student-mode-brand span{color:#728096;font-size:12px}.student-mode-header nav{background:#edf3f9;border-radius:10px;gap:4px;padding:4px;display:inline-flex}.student-mode-header nav button,.student-mode-admin-button{font:inherit;cursor:pointer;border:0;border-radius:7px;font-size:13px;font-weight:800}.student-mode-header nav button{color:#63748b;background:0 0;padding:9px 15px}.student-mode-header nav button.active{color:#fff;background:#286fc0;box-shadow:0 2px 7px #1a579e38}.student-mode-admin-button{color:#5b6c80;background:0 0;justify-self:end;padding:9px 12px}.student-mode-admin-button:hover{color:#1b5fae;background:#edf4fc}.student-mode-content{min-height:calc(100vh - 69px)}:root[data-theme=dark] .student-mode-layout{background:var(--page-bg)}:root[data-theme=dark] .student-mode-header{border-color:var(--border);background:#111111f5}:root[data-theme=dark] .student-mode-brand{color:var(--text)}:root[data-theme=dark] .student-mode-brand span,:root[data-theme=dark] .student-mode-header nav button:not(.active),:root[data-theme=dark] .student-mode-admin-button{color:var(--text-muted)}:root[data-theme=dark] .student-mode-header nav{background:var(--surface-hover)}:root[data-theme=dark] .student-mode-admin-button:hover{color:#78b7ff;background:var(--surface-hover)}:root[data-theme=dark] .checkin-page{color:var(--text)}:root[data-theme=dark] .checkin-waiting{background:#13243a;border-color:#29435f}:root[data-theme=dark] .checkin-waiting h1{color:var(--text)}:root[data-theme=dark] .checkin-waiting>p:not(.checkin-eyebrow){color:var(--text-muted)}:root[data-theme=dark] .checkin-form input{color:var(--text);background:#111c2b;border-color:#344a63}:root[data-theme=dark] .checkin-scan-result.success{color:#9be0bc;background:#143c2e;border-color:#27694e}:root[data-theme=dark] .checkin-scan-result.duplicate{color:#ebca84;background:#3d3017;border-color:#765c2e}:root[data-theme=dark] .checkin-scan-result div span{background:#172234}:root[data-theme=dark] .kiosk-page,:root[data-theme=dark] .kiosk-products button{color:var(--text)}:root[data-theme=dark] .kiosk-page header span,:root[data-theme=dark] .kiosk-empty,:root[data-theme=dark] .kiosk-products span{color:var(--text-muted)}:root[data-theme=dark] .kiosk-products button{background:var(--surface);border-color:#2a3b50}:root[data-theme=dark] .kiosk-products .product-image{background:#172234}:root[data-theme=dark] .kiosk-result.success{color:#9be0bc;background:#143c2e}:root[data-theme=dark] .kiosk-result.error{color:#ffb6b0;background:#48211f}:root[data-theme=dark] .kiosk-modal-overlay{background:#000000ad}:root[data-theme=dark] .kiosk-pay-modal{background:var(--surface);color:var(--text)}:root[data-theme=dark] .kiosk-close,:root[data-theme=dark] .kiosk-modal-guide,:root[data-theme=dark] .kiosk-pay-modal label{color:var(--text-muted)}:root[data-theme=dark] .kiosk-pay-modal input{color:var(--text);background:#111c2b;border-color:#344a63}:root[data-theme=dark] .kiosk-confirm-info span{color:#a8d3ff;background:#203b59}:root[data-theme=dark] .kiosk-confirm-actions button:first-child{color:#c7d3df;background:#27394d}@media (width<=600px){.student-mode-header{grid-template-columns:auto 1fr auto;gap:8px;padding:0 12px}.student-mode-brand span{display:none}.student-mode-header nav button{padding:9px 10px}.student-mode-admin-button{padding:8px;font-size:12px}}.message-compose-fieldset{border:0;min-width:0;padding:0}.message-settings-link{justify-content:flex-end;margin-bottom:16px;display:flex}.message-compose-fieldset:disabled{opacity:.75}.message-compose-fieldset .message-type-toggle{flex-wrap:wrap}.message-compose-fieldset .message-type-toggle button{min-width:105px}.message-status.pending,.message-status.sending{color:#84612b;background:#f6edda}.message-status.unknown{color:var(--text-muted);background:var(--surface-hover)}.message-send-failures{color:var(--text);padding-left:20px;font-size:13px}:root[data-theme=dark] .message-status.pending,:root[data-theme=dark] .message-status.sending{color:#dac492;background:#443a29}.message-auto-type{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.message-type-badge{color:#285a81;background:#e7eff6;border-radius:6px;padding:5px 9px;font-size:12px;display:inline-block}.message-type-badge.lms{color:#725882;background:#f0eaf4}:root[data-theme=dark] .message-type-badge{color:#b6d0e4;background:#263b4c}:root[data-theme=dark] .message-type-badge.lms{color:#d1bedf;background:#403449}.message-cost-summary{border:1px solid var(--border);background:var(--surface-hover);border-radius:10px;gap:5px;padding:14px;font-size:13px;display:grid}.message-cost-summary p{margin:0}.message-cost-summary small{color:var(--text-muted)}.message-cost-warning{color:var(--danger)}.message-connection-card .message-account-balance{color:var(--text);margin:8px 0;font-size:15px;font-weight:700}.tuition-calculation{border:1px solid var(--ledger-line);background:var(--ledger-soft);border-radius:10px;margin:16px 0;padding:18px}.tuition-calculation h3{margin:0 0 12px;font-size:15px}.tuition-weekly-schedule{border:1px solid var(--ledger-line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px;font-size:13px;display:flex}.tuition-weekly-schedule span{color:var(--ledger-muted)}.tuition-weekly-schedule strong{text-align:right;font-size:15px}.tuition-calculation-summary{grid-template-columns:1fr auto;align-items:center;gap:7px 16px;font-size:13px;display:grid}.tuition-calculation-summary span{color:var(--ledger-muted)}.tuition-calculation-summary strong{font-variant-numeric:tabular-nums;text-align:right}.tuition-calculation-summary .deduct,.tuition-deduction-row>b.deduct{color:var(--danger)}.tuition-deduction-list{border-top:1px solid var(--ledger-line);margin-top:16px;padding-top:14px}.tuition-deduction-list h4{margin:0 0 8px;font-size:13px}.tuition-deduction-head,.tuition-deduction-row{border-bottom:1px solid var(--ledger-line);grid-template-columns:100px minmax(0,1fr) auto;align-items:start;gap:12px;padding:9px 0;font-size:12px;display:grid}.tuition-deduction-head{color:var(--ledger-muted);font-weight:700}.tuition-deduction-head span:last-child,.tuition-deduction-row b{text-align:right}.tuition-deduction-row:last-child{border-bottom:0}.tuition-deduction-row span{color:var(--text)}.tuition-deduction-row small{color:var(--ledger-muted);margin-top:4px;display:block}.tuition-deduction-row>b.covered{color:var(--ledger-muted)}.tuition-calculation>p{color:var(--ledger-muted);margin:12px 0 0;font-size:12px;line-height:1.5}.tuition-calculation .tuition-calculation-difference{color:#9a4700}.tuition-message-form{gap:14px;max-height:calc(88vh - 110px);display:grid;overflow:auto}.tuition-message-form .message-cost-summary .tool-row-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.tuition-message-form>label{gap:7px;font-size:13px;display:grid}.tuition-message-preview{border:1px solid var(--border);background:var(--surface-hover);border-radius:9px;padding:14px;font-size:13px}.tuition-message-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.tuition-message-history{border-top:1px solid var(--border);padding-top:12px}.tuition-message-history h3{margin:0;font-size:14px}.tuition-message-history ul{padding-left:20px;font-size:12px}.tuition-message-history li{margin:8px 0}.tuition-message-history small{color:var(--text-muted);display:block}.cash-ledger .cash-cell .tuition-message-badge{color:#fff;background:#15803d;border:2px solid #15803d;border-radius:7px;padding:3px 6px;font-size:11px;font-weight:900;line-height:1.2;display:inline-block;box-shadow:0 2px 5px #15803d44}.cash-ledger .cash-cell .tuition-message-unknown{color:var(--warning);font-weight:700}.tuition-message-form .cash-month-summary{background:var(--surface-hover);border:1px solid var(--border);color:var(--text)}.tuition-message-form .cash-month-summary span{color:var(--text-muted)}.tuition-message-form .cash-month-summary strong{color:var(--text);overflow-wrap:anywhere;font-weight:700;line-height:1.35}.tuition-template-form{border-top:1px solid var(--border);gap:12px;padding-top:12px;display:grid}.tuition-template-form label{gap:6px;font-size:13px;display:grid}.tuition-bulk-list{border:1px solid var(--border);border-radius:9px;max-height:250px;overflow:auto}.tuition-bulk-heading{background:var(--surface-hover);flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.tuition-bulk-heading strong{margin-right:auto}.tuition-bulk-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px;font-size:12px;display:flex}.tuition-bulk-row>span:nth-child(2){flex:1}.tuition-bulk-row small{color:var(--text-muted);margin-top:3px;display:block}.tuition-bulk-cost{border:1px solid var(--border);background:var(--surface-hover);border-radius:9px;gap:6px;padding:13px;font-size:13px;display:grid}.tuition-bulk-cost small{color:var(--text-muted)}.tuition-bulk-options{flex-wrap:wrap;gap:18px;display:flex}.tuition-bulk-notice{color:#1e40af;background:#eff6ff;border:2px solid #2563eb;border-radius:9px;margin:0;padding:13px 15px;font-size:14px;font-weight:800;line-height:1.5}.tuition-sent-alert{color:#14532d;background:#dcfce7;border:2px solid #15803d;border-radius:9px;margin:0;padding:12px 14px;font-weight:700}.tuition-sent-alert strong{font-size:17px;font-weight:900}:root[data-theme=dark] .tuition-sent-alert{color:#bbf7d0;background:#14532d}.tuition-bulk-exclusions{border:1px solid var(--border);border-radius:9px;gap:8px;padding:13px;display:grid}.tuition-bulk-exclusions>label{font-weight:800}.tuition-bulk-exclusions>input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:10px}.tuition-exclusion-results{max-height:190px;display:grid;overflow:auto}.tuition-exclusion-results button{border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;justify-content:space-between;gap:10px;padding:9px;display:flex}.tuition-excluded-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tuition-excluded-list button{color:#991b1b;cursor:pointer;background:#fef2f2;border:1px solid #fca5a5;border-radius:999px;padding:5px 8px}:root[data-theme=dark] .tuition-bulk-notice{color:#bfdbfe;background:#172554}@media (width<=560px){.tuition-bulk-row{flex-wrap:wrap}.tuition-bulk-row>span:last-child{width:100%;padding-left:25px}.tuition-message-form .cash-month-summary{grid-template-columns:1fr}}.ledger-page{--ledger-surface:var(--surface,#fff);--ledger-line:var(--border,#e0e6ee);--ledger-muted:var(--text-muted,#69788b);--ledger-text:var(--text,#182839);--ledger-soft:var(--surface-alt,#f4f7fb);max-width:1600px;color:var(--ledger-text);margin:0 auto;padding:32px}.ledger-page *,.ledger-dialog *{box-sizing:border-box}.admin-content>.ledger-page{padding:0}.ledger-annual table{table-layout:fixed}.ledger-page .ledger-annual th:not(:first-child),.ledger-page .ledger-annual td{text-align:center;padding:10px 4px}.ledger-page .ledger-annual td button{text-align:center;white-space:nowrap;padding:8px 2px}.ledger-page .ledger-annual td small{white-space:normal;overflow-wrap:anywhere;line-height:1.5}:root[data-theme=dark] .ledger-summary .income strong{color:#78d8b5}:root[data-theme=dark] .ledger-summary .unpaid strong,:root[data-theme=dark] .ledger-danger-text,:root[data-theme=dark] .ledger-annual td button.has-unpaid{color:#efbc70}.ledger-header,.ledger-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.ledger-header{margin-bottom:28px}.ledger-header h1{letter-spacing:-1px;margin:8px 0;font-size:30px}.ledger-header p{color:var(--ledger-muted);margin:0;font-size:14px}.ledger-header .ledger-eyebrow{color:#427bb7;align-items:center;gap:7px;font-size:12px;display:flex}.ledger-header-actions,.ledger-row-actions{flex-wrap:wrap;gap:8px;display:flex}.ledger-page button,.ledger-dialog button{cursor:pointer;border:1px solid var(--border,#dbe3ed);background:var(--surface,#fff);color:var(--text,#243d59);font:inherit;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:600}.ledger-page button:hover:not(:disabled),.ledger-dialog button:hover:not(:disabled){color:#3679bf;border-color:#4683c9}.ledger-page button:disabled,.ledger-dialog button:disabled{opacity:.5;cursor:not-allowed}.ledger-page button.primary,.ledger-dialog button.primary{color:#fff;background:#256eaf;border-color:#256eaf}.ledger-page button.primary:hover,.ledger-dialog button.primary:hover{color:#fff;background:#195b94}.ledger-page input,.ledger-page select,.ledger-dialog input:not([type=checkbox]),.ledger-dialog select,.ledger-dialog textarea{border:1px solid var(--border,#dbe3ed);background:var(--surface,#fff);min-height:39px;color:var(--text,#182839);font:inherit;border-radius:7px;max-width:100%;padding:8px 11px;font-size:13px}.ledger-page input:focus,.ledger-page select:focus,.ledger-dialog input:focus,.ledger-dialog select:focus,.ledger-dialog textarea:focus,.ledger-page button:focus-visible,.ledger-dialog button:focus-visible{outline-offset:2px;outline:2px solid #69a4e3}.ledger-period{flex-wrap:wrap;align-items:center;gap:13px;margin-bottom:22px;display:flex}.ledger-period label{align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.ledger-period-note{color:var(--ledger-muted);font-size:12px}.ledger-tabs{border-bottom:1px solid var(--ledger-line);gap:5px;margin-bottom:24px;display:flex;overflow-x:auto}.ledger-tabs button{white-space:nowrap;color:var(--ledger-muted);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:13px 18px}.ledger-tabs button.active{color:#3679bf;border-bottom-color:#3679bf}.ledger-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.ledger-summary>div{border:1px solid var(--ledger-line);background:var(--ledger-surface);border-radius:12px;min-height:125px;padding:20px}.ledger-summary span{color:var(--ledger-muted);font-size:12px;display:block}.ledger-summary strong{font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin-top:13px;font-size:clamp(19px,2vw,28px);display:block}.ledger-summary small{margin-left:5px;font-size:13px;font-weight:400}.ledger-summary .income strong{color:#29806b}.ledger-summary .unpaid strong{color:#bc7530}.ledger-summary button{background:0 0;border:0;padding:5px 0 0;font-size:12px}.ledger-card{background:var(--ledger-surface);border:1px solid var(--ledger-line);border-radius:12px;min-width:0;margin-bottom:20px;padding:24px}.ledger-card h2{margin:0 0 8px;font-size:17px}.ledger-note{color:var(--text-muted,#718095);margin:8px 0;font-size:12px;line-height:1.7}.ledger-badge{white-space:nowrap;color:#516984;background:#edf3f9;border-radius:5px;padding:4px 7px;font-size:11px;display:inline-block}.ledger-badge.success{color:#267259;background:#e6f4ef}.ledger-badge.warning{color:#94641f;background:#fff2dc}.ledger-badge.muted{color:#616e7d;background:#edf0f4}.ledger-filters{flex-wrap:wrap;align-items:center;gap:10px;margin:19px 0;display:flex}.ledger-filters>input{flex:1;min-width:180px;max-width:400px}.ledger-check{cursor:pointer;align-items:center;font-size:13px;gap:9px!important;display:flex!important}.ledger-check input[type=checkbox]{accent-color:#256eaf;flex-shrink:0;width:16px;height:16px;min-height:auto}.ledger-check small{color:var(--text-muted,#718095);margin-top:4px;font-size:11px;line-height:1.5;display:block}.ledger-table-wrap{max-width:100%;overflow-x:auto}.ledger-page table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.ledger-page th{color:var(--ledger-muted);white-space:nowrap;font-size:12px;font-weight:500}.ledger-page td,.ledger-page th{border-bottom:1px solid var(--ledger-line);padding:14px 12px}.ledger-page td{vertical-align:middle}.ledger-page tbody tr:last-child td{border-bottom:none}.ledger-page td.number,.ledger-page th.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-page td small,.ledger-page th small{color:var(--ledger-muted);margin-top:5px;font-size:11px;font-weight:400;display:block}.ledger-danger-text{color:#b87424}.ledger-row-actions button{white-space:nowrap;padding:6px 9px;font-size:11px}.ledger-voided{opacity:.65}.ledger-pagination{justify-content:flex-end;align-items:center;gap:8px;padding-top:18px;font-size:12px;display:flex}.ledger-pagination span{color:var(--ledger-muted);margin-right:auto}.ledger-empty{text-align:center;color:var(--ledger-muted);padding:46px 18px;font-size:14px}.ledger-error{color:#b43d39;background:#fff0ef;border-radius:8px;margin:12px 0;padding:12px 16px;font-size:13px;line-height:1.6}.ledger-success{color:#267259;background:#e6f4ef;border-radius:8px;margin:12px 0;padding:12px 16px;font-size:13px}.ledger-annual{max-height:65vh}.ledger-annual table{min-width:1350px}.ledger-annual th:first-child{background:var(--ledger-surface);z-index:1;min-width:140px;position:sticky;left:0}.ledger-annual thead th{background:var(--ledger-surface);z-index:2;position:sticky;top:0}.ledger-annual thead th:first-child{z-index:3}.ledger-annual td{text-align:right;padding:8px}.ledger-annual td button{text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;width:100%}.ledger-annual td button.has-unpaid{color:#b87424}.ledger-annual small{font-size:10px}.ledger-dialog{border:1px solid var(--border,#dbe3ed);background:var(--surface,#fff);width:min(680px,100vw - 32px);max-height:88vh;color:var(--text,#182839);border-radius:16px;padding:25px;box-shadow:0 20px 90px #0004}.ledger-dialog::backdrop{background:#14243480}.ledger-dialog>header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.ledger-dialog h2{margin:0;font-size:20px}.ledger-dialog>header button{padding:0 9px;font-size:23px}.ledger-dialog fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.ledger-dialog label{gap:7px;font-size:13px;display:grid}.ledger-dialog textarea{resize:vertical;min-height:75px}.ledger-form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.ledger-form-footer{border-top:1px solid var(--border,#dbe3ed);justify-content:flex-end;gap:9px;margin-top:24px;padding-top:18px;display:flex}.ledger-detail{font-size:14px;line-height:1.7}.ledger-detail h3{font-size:16px}.ledger-preserve{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=1050px){.ledger-page{padding:22px}.ledger-summary{grid-template-columns:repeat(2,1fr)}.ledger-card{padding:18px}}@media (width<=600px){.ledger-page{padding:16px}.ledger-header{align-items:flex-start}.ledger-header h1{font-size:25px}.ledger-period-note{display:none}.ledger-tabs button{padding:11px;font-size:12px}.ledger-summary{gap:8px}.ledger-summary>div{min-height:110px;padding:14px}.ledger-summary strong{font-size:19px}.ledger-form-grid{grid-template-columns:1fr}.ledger-dialog{padding:18px}.ledger-page table{min-width:620px}.ledger-annual table{min-width:1350px}}.cash-ledger{--ledger-soft:var(--surface-hover,#f4f7fb);max-width:1800px}.ledger-payment-progress{border:1px solid var(--ledger-line);background:var(--ledger-surface);border-radius:12px;margin-bottom:24px;padding:20px 24px}.ledger-payment-progress-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ledger-payment-progress h2{margin:0;font-size:17px}.ledger-payment-progress p{color:var(--ledger-muted);margin:6px 0 0;font-size:12px}.ledger-payment-progress-header>strong{color:var(--success);font-variant-numeric:tabular-nums;font-size:25px}.ledger-payment-progress progress{accent-color:#29806b;width:100%;height:12px;margin:18px 0 14px;display:block}.ledger-payment-progress-stats{color:var(--ledger-muted);flex-wrap:wrap;gap:10px 22px;font-size:12px;display:flex}.ledger-payment-progress-stats strong{color:var(--ledger-text);font-variant-numeric:tabular-nums}.cash-export-range{border:1px solid var(--ledger-line);background:var(--ledger-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:-12px 0 20px;padding:12px 16px;display:flex}.cash-export-range>strong{margin-right:4px;font-size:13px}.cash-export-range label{align-items:center;gap:7px;font-size:12px;display:flex}.cash-export-range .ledger-note{margin:0}.cash-export-range input[type=radio]{accent-color:#256eaf;width:16px;height:16px;min-height:auto}.cash-annual{border:1px solid var(--ledger-line);border-radius:10px;height:560px;max-height:66vh;overflow:auto}.cash-annual table{border-collapse:separate;border-spacing:0;min-width:1370px}.cash-annual thead th{z-index:3;background:var(--ledger-soft);height:46px;position:sticky;top:0}.cash-annual tr>th:first-child{background:var(--ledger-surface);z-index:2;border-right:1px solid var(--ledger-line);position:sticky;left:0}.cash-annual thead tr>th:first-child{z-index:4;background:var(--ledger-soft)}.cash-annual .cash-current{background:color-mix(in srgb, #4583cc 8%, var(--ledger-surface));box-shadow:inset 2px 0 #4583cc,inset -2px 0 #4583cc}.cash-annual thead th.cash-current{color:#fff;background:#245b91}.cash-ledger .cash-annual thead .cash-month-selector{width:100%;color:inherit;background:0 0;border:0;padding:7px 3px;font-weight:700}.cash-ledger .cash-annual thead th.cash-current .cash-month-selector{color:#fff}.cash-name{align-items:center;gap:8px;display:flex}.cash-name button{text-align:left;background:0 0;border:0;padding:5px}.cash-name small{color:var(--ledger-muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.cash-ledger .cash-annual td{padding:4px}.cash-ledger .cash-annual tbody th{padding:4px 8px}.cash-ledger .cash-cell{font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:7px;width:100%;min-height:55px;font-size:12px}.cash-ledger .cash-cell small{color:var(--ledger-muted);margin-top:4px;font-size:10px;display:block}.cash-ledger .cash-cell.late{color:#b3352e;background:color-mix(in srgb, #ed7770 13%, var(--ledger-surface))}.cash-ledger .cash-cell.late small{color:inherit}.cash-ledger .cash-cell.free{color:#9a4700;background:#ffead2}.cash-ledger .cash-cell.paid{color:#176b43;background:#def5e9}.cash-ledger .cash-cell.paid small{color:inherit}:root[data-theme=dark] .cash-ledger .cash-cell.paid{color:#8be0b5;background:#163c2e}.cash-ledger .cash-cell.partial{color:var(--warning)}.cash-ledger .cash-cell.empty,.cash-ledger .cash-cell.upcoming{color:var(--ledger-muted);font-weight:400}.cash-legend{color:var(--ledger-muted);flex-wrap:wrap;gap:18px;margin:18px 0 0;font-size:12px;display:flex}.cash-month-summary{background:var(--surface-alt,#f4f7fb);border-radius:10px;grid-template-columns:1fr 1fr;gap:18px;padding:18px;display:grid}.cash-month-summary span{color:var(--text-muted,#69788b);font-size:12px;display:block}.cash-month-summary strong{margin-top:8px;font-size:22px;display:block}.cash-linked{text-align:left;width:100%;margin-bottom:8px;display:block}.cash-part{border:1px solid var(--border,#e0e6ee);border-radius:10px;margin:12px 0;padding:14px}.cash-entry-tools{border-bottom:1px solid var(--border,#e0e6ee);margin-bottom:18px;padding-bottom:14px}.cash-ledger .ledger-filters>label:not(.ledger-check){gap:5px;font-size:12px;display:grid}:root[data-theme=dark] .cash-ledger .cash-cell.late{color:#ffa99a}:root[data-theme=dark] .cash-ledger .cash-cell.free{color:#ffc58a;background:#51321b}@media (width<=600px){.cash-ledger .ledger-summary{grid-template-columns:1fr 1fr}}.cash-ledger .cash-cell.paused{color:#795800;background:#fff2b3}.cash-ledger .cash-cell.free small,.cash-ledger .cash-cell.paused small{color:inherit}:root[data-theme=dark] .cash-ledger .cash-cell.paused{color:#ffe282;background:#484016}.cash-payment-period{background:var(--ledger-soft);border-left:4px solid #4583cc;border-radius:8px;margin-bottom:18px;padding:14px 16px}.cash-payment-period strong{font-size:20px;display:block}.cash-payment-period p{color:var(--ledger-muted);margin:8px 0 0;font-size:12px}.academy-operations-page{display:block}.operation-settings-card{min-height:0;margin-bottom:20px;padding:20px 24px}.operation-settings-card h2{color:var(--text);margin:0;font-size:16px;font-weight:750}.operation-help{color:var(--text-muted);margin:14px 0 0;font-size:12px;line-height:1.5}.operation-error{color:var(--danger);margin-bottom:12px;font-size:13px}.operation-weekdays{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.operation-weekday-toggle{border:1px solid var(--border);background:var(--surface-hover);cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:28px;min-width:180px;padding:12px 16px;display:flex;position:relative}.operation-weekday-label{gap:4px;display:grid}.operation-weekday-label strong{color:var(--text);font-size:13px;font-weight:650}.operation-weekday-label small{color:var(--text-muted);font-size:12px}.operation-weekday-toggle input{opacity:0;width:1px;height:1px;position:absolute}.operation-switch-track{border:1px solid var(--text-subtle);background:var(--surface-active);box-sizing:border-box;border-radius:999px;flex:none;width:42px;height:24px;position:relative}.operation-switch-track:after{content:"";background:var(--text-subtle);border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:3px}.operation-weekday-toggle input:checked+.operation-switch-track{border-color:var(--primary-solid);background:var(--primary-solid)}.operation-weekday-toggle input:checked+.operation-switch-track:after{background:#fff;left:21px}.operation-weekday-toggle input:focus-visible+.operation-switch-track{outline:3px solid var(--primary);outline-offset:3px}.operation-weekday-toggle:has(input:disabled){opacity:.55;cursor:wait}.operation-navigation{margin-top:24px}.operation-navigation .today-button{width:auto;height:36px;margin-left:8px;font-size:13px}.operation-calendar .unified-calendar-day{min-height:128px;font:inherit}.operation-calendar .month-weekday{border-color:var(--calendar-cell-border)}.operation-calendar .month-count{margin-top:auto}.operation-day-heading{align-items:baseline;gap:5px;min-width:0;display:flex}.operation-day-heading .month-date{font-variant-numeric:tabular-nums;font-size:16px;font-weight:750}.operation-holiday{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--calendar-holiday-text);font-size:12px;font-weight:650;overflow:hidden}.operation-day-note{-webkit-line-clamp:2;line-clamp:2;min-height:2.7em;color:var(--text);white-space:pre-wrap;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.operation-calendar .month-count{color:var(--text);font-size:12px;font-weight:600}.operation-editor-dialog{border:1px solid var(--border);background:var(--surface);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:14px;padding:0;box-shadow:0 24px 80px #0f172a50}.operation-editor-dialog::backdrop{background:#0f172a88}.operation-editor-dialog form{gap:18px;padding:22px;display:grid}.operation-editor-dialog header{justify-content:space-between;gap:12px;display:flex}.operation-editor-dialog h2{margin:0;font-size:20px}.operation-editor-dialog header p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.operation-editor-dialog header button{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:24px}.operation-editor-dialog fieldset{border:0;margin:0;padding:0}.operation-editor-dialog legend,.operation-note-label{font-size:13px;font-weight:700}.operation-mode-options{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.operation-mode-options label{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:9px 11px;display:flex}.operation-note-label{gap:7px;display:grid}.operation-note-label textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:8px;padding:10px}.operation-editor-dialog footer{justify-content:flex-end;gap:8px;display:flex}.operation-editor-dialog footer button{border:1px solid var(--border);background:var(--surface-hover);color:var(--text);cursor:pointer;border-radius:8px;padding:9px 14px;font-weight:700}.operation-editor-dialog footer .operation-save{color:#fff;background:#245fca;border-color:#245fca}@media (width<=720px){.operation-calendar .unified-calendar-day{min-height:96px}.operation-navigation h2{width:auto;min-width:130px}}.operation-calendar .unified-calendar-day:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.operation-editor-dialog footer .operation-save{background:var(--primary-solid);color:#fff;font:inherit;border-color:#0000;font-size:13px;font-weight:650}.operation-editor-dialog footer .operation-save:hover:not(:disabled){background:var(--primary-solid-hover)}@media (width<=720px){.operation-settings-card{padding:18px 16px}.operation-weekday-toggle{flex:1;gap:12px;min-width:120px;padding:12px}.operation-navigation{gap:6px}.operation-navigation h2{min-width:110px;font-size:15px}}:root,:root[data-theme=light]{--bg:#f7f8fa;--page-bg:#f7f8fa;--surface:#fff;--surface-hover:#f4f5f7;--surface-active:#e9edf3;--border:#e3e5e8;--text:#202124;--text-muted:#545b66;--text-subtle:#606875;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-solid:#2563eb;--primary-solid-hover:#1d4ed8;--primary-soft:#edf3ff;--danger:#b42318;--success:#087443;--success-soft:#e6f7ed;--warning:#875c16;--surface-alt:var(--surface-hover);--surface-muted:var(--surface-hover);--calendar-cell-border:#cfd3db;--calendar-closed-bg:#fff0ef;--calendar-closed-selected:#ffe2df;--calendar-closed-border:#d87870;--calendar-closed-accent:#c1302c;--calendar-holiday-text:#9f2520;--sidebar-width:242px;--radius-sm:8px;--radius:11px;--radius-lg:16px;--card-shadow:0 3px 14px #00000008;--sans:"Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0a0a;--page-bg:#0a0a0a;--surface:#151515;--surface-hover:#202020;--surface-active:#292929;--border:#303030;--text:#f5f5f5;--text-muted:#b8bcc5;--text-subtle:#a0a7b3;--primary:#82aeff;--primary-hover:#aac4ff;--primary-soft:#122447;--danger:#ffa4a4;--success:#72d9b7;--success-soft:#19392f;--warning:#edc276;--calendar-cell-border:#414141;--calendar-closed-bg:#38292f;--calendar-closed-selected:#493035;--calendar-closed-border:#a85c58;--calendar-closed-accent:#f08078;--calendar-holiday-text:#ffaaa2;--card-shadow:0 3px 14px #00000012;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scrollbar-gutter:stable}body{font-family:var(--sans);line-height:1.5}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}::selection{color:#fff;background:#2458c8}:root[data-theme=dark] ::selection{color:#101b30;background:#b4c8ff}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle)}.admin-content{margin-left:var(--sidebar-width);min-width:0;padding:42px clamp(24px,3.3vw,54px) 48px}.admin-content>:is(.dashboard-page,.students-page,.schedule-page,.settings-page,.calendar-page,.capacity-page,.store-page){width:100%;max-width:1380px;min-height:auto;color:var(--text);background:0 0;margin:0 auto;padding:0}.admin-content :is(.students-header,.settings-header,.schedule-header,.calendar-header,.capacity-header,.store-header){gap:20px;margin-bottom:28px}.admin-content :is(.students-header,.settings-header,.schedule-header,.calendar-header,.capacity-header,.store-header) h1{color:var(--text);letter-spacing:-1.1px;font-size:28px;font-weight:750}.admin-content :is(.students-header,.settings-header,.schedule-header,.calendar-header,.capacity-header) p{color:var(--text-muted);margin-top:8px;font-size:13px}.admin-content :is(.students-table-wrapper,.settings-section,.calendar-card,.capacity-card,.store-form-card){border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);border-radius:15px}.admin-content :is(.students-add-button,.student-form-submit,.add-button,.save-button,.save-inline-button,.settings-add-button,.settings-empty-button){background:var(--primary-solid);color:#fff;border-color:#0000;box-shadow:0 3px 8px #416ee41c}.admin-content :is(.students-add-button,.student-form-submit,.add-button,.save-button,.save-inline-button,.settings-add-button,.settings-empty-button):hover:not(:disabled){background:var(--primary-solid-hover)}.admin-content :is(.students-add-button,.settings-add-button,.add-button){border-radius:9px;min-height:42px;padding-inline:16px;font-size:12px;font-weight:700}.students-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:13px;flex-wrap:wrap;padding:17px}.students-toolbar .students-search{flex:1;min-width:200px;max-width:420px}.students-search input{width:100%}.students-toolbar :is(input,select){background:var(--surface-hover);border-color:var(--border);color:var(--text)}.students-count{color:var(--text-muted);margin:20px 2px 12px;font-size:12px}.students-count strong{color:var(--primary)}.students-table-wrapper{overflow-x:auto}.students-table th{background:var(--surface-hover);color:var(--text-muted);border-color:var(--border);padding:15px 20px;font-size:11px}.students-table td{color:var(--text);border-color:var(--border);padding:19px 20px;font-size:13px}.students-table tbody tr:hover{background:var(--surface-hover)}.student-status{border-radius:6px;padding:4px 9px;font-size:11px}.student-status.active{color:var(--success);background:#13856a12}.student-status.pause{color:var(--warning);background:#a7751e12}.student-status.left{color:var(--danger);background:#d0525c12}.capacity-summary>div{border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--card-shadow);border-radius:14px;padding:22px}.capacity-summary span{color:var(--text-muted)}.capacity-summary strong{font-size:23px}.calendar-tabs{background:var(--surface-active)}.calendar-tabs button{color:var(--text-muted)}.calendar-tabs button.active{background:var(--surface);color:var(--primary);box-shadow:var(--card-shadow)}.calendar-student-card{border-color:var(--border)}.calendar-student-card strong{color:var(--text)}.calendar-student-card .calendar-student-custom-data,.calendar-time-label span{color:var(--text-muted)}.settings-section-header h2{font-size:16px}.settings-section-header p{font-size:12px}.settings-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:11px;width:fit-content;max-width:100%;margin-bottom:25px;padding:5px}.settings-toolbar button{font-size:12px}.settings-toolbar button.active,.theme-toggle button.active{background:var(--primary-solid);color:#fff}.store-page{--store-primary:var(--primary);--store-primary-soft:var(--primary-soft);--store-primary-strong:#416ee4;--store-surface:var(--surface);--store-line:var(--border);--store-text:var(--text);--store-muted:var(--text-muted);--store-surface-raised:var(--surface-hover)}:root[data-theme=light] .store-page{--store-primary:var(--primary);--store-primary-soft:var(--primary-soft);--store-primary-strong:#416ee4;--store-line:var(--border);--store-text:var(--text);--store-muted:var(--text-muted)}.checkin-page{min-height:calc(100dvh - 90px)}.checkin-waiting{border-color:var(--border);background:var(--surface);box-shadow:var(--card-shadow)}.checkin-waiting h1{color:var(--text)}.checkin-entry-icon{background:#416ee4;box-shadow:0 10px 25px #416ee426}.event-modal{max-height:calc(100dvh - 40px);overflow-y:auto}.event-modal-header h2,.event-student-results button{color:var(--text)}.event-modal-fields :is(input,select,textarea),.checkin-form input,.kiosk-pay-modal input,.mode-password-modal input{background:var(--surface);color:var(--text);border-color:var(--border)}.event-type-options button{color:var(--text-muted)}.mode-password-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.mode-password-modal,.kiosk-pay-modal{background:var(--surface);color:var(--text);border:1px solid var(--border)}.mode-password-modal h2,.kiosk-pay-modal h2{color:var(--text)}.mode-password-modal label,.kiosk-pay-modal label{color:var(--text-muted)}.kiosk-products button{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--card-shadow)}.kiosk-products button:hover,.kiosk-products button.selected{border-color:var(--primary)}.kiosk-products .product-image{background:var(--surface-hover)}.kiosk-products em{color:var(--primary)}.kiosk-result h2,.checkin-scan-result h2{color:inherit}:root[data-theme=dark] .calendar-student-card.trial{color:#b8ebd7;background:#19392f;border-color:#396c58}:root[data-theme=dark] .calendar-student-card.makeup{color:#ddc9ff;background:#32284b;border-color:#665085}:root[data-theme=dark] .academy-danger-section .settings-section-header{background:#32252c}:root[data-theme=dark] .student-detail-tabs button.active{color:var(--primary)}:root[data-theme=dark] .makeup-progress{color:#c4b5fd}:root[data-theme=dark] .absence-type-options button{color:var(--text);border-color:var(--border)}:root[data-theme=dark] .absence-type-options button.active{color:#fecaca;background:#4b2028;border-color:#f87171}:root[data-theme=dark] .ledger-tabs button.active{color:#a8c4ff;border-bottom-color:#a8c4ff}:root[data-theme=dark] .tuition-calculation .tuition-calculation-difference{color:#fbbf77}:root[data-theme=dark] .product-card-actions button:last-child,:root[data-theme=dark] .message-error{color:#fca5a5}:root[data-theme=dark] .student-form-panel.student-create-panel,:root[data-theme=dark] .student-create-panel .student-form-field :is(input,select,textarea),:root[data-theme=dark] .student-create-panel .student-form-cancel{color:var(--text);background:var(--surface);border-color:var(--border)}:root[data-theme=dark] .student-schedule-row button:last-child{color:#fca5a5;border-color:#7f3b42}:root[data-theme=dark] .student-schedule-row button:last-child:hover:not(:disabled){color:#fecaca;background:#4b2028}:root[data-theme=dark] .custom-field-actions .delete{color:#fca5a5}:root[data-theme=dark] .custom-field-actions .delete:hover{color:#fecaca;background:#4b2028;border-color:#7f3b42}:root[data-theme=dark] .academy-danger-controls label{color:#ffa4a4}.attendance-calendar-header strong{color:var(--text)}.student-points-form input{color:var(--text);background:var(--surface)}.student-form-footer .student-form-cancel{background:var(--surface);color:var(--text-muted);border-color:var(--border)}.student-form-footer .student-form-delete{color:#be123c;background:#fff1f2;border-color:#fecaca}.student-form-overlay,.modal-overlay,.absence-modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.student-form-panel{border:1px solid var(--border)}.student-form-header{margin-bottom:0}.student-create-panel .student-form-header{margin-bottom:22px;padding:0 0 20px}.auth-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f7fb}.auth-intro{background:#203d74;padding:48px clamp(35px,5vw,90px)}.auth-brand{letter-spacing:-.4px}.auth-intro h1{letter-spacing:-2px;font-size:clamp(35px,3.3vw,52px);line-height:1.45}.auth-intro-copy>p:last-child{color:#c6d5ef;font-size:15px}.auth-eyebrow{letter-spacing:2px;font-size:10px}.auth-decoration{opacity:.65}.auth-card{background:#fff;border:1px solid #e5eaf2;border-radius:22px;width:min(100%,450px);padding:36px;box-shadow:0 16px 60px #203d7409}.auth-heading h2{font-size:25px}.auth-heading p{font-size:13px;line-height:1.8}.auth-pending-note{margin-top:12px}.auth-switch{font-size:12px;line-height:1.9}.auth-submit{background:#416ee4}.auth-mobile-brand{margin-bottom:30px}@media (width<=1100px){:root,:root[data-theme]{--sidebar-width:220px}.admin-content{padding:32px 26px}.calendar-header,.calendar-controls{flex-wrap:wrap}}@media (width<=760px){.admin-content{margin-left:0;padding:28px 18px 36px}.admin-content :is(.students-header,.store-header){flex-direction:column;align-items:flex-start;gap:16px}.admin-content :is(.students-header,.settings-header,.schedule-header,.calendar-header,.capacity-header) h1{font-size:25px}.students-header-actions{flex-wrap:wrap;width:100%}.students-header-actions button{flex:1}.students-toolbar .students-search{width:100%;min-width:0;max-width:none}.students-table{min-width:650px}.checkin-page{min-height:auto;padding:10px 0}.calendar-controls{flex-wrap:wrap;gap:12px}.calendar-month-grid{min-width:560px}.calendar-card{overflow-x:auto}.auth-card{padding:28px 22px}.auth-intro{display:none}.auth-page{display:block}.auth-panel{min-height:100dvh}.auth-mobile-brand{display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.admin-content .workspace-page{width:100%;max-width:1380px;margin:0 auto;padding:0}.admin-content .workspace-page-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 28px;padding:0;display:flex}.admin-content .workspace-page-header h1{color:var(--text);letter-spacing:-1.1px;margin:0;font-size:28px;font-weight:750;line-height:1.5}.admin-content .workspace-page-header p{color:var(--text-muted);letter-spacing:normal;margin:8px 0 0;font-size:13px;font-weight:400;line-height:1.5}@media (width<=760px){.admin-content .workspace-page-header{flex-direction:column;gap:16px}.admin-content .workspace-page-header h1{font-size:25px}}
