:root{--bg:#f7f8fa;--panel:#fff;--line:#0b1f3a1a;--text:#0a1628;--heading:#0b1f3a;--muted:#5b6b80;--navy:#0b1f3a;--navy-mid:#16345a;--gold:#c9a227;--gold-soft:#f4e7b5;--ok:#0f766e;--danger:#b45309;--chip:#efe8dc;--shadow:0 12px 36px #0b1f3a14;--radius:16px}*{box-sizing:border-box}#root,body,html{height:100%;margin:0}body{background:#f7f8fa;background:var(--bg);color:#0a1628;color:var(--text);font-family:IBM Plex Sans,Segoe UI Variable,system-ui,sans-serif}a{color:#0b1f3a;color:var(--navy)}button,input,select,textarea{font:inherit}input,select,textarea{background:#fff;border:1px solid #0b1f3a2e;border-radius:10px;color:#0a1628;color:var(--text);padding:.6rem .75rem;width:100%}input[type=checkbox],input[type=radio]{width:auto}input:focus,select:focus,textarea:focus{border-color:#c9a227;border-color:var(--gold);outline:2px solid #c9a22759}button{background:#0b1f3a;background:var(--navy);border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:.65rem 1rem}button:hover{background:#16345a;background:var(--navy-mid)}button.secondary{background:#c9a227;background:var(--gold)}button.ghost,button.secondary{color:#0b1f3a;color:var(--navy)}button.ghost{background:#0000;border:1px solid #0b1f3a1a;border:1px solid var(--line)}button:disabled{cursor:wait;opacity:.7}button.danger{background:#9a3412;color:#fff}.app-frame{display:flex;flex-direction:column;min-height:100%}.app-body{flex:1 1}.shell{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 48px)}.nav{background:linear-gradient(180deg,#16345a,#0b1f3a);background:linear-gradient(180deg,var(--navy-mid),var(--navy));padding:1.2rem 1rem 1.5rem}.nav,.nav a{color:#e8eef6}.nav a{border-radius:8px;display:block;padding:.45rem .55rem;text-decoration:none}.nav a.active,.nav a:hover{background:#c9a2272e}.nav-label{color:#c9d4e3;font-size:.72rem;letter-spacing:.08em;margin:1rem 0 .35rem;text-transform:uppercase}.nav-greeting{color:#f4e7b5;color:var(--gold-soft);font-weight:600;margin:.6rem 0 .8rem}.main{padding:1.4rem 1.6rem 2.4rem}.auth-page .card,.card{background:#fff;background:var(--panel);border-radius:16px;border-radius:var(--radius);box-shadow:0 12px 36px #0b1f3a14;box-shadow:var(--shadow);padding:1.2rem 1.3rem}.auth-page{align-items:center;display:flex;flex-direction:column;min-height:calc(100vh - 48px);padding:0 1rem 2.4rem}.auth-hero{background:#0b1f3a;background:var(--navy);box-shadow:0 8px 24px #0b1f3a2e;color:#fff;display:flex;justify-content:center;margin:0 -1rem 1.4rem;padding:1.15rem 1.4rem 1.25rem;width:100vw}.auth-hero .brand-name{color:#fff}.auth-hero .brand-sub{color:#c9a227;color:var(--gold);max-width:none}.auth-hero .brand img{height:48px;min-height:48px;min-width:48px;object-fit:contain;width:48px}.auth-page .card{width:min(420px,100%)}.auth-page .card>button[type=submit]{width:100%}.auth-links{align-items:center;border-top:1px solid #0b1f3a1a;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.35rem 1.15rem;justify-content:center;margin:1.15rem 0 0;padding-top:1rem}.auth-links a{font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}.field{margin:.7rem 0}.field label,.muted{color:#5b6b80;color:var(--muted);font-size:.9rem}h1{color:#0b1f3a;color:var(--heading);font-size:1.45rem;margin:.4rem 0 .8rem}.error{color:#9a3412}.stats{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.2rem}.stat{background:#f4e7b5;background:var(--gold-soft);border-radius:14px;padding:.9rem 1rem}.stat strong{color:#0b1f3a;color:var(--navy);display:block;font-size:1.4rem}.grid{grid-gap:.9rem;display:grid;gap:.9rem}.lesson-row,.tutor-card{grid-gap:.45rem;background:#fff;border-radius:16px;box-shadow:0 12px 36px #0b1f3a14;box-shadow:var(--shadow);display:grid;gap:.45rem;padding:1rem 1.1rem}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{background:#efe8dc;background:var(--chip);border-radius:999px;font-size:.78rem;padding:.2rem .55rem}.hero{background:linear-gradient(135deg,#0b1f3a,#16345a);background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:20px;margin-bottom:1rem;padding:1.4rem 1.5rem}.hero,.hero h1{color:#fff}.search-row{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:2fr 1fr 1fr auto}.brand{align-items:center;color:inherit;display:flex;gap:.6rem;overflow:visible;text-decoration:none}.brand img{border-radius:10px;display:block;flex-shrink:0;height:48px;min-height:48px;min-width:48px;object-fit:contain;object-position:center;width:48px}.nav a.brand-wrap{overflow:visible}.brand-name{display:flex;flex-direction:column;font-weight:700;line-height:1.15}.brand-sub{color:#c9a227;color:var(--gold);font-size:.75rem;font-weight:600;line-height:1.25;max-width:14rem}.site-footer{color:#5b6b80;color:var(--muted);font-size:.85rem;padding:.8rem;text-align:center}.password-field{position:relative}.password-field input{padding-right:2.7rem}button.password-toggle{background:#0000;border-radius:6px;box-shadow:none;color:#5b6b80;color:var(--muted);display:grid;height:2rem;padding:0;place-items:center;position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2rem}button.password-toggle:focus-visible,button.password-toggle:hover{background:#0b1f3a0f;color:#0b1f3a;color:var(--navy)}button.password-toggle:disabled{cursor:default;opacity:.5}.sso-stack{display:flex;flex-direction:column;gap:.7rem;margin:1.05rem 0 .35rem}a.sso-button{align-items:center;background:#fff;border:1px solid #0b1f3a2e;border-radius:10px;color:#0b1f3a;color:var(--navy);display:flex;font-size:.875rem;font-weight:700;gap:.65rem;justify-content:center;padding:.68rem .85rem;text-decoration:none;width:100%}a.sso-button:hover{background:#0b1f3a0a;border-color:#0b1f3a52;color:#0b1f3a;color:var(--navy)}.sso-divider{align-items:center;color:#5b6b80;color:var(--muted);display:flex;font-size:.72rem;font-weight:700;gap:.75rem;letter-spacing:.14em;margin:.15rem 0 .55rem;text-transform:uppercase}.sso-divider:after,.sso-divider:before{background:#0b1f3a1a;background:var(--line);content:"";flex:1 1;height:1px}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #0b1f3a1a;border-bottom:1px solid var(--line);padding:.55rem .4rem;text-align:left}.badge{background:#f4e7b5;background:var(--gold-soft);border-radius:999px;color:#0b1f3a;color:var(--navy);display:inline-block;font-size:.75rem;font-weight:700;padding:.15rem .5rem;text-transform:capitalize}.slot-grid{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.slot{background:#fff;border:1px solid #0b1f3a1a;border:1px solid var(--line);border-radius:10px;color:#0b1f3a;color:var(--navy);cursor:pointer;padding:.5rem;text-align:center}.slot.on{background:#0b1f3a;background:var(--navy);color:#fff}.loading-modal{background:#0b1f3a61;display:grid;inset:0;place-items:center;position:fixed;z-index:80}.loading-modal-card{align-items:center;background:#fff;border-radius:16px;color:#0b1f3a;color:var(--heading);display:flex;flex-direction:column;font-weight:600;gap:.85rem;min-width:8.5rem;padding:1.45rem 1.7rem}.loading-modal-spinner{animation:spin .7s linear infinite;border:3px solid #e8eef6;border-radius:50%;border-top:3px solid var(--navy);height:36px;width:36px}.user-row{align-items:center;border-bottom:1px solid #0b1f3a1a;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;padding:.75rem 0}.user-actions{display:flex;flex-shrink:0;gap:.4rem}.dialog-backdrop{background:#0b1f3a61;display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:90}.dialog-card{max-height:90vh;overflow:auto;width:min(520px,100%)}.dialog-card .user-actions{margin-top:1rem}.field-row,.user-list{display:grid}.field-row{grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr 1fr}.switch-field{align-items:center;display:flex;font-weight:600;gap:.55rem}.switch-field input{width:auto}.page-loading{align-items:center;display:flex;flex-direction:column;font-weight:600;gap:.75rem;justify-content:center;min-height:10rem}.btn-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;height:1rem;width:1rem}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:860px){.search-row,.shell{grid-template-columns:1fr}}
/*# sourceMappingURL=main.4fc12ee6.css.map*/