@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_3cd16e{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_3cd16e{--font-nunito:"Nunito","Nunito Fallback"}@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--radius:0.75rem}*{@apply border-slate-200}body{@apply bg-slate-50 text-slate-900}.level-chip{@apply inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-xs font-semibold}.level-k1{@apply bg-orange-100 text-orange-700}.level-k2{@apply bg-amber-100 text-amber-700}.level-juniors{@apply bg-green-100 text-green-700}.level-starters{@apply bg-cyan-100 text-cyan-700}.level-movers{@apply bg-indigo-100 text-indigo-700}.level-flyers{@apply bg-violet-100 text-violet-700}.domain-listening{@apply bg-blue-100 text-blue-700}.domain-speaking{@apply bg-green-100 text-green-700}.domain-reading{@apply bg-amber-100 text-amber-700}.domain-writing{@apply bg-rose-100 text-rose-700}.domain-grammar{@apply bg-purple-100 text-purple-700}.domain-phonics{@apply bg-orange-100 text-orange-700}}@layer components{.progress-bar{@apply h-2 rounded-full bg-slate-200 overflow-hidden}.progress-bar-fill{@apply h-full rounded-full transition-all duration-700 ease-out;width:var(--progress-width,0)}.score-0{@apply bg-slate-100 text-slate-500 border border-slate-200}.score-1{@apply bg-orange-50 text-orange-600 border border-orange-200}.score-2{@apply bg-yellow-50 text-yellow-600 border border-yellow-200}.score-3{@apply bg-green-50 text-green-700 border border-green-200}.score-4{@apply bg-brand-50 text-brand-700 border border-brand-200}.card{@apply bg-white rounded-2xl border border-slate-200 shadow-sm}.lesson-plan-viewer{-moz-user-select:none;user-select:none;-webkit-user-select:none;pointer-events:none}.lesson-plan-viewer a,.lesson-plan-viewer button{pointer-events:none}.lesson-plan-viewer.allow-scroll{pointer-events:auto;overflow-y:auto}}.field-label{display:block;font-size:12px;font-weight:700;color:#3d5166;margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}.field-input,.field-label{font-family:Nunito,sans-serif}.field-input{width:100%;padding:9px 13px;border-radius:10px;border:1.5px solid #d8e4f0;color:#1a2332;font-size:13.5px;font-weight:500;background:white;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.field-input:focus{border-color:#27629B;box-shadow:0 0 0 3px rgba(39,98,155,.12)}.field-input::placeholder{color:#b0c4d4;font-weight:400}.field-input:disabled{background:#F4F7FB;color:#9fb3c8;cursor:not-allowed}select.field-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239fb3c8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}textarea.field-input{min-height:80px;resize:vertical;line-height:1.5}button,input,select,textarea{font-family:Nunito,sans-serif}.desktop-sidebar{display:flex}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1.5px solid #e8eef5;z-index:100;box-shadow:0 -4px 20px rgba(39,98,155,.08)}.r-grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.r-grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.r-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.r-stack{display:flex;flex-direction:column;gap:14px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:12px}.page-title{font-size:22px;font-weight:900;color:#1a2332;margin:0 0 4px}.page-subtitle{font-size:13px;color:#7a93ad;margin:0;font-weight:500}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:10px;border:none;background:#27629B;color:white;font-size:13px;font-weight:700;cursor:pointer;font-family:Nunito,sans-serif;text-decoration:none;transition:opacity .15s}.btn-primary:hover{opacity:.88}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:1.5px solid #d8e4f0;background:white;color:#3d5166;font-size:13px;font-weight:700;cursor:pointer;font-family:Nunito,sans-serif;text-decoration:none;transition:background .15s}.btn-secondary:hover{background:#F4F7FB}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:10px 14px;text-align:left;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#7a93ad;border-bottom:1.5px solid #e8eef5;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid #f5f7fb}.data-table tbody tr:hover{background:#F8FAFD}.data-table tbody td{padding:12px 14px;font-size:13px;color:#2c3e50}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.progress-track{height:7px;background:#E8EEF5;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:#27629B;border-radius:99px;transition:width .5s ease}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot.active{background:#ACCB46}.status-dot.inactive{background:#D8E4F0}.topbar{height:58px;background:white;border-bottom:1.5px solid #e8eef5;align-items:center;justify-content:space-between;padding:0 24px}.sidebar,.topbar{display:flex;flex-shrink:0}.sidebar{width:240px;background:#1a2d47;flex-direction:column;height:100vh;overflow-y:auto}.step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;border:2px solid #e8eef5;background:white;color:#9fb3c8;transition:all .2s}.step-circle.active{background:#27629B;border-color:#27629B;color:white}.step-circle.done{background:#ACCB46;border-color:#ACCB46;color:white}.animate-fade-in{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:768px){.desktop-sidebar{display:none!important}.mobile-bottom-nav{display:block}main{padding:12px 12px 80px!important}.topbar{padding:0 14px;height:52px}.page-header{flex-direction:column;align-items:flex-start}.page-header .btn-primary,.page-header .btn-secondary{width:100%;justify-content:center}.r-grid-3,.r-grid-4{grid-template-columns:repeat(2,1fr);gap:10px}.r-grid-2{grid-template-columns:1fr;gap:10px}.data-table thead th{font-size:9.5px;padding:8px 10px}.data-table tbody td{font-size:12.5px;padding:10px}.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}}@media (max-width:480px){.r-grid-4{grid-template-columns:repeat(2,1fr);gap:8px}.page-title{font-size:19px}}.grid-4,.r-grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.grid-3,.r-grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.grid-2,.r-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.stat-card{background:white;border-radius:16px;border:1.5px solid #e8eef5;padding:18px;display:flex;flex-direction:column;gap:8px}.stat-card.blue{border-top:3px solid #27629b}.stat-card.green{border-top:3px solid #accb46}.stat-card.yellow{border-top:3px solid #fcbd30}.stat-card.teal{border-top:3px solid #00a5ae}.stat-card.red{border-top:3px solid #ea5355}.stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.stat-icon.blue{background:#EEF4FA;color:#27629B}.stat-icon.green{background:#F4FAE8;color:#6a8a1c}.stat-icon.yellow{background:#FEF8E8;color:#c99800}.stat-icon.teal{background:#E5F7F8;color:#006e74}.stat-icon.red{background:#FDEEED;color:#b82527}.quick-action-card{background:white;border-radius:14px;border:1.5px solid #e8eef5;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;cursor:pointer;transition:all .15s;font-family:Nunito,sans-serif}.quick-action-card:hover{border-color:#27629B;background:#F8FAFD;transform:translateY(-1px)}@media (max-width:768px){.grid-3,.grid-4,.r-grid-3,.r-grid-4{grid-template-columns:repeat(2,1fr);gap:10px}.grid-2,.r-grid-2{grid-template-columns:1fr;gap:10px}}