:root{color:#1a2a45;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fbff;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:#f8fbff}body{background:radial-gradient(circle at 0 0,#6099ff1f 0%,#0000 24%),linear-gradient(#f8fbff 0%,#f2f7ff 100%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{transition:transform .15s,box-shadow .15s}button:hover{transform:translateY(-1px)}img{max-width:100%;display:block}#root{min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.app-shell{background:linear-gradient(#f4f8ff 0%,#f8fbff 100%);min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e8eefb;flex-direction:column;gap:18px;width:250px;padding:18px 12px;display:flex}.sidebar-brand{border-bottom:1px solid #edf2ff;align-items:center;gap:12px;padding:8px 8px 16px;display:flex}.brand-badge{color:#fff;background:linear-gradient(135deg,#3a7bf8,#82b6ff);border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:flex}.sidebar-brand strong{color:#17305e;font-size:.96rem;display:block}.sidebar-brand span{color:#6d7f9d;font-size:.72rem;display:block}.sidebar-nav{flex-direction:column;gap:8px;display:flex}.nav-item{color:#455d80;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:.95rem;font-weight:600;display:flex}.nav-item:hover{color:#1e5ef8;background:#eef6ff}.nav-item.active{color:#235fe9;background:#eaf2ff;box-shadow:inset 0 0 0 1px #235fe91f}.sidebar-footer{border-top:1px solid #edf2ff;flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.danger-item{color:#d12c4d}.content-shell{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-bottom:1px solid #edf2ff;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;display:flex}.topbar-title{align-items:center;gap:18px;display:flex}.page-kicker{color:#6e7e9b;text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:.72rem}.topbar-title h2{color:#17305f;margin:0;font-size:1.1rem}.school-context{color:#355ab7;background:#eef4ff;border:1px solid #dfeaff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.topbar-actions{align-items:center;gap:14px;display:flex}.search-box{background:#f5f8ff;border:1px solid #e7eefb;border-radius:12px;align-items:center;gap:8px;width:min(260px,30vw);padding:10px 12px;display:flex}.search-box input{font:inherit;color:#2c3e63;background:0 0;border:0;outline:none;flex:1}.icon-button{color:#495d80;cursor:pointer;background:#fff;border:1px solid #e7edf8;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.profile-panel{background:#fff;border:1px solid #e8edfa;border-radius:14px;align-items:center;gap:12px;padding:8px 10px 8px 8px;display:flex;position:relative}.profile-avatar{color:#fff;background:linear-gradient(135deg,#a8c5ff,#77a9ff);border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-size:.8rem;font-weight:700;display:flex}.profile-details{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-details strong{color:#1b2f4f;font-size:.9rem}.profile-details span{color:#687d9d;font-size:.72rem}.profile-toggle{color:#516687;cursor:pointer;background:0 0;border:0;align-items:center;display:flex}.profile-menu{z-index:8;background:#fff;border:1px solid #e9f0fb;border-radius:14px;flex-direction:column;width:175px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 34px #16264a1f}.profile-menu button{text-align:left;color:#2f4569;cursor:pointer;font:inherit;background:0 0;border:0;padding:10px 12px}.profile-menu button:hover{background:#f5f9ff}.help-banner{color:#3a5ea8;background:#f4f9ff;border:1px solid #dfeaff;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.tour-backdrop{z-index:30;background:#0e18277a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tour-dialog{background:#fff;border:1px solid #edf2fd;border-radius:20px;width:min(440px,100%);padding:22px;box-shadow:0 26px 54px #111c2f2e}.tour-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tour-dialog h3{color:#162d4b;margin:0 0 12px;font-size:clamp(1.4rem,2vw,1.7rem)}.tour-dialog p{color:#536985;margin:0;line-height:1.6}.tour-progress{gap:7px;margin-top:18px;display:flex}.tour-progress span{background:#e3ebfb;border-radius:999px;width:28px;height:5px;display:block}.tour-progress span.active{background:linear-gradient(135deg,#2d6df2,#6a9af7)}.tour-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.page-content{flex-direction:column;gap:22px;padding:28px;display:flex}.dashboard-page,.users-page,.placeholder-page{flex-direction:column;gap:20px;display:flex}.hero-panel{background:linear-gradient(135deg,#eef5ff 0%,#fff 100%);border:1px solid #e7edf9;border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:26px 26px 22px;display:flex}.hero-panel h1{color:#152d4f;margin:0 0 8px;font-size:clamp(2rem,3vw,2.7rem)}.hero-panel p{color:#5b6f90;margin:0}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#5f76d2;margin:0;font-size:.7rem;font-weight:700}.hero-meta{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.meta-pill{color:#355ab7;background:#edf5ff;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.muted-pill{color:#5f6896;background:#f8f8ff}.primary-button,.secondary-button,.action-chip,.table-actions button,.action-tag{font:inherit;cursor:pointer;border:0;border-radius:12px}.primary-button{color:#fff;background:linear-gradient(135deg,#2d6df2 0%,#5b8ff9 100%);padding:12px 18px;font-weight:700;box-shadow:0 10px 24px #2d6df22b}.small-button{padding:9px 16px;font-size:.9rem}.secondary-button{color:#2850b5;background:#edf5ff;padding:12px 18px;font-weight:700}.compact-button{padding:10px 14px}.stats-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;display:grid}.stat-card{background:#fff;border:1px solid #edf1fb;border-radius:18px;flex-direction:column;gap:8px;padding:18px 18px 16px;display:flex;box-shadow:0 8px 18px #20345f0a}.stat-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.stat-label{color:#5d708f;font-size:.8rem}.stat-icon-box{color:#1e59da;background:#3a7bf814;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stat-card strong{color:#112b4d;font-size:clamp(1.25rem,2vw,1.8rem)}.stat-card small{color:#627695;font-size:.76rem}.stat-trend{color:#1c8d5f;align-items:center;gap:6px;font-size:.74rem;font-weight:600;display:inline-flex}.stat-card.blue{background:linear-gradient(135deg,#f4f9ff,#fff)}.stat-card.cyan{background:linear-gradient(135deg,#f1fdff,#fff)}.stat-card.purple{background:linear-gradient(135deg,#f4f1ff,#fff)}.stat-card.amber{background:linear-gradient(135deg,#fff8ef,#fff)}.stat-card.green{background:linear-gradient(135deg,#effdf5,#fff)}.stat-card.red{background:linear-gradient(135deg,#fff1f3,#fff)}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.panel-card,.empty-state-card,.table-card,.user-form,.class-list{background:#fff;border:1px solid #ecf1fb;border-radius:20px;box-shadow:0 12px 22px #1323400a}.panel-card{padding:20px 22px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-header h3,.panel-header h1{color:#162b4b;margin:0;font-size:1.2rem}.status-pill{color:#1c8d5f;background:#ebfaf2;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.list-stack{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.list-stack li{background:#f8fbff;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px 12px;display:flex}.attention-copy{align-items:center;gap:12px;display:flex}.attention-copy div{flex-direction:column;gap:4px;display:flex}.attention-copy strong{color:#16355d;font-size:.96rem}.attention-copy small{color:#607596;font-size:.75rem}.level-badge{border-radius:8px;justify-content:center;align-items:center;padding:6px 8px;font-size:.66rem;font-weight:800;display:inline-flex}.level-badge.high{color:#b93843;background:#ffe9ec}.level-badge.medium{color:#b67210;background:#fff0d6}.level-badge.notice{color:#3d67c7;background:#ebf2ff}.action-tag{color:#254fa9;background:#edf5ff;padding:8px 10px;font-weight:700}.action-list{flex-direction:column;gap:12px;display:flex}.action-chip{color:#274879;background:#f4f8ff;border:1px solid #edf3ff;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.morning-brief{background:linear-gradient(135deg,#f7f6ff,#f5fbff);border:1px solid #eceaff;border-radius:22px;flex-direction:column;gap:14px;padding:22px 24px;display:flex}.brief-title{color:#2d3d7a;align-items:center;gap:10px;display:flex}.brief-title h3{color:#1b2d52;margin:0}.morning-brief p{color:#4e647f;margin:0;line-height:1.7}.chart-shell{background:linear-gradient(#fbfdff 0%,#f6f8ff 100%);border:1px solid #eef3ff;border-radius:16px;padding:12px 10px 0}.chart-shell svg{width:100%;height:auto;display:block}.chart-label{fill:#64779b;font-size:12px}.class-list{flex-direction:column;gap:12px;padding:16px;display:flex}.class-row{background:#f9fbff;border:1px solid #edf3ff;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px 12px;display:flex}.class-row strong{color:#13315f;display:block}.class-row span{color:#627593;font-size:.82rem}.empty-state-card{text-align:center;max-width:560px;margin:0 auto;padding:32px 24px}.empty-state-card.error-card{background:#fffdfd}.error-icon{color:#d8465c;background:#ffeef1}.empty-icon{color:#2d6df2;background:#edf5ff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 18px;display:flex}.empty-state-card h1{color:#132b4f;margin:0 0 10px;font-size:clamp(1.8rem,2vw,2.3rem)}.empty-state-card p{color:#5d6f8d;margin:0 0 18px;line-height:1.7}.alert-page{flex-direction:column;gap:20px;display:flex}.alert-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.alert-card{background:#fff;border:1px solid #edf2fb;border-radius:20px;flex-direction:column;gap:12px;padding:20px;display:flex;box-shadow:0 10px 24px #1323400a}.alert-card h3{color:#142d4d;margin:0;font-size:1.08rem}.alert-card p{color:#5a6f8d;margin:0;line-height:1.7}.alert-head,.alert-meta,.alert-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.alert-badge,.alert-status{border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.alert-badge.high{color:#b93843;background:#ffe9ec}.alert-badge.medium{color:#b67210;background:#fff0d6}.alert-badge.notice{color:#3d67c7;background:#ebf2ff}.alert-status{color:#244ea8;background:#edf5ff}.alert-meta{color:#61799d;text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.ask-edu-page{flex-direction:column;gap:20px;display:flex}.ask-edu-layout{grid-template-columns:260px minmax(0,1fr);gap:20px;display:grid}.ask-edu-sidebar,.ask-edu-panel{background:#fff;border:1px solid #edf2fb;border-radius:20px;box-shadow:0 10px 24px #1323400a}.ask-edu-sidebar{flex-direction:column;gap:12px;padding:20px;display:flex}.ask-edu-sidebar h3{color:#143055;margin:0 0 4px;font-size:1rem}.ask-edu-suggestion{text-align:left;color:#244ea8;width:100%;font:inherit;cursor:pointer;background:#f3f8ff;border:1px solid #eaf1ff;border-radius:12px;padding:12px 14px;font-weight:600}.ask-edu-panel{flex-direction:column;gap:16px;padding:18px;display:flex}.ask-edu-header{border-bottom:1px solid #edf2fb;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.ask-edu-header strong{color:#16355d;display:block}.ask-edu-header span{color:#607596;text-transform:capitalize;font-size:.8rem}.ask-edu-messages{flex-direction:column;gap:12px;max-height:440px;display:flex;overflow:auto}.ask-edu-message{max-width:80%}.ask-edu-message.assistant{align-self:flex-start}.ask-edu-message.user{align-self:flex-end}.ask-edu-message p{border-radius:14px;margin:0;padding:12px 14px;line-height:1.6}.ask-edu-message.assistant p{color:#1e3359;background:#f4f8ff}.ask-edu-message.user p{color:#1d5b48;background:#ebf7f1}.ask-edu-form{border-top:1px solid #edf2fb;align-items:center;gap:12px;padding-top:14px;display:flex}.ask-edu-form input{font:inherit;color:#1d3053;background:#f8fbff;border:1px solid #dfeaf9;border-radius:12px;flex:1;padding:12px 14px}.approval-card textarea{resize:vertical;width:100%;min-height:92px;font:inherit;color:#1d3053;background:#f8fbff;border:1px solid #dfeaf9;border-radius:12px;padding:10px 12px}.skeleton{background:linear-gradient(90deg,#eef4ff 25%,#f7faff 50%,#eef4ff 75%) 0 0/200% 100%;animation:1.2s linear infinite shimmer;position:relative;overflow:hidden}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hero-skeleton{border-radius:24px;height:140px}.stat-skeleton{border-radius:18px;height:130px}.panel-skeleton{border-radius:20px;height:230px}.small-panel{height:180px}.chart-skeleton{border-radius:20px;height:180px}.user-form{grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;padding:18px;display:grid}.user-form label,.login-form label{color:#29426d;flex-direction:column;gap:8px;font-weight:600;display:flex}.user-form input,.user-form select,.login-form input{font:inherit;color:#1d3053;background:#f8fbff;border:1px solid #dfeaf9;border-radius:12px;padding:11px 12px}.table-card{overflow:hidden}.table-card table{border-collapse:collapse;width:100%}.table-card th,.table-card td{text-align:left;color:#2d446d;border-bottom:1px solid #edf2fb;padding:14px 16px}.table-card th{color:#5771a0;text-transform:uppercase;letter-spacing:.04em;background:#f8fbff;font-size:.72rem}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.table-actions button{color:#2658bc;background:#edf5ff;padding:7px 8px;font-size:.76rem}.user-management{flex-direction:column;gap:14px;min-width:0;display:flex}.user-directory-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.user-directory-toolbar select,.user-directory-search{color:#334a6b;background:#fff;border:1px solid #dfe8f5;border-radius:11px;min-height:42px}.user-directory-toolbar select{padding:8px 11px}.user-directory-search{color:#7183a0;flex:220px;align-items:center;gap:8px;padding:0 11px;display:flex}.user-directory-search input{color:#263c5b;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.user-count{color:#70819a;font-size:.8rem}.user-directory-table{max-width:100%;overflow-x:auto}.user-directory-table table{min-width:760px}.user-row-actions{flex-wrap:wrap;gap:7px;display:flex}.user-deactivate-button{color:#b63e55;font:inherit;cursor:pointer;background:#fff7f8;border:1px solid #f0dce1;border-radius:10px;padding:8px 10px;font-size:.78rem;font-weight:650}.user-deactivate-button:disabled{opacity:.5;cursor:not-allowed}.current-user-label{color:#6f7f98;margin-left:7px;font-size:.7rem;display:inline-block}.user-modal-backdrop{z-index:60;background:#1020397a;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.user-modal{background:#fff;border:1px solid #e7edf7;border-radius:20px;width:min(680px,100%);max-height:min(90vh,900px);padding:22px;overflow-y:auto;box-shadow:0 26px 60px #0e203a38}.user-modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.user-modal-heading h2{color:#183252;margin:3px 0 0}.user-editor-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.user-editor-form>label{color:#344c70;flex-direction:column;gap:7px;min-width:0;font-size:.82rem;font-weight:650;display:flex}.user-editor-form input,.user-editor-form select{color:#293f60;width:100%;min-width:0;min-height:42px;font:inherit;background:#fbfdff;border:1px solid #dfe8f5;border-radius:10px;padding:9px 11px}.teacher-scope-editor,.user-invite-note,.user-modal-actions{grid-column:1/-1}.teacher-scope-editor{background:#f9fbff;border:1px solid #e8eef8;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.teacher-scope-editor h3{color:#203a60;margin:0;font-size:.96rem}.teacher-scope-editor>p,.user-invite-note{color:#6c7d96;margin:0;font-size:.78rem;line-height:1.5}.teacher-scope-row{color:#405674;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.8rem;display:flex}.teacher-scope-inputs{grid-template-columns:1.2fr 1fr .8fr auto;align-items:center;gap:8px;display:grid}.user-invite-note{background:#f4f8ff;border-radius:10px;padding:10px 12px}.user-modal-actions{justify-content:flex-end;gap:9px;padding-top:3px;display:flex}.user-modal-actions button:disabled{opacity:.55;cursor:not-allowed}.login-page{background:linear-gradient(135deg,#eef5ff 0%,#f8fbff 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#ffffffe6;border:1px solid #d7e2f6e6;border-radius:32px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);width:min(980px,100%);min-height:660px;display:grid;overflow:hidden;box-shadow:0 24px 48px #10234014}.login-brand-panel,.login-form-panel{min-width:0}.login-brand-panel{background:linear-gradient(160deg,#f5f9ff 0%,#eaf1ff 100%);flex-direction:column;justify-content:center;padding:44px 38px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#2b6ef2,#5ea6ff);border-radius:18px;place-items:center;width:52px;height:52px;font-size:1.6rem;font-weight:800;display:grid}.login-brand-panel h1{color:#132d52;margin:20px 0 10px;font-size:clamp(2.2rem,3vw,3.2rem)}.subtitle{color:#516d96;letter-spacing:.02em;margin:0 0 18px}.brand-copy{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.brand-copy span{color:#2a5ed6;background:#608bf61a;border-radius:999px;padding:8px 12px;font-weight:700}.tagline{color:#5d7291;margin:0}.login-form-panel{background:#fff;flex-direction:column;justify-content:center;padding:42px 34px;display:flex}.login-header{margin-bottom:20px}.login-header h2{color:#172d4d;margin:8px 0 0;font-size:2rem}.login-form{flex-direction:column;gap:20px;display:flex}.password-field{background:#f8fbff;border:1px solid #dfe9fb;border-radius:12px;align-items:center;gap:10px;padding-right:8px;display:flex}.password-field input{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:11px 12px}.password-field button{color:#4663a8;cursor:pointer;background:0 0;border:none;padding:8px 10px;font-weight:700}.error-message{color:#d12645;background:#fff0f3;border:1px solid #ffd6dd;border-radius:10px;margin:0;padding:10px 12px;font-size:.8rem}.toast{color:#fff;z-index:50;border-radius:12px;padding:12px 16px;font-weight:700;position:fixed;bottom:28px;right:28px;box-shadow:0 20px 32px #1825462e}.toast-success{background:#1a9a64}.toast-error{background:#d44468}.toast-info{background:#4672d7}@media (width<=980px){.app-shell{flex-direction:column}.sidebar{border-bottom:1px solid #edf2ff;border-right:none;width:100%}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-content{padding:18px}.topbar{flex-direction:column;align-items:stretch}.topbar-actions,.hero-meta{flex-wrap:wrap;justify-content:space-between}.search-box{width:100%}.stats-grid,.dashboard-grid,.user-form,.login-panel{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.page-content{padding:14px}.hero-panel,.panel-header,.class-row,.flex-header{flex-direction:column;align-items:flex-start}.topbar{padding:16px 18px}.profile-panel{justify-content:space-between;width:100%}.table-card{overflow-x:auto}.table-card table{min-width:760px}}.students-page,.student-detail-page{flex-direction:column;gap:18px;min-width:0;display:flex}.students-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.students-heading h1,.student-detail-name h1{color:#152d4f;margin:4px 0;font-size:clamp(1.8rem,3vw,2.35rem)}.students-intro{color:#617391;margin:0}.import-help-text{color:#72839c;overflow-wrap:anywhere;margin:-10px 0 0;font-size:.75rem;line-height:1.5}.students-actions,.student-form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.students-actions button,.student-not-found button,.back-link{align-items:center;gap:8px;display:inline-flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.student-form,.import-panel,.student-info-card,.student-summary-card,.student-metric,.student-state-card,.student-not-found{background:#fff;border:1px solid #e9effb;border-radius:18px;box-shadow:0 10px 22px #132a4d09}.student-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;display:grid}.student-form h2{color:#1a3155;grid-column:1/-1;margin:0;font-size:1.2rem}.student-form label{color:#405878;flex-direction:column;gap:7px;font-size:.83rem;font-weight:600;display:flex}.student-form input,.student-form select,.student-filters input,.student-filters select{color:#263e60;width:100%;min-width:0;font:inherit;background:#fbfdff;border:1px solid #e1eaf8;border-radius:11px;outline:none;padding:10px 12px}.student-form input:focus,.student-form select:focus,.student-filters input:focus,.student-filters select:focus{border-color:#87aaf7;box-shadow:0 0 0 3px #3a7bf81a}.student-form-actions{grid-column:1/-1}.import-panel{padding:18px 20px}.import-panel h2{color:#183252;margin:0 0 6px;font-size:1.1rem}.import-panel p{color:#637694;margin:0}.import-panel.import-error{background:#fffafb;border-color:#f5d8df}.import-panel.import-error h2{color:#a6344a}.import-panel .panel-header{margin-bottom:14px}.import-preview-list{flex-direction:column;gap:8px;display:flex}.import-preview-list div{color:#365174;background:#f8fbff;border-radius:10px;justify-content:space-between;gap:12px;padding:9px 11px;font-size:.85rem;display:flex}.import-preview-list span{color:#667b9a}.student-filters{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(135px,180px));gap:10px;display:grid}.student-search{color:#71829c;background:#fff;border:1px solid #e1eaf8;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.student-search input{box-shadow:none;background:0 0;border:0;padding-left:0}.student-search input:focus{box-shadow:none}.student-table-card{background:#fff;border:1px solid #e9effb;border-radius:18px;overflow-x:auto;box-shadow:0 10px 22px #132a4d09}.student-table{border-collapse:collapse;width:100%;min-width:760px}.student-table th,.student-table td{text-align:left;color:#405878;white-space:nowrap;border-bottom:1px solid #edf2fb;padding:14px 15px}.student-table th{color:#63799a;letter-spacing:.05em;text-transform:uppercase;background:#f8fbff;font-size:.7rem;font-weight:700}.student-table td strong{color:#193454}.student-table tbody tr:last-child td{border-bottom:0}.student-link,.back-link{color:#2862d8;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.83rem;font-weight:700}.student-mobile-list{display:none}.student-result-count{color:#72829a;align-items:center;gap:7px;margin:-5px 0 0;font-size:.78rem;display:flex}.student-state-card,.student-not-found{text-align:center;max-width:620px;margin:8px auto;padding:34px 24px}.student-state-card h1,.student-not-found h1{color:#183252;margin:0 0 8px;font-size:1.55rem}.student-state-card p,.student-not-found>p:not(.eyebrow){color:#637694;margin:0 0 18px;line-height:1.6}.student-not-found .eyebrow{margin-bottom:8px}.student-not-found button{margin:0 auto}.back-link{color:#526b8e;width:fit-content}.student-detail-header{background:linear-gradient(135deg,#eef5ff,#fff);border:1px solid #e6eefb;border-radius:20px;align-items:center;gap:15px;padding:20px;display:flex}.student-avatar{color:#3269da;background:#eaf2ff;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:grid}.student-avatar-large{border-radius:18px;width:58px;height:58px}.student-detail-name{flex:1;min-width:0}.student-detail-name h1{font-size:clamp(1.5rem,3vw,2rem)}.student-detail-name>p:last-child{color:#637694;margin:0;font-size:.88rem}.student-detail-name>p:last-child span{padding:0 4px}.student-tabs{border-bottom:1px solid #e7edf7;gap:6px;padding:4px;display:flex;overflow-x:auto}.student-tabs button{color:#617493;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px 10px 0 0;padding:10px 15px;font-weight:600}.student-tabs button.active{color:#285cce;background:#edf4ff;box-shadow:inset 0 -2px #3974ed}.student-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.student-info-card,.student-summary-card{min-width:0;padding:19px 20px}.student-info-card h2,.student-summary-card h2{color:#1b3557;margin:0 0 16px;font-size:1.05rem}.student-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin:0;display:grid}.student-info-grid dt,.student-metric span{color:#71819a;font-size:.76rem}.student-info-grid dd{color:#244164;overflow-wrap:anywhere;margin:4px 0 0;font-size:.9rem;font-weight:600}.student-summary-card strong{color:#1c3d68;font-size:1.35rem}.student-summary-card p,.student-muted{color:#687d9a;margin:7px 0 0;font-size:.84rem}.student-activity-card{grid-column:1/-1}.activity-timeline{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.activity-timeline li{gap:12px;display:flex;position:relative}.timeline-dot{background:#4c80ed;border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 4px #edf4ff}.activity-timeline strong{color:#244164;font-size:.87rem}.activity-timeline p{color:#647996;margin:4px 0;font-size:.82rem}.activity-timeline small{color:#8290a5}.student-tab-content{flex-direction:column;gap:16px;display:flex}.student-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.student-metric{flex-direction:column;gap:9px;padding:16px;display:flex}.student-metric strong{color:#1c3d68;font-size:clamp(1.05rem,2vw,1.45rem)}.student-record-list{flex-direction:column;display:flex}.student-record-list>div{color:#455d7a;border-top:1px solid #eef2f8;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;font-size:.87rem;display:flex}.student-record-list>div:first-child,.student-record-list article:first-child{border-top:0}.student-record-list>div>span:first-child{flex-direction:column;gap:4px;display:flex}.student-record-list small{color:#8190a5;font-size:.76rem}.attendance-mark,.fee-status,.delivery-status{color:#258254;white-space:nowrap;background:#edf8f2;border-radius:999px;padding:5px 9px;font-size:.72rem;font-style:normal;font-weight:700}.attendance-mark.absent,.fee-status.pending,.delivery-status.pending{color:#bd3e55;background:#fff0f2}.attendance-mark.late{color:#a66a12;background:#fff5e6}.student-trend-chart{max-width:520px}.student-trend-chart svg{width:100%;overflow:visible}.student-trend-chart line{stroke:#e8eef8}.student-trend-chart polyline{fill:none;stroke:#3974ed;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.student-trend-chart circle{fill:#3974ed}.student-trend-labels{color:#8290a5;justify-content:space-between;font-size:.72rem;display:flex}.fee-transaction-amount{white-space:nowrap;align-items:center;gap:10px;display:flex}.communication-list article{border-top:1px solid #eef2f8;padding:14px 0}.communication-heading strong{color:#244164;font-size:.9rem}.communication-list article p{color:#647996;margin:7px 0;font-size:.84rem}.communication-list article>small{color:#8290a5}.delivery-status.read{color:#4268bf;background:#edf3ff}@media (width<=760px){.students-heading{flex-direction:column;align-items:flex-start}.students-actions{justify-content:flex-start;width:100%}.student-filters{grid-template-columns:1fr 1fr}.student-search{grid-column:1/-1;min-height:44px}.student-table-card{display:none}.student-mobile-list{flex-direction:column;gap:12px;display:flex}.student-mobile-card{background:#fff;border:1px solid #e9effb;border-radius:16px;padding:15px;box-shadow:0 8px 18px #132a4d09}.student-mobile-card button{cursor:pointer}.ask-edu-layout{grid-template-columns:1fr}.ask-edu-form{flex-direction:column;align-items:stretch}.ask-edu-message{max-width:90%}.student-mobile-title{align-items:center;gap:10px;display:flex}.student-mobile-title>div:nth-child(2){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.student-mobile-title strong{color:#193454}.student-mobile-title>div:nth-child(2) span,.student-mobile-meta{color:#72839c;font-size:.78rem}.student-mobile-meta{border-top:1px solid #eef2f8;justify-content:space-between;gap:12px;margin:14px 0;padding-top:11px;display:flex}.student-form{grid-template-columns:repeat(2,minmax(0,1fr))}.student-overview-grid{grid-template-columns:1fr}.student-activity-card{grid-column:auto}.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.students-actions button{flex:1;justify-content:center}.student-filters,.student-form{grid-template-columns:1fr}.student-search,.student-form-actions{grid-column:auto}.student-detail-header{gap:10px;padding:15px}.student-detail-header>.status-pill{align-self:flex-start}.student-tabs button{padding:9px 11px;font-size:.85rem}.student-summary-grid{gap:8px}.student-metric{padding:13px}.student-record-list>div,.fee-transaction-amount{flex-direction:column;align-items:flex-start}}.attendance-page,.take-attendance-page{flex-direction:column;gap:18px;min-width:0;display:flex}.attendance-heading h1,.take-attendance-heading h1{color:#152d4f;margin:4px 0 6px;font-size:clamp(1.8rem,3vw,2.35rem)}.attendance-heading p:last-child,.take-attendance-heading p:last-child{color:#617391;margin:0}.attendance-controls{grid-template-columns:minmax(170px,220px) repeat(2,minmax(150px,200px));gap:12px;display:grid}.attendance-controls label,.take-date-control{color:#5e7291;flex-direction:column;gap:7px;font-size:.77rem;font-weight:600;display:flex}.attendance-controls input,.attendance-controls select,.take-date-control input{color:#284260;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #e1eaf8;border-radius:11px;outline:none;padding:9px 11px}.attendance-controls input:focus,.attendance-controls select:focus,.take-date-control input:focus{border-color:#87aaf7;box-shadow:0 0 0 3px #3a7bf81a}.attendance-empty-notice{color:#526b8e;background:#f5f9ff;border:1px solid #e2ecfa;border-radius:12px;padding:12px 15px;font-size:.88rem}.attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.attendance-metric{background:#fff;border:1px solid #e9effb;border-radius:17px;flex-direction:column;gap:11px;padding:17px 18px;display:flex;box-shadow:0 8px 18px #20345f09}.attendance-metric span{color:#5d708f;font-size:.81rem}.attendance-metric strong{color:#17375e;font-size:clamp(1.35rem,2.2vw,1.85rem)}.attendance-metric.green{background:linear-gradient(135deg,#f0fcf5,#fff)}.attendance-metric.red{background:linear-gradient(135deg,#fff3f4,#fff)}.attendance-metric.amber{background:linear-gradient(135deg,#fff8eb,#fff)}.attendance-metric.blue{background:linear-gradient(135deg,#f1f7ff,#fff)}.attendance-section{background:#fff;border:1px solid #e9effb;border-radius:19px;min-width:0;padding:19px 20px;box-shadow:0 10px 22px #132a4d09}.attendance-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.attendance-section-heading h2{color:#1b3557;margin:0 0 4px;font-size:1.12rem}.attendance-section-heading p{color:#71829a;margin:0;font-size:.78rem}.attendance-section-heading>span{color:#7586a0;font-size:.76rem}.attendance-table-wrap{overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;min-width:760px}.attendance-table th,.attendance-table td{text-align:left;color:#4b607d;white-space:nowrap;border-bottom:1px solid #edf2fb;padding:13px 11px;font-size:.84rem}.attendance-table th{color:#667b9a;letter-spacing:.045em;text-transform:uppercase;background:#f8fbff;font-size:.69rem;font-weight:700}.attendance-table td strong{color:#1c395e}.attendance-status{color:#61738e;white-space:nowrap;background:#f1f4f9;border-radius:999px;align-items:center;padding:5px 9px;font-size:.69rem;font-weight:700;display:inline-flex}.attendance-status.completed{color:#218153;background:#eaf8f0}.attendance-status.in-progress{color:#a66a12;background:#fff5e6}.attendance-class-cards{display:none}.attendance-attention-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.attendance-attention-list li{background:#f8fbff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.attendance-attention-list li>div{flex-direction:column;gap:4px;min-width:0;display:flex}.attendance-attention-list strong{color:#254164;font-size:.88rem}.attendance-attention-list small{color:#6d809b;font-size:.78rem}.attendance-no-alerts{color:#687d9a;background:#f8fbff;border-radius:11px;margin:0;padding:14px;font-size:.86rem}.take-attendance-page{padding-bottom:8px}.take-attendance-heading{background:linear-gradient(135deg,#eef5ff,#fff);border:1px solid #e6eefb;border-radius:19px;justify-content:space-between;align-items:flex-end;gap:16px;padding:19px 21px;display:flex}.take-attendance-heading>div{min-width:0}.take-attendance-heading p:last-child{align-items:center;gap:7px;font-size:.84rem;display:flex}.take-date-control{min-width:170px}.take-attendance-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-search{color:#71829c;background:#fff;border:1px solid #e1eaf8;border-radius:11px;align-items:center;gap:8px;width:min(360px,100%);padding:0 12px;display:flex}.attendance-search input{color:#284260;width:100%;min-height:41px;font:inherit;background:0 0;border:0;outline:0}.attendance-student-list{flex-direction:column;gap:9px;display:flex}.attendance-student-row{background:#fff;border:1px solid #e9effb;border-radius:15px;grid-template-columns:minmax(200px,1fr) auto minmax(130px,190px);align-items:center;gap:14px;padding:12px 14px;display:grid}.attendance-student-person{align-items:center;gap:11px;min-width:0;display:flex}.attendance-student-person>div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.attendance-student-person strong{color:#1c395e;font-size:.9rem}.attendance-student-person span{color:#71829a;font-size:.76rem}.attendance-segmented{background:#f3f6fb;border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.attendance-segmented button{color:#667a96;min-height:38px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:0 11px;font-size:.77rem;font-weight:700;transition:background-color .15s,color .15s}.attendance-segmented button.selected.present{color:#197348;background:#e4f7eb}.attendance-segmented button.selected.absent{color:#b3334d;background:#ffe8eb}.attendance-segmented button.selected.late{color:#9a6413;background:#fff1d9}.attendance-note{color:#334e70;width:100%;min-height:39px;font:inherit;border:1px solid #e3eaf5;border-radius:10px;outline:0;padding:8px 10px;font-size:.78rem}.attendance-note:focus{border-color:#87aaf7;box-shadow:0 0 0 3px #3a7bf81a}.attendance-save-footer{background:#fffffff7;border:1px solid #e2eaf7;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex;box-shadow:0 8px 20px #1d315512}.attendance-totals{color:#60738f;align-items:center;gap:17px;font-size:.83rem;display:flex}.attendance-totals span{align-items:center;gap:6px;display:inline-flex}.attendance-totals strong{color:#203d60}.total-dot{border-radius:50%;width:8px;height:8px}.present-dot{background:#278855}.absent-dot{background:#c83d55}.late-dot{background:#d49a32}.attendance-save-button{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.attendance-empty-state{text-align:center;background:#fff;border:1px solid #e9effb;border-radius:20px;max-width:560px;margin:10px auto;padding:34px 24px;box-shadow:0 10px 22px #132a4d09}.attendance-empty-state h1{color:#183252;margin:0 0 9px;font-size:1.45rem}.attendance-empty-state p{color:#637694;margin:0 0 18px;line-height:1.6}.attendance-empty-state .primary-button{margin:0 auto}.attendance-loading{flex-direction:column;gap:16px;display:flex}.attendance-title-skeleton{border-radius:18px;height:98px}.attendance-metric-skeleton{border-radius:16px;height:105px}.attendance-list-skeleton{border-radius:18px;height:330px}@media (width<=760px){.attendance-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-table-wrap{display:none}.attendance-class-cards{flex-direction:column;gap:10px;display:flex}.attendance-class-card{background:#fbfdff;border:1px solid #edf2fb;border-radius:14px;padding:14px}.attendance-class-card-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.attendance-class-card-heading strong{color:#1c395e}.attendance-class-card-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.attendance-class-card-grid span{color:#7788a0;flex-direction:column;gap:3px;font-size:.72rem;display:flex}.attendance-class-card-grid strong{color:#345171;font-size:.86rem}.take-attendance-heading{flex-direction:column;align-items:stretch}.take-date-control{max-width:none}.attendance-student-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px}.attendance-student-person,.attendance-note{grid-column:1/-1}.attendance-segmented{width:100%}.attendance-segmented button{flex:1;min-height:44px;font-size:.82rem}.attendance-save-footer{z-index:4;flex-direction:column;align-items:stretch;margin-top:4px;padding:12px;position:sticky;bottom:8px;box-shadow:0 8px 26px #1a2d4f26}.attendance-totals{justify-content:space-between;gap:5px;font-size:.76rem}.attendance-save-button{width:100%;min-height:50px;font-size:.96rem}}@media (width<=480px){.attendance-controls{grid-template-columns:1fr 1fr;gap:8px}.attendance-controls label:first-child{grid-column:1/-1}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-metric{gap:6px;padding:13px}.attendance-section{padding:15px 12px}.attendance-attention-list li{grid-template-columns:auto minmax(0,1fr);gap:9px}.attendance-attention-list li .student-link{grid-column:2;justify-self:start}.take-attendance-toolbar{flex-direction:column;align-items:stretch}.take-attendance-toolbar .secondary-button{justify-content:center;min-height:45px}.attendance-segmented button{padding:0 6px}.attendance-totals span{gap:4px}}.fees-page{color:#203354;flex-direction:column;gap:22px;display:flex}.fees-page-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.fees-page-heading h1,.fees-not-found h1,.fees-state-card h1{color:#17305e;margin:0 0 7px;font-size:clamp(1.55rem,3vw,2rem)}.fees-page-heading p:last-child{color:#71809a;margin:0}.fees-filters{background:#fff;border:1px solid #e6edf8;border-radius:16px;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding:16px;display:grid}.fees-filters label,.fee-payment-form label{color:#526582;flex-direction:column;gap:6px;font-size:.8rem;font-weight:650;display:flex}.fees-filters select,.fee-payment-form input,.fee-payment-form select,.fee-payment-form textarea,.reminder-draft textarea{color:#203354;background:#fff;border:1px solid #dce5f2;border-radius:10px;outline:none;min-width:0;min-height:42px;padding:9px 11px}.fees-filters select:focus,.fee-payment-form input:focus,.fee-payment-form select:focus,.fee-payment-form textarea:focus,.reminder-draft textarea:focus{border-color:#7ea6f5;box-shadow:0 0 0 3px #3771e81f}.fees-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.fees-metric-card{background:#fff;border:1px solid #e7edf7;border-radius:16px;min-width:0;padding:17px;box-shadow:0 8px 22px #233e6909}.fees-metric-card>div{color:#73819a;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:.8rem;font-weight:650;display:flex}.fees-metric-card strong{overflow-wrap:anywhere;color:#203354;font-size:clamp(1.05rem,2vw,1.35rem);display:block}.fees-metric-card.blue>div svg{color:#3c76df}.fees-metric-card.green>div svg{color:#21a576}.fees-metric-card.purple>div svg{color:#8056d9}.fees-metric-card.amber>div svg{color:#df9d21}.fees-overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr);align-items:start;gap:18px;display:grid}.fees-side-column,.fee-detail-main{flex-direction:column;gap:18px;min-width:0;display:flex}.fees-panel{background:#fff;border:1px solid #e6edf8;border-radius:16px;min-width:0;padding:18px;box-shadow:0 8px 24px #233e6909}.fees-panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.fees-panel-heading h2{color:#203354;margin:0;font-size:1rem}.fees-panel-heading p{color:#8090a8;margin:4px 0 0;font-size:.78rem}.fees-search{color:#8392a9;background:#f9fbfe;border:1px solid #e1e9f4;border-radius:10px;align-items:center;gap:8px;width:min(285px,46%);min-height:40px;padding:8px 11px;display:flex}.fees-search input{color:#203354;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:.8rem}.fee-table-wrap{overflow-x:auto}.fee-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.78rem}.fee-table th{color:#8190a8;text-align:left;border-bottom:1px solid #e8eef7;padding:11px 9px;font-size:.7rem;font-weight:650}.fee-table td{color:#50617e;border-bottom:1px solid #f0f3f8;padding:13px 9px}.fee-table tr:last-child td{border-bottom:0}.fee-table td strong,.fee-table td small{display:block}.fee-table td strong{color:#263957;font-size:.8rem}.fee-table td small{color:#8795aa;margin-top:3px;font-size:.7rem}.fee-status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.fee-status-badge.paid{color:#14805c;background:#e8f7f0}.fee-status-badge.partially-paid{color:#7650ba;background:#f2edfc}.fee-status-badge.pending{color:#93670c;background:#fff5dc}.fee-status-badge.overdue{color:#bd3d56;background:#ffedf0}.fee-mobile-list{display:none}.fees-empty,.fees-not-found,.fees-state-card{color:#667791;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:200px;padding:28px;display:flex}.fees-empty strong{color:#263957}.fees-empty p,.fees-not-found p{margin:0;font-size:.84rem}.fees-empty-icon{color:#3a73d8;background:#edf4ff;border-radius:14px;place-items:center;width:44px;height:44px;margin-bottom:4px;display:grid}.aging-list{flex-direction:column;display:flex}.aging-list>div{border-bottom:1px solid #eff3f8;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.aging-list>div:last-child{border-bottom:0}.aging-list span,.aging-list small{display:block}.aging-list span{color:#485b7a;font-size:.82rem;font-weight:650}.aging-list small{color:#8996aa;margin-top:3px;font-size:.7rem;font-weight:400}.aging-list strong{color:#243754;font-size:.8rem}.fee-attention-list{flex-direction:column;gap:12px;display:flex}.fee-attention-list article{background:#fcfdff;border:1px solid #edf1f7;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.fee-attention-copy{flex-direction:column;gap:3px;display:flex}.attention-level{color:#b24154;letter-spacing:.06em;width:fit-content;font-size:.62rem;font-weight:750}.attention-level.MEDIUM{color:#a87519}.attention-level.NOTICE{color:#5579bd}.fee-attention-copy strong{color:#263957;font-size:.83rem}.fee-attention-copy>span:last-child{color:#74839b;font-size:.75rem}.fee-attention-actions{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.text-button{color:#2d67ce;cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 0;font-size:.75rem;font-weight:700}.reminder-action{width:100%}.reminder-draft{background:#fff;border:1px solid #e7edf7;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;padding:11px;display:flex}.reminder-draft label{color:#61728d;width:100%;font-size:.72rem;font-weight:650}.reminder-draft textarea{resize:vertical;width:100%;margin-top:5px;font-size:.76rem;display:block}.fee-draft-saved{color:#18815d;margin:0;font-size:.72rem}.fee-role-note{color:#5472a2;background:#f2f7ff;border:1px solid #e0eaf8;border-radius:999px;padding:7px 10px;font-size:.73rem;font-weight:650}.fee-detail-page>.back-link{align-self:flex-start}.detail-heading{align-items:center}.detail-heading .eyebrow{margin-bottom:6px}.detail-heading h1{margin-bottom:4px}.fee-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);align-items:start;gap:18px;display:grid}.fee-invoice-list{flex-direction:column;gap:8px;display:flex}.fee-invoice-option{color:#293b59;cursor:pointer;text-align:left;background:#fff;border:1px solid #e8eef7;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.fee-invoice-option.selected{background:#f4f8ff;border-color:#91b2f3;box-shadow:0 0 0 2px #3771e814}.fee-invoice-option>span:last-child{text-align:right}.fee-invoice-option strong,.fee-invoice-option small{display:block}.fee-invoice-option strong{font-size:.8rem}.fee-invoice-option small{color:#8190a7;margin-top:4px;font-size:.7rem}.fee-line-items{border-top:1px solid #ebf0f7;margin-top:18px;padding-top:15px}.fee-line-items h3{color:#334763;margin:0 0 8px;font-size:.83rem}.fee-line-items>div{color:#6a7a93;justify-content:space-between;gap:10px;padding:8px 0;font-size:.78rem;display:flex}.fee-line-items>div strong{color:#314562}.fee-line-items .fee-line-total{color:#273a58;border-top:1px solid #ebf0f7;margin-top:4px;padding-top:12px;font-weight:700}.payment-form-panel .fees-panel-heading{margin-bottom:14px}.fee-payment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fee-payment-form .fee-note-field{grid-column:1/-1}.fee-note-field span{color:#8a98ac;font-weight:400}.fee-payment-form textarea{resize:vertical}.fee-payment-form .primary-button{grid-column:1/-1;justify-content:center}.fee-payment-form .primary-button:disabled{opacity:.7;cursor:wait}.fee-form-error{color:#bd3d56;grid-column:1/-1;margin:0;font-size:.76rem}.fee-form-success{color:#18794e;grid-column:1/-1;margin:0;font-size:.76rem}.payment-history-list{flex-direction:column;display:flex}.payment-history-row{border-bottom:1px solid #eff3f8;flex-direction:column;gap:9px;padding:13px 0;display:flex}.payment-history-row:last-child{border-bottom:0}.payment-history-row>div{justify-content:space-between;gap:10px;display:flex}.payment-history-row strong,.payment-history-row span{color:#314562;font-size:.78rem}.payment-history-row small{color:#8190a7;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.fees-state-card{background:#fff;border:1px solid #e6edf8;border-radius:16px;min-height:280px}.fees-state-card h1{font-size:1.3rem}.fees-title-skeleton{border-radius:12px;width:45%;height:58px}.fees-card-skeleton{border-radius:15px;height:108px}.fees-content-skeleton{border-radius:16px;min-height:320px}@media (width<=980px){.fees-overview-grid,.fee-detail-grid{grid-template-columns:minmax(0,1fr)}.fees-side-column{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=760px){.fees-summary-grid,.fees-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fees-side-column{display:flex}}@media (width<=640px){.fees-page{gap:16px}.fees-page-heading{align-items:flex-start}.fees-filters,.fees-panel{padding:14px}.fees-summary-grid{grid-template-columns:minmax(0,1fr)}.fees-filters{gap:10px}.fees-panel-heading{flex-direction:column;align-items:flex-start}.fees-search{width:100%}.fee-table-wrap{display:none}.fee-mobile-list{flex-direction:column;gap:11px;display:flex}.fee-mobile-card{background:#fcfdff;border:1px solid #edf1f7;border-radius:12px;padding:13px}.fee-mobile-card-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.fee-mobile-card-heading strong,.fee-mobile-card-heading small{display:block}.fee-mobile-card-heading strong{color:#263957;font-size:.85rem}.fee-mobile-card-heading small{color:#8190a7;margin-top:4px;font-size:.68rem}.fee-mobile-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.fee-mobile-values span,.fee-mobile-values strong{display:block}.fee-mobile-values span{color:#8290a6;font-size:.68rem}.fee-mobile-values strong{color:#314562;margin-top:3px;font-size:.78rem}.fee-mobile-card>.secondary-button{justify-content:center;width:100%}.detail-heading{flex-direction:column;align-items:flex-start}.fee-payment-form{grid-template-columns:minmax(0,1fr)}.fee-payment-form .fee-note-field,.fee-payment-form .primary-button{grid-column:auto}.fee-payment-form .primary-button{z-index:1;width:100%;min-height:46px;position:sticky;bottom:12px;box-shadow:0 8px 20px #235fe92e}}.communication-page{color:#203354;flex-direction:column;gap:20px;display:flex}.communication-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.communication-heading h1{color:#17305e;margin:0 0 6px;font-size:clamp(1.55rem,3vw,2rem)}.communication-heading p:last-child{color:#71809a;margin:0}.communication-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.communication-metric{background:#fff;border:1px solid #e6edf8;border-radius:15px;padding:16px 18px;box-shadow:0 8px 22px #233e6909}.communication-metric span,.communication-metric strong{display:block}.communication-metric span{color:#74839b;font-size:.78rem;font-weight:650}.communication-metric strong{color:#203354;margin-top:8px;font-size:1.55rem}.communication-metric.blue strong{color:#3671d8}.communication-metric.amber strong{color:#bd851e}.communication-metric.green strong{color:#1a9569}.communication-metric.red strong{color:#c34d62}.communication-panel{background:#fff;border:1px solid #e6edf8;border-radius:16px;min-width:0;padding:18px;box-shadow:0 8px 24px #233e6909}.communication-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.communication-tabs{background:#f3f6fb;border-radius:12px;align-items:center;gap:5px;padding:4px;display:flex}.communication-tabs button{color:#6d7d96;cursor:pointer;min-height:38px;font:inherit;background:0 0;border:0;border-radius:9px;padding:0 13px;font-size:.8rem;font-weight:650}.communication-tabs button.active{color:#2e65ca;background:#fff;box-shadow:0 1px 5px #20385d1a}.communication-search{color:#8392a9;background:#f9fbfe;border:1px solid #e1e9f4;border-radius:10px;align-items:center;gap:8px;width:min(300px,42%);min-height:40px;padding:8px 11px;display:flex}.communication-search input{color:#203354;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:.8rem}.communication-filters{flex-wrap:wrap;gap:10px;margin:15px 0;display:flex}.communication-filters label{color:#77869d;align-items:center;gap:7px;font-size:.72rem;font-weight:650;display:flex}.communication-filters select{color:#455a79;min-height:35px;font:inherit;background:#fff;border:1px solid #e4ebf5;border-radius:9px;padding:6px 9px;font-size:.74rem}.communication-table-wrap{overflow-x:auto}.communication-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.78rem}.communication-table th{color:#8190a8;text-align:left;border-bottom:1px solid #e8eef7;padding:11px 9px;font-size:.7rem;font-weight:650}.communication-table td{color:#50617e;border-bottom:1px solid #f0f3f8;padding:13px 9px}.communication-table tr:last-child td{border-bottom:0}.communication-table td strong,.communication-table td small{display:block}.communication-table td strong{color:#263957;font-size:.8rem}.communication-table td small{color:#8795aa;margin-top:3px;font-size:.7rem}.communication-status{white-space:nowrap;color:#5c6d87;background:#f1f4f8;border-radius:999px;align-items:center;max-width:100%;padding:5px 9px;font-size:.67rem;font-weight:700;display:inline-flex}.communication-status.draft{color:#426ec0;background:#edf3ff}.communication-status.awaiting_approval{color:#996d16;background:#fff5dc}.communication-status.approved{color:#18815d;background:#e8f7f0}.communication-status.rejected{color:#bd3d56;background:#ffedf0}.communication-status.sent{color:#14805c;background:#e8f7f0}.communication-mobile-list{display:none}.communication-empty,.communication-error{color:#70809a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:190px;padding:26px;display:flex}.communication-empty strong{color:#405471;font-size:.88rem}.communication-empty-icon{color:#3a73d8;background:#edf4ff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.communication-editor,.communication-review-card{background:#fafdff;border:1px solid #dfe9f7;border-radius:14px;margin:16px 0;padding:18px}.communication-editor-heading,.communication-review-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px;display:flex}.communication-editor-heading h2,.communication-review-heading h2{color:#253956;margin:0;font-size:1rem}.communication-editor-heading .eyebrow,.communication-review-heading .eyebrow{margin-bottom:4px}.communication-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.communication-form-grid label{color:#536682;flex-direction:column;gap:6px;min-width:0;font-size:.77rem;font-weight:650;display:flex}.communication-form-grid input,.communication-form-grid select,.communication-form-grid textarea,.rejection-reason-input input{color:#203354;min-width:0;min-height:42px;font:inherit;background:#fff;border:1px solid #dce5f2;border-radius:10px;outline:0;padding:9px 11px;font-size:.82rem}.communication-form-grid input[readonly]{color:#75839a;background:#f5f7fb}.communication-form-grid input:focus,.communication-form-grid select:focus,.communication-form-grid textarea:focus,.rejection-reason-input input:focus{border-color:#7ea6f5;box-shadow:0 0 0 3px #3771e81f}.communication-form-grid .communication-message-field{grid-column:1/-1}.communication-form-grid textarea{resize:vertical}.communication-template-note{color:#8390a5;margin:10px 0 0;font-size:.7rem}.communication-editor-actions,.communication-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;margin-top:15px;display:flex}.communication-editor-actions .primary-button,.communication-editor-actions .secondary-button,.communication-review-actions .primary-button,.communication-review-actions .secondary-button{justify-content:center}.communication-feedback{border-radius:9px;margin:0 0 12px;padding:10px 12px;font-size:.78rem}.communication-feedback.success{color:#177853;background:#eaf8f1}.communication-feedback.error{color:#b43b54;background:#fff0f2}.communication-review-heading{align-items:center}.communication-review-heading p:last-child{color:#77869d;margin:5px 0 0;font-size:.78rem}.communication-message-body{overflow-wrap:anywhere;white-space:pre-wrap;color:#364964;font:inherit;background:#fff;border:1px solid #e9eef6;border-radius:11px;margin:0;padding:14px;font-size:.83rem;line-height:1.65}.communication-audit-history{color:#74839a;flex-wrap:wrap;gap:8px 13px;margin-top:13px;font-size:.7rem;display:flex}.communication-audit-history strong{color:#405471;width:100%}.communication-rejection-reason{color:#b43b54;font-size:.76rem}.rejection-reason-input{color:#71809a;flex-direction:column;flex:1;gap:4px;min-width:min(230px,100%);font-size:.68rem;display:flex}.rejection-reason-input input{min-height:38px}.reject-button{color:#bd3d56}.delivery-result{color:#16805c;font-size:.76rem;font-weight:700}.delivery-result.failed{color:#bd3d56}.communication-heading-skeleton{border-radius:12px;width:45%;height:58px}.communication-card-skeleton{border-radius:15px;height:95px}.communication-list-skeleton{border-radius:16px;min-height:310px}.communication-error{background:#fff;border:1px solid #e6edf8;border-radius:16px;min-height:280px}.communication-error h1{color:#263957;margin:0;font-size:1.25rem}.student-communication-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-communication-header h2{margin-bottom:0}.attendance-attention-actions{flex-direction:column;align-items:flex-start;gap:4px;display:flex}@media (width<=980px){.communication-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.communication-page{gap:15px}.communication-heading{flex-direction:column;align-items:flex-start}.communication-heading>.primary-button{justify-content:center;width:100%;min-height:45px}.communication-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.communication-metric{padding:12px}.communication-metric span{font-size:.7rem}.communication-metric strong{margin-top:5px;font-size:1.25rem}.communication-panel{padding:12px}.communication-toolbar{flex-direction:column;align-items:stretch}.communication-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.communication-tabs button{padding:0 6px;font-size:.71rem}.communication-search{width:100%}.communication-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.communication-filters label{flex-direction:column;align-items:flex-start}.communication-filters select{width:100%}.communication-table-wrap{display:none}.communication-mobile-list{flex-direction:column;gap:10px;display:flex}.communication-mobile-card{background:#fcfdff;border:1px solid #edf1f7;border-radius:12px;min-width:0;padding:13px}.communication-mobile-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.communication-mobile-heading strong,.communication-mobile-heading small{display:block}.communication-mobile-heading strong{color:#263957;font-size:.83rem}.communication-mobile-heading small{color:#8190a7;margin-top:4px;font-size:.68rem}.communication-mobile-meta{color:#6d7d96;flex-wrap:wrap;gap:6px;margin:12px 0;font-size:.68rem;display:flex}.communication-mobile-meta span{background:#f1f4f9;border-radius:8px;padding:4px 7px}.communication-mobile-card>button{justify-content:center;width:100%;min-height:42px}.communication-editor,.communication-review-card{margin:12px 0;padding:13px}.communication-form-grid{grid-template-columns:minmax(0,1fr)}.communication-form-grid .communication-message-field{grid-column:auto}.communication-form-grid textarea{min-height:170px}.communication-editor-actions,.communication-review-actions{flex-direction:column;align-items:stretch}.communication-editor-actions button,.communication-review-actions button{width:100%;min-height:43px}.rejection-reason-input{min-width:0}.communication-review-heading,.student-communication-header{flex-direction:column;align-items:flex-start}.student-communication-header .secondary-button{justify-content:center;width:100%}.attendance-attention-actions{grid-column:2}}@media (width<=760px){.user-directory-toolbar{align-items:stretch}.user-directory-search{flex-basis:100%}.user-directory-toolbar select{flex:130px}.user-count{flex:auto;align-self:center}.user-directory-toolbar>.primary-button{min-height:42px}}@media (width<=560px){.user-modal-backdrop{align-items:end;padding:0}.user-modal{width:100%;max-height:94vh;padding:18px 15px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.user-editor-form{grid-template-columns:minmax(0,1fr);gap:12px}.teacher-scope-editor,.user-invite-note,.user-modal-actions{grid-column:auto}.teacher-scope-inputs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.teacher-scope-inputs select,.teacher-scope-inputs button{grid-column:1/-1}.user-modal-actions{background:#fff;justify-content:stretch;padding:12px 0 4px;position:sticky;bottom:-18px}.user-modal-actions button{flex:1;min-height:44px}}.login-page{isolation:isolate;color:#081643;background:radial-gradient(at 78% 22%,#c8e4ff 0%,#0000 38%),radial-gradient(at 20% 68%,#d5ccff80 0%,#0000 42%),radial-gradient(at 40% 48%,#e4efff 0%,#f6fbff 72%);padding:62px 32px;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(135deg,#36def0 5%,#5689ff 45%,#8e62fb 65%,#eceaff 90%);border-radius:48% 52% 0 0;width:850px;height:470px;position:absolute;bottom:-190px;left:-440px;transform:rotate(40deg);box-shadow:-100px -230px 0 40px #afc5fa30,-180px -350px 0 50px #d4e4ff45}.login-page:after{height:680px;box-shadow:none;background:linear-gradient(90deg,#cdf4fb66,#e4edff44);bottom:-160px;left:auto;right:-660px;transform:rotate(42deg)}.login-page .login-panel{-webkit-backdrop-filter:blur(24px)saturate(135%);backdrop-filter:blur(24px)saturate(135%);background:linear-gradient(135deg,#ffffff70,#edf5ff38);border:2px solid #ffffffb3;border-radius:32px;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);width:min(1260px,100%);min-height:814px;box-shadow:0 24px 70px #426ab533,inset 0 1px #ffffffeb,inset 0 -1px #fff6}.login-page .login-brand-panel{background:radial-gradient(circle at 95% 0,#c6d0ff66,#0000 30%),linear-gradient(140deg,#f8fbff66,#edf5ff26);justify-content:flex-start;padding:76px 30px 220px 86px;position:relative;overflow:hidden}.login-page .login-brand-panel:before{content:"";background:#e1f6ffb3;border-radius:50%;width:310px;height:310px;position:absolute;top:-155px;right:-180px;box-shadow:-50px 185px 0 -96px #96e7f54a}.login-page .login-logo{aspect-ratio:450/140;mix-blend-mode:normal;background:url(/assets/camvia-light-logo-D_uVFwVv.png) 50%/cover no-repeat;flex-shrink:0;width:min(450px,100%);margin-bottom:26px;position:relative}.login-page .login-brand-eyebrow{color:#4d87ff;letter-spacing:3.5px;text-transform:uppercase;margin:0 0 16px;font-size:12px}.login-page .login-headline{color:#06143e;letter-spacing:-1.5px;margin:0 0 16px;font-size:clamp(34px,3.05vw,46px);font-weight:800;line-height:1.06}.login-page .login-headline span{color:#087aff;-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#0062ff,#00cce5);-webkit-background-clip:text;background-clip:text}.login-page .login-description{color:#67799f;max-width:470px;margin:0 0 25px;font-size:18px;line-height:1.5}.login-page .login-benefits{z-index:1;gap:10px;margin-right:-2px;display:flex;position:relative}.login-page .login-benefits>div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff8c,#fff3);border:1px solid #fff;border-radius:40px;flex:1;align-items:center;gap:9px;padding:4px 12px 4px 4px;display:flex;box-shadow:0 8px 20px #6c92d418,inset 0 1px #fffc}.login-page .login-benefit-icon{color:#0869ff;background:linear-gradient(135deg,#d5e5ff,#edf5ff);border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.login-page .login-benefits>div:nth-child(2) .login-benefit-icon{color:#8229ee;background:linear-gradient(135deg,#e5d7ff,#f7f3ff)}.login-page .login-benefits>div:nth-child(3) .login-benefit-icon{color:#04afd2;background:linear-gradient(135deg,#bdf3fd,#edfdff)}.login-page .login-benefits p{margin:0;line-height:1.3}.login-page .login-benefits strong{color:#0038bd;font-size:14px;display:block}.login-page .login-benefits small{color:#61749c;white-space:nowrap;font-size:11px;display:block}.login-page .login-campus{aspect-ratio:690/202;background:url(/assets/login-reference-REtHcP7-.png) 21.28% 91.34%/242.32% 465.84% no-repeat;width:100%;position:absolute;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000,#000 22%);mask-image:linear-gradient(#0000,#000 22%)}.login-page .login-form-panel{z-index:1;-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:linear-gradient(135deg,#ffffffa6,#fff6);border-radius:28px;padding:72px 52px 72px 62px;position:relative;box-shadow:inset 0 0 0 1px #ffffffa6,inset 0 1px #fffffff2,-12px 0 36px #6485bd0d}.login-page .login-header{margin-bottom:38px}.login-page .login-header .eyebrow{color:#377bff;letter-spacing:3px;text-transform:uppercase;margin:0 0 19px;font-size:13px;font-weight:700}.login-page .login-header h2{color:#081641;letter-spacing:-1px;margin:0 0 12px;font-size:38px;line-height:1.25}.login-page .login-intro{color:#6a7a9e;margin:0;font-size:18px;line-height:1.5}.login-page .login-form{gap:24px}.login-page .login-form label{color:#101e48;gap:7px;font-size:16px}.login-page .login-input-field{background:#f7faff;border:1px solid #d3e2ff;border-radius:12px;align-items:center;gap:16px;height:60px;padding:0 17px;display:flex}.login-page .login-input-field>svg{color:#63779e;flex-shrink:0;width:21px;height:21px}.login-page .login-input-field input{background:0 0;border:0;border-radius:0;outline:none;width:100%;min-width:0;padding:0;font-size:16px;font-weight:400}.login-page .login-input-field input::placeholder{color:#7482a0;opacity:1}.login-page .login-input-field:focus-within{border-color:#3d83ff;box-shadow:0 0 0 3px #3d83ff20}.login-page .password-field button{color:#003dd8;padding:8px 0 8px 6px;font-size:15px}.login-page .login-form .primary-button{color:#fff;cursor:pointer;background:linear-gradient(110deg,#1266ff,#328aff 48%,#00d6e8);border:0;border-radius:15px;justify-content:center;align-items:center;gap:18px;min-height:64px;margin-top:12px;font-size:20px;font-weight:700;display:flex;box-shadow:0 10px 22px #247bff1c}.login-page .login-form .secondary-button{color:#003dd8;cursor:pointer;background:#ecf4ff;border:0;border-radius:15px;min-height:60px;margin-top:-5px;font-size:17px;font-weight:700}.login-page button:focus-visible{outline-offset:4px;outline:3px solid #679cff}.login-page button:disabled{opacity:.6;cursor:wait;transform:none}.login-page .login-theme-toggle{color:#355581;cursor:pointer;background:#f5f9ff;border:1px solid #d9e6fb;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:22px;right:24px}.login-page[data-theme=dark]{--login-dark-primary:#1e2878;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf4ff;background:radial-gradient(ellipse at 78% 22%, #4052b873, transparent 40%), radial-gradient(ellipse at 18% 70%, #532d9866, transparent 42%), radial-gradient(ellipse at 35% 40%, var(--login-dark-primary), #090e2e 74%)}.login-page[data-theme=dark]:before{background:linear-gradient(135deg, #087caa, var(--login-dark-primary) 45%, #5738a2 65%, #111743 90%);box-shadow:-100px -230px 0 40px #3949ab2e,-180px -350px 0 50px #27358130}.login-page[data-theme=dark]:after{background:linear-gradient(90deg,#3345ac45,#1e287830)}.login-page[data-theme=dark] .login-panel{background:linear-gradient(135deg,#1e287880,#141c5359);border-color:#a2b3ff40;box-shadow:0 24px 70px #00000059,inset 0 1px #ccd7ff33,inset 0 -1px #9baeff14}.login-page[data-theme=dark] .login-brand-panel{background:linear-gradient(145deg,#11194780,#171f604d 65%,#1e287840)}.login-page[data-theme=dark] .login-brand-panel:before{background:#6579e31a;box-shadow:-50px 185px 0 -96px #35c8ec12}.login-page[data-theme=dark] .login-logo{filter:none;mix-blend-mode:normal;background:url(/assets/camvia-dark-logo-Ca8Z1sy4.png) 50% 55%/cover no-repeat}.login-page[data-theme=dark] .login-headline,.login-page[data-theme=dark] .login-header h2{color:#f1f5ff}.login-page[data-theme=dark] .login-headline span{background-image:linear-gradient(100deg,#589aff,#22deed)}.login-page[data-theme=dark] .login-brand-eyebrow,.login-page[data-theme=dark] .login-header .eyebrow{color:#81b1ff}.login-page[data-theme=dark] .login-description,.login-page[data-theme=dark] .login-intro{color:#afbeda}.login-page[data-theme=dark] .login-benefits>div{background:linear-gradient(135deg,#6a7ac02e,#26348059);border-color:#a2b3ff40;box-shadow:0 8px 20px #00000018,inset 0 1px #d2dcff1a}.login-page[data-theme=dark] .login-benefits strong{color:#a9cdff}.login-page[data-theme=dark] .login-benefits small{color:#b0c0dc}.login-page[data-theme=dark] .login-benefit-icon{color:#80b6ff;background:linear-gradient(135deg,#34499a,#222c6d)}.login-page[data-theme=dark] .login-benefits>div:nth-child(2) .login-benefit-icon{color:#c49aff;background:linear-gradient(135deg,#473271,#2a264a)}.login-page[data-theme=dark] .login-benefits>div:nth-child(3) .login-benefit-icon{color:#66e6f4;background:linear-gradient(135deg,#155266,#1b354c)}.login-page[data-theme=dark] .login-campus{filter:brightness(.55)saturate(.8);-webkit-mask-image:linear-gradient(#0000,#000 55%);mask-image:linear-gradient(#0000,#000 55%)}.login-page[data-theme=dark] .login-form-panel{background:linear-gradient(135deg,#1e2878b8,#1e287873);box-shadow:inset 0 0 0 1px #b4c2ff33,inset 0 1px #d5deff26,-12px 0 36px #05091e1a}.login-page[data-theme=dark] .login-form label{color:#e0e9fa}.login-page[data-theme=dark] .login-input-field{background:#151d58;border-color:#6271bb}.login-page[data-theme=dark] .login-input-field>svg{color:#9cafd0}.login-page[data-theme=dark] .login-input-field input{color:#eef4ff}.login-page[data-theme=dark] .login-input-field input::placeholder{color:#a2b1cb}.login-page[data-theme=dark] .login-input-field:focus-within{border-color:#73a7ff;box-shadow:0 0 0 3px #538fff26}.login-page[data-theme=dark] .password-field button{color:#8bbaff}.login-page[data-theme=dark] .login-form .primary-button{background:linear-gradient(110deg,#3459dd,#167da8);box-shadow:0 10px 24px #090f4033}.login-page[data-theme=dark] .login-form .secondary-button{color:#d5e4ff;background:#303e91}.login-page[data-theme=dark] .login-theme-toggle{color:#e0e9ff;background:#263383;border-color:#6674bf}.login-page[data-theme=dark] .error-message{color:#ffc1d0;background:#3e2132;border-color:#754057}.login-page[data-theme=dark] .communication-feedback{color:#d5e4ff;background:#263383;border-color:#6674bf}.login-page .login-input-field{background:linear-gradient(135deg,#ffffff80,#f7faff4d);box-shadow:inset 0 1px #fffc,0 4px 12px #5271ad08}.login-page .login-theme-toggle,.login-page .login-form .secondary-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff80,#e5efff66);box-shadow:inset 0 0 0 1px #fff9,0 4px 14px #5477b310}.login-page[data-theme=dark] .login-input-field{background:linear-gradient(135deg,#0d154b80,#151d5859);box-shadow:inset 0 1px #d0daff0d,0 4px 12px #0000000d}.login-page[data-theme=dark] .login-theme-toggle,.login-page[data-theme=dark] .login-form .secondary-button{background:linear-gradient(135deg,#8798ed26,#303e914d);box-shadow:inset 0 0 0 1px #c3cfff33,0 4px 14px #00000014}.login-page .login-input-field:focus-within{box-shadow:0 0 0 3px #3d83ff20}.login-page[data-theme=dark] .login-input-field:focus-within{box-shadow:0 0 0 3px #538fff40}@media (width<=1150px){.login-page{padding:32px 24px}.login-page .login-panel{min-height:730px}.login-page .login-brand-panel{padding:65px 28px 180px}.login-page .login-form-panel{padding:88px 32px 48px}.login-page .login-benefits{flex-wrap:wrap;gap:5px}.login-page .login-benefit-icon{width:34px;height:34px}.login-page .login-benefits>div{gap:5px;padding-right:8px}.login-page .login-benefits strong{font-size:12px}.login-page .login-benefits small{font-size:10px}}@media (width<=800px){.login-page{padding:24px 16px}.login-page .login-panel{grid-template-columns:minmax(0,1fr);max-width:600px;min-height:0}.login-page .login-brand-panel{padding:30px 30px 160px}.login-page .login-logo{width:340px;margin-bottom:20px}.login-page .login-headline{font-size:38px}.login-page .login-description{font-size:16px}.login-page .login-form-panel{padding:88px 30px 38px}.login-page .login-header{margin-bottom:28px}.login-page .login-header h2{font-size:32px}.login-page .login-intro{font-size:16px}}@media (width<=400px){.login-page .login-brand-panel{padding:26px 20px 115px}.login-page .login-brand-eyebrow{letter-spacing:2px;font-size:9px}.login-page .login-headline{font-size:32px}.login-page .login-benefits>div{flex:0 auto}.login-page .login-form-panel{padding:88px 20px 32px}}
