:root{--bg:#f6f7f4;--ink:#20392f;--muted:#738079;--green:#235e4e;--light:#eaf1e9;--line:#e3e7df;--orange:#d5a45e;--white:#fff;--radius:14px;font-family:Inter,"Noto Sans Devanagari",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b99856;outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1.3px;line-height:1.25;font-weight:650}h2{font-size:20px;font-weight:650;letter-spacing:-.45px}h3{font-size:20px}p{line-height:1.7}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;color:var(--muted);margin-bottom:12px}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:700;white-space:nowrap}.brand-symbol{height:42px;width:42px;flex-shrink:0;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:500}.brand small{display:block;font-size:8px;letter-spacing:1.9px;margin-top:5px;color:var(--muted)}.sidebar>.brand{margin:0 4px 40px}.sidebar-label{color:#98a099;font-size:9px;letter-spacing:1.5px;font-weight:750;margin:18px 12px 12px}nav a{display:flex;align-items:center;gap:12px;color:#718077;padding:13px 12px;border-radius:8px;margin:4px 0;font-size:13px;font-weight:550}nav a:hover{background:#f6f7f4}nav a.selected{color:var(--green);background:var(--light)}.nav-icon{font-size:21px;width:22px;text-align:center;font-weight:400}.sidebar-bottom{margin-top:auto;font-size:11px;color:var(--muted);padding:26px 12px 0}.sidebar-bottom p{margin-top:22px}.sidebar-bottom strong{font-weight:600;color:#52695d}.school-note{line-height:1.8}.live-dot{display:inline-block;background:#7c9b70;height:6px;width:6px;border-radius:50%;margin-right:7px}.app-body{margin-left:248px}.guest .app-body{margin:0}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:#ffffffb0;gap:20px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 16px;color:#bdc5bd}.top-actions{display:flex;align-items:center;gap:22px;margin-left:auto}.language{border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px 12px;white-space:nowrap;color:#4b6053}.language span{margin-left:6px}.user-info{display:flex;align-items:center;gap:10px}.user-info strong{display:block;font-size:12px;font-weight:600}.user-info small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e9ecdf;color:#667c55;font-family:Georgia,serif;font-size:18px}.logout{padding:8px 0;background:transparent;color:var(--muted);font-size:11px}.menu-toggle{display:none;background:transparent;font-size:23px;color:var(--green)}main{max-width:1480px;margin:auto;padding:38px 42px 50px}footer{font-size:10px;color:#95a095;margin:12px 42px 25px;text-align:center}footer span{margin:0 8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading p{font-size:13px;color:var(--muted);margin-top:10px}.greeting-dot{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border-radius:8px;font-size:12px;font-weight:600;line-height:20px;white-space:nowrap;min-height:44px}.primary{background:var(--green);color:white;box-shadow:0 3px 5px #123d2910}.primary:hover{background:#174c3d}.secondary{background:#fff;border:1px solid var(--line);color:var(--green)}.pale{background:#ffffff16;color:#fff;border:1px solid #ffffff35}.full-width{width:100%}.exam-banner{display:flex;align-items:center;gap:22px;background:#245e4e;color:white;border-radius:var(--radius);padding:25px 28px;position:relative;overflow:hidden;margin-bottom:25px}.exam-symbol{font-size:34px;background:#ffffff10;border:1px solid #ffffff20;width:62px;height:64px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.exam-banner .eyebrow{color:#b6d0bd;font-size:9px;margin-bottom:9px;display:flex;align-items:center;gap:14px}.exam-banner h2{font-size:21px}.exam-banner p{color:#b4cbbb;font-size:11px;margin-top:7px}.badge{font-size:10px;padding:5px 9px;border-radius:5px;font-weight:550;display:inline-block;white-space:nowrap;letter-spacing:0}.badge.light{background:#ffffff19;color:#dcebd5;border:1px solid #ffffff15}.badge.success{background:#eaf2e7;color:#4d7b41}.badge.amber{background:#faf0da;color:#9c7a2f}.badge.danger{background:#f9e9e4;color:#b36950}.exam-picker{margin-left:auto;display:grid;grid-template-columns:1fr auto;gap:5px 8px;max-width:310px}.exam-picker label{grid-column:1/-1;color:#bed2c4;font-size:10px}.exam-picker select{background:#ffffff12;color:#fff;border-color:#ffffff30;width:100%;font-size:11px}.exam-picker select option{color:var(--ink);background:#fff}.exam-picker .button{min-height:38px;padding:5px 11px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:0 0 35px}.stat{border:1px solid var(--line);border-radius:12px;background:white;padding:20px 21px}.stat-label{display:flex;justify-content:space-between;align-items:center;color:#657769;font-size:11px;font-weight:500}.stat-label span{font-size:17px;color:#839277}.stat>strong{font-size:34px;font-weight:600;display:block;letter-spacing:-1px;margin:12px 0 9px}.stat strong em{font-size:21px;color:#8c9a8b;font-style:normal;margin-left:3px}.stat>small{font-size:10px;color:#94a08f}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 18px}.section-heading p{font-size:12px;color:var(--muted);margin-top:6px}.subtle-tag{font-size:10px;color:#83917e;background:#ecf0e8;padding:7px 10px;border-radius:5px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.class-card{padding:23px;border:1px solid var(--line);border-radius:12px;background:white;transition:transform .2s,border-color .2s}.class-card:hover{border-color:#94b18f;transform:translateY(-3px)}.class-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.class-symbol{display:grid;place-items:center;min-width:42px;height:42px;padding:6px;border-radius:11px;background:#edf1e8;color:#63815b;font-size:18px;font-weight:550}.class-card:nth-child(2) .class-symbol{background:#f7eddf;color:#b18d50}.class-card:nth-child(3) .class-symbol{background:#e9eef1;color:#769199}.arrow{font-size:19px;color:#a1ad9c}.class-card h3{font-size:18px;margin-bottom:6px}.class-card p{font-size:11px;color:var(--muted)}.class-meta{display:flex;gap:14px;color:#7d8b77;font-size:10px;margin:17px 0 20px;padding-bottom:17px;border-bottom:1px solid #f0f2ed}.progress-caption{display:flex;justify-content:space-between;font-size:10px;color:#92a08e;margin-bottom:9px}.progress-caption strong{font-size:10px;color:#668358}.progress{height:5px;border-radius:5px;background:#edf1e9;overflow:hidden}.progress i{display:block;height:100%;border-radius:5px;background:#88a379}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;color:#899683;font-weight:600;background:#fcfcfa;padding:15px 23px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:17px 23px;border-bottom:1px solid #eef0e9;color:#63715f}tr:last-child td{border-bottom:0}td strong{color:#344d3d;font-weight:550}td small,th small,.subject-row small{display:block;font-size:10px;color:#98a18f;margin-top:6px}tbody tr:hover{background:#fdfefb}.text-link{font-size:11px;font-weight:600;color:var(--green)}.empty{text-align:center;padding:35px;color:#899580;font-size:13px;white-space:normal;grid-column:1/-1}.back-link{font-size:12px;display:inline-block;margin:0 0 20px;color:var(--muted)}.form-panel{padding:26px}.form-panel h2{margin-bottom:12px}.form-panel>p{font-size:12px;margin-bottom:20px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5a705e;font-weight:550}input,select{border:1px solid #dce3d7;border-radius:7px;background:#fff;color:var(--ink);padding:11px 12px;min-width:0;min-height:42px}input::placeholder{color:#a4ada0}input[type=checkbox]{accent-color:var(--green);width:20px;height:20px;min-height:20px;cursor:pointer}input:disabled{background:#f0f2ed;color:#a5afa0}.inline-form{display:flex;align-items:end;gap:16px}.inline-form label{flex:1}.inline-form p{flex:2;font-size:12px}.management-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-actions{display:flex;gap:10px;align-items:end}.row-actions{display:flex;gap:18px;align-items:center}.small{padding:4px 10px;min-height:36px}.delete-button{background:transparent;color:#ad7e6a;font-size:11px;padding:10px}.notice{background:#ecf1e7;border-radius:8px;padding:15px 20px;font-size:12px;color:#6e8163;margin:20px 0}.filters{display:flex;gap:15px;padding:22px;align-items:end}.filters label{flex:1;min-width:0}.subject-list{margin-top:24px}.subject-row{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:13px}.subject-row>div{flex:1}.assignment-form{display:flex;gap:8px}.assignment-form select{max-width:210px}.score-input{max-width:110px}.save-bar{position:sticky;bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 25px #20392f10;z-index:5}.save-bar span{font-size:12px}.alert{padding:15px 20px;border-radius:8px;margin-bottom:20px;font-size:13px;line-height:1.6;background:#e9f0e4;color:#4d7040}.alert.error{background:#f9e9e4;color:#995940}.error-page{text-align:center;padding:70px 20px}.error-page p{margin:20px 0}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;max-width:1050px;margin:45px auto 20px;align-items:center}.login-story h1{font-size:48px;line-height:1.18;font-weight:550;letter-spacing:-2px}.login-story h1 em{color:#6f8960;font-style:normal}.login-story>p{max-width:420px;font-size:13px;color:var(--muted);margin-top:24px}.login-card{padding:42px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 15px 50px #20392f05}.login-card h2{font-size:28px;margin-bottom:12px}.login-card>p{font-size:12px}.login-card form{margin-top:30px}.login-card label{margin-bottom:20px}.login-card .button{margin-top:8px;justify-content:space-between}.login-help{border-top:1px solid var(--line);padding-top:23px;margin-top:27px;color:#899580;font-size:11px!important}.illustration{height:240px;position:relative;margin-top:30px;max-width:400px}.sheet{position:absolute;left:40px;top:0;width:255px;height:220px;background:#fff;transform:rotate(-5deg);border:1px solid #dce3d5;border-radius:12px;padding:24px;box-shadow:8px 8px 0 #e5ebde}.sheet-title{font-size:15px;display:flex;justify-content:space-between;margin-bottom:20px}.sheet-title span{background:#e9f0df;border-radius:50%;height:24px;width:24px;text-align:center;color:#789367}.sheet-line{height:5px;background:#eaf0e4;width:100%;border-radius:4px;margin:8px 0}.sheet-line.short{width:60%}.fake-chart{height:83px;display:flex;align-items:end;gap:13px;padding-top:8px;margin-bottom:12px}.fake-chart i{background:#a7b99a;flex:1;border-radius:4px 4px 0 0}.fake-chart i:last-child{background:#d7b46f}.floating-label{position:absolute;right:0;bottom:25px;background:#f5ead3;color:#947545;border:1px solid #e9d8b2;border-radius:8px;padding:14px 20px;transform:rotate(3deg);font-size:12px;box-shadow:0 5px 15px #344d3d10}
@media(min-width:1500px){main{padding-top:48px}.class-card{padding:28px}.stats-grid{gap:22px}}@media(max-width:1200px){.sidebar{width:215px;padding:28px 14px}.sidebar .brand{font-size:18px;gap:8px}.app-body{margin-left:215px}main{padding:28px}.topbar{padding:0 28px}.exam-banner{flex-wrap:wrap}.exam-picker{max-width:none;width:100%;margin-left:84px}.stats-grid{gap:12px}.stat{padding:17px}.class-card{padding:18px}.login-layout{gap:45px}.login-story h1{font-size:42px}.user-info{display:none}}@media(max-width:900px){.sidebar{width:210px}.app-body{margin-left:210px}.class-grid{grid-template-columns:1fr}.class-card{display:block}.stats-grid{grid-template-columns:repeat(2,1fr)}.breadcrumb{font-size:10px}.top-actions{gap:15px}.page-heading{align-items:start}.page-heading h1{font-size:29px}.page-heading .button{padding:9px 12px}.filters{flex-wrap:wrap}.filters label{flex:1 1 40%}.subject-row{flex-wrap:wrap}.assignment-form{flex:1}.section-heading .subtle-tag{display:none}.inline-form{flex-wrap:wrap}.inline-form p{flex:1 1 100%}.login-layout{gap:30px}.login-story h1{font-size:34px}.login-card{padding:28px}}
@media(max-width:650px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:15px 0 40px #10271b20}.menu-open .sidebar{transform:translateX(0)}.menu-open .app-body:before{content:'';position:fixed;inset:65px 0 0 260px;background:#122b2530;z-index:15}.app-body{margin:0}.topbar{height:65px;padding:0 18px;position:sticky;top:0;z-index:25;background:#fff}.menu-toggle{display:block;padding:3px 6px}.breadcrumb{font-size:11px}.breadcrumb span,.breadcrumb{white-space:nowrap}.breadcrumb{overflow:hidden;text-overflow:ellipsis}.top-actions{gap:12px}.language{padding:7px 10px;font-size:12px}.language span{display:none}.logout{font-size:10px}main{padding:26px 18px 30px}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-heading h1{font-size:29px}.eyebrow{font-size:9px;letter-spacing:1.4px}.page-heading p{font-size:12px}.exam-banner{padding:21px 18px;gap:14px}.exam-symbol{width:44px;height:48px;font-size:27px}.exam-banner>div:nth-child(2){flex:1}.exam-banner h2{font-size:18px;line-height:1.5}.exam-banner .eyebrow{flex-wrap:wrap;gap:8px;font-size:8px;letter-spacing:1px}.exam-picker{margin:7px 0 0}.exam-picker select{max-width:100%}.stat{padding:17px 15px}.stat-label{font-size:10px;gap:4px}.stat>strong{font-size:30px}.stat>small{font-size:9px}.stats-grid{margin-bottom:28px}.section-heading{margin-top:26px}.section-heading h2{font-size:19px}.section-heading p{font-size:11px}.class-grid{gap:13px}.class-card{padding:21px}.class-top{margin-bottom:12px}.class-meta{margin:13px 0}.class-card h3{font-size:21px}.class-symbol{width:42px}.table-wrap{margin-right:0}th,td{padding:14px 15px}.form-panel{padding:20px 17px}.management-form{grid-template-columns:1fr;gap:16px}.inline-form{flex-direction:column;align-items:stretch}.inline-form label,.inline-form p{flex:auto}.filters{padding:17px;gap:15px}.filters label{flex:1 1 100%}.filters button{width:100%}.assignment-form{width:100%;flex:auto}.assignment-form select{max-width:none;width:100%}.subject-row>div{flex:1 1 100%}.subject-row{gap:12px}.save-bar{padding:13px;gap:12px;bottom:8px}.save-bar span{font-size:10px}.save-bar .button{padding:10px 14px}footer{margin:15px 18px 25px;font-size:9px}.login-layout{display:flex;flex-direction:column;gap:26px;margin:8px auto 0;max-width:440px;align-items:stretch}.login-story h1{font-size:33px;letter-spacing:-1px}.login-story h1 br:nth-of-type(1){display:none}.login-story>p{font-size:12px;margin-top:15px}.illustration{display:none}.login-card{padding:27px 23px;border-radius:14px}.login-card h2{font-size:26px}.guest .brand{font-size:18px;gap:9px}.guest .brand-symbol{height:34px;width:34px;font-size:24px}.guest .topbar{position:static}.row-actions{gap:14px}.score-input{width:86px}}
@media print{.sidebar,.topbar,footer,.form-panel,.filters,.save-bar,.print-button,.back-link{display:none!important}.app-body{margin:0}body{background:#fff}main{padding:0}.panel{border:0}.table-wrap{overflow:visible}table{white-space:normal}th,td{padding:9px;font-size:10px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:24px}.badge{border:1px solid #aaa}.text-link{display:none}}
.logout{white-space:nowrap}@media(max-width:650px){input,select{font-size:16px}.exam-picker select{font-size:12px}.sidebar{top:65px}.sidebar>.brand{margin-bottom:20px}.sidebar-bottom{padding-top:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
[hidden]{display:none!important}.download-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.sidebar{overflow-y:auto}.sidebar-bottom{flex-shrink:0}@media(max-width:650px){.download-actions .button{flex:1 1 100%}}

/* Keep class actions and the account link accessible on smaller screens. */
.sidebar{overflow-y:auto}.subject-row{flex-wrap:wrap}.page-heading{flex-wrap:wrap}

/* Optional subjects */
.optional-subject-options{border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:16px;display:flex;flex-wrap:wrap;gap:16px 24px}
.optional-subject-options legend{font-size:12px;color:var(--muted);padding:0 6px}
.optional-subject-options label{flex-direction:row;align-items:center;gap:8px}
.optional-subject-options input{width:18px;height:18px;padding:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.subject-row{flex-wrap:wrap}
@media(max-width:650px){.section-heading{flex-wrap:wrap}}
