@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/plus-jakarta-sans-variable.ttf') format('truetype')}
/* Themes are scoped to an explicit user preference; original light retains its existing styles. */
.appearance-settings{padding:24px;margin-bottom:24px;max-width:none}.appearance-heading h2{margin:0}.appearance-heading p{margin:8px 0 20px;color:#64748b;font-size:14px}.appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.appearance-option{position:relative;border:2px solid #dce4ee;border-radius:18px;padding:16px;cursor:pointer;display:grid;gap:10px;background:#fff}.appearance-option:has(input:checked){border-color:#087a78;box-shadow:0 0 0 3px #087a7815}.appearance-option input{position:absolute;right:12px;top:12px;width:20px;height:20px}.appearance-option strong{font-size:16px}.appearance-option small{color:#64748b;font-size:12px}.appearance-sample{display:block;padding:14px;border-radius:12px;border:1px solid #e1e5ee;background:#f2f2f7;height:140px}.sample-top{display:block;width:60%;height:12px;background:#28364b;border-radius:4px;margin:5px 0 16px}.sample-content{display:flex;gap:8px}.sample-content i{height:38px;flex:1;background:#deebff;border-radius:8px}.sample-content i:nth-child(2){background:#e0f3e9}.sample-content i:nth-child(3){background:#eee5ff}.sample-button{display:block;width:42%;height:24px;background:#007aff;border-radius:6px;margin-top:14px}.sample-ceria{background:#fffaf1;border:2px solid #39234d;box-shadow:3px 3px 0 #39234d}.sample-ceria .sample-top{background:#39234d}.sample-ceria .sample-content i{border:1px solid #39234d;background:#ffd15c}.sample-ceria .sample-content i:nth-child(2){background:#81cfc5}.sample-ceria .sample-content i:nth-child(3){background:#e3d4f4}.sample-ceria .sample-button{background:#ff805d;border:1px solid #39234d;box-shadow:2px 2px 0 #39234d}.appearance-settings select{max-width:320px}.appearance-preview-note{font-size:12px;color:#64748b}.appearance-settings .actions{display:flex;gap:10px;flex-wrap:wrap}
:root[data-theme=ceria]{--ceria-ink:#352144;--ceria-canvas:#fffaf2;--ceria-surface:#fffdf8;--ceria-soft:#f5efe5;--ceria-line:#4b355b;--ceria-muted:#726478;--ceria-coral:#ff805e;--ceria-shadow:3px 4px 0 #352144;--surface:var(--ceria-surface);--panel:var(--ceria-soft);--text:var(--ceria-ink);--subtle:var(--ceria-muted);--stroke:var(--ceria-line);--canvas:var(--ceria-canvas)}
html[data-theme=ceria] body{background:var(--ceria-canvas);color:var(--ceria-ink);font-family:'Plus Jakarta Sans','Segoe UI',Arial,sans-serif!important}html[data-theme=ceria] h1,html[data-theme=ceria] h2,html[data-theme=ceria] h3{color:var(--ceria-ink);font-weight:800;letter-spacing:-.025em}html[data-theme=ceria] .card,html[data-theme=ceria] .plan,html[data-theme=ceria] .stat,html[data-theme=ceria] .team-card{background:var(--ceria-surface);border:1.5px solid var(--ceria-line);border-radius:20px;box-shadow:var(--ceria-shadow)}html[data-theme=ceria] .card-head,html[data-theme=ceria] thead,html[data-theme=ceria] .toolbar,html[data-theme=ceria] .list-filter{background:var(--ceria-soft);color:var(--ceria-ink);border-color:var(--ceria-line)}html[data-theme=ceria] td,html[data-theme=ceria] th{border-color:color-mix(in srgb,var(--ceria-line) 25%,transparent);color:var(--ceria-ink)}html[data-theme=ceria] #sidebar,html[data-theme=ceria] .app-header,html[data-theme=ceria] #mobile-nav,html[data-theme=ceria] dialog{background:var(--ceria-surface);color:var(--ceria-ink);border-color:var(--ceria-line)}html[data-theme=ceria] .brand,html[data-theme=ceria] .header-profile,html[data-theme=ceria] .nav-item{color:var(--ceria-ink)}html[data-theme=ceria] .nav-item.active,html[data-theme=ceria] .mobile-item.active{background:#ffd15c;color:#352144;border-radius:12px}html[data-theme=ceria] .btn,html[data-theme=ceria] .table-action{background:var(--ceria-surface);color:var(--ceria-ink);border:1.5px solid var(--ceria-line);border-radius:12px;box-shadow:2px 2px 0 var(--ceria-line);transition:transform .15s ease,box-shadow .15s ease}html[data-theme=ceria] .btn.primary{background:var(--ceria-coral);color:#352144;border-color:var(--ceria-line);font-weight:700}html[data-theme=ceria] input:not([type=checkbox]):not([type=radio]),html[data-theme=ceria] select,html[data-theme=ceria] textarea{background:var(--ceria-surface);color:var(--ceria-ink);border-color:var(--ceria-line)}html[data-theme=ceria] summary{color:var(--ceria-ink);background:var(--ceria-soft);border-color:var(--ceria-line)}html[data-theme=ceria] .action-tiles a{border:1.5px solid #352144;box-shadow:3px 4px 0 #352144;color:#352144;transition:transform .18s ease}html[data-theme=ceria] .action-tiles a:nth-child(6n+1){background:#81cfc5}html[data-theme=ceria] .action-tiles a:nth-child(6n+2){background:#ffd15c}html[data-theme=ceria] .action-tiles a:nth-child(6n+3){background:#c7dfb6}html[data-theme=ceria] .action-tiles a:nth-child(6n+4){background:#ffab91}html[data-theme=ceria] .action-tiles a:nth-child(6n+5){background:#e3d4f4}html[data-theme=ceria] .action-tiles a:nth-child(6n){background:#f4bfd4}html[data-theme=ceria] .action-tiles a>span{background:#352144;color:#fffaf2}html[data-theme=ceria] .stat strong{color:var(--ceria-ink)}html[data-theme=ceria] .stat:nth-child(3n+1){border-top:5px solid #81cfc5}html[data-theme=ceria] .stat:nth-child(3n+2){border-top:5px solid #ffd15c}html[data-theme=ceria] .stat:nth-child(3n){border-top:5px solid #ff805e}html[data-theme=ceria] .muted,html[data-theme=ceria] .card-head p,html[data-theme=ceria] .detail-list p{color:var(--ceria-muted)}
@media(hover:hover){html[data-theme=ceria] .btn:hover,html[data-theme=ceria] .table-action:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ceria-line)}html[data-theme=ceria] .action-tiles a:hover{transform:translateY(-3px)}}html[data-theme=ceria] .btn:active{transform:translate(1px,1px);box-shadow:none}
:root[data-appearance=dark]{--ceria-ink:#f7ebff;--ceria-canvas:#201827;--ceria-surface:#2c2235;--ceria-soft:#382d41;--ceria-line:#a48cb6;--ceria-muted:#c6b8d1;--ceria-shadow:3px 4px 0 #100b16;--surface:#2c2235;--panel:#382d41;--text:#f7ebff;--subtle:#c6b8d1;--stroke:#a48cb6;--canvas:#201827;color-scheme:dark}
html[data-appearance=dark] body{background:#201827;color:#f7ebff}html[data-appearance=dark] .card,html[data-appearance=dark] .stat,html[data-appearance=dark] .plan,html[data-appearance=dark] .team-card,html[data-appearance=dark] dialog,html[data-appearance=dark] #sidebar,html[data-appearance=dark] .app-header,html[data-appearance=dark] #mobile-nav{background:#2c2235;color:#f7ebff;border-color:#a48cb6}html[data-appearance=dark] h1,html[data-appearance=dark] h2,html[data-appearance=dark] h3,html[data-appearance=dark] .price,html[data-appearance=dark] .brand,html[data-appearance=dark] .header-profile,html[data-appearance=dark] .nav-item,html[data-appearance=dark] td,html[data-appearance=dark] th{color:#f7ebff}html[data-appearance=dark] .card-head,html[data-appearance=dark] thead,html[data-appearance=dark] .list-filter,html[data-appearance=dark] summary{background:#382d41;color:#f7ebff}html[data-appearance=dark] input:not([type=checkbox]):not([type=radio]),html[data-appearance=dark] select,html[data-appearance=dark] textarea{background:#201827;color:#f7ebff;border-color:#a48cb6}html[data-appearance=dark] .btn:not(.primary),html[data-appearance=dark] .table-action{background:#382d41;color:#f7ebff;border-color:#a48cb6}html[data-appearance=dark] .appearance-option{background:#2c2235;border-color:#a48cb6}html[data-appearance=dark] .appearance-option small,html[data-appearance=dark] .appearance-heading p,html[data-appearance=dark] .appearance-preview-note{color:#c6b8d1}html[data-appearance=dark] .nav-item.active,html[data-appearance=dark] .mobile-item.active{color:#352144;background:#ffd15c}html[data-appearance=dark] .table-wrap tr{background:#2c2235!important}html[data-appearance=dark] .guardian-access-summary>div,html[data-appearance=dark] .workspace{background:#382d41;color:#f7ebff}
@media(max-width:600px){.appearance-settings{padding:18px}.appearance-options{gap:12px}.appearance-option{padding:12px}.appearance-sample{height:120px;padding:10px}.appearance-option strong{font-size:14px}.appearance-option small{font-size:11px}.appearance-settings select{max-width:none}html[data-theme=ceria] .table-wrap tr{background:var(--ceria-surface)!important;border:1.5px solid var(--ceria-line)!important;box-shadow:2px 3px 0 var(--ceria-line)}}
@media(prefers-reduced-motion:reduce){html[data-theme=ceria] *,html[data-theme=ceria] *::before,html[data-theme=ceria] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html[data-theme] body,html[data-theme] .card,html[data-theme] .stat,html[data-theme] .plan{background:white!important;color:black!important;box-shadow:none!important;border-color:#aaa!important}.appearance-settings{display:none}}
html[data-theme=ceria] .dashboard-hero{border:1.5px solid var(--ceria-line);box-shadow:var(--ceria-shadow)}html[data-theme=ceria] .hero-greeting,html[data-theme=ceria] .hero-clock{background:#fffdf6e8;border:1px solid #352144;color:#352144}html[data-theme=ceria] .sidebar-profile{background:var(--ceria-soft);border-color:var(--ceria-line)}html[data-theme=ceria] .student-list-identity{color:var(--ceria-ink)}html[data-appearance=dark] body .student-list-identity,html[data-appearance=dark] body .table-wrap tr td:first-child{background:#382d41!important;color:#f7ebff}html[data-appearance=dark] body .record-list input.search,html[data-appearance=dark] body .record-list .list-filter input{background:#201827!important;color:#f7ebff!important}html[data-appearance=dark] body[data-page=students] .actions-inline>a[href*="page=reports"]{background:#25564c;color:#dcfff3}html[data-appearance=dark] .sidebar-profile{background:#382d41;color:#f7ebff}html[data-appearance=dark] .detail-list p,html[data-appearance=dark] .form-card p,html[data-appearance=dark] .card-head p{color:#c6b8d1}
html[data-theme=ceria] h1,html[data-theme=ceria] h2,html[data-theme=ceria] h3,html[data-appearance=dark] h1,html[data-appearance=dark] h2,html[data-appearance=dark] h3{text-shadow:none}

html[data-theme=ceria] button,html[data-theme=ceria] input,html[data-theme=ceria] select,html[data-theme=ceria] textarea{font-family:inherit}html[data-theme=ceria] body{font-weight:400}html[data-theme=ceria] .btn,html[data-theme=ceria] .action-tiles strong{font-weight:600}
html[data-theme=ceria] .auth-shell{background:#fffaf2}html[data-theme=ceria] .auth-card{background:#fffdf8;border:2px solid #352144;box-shadow:6px 7px 0 #352144;border-radius:24px;color:#352144}html[data-theme=ceria] .auth-card label{font-weight:600}html[data-theme=ceria] .auth-card input{background:#fffdf8!important;color:#352144!important;border-color:#826f8c!important}html[data-theme=ceria] .auth-card .btn.primary{min-height:48px}html[data-theme=ceria] .auth-links a,html[data-theme=ceria] .auth-language a{color:#5b3673}.auth-ceria-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);align-items:center;gap:60px;max-width:1200px;margin:auto;min-height:100dvh;padding:48px 36px}.auth-ceria-layout .auth-card{width:100%;margin:0;max-width:none}.auth-ceria-hero{position:relative;color:#352144;max-width:600px}.auth-version{display:inline-flex;align-items:baseline;gap:8px;font-weight:850;font-size:30px;margin-bottom:26px}.auth-version small{font-size:13px;background:#ffd15c;border:1.5px solid #352144;padding:4px 8px;border-radius:8px;transform:rotate(-5deg)}.auth-ceria-hero h2{font-size:clamp(28px,3.3vw,46px)!important;line-height:1.15;letter-spacing:-.04em;margin:0 0 22px}.auth-ceria-hero h2 span{background:linear-gradient(transparent 72%,#81cfc5 72%)}.auth-ceria-hero p{font-size:16px;line-height:1.8;max-width:480px}.auth-feature-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.auth-feature-tags>span{display:inline-flex;align-items:center;gap:7px;border:1.5px solid #352144;border-radius:12px;padding:10px 12px;font-size:12px;background:#ffd15c}.auth-feature-tags>span:nth-child(2){background:#c8ece5}.auth-feature-tags>span:nth-child(3){background:#e3d4f4}.auth-feature-tags svg{width:17px;height:17px}.auth-hero-art{position:relative;height:170px;margin:35px 20px 0}.auth-hero-art>div{display:flex;align-items:center;justify-content:center;gap:18px;width:230px;height:130px;border:2px solid #352144;border-radius:24px;box-shadow:5px 6px 0 #352144;background:#ffab91;transform:rotate(-4deg);font-weight:800;font-size:25px}.auth-hero-art>div svg{width:44px;height:44px}.auth-hero-art>i{position:absolute;display:grid;place-items:center;width:64px;height:64px;border:2px solid #352144;border-radius:18px;box-shadow:3px 4px 0 #352144;background:#ffd15c;left:210px;top:-12px;animation:auth-float 5s ease-in-out infinite}.auth-hero-art>i:nth-of-type(2){left:260px;top:70px;background:#81cfc5;animation-delay:-2s}.auth-hero-art>i:nth-of-type(3){left:-20px;top:100px;background:#e3d4f4;animation-delay:-3s}.auth-hero-art svg{width:30px;height:30px}.auth-card h1{font-weight:800}.auth-card .auth-method{margin:18px 0}.auth-card .auth-language{margin-bottom:18px}@keyframes auth-float{50%{transform:translateY(-8px) rotate(4deg)}}@media(max-width:900px){.auth-ceria-layout{gap:30px;padding:32px 24px}.auth-hero-art{margin-left:10px;transform:scale(.85);transform-origin:left top}.auth-feature-tags{gap:8px}}@media(max-width:700px){.auth-ceria-layout{grid-template-columns:minmax(0,1fr);padding:28px 20px 36px;gap:26px;max-width:520px}.auth-version{font-size:25px;margin-bottom:16px}.auth-ceria-hero h2{font-size:28px!important;margin-bottom:14px}.auth-ceria-hero p{font-size:13px;margin:0}.auth-feature-tags{margin-top:16px}.auth-feature-tags>span{padding:8px 10px;font-size:11px}.auth-hero-art{display:none}.auth-ceria-layout .auth-card{padding:24px 20px}}@media(prefers-reduced-motion:reduce){.auth-hero-art>i{animation:none}}

html[data-theme=ceria] .dashboard-hero:not([data-hero-custom=yes]){background-image:linear-gradient(120deg,#ffe39a 0%,#ffe39a 55%,#b5e4da 55%,#b5e4da 100%)!important}

.hero-custom-preview{display:block;width:150px;height:60px;border-radius:12px;overflow:hidden;background:var(--surface,#f2f2f7);border:1px dashed #9b8baa}.hero-custom-preview img{width:100%;height:100%;object-fit:cover}.hero-custom-preview [hidden]{display:none!important}.hero-custom-preview [data-hero-empty]{display:grid;place-items:center;height:100%;font-size:24px;color:#786889}
