:root{--bg:#f6f8fb;--panel:#ffffff;--panel-soft:#eef5f7;--text:#172033;--muted:#66758b;--line:#dce5ef;--blue:#3157c8;--blue-strong:#182d66;--blue-soft:#e9eefc;--blue-soft-2:#f7f9fe;--teal:#0f766e;--teal-soft:#e5f4f1;--gold:#c28a28;--gold-soft:#fff3d8;--coral:#c45f4c;--shadow:0 18px 45px rgba(23,32,51,0.10);--shadow-strong:0 24px 70px rgba(24,45,102,0.18)}.legal-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.legal-links a{color:rgba(255,255,255,.84);font-weight:800;text-decoration:none}.legal-links a:hover{color:white}.legal-page{min-height:100vh;padding:48px 18px;display:grid;place-items:start center}.legal-card{width:min(900px,100%);color:var(--text)}.legal-card h1,.legal-card h2{color:var(--blue-strong)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.6}.page{min-height:100vh;background:linear-gradient(180deg,#f7fbff,#ffffff 360px)}.student-portal,.teacher-portal{grid-template-columns:260px minmax(0,1fr)}.shell{width:100%;max-width:1180px;margin:0 auto;padding:28px}.auth-shell{min-height:100vh;padding:24px;background:linear-gradient(180deg,var(--blue-soft),#ffffff)}.home-card{padding:30px}.auth-card{width:100%;max-width:420px;padding:26px;text-align:center}.auth-card:before{inset:0 0 auto 0;width:100%;height:4px;border-radius:8px 8px 0 0}.auth-heading{grid-gap:6px;gap:6px}.auth-heading h1{font-size:34px}.auth-heading p{color:var(--muted);font-weight:700}.home-card h1{font-size:42px}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:16px;padding:20px 14px;background:var(--blue);color:white}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 16px;border-bottom:1px solid rgba(255,255,255,.22)}.brand-mark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:white;color:var(--blue);font-weight:800}.brand span{display:block;color:rgba(255,255,255,.74);font-size:12px}.sidebar-code{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.14);border-radius:8px;padding:12px;font-size:13px;font-weight:700}.sidebar-nav{display:grid;grid-gap:8px;gap:8px}.sidebar .logout,.sidebar-nav a{display:flex;align-items:center;min-height:42px;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:10px 12px;background:rgba(255,255,255,.08);color:white;font-weight:700}.sidebar .logout:hover,.sidebar-nav a:hover{background:white;color:var(--blue)}.sidebar .logout{margin-top:auto;cursor:pointer}.sidebar-actions{margin-top:auto;display:grid;grid-gap:8px;gap:8px}.sidebar-action-button{cursor:pointer}.card,.empty,.metric,.notice,.panel-note{background:var(--panel);border:1px solid var(--line);border-radius:8px}.card{padding:18px;position:relative}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:8px 0 0 8px;background:var(--blue)}.metric{padding:20px;border-top:4px solid var(--blue)}.metric h2{margin:4px 0 0;font-size:34px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1 1;min-width:220px}.between,.list-item{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:grid;grid-gap:14px;gap:14px}.eyebrow{display:block;color:var(--muted);letter-spacing:0;text-transform:uppercase}.badge,.eyebrow{font-size:12px;font-weight:700}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:var(--blue-soft);white-space:nowrap}.badge,.btn{color:var(--blue-strong)}.btn{border:1px solid rgba(13,110,253,.38);background:white;border-radius:8px;padding:10px 14px;cursor:pointer;min-height:42px;font-weight:700;box-shadow:0 4px 0 rgba(8,78,184,.14),0 10px 18px rgba(13,110,253,.08);transform:translateY(0);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.btn:hover{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 8px 0 rgba(8,78,184,.16),0 18px 28px rgba(13,110,253,.16);transform:translateY(-3px)}.btn:active{box-shadow:0 2px 0 rgba(8,78,184,.18),0 8px 16px rgba(13,110,253,.12);transform:translateY(1px)}.btn.accent,.btn.danger,.btn.primary,.btn.student{background:var(--blue);border-color:var(--blue);color:white}.btn.accent:hover,.btn.danger:hover,.btn.primary:hover,.btn.student:hover{background:var(--blue-strong)}.btn.small{min-height:34px;padding:7px 10px;font-size:13px}.input{width:100%;border:1.5px solid rgba(13,110,253,.52);border-radius:8px;padding:11px 12px;background:white;box-shadow:inset 0 0 0 1px rgba(13,110,253,.08),0 8px 18px rgba(13,110,253,.06);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.input:focus{border-color:var(--blue);outline:3px solid rgba(13,110,253,.13);box-shadow:inset 0 0 0 1px rgba(13,110,253,.14),0 12px 24px rgba(13,110,253,.12)}.textarea{min-height:110px;resize:vertical}.label{display:grid;grid-gap:6px;gap:6px;font-weight:700}.check-row,.label{color:var(--muted);font-size:13px}.check-row{display:flex;gap:8px;align-items:center}.muted{color:var(--muted)}.error,.success{color:var(--blue-strong)}.empty,.notice,.panel-note{padding:14px;color:var(--muted);background:var(--blue-soft-2)}.empty{display:grid;grid-gap:4px;gap:4px}.card p,.empty p,.panel-note p{margin:6px 0 0}.segmented{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.segmented button{border:1.5px solid rgba(13,110,253,.42);background:#fff;color:var(--blue-strong);border-radius:8px;padding:9px 4px;cursor:pointer;font-weight:700;box-shadow:0 4px 0 rgba(8,78,184,.1);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.segmented button:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(8,78,184,.12),0 14px 22px rgba(13,110,253,.12)}.segmented button.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-strong)}.feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:6px}.feature-strip span{border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center;font-size:13px;font-weight:700;background:var(--blue-soft);color:var(--blue-strong)}.role-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.role-picker button{min-height:88px;border:1px solid var(--line);border-radius:8px;padding:12px;background:white;color:var(--blue-strong);cursor:pointer;font-weight:800;text-align:left}.role-picker button.selected{border-color:var(--blue);background:var(--blue-soft)}.role-picker small{display:block;margin-top:6px;color:var(--muted);font-weight:700}.password-field{position:relative;display:block}.password-field .input{padding-right:86px}.password-field button{position:absolute;right:6px;top:6px;min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--blue-soft);color:var(--blue-strong);cursor:pointer;font-weight:700}.activity-chart{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;grid-gap:22px;gap:22px;overflow:hidden}.chart-donut{width:148px;place-items:center;box-shadow:inset 0 0 0 1px rgba(13,110,253,.18),0 16px 34px rgba(13,110,253,.18)}.chart-donut,.chart-donut>div{aspect-ratio:1;border-radius:50%;display:grid}.chart-donut>div{width:88px;place-items:center;align-content:center;background:white;border:1px solid var(--line);color:var(--blue-strong)}.chart-donut strong{font-size:28px;line-height:1}.chart-donut span{color:var(--muted);font-size:12px;font-weight:700}.chart-summary{display:grid;grid-gap:12px;gap:12px}.chart-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.chart-legend-item{display:grid;grid-template-columns:auto auto 1fr;align-items:center;grid-gap:8px;gap:8px;min-height:48px;border:1px solid rgba(13,110,253,.22);border-radius:8px;padding:10px;background:var(--blue-soft-2)}.chart-legend-item small{color:var(--muted);font-weight:700}.chart-dot{width:12px;height:12px;border-radius:50%;background:var(--blue)}.chart-dot.strong{background:var(--blue-strong)}.chart-dot.main{background:var(--blue)}.chart-dot.soft{background:#8bbcff}.activity-task{padding:0;overflow:hidden}.activity-task:before{display:none}.activity-task-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-left:4px solid var(--blue);background:white;color:var(--text);padding:18px;text-align:left;cursor:pointer}.activity-task-head:hover{background:var(--blue-soft-2)}.activity-task-head small{display:block;margin-top:5px;color:var(--muted);font-weight:700}.activity-chevron{color:var(--blue-strong);font-weight:800}.activity-task-body{display:grid;grid-gap:14px;gap:14px;padding:0 18px 18px 22px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--blue-soft-2),white)}.student-activity-evolution{display:grid;grid-gap:18px;gap:18px}.student-evolution-title h1{display:flex;align-items:center;gap:10px;color:#071832;font-size:clamp(30px,4vw,44px)}.student-evolution-title h1 span{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:#ede9fe;color:#7c3aed;font-size:14px;font-weight:950}.student-evolution-title p{margin:6px 0 0;color:#526174;font-size:17px}.student-evolution-home-card{display:grid;grid-gap:18px;gap:18px;border:1px solid #dfe7f1;border-radius:20px;padding:22px;background:rgba(255,255,255,.96);box-shadow:0 18px 46px rgba(16,40,82,.08)}.student-evolution-home-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.student-evolution-home-head span{color:#7c3aed;font-weight:950}.student-evolution-home-head h2{margin:4px 0;color:#071832;font-size:clamp(24px,3vw,34px)}.student-evolution-home-head p{margin:0;color:#526174}.student-evolution-home-head>strong{color:#16a34a;font-size:42px;line-height:1}.student-evolution-home-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.student-evolution-home-metrics article{border:1px solid #e4ebf5;border-radius:14px;padding:14px;background:#fbfdff}.student-evolution-home-metrics small{display:block;color:#526174;font-weight:850}.student-evolution-home-metrics b{display:block;margin-top:4px;color:#0b64e9;font-size:24px}.student-evolution-chart-wrap{min-height:230px;border:1px solid #e4ebf5;border-radius:16px;padding:18px 18px 12px;background:linear-gradient(180deg,#fff,#f8fbff)}.student-evolution-chart-wrap svg{width:100%;height:220px;overflow:visible}.student-evolution-chart-wrap .evolution-grid{fill:none;stroke:#dfe7f1;stroke-width:.5;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.student-evolution-chart-wrap .evolution-area{fill:rgba(59,130,246,.11)}.student-evolution-chart-wrap .evolution-line{fill:none;stroke:#3b82f6;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8;vector-effect:non-scaling-stroke}.student-evolution-chart-wrap circle{fill:#3b82f6;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.student-evolution-chart-wrap text{fill:#102a56;font-size:3.4px;font-weight:950;text-anchor:middle;dominant-baseline:middle}.student-evolution-chart-wrap .lesson-label{fill:#64748b;font-size:3.1px;font-weight:800}.student-evolution-chart-wrap .score-label{fill:#1d4ed8}.student-evolution-empty{min-height:220px;display:grid;place-items:center;color:#526174;text-align:center;font-weight:850}.student-evolution-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));grid-gap:8px;gap:8px}.student-evolution-labels span{padding:10px;border-radius:12px;background:#f2f6ff;color:#071832;font-weight:900}.student-evolution-labels small{display:block;margin-top:3px;color:#526174;font-size:12px;font-weight:700}.student-evolution-ai-box{border-radius:16px;padding:16px;background:linear-gradient(135deg,#f5f0ff,#ffffff);color:#203454}.student-evolution-ai-box strong{color:#7c3aed}.student-evolution-ai-box p{margin:8px 0 0;line-height:1.55}.student-evolution-kpis{display:grid;grid-template-columns:minmax(280px,1.6fr) repeat(4,minmax(170px,1fr));grid-gap:14px;gap:14px}.student-activities-workspace,.student-ai-analysis,.student-evolution-kpis article,.student-evolution-main-chart{border:1px solid #dfe7f1;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 18px 46px rgba(16,40,82,.07)}.student-evolution-kpis article{display:grid;align-content:center;grid-gap:8px;gap:8px;min-height:136px;padding:18px 20px}.student-evolution-kpis article small{color:#071832;font-weight:900}.student-evolution-kpis article>strong{color:#0b64e9;font-size:36px;line-height:1}.student-evolution-kpis article p{margin:0;color:#526174;line-height:1.45}.student-profile-kpi{grid-template-columns:78px minmax(0,1fr);align-items:center}.student-profile-kpi span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff;font-size:25px;font-weight:950}.student-profile-kpi div strong{color:#071832;font-size:22px}.student-evolution-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);grid-gap:16px;gap:16px}.student-evolution-main-chart{display:grid;grid-gap:16px;gap:16px;min-height:390px;padding:22px}.chart-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chart-panel-head h2,.student-activities-title h2,.student-ai-analysis h2{margin:0;color:#071832}.chart-panel-head p,.student-activities-title p{margin:6px 0 0;color:#526174}.chart-panel-head select{min-height:42px;border:1px solid #d7e1ee;border-radius:10px;background:#fff;color:#071832;padding:0 12px;font-weight:800}.student-evolution-main-chart svg{width:100%;min-height:290px;overflow:visible}.student-evolution-main-chart .chart-grid{fill:none;stroke:#dfe7f1;stroke-width:.35;stroke-dasharray:1.5 1.5;vector-effect:non-scaling-stroke}.student-evolution-main-chart .chart-area{fill:rgba(124,58,237,.12)}.student-evolution-main-chart .chart-line{fill:none;stroke:#7c3aed;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.student-evolution-main-chart circle{fill:#7c3aed;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.student-evolution-main-chart text{fill:#3b2392;font-size:4px;font-weight:900;text-anchor:middle}.student-evolution-main-chart .chart-label{fill:#526174;font-size:3.6px}.student-ai-analysis{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:22px}.student-ai-analysis div{border-radius:14px;background:linear-gradient(135deg,#f4efff,#fff);padding:18px}.student-ai-analysis p{margin:0 0 14px;color:#203454;line-height:1.5}.student-ai-analysis ul{display:grid;grid-gap:8px;gap:8px;margin:10px 0 0;padding-left:18px;color:#526174}.student-activities-workspace{display:grid;grid-gap:12px;gap:12px;padding:18px}.student-activities-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}.student-activities-title>span{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:0 12px;background:#eaf3ff;color:#0b64e9;font-weight:900}.student-activity-expand{border-radius:14px;box-shadow:none}.student-activity-expand:before{background:#7c3aed}.student-activity-expand .activity-task-head{border-left-color:#7c3aed;border-radius:14px}.student-activity-expand.expanded{border-color:rgba(124,58,237,.32);box-shadow:0 16px 34px rgba(124,58,237,.08)}.student-activity-expand .activity-task-body{background:linear-gradient(180deg,#faf7ff,#fff)}@media (max-width:1180px){.student-evolution-kpis,.student-evolution-layout{grid-template-columns:1fr}.student-profile-kpi{grid-template-columns:72px minmax(0,1fr)}}@media (max-width:720px){.student-evolution-kpis{gap:10px}.chart-panel-head,.student-activities-title{align-items:stretch;flex-direction:column}.student-evolution-main-chart{min-height:320px;padding:16px}.student-evolution-main-chart svg{min-height:220px}}.finance-chart{display:grid;justify-items:center;grid-gap:20px;gap:20px;min-height:360px}.finance-ring{width:min(280px,100%);place-items:center;box-shadow:inset 0 0 0 1px rgba(13,110,253,.18),0 20px 42px rgba(13,110,253,.2)}.finance-ring,.finance-ring>div{aspect-ratio:1;border-radius:50%;display:grid}.finance-ring>div{width:62%;place-items:center;align-content:center;background:white;border:1px solid var(--line);padding:18px;text-align:center}.finance-ring strong{color:var(--blue-strong);font-size:24px}.finance-ring span{color:var(--muted);font-weight:800}.bar-list,.finance-row{display:grid;grid-gap:10px;gap:10px}.app-subscription-card{position:relative;overflow:hidden;border-color:rgba(250,204,21,.24);box-shadow:0 24px 60px rgba(2,6,23,.36),inset 0 1px 0 rgba(255,255,255,.12)}.app-subscription-card:before{content:"";position:absolute;inset:auto -15% -55% 45%;height:220px;background:radial-gradient(circle,rgba(250,204,21,.26),transparent 68%);pointer-events:none}.app-subscription-card>*{position:relative;z-index:1}.bar-track{height:12px;overflow:hidden;border-radius:999px;background:var(--blue-soft);border:1px solid var(--line)}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-strong))}.news-search{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);grid-gap:18px;gap:18px;align-items:end}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.news-card{display:grid;grid-gap:8px;gap:8px;min-height:150px;color:var(--text);transition:transform .16s ease,box-shadow .16s ease}.news-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(13,110,253,.16)}.news-card h2{font-size:18px;line-height:1.3}.auth-links{justify-content:center;font-size:13px}.forgot-link{display:inline-flex;justify-content:center;width:-moz-fit-content;width:fit-content;margin:-4px auto 0;font-weight:900}.auth-links a,.file-link,.forgot-link{color:var(--blue-strong);text-decoration:underline}.auth-links a,.file-link{font-weight:800;text-underline-offset:3px}.clean-list{display:grid;grid-gap:8px;gap:8px;margin:8px 0 0;padding-left:22px}h1,h2{margin:0}.marketing-page{min-height:100vh;display:grid;grid-gap:clamp(26px,5vw,54px);gap:clamp(26px,5vw,54px);padding:clamp(24px,5vw,64px);background:linear-gradient(135deg,rgba(24,45,102,.96),rgba(15,118,110,.9)),linear-gradient(180deg,#ffffff,#f6f8fb);color:white}.marketing-hero{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);align-items:center;grid-gap:clamp(28px,5vw,72px);gap:clamp(28px,5vw,72px)}.hero-copy{display:grid;grid-gap:18px;gap:18px}.hero-copy .eyebrow{color:rgba(255,255,255,.78)}.hero-copy h1{font-size:clamp(48px,8vw,86px);line-height:.95}.hero-copy p{max-width:620px;margin:0;color:rgba(255,255,255,.82);font-size:clamp(17px,2vw,21px);line-height:1.55}.hero-actions{margin-top:8px}.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.trust-strip span{min-height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.9);font-weight:800;text-align:center}.product-preview{border:1px solid rgba(255,255,255,.24);border-radius:24px;padding:18px;background:rgba(255,255,255,.16);box-shadow:0 30px 90px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.preview-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.92);color:var(--text)}.preview-topbar span{width:12px;height:12px;border-radius:50%;background:var(--teal)}.preview-topbar small{color:var(--teal);font-weight:800}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:14px}.preview-card,.preview-stat{min-height:116px;border:1px solid rgba(220,229,239,.88);border-radius:18px;padding:16px;background:rgba(255,255,255,.94);color:var(--text);box-shadow:0 18px 45px rgba(23,32,51,.13)}.preview-stat{display:grid;align-content:end}.preview-card p,.preview-stat small{color:var(--muted);font-weight:800}.preview-stat strong{color:var(--blue-strong);font-size:32px}.preview-card.wide{grid-column:span 2;display:grid;align-content:center;grid-gap:12px;gap:12px}.mini-bar{height:12px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--blue))}.mini-bar.one{width:86%}.mini-bar.two{width:62%;background:linear-gradient(90deg,var(--gold),var(--blue))}.mini-bar.three{width:74%;background:linear-gradient(90deg,var(--coral),var(--teal))}.mini-dot{width:34px;height:34px;display:block;border-radius:12px;background:var(--teal-soft);border:8px solid var(--teal)}.mini-dot.gold{background:var(--gold-soft);border-color:var(--gold)}.marketing-section{width:min(1180px,100%);margin:0 auto}.section-heading{display:grid;grid-gap:8px;gap:8px;max-width:720px;margin-bottom:18px}.section-heading h2{color:#ffffff;font-size:clamp(28px,4vw,46px);line-height:1.08}.marketing-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.how-it-works,.marketing-card,.pricing-panel{border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:clamp(18px,3vw,28px);background:rgba(255,255,255,.12);box-shadow:0 22px 70px rgba(0,0,0,.18);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.marketing-card{display:grid;align-content:start;grid-gap:10px;gap:10px;min-height:170px}.how-it-works li,.marketing-card strong{color:#ffffff;font-weight:900}.marketing-card p,.pricing-panel p{margin:0;color:rgba(255,255,255,.76);line-height:1.55}.marketing-split{grid-template-columns:.85fr 1.15fr;align-items:stretch}.marketing-split,.pricing-panel{display:grid;grid-gap:14px;gap:14px}.pricing-panel{align-content:center}.pricing-panel h2{color:#ffffff;font-size:clamp(42px,7vw,72px);line-height:.95}.how-it-works{display:grid;grid-gap:16px;gap:16px}.how-it-works ol{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none;counter-reset:home-step}.how-it-works li{counter-increment:home-step;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px}.how-it-works li:before{content:counter(home-step);display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#061216;background:linear-gradient(145deg,var(--gold),#ffffff)}.page{background:linear-gradient(180deg,rgba(233,238,252,.85) 0,rgba(246,248,251,.96) 260px),var(--bg)}.auth-shell{background:linear-gradient(135deg,rgba(24,45,102,.94),rgba(15,118,110,.88)),var(--bg)}.auth-card{border:1px solid rgba(255,255,255,.34);border-radius:20px;box-shadow:var(--shadow-strong)}.auth-card .label{text-align:left}.student-portal .sidebar,.teacher-portal .sidebar{background:linear-gradient(180deg,#172033,#182d66 62%,#0f766e);box-shadow:12px 0 35px rgba(23,32,51,.12)}.brand-mark{border-radius:14px;background:linear-gradient(135deg,white,var(--gold-soft));color:var(--blue-strong);box-shadow:0 10px 24px rgba(0,0,0,.14)}.sidebar .logout,.sidebar-nav a{border-radius:12px;background:rgba(255,255,255,.09)}.sidebar .logout:hover,.sidebar-nav a:hover{background:rgba(255,255,255,.96);color:var(--blue-strong);transform:translateX(3px)}.card,.empty,.metric,.notice,.panel-note{border-color:rgba(220,229,239,.95);border-radius:16px;box-shadow:var(--shadow)}.card{padding:20px}.card:before{width:5px;border-radius:16px 0 0 16px;background:linear-gradient(180deg,var(--teal),var(--blue),var(--gold))}.metric{border-top:0;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--teal),var(--blue),var(--gold))}.metric h2{color:var(--blue-strong);font-size:clamp(28px,4vw,40px)}.btn{border-radius:12px;border-color:rgba(49,87,200,.28);box-shadow:0 5px 0 rgba(24,45,102,.13),0 15px 28px rgba(23,32,51,.1)}.btn.accent,.btn.danger,.btn.primary,.btn.student{background:linear-gradient(135deg,var(--blue),var(--teal));border-color:transparent}.btn.accent{background:linear-gradient(135deg,var(--gold),var(--coral))}.btn.ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26);color:white}.btn.danger:hover,.btn.primary:hover,.btn.student:hover{background:linear-gradient(135deg,var(--blue-strong),var(--teal))}.btn.accent:hover{background:linear-gradient(135deg,#a46f1d,var(--coral))}.input{border-color:rgba(49,87,200,.26);border-radius:12px;background:rgba(255,255,255,.96)}.badge{background:var(--teal-soft);color:var(--teal)}.empty,.notice,.panel-note{background:linear-gradient(135deg,rgba(233,238,252,.72),rgba(229,244,241,.8))}.chart-donut,.finance-ring{box-shadow:inset 0 0 0 1px rgba(49,87,200,.18),0 20px 46px rgba(15,118,110,.16)}.bar-track span,.mini-bar{background:linear-gradient(90deg,var(--teal),var(--blue),var(--gold))}.activity-task.expanded,.news-card:hover{box-shadow:var(--shadow-strong)}.panel-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);align-items:end;grid-gap:18px;gap:18px;padding:4px 2px 10px}.panel-header h1{margin-top:4px;color:var(--blue-strong);font-size:clamp(30px,4vw,44px);line-height:1}.panel-header p{margin:0;color:var(--muted);font-weight:750;line-height:1.45}.shell .card{border:1px solid rgba(220,229,239,.88)}.shell form.card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,249,254,.94))}.shell .card h2,.shell form.card h2{color:var(--blue-strong)}.activity-task,.finance-row,.news-card,.shell .list-item{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.activity-task:hover,.news-card:hover,.shell .list-item:hover{border-color:rgba(49,87,200,.3);transform:translateY(-2px)}.activity-task-head strong,.finance-row strong,.shell .list-item strong{color:var(--blue-strong);font-size:16px}.finance-row small,.shell small{color:var(--muted);font-weight:750}.label{color:#53647c}.panel-note{border:1px solid rgba(49,87,200,.12);border-radius:14px}.clean-list li{padding:6px 0}.news-search{align-items:center}.news-card{min-height:132px}.message-bubble{grid-gap:6px;gap:6px}@media (max-width:900px){.marketing-page{align-items:flex-start;padding:20px}.marketing-hero,.panel-header,.preview-grid,.trust-strip{grid-template-columns:1fr}.preview-card.wide{grid-column:auto}.student-portal,.teacher-portal{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-grid,.grid-2,.grid-3,.role-picker{grid-template-columns:1fr}.shell{padding:16px}.list-item{align-items:flex-start;flex-direction:column}.segmented{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-chart,.chart-legend,.feature-strip,.news-grid,.news-search{grid-template-columns:1fr}.chart-donut{margin:0 auto}}:root{--bg:#0e1f25;--panel:rgba(255,255,255,0.13);--panel-soft:rgba(255,255,255,0.10);--text:#f5fbfd;--muted:rgba(229,241,244,0.70);--line:rgba(255,255,255,0.18);--blue:#36c7f4;--blue-strong:#f5fbfd;--blue-soft:rgba(54,199,244,0.14);--blue-soft-2:rgba(255,255,255,0.08);--teal:#38d67a;--teal-soft:rgba(56,214,122,0.16);--gold:#e5ce00;--gold-soft:rgba(229,206,0,0.16);--coral:#94a800;--shadow:0 22px 60px rgba(0,0,0,0.26);--shadow-strong:0 34px 90px rgba(0,0,0,0.34)}body{background:linear-gradient(140deg,#071318,#16323a 44%,#0f2127)}body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.2));background-size:72px 72px,72px 72px,auto;pointer-events:none}.auth-shell,.marketing-page,.page{background:linear-gradient(140deg,rgba(6,18,22,.96),rgba(25,57,65,.92) 52%,rgba(11,24,29,.98)),var(--bg)}.marketing-hero{grid-template-columns:minmax(320px,.86fr) minmax(380px,1.14fr)}.auth-card,.card,.empty,.metric,.notice,.panel-note,.preview-card,.preview-stat,.product-preview,.sidebar{border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.card,.empty,.metric,.notice,.panel-note{border-radius:18px}.card:before,.metric:before{background:linear-gradient(180deg,rgba(54,199,244,.96),rgba(229,206,0,.92),rgba(56,214,122,.9))}.student-portal,.teacher-portal{grid-template-columns:286px minmax(0,1fr)}.sidebar,.student-portal .sidebar,.teacher-portal .sidebar{top:22px;height:calc(100vh - 44px);margin:22px 0 22px 22px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.07))}.brand{border-bottom-color:rgba(255,255,255,.15)}.brand-mark{background:rgba(255,255,255,.16);color:white;border:1px solid rgba(255,255,255,.2);box-shadow:none}.brand span,.hero-copy p,.preview-card p,.preview-stat small,.trust-strip span{color:rgba(245,251,253,.72)}.sidebar .logout,.sidebar .share-app,.sidebar-code,.sidebar-nav a{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:rgba(255,255,255,.86);box-shadow:none}.sidebar .logout:hover,.sidebar .share-app:hover,.sidebar-nav a:hover{background:rgba(255,255,255,.18);color:white}.shell{max-width:1240px;padding:34px}.panel-header{padding:2px 2px 14px}.activity-task-head strong,.auth-heading h1,.finance-row strong,.hero-copy h1,.home-card h1,.metric h2,.panel-header h1,.preview-stat strong,.shell .card h2,.shell .list-item strong,.shell form.card h2{color:#f9feff}.eyebrow{color:rgba(229,206,0,.92)}.auth-heading p,.chart-donut span,.chart-legend-item small,.finance-ring span,.finance-row small,.label,.muted,.panel-header p,.shell small{color:rgba(229,241,244,.68)}.input,.password-field button,.segmented button{border-color:rgba(255,255,255,.16);background:rgba(4,13,16,.28);color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.input::placeholder{color:rgba(229,241,244,.48)}.input:focus{border-color:rgba(54,199,244,.78);outline-color:rgba(54,199,244,.18);box-shadow:0 0 0 4px rgba(54,199,244,.08),inset 0 1px 0 rgba(255,255,255,.1)}select.input option{background:#10242b;color:white}.btn{border-radius:999px;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.1);color:white;box-shadow:0 6px 0 rgba(0,0,0,.18),0 16px 28px rgba(0,0,0,.18)}.btn:hover{background:rgba(255,255,255,.16);box-shadow:0 9px 0 rgba(0,0,0,.18),0 24px 42px rgba(0,0,0,.22)}.btn.danger,.btn.primary,.btn.student{background:linear-gradient(135deg,#36c7f4,#38d67a);color:#071318}.btn.accent{background:linear-gradient(135deg,#e5ce00,#94a800);color:#071318}.btn.ghost{background:rgba(255,255,255,.1)}.badge,.chart-legend-item,.feature-strip span,.trust-strip span{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.1);color:rgba(245,251,253,.88)}.activity-task{background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07))}.activity-task-head{border-left-color:rgba(54,199,244,.82);background:transparent;color:white}.activity-task-body,.activity-task-head:hover{background:rgba(255,255,255,.06)}.activity-chevron,.auth-links a,.error,.file-link,.success{color:#36c7f4}.chart-donut>div,.finance-ring>div{background:rgba(6,18,22,.62);border-color:rgba(255,255,255,.12)}.bar-track{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}.chart-dot.strong{background:#36c7f4}.chart-dot.main{background:#e5ce00}.chart-dot.soft{background:#38d67a}.chart-donut,.finance-ring{box-shadow:inset 0 0 0 1px rgba(255,255,255,.11),0 22px 54px rgba(0,0,0,.24)}.activity-task.expanded,.news-card:hover,.shell .list-item:hover{box-shadow:var(--shadow-strong)}.preview-card,.preview-stat,.preview-topbar{color:white}.preview-topbar{background:rgba(255,255,255,.14)}.preview-topbar small{color:#38d67a}@media (max-width:900px){.student-portal,.teacher-portal{grid-template-columns:1fr}.sidebar,.student-portal .sidebar,.teacher-portal .sidebar{height:auto;margin:14px;top:0}}.teacher-portal{grid-template-columns:104px minmax(0,1fr)}.teacher-icon-sidebar{width:78px;align-items:center;padding:14px 10px;overflow:visible;z-index:30;gap:12px}.teacher-icon-sidebar .compact-brand{justify-content:center;padding:4px 0 10px}.teacher-icon-sidebar .compact-brand>div:not(.brand-mark){display:none}.teacher-icon-sidebar .brand-mark{width:44px;height:44px}.compact-code{max-width:58px;overflow:hidden;padding:8px 6px;text-align:center;font-size:10px}.icon-nav{width:100%;justify-items:center;overflow:visible;align-content:start}.icon-nav a,.teacher-icon-sidebar .logout,.teacher-icon-sidebar .share-app{position:relative;width:48px;min-height:48px;justify-content:center;padding:0;border-radius:50%}.icon-nav a span,.teacher-icon-sidebar .logout span,.teacher-icon-sidebar .share-app span{font-size:0}.icon-nav a:hover:after{content:attr(title);position:absolute;left:58px;top:50%;transform:translateY(-50%);z-index:1000;padding:8px 10px;border-radius:999px;background:rgba(8,20,24,.96);color:white;white-space:nowrap;font-size:12px;font-weight:800;box-shadow:0 16px 42px rgba(0,0,0,.36);pointer-events:none}.teacher-icon-sidebar .sidebar-action-button{display:grid;place-items:center;padding:0;border-radius:50%}.teacher-icon-sidebar .sidebar-action-button:hover:after{content:attr(title);position:absolute;left:58px;top:50%;transform:translateY(-50%);z-index:1000;padding:8px 10px;border-radius:999px;background:rgba(8,20,24,.96);color:white;white-space:nowrap;font-size:12px;font-weight:800;box-shadow:0 16px 42px rgba(0,0,0,.36);pointer-events:none}.teacher-glass-dashboard{width:min(1120px,100%);min-height:720px;margin:16px auto;padding:clamp(18px,3vw,28px);border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.075));box-shadow:0 34px 100px rgba(0,0,0,.34);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.dashboard-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.dashboard-topline h1{color:white;font-size:clamp(30px,4vw,42px)}.dashboard-topline p{margin:6px 0 0;color:rgba(229,241,244,.68);font-weight:700}.dashboard-actions{display:flex;align-items:center;gap:12px}.glass-icon-button,.teacher-avatar{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.12);color:white;box-shadow:var(--shadow)}.teacher-avatar{background:linear-gradient(145deg,rgba(229,206,0,.82),rgba(54,199,244,.68));color:#061216;font-weight:900}.teacher-dashboard-grid{display:grid;grid-template-columns:1.12fr .9fr 1.05fr;grid-auto-rows:minmax(142px,auto);grid-gap:14px;gap:14px}.glass-panel{border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.065));box-shadow:0 16px 44px rgba(0,0,0,.18);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.glass-panel:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.24);box-shadow:0 26px 70px rgba(0,0,0,.24)}.glass-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.glass-card-head strong{color:white;font-size:16px}.glass-card-head span{color:rgba(229,241,244,.55);font-size:12px;font-weight:800}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));box-shadow:0 18px 54px rgba(0,0,0,.18);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.panel-toolbar h2{margin:4px 0 0;color:white;font-size:clamp(22px,3vw,34px);line-height:1.05}.collapsible-form{animation:formReveal .18s ease both}@keyframes formReveal{0%{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.activity-week-card{min-height:210px}.week-bars{height:154px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;grid-gap:9px;gap:9px}.week-bar{height:100%;display:grid;grid-template-rows:1fr auto;grid-gap:8px;gap:8px;justify-items:center}.week-bar span{width:100%;min-height:22px;align-self:end;display:flex;justify-content:center;align-items:flex-start;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));overflow:hidden}.week-bar:nth-child(3n) span{background:linear-gradient(180deg,rgba(229,206,0,.78),rgba(255,255,255,.1))}.week-bar:nth-child(3n+1) span{background:linear-gradient(180deg,rgba(54,199,244,.66),rgba(255,255,255,.08))}.week-bar em{margin-top:18px;color:rgba(255,255,255,.76);font-size:10px;font-style:normal;font-weight:800}.week-bar small{color:rgba(229,241,244,.58);font-weight:800}.quick-metrics{display:grid;grid-gap:12px;gap:12px}.metric-pill{min-height:62px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 16px}.metric-pill span{color:rgba(229,241,244,.72);font-weight:750}.metric-pill strong{color:white;font-size:24px}.overview-card{grid-row:span 2}.overview-body{display:grid;grid-template-columns:150px 1fr;align-items:center;grid-gap:18px;gap:18px}.overview-ring{width:150px;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11),0 18px 46px rgba(0,0,0,.25)}.overview-ring,.overview-ring>div{aspect-ratio:1;display:grid;border-radius:50%}.overview-ring>div{width:92px;place-items:center;align-content:center;background:rgba(6,18,22,.66)}.overview-ring strong{color:white;font-size:24px}.overview-ring small{color:rgba(229,241,244,.6);font-weight:800}.overview-list{display:grid;grid-gap:14px;gap:14px}.overview-list span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:8px;gap:8px;color:rgba(229,241,244,.7);font-weight:750}.overview-list strong{color:white}.dot{width:8px;height:8px;border-radius:50%}.gold-dot{background:#e5ce00}.blue-dot{background:#36c7f4}.green-dot{background:#38d67a}.pending-card{grid-column:span 2}.dashboard-todo{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}.dashboard-todo:first-of-type{border-top:0}.todo-ring{width:24px;height:24px;border-radius:50%;border:3px solid rgba(54,199,244,.75);border-right-color:rgba(255,255,255,.18)}.dashboard-todo strong{display:block;color:white}.dashboard-todo small{color:rgba(229,241,244,.58);font-weight:750}.dashboard-todo em{min-width:104px;padding:7px 10px;border-radius:999px;background:rgba(229,206,0,.18);color:#e5ce00;font-size:12px;font-style:normal;font-weight:900;text-align:center}.dashboard-todo:nth-of-type(3) em{background:rgba(56,214,122,.18);color:#38d67a}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.week-calendar div{min-height:66px;display:grid;place-items:center;align-content:center;border-radius:16px;background:rgba(255,255,255,.08)}.week-calendar div.active{background:rgba(255,255,255,.16);border:1px solid rgba(229,206,0,.44)}.week-calendar small{color:rgba(229,241,244,.58);font-weight:800}.week-calendar strong{color:white}.result-card{min-height:182px}.result-highlight{display:grid;grid-gap:4px;gap:4px}.result-highlight strong{color:white;font-size:42px;line-height:1}.result-highlight span{color:rgba(229,241,244,.64);font-weight:750}.result-highlight em{width:-moz-fit-content;width:fit-content;margin-top:10px;padding:9px 13px;border-radius:999px;background:rgba(56,214,122,.18);color:#38d67a;font-style:normal;font-weight:900}@media (max-width:1100px){.teacher-dashboard-grid{grid-template-columns:1fr 1fr}.overview-card,.pending-card{grid-column:auto;grid-row:auto}}@media (max-width:760px){.overview-body,.teacher-dashboard-grid{grid-template-columns:1fr}.teacher-glass-dashboard{min-height:0;margin:0}.overview-ring{margin:0 auto}.week-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}.student-portal,.teacher-portal{grid-template-columns:104px minmax(0,1fr);background:radial-gradient(circle at 18% 20%,rgba(54,199,244,.22),transparent 32%),radial-gradient(circle at 78% 10%,rgba(229,206,0,.13),transparent 24%),linear-gradient(135deg,#051115,#0a1b24 44%,#071016);color:rgba(255,255,255,.88);overflow-x:hidden}.student-portal:before,.teacher-portal:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.52),transparent 72%);mask-image:linear-gradient(180deg,rgba(0,0,0,.52),transparent 72%)}.app-glass-shell{width:min(1240px,calc(100vw - 128px));min-height:calc(100vh - 32px);margin:16px 18px 16px 0;padding:clamp(18px,2.4vw,30px);border:1px solid rgba(255,255,255,.18);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.065));box-shadow:0 36px 120px rgba(0,0,0,.38);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.app-top-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.app-top-header h1{margin:4px 0 0;color:white;font-size:clamp(30px,4vw,46px);letter-spacing:0}.app-header-actions{display:flex;align-items:center;gap:12px}.app-content{display:grid;grid-gap:18px;gap:18px}.app-content>.stack,.app-content>.teacher-glass-dashboard{width:100%}.app-content>.teacher-glass-dashboard{margin:0;min-height:0;box-shadow:none;background:transparent;border:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.student-portal .sidebar,.teacher-portal .sidebar{margin:18px 0 18px 18px;height:auto;min-height:calc(100vh - 36px);align-self:start;border:1px solid rgba(255,255,255,.17);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));box-shadow:0 28px 90px rgba(0,0,0,.34);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.student-portal .brand,.teacher-portal .brand{border-bottom-color:rgba(255,255,255,.12)}.student-portal .brand-mark,.teacher-portal .brand-mark{background:linear-gradient(145deg,#e5ce00,#36c7f4);color:#061216}.student-portal .icon-nav a,.student-portal .sidebar .logout,.student-portal .sidebar .share-app,.teacher-portal .icon-nav a,.teacher-portal .sidebar .logout,.teacher-portal .sidebar .share-app{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.btn:hover,.student-portal .icon-nav a:hover,.student-portal .sidebar .logout:hover,.student-portal .sidebar .share-app:hover,.teacher-portal .icon-nav a:hover,.teacher-portal .sidebar .logout:hover,.teacher-portal .sidebar .share-app:hover{transform:translateY(-2px) perspective(600px) rotateX(3deg);background:rgba(255,255,255,.18);color:white;box-shadow:0 16px 36px rgba(0,0,0,.24)}.glass-card,.student-portal .card,.student-portal .empty,.student-portal .metric,.student-portal .notice,.student-portal .panel-note,.teacher-portal .card,.teacher-portal .empty,.teacher-portal .metric,.teacher-portal .notice,.teacher-portal .panel-note{border:1px solid rgba(255,255,255,.16);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.135),rgba(255,255,255,.055));color:rgba(255,255,255,.88);box-shadow:0 18px 54px rgba(0,0,0,.22);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.glass-card:hover,.student-portal .card:hover,.student-portal .metric:hover,.teacher-portal .card:hover,.teacher-portal .metric:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.24);box-shadow:0 28px 76px rgba(0,0,0,.28)}.student-portal h1,.student-portal h2,.student-portal h3,.student-portal strong,.teacher-portal h1,.teacher-portal h2,.teacher-portal h3,.teacher-portal strong{color:white}.student-portal .muted,.student-portal p,.student-portal small,.teacher-portal .muted,.teacher-portal p,.teacher-portal small{color:rgba(229,241,244,.68)}.student-portal .input,.teacher-portal .input{border:1px solid rgba(54,199,244,.42);border-radius:16px;background:rgba(3,15,20,.34);color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.student-portal .input::placeholder,.teacher-portal .input::placeholder{color:rgba(229,241,244,.48)}.student-portal .btn,.teacher-portal .btn{border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.1);color:white;box-shadow:0 12px 34px rgba(0,0,0,.2);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.student-portal .btn.primary,.student-portal .btn.student,.teacher-portal .btn.primary{background:linear-gradient(135deg,#0a77d8,#36c7f4);color:white}.student-portal .btn.danger,.teacher-portal .btn.danger{background:rgba(255,94,94,.18);color:#ffd1d1}.status-default,.status-success,.status-warning,.student-portal .badge,.teacher-portal .badge{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.1);color:white;font-weight:900}.status-warning{background:rgba(229,206,0,.18);color:#f4df45}.status-success{background:rgba(56,214,122,.18);color:#70e899}.section-intro{display:grid;grid-gap:6px;gap:6px}.section-intro h2{margin:0;font-size:clamp(24px,3vw,34px)}.section-intro p{max-width:720px;margin:0;font-weight:700}.portal-tab{animation:fadeInUp .28s ease both}.portal-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.portal-summary-card{display:grid;grid-gap:14px;gap:14px;min-height:170px}.access-code-card h2{font-size:clamp(24px,4vw,38px);letter-spacing:0;word-break:break-word}.metric-card{min-height:138px;display:grid;align-content:center;grid-gap:8px;gap:8px}.metric-card h2{margin:0;font-size:clamp(30px,4vw,44px)}.metric-card small{font-weight:800}.mini-list{display:grid;grid-gap:10px;gap:10px}.mini-list span{display:grid;grid-gap:3px;gap:3px;padding:11px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.07)}.data-table-card{overflow:hidden;padding:10px}.data-table{display:grid;grid-gap:8px;gap:8px}.data-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:14px;gap:14px;padding:14px;border-radius:16px;background:rgba(255,255,255,.075)}.data-row>span:first-child{display:grid;grid-gap:3px;gap:3px}.timeline-card{display:grid;grid-gap:10px;gap:10px}.timeline-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.075)}.timeline-row>span:first-child{width:12px;height:12px;border-radius:50%;background:#e5ce00;box-shadow:0 0 0 7px rgba(229,206,0,.12)}.timeline-row div{display:grid;grid-gap:3px;gap:3px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.student-portal,.teacher-portal{grid-template-columns:1fr}.student-portal .sidebar,.teacher-portal .sidebar{position:-webkit-sticky;position:sticky;top:10px;width:auto;height:auto;min-height:auto;margin:10px;padding:10px}.student-portal .icon-nav,.teacher-portal .icon-nav{grid-auto-flow:column;grid-auto-columns:48px;overflow-x:auto;justify-content:start;padding-bottom:2px}.teacher-icon-sidebar .logout{margin-top:0}.teacher-icon-sidebar .sidebar-actions{margin-top:0;display:flex;gap:8px}.app-glass-shell{width:calc(100vw - 20px);min-height:auto;margin:0 10px 10px;border-radius:24px}.app-top-header{align-items:flex-start}}@media (max-width:680px){.panel-toolbar{align-items:stretch;flex-direction:column}.panel-toolbar .btn{width:100%}.compact-grid,.data-row,.grid-2,.grid-3,.timeline-row{grid-template-columns:1fr}.app-top-header{flex-direction:column}.app-header-actions{align-self:stretch;justify-content:flex-end}}.global-background{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#020617}.global-background-image{position:absolute;inset:0;background-image:url(/backgrounds/premium-office-dashboard.png);background-size:cover;background-position:50%;background-repeat:no-repeat;background-attachment:fixed;transform:scale(1.02);filter:saturate(1.08) contrast(1.06)}.global-background-overlay{position:absolute;inset:0;background:linear-gradient(rgba(2,6,23,.82),rgba(2,6,23,.88)),radial-gradient(circle at 50% 18%,rgba(255,255,255,.08),transparent 36%)}.global-background-light{position:absolute;width:38vw;height:38vw;min-width:360px;min-height:360px;border-radius:50%;opacity:.38;filter:blur(180px);transform:translateZ(0)}.light-blue{left:-8vw;top:7vh;background:#2563eb}.light-cyan{right:6vw;top:12vh;background:#06b6d4}.light-violet{left:36vw;bottom:-18vh;background:#7c3aed}.student-portal,.teacher-portal{background:#020617}.student-portal>:not(.global-background),.teacher-portal>:not(.global-background){position:relative;z-index:2}.student-portal:before,.teacher-portal:before{z-index:1;opacity:.52}.app-glass-shell{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 32px rgba(0,0,0,.25),0 40px 120px rgba(0,0,0,.34);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.glass-card,.glass-panel,.student-portal .card,.student-portal .empty,.student-portal .metric,.student-portal .notice,.student-portal .panel-note,.student-portal .sidebar,.teacher-portal .card,.teacher-portal .empty,.teacher-portal .metric,.teacher-portal .notice,.teacher-portal .panel-note,.teacher-portal .sidebar{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 32px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.glass-card,.glass-panel,.student-portal .card,.student-portal .metric,.teacher-portal .card,.teacher-portal .metric{background-image:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045))}.activity-task-head,.dashboard-todo,.data-row,.mini-list span,.student-portal .input,.teacher-portal .input,.timeline-row,.week-calendar div{background:rgba(2,6,23,.28);border-color:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}@media (max-width:760px){.global-background-image{background-attachment:scroll}.global-background-light{opacity:.28;filter:blur(130px)}}.student-portal .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar{z-index:50;overflow:visible}.student-portal .app-glass-shell,.teacher-portal .app-glass-shell{z-index:3}@media (max-width:900px){.icon-nav a:hover:after,.teacher-icon-sidebar .sidebar-action-button:hover:after{display:none}.student-portal .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar{width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:auto;min-height:86px;flex-direction:row;align-items:center;gap:10px;overflow:hidden}.student-portal .teacher-icon-sidebar .compact-brand,.teacher-portal .teacher-icon-sidebar .compact-brand{flex:0 0 auto;padding:0}.student-portal .compact-code,.teacher-portal .compact-code{display:none}.student-portal .icon-nav,.teacher-portal .icon-nav{flex:1 1 auto;width:auto;min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:48px;grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:start;padding:2px 4px 4px}.student-portal .teacher-icon-sidebar .logout,.student-portal .teacher-icon-sidebar .share-app,.teacher-portal .teacher-icon-sidebar .logout,.teacher-portal .teacher-icon-sidebar .share-app{flex:0 0 48px}}@media (max-width:520px){.student-portal .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar{min-height:76px;padding:8px;border-radius:22px}.student-portal .teacher-icon-sidebar .brand-mark,.teacher-portal .teacher-icon-sidebar .brand-mark{width:40px;height:40px}}.tutorial-card{min-height:360px}.tutorial-steps{margin:0;padding:0;display:grid;grid-gap:14px;gap:14px;list-style:none;counter-reset:tutorial-step}.tutorial-steps li{counter-increment:tutorial-step;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(2,6,23,.28);color:rgba(255,255,255,.86)}.tutorial-steps li:before{content:counter(tutorial-step);width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:white;font-weight:900;box-shadow:0 12px 28px rgba(6,182,212,.22)}.tutorial-steps span{font-weight:750;line-height:1.45}.onboarding-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(7,24,50,.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.onboarding-card{width:min(520px,100%);border:1px solid rgba(11,100,233,.18);border-radius:26px;padding:24px;background:radial-gradient(circle at 10% 0,rgba(11,100,233,.12),transparent 32%),rgba(255,255,255,.98);box-shadow:0 28px 90px rgba(7,24,50,.28)}.onboarding-actions,.onboarding-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-head span{color:#0b64e9;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.onboarding-actions button,.onboarding-head button{border:1px solid #dbe5f2;border-radius:12px;padding:10px 14px;background:#fff;color:#203454;font-weight:850;cursor:pointer}.onboarding-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;margin:18px 0 20px}.student-portal .onboarding-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-progress span{height:6px;border-radius:999px;background:#e7eef8}.onboarding-progress span.active{background:linear-gradient(90deg,#0b64e9,#46c4ff)}.onboarding-card h2{margin:0;color:#071832;font-size:clamp(26px,4vw,36px);line-height:1.08}.onboarding-card p{margin:14px 0 0;color:#334765;font-size:17px;line-height:1.55}.onboarding-card small{display:block;margin-top:14px;border-radius:14px;padding:12px 14px;background:#eff6ff;color:#0b4eb8;font-weight:800}.onboarding-actions{margin-top:22px}.onboarding-actions button:disabled{opacity:.45;cursor:not-allowed}.onboarding-actions .primary{border-color:transparent;background:linear-gradient(135deg,#0b64e9,#0749c9);color:#fff;box-shadow:0 12px 28px rgba(11,100,233,.25)}.install-note-card{min-height:auto}.student-insight-grid{display:grid;grid-gap:16px;gap:16px}.support-chat-card,.support-contact-card{display:grid;grid-gap:14px;gap:14px;min-height:360px}.support-chat-card h2,.support-contact-card h2{color:#ffffff}.support-phone{margin:0;color:rgba(232,241,255,.78);font-weight:800;letter-spacing:0}.support-chat-window{display:grid;align-content:start;grid-gap:10px;gap:10px;min-height:210px;max-height:320px;overflow-y:auto;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(2,6,23,.24)}.support-message{max-width:88%;padding:10px 12px;border-radius:16px;color:rgba(255,255,255,.9);line-height:1.45}.support-message.assistant{justify-self:start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.support-message.user{justify-self:end;background:rgba(37,99,235,.38);border:1px solid rgba(96,165,250,.28)}.support-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.support-shortcuts-card{gap:16px}.support-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.support-shortcut{display:grid;grid-gap:6px;gap:6px;min-height:112px;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));color:#ffffff;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.support-shortcut:hover{transform:translateY(-3px);border-color:rgba(56,189,248,.38);background:linear-gradient(145deg,rgba(37,99,235,.22),rgba(255,255,255,.07))}.support-shortcut small{color:rgba(232,241,255,.68);line-height:1.45}.payment-month-card{gap:10px}.language-options,.payment-toggle{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.language-options button,.payment-toggle button{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;color:rgba(255,255,255,.82);background:rgba(255,255,255,.06);cursor:pointer;font-weight:800;transition:transform .2s ease,background .2s ease,border-color .2s ease}.language-options button:hover,.payment-toggle button:hover{transform:translateY(-1px);background:rgba(255,255,255,.1)}.language-options button.selected,.payment-toggle button.selected.paid{color:#ffffff;background:rgba(34,197,94,.28);border-color:rgba(74,222,128,.55)}.payment-toggle button.selected.unpaid{color:#ffffff;background:rgba(234,179,8,.24);border-color:rgba(250,204,21,.55)}.language-card{min-height:auto}@media (max-width:640px){.support-chat-form,.support-shortcuts{grid-template-columns:1fr}}.student-frequency-card,.student-grade-card{display:grid;grid-gap:14px;gap:14px}.student-card-head{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px}.student-card-head strong{color:#ffffff;display:block}.student-card-head small{color:rgba(232,241,255,.68)}.student-avatar-mini{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#ffffff;font-weight:900;background:linear-gradient(145deg,rgba(37,99,235,.85),rgba(6,182,212,.45));border:1px solid rgba(255,255,255,.2);box-shadow:0 14px 30px rgba(37,99,235,.25)}.compact-data-table .data-row,.student-timeline .timeline-row{background:rgba(255,255,255,.05);border-radius:14px;padding:10px}.student-timeline{padding:0;background:transparent;border:0;box-shadow:none}@media (max-width:640px){.student-card-head{grid-template-columns:42px minmax(0,1fr)}.student-card-head .badge{grid-column:1/-1;justify-content:center}}.student-agenda{display:grid;grid-gap:16px;gap:16px}.agenda-day-group{display:grid;grid-gap:14px;gap:14px}.agenda-class-row,.agenda-day-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.agenda-day-title{padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14);text-transform:capitalize}.agenda-day-title span{color:#f8fbff;font-weight:800}.agenda-class-info p,.agenda-day-title small{color:rgba(232,241,255,.7)}.agenda-class-row{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.06)}.agenda-date-pill{display:grid;place-items:center;min-width:58px;min-height:58px;border-radius:18px;background:linear-gradient(145deg,rgba(37,99,235,.38),rgba(6,182,212,.2));border:1px solid rgba(125,185,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}.agenda-date-pill strong{color:#ffffff;font-size:1.35rem;line-height:1}.agenda-date-pill span{color:rgba(232,241,255,.78);font-size:.72rem;font-weight:800;text-transform:uppercase}.agenda-class-info{flex:1 1;min-width:0}.agenda-class-info strong{display:block;color:#ffffff}@media (max-width:640px){.agenda-class-row{align-items:flex-start;flex-wrap:wrap}.agenda-class-row .badge,.agenda-class-row .btn{width:100%;justify-content:center}}.message-composer-card{align-self:start}.message-compose-form{display:grid;grid-gap:12px;gap:12px}.message-file-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 14px;border-radius:16px;border:1px dashed rgba(147,197,253,.48);background:rgba(255,255,255,.06);color:rgba(241,247,255,.86);font-weight:800;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.message-file-picker:hover{transform:translateY(-2px);border-color:rgba(250,204,21,.62);background:rgba(255,255,255,.1)}.message-file-picker span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-file-picker input{display:none}.message-thread{display:grid;grid-gap:14px;gap:14px;max-height:min(66vh,680px);overflow-y:auto;padding:4px 6px 4px 2px}.message-row{display:flex;width:100%}.message-row.incoming{justify-content:flex-start}.message-row.outgoing{justify-content:flex-end}.message-bubble{width:min(78%,520px);display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:22px;color:#f8fbff;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 34px rgba(0,0,0,.22)}.message-row.incoming .message-bubble{border-bottom-left-radius:8px;background:rgba(255,255,255,.08)}.message-row.outgoing .message-bubble{border-bottom-right-radius:8px;background:linear-gradient(145deg,rgba(37,99,235,.5),rgba(6,182,212,.2));border-color:rgba(96,165,250,.32)}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:rgba(226,238,255,.72);font-size:.75rem;font-weight:800}.message-meta small{color:rgba(226,238,255,.56);font-size:.72rem}.message-bubble p{margin:0;color:rgba(248,251,255,.92);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.message-attachment{overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(2,6,23,.28)}.message-attachment.media img{object-fit:cover}.message-attachment.media img,.message-attachment.video{display:block;width:100%;max-height:320px}.message-attachment.file{display:grid;grid-gap:4px;gap:4px;padding:12px;color:#ffffff;text-decoration:none}.message-attachment.file span{color:rgba(226,238,255,.66);font-size:.75rem;font-weight:900;text-transform:uppercase}.message-attachment.file strong{overflow-wrap:anywhere}@media (max-width:760px){.message-bubble{width:min(92%,520px)}.message-thread{max-height:none}}.notification-button,.notification-menu{position:relative}.notification-button span{position:absolute;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;color:#07111f;background:#facc15;font-size:.68rem;font-weight:900;border:1px solid rgba(255,255,255,.55)}.notification-popover{position:absolute;right:0;top:calc(100% + 12px);z-index:40;width:min(360px,calc(100vw - 36px));display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:22px;background:rgba(15,23,42,.9);border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 60px rgba(0,0,0,.38);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.notification-item{display:grid;grid-template-columns:10px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:flex-start;padding:10px;border-radius:16px;color:#ffffff;text-decoration:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:transform .2s ease,background .2s ease}.notification-item:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}.notification-item small,.notification-item strong{display:block}.notification-item small{margin-top:3px;color:rgba(226,238,255,.68)}.push-enable-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:12px;border-radius:16px;color:#ffffff;background:rgba(37,99,235,.18);border:1px solid rgba(147,197,253,.24)}.push-enable-card small,.push-enable-card span,.push-enable-card strong{display:block}.push-enable-card small{margin-top:3px;color:rgba(226,238,255,.72);line-height:1.35}.push-enable-card button{min-height:38px;padding:0 14px;border:0;border-radius:999px;color:#ffffff;background:#2563eb;font-weight:800;cursor:pointer;box-shadow:0 12px 24px rgba(37,99,235,.28)}.push-enable-card button:disabled{cursor:default;opacity:.72;box-shadow:none}.push-enable-card.enabled{background:rgba(34,197,94,.16);border-color:rgba(134,239,172,.28)}.push-enable-card.blocked,.push-enable-card.error{background:rgba(239,68,68,.14);border-color:rgba(252,165,165,.25)}.notification-dot{width:10px;height:10px;margin-top:5px;border-radius:999px;background:#60a5fa}.notification-dot.activity{background:#facc15}.notification-dot.message{background:#22c55e}.billing-actions{display:flex;gap:8px;flex-wrap:wrap}.billing-actions .btn{min-height:38px;padding:8px 12px}@media (max-width:900px){.marketing-card-grid,.marketing-hero,.marketing-split{grid-template-columns:1fr}.marketing-page{align-items:flex-start}}@media (max-width:560px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.pricing-panel h2{font-size:46px}}.student-portal,.teacher-portal{min-height:100vh;display:grid;grid-template-columns:88px minmax(0,1fr);grid-gap:0;gap:0;padding:0;background:#f7f9fc;color:#111827}.global-background,.student-portal:before,.teacher-portal:before{display:none}.student-portal>*,.teacher-portal>*{position:relative;z-index:1}.student-portal .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;width:88px;height:100vh;min-height:100vh;margin:0;padding:18px 12px;border:0;border-right:1px solid #e5eaf2;border-radius:0;background:#ffffff;box-shadow:none;display:grid;grid-template-rows:auto 1fr auto}.student-portal .compact-brand,.teacher-portal .compact-brand{justify-items:center;gap:0;padding:0 0 18px;border-bottom:1px solid #eef2f7}.student-portal .compact-brand>div:not(.brand-mark),.teacher-portal .compact-brand>div:not(.brand-mark){display:none}.student-portal .brand-mark,.teacher-portal .brand-mark{width:46px;height:46px;border-radius:16px;color:#ffffff;background:linear-gradient(145deg,#2563eb,#0f172a);box-shadow:0 12px 24px rgba(37,99,235,.25)}.student-portal .icon-nav,.teacher-portal .icon-nav{display:grid;grid-auto-rows:64px;align-content:start;grid-gap:8px;gap:8px;margin-top:20px}.student-portal .icon-nav a,.student-portal .sidebar-action-button,.teacher-portal .icon-nav a,.teacher-portal .sidebar-action-button{width:64px;min-height:58px;display:grid;place-items:center;grid-gap:4px;gap:4px;padding:8px 4px;border:0;border-radius:12px;background:transparent;color:#667085;box-shadow:none;font-size:11px;font-weight:700;text-decoration:none;transform:none}.student-portal .icon-nav a:hover,.student-portal .sidebar-action-button:hover,.teacher-portal .icon-nav a:hover,.teacher-portal .sidebar-action-button:hover{color:#155eef;background:#eff6ff;transform:none}.student-portal .icon-nav a:after,.student-portal .sidebar-action-button:after,.teacher-portal .icon-nav a:after,.teacher-portal .sidebar-action-button:after{display:none}.student-portal .icon-nav a span,.student-portal .sidebar-action-button span,.teacher-portal .icon-nav a span,.teacher-portal .sidebar-action-button span{position:static;opacity:1;pointer-events:auto;transform:none;width:auto;padding:0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;font-size:11px;white-space:normal}.student-portal .sidebar-actions,.teacher-portal .sidebar-actions{display:grid;grid-gap:8px;gap:8px;margin-top:0}.student-portal .clean-shell,.teacher-portal .clean-shell{width:100%;min-height:100vh;margin:0;border:0;border-radius:0;background:#f7f9fc;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}.clean-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;grid-template-columns:minmax(160px,.45fr) minmax(280px,640px) auto;align-items:center;gap:18px;min-height:74px;padding:14px 24px;border-bottom:1px solid #e5eaf2;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-title-block h1{color:#111827;font-size:22px;line-height:1.05}.app-title-block .eyebrow{color:#2563eb;font-size:11px}.app-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;height:44px;padding:0 12px;border:1px solid #d8e0eb;border-radius:12px;background:#ffffff;color:#667085;box-shadow:0 8px 22px rgba(15,23,42,.04)}.app-search input{width:100%;border:0;outline:0;background:transparent;color:#111827;font:inherit}.app-search kbd{min-width:42px;padding:5px 8px;border:1px solid #d8e0eb;border-radius:8px;color:#667085;background:#f8fafc;text-align:center}.app-header-actions{justify-content:end}.glass-icon-button,.header-message-button,.notification-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #e5eaf2;border-radius:12px;color:#101828;background:#ffffff;box-shadow:none}.notification-button span{top:-6px;right:-6px;background:#ef4444}.profile-chip{display:flex;align-items:center;gap:10px;padding-left:12px;border-left:1px solid #e5eaf2;color:#101828;font-weight:800}.teacher-avatar{width:42px;height:42px;border-radius:999px;background:linear-gradient(145deg,#2563eb,#22c55e);color:#ffffff}.app-content{padding:24px}.glass-card,.glass-panel,.panel-toolbar,.student-portal .card,.student-portal .empty,.student-portal .metric,.student-portal .notice,.student-portal .panel-note,.teacher-portal .card,.teacher-portal .empty,.teacher-portal .metric,.teacher-portal .notice,.teacher-portal .panel-note{border:1px solid #e5eaf2;border-radius:16px;background:#ffffff;color:#111827;box-shadow:0 14px 34px rgba(15,23,42,.06);-webkit-backdrop-filter:none;backdrop-filter:none}.student-portal .card:before,.teacher-portal .card:before{display:none}.glass-card-head strong,.panel-toolbar h2,.student-portal h1,.student-portal h2,.student-portal h3,.student-portal strong,.teacher-portal h1,.teacher-portal h2,.teacher-portal h3,.teacher-portal strong{color:#101828}.glass-card-head span,.student-portal .muted,.student-portal p,.student-portal small,.teacher-portal .muted,.teacher-portal p,.teacher-portal small{color:#667085}.student-portal .input,.teacher-portal .input{border-color:#d8e0eb;background:#ffffff;color:#101828}.student-portal .btn.primary,.student-portal .btn.student,.teacher-portal .btn.primary{background:#155eef;box-shadow:0 10px 24px rgba(21,94,239,.22)}.badge,.status-default{color:#175cd3;border-color:#b2ccff;background:#eff6ff}.status-success{color:#067647;border-color:#abefc6;background:#ecfdf3}.status-warning{color:#b54708;border-color:#fedf89;background:#fffaeb}@media (max-width:980px){.student-portal,.teacher-portal{grid-template-columns:1fr}.student-portal .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;width:100%;height:auto;min-height:auto;grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center;padding:10px;border-right:0;border-bottom:1px solid #e5eaf2}.student-portal .icon-nav,.teacher-portal .icon-nav{grid-auto-flow:column;grid-auto-columns:64px;overflow-x:auto;margin-top:0}.clean-topbar{grid-template-columns:1fr;align-items:stretch}.app-header-actions{justify-content:start}}.student-home{grid-template-columns:minmax(0,1fr) 320px;min-height:calc(100vh - 122px)}.student-home,.student-main-area{display:grid;grid-gap:20px;gap:20px}.student-main-area{align-content:start}.student-greeting h1{color:#0b1736;font-size:clamp(34px,4vw,48px);line-height:1}.student-greeting p{margin:10px 0 0;color:#4b5b78}.student-summary-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-gap:16px}.continue-card,.student-side-panel,.student-summary-card,.student-week-card{border:1px solid #e5eaf2;border-radius:16px;background:#ffffff;box-shadow:0 16px 40px rgba(15,23,42,.06)}.student-summary-card{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:16px;gap:16px;min-height:132px;padding:22px}.student-summary-icon{display:grid;place-items:center;border-radius:999px;color:#155eef;background:#eaf2ff;font-weight:900}.student-summary-icon.green{color:#16803c;background:#eaf8ee}.student-summary-card span{color:#155eef;font-weight:900}.student-summary-card strong{display:block;margin-top:8px;color:#101828;font-size:20px}.student-summary-card a,.student-summary-card p{margin:10px 0 0;color:#155eef;font-weight:800;text-decoration:none}.progress-card{grid-template-columns:96px minmax(0,1fr)}.student-progress-ring{width:88px;height:88px;display:grid;place-items:center;border-radius:999px}.student-progress-ring:before{content:"";position:absolute}.student-progress-ring strong{width:62px;height:62px;display:grid;place-items:center;margin:0;border-radius:999px;background:#ffffff;color:#0b1736}.student-week-card{padding:20px;overflow:auto}.student-week-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.continue-card h2,.student-week-head h2{color:#101828;font-size:22px}.student-week-actions{display:flex;gap:8px}.student-week-actions button{min-width:44px;height:38px;border:1px solid #d8e0eb;border-radius:9px;color:#155eef;background:#ffffff;font-weight:800}.student-week-grid{min-width:820px;display:grid;grid-template-columns:64px repeat(7,minmax(104px,1fr));border:1px solid #e5eaf2}.student-time-label,.student-time-spacer,.student-week-cell,.student-week-day{border-right:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2}.student-week-day{min-height:70px;display:grid;place-items:center;color:#101828;background:#ffffff}.student-week-day span{text-transform:capitalize;font-size:12px;color:#344054}.student-week-day.active{background:#eff6ff;color:#155eef}.student-week-row{display:contents}.student-time-label{min-height:82px;padding:14px 10px;color:#344054;font-size:13px}.student-week-cell{min-height:82px;padding:10px;background:#ffffff}.student-class-chip{display:grid;grid-gap:4px;gap:4px;padding:9px 10px;border:1px solid #bfdbfe;border-radius:8px;color:#175cd3;background:#eff6ff;font-size:12px}.student-class-chip.selected{color:#ffffff;background:#155eef;box-shadow:0 8px 18px rgba(21,94,239,.24)}.student-class-chip small{color:inherit}.continue-card{display:grid;grid-gap:14px;gap:14px;padding:20px}.continue-row{display:grid;grid-template-columns:48px minmax(160px,1fr) minmax(160px,.8fr) 48px auto;align-items:center;grid-gap:14px;gap:14px;padding-top:14px;border-top:1px solid #eef2f7}.continue-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:#155eef;background:#eaf2ff;font-weight:900}.continue-icon.green{color:#16803c;background:#eaf8ee}.continue-row strong{color:#101828}.continue-row small{display:block;margin-top:4px}.continue-progress{height:6px;border-radius:999px;background:#e8edf5;overflow:hidden}.continue-progress span{display:block;height:100%;border-radius:inherit;background:#155eef}.continue-row em{color:#344054;font-style:normal;font-weight:800}.continue-row a,.student-material-link{color:#155eef;font-weight:900;text-decoration:none}.student-side-panel{top:98px;min-height:calc(100vh - 122px);padding:24px}.student-side-close{position:absolute;top:18px;right:18px;border:0;background:transparent;color:#344054;font-size:28px}.student-profile-card{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:16px;gap:16px;margin-top:34px}.student-photo{width:76px;height:76px;display:grid;place-items:center;border-radius:999px;color:#ffffff;background:linear-gradient(145deg,#155eef,#43a95b);font-size:28px;font-weight:900}.student-profile-card h2,.student-today-list h3{color:#101828}.student-profile-card p{margin:8px 0 0}.student-next-details{display:grid;grid-gap:14px;gap:14px;margin:26px 0;color:#344054}.side-primary{width:100%;justify-content:center;min-height:54px;margin-bottom:28px}.student-today-list{display:grid;grid-gap:18px;gap:18px;padding-top:26px;border-top:1px solid #e5eaf2}.student-today-task{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:12px;gap:12px}.student-today-task input{width:18px;height:18px}.student-today-task small,.student-today-task strong{display:block}.student-material-link{display:block;margin-top:34px;padding-top:20px;border-top:1px solid #e5eaf2}@media (max-width:1180px){.student-home{grid-template-columns:1fr}.student-side-panel{position:static;min-height:auto}}@media (max-width:760px){.continue-row,.student-summary-grid{grid-template-columns:1fr}}.student-portal,.teacher-portal{background:#f8fbff}.student-portal:has(.student-home),.teacher-portal:has(.teacher-agenda-home){grid-template-columns:88px minmax(0,1fr);gap:0}.student-portal:has(.student-home) .clean-shell,.teacher-portal:has(.teacher-agenda-home) .clean-shell{background:#fbfdff;border:0;border-radius:0;box-shadow:none}.student-portal:has(.student-home) .app-content,.teacher-portal:has(.teacher-agenda-home) .app-content{padding:0}.student-portal:has(.student-home) .clean-topbar{display:none}.student-portal:has(.student-home) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{width:88px;min-height:100vh;border-radius:0;border:0;border-right:1px solid #e7edf6;background:linear-gradient(180deg,#fbfdff,#f5f8fd);box-shadow:10px 0 30px rgba(15,35,68,.04);color:#1f3353}.student-portal:has(.student-home) .icon-nav a,.student-portal:has(.student-home) .sidebar-action-button,.teacher-portal:has(.teacher-agenda-home) .icon-nav a,.teacher-portal:has(.teacher-agenda-home) .sidebar-action-button{border:0;background:transparent;color:#425574}.student-portal:has(.student-home) .icon-nav a:hover,.student-portal:has(.student-home) .sidebar-action-button:hover,.teacher-portal:has(.teacher-agenda-home) .icon-nav a:hover,.teacher-portal:has(.teacher-agenda-home) .sidebar-action-button:hover{background:#eef5ff;color:#0b64e9;box-shadow:inset 3px 0 0 #0b64e9}.teacher-portal:has(.teacher-agenda-home) .clean-topbar{height:76px;grid-template-columns:1fr auto;padding:12px 28px;border-bottom:1px solid #e7edf6;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(30,54,93,.04)}.teacher-portal:has(.teacher-agenda-home) .app-title-block{display:none}.teacher-portal:has(.teacher-agenda-home) .app-search{width:min(520px,42vw);margin-left:auto;margin-right:auto;border:1px solid #e3eaf5;background:#fff;box-shadow:0 12px 28px rgba(31,68,126,.06)}.teacher-agenda-home{min-height:calc(100vh - 76px);display:grid;grid-template-columns:250px minmax(620px,1fr) 330px;color:#091936}.student-side-panel,.teacher-detail-panel,.teacher-student-rail{background:rgba(255,255,255,.9);border-left:1px solid #e7edf6;border-right:1px solid #e7edf6;box-shadow:16px 0 30px rgba(22,43,78,.04)}.teacher-student-rail{padding:28px 18px;display:flex;flex-direction:column;gap:18px}.calendar-toolbar,.rail-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.calendar-toolbar h1,.rail-head h2,.student-greeting h1{margin:0;color:#071832;font-weight:800;letter-spacing:0}.calendar-toolbar button,.rail-head button,.student-week-actions button{width:42px;height:42px;border:1px solid #e1e9f5;border-radius:12px;background:#fff;color:#0b64e9;font-weight:800;box-shadow:0 8px 18px rgba(18,63,132,.07)}.rail-search{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1px solid #e2e9f4;border-radius:10px;background:#fff;color:#7890ad}.rail-search input{width:100%;border:0;outline:0;color:#12233d;background:transparent}.student-list-clean{display:grid;grid-gap:10px;gap:10px;overflow:auto}.student-list-clean button{display:grid;grid-template-columns:36px 8px 1fr;align-items:center;grid-gap:8px;gap:8px;min-height:44px;border:0;border-radius:12px;background:transparent;color:#1c2e49;text-align:left;cursor:pointer}.student-list-clean button.active,.student-list-clean button:hover{background:#eef5ff}.student-list-clean button[draggable=true]{cursor:-webkit-grab;cursor:grab}.student-list-clean button[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.detail-photo,.student-avatar-clean,.student-photo{display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:800;background:linear-gradient(135deg,#1f74ff,#7bb7ff);box-shadow:0 10px 24px rgba(11,100,233,.18)}.student-avatar-clean{width:36px;height:36px;font-size:12px}.student-dot{width:7px;height:7px;border-radius:50%;background:#34c77b}.student-material-link,.teacher-student-rail>a{margin-top:auto;color:#0b64e9;font-weight:700;text-align:center}.teacher-calendar-board{padding:32px;background:#fbfdff}.calendar-toolbar{margin-bottom:28px}.calendar-toolbar h1{text-transform:capitalize;font-size:clamp(28px,3vw,42px)}.calendar-toolbar p{margin:8px 0 0;color:#60708a}.calendar-toolbar>div:last-child{display:flex;gap:10px;align-items:center}.calendar-toolbar span{display:grid;place-items:center;min-width:74px;height:42px;border-radius:12px;background:#0b64e9;color:#fff;font-weight:800;box-shadow:0 14px 28px rgba(11,100,233,.2)}.month-grid-clean{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));border:1px solid #e5ecf6;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 18px 48px rgba(20,42,77,.07)}.month-grid-clean>strong{min-height:48px;display:grid;place-items:center;border-right:1px solid #e8eef7;color:#0f213d}.month-cell-clean{min-height:122px;padding:12px 10px;border-top:1px solid #e8eef7;border-right:1px solid #e8eef7;background:#fff}.month-cell-clean>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;color:#13233e;font-weight:700}.month-cell-clean.today{background:linear-gradient(180deg,#f1f7ff,#fff)}.month-cell-clean.drop-target{background:linear-gradient(180deg,#e7f1ff,#ffffff);box-shadow:inset 0 0 0 2px rgba(11,100,233,.36)}.month-cell-clean.today>span{background:#0b64e9;color:#fff}.month-cell-clean.muted-month>span{color:#9aa8ba}.calendar-event-clean{width:100%;display:block;margin-top:7px;padding:6px 8px;border:1px solid #cfe0fb;border-radius:7px;background:#edf5ff;color:#0752bd;text-align:left;font-size:12px;font-weight:700;cursor:-webkit-grab;cursor:grab;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.calendar-event-clean:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(11,100,233,.12)}.calendar-event-clean:active{cursor:-webkit-grabbing;cursor:grabbing;opacity:.82}.calendar-event-clean.tone-1{border-color:#cfead8;background:#effaf2;color:#15723c}.calendar-event-clean.tone-2{border-color:#ffe0ad;background:#fff8eb;color:#b36500}.calendar-event-clean.tone-3{border-color:#ffcbd1;background:#fff0f2;color:#bc2434}.calendar-event-clean.selected{outline:2px solid #0b64e9;box-shadow:0 0 0 4px rgba(11,100,233,.12)}.teacher-detail-panel{padding:36px 28px;display:flex;flex-direction:column;gap:24px}.detail-profile{display:flex;align-items:center;gap:16px}.detail-photo{width:72px;height:72px;font-size:22px}.detail-profile h2,.student-profile-card h2{margin:0;color:#071832}.detail-profile em{display:inline-flex;margin-top:8px;padding:7px 12px;border-radius:999px;background:#e9f8ef;color:#197a43;font-style:normal;font-weight:700}.detail-lines{display:grid;grid-gap:16px;gap:16px;padding-bottom:22px;border-bottom:1px solid #e5ecf5;color:#34435d}.outline-action,.side-primary{display:grid;place-items:center;min-height:52px;border-radius:10px;font-weight:800}.side-primary{border:0;background:linear-gradient(135deg,#0b64e9,#0750d4);color:#fff;box-shadow:0 18px 32px rgba(11,100,233,.24)}.outline-action{border:1px solid #dce6f3;color:#223451;background:#fff}.student-today-list,.teacher-day-tasks{display:grid;grid-gap:16px;gap:16px;padding-top:10px}.student-today-list h3,.teacher-day-tasks h3{margin:0;color:#0c1d38}.teacher-day-tasks label{display:flex;gap:12px;color:#243651}.student-portal:has(.student-home){grid-template-columns:220px minmax(0,1fr)}.student-portal:has(.student-home) .teacher-icon-sidebar{width:220px;align-items:stretch;padding:34px 22px}.student-portal:has(.student-home) .compact-brand{display:none}.student-portal:has(.student-home) .icon-nav{gap:16px}.student-portal:has(.student-home) .icon-nav a,.student-portal:has(.student-home) .sidebar-action-button{width:100%;min-height:58px;justify-content:flex-start;gap:14px;padding:0 16px;border-radius:14px}.student-portal:has(.student-home) .icon-nav a span,.student-portal:has(.student-home) .sidebar-action-button span{font-size:15px;font-weight:700}.student-portal:has(.student-home) .sidebar-actions{margin-top:auto}.student-home{min-height:100vh;grid-template-columns:minmax(680px,1fr) 330px;gap:0;background:#fbfdff}.student-main-area{padding:42px 36px 34px}.student-greeting{margin-bottom:24px}.student-greeting h1{font-size:clamp(34px,4vw,50px)}.student-greeting p{margin:8px 0 0;color:#526581;font-size:20px}.student-summary-grid{grid-template-columns:repeat(3,minmax(210px,1fr));gap:16px;margin-bottom:22px}.continue-card,.student-summary-card,.student-week-card{background:#fff;border:1px solid #e4ebf5;border-radius:16px;box-shadow:0 16px 44px rgba(18,43,84,.07)}.student-summary-card{min-height:140px;padding:24px;align-items:center}.student-summary-icon{width:58px;height:58px;border-radius:50%;color:#0b64e9;background:#eaf3ff}.student-summary-icon.green{color:#35a95a;background:#ecf9f0}.student-summary-card a,.student-summary-card span{color:#0b64e9;font-weight:800}.student-summary-card strong{color:#0a1b36}.student-week-card{padding:22px;margin-bottom:22px}.student-week-grid{border:1px solid #e5ecf6;border-radius:12px;overflow:hidden}.student-week-day{background:#fff;border-bottom:1px solid #e5ecf6}.student-week-day.active{background:#ecf4ff}.student-week-day.active strong{display:inline-grid;place-items:center;min-width:28px;min-height:28px;margin:4px auto 0;border-radius:999px;background:#0b64e9;color:#fff}.student-week-cell{min-height:72px;border-color:#e8eef7}.student-class-chip{border-color:#cfe0fb;background:#edf5ff;color:#0752bd}.student-class-chip:nth-child(2n){border-color:#cfead8;background:#effaf2;color:#15723c}.student-class-chip.selected{background:#0b64e9;color:#fff}.continue-card{padding:18px 22px}.continue-row{border-top:1px solid #e7edf6}.student-side-panel{padding:36px 28px;border-left:1px solid #e5ecf6;background:rgba(255,255,255,.9);box-shadow:-16px 0 32px rgba(18,43,84,.05)}.student-photo{width:72px;height:72px;font-size:26px}.student-next-details{border-top:1px solid #e5ecf6;border-bottom:1px solid #e5ecf6;padding:22px 0}.student-today-task{align-items:flex-start}@media (max-width:1180px){.teacher-agenda-home{grid-template-columns:220px minmax(0,1fr)}.teacher-detail-panel{grid-column:1/-1;border-top:1px solid #e7edf6}.student-portal:has(.student-home){grid-template-columns:88px minmax(0,1fr)}.student-portal:has(.student-home) .teacher-icon-sidebar{width:88px;padding:14px 10px;align-items:center}.student-portal:has(.student-home) .icon-nav a,.student-portal:has(.student-home) .sidebar-action-button{width:48px;justify-content:center;padding:0}.student-portal:has(.student-home) .icon-nav a span,.student-portal:has(.student-home) .sidebar-action-button span{font-size:0}}@media (max-width:900px){.student-portal:has(.student-home),.teacher-portal:has(.teacher-agenda-home){grid-template-columns:1fr}.student-portal:has(.student-home) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;width:100%;min-height:auto;border-right:0;border-bottom:1px solid #e7edf6;flex-direction:row;overflow-x:auto}.student-home,.teacher-agenda-home{grid-template-columns:1fr}.teacher-student-rail{order:2}.student-main-area,.teacher-calendar-board{padding:22px 16px;overflow-x:auto}.month-grid-clean,.student-week-grid{min-width:760px}}.teacher-agenda-home{grid-template-columns:205px minmax(760px,1fr) 275px}.teacher-student-rail{padding:24px 14px;gap:14px}.teacher-detail-panel{padding:30px 22px;gap:20px}.teacher-calendar-board{padding:30px 28px}.calendar-toolbar{margin-bottom:22px}.month-cell-clean{min-height:132px}.student-list-clean button{grid-template-columns:32px 7px minmax(0,1fr);min-height:42px;padding:4px 8px}.student-avatar-clean{width:32px;height:32px;font-size:11px}.student-list-clean button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-photo{width:64px;height:64px;font-size:20px}.detail-profile{align-items:flex-start}.detail-profile h2{font-size:22px;line-height:1.15}.detail-lines p{display:grid;grid-gap:5px;gap:5px;margin:0;font-size:14px;line-height:1.45}.detail-lines p span{color:#0b64e9;font-size:12px;font-weight:800;text-transform:uppercase}.teacher-day-tasks label{align-items:flex-start;font-size:14px}.student-portal:has(.student-home){grid-template-columns:210px minmax(0,1fr)}.student-portal:has(.student-home) .teacher-icon-sidebar{width:210px;min-width:210px;align-self:stretch;height:100vh;min-height:100vh;padding:32px 18px}.student-home{align-items:stretch;grid-template-columns:minmax(720px,1fr) 320px}.student-side-panel{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;min-height:100vh;border-radius:0;border-top:0;border-right:0;border-bottom:0;padding:34px 24px}.student-profile-card{align-items:center}.student-side-close{top:20px;right:20px}@media (max-width:1280px){.teacher-agenda-home{grid-template-columns:190px minmax(680px,1fr) 260px}.teacher-calendar-board{padding:26px 22px}}@media (max-width:1180px){.teacher-agenda-home{grid-template-columns:190px minmax(0,1fr)}.teacher-detail-panel{grid-column:1/-1}.student-home{grid-template-columns:1fr}.student-side-panel{position:static;height:auto;min-height:auto;border-top:1px solid #e5ecf6}}.teacher-portal:has(.students-reference-page){grid-template-columns:224px minmax(0,1fr);gap:0;background:#fbfdff}.teacher-portal:has(.students-reference-page) .clean-topbar{display:none}.teacher-portal:has(.students-reference-page) .clean-shell{margin:0;min-height:100vh;border:0;border-radius:0;background:#fbfdff;box-shadow:none}.teacher-portal:has(.students-reference-page) .app-content{padding:0}.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar{width:224px;min-width:224px;height:100vh;min-height:100vh;align-items:stretch;padding:32px 16px 24px;border:0;border-right:1px solid #e7edf6;border-radius:0;background:#fbfdff;box-shadow:12px 0 34px rgba(18,43,84,.04);color:#203454}.teacher-portal:has(.students-reference-page) .compact-brand{display:flex;align-items:center;gap:12px;padding:0 4px 34px}.teacher-portal:has(.students-reference-page) .compact-brand>div:not(.brand-mark){display:block}.teacher-portal:has(.students-reference-page) .brand-mark{width:42px;height:42px;border-radius:10px}.teacher-portal:has(.students-reference-page) .icon-nav{gap:12px}.teacher-portal:has(.students-reference-page) .icon-nav a,.teacher-portal:has(.students-reference-page) .sidebar-action-button{width:100%;min-height:52px;justify-content:flex-start;gap:14px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:#30435f}.teacher-portal:has(.students-reference-page) .icon-nav a span,.teacher-portal:has(.students-reference-page) .sidebar-action-button span{font-size:15px;font-weight:700}.teacher-portal:has(.students-reference-page) .icon-nav a:hover,.teacher-portal:has(.students-reference-page) .sidebar-action-button:hover{background:#edf5ff;color:#0b64e9}.teacher-portal:has(.students-reference-page) .sidebar-actions{margin-top:auto}.students-reference-page{min-height:100vh;display:grid;grid-template-columns:minmax(660px,1fr) 380px;background:#fbfdff;color:#081935}.students-reference-main{padding:38px 34px 32px}.students-reference-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:34px}.students-reference-header h1{margin:0;color:#071832;font-size:38px;line-height:1;font-weight:850}.students-reference-header p{margin:10px 0 0;color:#60708a;font-size:16px}.new-student-button{min-width:158px;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;background:linear-gradient(135deg,#0b64e9,#0750d4);color:#fff;font-weight:800;box-shadow:0 18px 34px rgba(11,100,233,.22)}.new-student-button span{font-size:24px;line-height:1}.students-reference-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.students-search{width:min(360px,100%);height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #dfe7f2;border-radius:8px;background:#fff;color:#71819a}.students-search input{width:100%;border:0;outline:0;background:transparent;color:#14243f}.students-filter-tabs{display:flex;gap:10px}.students-filter-tabs button{min-width:112px;height:46px;border:1px solid #dfe7f2;border-radius:8px;background:#fff;color:#213856;font-weight:800}.students-filter-tabs button.active{border-color:#0b64e9;color:#0b64e9;box-shadow:inset 0 0 0 1px rgba(11,100,233,.18)}.students-filter-tabs button.ok{color:#12833b}.students-filter-tabs button.attention{color:#eb6b00}.student-card-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));grid-gap:14px;gap:14px}.student-profile-card-ref{min-height:210px;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #e3eaf4;border-radius:12px;background:#fff;color:#10213d;text-align:left;box-shadow:0 14px 34px rgba(18,43,84,.05);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.student-profile-card-ref.selected,.student-profile-card-ref:hover{transform:translateY(-2px);border-color:rgba(11,100,233,.36);box-shadow:0 20px 42px rgba(18,43,84,.09)}.student-card-top{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;grid-gap:12px;gap:12px}.student-card-top h2{margin:0;color:#0c1d38;font-size:18px;line-height:1.15}.next-class-line,.student-card-top p,.students-reference-count{margin:5px 0 0;color:#60708a;font-size:14px}.student-photo-ref{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#dcecff,#0b64e9);color:#fff;font-weight:850}.student-card-top em{color:#63738d;font-style:normal;font-weight:800}.student-status-pill{width:-moz-fit-content;width:fit-content;padding:7px 12px;border-radius:10px;font-size:13px;font-weight:800}.student-status-pill.ok{background:#eaf8ef;color:#12833b}.student-status-pill.attention{background:#fff1e8;color:#eb6b00}.student-progress-line{display:flex;justify-content:space-between;gap:12px;margin-top:auto;color:#53627b;font-size:13px}.student-progress-track{height:4px;border-radius:999px;background:#e5eaf2;overflow:hidden}.student-progress-track span{display:block;height:100%;background:#31ad50}.student-progress-track span.attention{background:#ff7a1a}.students-reference-count{margin-top:28px}.student-edit-panel-ref{min-height:100vh;padding:34px 30px;border-left:1px solid #e4ebf5;background:rgba(255,255,255,.94);box-shadow:-18px 0 38px rgba(18,43,84,.06);position:-webkit-sticky;position:sticky;top:0}.student-edit-panel-ref h2{margin:0;color:#0a1c36;font-size:26px}.student-edit-avatar-wrap{display:grid;place-items:center;margin:28px 0 24px;position:relative}.student-edit-avatar{width:118px;height:118px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#b7d6ff,#0b64e9);color:#fff;font-size:34px;font-weight:850}.student-edit-avatar-wrap button{position:absolute;right:calc(50% - 72px);bottom:2px;width:42px;height:42px;border:1px solid #dce5f1;border-radius:50%;background:#fff;color:#334866}.student-edit-form-ref{display:grid;grid-gap:14px;gap:14px}.student-edit-form-ref label{display:grid;grid-gap:8px;gap:8px;color:#233854;font-size:14px;font-weight:700}.student-edit-form-ref input,.student-edit-form-ref select{width:100%;height:46px;border:1px solid #dce5f1;border-radius:8px;padding:0 12px;background:#fff;color:#152640;font:inherit}.student-edit-total{display:flex;justify-content:space-between;padding:12px 0;color:#5d6f89}.student-edit-total strong{color:#0b64e9}.student-edit-actions{display:grid;grid-template-columns:1fr 1.35fr;grid-gap:12px;gap:12px;margin-top:12px}.lesson-action-box{display:grid;grid-gap:12px;gap:12px;padding:18px 0;border-top:1px solid #e5ecf5;border-bottom:1px solid #e5ecf5}.lesson-action-box h3{margin:0;color:#0c1d38}.lesson-action-box label{display:grid;grid-gap:7px;gap:7px;color:#34435d;font-size:13px;font-weight:800}.lesson-action-box input{height:42px;border:1px solid #dce5f1;border-radius:9px;padding:0 10px;color:#14243f;background:#fff}.danger-outline{color:#c62929;border-color:#ffd1d1}@media (max-width:1320px){.student-card-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.students-reference-page{grid-template-columns:minmax(560px,1fr) 350px}}@media (max-width:980px){.teacher-portal:has(.students-reference-page){grid-template-columns:1fr}.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar{width:100%;min-width:0;height:auto;min-height:auto;flex-direction:row;overflow-x:auto}.students-reference-page{grid-template-columns:1fr}.student-edit-panel-ref{position:static;min-height:auto;border-left:0;border-top:1px solid #e4ebf5}}.teacher-portal:has(.activities-reference-page){grid-template-columns:240px minmax(0,1fr);gap:0;background:#fbfdff}.teacher-portal:has(.activities-reference-page) .clean-topbar{display:none}.teacher-portal:has(.activities-reference-page) .clean-shell{margin:0;min-height:100vh;border:0;border-radius:0;background:#fbfdff;box-shadow:none}.teacher-portal:has(.activities-reference-page) .app-content{padding:0}.teacher-portal:has(.activities-reference-page) .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;width:240px;min-width:240px;height:100vh;min-height:100vh;align-items:stretch;padding:34px 18px 24px;border:0;border-right:1px solid #e7edf6;border-radius:0;background:#fbfdff;color:#203454;box-shadow:12px 0 34px rgba(18,43,84,.04)}.teacher-portal:has(.activities-reference-page) .compact-brand{display:flex;align-items:center;gap:12px;padding:0 4px 34px}.teacher-portal:has(.activities-reference-page) .compact-brand>div:not(.brand-mark){display:block}.teacher-portal:has(.activities-reference-page) .brand-mark{width:42px;height:42px;border-radius:10px}.teacher-portal:has(.activities-reference-page) .icon-nav{gap:12px}.teacher-portal:has(.activities-reference-page) .icon-nav a,.teacher-portal:has(.activities-reference-page) .sidebar-action-button{width:100%;min-height:52px;justify-content:flex-start;gap:14px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:#30435f}.teacher-portal:has(.activities-reference-page) .icon-nav a span,.teacher-portal:has(.activities-reference-page) .sidebar-action-button span{font-size:15px;font-weight:700}.teacher-portal:has(.activities-reference-page) .icon-nav a:hover,.teacher-portal:has(.activities-reference-page) .sidebar-action-button:hover{background:#edf5ff;color:#0b64e9}.teacher-portal:has(.activities-reference-page) .sidebar-actions{margin-top:auto}.activities-reference-page{min-height:100vh;display:grid;grid-template-columns:minmax(720px,1fr) 430px;color:#081935;background:#fbfdff}.activities-reference-main{padding:52px 34px 34px}.activities-reference-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:42px}.activities-reference-header h1{margin:0;color:#071832;font-size:44px;line-height:1;font-weight:850}.activities-reference-header p{margin:12px 0 0;color:#60708a;font-size:16px}.activity-create-panel{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));grid-gap:12px;gap:12px;margin:-18px 0 28px;padding:18px;border:1px solid #e3eaf4;border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(18,43,84,.06)}.activity-create-panel input,.activity-create-panel select,.activity-create-panel textarea{min-height:44px;border:1px solid #dce5f1;border-radius:8px;padding:0 12px;background:#fff;color:#14243f;font:inherit}.activity-create-panel textarea{grid-column:1/4;padding-top:12px}.activities-reference-tools{display:flex;align-items:center;gap:16px;margin-bottom:38px}.activity-filter-tabs{display:flex;gap:10px;flex-wrap:wrap}.activity-filter-tabs button{min-width:96px;height:48px;border:1px solid #dfe7f2;border-radius:8px;background:#fff;color:#172842;font-weight:800}.activity-filter-tabs button.active{border-color:#0b64e9;background:#edf5ff;color:#0b64e9}.activity-table{display:grid}.activity-table-head,.activity-table-row{display:grid;grid-template-columns:44px minmax(190px,1.35fr) minmax(112px,.8fr) minmax(100px,.7fr) 128px minmax(130px,.8fr) 86px;align-items:center;grid-gap:14px;gap:14px}.activity-table-head{padding:0 18px 16px;color:#40526f;font-size:14px}.activity-table-head span:first-child{grid-column:2}.activity-table-row{width:100%;min-height:96px;padding:14px 16px;border:0;border-top:1px solid #e8eef6;background:transparent;color:#12233e;text-align:left;cursor:pointer}.activity-table-row.selected{border-left:4px solid #0b64e9;border-radius:12px;background:#f4f8ff;box-shadow:0 14px 34px rgba(18,43,84,.05)}.activity-doc-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:#eaf3ff;color:#0b64e9;font-weight:900}.activity-doc-icon.tone-1{background:#eaf8ef;color:#118241}.activity-doc-icon.tone-2{background:#eeeeff;color:#4e46e8}.activity-doc-icon.tone-3{background:#fff6df;color:#b76c00}.activity-table-row span strong,.activity-title-cell strong{display:block;color:#10213d;font-size:15px}.activity-table-row span small,.activity-title-cell small{display:block;margin-top:6px;color:#60708a;font-size:13px}.activity-status{display:inline-grid;place-items:center;min-width:96px;min-height:32px;border-radius:9px;font-style:normal;font-size:13px;font-weight:800}.activity-status.warning{border:1px solid #ffd36b;background:#fff7df;color:#a26500}.activity-status.success{border:1px solid #b8ebca;background:#eaf8ef;color:#12833b}.activity-status.neutral{border:1px solid #dce5f1;background:#f8fafc;color:#40526f}.activity-progress-cell i{display:block;width:96px;height:6px;margin-top:7px;border-radius:999px;background:#e0e6ef;overflow:hidden}.activity-progress-cell b{display:block;height:100%;border-radius:inherit;background:#0b64e9}.activity-row-action{min-height:40px;display:grid;place-items:center;border:1px solid #dce5f1;border-radius:8px;color:#0b64e9;font-weight:800;background:#fff}.activity-table-row.selected .activity-row-action{border-color:#0b64e9;background:#0b64e9;color:#fff}.activity-correction-panel{min-height:100vh;padding:30px 24px;border-left:1px solid #e4ebf5;background:rgba(255,255,255,.95);box-shadow:-18px 0 38px rgba(18,43,84,.06);position:-webkit-sticky;position:sticky;top:0}.activity-correction-panel h2{margin:0;color:#0a1c36;font-size:24px}.activity-correction-panel>p{margin:8px 0 24px;color:#60708a}.correction-selector-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;grid-gap:12px;gap:12px;margin-bottom:24px}.correction-counter,.correction-student-select{min-height:58px;display:flex;align-items:center;gap:12px;border:1px solid #dfe7f2;border-radius:10px;background:#fff;color:#14243f;font-weight:800;padding:0 12px}.correction-student-select span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e6e4ff;color:#4338ca}.correction-counter{justify-content:space-between}.correction-counter button{border:0;background:transparent;color:#40526f;font-size:24px}.submitted-file-preview{display:grid;grid-gap:12px;gap:12px;margin-bottom:24px}.feedback-control>span,.grade-control>span,.submitted-file-preview>strong{color:#14243f;font-weight:800}.submitted-file-preview>div{min-height:286px;display:grid;place-items:center;padding:22px;border-radius:10px;background:linear-gradient(135deg,#f1f3f7,#e3e7ee);color:#334866;text-align:center}.submitted-file-preview a{color:#0b64e9;font-weight:800}.feedback-control,.grade-control{display:grid;grid-gap:10px;gap:10px;margin-bottom:22px}.grade-control div{display:inline-grid;grid-template-columns:46px 120px 46px 40px;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid #dfe7f2;border-radius:10px;overflow:hidden;background:#fff}.grade-control button,.grade-control input{height:48px;border:0;background:#fff;color:#0c1d38;text-align:center;font:inherit;font-weight:800}.grade-control button{color:#425574;font-size:22px}.grade-control em{color:#40526f;font-style:normal}.feedback-control textarea{min-height:150px;resize:vertical;border:1px solid #dfe7f2;border-radius:10px;padding:14px;color:#152640;font:inherit;line-height:1.55}.feedback-control small{justify-self:end;color:#7b8ba3}.correction-actions{display:grid;grid-template-columns:1fr 1.35fr;grid-gap:12px;gap:12px;margin-bottom:26px}.correction-success-note{min-height:52px;display:flex;align-items:center;padding:0 18px;border:1px solid #b8ebca;border-radius:8px;background:#eaf8ef;color:#12833b;font-weight:700}@media (max-width:1380px){.activities-reference-page{grid-template-columns:minmax(620px,1fr) 390px}.activity-table-head,.activity-table-row{grid-template-columns:44px minmax(170px,1fr) 110px 96px 118px minmax(116px,.8fr) 76px;gap:10px}}@media (max-width:1060px){.teacher-portal:has(.activities-reference-page){grid-template-columns:1fr}.teacher-portal:has(.activities-reference-page) .teacher-icon-sidebar{width:100%;min-width:0;height:auto;min-height:auto;flex-direction:row;overflow-x:auto}.activities-reference-page{grid-template-columns:1fr}.activity-correction-panel{position:static;min-height:auto}.activities-reference-main{overflow-x:auto}.activity-table{min-width:840px}}.teacher-portal:has(.finance-reference-page){grid-template-columns:276px minmax(0,1fr);gap:0;background:#fbfdff}.teacher-portal:has(.finance-reference-page) .clean-topbar{display:none}.teacher-portal:has(.finance-reference-page) .clean-shell{margin:0;min-height:100vh;border:0;border-radius:0;background:#fbfdff;box-shadow:none}.teacher-portal:has(.finance-reference-page) .app-content{padding:0}.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;width:276px;min-width:276px;height:100vh;min-height:100vh;align-items:stretch;padding:42px 16px 28px;border:0;border-right:1px solid #e7edf6;border-radius:0;background:#fbfdff;color:#203454;box-shadow:12px 0 34px rgba(18,43,84,.04)}.teacher-portal:has(.finance-reference-page) .compact-brand{display:flex;align-items:center;gap:14px;padding:0 8px 44px}.teacher-portal:has(.finance-reference-page) .compact-brand>div:not(.brand-mark){display:block}.teacher-portal:has(.finance-reference-page) .brand-mark{width:58px;height:58px;border-radius:50%}.teacher-portal:has(.finance-reference-page) .icon-nav{gap:14px}.teacher-portal:has(.finance-reference-page) .icon-nav a,.teacher-portal:has(.finance-reference-page) .sidebar-action-button{width:100%;min-height:58px;justify-content:flex-start;gap:16px;padding:0 24px;border:0;border-radius:12px;background:transparent;color:#10213d}.teacher-portal:has(.finance-reference-page) .icon-nav a span,.teacher-portal:has(.finance-reference-page) .sidebar-action-button span{font-size:18px;font-weight:700}.teacher-portal:has(.finance-reference-page) .icon-nav a:hover,.teacher-portal:has(.finance-reference-page) .sidebar-action-button:hover{background:#edf5ff;color:#0b64e9}.teacher-portal:has(.finance-reference-page) .sidebar-actions{margin-top:auto}.finance-reference-page{min-height:100vh;background:#fbfdff;color:#071832}.finance-reference-main{padding:42px 28px 42px 52px}.finance-reference-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:36px}.finance-reference-header h1{margin:0;color:#061735;font-size:48px;line-height:1;font-weight:850}.finance-reference-header p{margin:12px 0 0;color:#60708a;font-size:18px}.finance-header-actions{display:flex;align-items:center;gap:16px}.finance-month-select{width:226px;height:58px;position:relative;display:flex;align-items:center;gap:14px;padding:0 18px;border:1px solid #dfe7f2;border-radius:10px;background:#fff;color:#0a1c36;font-weight:800}.finance-month-select input{position:absolute;inset:0;opacity:0;cursor:pointer}.finance-month-select strong{text-transform:capitalize}.finance-app-subscription,.finance-chart-card,.finance-receivables-card,.finance-register-strip,.finance-summary-card{border:1px solid #e1e8f2;border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(18,43,84,.05)}.finance-app-subscription{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:14px 18px}.finance-app-subscription span,.finance-app-subscription strong{display:block}.finance-app-subscription span{margin-top:5px;color:#60708a}.finance-app-subscription.trial{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#ffffff)}.finance-app-subscription.trial strong{color:#0759d1}.finance-app-subscription button{min-width:158px;height:44px;border:0;border-radius:8px;background:#0b64e9;color:#fff;font-weight:800}.finance-register-strip{display:flex;gap:10px;margin-bottom:18px;padding:14px;overflow-x:auto}.finance-register-strip button{min-width:190px;min-height:64px;display:grid;grid-template-columns:38px 1fr;align-items:center;grid-column-gap:10px;column-gap:10px;border:1px solid #e3eaf4;border-radius:10px;background:#f8fbff;color:#10213d;text-align:left}.finance-register-strip button span,.finance-table-row i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eaf3ff;color:#0b64e9;font-style:normal;font-weight:850}.finance-register-strip button small{grid-column:2;color:#60708a}.finance-summary-card{min-height:134px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;margin-bottom:20px}.finance-summary-card>div{padding:0 44px;border-right:1px solid #dfe7f2}.finance-summary-card>div:last-child{border-right:0}.finance-summary-card span{color:#40526f;font-size:18px}.finance-summary-card strong{display:block;margin-top:12px;font-size:34px;line-height:1}.finance-summary-card .green{color:#18a558}.finance-summary-card .orange{color:#f18400}.finance-summary-card .red{color:#e5263f}.finance-chart-card{padding:24px 24px 18px;margin-bottom:24px}.finance-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.finance-receivables-card h2,.finance-section-head h2{margin:0;color:#071832;font-size:24px}.finance-section-head div{display:flex;gap:6px}.finance-section-head button{min-width:76px;height:40px;border:1px solid #dfe7f2;background:#fff;color:#14243f;font-weight:800}.finance-section-head button:first-child{border-radius:8px 0 0 8px}.finance-section-head button:last-child{border-radius:0 8px 8px 0}.finance-section-head button.active{border-color:#0b64e9;color:#0b64e9}.finance-chart-area{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:280px 30px;grid-gap:0 16px;gap:0 16px}.finance-y-axis{display:grid;align-content:space-between;padding:4px 0 30px;color:#40526f}.finance-svg-chart{width:100%;height:280px;overflow:visible}.finance-svg-chart line{stroke:#dfe6f1;stroke-dasharray:4 5}.finance-area-path{fill:url(#financeArea)}.finance-line-path{fill:none;stroke:#4f9fd8;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.finance-svg-chart circle{fill:#4f9fd8;stroke:#fff;stroke-width:2}.finance-point-value{fill:#0b1f45;font-size:13px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:4px}.finance-x-axis{grid-column:2;display:grid;grid-template-columns:repeat(8,1fr);grid-gap:4px;gap:4px;color:#40526f;font-size:13px;font-weight:700}.finance-receivables-card{padding:24px 18px 16px}.finance-table{display:grid;margin-top:18px}.finance-table-head,.finance-table-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) minmax(110px,.8fr) 130px 118px;align-items:center;grid-gap:16px;gap:16px;min-height:58px;padding:0 10px;border-bottom:1px solid #e4ebf5}.finance-table-head{color:#40526f;font-weight:800}.finance-table-row{color:#10213d}.finance-table-row>span:first-child{display:flex;align-items:center;gap:14px;font-weight:700}.finance-table-row em{width:-moz-fit-content;width:fit-content;min-width:96px;min-height:34px;display:grid;place-items:center;border-radius:999px;font-style:normal;font-weight:800}.finance-table-row em.paid{background:#e5f8ec;color:#12833b}.finance-table-row em.pending{background:#fff1e1;color:#ef7600}.finance-table-row em.late{background:#ffe4e8;color:#e5263f}.finance-table-row button{min-height:34px;border:1px solid #dfe7f2;border-radius:8px;background:#fff;color:#0b64e9;font-weight:800}@media (max-width:1160px){.teacher-portal:has(.finance-reference-page){grid-template-columns:1fr}.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar{width:100%;min-width:0;height:auto;min-height:auto;flex-direction:row;overflow-x:auto}.finance-reference-main{padding:26px 18px;overflow-x:auto}.finance-header-actions,.finance-reference-header{flex-wrap:wrap}.finance-summary-card{grid-template-columns:1fr}.finance-summary-card>div{padding:24px;border-right:0;border-bottom:1px solid #dfe7f2}.finance-table{min-width:860px}}.teacher-portal{grid-template-columns:240px minmax(0,1fr);gap:0}.teacher-portal .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;width:240px;min-width:240px;height:100vh;min-height:100vh;align-self:start;align-items:stretch;padding:32px 16px 24px;border:0;border-right:1px solid #e7edf6;border-radius:0;background:#fbfdff;color:#203454;box-shadow:12px 0 34px rgba(18,43,84,.04);overflow:visible}.teacher-portal .compact-brand{display:flex;align-items:center;gap:12px;padding:0 6px 34px}.teacher-portal .compact-brand>div:not(.brand-mark){display:block}.teacher-portal .brand-mark{width:46px;height:46px;border-radius:12px}.teacher-portal .icon-nav{gap:12px}.teacher-portal .icon-nav a,.teacher-portal .sidebar-action-button{width:100%;min-height:52px;justify-content:flex-start;gap:14px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:#30435f}.teacher-portal .icon-nav a span,.teacher-portal .sidebar-action-button span{font-size:15px;font-weight:700}.teacher-portal .icon-nav a:hover,.teacher-portal .sidebar-action-button:hover{background:#edf5ff;color:#0b64e9}.teacher-portal .sidebar-actions{margin-top:auto}.teacher-portal .app-content,.teacher-portal .clean-shell{min-width:0}.activity-correction-panel.is-closed{display:grid;place-items:center;min-height:100vh;padding:24px}.activity-correction-panel.is-closed .student-side-close{display:none}.reopen-panel-button{min-width:170px;min-height:46px;border:1px solid #dce5f1;border-radius:10px;background:#fff;color:#0b64e9;font-weight:800}@media (max-width:980px){.teacher-portal{grid-template-columns:1fr}.teacher-portal .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;width:100%;min-width:0;height:auto;min-height:auto;flex-direction:row;overflow-x:auto}}.student-portal{grid-template-columns:220px minmax(0,1fr);gap:0}.student-portal .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;width:220px;min-width:220px;height:100vh;min-height:100vh;align-self:start;align-items:stretch;padding:32px 14px 24px;border:0;border-right:1px solid #e7edf6;border-radius:0;background:#fbfdff;color:#203454;box-shadow:12px 0 34px rgba(18,43,84,.04);overflow:visible}.student-portal .compact-brand{display:flex;align-items:center;gap:12px;padding:0 6px 34px}.student-portal .compact-brand>div:not(.brand-mark){display:block}.student-portal .brand-mark{width:44px;height:44px;border-radius:12px}.student-portal .icon-nav{gap:12px}.student-portal .icon-nav a,.student-portal .sidebar-action-button{width:100%;min-height:52px;justify-content:flex-start;gap:14px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:#30435f}.student-portal .icon-nav a span,.student-portal .sidebar-action-button span{font-size:15px;font-weight:700}.student-portal .icon-nav a:hover,.student-portal .sidebar-action-button:hover{background:#edf5ff;color:#0b64e9}.student-portal .sidebar-actions{margin-top:auto}.student-portal .app-content,.student-portal .clean-shell{min-width:0}@media (max-width:980px){.student-portal{grid-template-columns:1fr}.student-portal .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;width:100%;min-width:0;height:auto;min-height:auto;flex-direction:row;overflow-x:auto}}.student-portal,.student-portal:has(.student-home),.teacher-portal,.teacher-portal:has(.activities-reference-page),.teacher-portal:has(.finance-reference-page),.teacher-portal:has(.students-reference-page),.teacher-portal:has(.teacher-agenda-home){grid-template-columns:92px minmax(0,1fr);gap:0;overflow-x:hidden}.student-portal .teacher-icon-sidebar,.student-portal:has(.student-home) .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar,.teacher-portal:has(.activities-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;width:92px;min-width:92px;max-width:92px;height:100vh;min-height:100vh;align-self:start;align-items:center;padding:18px 12px;border:0;border-right:1px solid #e7edf6;border-radius:0;background:#fbfdff;color:#203454;box-shadow:10px 0 30px rgba(18,43,84,.04);overflow:visible;z-index:30}.student-portal .compact-brand,.student-portal:has(.student-home) .compact-brand,.teacher-portal .compact-brand,.teacher-portal:has(.activities-reference-page) .compact-brand,.teacher-portal:has(.finance-reference-page) .compact-brand,.teacher-portal:has(.students-reference-page) .compact-brand,.teacher-portal:has(.teacher-agenda-home) .compact-brand{display:grid;justify-content:center;justify-items:center;grid-gap:0;gap:0;padding:0 0 18px}.student-portal .compact-brand>div:not(.brand-mark),.student-portal:has(.student-home) .compact-brand>div:not(.brand-mark),.teacher-portal .compact-brand>div:not(.brand-mark),.teacher-portal:has(.activities-reference-page) .compact-brand>div:not(.brand-mark),.teacher-portal:has(.finance-reference-page) .compact-brand>div:not(.brand-mark),.teacher-portal:has(.students-reference-page) .compact-brand>div:not(.brand-mark),.teacher-portal:has(.teacher-agenda-home) .compact-brand>div:not(.brand-mark){display:none}.student-portal .brand-mark,.student-portal:has(.student-home) .brand-mark,.teacher-portal .brand-mark,.teacher-portal:has(.activities-reference-page) .brand-mark,.teacher-portal:has(.finance-reference-page) .brand-mark,.teacher-portal:has(.students-reference-page) .brand-mark,.teacher-portal:has(.teacher-agenda-home) .brand-mark{width:48px;height:48px;border-radius:14px;font-size:18px}.student-portal .icon-nav,.student-portal:has(.student-home) .icon-nav,.teacher-portal .icon-nav,.teacher-portal:has(.activities-reference-page) .icon-nav,.teacher-portal:has(.finance-reference-page) .icon-nav,.teacher-portal:has(.students-reference-page) .icon-nav,.teacher-portal:has(.teacher-agenda-home) .icon-nav{width:100%;display:grid;justify-items:center;grid-gap:10px;gap:10px}.student-portal .icon-nav a,.student-portal .sidebar-action-button,.student-portal:has(.student-home) .icon-nav a,.student-portal:has(.student-home) .sidebar-action-button,.teacher-portal .icon-nav a,.teacher-portal .sidebar-action-button,.teacher-portal:has(.activities-reference-page) .icon-nav a,.teacher-portal:has(.activities-reference-page) .sidebar-action-button,.teacher-portal:has(.finance-reference-page) .icon-nav a,.teacher-portal:has(.finance-reference-page) .sidebar-action-button,.teacher-portal:has(.students-reference-page) .icon-nav a,.teacher-portal:has(.students-reference-page) .sidebar-action-button,.teacher-portal:has(.teacher-agenda-home) .icon-nav a,.teacher-portal:has(.teacher-agenda-home) .sidebar-action-button{width:54px;min-width:54px;max-width:54px;min-height:54px;justify-content:center;gap:0;padding:0;border:0;border-radius:14px;background:transparent;color:#425574;box-shadow:none}.student-portal .icon-nav a span,.student-portal .sidebar-action-button span,.student-portal:has(.student-home) .icon-nav a span,.student-portal:has(.student-home) .sidebar-action-button span,.teacher-portal .icon-nav a span,.teacher-portal .sidebar-action-button span,.teacher-portal:has(.activities-reference-page) .icon-nav a span,.teacher-portal:has(.activities-reference-page) .sidebar-action-button span,.teacher-portal:has(.finance-reference-page) .icon-nav a span,.teacher-portal:has(.finance-reference-page) .sidebar-action-button span,.teacher-portal:has(.students-reference-page) .icon-nav a span,.teacher-portal:has(.students-reference-page) .sidebar-action-button span,.teacher-portal:has(.teacher-agenda-home) .icon-nav a span,.teacher-portal:has(.teacher-agenda-home) .sidebar-action-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.student-portal .icon-nav a:hover,.student-portal .sidebar-action-button:hover,.teacher-portal .icon-nav a:hover,.teacher-portal .sidebar-action-button:hover{background:#eef5ff;color:#0b64e9;transform:translateY(-1px)}.student-portal .sidebar-actions,.student-portal:has(.student-home) .sidebar-actions,.teacher-portal .sidebar-actions,.teacher-portal:has(.finance-reference-page) .sidebar-actions{width:100%;margin-top:auto;display:grid;justify-items:center;grid-gap:10px;gap:10px}.student-portal .app-content,.student-portal .clean-shell,.student-portal .clean-shell>*,.teacher-portal .app-content,.teacher-portal .clean-shell,.teacher-portal .clean-shell>*{min-width:0}.activities-reference-page,.finance-reference-page,.student-home,.students-reference-page,.teacher-agenda-home{width:100%;min-width:0;overflow-x:hidden}.teacher-agenda-home{grid-template-columns:minmax(0,190px) minmax(0,1fr) minmax(260px,300px)}.student-home{grid-template-columns:minmax(0,1fr) minmax(280px,320px)}.students-reference-page{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}.activities-reference-page{grid-template-columns:minmax(0,1fr) minmax(330px,380px)}.activity-correction-panel,.student-edit-panel-ref,.student-side-panel,.teacher-detail-panel{position:-webkit-sticky;position:sticky;top:0;max-width:100%;min-width:0;z-index:2}.activities-reference-main,.finance-reference-main,.student-main-column,.students-reference-main,.teacher-agenda-main{min-width:0;overflow-x:auto}@media (max-width:1320px){.activities-reference-page,.student-home,.students-reference-page,.teacher-agenda-home{grid-template-columns:1fr}.activity-correction-panel,.student-edit-panel-ref,.student-side-panel,.teacher-detail-panel{position:static;height:auto;min-height:auto;border-left:0;border-top:1px solid #e5ecf6}}@media (max-width:760px){.student-portal,.student-portal:has(.student-home),.teacher-portal,.teacher-portal:has(.activities-reference-page),.teacher-portal:has(.finance-reference-page),.teacher-portal:has(.students-reference-page),.teacher-portal:has(.teacher-agenda-home){grid-template-columns:1fr}.student-portal .teacher-icon-sidebar,.student-portal:has(.student-home) .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar,.teacher-portal:has(.activities-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{width:100%;min-width:0;max-width:none;height:76px;min-height:76px;flex-direction:row;padding:10px 12px;overflow-x:auto}.student-portal .compact-brand,.teacher-portal .compact-brand{padding:0}.student-portal .icon-nav,.teacher-portal .icon-nav{grid-auto-flow:column;grid-auto-columns:54px;width:auto}}.auth-shell,.flow-landing{min-height:100vh;background:radial-gradient(circle at 78% 16%,rgba(11,100,233,.08),transparent 32%),radial-gradient(circle at 10% 88%,rgba(11,100,233,.07),transparent 30%),#fbfdff;color:#071832;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.flow-landing{padding:26px clamp(18px,3vw,42px) 34px}.flow-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto 32px;max-width:1500px}.auth-brand,.flow-logo{display:inline-flex;align-items:center;gap:12px;color:#061a46;text-decoration:none}.auth-brand span,.flow-logo span{display:grid;place-items:center;color:#0b64e9}.flow-logo strong{font-size:clamp(28px,3vw,38px);letter-spacing:0}.flow-header nav{display:flex;align-items:center;gap:28px}.flow-header nav a{color:#061a46;font-size:16px;font-weight:600;text-decoration:none}.flow-login-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border:0;border-radius:9px;background:#0b64e9;color:white!important;box-shadow:0 14px 30px rgba(11,100,233,.24);cursor:pointer;font-size:16px;font-weight:800;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.flow-login-button:hover{transform:translateY(-2px);background:#0759d4;box-shadow:0 18px 34px rgba(11,100,233,.3)}.flow-hero{display:grid;grid-template-columns:minmax(360px,.66fr) minmax(700px,1.34fr);grid-gap:clamp(34px,4vw,56px);gap:clamp(34px,4vw,56px);align-items:center;max-width:1500px;margin:0 auto}.flow-copy{display:grid;grid-gap:28px;gap:28px}.flow-copy h1{max-width:520px;margin:0;color:#051747;font-size:clamp(44px,5vw,70px);line-height:1.09;letter-spacing:0}.flow-copy p{max-width:520px;margin:0;color:#53627d;font-size:clamp(18px,1.8vw,24px);line-height:1.5}.flow-role-grid{grid-template-columns:repeat(2,minmax(190px,1fr));max-width:470px}.flow-role-card,.flow-role-grid{display:grid;grid-gap:14px;gap:14px}.flow-role-card{justify-items:center;min-height:295px;padding:34px 24px 28px;border:1px solid #d9e2ef;border-radius:14px;background:rgba(255,255,255,.72);color:#071832;text-align:center;text-decoration:none;box-shadow:0 18px 46px rgba(16,40,82,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.flow-role-card:hover{transform:translateY(-4px);border-color:rgba(11,100,233,.42);box-shadow:0 22px 54px rgba(16,40,82,.12)}.flow-role-card svg{color:#0b64e9}.flow-role-card strong{color:#071832;font-size:23px;line-height:1.15}.flow-role-card span{color:#51617c;font-size:16px;line-height:1.45}.flow-role-card em{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:#eaf2ff;color:#0b64e9;font-style:normal;font-size:25px}.flow-create-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:-moz-fit-content;width:fit-content;margin-left:130px;color:#0b64e9;font-size:18px;font-weight:700;text-decoration:none}.flow-preview{display:grid;grid-template-columns:170px minmax(480px,1fr) 250px;min-height:670px;border:1px solid #dce4ef;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(16,40,82,.12);overflow:hidden}.flow-preview-sidebar{display:grid;align-content:start;grid-gap:12px;gap:12px;padding:28px 12px;border-right:1px solid #e6edf6;color:#21324d}.flow-preview-brand{display:flex;align-items:center;gap:10px;padding:0 10px 18px;color:#071832}.flow-preview-brand svg{color:#0b64e9}.flow-preview-sidebar small,.flow-preview-sidebar span{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:6px;font-size:14px;font-weight:600}.flow-preview-sidebar span.active{background:#eaf3ff;color:#0b64e9}.flow-preview-sidebar small{margin-top:116px}.flow-calendar{padding:32px 18px 26px;min-width:0}.flow-calendar-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:22px;gap:22px;margin-bottom:24px}.flow-calendar-head h2{margin:0;color:#071832;font-size:23px}.flow-calendar-head div{display:flex;gap:10px}.flow-calendar-head button{min-width:48px;min-height:36px;border:1px solid #dce4ef;border-radius:8px;background:#fff;color:#071832;font-weight:700}.flow-calendar-grid,.flow-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.flow-weekdays span{padding:12px 10px;border:1px solid #e4ebf4;border-bottom:0;color:#4b5b77;font-size:12px;font-weight:800;text-align:center}.flow-calendar-grid{border-left:1px solid #e4ebf4;border-top:1px solid #e4ebf4}.flow-calendar-grid>div{position:relative;min-height:98px;padding:12px 8px;border-right:1px solid #e4ebf4;border-bottom:1px solid #e4ebf4;background:rgba(255,255,255,.54)}.flow-calendar-grid>div.selected>span{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#0b64e9;color:white}.flow-calendar-grid small{display:block;width:-moz-fit-content;width:fit-content;max-width:86px;margin-top:14px;padding:7px 8px;border-radius:5px;font-size:11px;line-height:1.35}.flow-calendar-grid small.green{background:#dff7e7;color:#0f6b35}.flow-calendar-grid small.purple{background:#ede3ff;color:#4d2a9b}.flow-calendar-grid small.yellow{background:#fff1c8;color:#71510b}.flow-calendar-grid small.blue{background:#e0efff;color:#0b4ea2}.flow-calendar-grid small.active{box-shadow:inset 0 0 0 2px #0b64e9}.flow-legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px;color:#31415d;font-size:13px}.flow-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:999px;background:#9bdcae}.flow-legend span:nth-child(2):before{background:#a78bfa}.flow-legend span:nth-child(3):before{background:#f7c948}.flow-legend span:nth-child(4):before{background:#93c5fd}.flow-preview-rail{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:32px 16px;border-left:1px solid #e6edf6;background:rgba(255,255,255,.55)}.flow-date-card,.flow-small-card,.flow-student-card{display:grid;grid-gap:10px;gap:10px;padding:16px;border:1px solid #e0e8f3;border-radius:8px;background:#fff;box-shadow:0 12px 24px rgba(16,40,82,.05)}.flow-date-card div{padding:12px 14px;border-left:4px solid #9b7cf8;border-radius:8px;background:#fbfcff}.flow-date-card b,.flow-date-card small,.flow-date-card span{display:block;margin-top:4px}.flow-student-card span{display:grid;place-items:center;width:58px;height:58px;border-radius:999px;background:linear-gradient(135deg,#dfeeff,#fff);color:#0b64e9;font-weight:900}.flow-student-card button{width:-moz-fit-content;width:fit-content;min-height:34px;padding:0 12px;border:1px solid #dce8fb;border-radius:7px;background:#fff;color:#0b64e9;font-weight:700}.flow-small-card small{width:-moz-fit-content;width:fit-content;padding:5px 10px;border-radius:999px;background:#ddf7e8;color:#14783f}.flow-class-button{min-height:54px;border:0;border-radius:8px;background:#0b64e9;color:white;font-size:17px;font-weight:800}.flow-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0;gap:0;max-width:1500px;margin:38px auto 0;padding:28px 34px;border:1px solid #dce4ef;border-radius:14px;background:rgba(255,255,255,.7);box-shadow:0 18px 46px rgba(16,40,82,.06)}.flow-benefits article{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center;padding:8px 34px;color:#0b64e9}.flow-benefits article+article{border-left:1px solid #dbe4f0}.flow-benefits strong{color:#071832;font-size:18px}.flow-benefits p{margin:8px 0 0;color:#53627d;line-height:1.45}.auth-shell{display:grid;place-items:center;padding:36px 18px}.auth-shell:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 calc(100% - 1px),rgba(11,100,233,.04) calc(100% - 1px)) 0 0 /86px 86px,linear-gradient(transparent 0 calc(100% - 1px),rgba(11,100,233,.04) calc(100% - 1px)) 0 0 /86px 86px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 76%);mask-image:radial-gradient(circle at center,black,transparent 76%)}.auth-panel-card{position:relative;z-index:1;display:grid;grid-gap:16px;gap:16px;width:min(100%,440px);padding:34px;border:1px solid #dce4ef;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 24px 70px rgba(16,40,82,.12)}.auth-register-card{width:min(100%,560px)}.auth-brand{justify-content:center;margin-bottom:4px}.auth-brand strong{color:#071832;font-size:24px}.auth-heading{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center}.auth-heading h1{margin:0;color:#071832;font-size:clamp(30px,4vw,40px);line-height:1.08}.auth-heading p{max-width:380px;margin:0;color:#53627d;line-height:1.45}.auth-panel-card .label{color:#1b2b46;font-size:14px;font-weight:800}.auth-panel-card .input{min-height:52px;margin-top:7px;border:1px solid #d7e1ee;border-radius:9px;background:#fff;color:#071832;box-shadow:none}.auth-panel-card .input:focus{border-color:#0b64e9;outline:3px solid rgba(11,100,233,.12)}.auth-panel-card .password-field button{color:#0b64e9;font-weight:800}.auth-submit{width:100%;margin-top:4px}.auth-panel-card .auth-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:4px}.auth-panel-card .forgot-link,.auth-panel-card a{color:#0b64e9;font-weight:800;text-decoration:none}@media (max-width:1180px){.flow-hero{grid-template-columns:1fr}.flow-preview{grid-template-columns:150px minmax(0,1fr)}.flow-preview-rail{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.flow-class-button{grid-column:1/-1}}@media (max-width:760px){.flow-header,.flow-header nav{align-items:flex-start;flex-direction:column}.flow-benefits,.flow-preview,.flow-preview-rail,.flow-role-grid{grid-template-columns:1fr}.flow-create-link{margin-left:0}.flow-preview-sidebar{display:none}.flow-calendar{overflow-x:auto}.flow-calendar-grid,.flow-weekdays{min-width:680px}.flow-benefits article{padding:18px 4px}.flow-benefits article+article{border-left:0;border-top:1px solid #dbe4f0}}.smart-lesson-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);min-height:100vh;background:#fbfdff;color:#071832}.smart-main{min-width:0;padding:42px clamp(20px,4vw,54px);overflow-x:auto}.smart-header h1,.student-history-page h1{max-width:760px;margin:6px 0 10px;color:#071832;font-size:clamp(34px,4vw,54px);line-height:1.05}.smart-header p,.student-history-page p{margin:0;color:#60708a;font-size:17px}.smart-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin:26px 0}.empty-smart-editor,.smart-generate-card,.smart-metrics article,.student-report-card{border:1px solid #dfe7f1;border-radius:14px;background:rgba(255,255,255,.88);box-shadow:0 18px 46px rgba(16,40,82,.06)}.smart-metrics article{padding:18px}.smart-metrics span{color:#60708a;font-weight:700}.smart-metrics strong{display:block;margin-top:8px;color:#071832;font-size:34px}.smart-alerts,.smart-demo-box,.smart-progress-card,.smart-report-preview{border:1px solid #dfe7f1;border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 18px 46px rgba(16,40,82,.06)}.smart-alerts{display:grid;grid-gap:10px;gap:10px;margin-bottom:24px;padding:20px}.smart-alerts h2,.smart-progress-card h3{margin:0;color:#071832}.smart-alerts p{margin:0;color:#526174;line-height:1.5}.smart-generate-card{display:grid;grid-gap:12px;gap:12px;padding:22px;margin-bottom:24px}.smart-generate-card h2{margin:0 0 4px;color:#071832}.smart-generate-card p{margin:0;color:#60708a}.smart-editor-fields input,.smart-editor-fields textarea,.smart-generate-card input,.smart-generate-card select,.smart-generate-card textarea{width:100%;min-height:46px;border:1px solid #d7e1ee;border-radius:9px;background:#fff;color:#071832;padding:11px 12px;font:inherit}.smart-editor-fields textarea,.smart-generate-card textarea{min-height:96px;resize:vertical}.smart-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.smart-filter-row button{min-height:42px;border:1px solid #dce5f1;border-radius:9px;background:#fff;color:#203454;padding:0 14px;font-weight:800}.smart-filter-row button.active{background:#0b64e9;color:#fff;border-color:#0b64e9}.smart-report-list{display:grid;grid-gap:10px;gap:10px}.smart-demo-box{display:grid;grid-gap:12px;gap:12px;padding:18px}.smart-demo-box strong{color:#071832}.smart-demo-box article{border:1px solid #e6edf6;border-radius:12px;padding:14px;background:#f8fbff}.smart-demo-box span{color:#0b64e9;font-size:12px;font-weight:900}.smart-demo-box h3{margin:6px 0;color:#071832}.smart-demo-box p{margin:0;color:#60708a}.smart-report-list button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:74px;border:1px solid #dfe7f1;border-radius:12px;background:#fff;color:#071832;padding:14px 16px;text-align:left}.smart-report-list button.active{border-color:rgba(11,100,233,.5);box-shadow:inset 4px 0 0 #0b64e9}.smart-report-list small{display:block;margin-top:5px;color:#60708a}.smart-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:0 11px;font-size:12px;font-style:normal;font-weight:900}.smart-status.success{background:#dcf7e7;color:#117a3d}.smart-status.info{background:#e5f0ff;color:#0b64e9}.smart-status.warning{background:#fff2c7;color:#8a5b00}.smart-status.neutral{background:#edf1f7;color:#526174}.smart-editor{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;padding:34px 24px;border-left:1px solid #e4ebf5;background:rgba(255,255,255,.94);box-shadow:-16px 0 32px rgba(18,43,84,.05)}.empty-smart-editor{display:grid;align-content:center;min-height:260px;padding:24px}.empty-smart-editor h2,.smart-editor-head h2{margin:8px 0;color:#071832}.smart-editor-head p{margin:0 0 18px;color:#60708a}.smart-progress-card{display:grid;grid-gap:12px;gap:12px;margin-bottom:18px;padding:16px}.smart-progress-card dl{display:grid;grid-gap:8px;gap:8px;margin:0}.smart-progress-card dt{color:#60708a;font-size:12px;font-weight:900;text-transform:uppercase}.smart-progress-card dd{margin:0 0 8px;color:#203454;line-height:1.45}.smart-editor-fields{display:grid;grid-gap:13px;gap:13px}.smart-editor-fields label{display:grid;grid-gap:7px;gap:7px;color:#203454;font-size:13px;font-weight:900}.smart-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:18px}.smart-actions .side-primary{grid-column:1/-1}.smart-copy-row{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.smart-copy-row span{color:#117a3d;font-weight:800}.smart-report-preview{white-space:pre-wrap;margin:18px 0 0;padding:16px;color:#526174;font:13px/1.55 inherit}.smart-lesson-actions-inline{display:grid;grid-gap:10px;gap:10px;margin-bottom:14px}.student-history-page{min-height:100vh;padding:42px clamp(20px,4vw,54px);background:#fbfdff}.student-report-grid,.student-timeline{display:grid;grid-gap:18px;gap:18px;margin-top:26px}.student-report-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.student-timeline{position:relative;max-width:960px}.student-evolution-card{display:grid;grid-gap:18px;gap:18px;max-width:960px;margin-top:26px;border:1px solid #dfe7f1;border-radius:18px;background:radial-gradient(circle at top left,rgba(11,100,233,.12),transparent 34%),#fff;box-shadow:0 18px 46px rgba(16,40,82,.08);padding:22px}.student-evolution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-evolution-head h2{margin:4px 0 0;color:#071832;font-size:clamp(34px,6vw,54px);line-height:1}.student-evolution-head em{border-radius:999px;padding:8px 12px;font-style:normal;font-weight:900}.student-evolution-head em.up{background:#dcf7e7;color:#117a3d}.student-evolution-head em.down{background:#fee2e2;color:#b91c1c}.student-evolution-chart{height:220px;border:1px solid #e3ebf6;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#fff);padding:14px}.student-evolution-chart svg{width:100%;height:100%;overflow:visible}.student-evolution-chart .grid-line{stroke:#d9e4f2;stroke-width:.45;stroke-dasharray:2 2;fill:none}.student-evolution-chart .area-line{fill:rgba(11,100,233,.12);stroke:none}.student-evolution-chart .score-line{fill:none;stroke:url(#evolutionLine);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.student-evolution-chart circle{fill:#fff;stroke:#0b64e9;stroke-width:2.2;vector-effect:non-scaling-stroke}.student-evolution-insight{border-left:4px solid #0b64e9;border-radius:12px;background:#f7fbff;padding:14px 16px}.student-evolution-insight strong{color:#071832}.student-evolution-insight p{margin-top:6px;color:#526174;line-height:1.5}.student-timeline:before{content:"";position:absolute;top:8px;bottom:8px;left:12px;width:2px;background:#dce7f8}.student-timeline-card{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:18px;gap:18px}.timeline-dot{position:relative;z-index:1;width:26px;height:26px;margin-top:24px;border:5px solid #dcecff;border-radius:50%;background:#0b64e9;box-shadow:0 0 0 6px #fbfdff}.student-report-card{display:grid;grid-gap:18px;gap:18px;padding:24px}.student-report-card span{color:#0b64e9;font-size:13px;font-weight:900}.student-report-card h2{margin:6px 0 8px;color:#071832}.student-report-card dl{display:grid;grid-gap:8px;gap:8px;margin:0}.student-report-card dt{color:#203454;font-weight:900}.student-report-card dd{margin:0 0 8px;color:#60708a;line-height:1.45}.student-report-card small{display:block;padding-top:14px;border-top:1px solid #e4ebf5;color:#60708a;line-height:1.45}@media (max-width:1100px){.smart-lesson-page{grid-template-columns:1fr}.smart-editor{position:static;height:auto;border-left:0;border-top:1px solid #e4ebf5}.smart-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.smart-actions,.smart-metrics{grid-template-columns:1fr}}.demo-app-page,.demo-hub-page{min-height:100vh;background:radial-gradient(circle at top left,rgba(11,100,233,.12),transparent 32%),linear-gradient(135deg,#f8fbff,#ffffff);color:#071832}.demo-hub-page{display:grid;place-items:center;padding:32px}.demo-hub-card{width:min(780px,100%);display:grid;grid-gap:18px;gap:18px;padding:clamp(28px,5vw,52px);border:1px solid #dfe7f1;border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 28px 80px rgba(16,40,82,.12);text-align:center}.demo-hub-card h1{font-size:clamp(34px,6vw,64px);line-height:1.02}.demo-hub-card p{max-width:620px;margin:0 auto;color:#53627d;font-size:18px;line-height:1.55}.demo-hub-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.demo-hub-actions a,.demo-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:10px;padding:0 18px;background:#0b64e9;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(11,100,233,.22)}.demo-hub-actions a+a{background:#071832}.demo-link-list{display:grid;grid-gap:12px;gap:12px;margin-top:8px;text-align:left}.demo-link-list article{display:grid;grid-gap:6px;gap:6px;padding:16px;border:1px solid #dfe7f1;border-radius:14px;background:rgba(248,251,255,.9)}.demo-link-list strong{color:#071832;font-size:15px}.demo-link-list span{color:#53627d;font-size:14px}.demo-link-list a{color:#0b64e9;font-size:13px;font-weight:800;overflow-wrap:anywhere}.demo-app-page{display:grid;grid-template-columns:224px minmax(0,1fr)}.demo-sidebar{display:grid;align-content:start;grid-gap:24px;gap:24px;min-height:100vh;padding:28px 16px;border-right:1px solid #dfe7f1;background:rgba(255,255,255,.8)}.demo-sidebar.light{background:linear-gradient(180deg,#f7fbff,#ffffff)}.demo-logo{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0b64e9;color:#fff;font-weight:950;box-shadow:0 14px 28px rgba(11,100,233,.24)}.demo-sidebar nav{display:grid;grid-gap:8px;gap:8px}.demo-sidebar nav span{min-height:46px;display:flex;align-items:center;border-radius:10px;padding:0 14px;color:#40506b;font-weight:800}.demo-sidebar nav span.active{background:#eaf3ff;color:#0b64e9}.demo-sidebar small{margin-top:auto;color:#071832;font-weight:900}.demo-main-panel{display:grid;grid-gap:22px;gap:22px;padding:26px}.demo-calendar,.demo-evolution-public,.demo-mini-card,.demo-right-panel,.demo-student-calendar,.demo-student-hero,.demo-topbar{border:1px solid #dfe7f1;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 18px 46px rgba(16,40,82,.07)}.demo-topbar{display:flex;justify-content:space-between;gap:18px;padding:14px}.demo-topbar label{flex:1 1;display:grid;grid-gap:4px;gap:4px;color:#60708a;font-size:12px;font-weight:900}.demo-topbar input{width:100%;min-height:44px;border:1px solid #d8e2ef;border-radius:10px;padding:0 14px;color:#53627d}.demo-user{display:grid;place-items:center;padding:0 16px;border-radius:999px;background:#071832;color:#fff;font-weight:900}.demo-student-grid,.demo-teacher-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:20px;gap:20px}.demo-calendar,.demo-student-calendar{padding:22px}.demo-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.demo-section-head h1{font-size:34px}.demo-right-panel button,.demo-section-head button{min-height:42px;border:1px solid #d8e2ef;border-radius:10px;background:#fff;color:#071832;font-weight:900}.demo-eyebrow{color:#0b64e9;font-size:12px;font-weight:950;text-transform:uppercase}.demo-month-grid,.demo-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.demo-weekdays span{padding:10px;color:#40506b;font-size:12px;font-weight:900;text-align:center}.demo-month-grid{overflow:hidden;border:1px solid #e3ebf6;border-radius:14px}.demo-month-grid div{min-height:94px;border-right:1px solid #e3ebf6;border-bottom:1px solid #e3ebf6;padding:10px}.demo-month-grid div.selected{background:#edf5ff}.demo-month-grid small{display:block;width:-moz-fit-content;width:fit-content;margin-top:8px;border-radius:6px;padding:5px 7px;font-size:11px;font-weight:800}.demo-mini-card .green,.demo-month-grid .green{background:#dcf7e7;color:#117a3d}.demo-mini-card .orange,.demo-month-grid .orange{background:#ffedd5;color:#c2410c}.demo-mini-card .blue,.demo-month-grid .blue{background:#dbeafe;color:#0b64e9}.demo-right-panel{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:22px}.demo-student-focus{display:flex;align-items:center;gap:12px}.demo-student-focus span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#eaf3ff;color:#0b64e9;font-weight:950}.demo-ai-card{border-left:4px solid #0b64e9;border-radius:12px;background:#f7fbff;padding:14px}.demo-ai-card span{color:#0b64e9;font-weight:950}.demo-card-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.demo-mini-card{padding:18px}.demo-mini-card span{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.demo-student-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;grid-gap:18px;gap:18px;padding:24px}.demo-student-hero h1{font-size:clamp(38px,5vw,64px)}.demo-evolution-public p,.demo-mini-card p,.demo-right-panel p,.demo-student-hero p{color:#53627d}.demo-student-hero article{border-radius:16px;background:#f7fbff;padding:18px}.demo-lessons-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.demo-lessons-grid article{min-height:156px;display:grid;align-content:center;grid-gap:8px;gap:8px;border-radius:14px;padding:16px;background:#edf5ff}.demo-lessons-grid .green{background:#e8f8ed}.demo-lessons-grid .gold{background:#fff3d8}.demo-lessons-grid .active{background:#0b64e9;color:#fff;box-shadow:0 18px 38px rgba(11,100,233,.24)}.demo-right-panel.student label{display:flex;gap:10px;align-items:flex-start;color:#40506b;font-weight:800}.demo-evolution-public{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:22px;gap:22px;align-items:center;padding:24px}.demo-evolution-public h2{color:#071832;font-size:54px}.demo-evolution-public svg{width:100%;height:180px;overflow:visible}.demo-evolution-public path{fill:none;stroke:#0b64e9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.demo-evolution-public circle{fill:#fff;stroke:#22c55e;stroke-width:3;vector-effect:non-scaling-stroke}.demo-real-page{grid-template-columns:236px minmax(0,1fr);background:#f8fbff}.demo-real-sidebar{display:grid;grid-template-rows:auto 1fr auto;grid-gap:28px;gap:28px;min-height:100vh;padding:28px 16px;border-right:1px solid #dfe7f1;background:rgba(255,255,255,.92)}.demo-real-sidebar.student{background:linear-gradient(180deg,#ffffff,#f5f9ff)}.demo-real-brand{display:flex;align-items:center;gap:12px}.demo-real-brand strong,.demo-real-sidebar small{color:#071832;font-weight:950}.demo-real-brand span{display:block;color:#60708a;font-size:12px;font-weight:800}.demo-real-sidebar nav{display:grid;align-content:start;grid-gap:8px;gap:8px}.demo-real-sidebar nav span{min-height:48px;display:flex;align-items:center;border-radius:12px;padding:0 14px;color:#40506b;font-weight:900}.demo-real-sidebar nav span.active{background:#eaf3ff;color:#0b64e9;box-shadow:inset 3px 0 0 #0b64e9}.demo-real-main{display:grid;grid-gap:22px;gap:22px;padding:24px}.demo-real-topbar{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr) auto;align-items:center;grid-gap:18px;gap:18px;padding:18px;border:1px solid #dfe7f1;border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 18px 46px rgba(16,40,82,.07)}.demo-real-topbar h1{font-size:clamp(28px,4vw,44px)}.demo-real-topbar label{display:grid;grid-gap:4px;gap:4px;color:#60708a;font-size:12px;font-weight:900}.demo-real-topbar input{width:100%;min-height:44px;border:1px solid #d8e2ef;border-radius:12px;padding:0 14px;color:#53627d}.demo-real-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.demo-real-card{border:1px solid #dfe7f1;border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 18px 46px rgba(16,40,82,.07);padding:22px}.demo-span-2{grid-column:span 2}.demo-span-3{grid-column:1/-1}.demo-real-card h2{color:#071832;font-size:clamp(24px,3vw,34px)}.demo-real-card p,.demo-real-card small{color:#53627d}.demo-activity-table,.demo-class-list,.demo-student-activities{display:grid;grid-gap:12px;gap:12px}.demo-activity-table>div,.demo-class-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:64px;border:1px solid #e3ebf6;border-radius:14px;padding:12px;background:#f8fbff}.demo-card-headline span,.demo-class-list span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#071832;font-weight:950}.demo-card-headline .green,.demo-class-list .green{background:#dcf7e7}.demo-card-headline .orange,.demo-class-list .orange{background:#ffedd5}.demo-card-headline .blue,.demo-class-list .blue{background:#dbeafe}.demo-activity-table em,.demo-class-list em{border-radius:999px;padding:6px 10px;background:#eaf3ff;color:#0b64e9;font-size:12px;font-style:normal;font-weight:900}.demo-focus-card{display:grid;align-content:start;grid-gap:14px;gap:14px}.demo-student-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.demo-student-cards article{display:grid;grid-gap:12px;gap:12px;border:1px solid #e3ebf6;border-radius:16px;padding:16px;background:#f8fbff}.demo-card-headline{display:flex;align-items:center;gap:12px}.demo-progress{height:6px;overflow:hidden;border-radius:999px;background:#dde7f4}.demo-progress span{display:block;height:100%;border-radius:inherit;background:#0b64e9}.demo-money-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e3ebf6;padding-top:12px;color:#0f9f5f}.demo-money-row.danger{color:#e11d48}.demo-activity-table>div{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) auto auto}.demo-student-dashboard{grid-template-columns:minmax(0,1fr) 320px}.demo-student-dashboard,.demo-student-main{display:grid;grid-gap:18px;gap:18px}.demo-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.demo-summary-row article{border:1px solid #dfe7f1;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 18px 46px rgba(16,40,82,.07);padding:18px}.demo-summary-row span{color:#0b64e9;font-size:13px;font-weight:900}.demo-summary-row strong{display:block;margin:8px 0;color:#071832;font-size:28px}.demo-week-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.demo-week-board article{min-height:160px;display:grid;align-content:start;grid-gap:10px;gap:10px;border:1px solid #e3ebf6;border-radius:16px;padding:14px;background:#f8fbff}.demo-week-board article.active{border-color:#0b64e9;background:#eaf3ff;box-shadow:inset 0 0 0 2px rgba(11,100,233,.12)}.demo-week-board .green{background:#eefaf2}.demo-week-board .gold{background:#fff8e6}.demo-week-board .purple{background:#f3edff}.demo-week-board small,.demo-week-board span{color:#53627d;font-weight:900}.demo-week-board div{border-radius:12px;background:#fff;padding:10px}.demo-week-board em{display:block;color:#0b64e9;font-size:12px;font-style:normal;font-weight:900}.demo-student-activities details{border:1px solid #e3ebf6;border-radius:14px;background:#f8fbff;padding:14px}.demo-student-activities summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.demo-student-activities summary span{border-radius:999px;background:#eaf3ff;color:#0b64e9;padding:5px 9px;font-size:12px;font-weight:900}.demo-student-aside{display:grid;align-content:start;grid-gap:16px;gap:16px}@media (max-width:980px){.demo-app-page,.demo-evolution-public,.demo-real-grid,.demo-real-page,.demo-real-topbar,.demo-student-dashboard,.demo-student-grid,.demo-student-hero,.demo-summary-row,.demo-teacher-grid,.demo-week-board{grid-template-columns:1fr}.demo-real-sidebar,.demo-sidebar{min-height:auto}.demo-card-row,.demo-lessons-grid,.demo-student-cards{grid-template-columns:1fr}.demo-span-2,.demo-span-3{grid-column:auto}.demo-activity-table>div,.demo-class-list>div{grid-template-columns:1fr}}.teacher-mobile-quick-panel{display:none}@media (max-width:760px){.student-portal .clean-shell,.teacher-portal .clean-shell{min-height:100vh}.student-portal .teacher-icon-sidebar,.student-portal:has(.student-home) .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar,.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:68px;min-height:68px;padding:8px 10px;border-right:0;border-bottom:1px solid #e4ebf5;box-shadow:0 10px 26px rgba(8,22,48,.08)}.student-portal .compact-brand,.teacher-portal .compact-brand{width:auto;min-width:42px;flex:0 0 auto}.student-portal .compact-brand>div:not(.brand-mark),.student-portal .sidebar-actions,.teacher-portal .compact-brand>div:not(.brand-mark),.teacher-portal .sidebar-actions{display:none}.student-portal .icon-nav,.student-portal:has(.student-home) .icon-nav,.teacher-portal .icon-nav,.teacher-portal:has(.finance-reference-page) .icon-nav,.teacher-portal:has(.students-reference-page) .icon-nav,.teacher-portal:has(.teacher-agenda-home) .icon-nav{display:grid;grid-auto-flow:column;grid-auto-columns:52px;grid-gap:6px;gap:6px;width:100%;overflow-x:auto;padding:0 2px 4px;scrollbar-width:none}.student-portal .icon-nav::-webkit-scrollbar,.teacher-portal .icon-nav::-webkit-scrollbar{display:none}.student-portal .icon-nav a,.student-portal:has(.student-home) .icon-nav a,.teacher-portal .icon-nav a,.teacher-portal:has(.finance-reference-page) .icon-nav a,.teacher-portal:has(.students-reference-page) .icon-nav a,.teacher-portal:has(.teacher-agenda-home) .icon-nav a{width:52px;height:48px;border-radius:16px;padding:0;flex:0 0 52px;background:#f8fbff}.student-portal .icon-nav a span,.student-portal:has(.student-home) .icon-nav a span,.teacher-portal .icon-nav a span,.teacher-portal:has(.finance-reference-page) .icon-nav a span,.teacher-portal:has(.students-reference-page) .icon-nav a span,.teacher-portal:has(.teacher-agenda-home) .icon-nav a span{display:none}.teacher-portal .icon-nav a:nth-child(6){display:none}.student-portal .app-content,.teacher-portal .app-content{padding:12px}.teacher-portal:has(.teacher-agenda-home) .app-content{padding:10px}.teacher-portal:has(.teacher-agenda-home) .teacher-agenda-home{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;padding:0;overflow:visible}.teacher-mobile-quick-panel{display:grid;grid-gap:14px;gap:14px;padding:16px;border:1px solid #dce7f6;border-radius:24px;background:#ffffff;box-shadow:0 18px 45px rgba(8,22,48,.1)}.mobile-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-section-head span{display:block;color:#0b64e9;font-size:12px;font-weight:800;text-transform:uppercase}.mobile-section-head h2{margin:2px 0 0;color:#071832;font-size:24px;letter-spacing:0}.mobile-section-head a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:14px;background:#0b64e9;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 12px 24px rgba(11,100,233,.24)}.teacher-mobile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.teacher-mobile-stats article{min-width:0;padding:12px 10px;border:1px solid #e4ebf5;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#ffffff)}.mobile-agenda-item small,.mobile-empty-state span,.teacher-mobile-stats span{color:#58708f;font-size:12px;line-height:1.35}.teacher-mobile-stats strong{display:block;margin-top:4px;color:#071832;font-size:clamp(18px,5vw,24px);line-height:1.05;overflow-wrap:anywhere}.mobile-agenda-list{display:grid;grid-gap:10px;gap:10px}.mobile-agenda-item{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:12px;border:1px solid #dce7f6;border-radius:20px;background:#fbfdff;color:#071832;text-align:left;box-shadow:0 10px 24px rgba(8,22,48,.06)}.mobile-agenda-item.active{border-color:#0b64e9;background:#eef5ff;box-shadow:0 14px 30px rgba(11,100,233,.16)}.mobile-date-pill{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#0b64e9;color:#fff}.mobile-date-pill strong{font-size:19px;line-height:1}.mobile-date-pill small{color:rgba(255,255,255,.86);font-size:11px;font-weight:800;text-transform:uppercase}.mobile-agenda-item>span:nth-child(2){min-width:0;display:grid;grid-gap:4px;gap:4px}.mobile-agenda-item>span:nth-child(2) strong{overflow:hidden;color:#071832;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.mobile-agenda-item em{padding:8px 10px;border-radius:999px;background:#e9f2ff;color:#0b64e9;font-size:12px;font-style:normal;font-weight:800}.mobile-empty-state{display:grid;grid-gap:4px;gap:4px;padding:16px;border:1px dashed #c6d6ec;border-radius:18px;background:#f8fbff}.teacher-portal:has(.teacher-agenda-home) .calendar-toolbar,.teacher-portal:has(.teacher-agenda-home) .month-grid-clean,.teacher-portal:has(.teacher-agenda-home) .teacher-calendar-board,.teacher-portal:has(.teacher-agenda-home) .teacher-student-rail{display:none}.teacher-portal:has(.teacher-agenda-home) .teacher-detail-panel{position:static;display:grid;grid-gap:14px;gap:14px;width:100%;min-height:auto;padding:16px;border:1px solid #dce7f6;border-radius:24px;background:#ffffff;box-shadow:0 18px 45px rgba(8,22,48,.1)}.teacher-portal:has(.teacher-agenda-home) .student-side-close{display:none}.teacher-portal:has(.teacher-agenda-home) .detail-profile{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px}.teacher-portal:has(.teacher-agenda-home) .detail-photo{width:58px;height:58px;border-radius:20px}.teacher-portal:has(.teacher-agenda-home) .detail-lines{display:grid;grid-gap:8px;gap:8px}.teacher-portal:has(.teacher-agenda-home) .detail-lines p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:12px;border:1px solid #e4ebf5;border-radius:16px;background:#f8fbff}.teacher-portal:has(.teacher-agenda-home) .lesson-action-box{gap:10px;padding:14px;border-radius:20px}.teacher-portal:has(.teacher-agenda-home) .smart-lesson-actions-inline{grid-template-columns:1fr}.teacher-portal:has(.teacher-agenda-home) .lesson-action-box button,.teacher-portal:has(.teacher-agenda-home) .lesson-action-box input,.teacher-portal:has(.teacher-agenda-home) .outline-action,.teacher-portal:has(.teacher-agenda-home) .side-primary{min-height:48px;border-radius:16px;font-size:15px}.teacher-portal:has(.teacher-agenda-home) .teacher-day-tasks{display:none}}@media (max-width:760px){body,html{max-width:100%;overflow-x:hidden}.activities-reference-page,.app-content,.app-glass-shell,.card,.clean-shell,.finance-reference-page,.glass-card,.portal-tab,.smart-lesson-page,.stack,.student-home,.student-main-area,.student-portal,.students-reference-page,.teacher-agenda-home,.teacher-portal{max-width:100%;min-width:0;overflow-x:hidden}.student-portal,.student-portal:has(.student-home),.teacher-portal,.teacher-portal:has(.activities-reference-page),.teacher-portal:has(.finance-reference-page),.teacher-portal:has(.students-reference-page),.teacher-portal:has(.teacher-agenda-home){display:block;padding-bottom:86px;background:#f8fbff}.student-portal .teacher-icon-sidebar,.student-portal:has(.student-home) .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar,.teacher-portal:has(.activities-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{position:fixed;inset:auto 10px 10px;z-index:80;width:auto;max-width:none;min-width:0;height:66px;min-height:66px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(207,220,238,.9);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(8,22,48,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.student-portal .compact-brand,.student-portal .sidebar-actions,.teacher-portal .compact-brand,.teacher-portal .sidebar-actions{display:none}.student-portal .icon-nav,.student-portal:has(.student-home) .icon-nav,.teacher-portal .icon-nav,.teacher-portal:has(.activities-reference-page) .icon-nav,.teacher-portal:has(.finance-reference-page) .icon-nav,.teacher-portal:has(.students-reference-page) .icon-nav,.teacher-portal:has(.teacher-agenda-home) .icon-nav{width:100%;display:flex;justify-content:space-around;gap:4px;padding:0;overflow:visible}.student-portal .icon-nav a,.student-portal:has(.student-home) .icon-nav a,.teacher-portal .icon-nav a,.teacher-portal:has(.activities-reference-page) .icon-nav a,.teacher-portal:has(.finance-reference-page) .icon-nav a,.teacher-portal:has(.students-reference-page) .icon-nav a,.teacher-portal:has(.teacher-agenda-home) .icon-nav a{width:50px;min-width:44px;max-width:54px;height:50px;flex:1 1 44px;padding:0;border-radius:18px;background:transparent}.student-portal .icon-nav a:hover,.teacher-portal .icon-nav a:hover{transform:translateY(-2px)}.student-portal .icon-nav a span,.student-portal .icon-nav a:after,.teacher-portal .icon-nav a span,.teacher-portal .icon-nav a:after{display:none!important}.teacher-portal .icon-nav a:nth-child(6){display:none}.student-portal .clean-shell,.teacher-portal .clean-shell{display:block;min-height:100vh;padding:0;background:transparent}.student-portal .clean-topbar,.teacher-portal .clean-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;padding:12px 14px;border-bottom:1px solid #e6edf7;background:rgba(248,251,255,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.student-portal .app-title-block h1,.teacher-portal .app-title-block h1{font-size:26px;line-height:1.05}.student-portal .app-title-block .eyebrow,.teacher-portal .app-title-block .eyebrow{font-size:11px}.student-portal .app-search,.student-portal .header-message-button,.student-portal .profile-chip span,.teacher-portal .app-search,.teacher-portal .header-message-button,.teacher-portal .profile-chip span{display:none}.student-portal .app-header-actions,.teacher-portal .app-header-actions{gap:8px}.student-portal .app-content,.teacher-portal .app-content,.teacher-portal:has(.teacher-agenda-home) .app-content{width:100%;padding:12px}.activities-reference-header,.finance-reference-header,.panel-header,.section-intro,.smart-header,.student-greeting,.students-reference-header{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.activities-reference-header h1,.finance-reference-header h1,.panel-header h1,.section-intro h2,.smart-header h1,.student-greeting h1,.students-reference-header h1{font-size:clamp(28px,9vw,38px);line-height:1.04}.activities-reference-header p,.finance-reference-header p,.panel-header p,.section-intro p,.smart-header p,.student-greeting p,.students-reference-header p{font-size:15px;line-height:1.45}.activities-reference-tools,.correction-actions,.finance-header-actions,.finance-summary-card,.grid,.grid-2,.grid-3,.language-options,.portal-card-grid,.smart-actions,.smart-metrics,.student-edit-actions,.student-evolution-kpis,.student-evolution-layout,.student-insight-grid,.student-summary-grid,.students-reference-tools,.support-shortcuts,.teacher-mobile-stats{display:grid;grid-template-columns:1fr!important;grid-gap:10px;gap:10px}.activities-reference-page,.finance-reference-page,.smart-lesson-page,.student-home,.student-portal:has(.student-home) .student-home,.students-reference-page{display:grid;grid-template-columns:1fr!important;grid-gap:12px;gap:12px}.activity-correction-panel,.smart-editor,.student-edit-panel-ref,.student-side-panel,.teacher-detail-panel{position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:auto!important;height:auto!important;border-left:0!important;border-top:1px solid #e4ebf5;border-radius:22px!important;box-shadow:0 14px 32px rgba(8,22,48,.08)}.student-side-close{display:none}.activity-filter-tabs button,.activity-row-action,.btn,.finance-app-subscription button,.language-options button,.new-student-button,.outline-action,.side-primary,.smart-filter-row button,.students-filter-tabs button{width:100%;min-height:46px;border-radius:16px;justify-content:center;font-size:15px}.finance-month-select,.input,.message-file-picker,.students-search,input,select,textarea{width:100%!important;max-width:100%;min-height:46px;font-size:16px}.textarea,textarea{min-height:120px}.activity-filter-tabs,.smart-filter-row,.students-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;padding-bottom:4px;scrollbar-width:none}.activity-filter-tabs::-webkit-scrollbar,.smart-filter-row::-webkit-scrollbar,.students-filter-tabs::-webkit-scrollbar{display:none}.activity-filter-tabs button,.smart-filter-row button,.students-filter-tabs button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px);width:auto;padding:0 14px}.finance-register-strip,.student-card-grid{display:grid;grid-template-columns:1fr!important;grid-gap:10px;gap:10px}.card,.finance-summary-card>div,.glass-card,.portal-summary-card,.smart-metrics article,.student-evolution-kpis article,.student-profile-card-ref,.student-profile-kpi,.student-summary-card{border-radius:20px}.student-profile-card-ref{min-height:auto;padding:14px}.student-card-top{grid-template-columns:52px minmax(0,1fr) auto}.student-card-head small,.student-card-head strong,.student-card-top h2,.student-card-top p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-create-panel,.smart-editor-fields,.smart-generate-card,.student-edit-form-ref{display:grid;grid-template-columns:1fr!important;grid-gap:10px;gap:10px}.activity-table,.compact-data-table,.data-table,.finance-table{display:grid;grid-gap:10px;gap:10px;min-width:0!important;width:100%;overflow:visible!important}.activity-table-head,.finance-table-head{display:none!important}.activity-table-row,.data-row,.finance-table-row{display:grid!important;grid-template-columns:1fr!important;grid-gap:8px;gap:8px;width:100%;min-width:0!important;padding:14px;border:1px solid #e2ebf6;border-radius:18px;background:#fff;text-align:left}.activity-table-row>span,.data-row>span,.finance-table-row>span{min-width:0}.activity-doc-icon{display:none}.activity-title-cell small,.activity-title-cell strong,.finance-table-row small,.finance-table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-progress-cell i{width:100%}.activity-correction-panel.is-closed{min-height:auto;padding:12px}.correction-selector-row,.grade-control>div,.smart-copy-row{display:grid;grid-template-columns:1fr!important;grid-gap:10px;gap:10px}.grade-control>div{grid-template-columns:46px minmax(0,1fr) 46px auto!important}.finance-chart-card,.message-thread,.smart-report-preview,.student-activity-evolution,.student-evolution-home-card,.student-evolution-main-chart,.submitted-file-preview div,.support-chat-window{max-width:100%;overflow-x:hidden}.finance-chart-area,.student-evolution-chart-wrap,.student-evolution-home-card svg,.student-evolution-main-chart svg{width:100%;min-width:0}.finance-chart-area{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:236px 34px;grid-gap:0 8px;gap:0 8px;padding-left:0}.finance-y-axis{display:grid;align-content:space-between;padding:8px 0 34px;font-size:10px;line-height:1}.finance-svg-chart{height:236px}.finance-point-value{font-size:10px;stroke-width:3px}.finance-x-axis{grid-column:2;grid-template-columns:repeat(4,1fr);row-gap:2px;font-size:10px}.finance-x-axis span:nth-child(odd){display:none}.student-mobile-agenda-card{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid #dce7f6;border-radius:22px;background:#fff;box-shadow:0 14px 32px rgba(8,22,48,.08)}.mobile-section-head .side-primary{width:auto;min-width:112px;padding-inline:14px}.student-evolution-home-labels,.student-evolution-labels,.student-week-card{display:none}.chart-panel-head,.finance-section-head,.student-evolution-home-head,.student-evolution-title{display:grid;grid-template-columns:1fr!important;grid-gap:8px;gap:8px}.student-evolution-home-head strong{justify-self:start}.continue-row{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:10px;gap:10px}.continue-row .continue-progress,.continue-row a,.continue-row em{grid-column:1/-1}.message-compose-form,.message-composer-card{display:grid;grid-gap:10px;gap:10px}.message-bubble,.support-message{max-width:92%}.notification-popover{position:fixed;inset:64px 12px auto;width:auto;max-width:none}}@media (min-width:761px){.student-mobile-agenda-card{display:none}}.student-portal .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar{isolation:isolate}.student-portal .icon-nav,.student-portal .sidebar-actions,.teacher-portal .icon-nav,.teacher-portal .sidebar-actions{position:relative;z-index:2}@media (min-width:761px){.student-portal .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar{display:flex;flex-direction:column}.student-portal .sidebar-actions,.teacher-portal .sidebar-actions{display:grid;margin-top:auto}}@media (max-width:760px){.student-portal .teacher-icon-sidebar,.student-portal:has(.student-home) .teacher-icon-sidebar,.teacher-portal .teacher-icon-sidebar,.teacher-portal:has(.activities-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{display:grid!important;grid-template-columns:minmax(0,1fr) 50px;grid-gap:6px;gap:6px;overflow:visible}.student-portal .icon-nav,.student-portal:has(.student-home) .icon-nav,.teacher-portal .icon-nav,.teacher-portal:has(.activities-reference-page) .icon-nav,.teacher-portal:has(.finance-reference-page) .icon-nav,.teacher-portal:has(.students-reference-page) .icon-nav,.teacher-portal:has(.teacher-agenda-home) .icon-nav{min-width:0;display:flex!important;align-items:center;justify-content:space-between;overflow:visible}.student-portal .icon-nav a,.teacher-portal .icon-nav a,.teacher-portal .icon-nav a:nth-child(6),.teacher-portal:has(.activities-reference-page) .icon-nav a:nth-child(6),.teacher-portal:has(.finance-reference-page) .icon-nav a:nth-child(6),.teacher-portal:has(.students-reference-page) .icon-nav a:nth-child(6),.teacher-portal:has(.teacher-agenda-home) .icon-nav a:nth-child(6){display:grid!important;place-items:center;width:auto;min-width:0;max-width:none;height:50px;flex:1 1}.student-portal .sidebar-actions,.student-portal:has(.student-home) .sidebar-actions,.teacher-portal .sidebar-actions,.teacher-portal:has(.finance-reference-page) .sidebar-actions{display:flex!important;align-items:center;justify-content:center;width:50px;margin:0}.student-portal .share-app,.teacher-portal .share-app{display:none!important}.student-portal .logout,.student-portal .sidebar-action-button,.teacher-portal .logout,.teacher-portal .sidebar-action-button{display:grid!important;place-items:center;width:50px;min-width:50px;height:50px;padding:0;border-radius:18px;color:#0b1f45;background:#f8fbff}.student-portal .sidebar-action-button span,.teacher-portal .sidebar-action-button span{display:none!important}.student-portal .icon-nav a svg,.student-portal .sidebar-action-button svg,.teacher-portal .icon-nav a svg,.teacher-portal .sidebar-action-button svg{width:20px;height:20px;pointer-events:none}}@media (max-width:760px){.teacher-portal .teacher-icon-sidebar,.teacher-portal:has(.activities-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.finance-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.students-reference-page) .teacher-icon-sidebar,.teacher-portal:has(.teacher-agenda-home) .teacher-icon-sidebar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;grid-gap:4px;gap:4px;height:66px;padding:8px}.student-portal .teacher-icon-sidebar,.student-portal:has(.student-home) .teacher-icon-sidebar{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;grid-gap:4px;gap:4px;height:66px;padding:8px}.student-portal .icon-nav,.student-portal .sidebar-actions,.student-portal:has(.student-home) .icon-nav,.teacher-portal .icon-nav,.teacher-portal .sidebar-actions,.teacher-portal:has(.activities-reference-page) .icon-nav,.teacher-portal:has(.finance-reference-page) .icon-nav,.teacher-portal:has(.students-reference-page) .icon-nav,.teacher-portal:has(.teacher-agenda-home) .icon-nav{display:contents!important}.student-portal .icon-nav a,.student-portal .logout,.student-portal .sidebar-action-button,.teacher-portal .icon-nav a,.teacher-portal .logout,.teacher-portal .sidebar-action-button{width:100%!important;min-width:0!important;max-width:none!important;height:50px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;align-self:center;justify-self:stretch;border-radius:16px}.student-portal .icon-nav a svg,.student-portal .sidebar-action-button svg,.teacher-portal .icon-nav a svg,.teacher-portal .sidebar-action-button svg{display:block;margin:0 auto}}