:root{--brand-50:#f5f2fc;--brand-100:#ece6fa;--brand-200:#dcd1f3;--brand-300:#c5b4e8;--brand-400:#a48acf;--brand-500:#7653ad;--brand-500-rgb:118,83,173;--brand-600:#654391;--brand-700:#543778;--brand-800:#40304f;--brand-900:#292b32;--n-50:#f2f3f5;--n-100:#eceef1;--n-200:#e0e2e7;--n-300:#c6c8d1;--n-400:#898b99;--n-500:#60616f;--n-600:#4e4f5d;--n-700:#383a45;--n-800:#2d2f38;--n-900:#25272e;--focus:#7653ad;--focus-on-dark:#dcd1f3;--chart-secondary:#a48acf;--info:#654391;--info-soft:#f5f2fc;--radius:16px;--radius-lg:24px;--radius-xl:30px;--shadow:0 8px 28px rgba(55,43,79,.045)}@media screen{body[data-ui-page]{background:var(--n-50);color:var(--n-700)}body[data-ui-page] h1,body[data-ui-page] h2,body[data-ui-page] h3{letter-spacing:-.035em}body[data-ui-page] .btn{border-radius:999px;min-height:44px;padding-inline:20px}body[data-ui-page] .btn-primary{background:var(--n-900);border-color:var(--n-900);color:#fff;box-shadow:none}body[data-ui-page] .btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700)}body[data-ui-page] .btn-outline{background:#fff;border-color:var(--n-200);color:var(--n-700)}body[data-ui-page] :is(.input,.select,.textarea){background:#fafafb;border-radius:14px;border-color:var(--n-200)}body[data-ui-page] :is(.card,.stat,.program-card,.file-card,.table-wrap,.auth-card){border-radius:24px;box-shadow:var(--shadow);border-color:transparent}body[data-ui-page] :is(.tabs,.tab){border-radius:14px}body[data-ui-page] .tab.active{background:var(--brand-100);color:var(--brand-700);border-color:transparent}body[data-ui-page] .table th{background:#f8f7fb;color:var(--n-500);text-transform:none;letter-spacing:0}body[data-ui-page] .table td{border-color:#eeedf2}body:is([data-ui-page=admin],[data-ui-page=student]) .sidebar{background:var(--n-50);border-right:1px solid var(--n-200);color:var(--n-700)}body:is([data-ui-page=admin],[data-ui-page=student]) .sidebar .brand{color:var(--n-900);border-color:var(--n-200)}body:is([data-ui-page=admin],[data-ui-page=student]) .side-nav a{color:var(--n-600);border-radius:14px;margin:4px 12px;min-height:46px}body:is([data-ui-page=admin],[data-ui-page=student]) .side-nav a:hover{background:#e9e5f1;color:var(--n-900)}body:is([data-ui-page=admin],[data-ui-page=student]) .side-nav a.active{background:#e5dcf5;color:var(--brand-700);box-shadow:none}body:is([data-ui-page=admin],[data-ui-page=student]) .sidebar :is(.small,.muted,.nav-group-label){color:var(--n-500)}body:is([data-ui-page=admin],[data-ui-page=student]) .sidebar :is(a,button):focus-visible{outline-color:var(--focus)}body:is([data-ui-page=admin],[data-ui-page=student]) .side-foot{border-top-color:var(--n-200)}body:is([data-ui-page=admin],[data-ui-page=student]) .side-foot .btn{color:var(--n-700);border-color:var(--n-200);background:#fff}body:is([data-ui-page=admin],[data-ui-page=student]) .sidebar .side-foot .btn:hover{background:var(--brand-100);color:var(--brand-700);border-color:var(--brand-300)}body:is([data-ui-page=admin],[data-ui-page=student]) .topbar{background:var(--n-50);border-bottom:0}body:is([data-ui-page=admin],[data-ui-page=student]) .page{max-width:1680px;padding-top:18px}body[data-ui-page] .avatar{background:var(--brand-100);color:var(--brand-700)}body[data-ui-page] :is(.icon-btn,.mobile-toggle){background:#fff;border-radius:50%;color:var(--n-700)}body[data-ui-page] .user-chip{background:#fff;border-color:transparent;border-radius:999px;padding:7px 12px}.admin-workspace .kpi-tile,.admin-workspace .dashboard-metrics .kpi-tile{border:0;border-radius:24px;background:#fff;box-shadow:none;padding:24px}body[data-ui-page=admin] .kpi-tile .value,body[data-ui-page=admin] .dashboard-metrics .value{font-size:clamp(32px,3.4vw,46px);font-weight:500;letter-spacing:-.045em}.admin-workspace .dashboard-metric-period{background:var(--brand-50);color:var(--brand-700);border-radius:999px}.admin-workspace .chart-card-elevated{border:0;border-radius:24px;box-shadow:none;background:#fff}.admin-workspace .chart-card-head strong{font-weight:600;font-size:18px;letter-spacing:-.025em}.admin-workspace .dashboard-heading h1{font-weight:600;font-size:clamp(28px,3vw,38px)}.admin-workspace .workspace-hero{background:var(--brand-100);border:0;border-radius:24px}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:20px;margin-top:24px;align-items:start}.dashboard-main-grid>*{min-width:0}.dashboard-primary-report{display:flex;flex-direction:column;gap:20px}.overview-feature{padding:26px;border-radius:24px;background:linear-gradient(120deg,#eee8fa,#dcd0f3);position:relative;overflow:hidden}.overview-feature h2{font-size:24px;font-weight:600;line-height:1.3;margin:8px 0 12px;max-width:26ch}.overview-feature p{font-size:14px;line-height:1.7;max-width:55ch;margin-bottom:20px;color:var(--n-600)}.overview-feature .eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--brand-700);text-transform:uppercase}.overview-feature .btn{position:relative}.overview-feature-art{position:absolute;right:20px;bottom:16px;width:100px;height:100px;opacity:.7;pointer-events:none}.overview-feature-art span{position:absolute;inset:20px;background:linear-gradient(145deg,#fff,#b9a2e7 65%,#7653ad);border-radius:18px;transform:rotate(35deg);box-shadow:12px 12px 0 #cdbcea}.overview-feature-art span:last-child{inset:38px 8px 5px 42px;transform:rotate(-20deg);background:linear-gradient(135deg,#fff,#a28acf)}.portal-calendar{padding:24px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0}.calendar-toolbar strong{font-size:15px}.calendar-toolbar button{width:44px;height:44px;border:0;border-radius:50%;background:var(--n-50);cursor:pointer;color:var(--n-700);font-size:20px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays span{font-size:11px;text-align:center;color:var(--n-500);padding:8px 0}.calendar-day{min-height:44px;border:0;border-radius:12px;background:transparent;font:inherit;font-size:12px;color:var(--n-700);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.calendar-day:hover{background:var(--brand-50)}.calendar-day.today{font-weight:700;box-shadow:inset 0 0 0 1px var(--brand-300)}.calendar-day[aria-pressed=true]{background:var(--brand-700);color:#fff}.calendar-day .event-dot{width:4px;height:4px;border-radius:50%;background:var(--brand-500)}.calendar-day[aria-pressed=true] .event-dot{background:#fff}.calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--n-100);padding-top:20px;margin-top:20px;font-size:14px}.calendar-agenda{display:grid;gap:10px;margin-top:14px;max-height:300px;overflow-y:auto}.calendar-event{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;width:100%;padding:10px 0;text-align:left;border:0;background:transparent;color:var(--n-700);font:inherit;cursor:pointer;min-height:60px}.calendar-event .calendar-event-mark{display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--brand-100);color:var(--brand-700);font-size:12px;font-weight:700}.calendar-event strong{font-size:13px;display:block;line-height:1.5;font-weight:600}.calendar-event small{color:var(--n-500);display:block;font-size:11px;margin-top:4px;line-height:1.5}.calendar-event:hover strong{color:var(--brand-600)}.calendar-empty{color:var(--n-500);font-size:13px;line-height:1.7;padding:12px 0}.calendar-note{font-size:11px;line-height:1.6;color:var(--n-500);margin:16px 0 0}body[data-ui-page=student] .card:has(#welcome){background:linear-gradient(115deg,#ece5f9,#d9ccef)!important;color:var(--n-900);border:0;border-radius:24px}body[data-ui-page=student] .card:has(#welcome) :is(h1,h2,h3,p,.small,.muted){color:var(--n-600)}body[data-ui-page=login] .auth-side{background:linear-gradient(145deg,#ece5f9,#d9ccef);color:var(--n-900)}body[data-ui-page=login] .auth-side :is(h1,h2,h3,p,.small,.muted,.help,a){color:var(--n-700)}body[data-ui-page=login] .auth-side a:focus-visible{outline-color:var(--focus)}body[data-ui-page=home] .hero{background:linear-gradient(120deg,#f1ecfa,#f7f6fb 60%,#e7def5);padding-block:72px 88px}body[data-ui-page=home] .hero h1{font-size:clamp(34px,4vw,58px);font-weight:600;line-height:1.16}body[data-ui-page=home] :is(.feature,.contact-card,.class-card,.star-card,.testim,.home-feature-card,.home-dates-panel,.fb-card,.syllabus-card){border-radius:24px;border-color:transparent;box-shadow:var(--shadow);background:#fff}body[data-ui-page=home] .section-alt{background:#f0edf6}body[data-ui-page=home] .syllabus-card-cover{background:linear-gradient(135deg,#ede6fa,#d9ccef)}body[data-ui-page=home] .course-syllabus-list .file-card{border-radius:24px;border-color:transparent}body[data-ui-page=home] .course-plan-cover{background:linear-gradient(135deg,#ede6fa,#d9ccef)}body[data-ui-page=home] .course-plan-cover svg{stroke:var(--brand-500);fill:#ffffff66}body[data-ui-page=home] .hero-accent-blob{background:var(--brand-200)}body[data-ui-page=home] .home-section-kicker{color:var(--brand-600)}body[data-ui-page] :is(.notice-pin-badge,.chip-info){background:var(--brand-100);color:var(--brand-700)}body[data-ui-page] footer{background:var(--n-900)}}@media screen and (max-width:1200px){.dashboard-main-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr)}}@media screen and (max-width:767px){.dashboard-main-grid{grid-template-columns:minmax(0,1fr)}body[data-ui-page] .dashboard-metrics{grid-template-columns:minmax(0,1fr)}.admin-workspace .dashboard-metrics .kpi-tile{padding:22px;gap:10px}.admin-workspace .dashboard-metrics .value{font-size:36px}.overview-feature,.portal-calendar{padding:22px}body[data-ui-page=home] .hero{padding-block:42px 54px}}
