/* Shared visual system taken from the supplied education walkthrough. */
:root{--ui-navy:#192d50;--ui-navy-dark:#101d34;--ui-orange:#f58220;--ui-orange-light:#ff9b3f;--ui-blue:#3a629a;--ui-green:#2d8467;--ui-red:#bd4554;--ui-surface:#fff;--ui-soft:#eff2f9;--ui-line:#e1e5ed;--ui-text:#172b49;--ui-muted:#68758a;--ui-radius:20px;--ui-shadow:0 4px 13px #172b4610;font-family:Calibri,Aptos,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--ui-text);background:#fff;--accent:var(--ui-navy);--muted:var(--ui-muted);--line:var(--ui-line)}
body,.main,.parent-shell{background:#fff;color:var(--ui-text)}button,input,select,textarea{font-family:inherit}button{font-weight:650}h1,h2,h3{color:var(--ui-text);letter-spacing:-.4px}h1{font-size:26px;line-height:1.25;font-weight:800}h2{font-size:21px;line-height:1.3;font-weight:800}h3{font-size:17px;line-height:1.35;font-weight:750}p{color:var(--ui-muted);line-height:1.65}label{font-size:13px;font-weight:650;color:#34465f}small,.help,.caption{color:var(--ui-muted)}
.content{padding:24px;max-width:1680px}.topbar{height:60px;padding:0 24px;border-color:var(--ui-line);background:#fff}.topbar>b{font-size:14px;font-weight:750}.top-user-name{font-size:12px;background:var(--ui-soft)!important;color:var(--ui-navy)!important}
.sidebar{background:linear-gradient(165deg,#203758,#14243f 65%,#101c31);border:1px solid #ffffff10;box-shadow:0 5px 15px #13274715}.sidebar .nav{gap:7px}.sidebar .nav button{color:#dfe8f8;border-radius:10px;font-weight:650;min-height:42px}.sidebar .nav button:hover{background:#ffffff12}.sidebar .nav button>svg{background:#ffffff0a;border:1px solid #ffffff0a;border-radius:9px;padding:4px;width:31px;height:31px}.sidebar .nav button.active{color:#142743;background:linear-gradient(120deg,#ffa047,#f58220);box-shadow:0 3px 9px #f5822025}.sidebar .nav button.active>svg{background:transparent;border-color:transparent}.sidebar-toggle{background:#ffffff09;border:1px solid #ffffff0c;border-radius:10px;min-height:34px}.sidebar .brand-details p{color:#e7edf8}.sidebar .brand-details b{color:#ffa346}.sidebar .person-details small{color:#bacbe4}.sidebar-expanded .sidebar .nav button{font-size:12px;padding:8px 9px;gap:9px}.sidebar-expanded .sidebar .nav button>svg{flex-shrink:0;width:28px;height:28px}
.intro,.edu-heading,.parent-banner{background:linear-gradient(115deg,#192b49,#1b3157);border:1px solid #20385f;border-radius:17px;box-shadow:0 4px 12px #11243d13;color:#fff;padding:18px 22px;min-height:88px;gap:16px}.intro{margin-bottom:22px}.intro h1,.edu-heading h2,.parent-banner h1{color:#fff;font-size:25px;font-weight:800;margin:0}.intro p,.edu-heading p,.parent-banner p{color:#d7e1ef;font-size:13px;margin-top:4px}.intro .eyebrow{color:#b7c7e1;font-size:10px;letter-spacing:1px;margin-bottom:5px}.page-intro-icon,.edu-heading>span{background:#ffffff10;border:1px solid #ffffff12;border-radius:13px;width:43px;height:43px;display:grid;place-items:center}.intro>.btn{background:linear-gradient(110deg,#ff9a3f,#f47715);color:#142743;border:1px solid #ffb577;box-shadow:0 3px 9px #0d1c3320;font-size:13px}.edu-heading{margin-bottom:20px}.edu-heading>.edu-small-btn{background:#ffffff10;color:white;border-color:#ffffff22}
.btn{border-radius:11px;padding:11px 16px;font-size:13px;font-weight:750;background:var(--ui-navy);color:white;box-shadow:0 2px 5px #192d500c}.btn.secondary,.btn.outline{background:white;color:var(--ui-navy);border:1px solid #d4ddeb;box-shadow:0 2px 4px #192d5006}.btn:hover{filter:brightness(1.045)}.btn.danger,.danger{color:#bd3d4f}.form-actions>.btn:last-child,.daily-plan-form>.btn[type=submit],#dayReviewForm>.btn,.exam-save-actions>.btn,.exam-toolbar>.btn,.edu-course-toolbar>.btn,.edu-doc-toolbar>.btn,.edu-modal-actions>.btn,.auth-submit{background:linear-gradient(110deg,#ff9637,#f17a17);color:#172a47;border:1px solid #f28b35;box-shadow:0 3px 7px #e87c2020;font-weight:800}.auth-submit>span{color:#172a47}
.card,.education-hub,.exam-tracker,.parent-content,.home-panel,.learning-panel{background:#fff;border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}.card,.education-hub,.exam-tracker,.parent-content{padding:22px}.card-title{margin-bottom:19px}.card-title h2{font-size:21px}.home-panel,.learning-panel{border-top:1px solid var(--ui-line);padding:22px}.card-title small{font-size:12px}.education-hub{border-radius:24px}.card+.card{margin-top:20px}.application>.card{margin-bottom:20px}
input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fcfcfd;border:1px solid #dce1e9;border-radius:9px;color:#24344c;font-size:14px;padding:11px 12px;min-height:42px;box-shadow:none}textarea{font-family:inherit;line-height:1.55;resize:vertical}input::placeholder,textarea::placeholder{color:#929dab}input:focus,select:focus,textarea:focus{outline:2px solid #91add1;outline-offset:1px}input[type=checkbox],input[type=radio]{accent-color:var(--ui-navy)}.select-search input{background:#fff}.select-search-count{font-size:11px}.filters{padding:12px 14px;background:#fff;border:1px solid var(--ui-line);border-radius:13px;box-shadow:0 2px 5px #192d5006}.filters select{margin:0}
.edu-section-tabs,.exam-view-tabs,.exam-type-tabs,.home-net-tabs,.parent-main-tabs,.parent-type-tabs{background:var(--ui-soft);border:1px solid #e4e8f1;border-radius:12px;padding:5px;gap:5px}.edu-section-tabs button,.exam-view-tabs button,.exam-type-tabs button,.parent-main-tabs button,.parent-type-tabs button{border:0;border-radius:9px;font-size:13px;font-weight:750;color:#4b5970;padding:10px 13px;min-height:39px;box-shadow:none}.edu-section-tabs button.active{background:#fff;color:var(--ui-navy);box-shadow:0 2px 5px #1a2c4810;border-bottom:2px solid var(--ui-orange)}.exam-view-tabs button.selected,.exam-type-tabs button.selected,.parent-main-tabs button.active,.parent-type-tabs button.active{background:var(--ui-navy);color:#fff;box-shadow:0 2px 6px #192d5020}.edu-small-btn,.exam-soft-btn,.parent-small-btn{border:1px solid #d7dfec;border-radius:10px;background:#fff;color:var(--ui-navy);padding:9px 12px;font-size:12px;font-weight:700}.edu-small-btn.active,.learning-filters>button.active{background:var(--ui-navy);color:#fff;border-color:var(--ui-navy)}
.edu-levels{background:#fff;border-radius:15px;padding:14px;border-color:var(--ui-line)}.edu-levels button{min-height:39px;border:1px solid #e2e5eb;border-left:3px solid #dbe3f0;border-radius:9px;font-size:13px;background:#fff}.edu-levels button.active{background:var(--ui-navy);border-color:var(--ui-navy);border-left-color:var(--ui-orange);color:#fff}.edu-course-card{background:#f1f4fa;border:1px solid #e1e6ef;border-left:3px solid var(--card-color,#3b639a);border-radius:12px;padding:15px;box-shadow:0 2px 4px #192d5005;min-height:95px}.edu-course-card:hover{background:#e9eff9;border-color:#9cb2d2;transform:none;box-shadow:0 3px 7px #192d5010}.edu-course-card>b{font-size:14px;color:#192d50;font-weight:750}.edu-course-card>small{font-size:11px;background:#fff;padding:4px 7px;color:#5a6b85;border:1px solid #e7ebf2}.edu-course-card>span{color:#6a83a6;background:#fff}.edu-topic-edit-row{border-radius:10px;background:#fff;border-color:#e0e5ed;border-left-color:#91abd0;padding:9px 11px}.edu-unit-notice{background:#eef2fa;border-left-color:var(--ui-navy);border-radius:9px}.edu-student-card{border-radius:20px;border-left-width:4px;box-shadow:0 4px 12px #192d5012;background:#fff}.edu-student-actions{background:var(--ui-soft);border-radius:0 0 15px 15px;padding:10px}.edu-avatar{border-radius:13px;background:#e8effb;color:#254b80}.edu-course-toolbar h3{font-size:17px}
.home-greeting{background:linear-gradient(115deg,#20385f,#192d50);border:1px solid #294166;border-radius:24px;padding:26px;box-shadow:0 4px 12px #192d5012}.home-greeting h1{font-size:29px;color:white;letter-spacing:-.7px}.home-welcome>p{font-size:15px;color:#d8e3f5}.home-header-stats>div{border-radius:17px;background:#ffffff12;border:1px solid #ffffff24}.home-header-stats b{color:white}.home-header-stats svg{color:#ffa34e}.home-plan-button,.home-task>button{background:linear-gradient(110deg,#ff9b3f,#f17b18);color:#172c4d;border-radius:11px;box-shadow:0 3px 8px #192d5015}.home-main-grid,.home-bottom-grid{gap:20px;margin-bottom:20px}.home-panel-heading h2{font-size:21px;font-weight:800}.home-panel-heading>span{background:#eef2fa;border-radius:12px;color:#284b7c}.home-task{background:#fff;border:1px solid #d7e1f0;border-radius:13px;min-height:68px;padding:13px 15px 13px 27px}.home-task>div>b{font-size:15px;font-weight:750}.home-task>div>small{font-size:12px;color:#71829c}.home-today-summary{border-radius:14px;background:#f3f5f9;border-color:#e1e5ed}.home-streak{background:#ffffff12;border-color:#ffffff15}.home-header-stats>div>small{color:#d6e1f2}
.exam-toolbar{background:var(--ui-navy);border-radius:15px;padding:16px 18px;margin-bottom:20px;gap:13px;color:#fff;align-items:center}.exam-toolbar>h2{color:#fff;font-size:23px;letter-spacing:-.5px}.exam-toolbar .exam-view-tabs,.exam-toolbar .exam-type-tabs{background:#ffffff10;border-color:#ffffff20}.exam-toolbar .exam-view-tabs button,.exam-toolbar .exam-type-tabs button{color:#e7edf7}.exam-toolbar .exam-view-tabs button.selected,.exam-toolbar .exam-type-tabs button.selected{background:white;color:var(--ui-navy)}.exam-toolbar>select{background:#fff;font-size:12px}.exam-column{border:1px solid #e0e4eb;border-radius:15px;box-shadow:0 2px 5px #192d5007}.exam-column-heading{background:#edf1f8;border-radius:14px 14px 0 0;padding:13px;font-size:15px}.exam-column-heading small{font-size:12px}.exam-column-list{padding:8px}.exam-record{background:#fff;border:1px solid #e1e5ed;border-radius:10px;margin-bottom:7px;box-shadow:0 2px 4px #192d5005}.exam-record-open{padding:14px 12px}.exam-record-open b{font-size:14px}.exam-record-net strong{font-size:20px}.exam-course-card{background:#eff2fa;border:1px solid #e1e5ee;border-radius:12px;padding:16px;box-shadow:0 2px 5px #192d5008}.exam-course-title b{font-size:14px;color:var(--ui-navy)}.exam-number input{background:#fff;min-height:35px;padding:6px 9px;font-size:14px}.exam-number.correct{color:var(--ui-green)}.exam-number.wrong{color:var(--ui-red)}.exam-section-title{font-size:21px;margin:20px 0 14px}.exam-panel{border:1px solid #e0e5ed;border-radius:18px;padding:20px;background:#fff;box-shadow:0 3px 9px #192d5008}.exam-panel h3{font-size:18px}.exam-line-chart text{fill:#65758d;font-size:12px}.exam-target-bar{background:#eef2f8}.exam-target-bar progress::-webkit-progress-value{background:#5dbe39}.exam-target-bar progress::-moz-progress-bar{background:#5dbe39}
.learning-total-cards>div{background:#f4f6fa;border:1px solid #e0e6ef;border-radius:14px;padding:16px}.learning-total-cards>div:nth-child(1){border-top:3px solid var(--ui-navy)}.learning-total-cards>div:nth-child(2){border-top:3px solid var(--ui-orange)}.learning-total-cards>div:nth-child(3){border-top:3px solid var(--ui-green)}.learning-total-cards>div:nth-child(4){border-top:3px solid var(--ui-blue)}.learning-filters>button{background:#fff;border-color:#dce3ee;border-radius:9px;font-size:12px}.learning-panel-heading h3{font-size:19px}.learning-bars>div>span{color:#435876}.learning-bars progress::-webkit-progress-value{background:var(--ui-navy)}.learning-bars progress::-moz-progress-bar{background:var(--ui-navy)}
.day-item,.assignment,.lesson-goal{border:1px solid #dfe5ef;border-radius:14px;background:#fff;padding:18px;margin:14px 0;box-shadow:0 2px 5px #192d5006}.day-item h3,.assignment h3{font-size:17px;color:var(--ui-navy);margin:9px 0}.day-item>.pill,.routine-task>.pill{font-size:11px;background:#edf2fa;color:#2f4e7c;border-radius:7px}.routine-task{background:#f7f9fd;border-radius:15px;border-color:#dfe5ee;border-left-color:var(--ui-blue);box-shadow:0 2px 5px #192d5007}.routine-task:nth-child(2){background:#f3f9f6;border-left-color:var(--ui-green)}.routine-task h3{font-size:18px}.self-rating-card{background:#fff;border-color:#dce3ef;border-left-color:var(--ui-orange);border-radius:15px}.self-rating-card h3{font-size:21px}.review-options{border-radius:12px;background:#f1f4fa;padding:13px}.review-options label:has(input:checked),.study-types label:has(input:checked){background:#e5edf9;border-color:#86a2c7;color:#1b365f}.mistake-options label{background:#f6f8fc;border-color:#dfe5ef;border-radius:8px;font-size:12px}.day-item-actions .btn.secondary{background:#edf2fa}.day-item-actions .danger{background:#fff5f5;border-color:#f0d5d9}
.parent-shell{max-width:1540px;padding:20px 28px}.parent-topbar{border-bottom:1px solid #e4e9f1;padding-bottom:16px;margin-bottom:20px}.parent-banner{min-height:90px;margin-bottom:20px}.parent-banner h1{font-size:27px}.parent-main-tabs{margin:18px 0}.parent-content{padding:22px;border-radius:23px}.parent-summary{border-radius:12px;background:#eff3fa;font-size:13px;color:#3c567c}.parent-exam-grid,.parent-subject-grid,.parent-chart-grid{gap:18px}.parent-exam-card{border:1px solid #dfe5ee;border-radius:17px;box-shadow:0 3px 9px #192d5010;background:#fff}.parent-exam-card>header{background:linear-gradient(110deg,#1b3054,#28476f);border-radius:16px 16px 0 0}.parent-exam-card h3{font-size:17px}.parent-chart-grid>section{background:#fff;border:1px solid #e0e5ed;border-radius:19px;padding:22px;box-shadow:0 3px 9px #192d500c}.parent-chart-grid h3{font-size:20px;color:var(--ui-navy)}.parent-subject-card{border-radius:17px;box-shadow:0 3px 8px #192d500b}.parent-subject-card>header{background:var(--ui-green)}.parent-subject-card:nth-child(3n+2)>header{background:#e88725}.parent-subject-card:nth-child(3n+3)>header{background:#3a629a}.parent-small-btn{font-size:12px}.parent-logout{background:var(--ui-navy);color:white}
/* Dialogs, login, and first-entry gates use the same typography and controls. */
dialog,.edu-course-dialog,.parent-exam-dialog{background:#fff;border:1px solid #dfe5ee;border-radius:20px;box-shadow:0 25px 90px #10213e42}.dialog-header{border-bottom:1px solid #e5eaf2;padding-bottom:14px;margin-bottom:18px}.dialog-header h2{font-size:22px}.edu-modal-heading{background:var(--ui-navy);color:white}.edu-modal-heading h2{color:white}.auth-shell{font-family:Calibri,Aptos,'Segoe UI',sans-serif}.auth-story{background:linear-gradient(145deg,#142643,#233e66 58%,#172a48)}.auth-entry{background:#fff}.auth-entry h2{font-size:34px;color:var(--ui-navy)}.auth-role{background:#fff;border-color:#dfe5ee;border-radius:15px;box-shadow:0 3px 8px #192d5008}.auth-role:hover{border-color:#8ca7ce}.auth-role b{color:var(--ui-navy)}.auth-back{background:#edf2fa;border:1px solid #adc2de;color:var(--ui-navy);font-weight:800;min-height:46px}.auth-entry input{background:#fcfcfd;border-color:#dce3ed;border-radius:11px;min-height:48px}.auth-first-note{background:#f5f7fb;border-color:#e0e6ef;border-left:3px solid var(--ui-orange)}.auth-first-note p{color:#68788e}.auth-first-note b{color:var(--ui-navy)}.required-mood-card,.first-password-card{border:1px solid #dfe5ee;border-radius:22px;background:#fff;box-shadow:var(--ui-shadow)}
.pill{font-size:11px;font-weight:750;border-radius:7px}.pill.navy{background:#eaf0fa;color:#244776}.pill.green{background:#e8f5ee;color:#23734f}.pill.orange{background:#fff0e2;color:#b65d1d}.warning{background:#fff6ed;border:1px solid #f4dcc5;border-left:3px solid #ef963e;color:#966022;border-radius:10px}.footnote,.parent-footer{font-size:11px;color:#8997ac;margin-top:20px}.learning-results-table th,th{background:#eef2f9;color:#415a7d;font-size:12px;font-weight:750;letter-spacing:0}.learning-results-table td,td{font-size:13px}td,th{border-color:#e7ecf3;padding:12px 10px}progress::-webkit-progress-bar{background:#edf2f9}progress::-webkit-progress-value{background:var(--ui-navy)}progress::-moz-progress-bar{background:var(--ui-navy)}
@media(min-width:1250px){.edu-course-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.content{padding:20px}.exam-toolbar{flex-wrap:wrap}.exam-toolbar>h2{font-size:21px}.parent-shell{padding:18px}.home-greeting{padding:22px}.home-greeting h1{font-size:27px}}
@media(max-width:700px){:root{font-size:14px}.content{padding:16px 13px}.topbar{padding:0 13px}.intro,.edu-heading,.parent-banner{padding:17px;border-radius:15px;gap:12px}.intro h1,.edu-heading h2{font-size:22px}.intro p,.edu-heading p{font-size:12px}.intro .eyebrow{font-size:9px}.intro>.btn{font-size:12px;padding:10px 12px}.card,.education-hub,.exam-tracker,.parent-content,.home-panel,.learning-panel{padding:16px;border-radius:18px}.card-title h2{font-size:20px}.home-panel-heading h2{font-size:19px}.home-greeting{padding:21px 18px;border-radius:20px}.home-greeting h1{font-size:26px}.home-welcome>p{font-size:14px}.home-main-grid,.home-bottom-grid{gap:16px}.home-task>div>b{font-size:14px}.home-task>div>small{font-size:11px}.sidebar-expanded .sidebar .nav button{font-size:11px;padding:8px 6px;gap:6px}.sidebar-expanded .sidebar .nav button>svg{width:25px;height:25px;padding:3px}.exam-toolbar{padding:14px;border-radius:13px;gap:11px}.exam-toolbar>h2{font-size:21px}.exam-toolbar .exam-view-tabs{width:100%;justify-content:flex-start}.exam-view-tabs button,.parent-main-tabs button{font-size:12px;padding:9px 11px}.exam-course-card{padding:13px}.parent-shell{padding:13px}.parent-banner h1{font-size:25px}.parent-chart-grid>section{padding:16px}.edu-course-card{padding:13px;min-height:88px}.auth-entry h2{font-size:29px}.auth-back{font-size:14px}.self-rating-card h3{font-size:20px}.day-item{padding:16px}.day-item h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Standard narrow rail, expanded explicitly by the user. */
.shell{padding-left:96px}.sidebar{width:76px;left:10px;top:10px;bottom:10px;height:calc(100dvh - 20px);padding:14px 9px;border-radius:22px}.shell.sidebar-expanded{padding-left:248px}.sidebar-expanded .sidebar{width:228px;padding:18px 13px}.sidebar:not(.sidebar-expanded .sidebar) .brand-mark{max-width:100%}.sidebar .nav button{justify-content:center;padding:5px;min-height:42px}.sidebar .nav button>svg{width:33px;height:33px;padding:5px}.sidebar-expanded .sidebar .nav button{justify-content:flex-start}.parent-layout .parent-main-tabs{display:none}.parent-layout .parent-shell{max-width:none;padding:20px 24px}.parent-layout .parent-topbar{margin-top:0}.parent-layout .parent-brand span{font-size:15px;font-weight:750;color:#192d50}.parent-layout .parent-brand small{font-size:12px;color:#68758a}.parent-layout .parent-logout{border-radius:10px;padding:10px 14px;font-weight:750}.parent-layout .sidebar-toggle{font-size:26px;line-height:1}.parent-layout .sidebar .brand-details b{font-size:13px;color:#ffa346}
.login-story{background:linear-gradient(145deg,#142643,#233e66 58%,#172a48)}.login-story h1{color:#fff}.login-form h2{font-size:27px;color:#192d50}.login-form .btn[type=submit],.required-checkin .btn[type=submit]{background:linear-gradient(110deg,#ff9637,#f17a17);color:#172a47;border:1px solid #f28b35;font-weight:800}.required-checkin{background:#fff;border:1px solid #dfe5ee;border-radius:22px;box-shadow:0 20px 70px #152b5033}.required-checkin h2{font-size:24px;color:#192d50}.checkin-option{background:#f4f6fb;border-color:#dce4f0;border-radius:12px}.checkin-option:has(input:checked){background:#e8f0fc;border-color:#698fbe}.gate-welcome{background:#fff;color:#192d50}
@media(max-width:700px){.shell,.shell.sidebar-expanded{padding-left:76px}.sidebar{width:62px;inset:8px auto 8px 6px;padding:12px 6px;border-radius:18px;height:calc(100dvh - 16px)}.sidebar .nav button{padding:4px;min-height:40px}.sidebar .nav button>svg{width:30px;height:30px}.sidebar-expanded .sidebar{width:210px;inset:8px auto 8px 6px;padding:15px 11px}.sidebar-expanded .brand-title{font-size:25px}.sidebar-expanded .brand-kicker{font-size:11px}.sidebar-expanded .brand-mark,.sidebar-expanded .brand-mark img{width:34px;height:34px}.sidebar-expanded .sidebar .nav button{font-size:12px;padding:7px;gap:8px}.parent-layout .parent-shell{padding:15px 12px}.parent-topbar>div:last-child{gap:7px;flex-wrap:wrap}.parent-small-btn,.parent-logout{font-size:11px;padding:8px 10px}.parent-topbar{align-items:flex-start;gap:10px}.parent-topbar .parent-brand{min-width:0}.parent-topbar .parent-brand span{font-size:13px}.parent-topbar .parent-brand small{font-size:11px}}
.hero{background:linear-gradient(115deg,#20385f,#192d50);border-radius:20px;box-shadow:0 4px 12px #192d5012}.hero h1,.hero h2,.hero h3{color:#fff}.hero p,.hero-profile p,.hero-profile small{color:#d8e3f5}.hero-profile{border-color:#ffffff26;background:#ffffff0a}.hero-profile .pill{color:#19365e;background:#eff4fc}.auth-story h1{color:#fff}
.dashboard-goals{margin:0 0 20px}.dashboard-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dashboard-goal{--goal-accent:#254b7c;background:#f3f6fb;border:1px solid #dee6f0;border-top:4px solid var(--goal-accent);border-radius:14px;padding:18px;min-width:0}.dashboard-goal.ayt{--goal-accent:#e88725}.dashboard-goal.ydt{--goal-accent:#2d8467}.dashboard-goal header{display:flex;justify-content:space-between;align-items:center;gap:12px}.dashboard-goal header>b{font-size:19px;color:var(--goal-accent)}.dashboard-goal header>small{font-size:11px;color:#718099}.dashboard-goal-numbers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:17px 0}.dashboard-goal-numbers small{display:block;font-size:10px;font-weight:750;letter-spacing:.7px;color:#6b7e9a}.dashboard-goal-numbers strong{display:block;font-size:31px;font-weight:850;line-height:1.35;color:#192d50}.dashboard-goal-numbers>div:first-child strong{color:var(--goal-accent)}.dashboard-goal progress{height:9px}.dashboard-goal progress::-webkit-progress-value{background:var(--goal-accent)}.dashboard-goal progress::-moz-progress-bar{background:var(--goal-accent)}.dashboard-goal-distance{font-size:13px;color:#425b80;margin-top:8px}.dashboard-goal-message{font-size:13px;font-weight:600;color:#344e72;line-height:1.7;margin-top:13px}.dashboard-goal-exam{display:block;margin-top:9px;color:#8491a6;font-size:11px;overflow-wrap:anywhere}.dashboard-goal-start{color:#315c96;border:1px solid #cbd9ed;background:#fff;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700}.home-goal-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.dashboard-goals .home-panel-heading>span{font-size:25px}.dashboard-goal-grid:has(>.dashboard-goal:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-goal-grid:has(>.dashboard-goal:only-child){grid-template-columns:minmax(0,1fr)}
@media(max-width:850px){.dashboard-goal-grid,.dashboard-goal-grid:has(>.dashboard-goal:nth-child(2):last-child){grid-template-columns:1fr}.dashboard-goal{padding:16px}.home-goal-inputs{grid-template-columns:1fr}.dashboard-goal-numbers strong{font-size:29px}}
.net-goal-editor{margin-bottom:20px}.net-goal-editor .home-goal-inputs{max-width:850px}.net-goal-editor .form-actions{justify-content:flex-start}.net-goal-editor label{font-size:14px}.net-goal-editor .home-goal-inputs input{font-size:23px;font-weight:800;color:#1b3057;padding:16px;min-height:58px;background:#f4f7fc}.net-goal-editor .home-goal-inputs label:nth-child(2) input{border-top:3px solid #e88725}.net-goal-editor .home-goal-inputs label:first-child input{border-top:3px solid #254b7c}.net-goal-editor .home-goal-inputs label:nth-child(3) input{border-top:3px solid #2d8467}
/* Overview goals use the same narrow column as This Week. */
.home-development-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);align-items:start}.home-development-column{display:grid;gap:20px;min-width:0}.student-dashboard .dashboard-goals-compact{margin:0;padding:22px;min-width:0}.dashboard-goals-compact .home-panel-heading{gap:9px;margin-bottom:15px;flex-wrap:nowrap}.dashboard-goals-compact .home-panel-heading h2{font-size:20px;white-space:nowrap}.dashboard-goals-compact .home-panel-heading>span{width:34px;height:34px;font-size:23px}.dashboard-goals-compact .home-text-link{font-size:11px;white-space:nowrap}.compact-goal-list{display:grid;gap:10px}.compact-goal{--goal-accent:#254b7c;background:#f4f7fc;border:1px solid #e0e7f1;border-left:3px solid var(--goal-accent);border-radius:11px;padding:11px 12px}.compact-goal.ayt{--goal-accent:#e88725}.compact-goal.ydt{--goal-accent:#2d8467}.compact-goal-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.compact-goal-heading>b{font-size:15px;color:var(--goal-accent)}.compact-goal-heading>div{display:flex;gap:13px}.compact-goal-heading span{font-size:10px;color:#71829c;white-space:nowrap}.compact-goal-heading strong{font-size:18px;color:#233e63;margin-left:4px}.compact-goal progress{height:5px;display:block;margin-top:8px}.compact-goal progress::-webkit-progress-value{background:var(--goal-accent)}.compact-goal progress::-moz-progress-bar{background:var(--goal-accent)}.compact-goal p{font-size:11px;line-height:1.5;color:#536b8c;margin-top:7px;font-weight:550}
@media(max-width:1050px){.home-development-grid{grid-template-columns:1fr}.home-development-column{gap:18px}.student-dashboard .dashboard-goals-compact{padding:20px}}@media(max-width:700px){.student-dashboard .dashboard-goals-compact{padding:16px}.home-development-column{gap:16px}.dashboard-goals-compact .home-panel-heading h2{font-size:19px}}
@media(min-width:1051px){.home-main-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}}@media(max-width:1050px){.home-main-grid{grid-template-columns:1fr}}

.day-page-title{align-items:flex-start;flex-wrap:wrap;gap:18px}.day-navigation{min-width:0;max-width:100%;padding:12px;background:#f2f5fb;border:1px solid #dfe6f1;border-radius:13px}.day-navigation nav{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.day-navigation label{min-width:160px;flex:1;margin:0}.day-navigation input{width:100%;margin-top:4px}.day-navigation .btn{min-height:42px;white-space:nowrap;padding:10px 12px}.day-navigation .help{font-size:12px;margin:8px 0 0}.day-navigation button:disabled{opacity:.42;cursor:default;filter:none}@media(max-width:700px){.day-navigation{width:100%}.day-navigation nav{display:grid;grid-template-columns:1fr 1fr}.day-navigation label{grid-column:1/-1;grid-row:1;min-width:0}.day-navigation [data-day-today]{grid-column:1/-1;grid-row:3}.day-navigation .btn{font-size:12px;padding:9px 6px}}
.select-search-results{max-height:260px;overflow:auto;margin:6px 0 10px;border:1px solid #d8e2f0;border-radius:11px;background:#fff;box-shadow:0 5px 15px #192d5012;padding:5px}.select-search-result{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;border:0;border-radius:7px;padding:10px 12px;background:#fff;color:#192d50;text-align:left;cursor:pointer}.select-search-result+.select-search-result{border-top:1px solid #edf0f5}.select-search-result:hover,.select-search-result:focus-visible,.select-search-result.highlighted{background:#eaf1fc;outline:2px solid #98b4d8;outline-offset:-2px}.select-search-result b{font-size:14px;font-weight:650}.select-search-result small{font-size:11px;font-weight:400;color:#718099}.select-search-results p{padding:8px 12px;font-size:13px;margin:0}

.school-homework-item{border:1px solid #dce5f1;border-left:4px solid #6384b2;border-radius:14px;padding:18px;margin-top:14px;background:#f7f9fd}.school-homework-item.completed{background:#edf9f1;border-color:#b7dfc7;border-left-color:#278350}.school-homework-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#243a5a;font-size:16px;font-weight:650;margin:14px 0}.school-homework-item.completed .school-homework-text{color:#216a42}.school-homework-dates{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:#61738d}.school-homework-check{display:flex;align-items:center;gap:10px;margin-top:13px;padding:11px 13px;width:fit-content;border:1px solid #cdd9eb;border-radius:10px;background:white;cursor:pointer;font-size:14px;min-height:44px}.school-homework-check input{width:20px;height:20px;accent-color:#278350}.completed .school-homework-check{color:#216a42;border-color:#9dceb0}.school-homework .card-title{flex-wrap:wrap;gap:12px}
/* A compact calendar card with a warm accent and clear day controls. */
.day-navigation{background:linear-gradient(125deg,#fffaf3,#fff 55%,#f1f6ff);border:1px solid #e3e8f1;border-top:3px solid #ff9637;border-radius:18px;padding:16px;box-shadow:0 5px 16px #192d500a}.day-calendar-heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}.day-calendar-icon{display:grid;place-items:center;width:43px;height:43px;background:#192d50;color:#ffac60;border-radius:12px;font-size:26px;box-shadow:0 4px 8px #192d5018}.day-calendar-heading>div{display:grid;gap:1px}.day-calendar-heading small{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#7a89a0}.day-calendar-heading strong{font-size:23px;letter-spacing:.4px;line-height:1.2;color:#192d50}.day-date-tag{margin-left:auto;background:#fff0dd;color:#a75013;border:1px solid #ffdfb8;font-size:11px;font-weight:750;padding:5px 10px;border-radius:20px;white-space:nowrap}.day-date-label{font-size:10px;color:#7586a1}.day-navigation nav{gap:7px;align-items:flex-end}.day-navigation label{min-width:135px}.day-navigation .btn{font-size:12px;border-radius:10px;padding:10px;min-height:42px}.day-navigation [data-day-today]{background:#192d50;border-color:#192d50;color:#fff}.day-navigation [data-day-today]:disabled{background:#e8eef7;color:#657894;border-color:#e1e8f2;opacity:1}.day-navigation input:not([type=checkbox]){background:#fff;border-color:#dce5f0;font-size:13px;font-weight:700;margin-top:3px}.day-navigation .help{color:#7e8ca2;font-size:11px;line-height:1.5;margin-top:11px}.pending-homework{border:1px solid #ffe0b9;background:linear-gradient(115deg,#fff8ee,#fff);padding:17px;border-radius:14px;margin:0 0 22px}.pending-homework-heading{display:flex;gap:11px;align-items:center;margin-bottom:12px}.pending-homework-heading>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#ffebd1;color:#b56316;font-size:23px}.pending-homework-heading h3{margin:0;font-size:17px}.pending-homework-heading p{margin:2px 0 0;font-size:12px}.pending-homework-heading>b{margin-left:auto;border-radius:20px;background:#192d50;color:#fff;padding:3px 10px}.pending-homework label{display:block}.pending-homework select{width:100%;margin-top:5px}.selected-homework{border-left:3px solid #ff9637;background:#fff6e9;border-radius:9px;padding:12px 14px}.selected-homework p{white-space:pre-wrap;margin:4px 0 0;font-size:13px;overflow-wrap:anywhere}@media(max-width:700px){.day-navigation{padding:13px}.day-calendar-heading strong{font-size:21px}.day-navigation nav{grid-template-columns:1fr 1fr}.day-navigation label{grid-column:1/-1;grid-row:1}.day-navigation [data-day-today]{grid-column:1/-1;grid-row:3}}
/* Phone layout: content has the full screen, navigation opens on demand. */
.mobile-menu-toggle{display:none}
@media(max-width:700px){
 html{scroll-padding-top:80px}body{width:100%;margin:0}.shell,.shell.sidebar-expanded{padding-left:0;min-width:0}.main,.content,.application,.workspace,.parent-shell{min-width:0;max-width:100%}.content{padding:14px 12px 24px}.shell .sidebar{width:min(260px,86vw);inset:8px auto 8px 8px;height:calc(100dvh - 16px);padding:17px 13px;transform:translateX(-115%);visibility:hidden;transition:transform .18s ease,visibility .18s}.shell.sidebar-expanded .sidebar{width:min(260px,86vw);transform:none;visibility:visible}.sidebar-expanded .sidebar .nav button{min-height:44px;font-size:14px;white-space:normal}.sidebar-expanded .sidebar .nav-text{overflow-wrap:anywhere}.sidebar-expanded .sidebar .brand-title{font-size:27px}.sidebar-expanded .sidebar .brand-kicker{font-size:12px}.sidebar-expanded .sidebar-scrim{display:block;position:fixed;inset:0;z-index:40;background:#0d1e3b70;backdrop-filter:blur(2px)}body:has(.shell.sidebar-expanded){overflow:hidden}.mobile-menu-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;min-height:44px;border:1px solid #dce5f0;border-radius:11px;background:#f0f4fb;color:#192d50}.mobile-menu-toggle svg{width:21px;height:21px}.topbar{height:auto;min-height:66px;padding:9px 12px;gap:8px;display:flex;flex-wrap:wrap}.topbar>b{flex:1;min-width:70px;font-size:13px;overflow-wrap:anywhere}.top-actions{gap:6px;min-width:0}.top-actions .pill.top-user-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:7px}.top-actions button{min-height:44px;font-size:11px;padding:8px}.intro{padding:16px;gap:14px}.page-intro-title{min-width:0;max-width:100%}.page-intro-title>div{min-width:0}.intro .eyebrow{overflow-wrap:anywhere}.intro>.btn{white-space:normal;min-height:44px}.card,.education-hub,.home-panel,.learning-panel,.parent-content{padding:15px;min-width:0}.card-title,.home-panel-heading,.edu-heading,.filters{flex-wrap:wrap;gap:10px}.card-title>div{min-width:0}.card-title h2{font-size:19px}.form-row,.form-three{grid-template-columns:repeat(2,minmax(0,1fr))}form,fieldset,label,.form-row>*,.form-three>*{min-width:0}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;max-width:100%;min-width:0}input[type=date]{min-height:44px;width:100%;max-width:100%;min-width:0;appearance:none}select{width:100%;text-overflow:ellipsis}button,.btn{max-width:100%;overflow-wrap:anywhere}.btn,.edu-small-btn,.exam-soft-btn,.parent-small-btn{min-height:44px}.day-navigation{width:100%;max-width:100%;padding:13px}.day-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr))}.day-navigation label{min-width:0}.day-navigation .btn{white-space:normal;font-size:13px}.day-calendar-heading{gap:9px}.day-calendar-icon{flex-shrink:0}.day-calendar-heading strong{font-size:23px}.day-date-tag{font-size:10px;padding:4px 8px}.day-navigation input:not([type=checkbox]){font-size:16px}.pending-homework{padding:13px}.pending-homework-heading>div{min-width:0}.pending-homework-heading h3{font-size:17px}.pending-homework-heading>span{flex-shrink:0}.pending-homework label{font-size:13px}.selected-homework,.day-item,.assignment,.school-homework-item{overflow-wrap:anywhere}.home-task{min-width:0}.home-task-copy{min-width:0}.home-task-title{overflow-wrap:anywhere}.home-net-tabs{flex-wrap:wrap}.dashboard-goals-compact .home-panel-heading{flex-wrap:wrap}.compact-goal-heading{flex-wrap:wrap;gap:6px}.compact-goal-heading>div{flex-wrap:wrap}.dashboard-goals-compact .home-panel-heading h2{white-space:normal}.home-goal-inputs,.exam-target-inputs{grid-template-columns:1fr}.exam-tracker{padding:13px;min-width:0}.exam-course-grid{grid-template-columns:1fr}.exam-mode-grid,.exam-mode-grid:has([name=branch_subject]){grid-template-columns:1fr}.exam-target-row{grid-template-columns:65px minmax(0,1fr) 78px;gap:5px}.exam-target-row>span{overflow-wrap:anywhere}.exam-view-tabs,.exam-type-tabs{flex-wrap:wrap}.exam-view-tabs button{flex:1;min-height:44px}.exam-meta-grid,.exam-columns[data-exam-columns]{grid-template-columns:1fr}.exam-toolbar h2{font-size:21px}.exam-course-card{padding:15px}.exam-tracker .exam-number input{font-size:16px;min-height:42px}.exam-topic-rows{max-height:48dvh}.edu-section-tabs{grid-template-columns:1fr}.edu-course-cards,.edu-students{grid-template-columns:1fr}.edu-student-toolbar,.edu-student-toolbar>div{flex-wrap:wrap}.edu-heading{align-items:flex-start}.edu-heading>div{min-width:0;flex:1}.edu-heading>.edu-small-btn{margin-left:0}.edu-assignment-options{grid-template-columns:1fr}.parent-layout .parent-shell{padding:12px}.parent-topbar{flex-wrap:wrap;gap:9px}.parent-brand{flex:1}.parent-topbar>div:last-child{width:100%;justify-content:flex-end}.parent-banner{flex-wrap:wrap}.parent-banner>div{min-width:0}.parent-banner h1{overflow-wrap:anywhere}.parent-section-toolbar{flex-wrap:wrap;gap:10px}.parent-type-tabs{flex-wrap:wrap}.parent-exam-grid,.parent-chart-grid{grid-template-columns:1fr}.parent-summary{flex-wrap:wrap}.student-card{flex-wrap:wrap}.student-card>div{min-width:0}.student-card h3{overflow-wrap:anywhere}dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px;border-radius:17px;overscroll-behavior:contain}dialog .form-actions{flex-wrap:wrap}dialog .form-actions>.btn{flex:1;min-width:100px}dialog .dialog-header{gap:10px}dialog .dialog-header h2{font-size:20px}dialog .dialog-header button{min-width:40px;min-height:44px}.self-rating-card{gap:14px}.self-rating-card>label{min-width:0}.select-search-results{max-height:230px}.select-search-result{min-height:48px}.select-search-result b{font-size:15px}#toast{bottom:max(14px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 24px);text-align:center}
}
@media(max-width:360px){.topbar{gap:6px;padding:8px 10px}.topbar>b{font-size:12px;min-width:60px}.top-actions .pill.top-user-name{max-width:76px}.top-actions button{font-size:10px;padding:7px}.content{padding:12px 10px 22px}.card,.home-panel,.learning-panel{padding:13px}.form-row{grid-template-columns:1fr}.form-three{grid-template-columns:repeat(3,minmax(0,1fr))}.day-calendar-heading strong{font-size:21px}.day-date-tag{padding:4px 6px}.home-greeting{padding:19px 15px}.home-stat-cards{gap:6px}.home-panel-heading{gap:7px}.home-panel-heading h2{font-size:18px}}
@media(max-width:700px){textarea{display:block;width:100%}.form-three{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.exam-view-tabs button{word-break:normal;overflow-wrap:normal}.exam-view-tabs button:nth-child(3){grid-column:1/-1}.school-homework-check{width:auto;max-width:100%}.parent-topbar .parent-brand span{overflow-wrap:anywhere}.parent-topbar select{width:100%}}
@media(max-width:700px){.edu-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible;white-space:normal;padding:10px}.edu-levels>b{grid-column:1/-1;margin:0}.edu-levels button{min-width:0;width:100%;white-space:normal;text-align:center;padding:9px 3px;font-size:11px;min-height:44px}.edu-levels button.active{border-left-width:3px}.learning-results-scroll{max-width:100%;overscroll-behavior-x:contain}}
@media(max-width:700px){.shell.sidebar-expanded .sidebar-scrim{display:block!important}.shell .sidebar{z-index:60}.shell .sidebar-scrim{z-index:55}.parent-topbar .mobile-menu-toggle{flex-shrink:0}}
.parent-analysis-note{padding:13px 16px;margin:16px 0;border:1px solid #e0e7f2;border-left:3px solid #f5963a;border-radius:12px;background:#f4f7fc;color:#5f7391;font-size:13px}.parent-analysis-note b{color:#192d50}.parent-layout .parent-main-tabs{flex-wrap:wrap}.parent-layout .parent-main-tabs button{min-height:44px}.parent-layout .integrated-analysis{min-width:0}.parent-layout #analysisHost{min-width:0}@media(max-width:700px){.parent-main-tabs button{flex:1;min-width:100px}.parent-main-tabs button:last-child{flex-basis:100%}.parent-analysis-note{font-size:12px}}
.parent-layout .parent-main-tabs{display:flex;gap:7px;flex-wrap:wrap}.parent-main-tabs button{flex:1;white-space:normal}.parent-study-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.parent-study-totals article{display:grid;gap:7px;min-width:0;padding:19px;border:1px solid #dfe6f2;border-top:3px solid #426a9f;border-radius:14px;background:#f4f7fc}.parent-study-totals article:nth-child(2){border-top-color:#f5963a;background:#fff8ef}.parent-study-totals article:nth-child(3){border-top-color:#3d9272;background:#eff8f3}.parent-study-totals article>span{font-size:23px;color:#59759c}.parent-study-totals small{font-size:12px}.parent-study-totals strong{font-size:24px;color:#192d50;overflow-wrap:anywhere}.parent-study-results{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.parent-study-results span{background:#eff4fa;padding:9px 15px;border-radius:9px;color:#4d6688}.parent-study-results span:first-child{background:#edf8f0;color:#278052}.parent-study-results span:nth-child(2){background:#fff0f1;color:#b54755}.parent-study-summary h3{margin:26px 0 14px;font-size:19px}.parent-study-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.parent-study-subjects article{border:1px solid #dfe7f2;border-left:3px solid #f5963a;border-radius:12px;padding:16px;min-width:0}.parent-study-subjects h4{font-size:16px;color:#192d50;margin:0 0 13px}.parent-study-subjects article>div{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;font-size:13px;color:#587298}.parent-study-subject-counts{margin-top:12px;border-top:1px solid #e7edf5;padding-top:10px;font-size:11px!important}.parent-study-days{display:grid;gap:8px}.parent-study-days article{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border:1px solid #e1e8f2;padding:13px 16px;border-radius:10px;color:#536f94;font-size:13px}.parent-study-days article strong{margin-left:auto;color:#192d50}@media(max-width:850px){.parent-study-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-study-subjects{grid-template-columns:1fr}}@media(max-width:700px){.parent-main-tabs button,.parent-main-tabs button:last-child{flex:1 1 calc(50% - 7px);min-width:0;font-size:12px}.parent-study-totals{gap:9px}.parent-study-totals article{padding:13px}.parent-study-totals strong{font-size:21px}.parent-study-totals small{font-size:11px}.parent-study-days article{gap:9px;padding:11px}.parent-study-subjects article{padding:14px}}
.daily-time-review{border:1px solid #dde6f3;border-radius:18px;padding:22px;margin:5px 0 26px;background:linear-gradient(115deg,#f3f6fc,#fff)}.daily-time-review h3{font-size:23px;margin:4px 0}.daily-time-review p{font-size:13px}.daily-time-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.daily-time-fields fieldset{min-width:0;border:1px solid #cfdcf0;border-top:3px solid #5076a7;border-radius:13px;padding:14px;background:white}.daily-time-fields fieldset:nth-child(2){border-top-color:#f2a146;background:#fffaf2}.daily-time-fields fieldset:nth-child(3){border-top-color:#4f9c7b;background:#f5fbf7}.daily-time-fields legend{font-size:14px;font-weight:750;color:#263f62;padding:0 7px}.daily-time-fields legend span{font-size:21px;margin-right:5px}.daily-time-fields fieldset>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.daily-time-fields label{font-size:12px;margin-top:5px}.daily-time-fields input{font-size:21px;font-weight:750;text-align:center;min-width:0;width:100%;background:#fff}.daily-time-review .pill{margin-left:12px}.parent-daily-time{border:1px solid #dbe5f2;border-radius:15px;background:#f4f7fc;padding:18px;margin:18px 0 24px}.parent-daily-time h3{margin:0!important}.parent-daily-time .card-title p{font-size:12px;margin-top:5px}.parent-daily-time label{margin-top:0;min-width:150px}.parent-time-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.parent-time-cards article{display:grid;gap:5px;min-width:0;border:1px solid #dfe7f2;border-radius:12px;padding:16px;background:white}.parent-time-cards article:nth-child(2){background:#fff8ee}.parent-time-cards article:nth-child(3){background:#eef8f3}.parent-time-cards article>span{font-size:23px;color:#496b99}.parent-time-cards strong{font-size:23px;color:#192d50}.parent-time-cards small{font-size:12px}@media(max-width:700px){.daily-time-review{padding:15px}.daily-time-fields{grid-template-columns:1fr;gap:12px}.daily-time-review h3{font-size:21px}.daily-time-fields input{font-size:20px}.daily-time-review .pill{margin:10px 0 0}.parent-daily-time{padding:13px}.parent-time-cards{grid-template-columns:1fr}.parent-time-cards article{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px}.parent-time-cards strong{margin-left:auto;font-size:21px}.parent-time-cards small{font-size:13px}}
/* Fieldsets keep legends separate from the responsive option grids. */
fieldset{min-inline-size:0;max-width:100%}.review-options{display:block;width:100%;padding:12px 14px 14px;margin:18px 0;border:1px solid #e1e7f2;background:#f3f6fb;border-radius:13px}.review-options legend{float:none;display:block;width:auto;max-width:100%;padding:0 5px;margin:0 0 5px;font-size:13px;line-height:1.5;white-space:normal}.review-status-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:650px;align-items:stretch}.review-options label{margin:0;min-width:0;min-height:44px;padding:10px 13px;background:#fff;white-space:normal;line-height:1.35;justify-content:flex-start;cursor:pointer;overflow-wrap:anywhere}.review-options input{flex:0 0 18px;width:18px;height:18px;margin:0}.review-options label:has(input:checked){box-shadow:0 0 0 1px #809cbd;background:#e8f0fb}.review-options label:has(input[value="0"]:checked){background:#ecf8f0;border-color:#6aaf85;color:#206c41;box-shadow:none}.review-options label:has(input[value="2"]:checked){background:#fff0f1;border-color:#d69aa3;color:#ae4353;box-shadow:none}.review-actual{min-width:0;width:100%;gap:14px}.review-actual>.form-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-actual label{min-width:0}.review-actual input:not([type=checkbox]):not([type=radio]){width:100%;min-width:0}.mistake-options{display:block;border:0;padding:0;margin:10px 0}.mistake-options legend{margin:0 0 10px;max-width:100%;padding:0;line-height:1.5}.review-reason-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.review-reason-options label{margin:0;min-width:0;min-height:44px;line-height:1.4;overflow-wrap:anywhere}.review-reason-options input{flex:0 0 17px;width:17px;height:17px;margin:0}.study-types{display:block;min-width:0;margin:5px 0}.study-types legend{margin:0 0 10px;max-width:100%;white-space:normal}.study-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.study-types label{margin:0;min-width:0;padding:16px;min-height:54px}.study-types input{flex-shrink:0}.day-item{min-width:0;max-width:100%}.day-item>h3,.day-item>p{overflow-wrap:anywhere}.day-item textarea{display:block;max-width:100%;min-width:0}.daily-time-fields fieldset{margin:0}.daily-time-fields legend{max-width:100%;white-space:normal}@media(max-width:1000px){.review-reason-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.review-options{padding:10px;margin:16px 0}.review-status-options{gap:7px}.review-options label{padding:10px 7px;gap:6px;font-size:12px;justify-content:center}.review-options input{width:17px;height:17px;flex-basis:17px}.review-actual>.form-three{gap:8px}.review-reason-options{grid-template-columns:1fr}.study-types label{padding:13px}.day-item{padding:14px}.review-actual textarea{font-size:16px}}@media(max-width:360px){.review-status-options{grid-template-columns:1fr}.review-options label{justify-content:flex-start;padding:11px 13px;font-size:14px}.study-type-options{grid-template-columns:1fr}}
/* Sign out stays visible at the foot of every role's navigation. */
.sidebar>div:has(>.nav){flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#496083 transparent}.sidebar .sidebar-bottom{flex-shrink:0;padding-top:12px}.sidebar-logout{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;margin-top:12px;padding:11px;border:1px solid #f18d93;border-radius:11px;background:#b63c4b;color:#fff;box-shadow:0 3px 9px #0a142326;font-size:14px;font-weight:800;cursor:pointer;flex-shrink:0}.sidebar-logout:hover{background:#cb4a59;border-color:#ffb4b7}.sidebar-logout:focus-visible{outline:3px solid #ffbd75;outline-offset:3px}.sidebar-logout svg{width:22px;height:22px;flex:0 0 22px}.sidebar-logout span{display:none}.sidebar-expanded .sidebar-logout{justify-content:flex-start;padding-left:14px}.sidebar-expanded .sidebar-logout span{display:block}@media(max-width:700px){.sidebar-logout{min-height:48px}.sidebar-expanded .sidebar .mini-note{display:none}}
/* YDT analysis results and manual section entry */
.exam-auto-source{display:block;padding:8px 12px;color:#236348;background:#e8f5ed;border-radius:9px;font-size:12px;font-weight:700}.ydt-detail-heading{margin:24px 0 12px;color:#1b2e50;font-size:20px}.ydt-section-table{width:100%;border-collapse:collapse;font-size:14px}.ydt-section-table th,.ydt-section-table td{padding:11px 9px;border-bottom:1px solid #e4eaf2;text-align:center}.ydt-section-table th:first-child{text-align:left;min-width:150px;max-width:310px;white-space:normal;overflow-wrap:anywhere}.ydt-section-table thead{background:#eef3fa;color:#1b2e50}.ydt-section-table tbody tr:nth-child(even){background:#f8fbff}.exam-course-title b{overflow-wrap:anywhere}.exam-course-title>div{min-width:0}
@media(max-width:700px){.ydt-section-table{font-size:12px}.ydt-section-table th,.ydt-section-table td{padding:9px 6px}.ydt-section-table th:first-child{min-width:130px}.exam-auto-source{font-size:11px}}
/* Staff landing: student management */
.content>.intro[hidden]{display:none}.staff-student-hub{padding:24px}.staff-student-hub .edu-heading{margin-bottom:24px}.staff-header-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}.staff-header-actions .edu-small-btn{background:#ffffff1a;color:#fff;border-color:#ffffff3a}.staff-student-hub .edu-student-toolbar{margin:0 0 20px;gap:14px}.staff-student-hub .edu-student-toolbar>input{flex:1;min-width:180px;border-radius:15px;padding:16px 18px}.staff-student-hub .edu-student-toolbar>div{display:flex;gap:4px;border:1px solid #e1e7ef;padding:4px;border-radius:15px;flex-wrap:wrap}.staff-student-hub .edu-student-toolbar .edu-small-btn{border:0;background:transparent;min-height:42px}.staff-student-hub .edu-student-toolbar .active{background:#1c3055;color:#fff}.staff-group-tabs{display:flex;gap:10px;flex-wrap:wrap;background:#f7f9fc;border:1px solid #e4eaf3;padding:15px;border-radius:18px;margin-bottom:20px}.staff-group-tabs button{padding:12px 17px;border:1px solid #dbe5f3;background:#fff;color:#294c80;border-radius:11px;font-weight:750;min-height:44px}.staff-group-tabs button.active{background:#1d3155;color:#fff;border-color:#1d3155}.staff-bulk-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.staff-bulk-actions>span{font-size:13px;color:#697a92}.staff-student-hub .edu-students{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.staff-student-card{--student-color:#de9a10;border-left:5px solid var(--student-color);padding:18px 18px 0;overflow:hidden;display:flex;flex-direction:column;border-radius:22px;box-shadow:0 5px 18px #1c305509}.staff-student-card[data-color="1"]{--student-color:#0d9bab}.staff-student-card[data-color="2"]{--student-color:#bc4897}.staff-student-card[data-color="3"]{--student-color:#4879bf}.staff-student-card .edu-avatar{background:var(--student-color);color:#fff;border-radius:16px;width:52px;height:52px;flex-shrink:0}.staff-student-card .edu-student-heading>div{min-width:0}.staff-student-card h3{font-size:19px;overflow-wrap:anywhere}.staff-student-card .edu-student-heading p{font-size:12px;line-height:1.5}.staff-student-card .staff-coach{font-size:13px;color:#3f5474}.staff-last-work{font-size:12px;color:#758399;margin:0 0 14px}.staff-student-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}.staff-student-numbers>span{background:#f0f5fb;border-radius:10px;padding:9px 5px;text-align:center;font-size:11px;color:#596f8d}.staff-student-numbers b{display:block;color:#1b3158;font-size:20px}.staff-course-details{border-top:1px solid #e6ebf1;padding:12px 0;color:#4b5b70;font-size:13px}.staff-course-details summary{cursor:pointer;min-height:28px}.staff-course-details>div{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}.staff-course-details span{background:#edf3fb;border-radius:6px;padding:5px 7px}.staff-student-card .edu-student-actions{margin:14px -18px 0;padding:12px;background:#eef3fa;gap:7px;display:flex;flex-wrap:wrap;align-items:center}.staff-student-card .edu-student-actions button{min-height:38px;font-size:12px;padding:8px 10px;background:#fff}.staff-student-card .edu-student-actions button:first-child{color:#bd590a;background:#fff0df;border-color:#ffd4a9}.staff-student-hub .edu-students.list{grid-template-columns:1fr}.staff-student-hub .edu-students.list .staff-student-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr);gap:10px 22px}.staff-student-hub .edu-students.list .edu-student-actions{grid-column:1/-1;margin-top:0}.staff-cockpit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.staff-cockpit>div{padding:20px;background:#edf3fc;border:1px solid #dbe6f5;border-radius:16px}.staff-cockpit b{display:block;font-size:30px;color:#1b3158}.staff-cockpit span{font-size:13px;color:#627593}
@media(max-width:1150px){.staff-student-hub .edu-students{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-header-actions{margin-left:0}.staff-student-hub .edu-heading{flex-wrap:wrap}}
@media(max-width:700px){.staff-student-hub{padding:15px}.staff-student-hub .edu-students{grid-template-columns:1fr}.staff-student-hub .edu-student-toolbar>input{width:100%;min-width:0}.staff-student-hub .edu-student-toolbar>div{width:100%}.staff-student-hub .edu-student-toolbar>div button{flex:1}.staff-header-actions{width:100%}.staff-header-actions button{flex:1}.staff-group-tabs{padding:10px;gap:7px}.staff-group-tabs button{padding:10px;font-size:12px}.staff-student-hub .edu-students.list .staff-student-card{display:flex;gap:0}.staff-cockpit{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-cockpit>div{padding:14px}.staff-student-hub table{font-size:12px}.staff-student-hub .edu-heading>div:not(.staff-header-actions){min-width:0;flex:1}.staff-student-hub .edu-heading h2{font-size:21px}}
.staff-student-hub .edu-student-toolbar>input{max-width:none}.staff-student-hub .staff-header-actions .btn{background:linear-gradient(110deg,#ff9c38,#ee7011);color:#fff;padding:13px 20px;border:0;border-radius:12px;box-shadow:0 4px 12px #10203920}
/* Compact student cards, retaining readable controls */
.staff-student-hub .edu-students{gap:14px;align-items:start}.staff-student-card{padding:13px 13px 0;border-radius:18px;border-left-width:4px}.staff-student-card .edu-student-heading{gap:10px;margin-bottom:6px}.staff-student-card .edu-avatar{width:42px;height:42px;border-radius:12px;font-size:18px}.staff-student-card h3{font-size:17px;margin-bottom:3px}.staff-student-card .edu-student-heading p{font-size:11px;line-height:1.35;margin:0}.staff-student-card>p{margin:6px 0}.staff-student-card .staff-coach{font-size:12px}.staff-student-card .staff-last-work{font-size:11px;margin:5px 0 9px}.staff-student-numbers{margin-bottom:9px;gap:5px}.staff-student-numbers>span{padding:6px 4px;font-size:10px;border-radius:8px}.staff-student-numbers b{font-size:18px;line-height:1.2}.staff-course-details{padding:8px 0;font-size:12px}.staff-course-details summary{min-height:23px}.staff-student-card .analysis-permission{padding:8px;gap:7px;margin:6px 0 0;font-size:10px;min-height:36px}.staff-student-card .analysis-permission input{width:17px;height:17px}.staff-student-card>[data-parent-manage]{padding:7px 10px;font-size:11px;min-height:32px}.staff-student-card .edu-student-actions{margin:9px -13px 0;padding:9px;gap:5px}.staff-student-card .edu-student-actions button{min-height:32px;padding:6px 8px;font-size:11px;border-radius:9px}.staff-student-hub .edu-students.list .staff-student-card{gap:6px 16px}
@media(min-width:1650px){.staff-student-hub .edu-students:not(.list){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.staff-student-card .edu-student-actions button,.staff-student-card>[data-parent-manage]{min-height:44px}.staff-student-card .analysis-permission{min-height:44px}}

.staff-student-card .edu-student-actions .staff-delete-student{color:#b32436;background:#fff0f1;border-color:#efc5cc}.staff-student-card .edu-student-actions .staff-delete-student:hover{background:#ffe1e5;border-color:#d77583}

.mood-motivation{display:flex;align-items:center;gap:16px;padding:18px 22px;border:1px solid #d7e6f6;border-left:4px solid #4b83b5;background:linear-gradient(110deg,#edf5ff,#fff);border-radius:17px;margin:0 0 20px;color:#253e61}.mood-motivation>span{font-size:29px;flex-shrink:0}.mood-motivation small{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#607e9f}.mood-motivation p{margin:5px 0 0;font-size:16px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.mood-motivation[data-mood="1"]{background:linear-gradient(110deg,#edf8f1,#fff);border-color:#d1e8d8;border-left-color:#469466}.mood-motivation[data-mood="2"]{background:linear-gradient(110deg,#fff8ea,#fff);border-color:#f0dfbb;border-left-color:#dfa348}.mood-motivation[data-mood="4"]{background:linear-gradient(110deg,#fff2e6,#fff);border-color:#f5d8ba;border-left-color:#f18b32}@media(max-width:700px){.mood-motivation{padding:14px;gap:11px;border-radius:14px}.mood-motivation p{font-size:14px}.mood-motivation>span{font-size:25px}}
.course-topic-library{padding:16px;border:1px solid #cbdcf1;border-left:4px solid #f48b27;background:#f4f8ff;border-radius:13px;margin:15px 0}.course-topic-library[hidden]{display:none}.topic-library-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.topic-library-heading h3{font-size:17px;color:#20365b;margin:0 0 5px}.topic-library-heading p{font-size:12px;color:#667b96;margin:0 0 12px}.topic-library-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:240px;overflow:auto;margin:12px 0}.topic-library-results button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;border:1px solid #dce5f1;background:#fff;padding:10px;border-radius:9px;color:#20365b;font-size:12px;min-height:42px}.topic-library-results button>span{overflow-wrap:anywhere;min-width:0}.topic-library-results b{white-space:nowrap;font-size:10px;color:#b45b0a}.topic-library-results button:disabled{background:#eaf1f8;color:#71819a;opacity:1}.topic-library-results button:disabled b{color:#4d8563}.topic-library-custom{display:flex;gap:10px;align-items:flex-end}.topic-library-custom>label{flex:1;min-width:0;font-size:12px;margin:0}.topic-library-custom .btn{flex-shrink:0;min-height:43px;font-size:12px}.course-topic-library>p[role=status]{font-size:12px;color:#346948;margin:10px 0 0}@media(max-width:600px){.topic-library-results{grid-template-columns:1fr}.topic-library-results button{min-height:44px}.topic-library-custom,.topic-library-heading{flex-wrap:wrap}.topic-library-custom>.btn{width:100%}.topic-library-custom>label{flex-basis:100%}}
.reading-choice-options{border:1px solid #d9e5f3;border-radius:13px;background:#f5f9ff;padding:14px;margin:16px 0}.reading-choice-options legend{font-size:14px;font-weight:750;color:#233d62;padding:0 6px}.reading-choice-options label{font-size:14px;min-height:44px}.review-actual [data-paragraph-results],.review-actual [data-reading-activities]{grid-column:1/-1}.review-actual [hidden]{display:none!important}
.reading-choice-options .study-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reading-choice-options .study-type-options label{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border:1px solid #d8e4f2;border-radius:10px;margin:0;font-weight:700}.reading-choice-options .study-type-options input{width:18px;height:18px;min-width:18px;margin:0;flex:0 0 18px;accent-color:#203b65}@media(max-width:600px){.reading-choice-options .study-type-options{grid-template-columns:1fr}}
.exam-result-summary{display:grid;gap:12px;margin:18px 0;min-width:0}.exam-result-course{border:1px solid #dfe7f2;background:#fff;border-radius:14px;padding:14px;min-width:0}.exam-result-course h3{color:#233d65;font-size:17px;margin:0 0 12px;overflow-wrap:anywhere}.exam-result-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.exam-result-counts>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;border-radius:10px;background:#eff3f9;padding:12px 4px}.exam-result-counts span{font-size:12px;font-weight:750;color:#5b6e89}.exam-result-counts b{font-size:24px;color:#233d65;line-height:1.2;overflow-wrap:anywhere;max-width:100%}.exam-result-counts .result-correct{background:#eaf7ee}.exam-result-counts .result-correct b{color:#25724b}.exam-result-counts .result-wrong{background:#fff0f1}.exam-result-counts .result-wrong b{color:#bd4559}.exam-result-counts .result-blank{background:#fff6e8}.exam-result-counts .result-blank b{color:#ad741a}.parent-exam-dialog .exam-result-summary{margin:18px}.table-scroll .ydt-section-table{min-width:0!important;table-layout:fixed;width:100%}.table-scroll .ydt-section-table th:first-child{width:46%;min-width:0;max-width:none}.table-scroll .ydt-section-table td,.table-scroll .ydt-section-table th{white-space:normal;overflow-wrap:anywhere;padding:10px 5px}.parent-exam-dialog .ydt-detail-heading,.parent-exam-dialog .ydt-detail-heading+.table-scroll{margin-left:18px;margin-right:18px}@media(max-width:600px){.exam-result-course{padding:11px}.exam-result-counts{gap:5px}.exam-result-counts>div{padding:10px 2px}.exam-result-counts b{font-size:21px}.exam-result-counts span{font-size:11px}.parent-detail-heading{flex-wrap:wrap;gap:10px;padding:16px}.parent-detail-heading>div{min-width:0;flex:1}.parent-detail-heading h2{font-size:20px;overflow-wrap:anywhere}.parent-detail-heading>b{font-size:19px}.table-scroll .ydt-section-table td,.table-scroll .ydt-section-table th{font-size:11px;padding:9px 3px}.table-scroll .ydt-section-table th:first-child{width:43%}}
.ydt-general-chart{margin:20px 0}.ydt-chart-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.ydt-chart-heading h3{font-size:18px;color:#20395f;margin:0 0 10px;overflow-wrap:anywhere}.ydt-chart-heading>span{font-size:12px;color:#71839b;white-space:nowrap}.ydt-sections-heading{margin:25px 0 16px}.ydt-sections-heading h3{font-size:21px;color:#20395f;margin-bottom:7px}.ydt-sections-heading p{font-size:12px;line-height:1.6;color:#73849b}.ydt-chart-last{padding:11px;background:#f1f5fb;border-radius:10px}.ydt-chart-last>small{color:#71829b;font-size:11px;display:block;margin-bottom:8px}.ydt-chart-last>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.ydt-chart-last span{font-size:11px;color:#6b7b91;text-align:center}.ydt-chart-last b{display:block;font-size:17px;color:#20395f;margin-top:4px}.ydt-section-charts>.exam-panel{min-width:0}.ydt-section-charts{margin-bottom:20px}.ydt-general-chart .exam-line-chart{max-height:320px}.parent-content .exam-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.exam-line-chart circle:focus{outline:none;stroke:#ff8b26;stroke-width:5px}@media(max-width:700px){.parent-content .exam-chart-grid,.ydt-section-charts{grid-template-columns:1fr}.ydt-chart-heading h3{font-size:17px}.ydt-chart-last b{font-size:16px}.ydt-section-charts .exam-panel{padding:14px}.ydt-sections-heading h3{font-size:19px}}

#editForm .homework-description-field{display:flex;flex-direction:column;align-items:stretch;gap:9px;width:100%;min-width:0;margin:18px 0}#editForm .homework-description-field>span{display:block}#editForm .homework-description-field textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:140px;box-sizing:border-box;margin:0;resize:vertical;font:inherit;font-weight:400;line-height:1.6;padding:13px 15px;border:1px solid #d5dfed;border-radius:12px;background:#fbfcff;color:#233b5e}@media(max-width:700px){#editForm .homework-description-field textarea{font-size:16px;min-height:130px}}
.school-homework-delete{margin-top:12px;min-height:40px;padding:9px 14px!important;color:#b52e43!important;background:#fff2f4!important;border:1px solid #efc4cd!important;font-size:12px!important}.homework-delete-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;max-height:220px;overflow:auto}@media(max-width:700px){.school-homework-delete{min-height:44px}}

/* Compact homework list */
.school-homework .card-title{margin-bottom:12px}.school-homework .card-title h2{font-size:19px}.school-homework .card-title p{font-size:12px;margin-top:5px}.school-homework .card-title>.btn{font-size:13px;padding:10px 14px;min-height:38px}.school-homework-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:12px 14px;margin-top:10px;border-radius:12px}.school-homework-item>.goal-line{grid-column:1/-1;margin:0}.school-homework-item .pill{font-size:10px;padding:5px 8px}.school-homework-item .school-homework-text{grid-column:1;font-size:14px;line-height:1.45;margin:2px 0 3px}.school-homework-item .school-homework-dates{grid-column:1;font-size:12px;gap:6px 16px;line-height:1.5}.school-homework-item>.help{grid-column:1;font-size:11px;margin:0;line-height:1.5}.school-homework-actions{grid-column:2;grid-row:2/span 3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.school-homework-actions .school-homework-check{margin:0;padding:7px 9px;min-height:36px;font-size:12px;gap:7px;border-radius:8px}.school-homework-actions .school-homework-check input{width:17px;height:17px;min-width:17px;margin:0}.school-homework-actions .school-homework-delete{margin:0;min-height:36px;padding:7px 10px!important;font-size:11px!important;border-radius:8px}
@media(max-width:900px){.school-homework-item{grid-template-columns:minmax(0,1fr);gap:7px}.school-homework-actions{grid-column:1;grid-row:auto;margin-top:3px}.school-homework .card-title>.btn{min-height:44px}.school-homework-actions .school-homework-check,.school-homework-actions .school-homework-delete{min-height:44px}}

/* Sınıfa ve derse göre ödev kaynakları */
.homework-resources{display:grid;gap:10px;margin:16px 0}
.homework-source{border:1px solid #dbe4f1;border-radius:12px;padding:12px;background:#f7faff;min-width:0}
#editForm .homework-source-choice{display:flex;align-items:center;gap:10px;margin:0;min-height:32px;font-weight:700;color:#203958}
#editForm .homework-source-choice input{width:20px;height:20px;flex:0 0 20px;accent-color:#203958}
#editForm .homework-resource-description{display:flex;flex-direction:column;gap:7px;margin:10px 0 0;min-width:0;font-size:14px}
#editForm .homework-resource-description textarea{display:block;width:100%;box-sizing:border-box;min-width:0;min-height:82px;resize:vertical;font:inherit;font-weight:400;padding:10px 12px;border:1px solid #cfdced;border-radius:10px;background:white}
.homework-book{margin:10px 0 0 12px;padding-left:12px;border-left:3px solid #ff9a39}
@media(max-width:700px){#editForm .homework-source-choice{min-height:44px}#editForm .homework-resource-description textarea{font-size:16px}}
.exam-meta-grid>label{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
.exam-meta-grid>label textarea{width:100%;box-sizing:border-box;min-width:0;min-height:88px;resize:vertical;font:inherit;font-weight:400;padding:12px;border:1px solid #d5dfed;border-radius:12px}
.exam-course-title label{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:8px}
.exam-course-title [data-question-count]{width:90px;min-width:0;padding:6px 8px}
.resource-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.resource-course{border:1px solid #dce4ef;border-left:4px solid var(--resource-accent);border-radius:16px;padding:16px;background:#fff;min-width:0}
.resource-course-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.resource-course h3{font-size:17px;margin:0;color:#203958;overflow-wrap:anywhere}
.resource-course ul{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}
.resource-course li{padding:10px 12px;background:#f2f6fc;border-radius:10px;overflow-wrap:anywhere;font-size:14px}
.resource-course li span{color:var(--resource-accent)}
.resource-course .btn{font-size:13px;min-height:40px;padding:8px 12px}
#editForm .resource-name-field,.plan-resource-other{display:flex;flex-direction:column;gap:8px;margin:14px 0}
.plan-resource-group{border:1px solid #d7e3f2;background:#f7faff;border-radius:14px;padding:14px;margin:12px 0;min-width:0}
.plan-resource-group legend{font-size:15px;font-weight:700;color:#203958;padding:0 6px}
.plan-source-options{display:flex;flex-wrap:wrap;gap:8px}
.plan-source-options label{display:flex!important;align-items:center;gap:8px;min-height:44px;padding:9px 12px;margin:0;border:1px solid #d7e3f2;border-radius:10px;background:#fff;cursor:pointer;max-width:100%;font-size:14px}
.plan-source-options span{overflow-wrap:anywhere;min-width:0}
.plan-source-options input{width:18px;height:18px;flex:0 0 18px;accent-color:#203958}
.plan-source-options label:has(input:checked){border-color:#ee942f;background:#fff4e5;color:#203958}
.day-source-summary{font-size:14px;color:#36567e;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1100px){.resource-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.resource-course-grid{grid-template-columns:1fr}.student-resources-page>.card-title{align-items:stretch;flex-direction:column}.plan-source-options label{width:100%;box-sizing:border-box}}
.resource-course li{display:flex;align-items:center;justify-content:space-between;gap:10px}
.resource-list-title{min-width:0;overflow-wrap:anywhere}
.resource-course .resource-delete{flex:0 0 auto;border:1px solid #f0c3cc;border-radius:9px;background:#fff1f3;color:#b32d47;font:inherit;font-size:12px;font-weight:700;min-height:36px;padding:6px 10px;cursor:pointer}
.resource-course .resource-delete:hover{background:#ffe0e6}
@media(max-width:700px){.resource-course .resource-delete{min-height:44px;min-width:44px}}
/* Day review: one consistent responsive layout for every work card. */
#dayReviewForm{min-width:0}
#dayReviewForm .day-item{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:18px;margin:16px 0;box-sizing:border-box}
#dayReviewForm .day-item>.pill{align-self:flex-start}
#dayReviewForm .day-item>h3,#dayReviewForm .day-item>p{margin:0;line-height:1.5}
#dayReviewForm .day-item>fieldset{box-sizing:border-box;width:100%;min-inline-size:0;margin:0}
#dayReviewForm .review-options,#dayReviewForm .reading-choice-options{display:block;padding:12px;border-radius:12px}
#dayReviewForm .review-options legend,#dayReviewForm .reading-choice-options legend,#dayReviewForm .mistake-options legend{float:none;display:block;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-size:14px;margin:0;padding:0 5px}
#dayReviewForm .review-status-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;width:100%;gap:10px;padding-top:5px}
#dayReviewForm .reading-choice-options .study-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:5px}
#dayReviewForm .review-status-options>label,#dayReviewForm .reading-choice-options .study-type-options>label,#dayReviewForm .review-reason-options>label{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:0;padding:11px 12px;box-sizing:border-box;min-width:0;min-height:46px;white-space:normal;overflow-wrap:anywhere;line-height:1.45;font-size:14px}
#dayReviewForm input[type=radio],#dayReviewForm input[type=checkbox]{appearance:auto;flex:0 0 18px;width:18px;height:18px;min-width:18px;margin:0;align-self:center}
#dayReviewForm .review-actual{display:grid;gap:12px;border:0;padding:0;margin:0}
#dayReviewForm .review-actual:not(:has(>label)):not(:has(>[data-paragraph-results]:not([hidden]))):not(:has(>[data-reading-activities]:not([hidden]))):not(:has(>.warning)){display:none}
#dayReviewForm .day-item>label,#dayReviewForm .review-actual label:not(:has(input[type=checkbox])){display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;min-width:0;line-height:1.5}
#dayReviewForm .review-actual [data-paragraph-results]{min-width:0;display:grid;gap:14px}
#dayReviewForm .review-actual .form-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#dayReviewForm .mistake-options{border:0;min-width:0;margin:0;padding:0}
#dayReviewForm .review-reason-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
#dayReviewForm .day-item textarea,#dayReviewForm .day-item input:not([type=radio]):not([type=checkbox]){box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;margin:0;font:inherit;font-weight:400}
#dayReviewForm .day-item textarea{min-height:88px;resize:vertical;line-height:1.5}
#dayReviewForm .review-actual .help,#dayReviewForm .review-actual .warning{margin:7px 0 0}
@media(max-width:900px){#dayReviewForm .review-reason-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#dayReviewForm .day-item{padding:14px;gap:12px}#dayReviewForm .review-status-options,#dayReviewForm .reading-choice-options .study-type-options,#dayReviewForm .review-reason-options{grid-template-columns:1fr}#dayReviewForm .review-options,#dayReviewForm .reading-choice-options{padding:10px}#dayReviewForm .review-status-options>label,#dayReviewForm .reading-choice-options .study-type-options>label{font-size:14px;min-height:46px}#dayReviewForm .review-actual .form-three{gap:8px}#dayReviewForm .day-item input:not([type=radio]):not([type=checkbox]),#dayReviewForm .day-item textarea{font-size:16px}}
/* Compact resource cards: empty courses keep their natural height. */
.student-resources-page .resource-course-grid{gap:12px;align-items:start}
.student-resources-page .resource-course{padding:12px;border-radius:12px;border-left-width:3px}
.student-resources-page .resource-course-heading{gap:8px}
.student-resources-page .resource-course h3{font-size:15px;line-height:1.35}
.student-resources-page .resource-course-heading .pill{font-size:11px;padding:5px 8px;white-space:nowrap;flex-shrink:0}
.student-resources-page .resource-course ul{margin:10px 0;gap:6px}
.student-resources-page .resource-course li{font-size:13px;line-height:1.4;padding:6px 9px;gap:8px;border-radius:8px;min-height:36px;box-sizing:border-box}
.student-resources-page .resource-course>.help{font-size:12px;margin:8px 0;line-height:1.4}
.student-resources-page .resource-course .btn{font-size:12px;min-height:34px;padding:6px 10px;border-radius:9px}
.student-resources-page .resource-course .resource-delete{font-size:11px;min-height:30px;padding:4px 8px;border-radius:7px}
@media(max-width:700px){.student-resources-page .resource-course-grid{gap:10px}.student-resources-page .resource-course .btn,.student-resources-page .resource-course .resource-delete{min-height:44px}.student-resources-page .resource-course li{font-size:14px}}
/* Keep account controls within reach while scrolling on a phone. */
@media screen and (max-width:700px){
 .shell .topbar,.parent-layout .parent-topbar{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 3px 12px #192d5012}
 .parent-layout .parent-topbar{padding-top:8px;padding-bottom:8px}
}
.course-goal-section{border:1px solid #dce5f1;border-radius:14px;padding:16px;margin:18px 0;background:#fff}
.course-goal-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.course-goal-section h3{margin:0;font-size:17px;color:#203958}
.course-goal-section [data-course-total]{font-size:13px;font-weight:700;color:#276a50;background:#edf8f2;padding:7px 10px;border-radius:8px}
.course-goal-section [data-course-total].over-limit{color:#ad3048;background:#fff0f3}
.course-goal-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.course-goal-inputs>label{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f4f7fc;border-radius:10px;margin:0;min-width:0;font-size:14px}
.course-goal-value{display:flex;align-items:center;gap:8px;min-width:0}
.course-goal-value input{width:100%;min-width:0;margin:0!important;font-size:16px}
.course-goal-value small{white-space:nowrap;color:#687c98}
@media(max-width:1000px){.course-goal-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.course-goal-inputs{grid-template-columns:1fr}.course-goal-section{padding:12px}.course-goal-section>header{align-items:stretch;flex-direction:column}.course-goal-section h3{font-size:16px}}
/* Review groups use internal headings, never border-straddling legends. */
#dayReviewForm .review-choice-layout{display:grid;grid-template-columns:1fr;gap:10px;min-width:0}
#dayReviewForm .review-choice-layout>fieldset{position:relative;box-sizing:border-box;width:100%;min-inline-size:0;min-width:0;margin:0;padding:12px;border:1px solid #e0e7f1;border-radius:12px;background:#f7f9fd}
#dayReviewForm .review-choice-layout .review-sr-legend{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;margin:-1px!important;border:0!important}
#dayReviewForm .review-group-title{margin:0;color:#233b5e;font-size:14px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
#dayReviewForm .review-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px 12px;flex-wrap:wrap}
#dayReviewForm .review-group-heading>span{font-size:12px;color:#6e809b;line-height:1.4}
#dayReviewForm .review-choice-layout .review-status-options,#dayReviewForm .review-choice-layout .study-type-options{margin-top:10px;padding-top:0;gap:8px}
#dayReviewForm .review-choice-layout .review-status-options>label,#dayReviewForm .review-choice-layout .study-type-options>label{font-size:13px;padding:9px 10px;min-height:44px;gap:7px;border-radius:9px;border:1px solid #d8e3ef;background:#fff}
#dayReviewForm .review-choice-layout label:has(input:checked){background:#eaf2fd;border-color:#809bbf;box-shadow:none}
#dayReviewForm .review-choice-layout .review-status-options label:has(input[value="0"]:checked){background:#edf8f1;border-color:#7fae91;color:#226943}
#dayReviewForm .review-choice-layout .review-status-options label:has(input[value="2"]:checked){background:#fff1f2;border-color:#d59ba5;color:#a9364d}
#dayReviewForm .day-item{gap:10px;padding:16px}
#dayReviewForm .day-item>h3{font-size:16px;line-height:1.4}
#dayReviewForm .day-item>p{font-size:13px}
#dayReviewForm .day-item>label{font-size:13px}
#dayReviewForm .day-item>label>textarea{min-height:72px}
@media(min-width:1200px){#dayReviewForm .review-choice-layout:has(.reading-choice-options){grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}#dayReviewForm .review-choice-layout .review-status-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#dayReviewForm .day-item{padding:13px}#dayReviewForm .review-choice-layout>fieldset{padding:10px}#dayReviewForm .review-choice-layout .review-status-options,#dayReviewForm .review-choice-layout .study-type-options{grid-template-columns:1fr}#dayReviewForm .review-choice-layout label{font-size:14px!important}}
.course-goal-inputs>label>.course-goal-value{margin-top:auto}
.course-goal-inputs>label>span{overflow-wrap:anywhere;line-height:1.45}
.exam-toolbar #examLast{width:auto;min-width:165px;max-width:100%;min-height:44px;margin:0;padding:10px 34px 10px 14px;border:1px solid #dbe4f0;border-radius:12px;background-color:#fff;color:#1d3558;font:inherit;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer;box-sizing:border-box;text-overflow:ellipsis}
@media(max-width:700px){.exam-toolbar #examLast{width:100%;font-size:16px}}
/* Compact greeting and working-day calendar. */
.home-greeting{min-height:0;padding:17px 20px;border-radius:18px;gap:18px;margin-bottom:18px}
.home-greeting h1{font-size:24px;line-height:1.25;letter-spacing:-.4px;margin:0 0 6px}
.home-welcome>p{font-size:13px}
.home-welcome-bottom{gap:9px;margin-top:11px}
.home-streak{font-size:11px;padding:6px 10px}
.home-plan-button{font-size:12px;padding:9px 13px;min-height:36px;border-radius:9px}
.home-header-stats{gap:8px}
.home-header-stats>div{width:76px;min-height:80px;padding:9px 8px;border-radius:12px;box-sizing:border-box}
.home-header-stats svg{width:20px;height:20px;margin-bottom:5px}
.home-header-stats b{font-size:21px;line-height:1.15}
.home-header-stats small{font-size:11px;margin-top:3px}
.day-navigation{width:440px;max-width:100%;padding:10px;border-radius:12px;box-sizing:border-box}
.day-calendar-heading{gap:8px;margin-bottom:7px}
.day-calendar-icon{width:30px;height:30px;flex:0 0 30px;border-radius:8px}
.day-calendar-icon svg{width:19px;height:19px}
.day-calendar-heading small{font-size:8px;letter-spacing:.8px}
.day-calendar-heading strong{font-size:18px;letter-spacing:.2px}
.day-date-tag{font-size:10px;padding:3px 7px}
.day-navigation nav{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto;gap:5px;align-items:end}
.day-navigation label{min-width:0;grid-column:auto;grid-row:auto}
.day-navigation [data-day-today]{grid-column:auto;grid-row:auto}
.day-navigation .btn{min-height:34px;padding:7px;font-size:11px;white-space:nowrap;border-radius:8px}
.day-date-label{font-size:9px}
.day-navigation input:not([type=checkbox]){min-height:34px;height:34px;padding:5px 6px;font-size:12px;margin-top:2px;box-sizing:border-box}
.day-navigation .help{font-size:10px;line-height:1.4;margin:7px 0 0}
@media(max-width:700px){
 .home-greeting{padding:15px;gap:13px;border-radius:16px}
 .home-greeting h1{font-size:22px}
 .home-welcome>p{font-size:12px}
 .home-welcome-bottom{margin-top:9px;gap:8px}
 .home-plan-button{min-height:44px;padding:10px 12px}
 .home-header-stats{gap:7px}
 .home-header-stats>div{width:auto;min-height:71px;padding:7px;flex:1;border-radius:10px}
 .home-header-stats svg{width:18px;height:18px;margin-bottom:3px}
 .home-header-stats b{font-size:20px}
 .day-navigation{width:100%;padding:10px}
 .day-calendar-heading strong{font-size:18px}
 .day-navigation nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
 .day-navigation label{grid-column:1/-1;grid-row:1}
 .day-navigation [data-day-today]{grid-column:2;grid-row:2}
 .day-navigation [data-day-shift="-1"]{grid-column:1;grid-row:2}
 .day-navigation [data-day-shift="1"]{grid-column:3;grid-row:2}
 .day-navigation .btn{min-height:44px;font-size:11px;padding:7px 5px;white-space:normal}
 .day-navigation input:not([type=checkbox]){height:44px;min-height:44px;font-size:16px}
}
/* Daily routine cards stay readable without oversized spacing. */
.routine-card{padding:16px;border-radius:16px}
.routine-card .card-title{gap:10px;margin-bottom:12px}
.routine-card .card-title .eyebrow{font-size:9px;letter-spacing:.8px}
.routine-card .card-title h2{font-size:20px;margin:4px 0}
.routine-card .card-title p{font-size:12px;margin:4px 0 0}
.routine-card .card-title>.pill{font-size:11px;padding:6px 9px}
.routine-card .routine-grid{gap:12px;align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.routine-card .routine-task{padding:13px;border-radius:11px;border-left-width:4px;min-height:0}
.routine-card .routine-task h3{font-size:16px;line-height:1.4;margin:9px 0 6px}
.routine-card .routine-task p{font-size:12px;line-height:1.5;margin:6px 0}
.routine-card .routine-task>.pill{font-size:10px;padding:5px 8px}
.routine-card .routine-task .goal{margin:10px 0}
.routine-card .routine-task .goal-line{font-size:12px;margin-bottom:6px;gap:8px}
.routine-card .routine-task progress{height:7px;margin:0}
.routine-card .routine-task .btn{font-size:12px;min-height:34px;padding:7px 11px;margin-top:10px;border-radius:9px}
.routine-card>.caption{font-size:11px;line-height:1.5;margin:12px 0 0}
@media(max-width:700px){.routine-card{padding:13px}.routine-card .card-title h2{font-size:18px}.routine-card .routine-task .btn{min-height:44px}.routine-card .routine-task h3{font-size:15px}}
/* Compact, vivid daily time and self-rating panels. */
.daily-time-review{padding:14px;border-radius:14px;margin:5px 0 16px;background:#f6f8fc;border-color:#dce5f1}
.daily-time-review .card-title{margin-bottom:12px;gap:8px}
.daily-time-review .eyebrow,.self-rating-card .eyebrow{font-size:9px;letter-spacing:1px}
.daily-time-review h3{font-size:19px;margin:3px 0}
.daily-time-review .card-title p{font-size:12px;margin:4px 0 0;line-height:1.4}
.daily-time-fields{gap:10px}
.daily-time-fields fieldset{padding:9px 10px 11px;border-radius:10px;border:1px solid #cbdaf0;border-top:3px solid #426da5;background:#edf3ff}
.daily-time-fields fieldset:nth-child(2){background:#fff3e3;border-color:#f2d4a9;border-top-color:#f29529}
.daily-time-fields fieldset:nth-child(3){background:#eaf8f0;border-color:#bde0cc;border-top-color:#279568}
.daily-time-fields legend{font-size:12px;line-height:1.4;padding:0 5px}
.daily-time-fields legend span{font-size:17px;margin-right:3px}
.daily-time-fields fieldset>div{gap:8px}
.daily-time-fields label{font-size:11px;margin-top:2px}
.daily-time-fields input{font-size:18px;min-height:38px;height:38px;margin-top:4px;padding:6px 8px;border-radius:8px;border-color:#cbd7e8;box-sizing:border-box}
.daily-time-fields input:focus{border-color:#f28a26;box-shadow:0 0 0 3px #ff962321}
.daily-time-review .help{font-size:11px;line-height:1.4;margin:8px 0}
.daily-time-review .error:empty{display:none}
.daily-time-review .btn{font-size:12px;min-height:35px;padding:8px 12px;background:#1b3155;color:#fff;border-color:#1b3155;border-radius:9px}
.self-rating-card{padding:13px 15px;gap:16px;border-radius:12px;border-left:4px solid #ff922e;background:linear-gradient(105deg,#fff6e9,#fff 70%);margin-bottom:16px}
.self-rating-card h3{font-size:18px;line-height:1.4;margin:4px 0}
.self-rating-card p{font-size:12px;line-height:1.45;margin:4px 0 0}
.self-rating-card>label{font-size:12px;min-width:125px;margin:0}
.self-rating-input{gap:8px;margin-top:5px}
.self-rating-input input{width:78px;font-size:21px;min-height:42px;height:42px;padding:7px;border-radius:9px;border:1px solid #f1c692;box-sizing:border-box;color:#a7500c;background:#fff}
.self-rating-input b{font-size:12px;color:#a7500c}
@media(max-width:700px){.daily-time-review{padding:12px}.daily-time-fields{gap:9px}.daily-time-review h3{font-size:18px}.daily-time-fields input{font-size:18px;height:44px;min-height:44px}.daily-time-review .btn{min-height:44px}.self-rating-card{padding:12px;gap:10px}.self-rating-card h3{font-size:17px}.self-rating-input input{height:44px;min-height:44px}.self-rating-card>label{width:100%}}
/* Compact past-exam columns; empty groups do not stretch. */
.exam-tracker .exam-section-title{font-size:18px;margin:15px 0 10px}
.exam-tracker .exam-columns{align-items:start;gap:12px}
.exam-tracker .exam-column{border-radius:12px;min-height:0}
.exam-tracker .exam-column-heading{padding:10px 11px;font-size:14px;border-radius:11px 11px 0 0;gap:7px}
.exam-tracker .exam-column-heading small{font-size:11px}
.exam-tracker .exam-column-list{padding:7px}
.exam-tracker .exam-no-record{font-size:12px;padding:15px 10px;line-height:1.4}
.exam-tracker .exam-record{margin-bottom:6px;border-radius:9px}
.exam-tracker .exam-record:last-child{margin-bottom:0}
.exam-tracker .exam-record-open{padding:11px 10px;gap:8px;min-height:65px}
.exam-tracker .exam-record-open b{font-size:13px;line-height:1.35}
.exam-tracker .exam-record-open small{font-size:10px;margin-top:4px}
.exam-tracker .exam-record-net strong{font-size:20px}
.exam-tracker .exam-auto-source{display:block;font-size:10px;padding:6px 10px;line-height:1.4}
@media(max-width:700px){.exam-tracker .exam-record-open{min-height:65px}.exam-tracker .exam-record-tools button{width:32px;height:32px}}
/* Branch exam selection and clearly aligned result-entry cards. */
.exam-branch-layout{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(260px,1.4fr) minmax(240px,1.3fr);gap:18px;align-items:start;margin:22px 0}
.exam-branch-layout>.exam-checkbox{min-height:44px;margin-top:18px;display:flex;align-items:center;gap:8px;font-weight:700}
.exam-branch-layout .exam-checkbox input{width:18px;height:18px;margin:0;accent-color:#21395f}
.exam-branch-type>span{display:block;font-size:13px;font-weight:700;color:#344b69;margin-bottom:9px}
.exam-branch-choices{display:flex;flex-wrap:wrap;gap:7px}
.exam-branch-choices button{font:inherit;font-size:12px;font-weight:700;min-height:38px;padding:8px 12px;background:#eef3fb;color:#425670;border:1px solid #dce4ef;border-radius:18px;cursor:pointer}
.exam-branch-choices button.selected{background:#1c3156;color:#fff;border-color:#1c3156;box-shadow:0 3px 7px #192d5020}
.exam-branch-choices button:focus-visible{outline:3px solid #ffad59;outline-offset:2px}
.exam-branch-selection{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}
.exam-branch-selection>label{margin:0;font-size:12px}
.exam-branch-selection>label:last-child{grid-column:1/-1}
.exam-branch-selection select,.exam-branch-selection input{margin-top:6px;font-size:14px;min-height:40px}
.exam-branch-group-summary{grid-column:1/-1;padding:13px;background:#edf5ff;border:1px solid #d6e4f5;border-left:3px solid #fa922b;border-radius:10px;display:grid;gap:7px;color:#21395f}
.exam-branch-group-summary span{font-size:12px;line-height:1.6}.exam-branch-group-summary small{font-size:11px}
.exam-editor .exam-course-card{background:#fff;border-radius:12px;padding:14px;border:1px solid #dde5ef;box-shadow:0 3px 10px #192d5008}
.exam-editor .exam-course-title{gap:9px;min-height:44px;margin-bottom:12px;align-items:center}
.exam-editor .exam-course-title b{font-size:15px}.exam-editor .exam-course-title small{font-size:12px;margin-top:4px}
.exam-editor .exam-number{grid-template-columns:58px minmax(0,1fr) 26px;margin:8px 0;font-size:12px;font-weight:700;gap:5px}
.exam-editor .exam-number input{height:36px;min-height:36px;background:#fff;border:1px solid #dce3ec;border-radius:6px;font-size:14px}
.exam-editor .exam-number input[readonly]{background:#f3f5f9;color:#687b96}
.exam-editor .exam-number.correct>span{color:#168449}.exam-editor .exam-number.wrong>span{color:#d13944}
.exam-editor .exam-course-net{padding-top:10px;margin-top:10px}
@media(max-width:1100px){.exam-branch-layout{grid-template-columns:1fr 2fr}.exam-branch-selection{grid-column:1/-1}}
@media(max-width:700px){.exam-branch-layout{grid-template-columns:1fr;gap:12px;margin:16px 0}.exam-branch-layout>.exam-checkbox{margin-top:0}.exam-branch-selection{grid-column:auto;grid-template-columns:1fr}.exam-branch-choices button{min-height:44px;font-size:12px}.exam-branch-selection select,.exam-branch-selection input{font-size:16px;min-height:44px}.exam-editor .exam-number input{height:44px;min-height:44px;font-size:16px}.exam-editor .exam-number{grid-template-columns:58px minmax(0,1fr) 26px}.exam-editor .exam-course-title b{font-size:15px}}
/* Compact overview tasks and weekly activity. */
.student-dashboard .home-main-grid{align-items:start;gap:14px;margin-bottom:16px}
.home-main-grid>.home-panel{padding:15px;border-radius:15px;min-height:0}
.home-main-grid .home-panel-heading{gap:8px;min-height:31px;margin-bottom:12px}
.home-main-grid .home-panel-heading>span{width:31px;height:31px;border-radius:9px}
.home-main-grid .home-panel-heading>span>svg{width:19px;height:19px}
.home-main-grid .home-panel-heading h2{font-size:18px;letter-spacing:-.25px}
.home-main-grid .home-text-link{font-size:11px}
.home-main-grid .home-task-progress{font-size:12px;margin-bottom:6px}
.home-main-grid .home-completion{height:6px;margin-bottom:11px}
.home-main-grid .home-task-list{gap:8px}
.home-main-grid .home-task{min-height:55px;padding:10px 11px 10px 23px;gap:9px;border-radius:10px;box-sizing:border-box}
.home-main-grid .home-task::before{left:10px;top:13px;bottom:13px;width:4px}
.home-main-grid .home-task-status{width:16px;height:16px;margin-left:1px;font-size:10px}
.home-main-grid .home-task>div>b{font-size:13px;line-height:1.4}
.home-main-grid .home-task>div>small{font-size:11px;margin-top:3px;line-height:1.4}
.home-main-grid .home-task>button{font-size:11px;padding:7px 10px;min-height:32px;border-radius:8px;box-shadow:0 2px 5px #192d5015}
.home-main-grid .home-review-link{font-size:11px;margin-top:11px;min-height:28px}
.home-main-grid .home-week-change{font-size:10px;padding:4px 7px}
.home-main-grid .home-week-chart{max-height:125px;margin-top:0}
.home-main-grid .home-today-summary{padding:10px;border-radius:11px;margin-top:10px}
.home-main-grid .home-today-summary>div:first-child>b{font-size:12px}
.home-main-grid .home-today-summary>div:first-child>span{font-size:11px}
.home-main-grid .home-daily-donut{grid-template-columns:78px minmax(0,1fr);gap:8px;margin-top:6px}
.home-main-grid .home-daily-donut>svg{width:78px;height:78px}
.home-main-grid .home-daily-donut>div p{font-size:11px;line-height:1.45;margin:5px 0}
.home-main-grid .home-daily-donut>div p>b{font-size:12px}
.home-main-grid .home-empty-tasks{min-height:150px;padding:12px}
.home-main-grid .home-empty-tasks>span{font-size:25px;margin-bottom:8px}
.home-main-grid .home-empty-tasks h3{font-size:15px;margin-bottom:6px}
.home-main-grid .home-empty-tasks p{font-size:12px;margin-bottom:12px}
@media(max-width:950px) and (min-width:701px){.home-main-grid .home-week{gap:0 14px}.home-main-grid .home-today-summary{margin-top:0}}
@media(max-width:700px){.home-main-grid>.home-panel{padding:13px}.home-main-grid .home-panel-heading h2{font-size:17px}.home-main-grid .home-task>button,.home-main-grid .home-text-link,.home-main-grid .home-review-link{min-height:44px}.home-main-grid .home-panel-heading{margin-bottom:9px}.home-main-grid .home-task{padding:9px 10px 9px 21px}.home-main-grid .home-task>div>b{font-size:13px}.home-main-grid .home-week-chart{max-height:130px}.home-main-grid .home-daily-donut{grid-template-columns:76px minmax(0,1fr)}.home-main-grid .home-daily-donut>svg{width:76px;height:76px}}
/* Consistent inset arrows on every single-choice dropdown, across roles. */
select:not([multiple]):not([size]),select:not([multiple])[size="1"]{
 -webkit-appearance:none!important;appearance:none!important;
 padding-right:44px!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23243d61' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-size:16px 16px!important;
 background-position:right 15px center!important;box-sizing:border-box;
}
@media(forced-colors:active){select:not([multiple]):not([size]),select:not([multiple])[size="1"]{appearance:auto!important;background-image:none!important;padding-right:12px!important}}
/* Overview proportions matched to the user's reference. */
.home-greeting{min-height:154px;padding:21px 24px;border-radius:21px;box-sizing:border-box;gap:20px;margin-bottom:18px}
.home-greeting h1{font-size:28px;margin-bottom:7px;line-height:1.25}
.home-welcome>p{font-size:15px}
.home-welcome-bottom{margin-top:13px;gap:10px}
.home-streak{font-size:12px;padding:6px 12px}
.home-header-stats{gap:10px}
.home-header-stats>div{width:88px;min-height:92px;padding:10px;border-radius:15px}
.home-header-stats svg{width:24px;height:24px;margin-bottom:5px}
.home-header-stats b{font-size:24px}
.home-header-stats small{font-size:11px}
.student-dashboard .home-main-grid{gap:18px;align-items:stretch;margin-bottom:18px}
.home-main-grid>.home-panel{padding:20px;border-radius:21px}
.home-main-grid .home-panel-heading{gap:9px;min-height:36px;margin-bottom:15px}
.home-main-grid .home-panel-heading>span{width:36px;height:36px;border-radius:11px}
.home-main-grid .home-panel-heading>span>svg{width:21px;height:21px}
.home-main-grid .home-panel-heading h2{font-size:20px}
.home-main-grid .home-text-link{font-size:12px}
.home-main-grid .home-task-progress{font-size:13px;margin-bottom:7px}
.home-main-grid .home-completion{height:7px;margin-bottom:13px}
.home-main-grid .home-task-list{gap:10px}
.home-main-grid .home-task{min-height:61px;padding:11px 13px 11px 26px;gap:10px;border-radius:13px}
.home-main-grid .home-task::before{left:11px;top:13px;bottom:13px;width:5px}
.home-main-grid .home-task-status{width:18px;height:18px}
.home-main-grid .home-task>div>b{font-size:15px;line-height:1.4}
.home-main-grid .home-task>div>small{font-size:11px}
.home-main-grid .home-task>button{font-size:12px;min-height:34px;padding:7px 12px;border-radius:18px}
.home-main-grid .home-review-link{font-size:12px;margin-top:12px}
.home-main-grid .home-week-chart{max-height:145px}
.home-main-grid .home-today-summary{padding:12px;border-radius:14px;margin-top:12px}
.home-main-grid .home-today-summary>div:first-child>b{font-size:13px}
.home-main-grid .home-today-summary>div:first-child>span{font-size:12px}
.home-main-grid .home-daily-donut{grid-template-columns:98px minmax(0,1fr);gap:10px;margin-top:7px}
.home-main-grid .home-daily-donut>svg{width:98px;height:98px}
.home-main-grid .home-daily-donut>div p{font-size:12px;line-height:1.45}
@media(max-width:950px) and (min-width:701px){.home-main-grid .home-today-summary{margin-top:0}.home-greeting{padding:20px}.home-greeting h1{font-size:25px}.home-header-stats>div{width:78px;min-height:86px}}
@media(max-width:700px){.home-greeting{min-height:0;padding:17px;gap:14px;border-radius:18px}.home-greeting h1{font-size:24px}.home-welcome>p{font-size:13px}.home-welcome-bottom{margin-top:10px}.home-header-stats>div{width:auto;min-height:77px;padding:8px}.home-header-stats b{font-size:22px}.home-header-stats svg{width:20px;height:20px}.home-main-grid>.home-panel{padding:15px;border-radius:17px}.home-main-grid .home-panel-heading h2{font-size:18px}.home-main-grid .home-task>div>b{font-size:14px}.home-main-grid .home-task>button,.home-main-grid .home-text-link,.home-main-grid .home-review-link{min-height:44px}.home-main-grid .home-task{padding:10px 10px 10px 24px}.home-main-grid .home-week-chart{max-height:140px}.home-main-grid .home-daily-donut{grid-template-columns:88px minmax(0,1fr)}.home-main-grid .home-daily-donut>svg{width:88px;height:88px}}
/* Reference-sized sidebar icon tiles, shared by every role. */
@media(min-width:701px){
 .shell:not(.sidebar-expanded){padding-left:112px}
 .shell:not(.sidebar-expanded) .sidebar{width:92px;padding:15px 10px;border-radius:25px}
 .shell:not(.sidebar-expanded) .sidebar .nav{gap:7px;align-items:center}
 .shell:not(.sidebar-expanded) .sidebar .nav button{width:52px;height:52px;min-height:52px;padding:0;border-radius:14px;flex-shrink:0}
 .shell:not(.sidebar-expanded) .sidebar .nav button>svg{width:52px;height:52px;flex:0 0 52px;padding:11px;box-sizing:border-box;border-radius:14px;background:#ffffff10;border:1px solid #ffffff05}
 .shell:not(.sidebar-expanded) .sidebar .nav button.active{background:linear-gradient(125deg,#ffad62,#fb8b2c);box-shadow:0 5px 15px #fa8b2b25}
 .shell:not(.sidebar-expanded) .sidebar .nav button.active>svg{background:transparent;border-color:transparent;color:#10233e}
 .shell:not(.sidebar-expanded) .sidebar .nav button:hover:not(.active){background:#ffffff0a}
 .shell:not(.sidebar-expanded) .sidebar .brand-mark,.shell:not(.sidebar-expanded) .sidebar .brand-mark img{width:52px;height:52px}
 .shell:not(.sidebar-expanded) .sidebar-toggle{min-height:43px;border-radius:12px}
 .shell.sidebar-expanded .sidebar .nav button>svg{width:38px;height:38px;flex:0 0 38px;padding:7px;border-radius:11px;box-sizing:border-box}
}
@media(max-width:700px){.shell.sidebar-expanded .sidebar .nav button>svg{width:38px;height:38px;flex:0 0 38px;padding:7px;box-sizing:border-box;border-radius:11px}}
/* Exams open on history; new/edit results have their own screen. */
.exam-entry-page .exam-toolbar{justify-content:flex-start}
.exam-entry-page .exam-toolbar h2{margin-left:auto;font-size:20px}
.exam-back-button{background:#ffffff15;border:1px solid #ffffff35;color:#fff;padding:10px 14px;border-radius:10px;font:inherit;font-size:13px;font-weight:700;min-height:44px}
.exam-back-button:hover{background:#ffffff26}
.exam-entry-page .exam-editor{margin:0}
.exam-tracker>.dashboard-goals-compact{max-width:480px;margin:0 0 18px;padding:18px}
.student-dashboard .home-development-grid{display:block}
.student-dashboard .home-development-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
@media(max-width:700px){.student-dashboard .home-development-column{grid-template-columns:1fr}.exam-entry-page .exam-toolbar{gap:10px}.exam-entry-page .exam-toolbar h2{margin-left:0}.exam-entry-page .exam-back-button{width:100%;text-align:left}.exam-tracker>.dashboard-goals-compact{max-width:100%;padding:14px}}
/* Slightly smaller compact sidebar while keeping clear touch targets. */
@media(min-width:701px){
 .shell:not(.sidebar-expanded){padding-left:104px}
 .shell:not(.sidebar-expanded) .sidebar{width:84px;padding:12px 9px;border-radius:23px}
 .shell:not(.sidebar-expanded) .sidebar .nav{gap:6px}
 .shell:not(.sidebar-expanded) .sidebar .nav button{width:46px;height:46px;min-height:46px;border-radius:12px}
 .shell:not(.sidebar-expanded) .sidebar .nav button>svg{width:46px;height:46px;flex-basis:46px;padding:10px;border-radius:12px}
 .shell:not(.sidebar-expanded) .sidebar .brand-mark,.shell:not(.sidebar-expanded) .sidebar .brand-mark img{width:46px;height:46px}
 .shell:not(.sidebar-expanded) .sidebar-toggle{min-height:38px;border-radius:10px}
}
/* A small daily quote in the top bar replaces the large overview banner. */
.topbar:has(.topbar-quote){height:auto;min-height:64px;gap:18px;padding-top:8px;padding-bottom:8px}
.topbar .topbar-quote{display:flex;align-items:center;gap:7px;flex:1;min-width:0;max-width:720px;margin:0;font-size:11px;font-weight:500;line-height:1.5;color:#627894}
.topbar-quote>span:first-child{font-size:14px;flex-shrink:0}
.topbar-quote>span:last-child{overflow-wrap:anywhere}
.topbar:has(.topbar-quote)>.top-actions{flex-shrink:0;margin-left:auto}
@media(max-width:950px){.topbar:has(.topbar-quote){flex-wrap:wrap;gap:6px 12px}.topbar .topbar-quote{order:4;flex:1 0 100%;max-width:none;font-size:11px;padding:4px 0 2px}.topbar:has(.topbar-quote)>b{flex:1}}
/* Phone account header scrolls with the page. */
@media screen and (max-width:700px){
 .shell .topbar,.parent-layout .parent-topbar{position:static;top:auto}
}
.history-week-picker{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.history-week-picker label{margin:0;flex:1;min-width:150px}.history-range{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-weight:700}.history-sync{font-size:11px;color:#71839a}.history-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.history-day{border:1px solid #dce5ef;border-radius:13px;padding:14px;min-width:0}.history-day.today{border-top:3px solid #f69332}.history-day header{display:flex;justify-content:space-between;gap:10px;color:#243c5f}.history-day header small{display:block;margin-top:4px}.history-day article{padding:10px 0;border-bottom:1px solid #edf1f5}.history-day h3{font-size:14px}.history-day p{font-size:12px;line-height:1.5}.history-legacy{padding:10px;margin-top:8px;background:#f4f7fc;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.history-legacy summary{cursor:pointer;font-weight:700}.history-legacy summary small{font-weight:400;color:#70819a}.history-legacy dl{margin:8px 0}.history-legacy dl>div{margin:5px 0}.history-legacy dt{font-weight:700}.history-legacy dd{margin:3px 0 6px 10px}.history-legacy ul{padding-left:18px}@media(max-width:700px){.history-days{grid-template-columns:1fr}.history-week-picker .btn{flex:1;font-size:12px}.history-week-picker label{flex-basis:100%}}
/* Short overview lists reveal detail only on request. */
.study-history .history-days{display:grid;grid-template-columns:1fr;gap:7px}
.study-history .history-day{padding:0;border-radius:10px;overflow:hidden}
.history-day>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#f7f9fc;min-height:48px}
.history-day>summary::-webkit-details-marker{display:none}
.history-day-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;min-width:0;color:#233e63;font-size:13px}
.history-day-heading>div{display:flex;align-items:center;gap:12px}.history-day-heading small{font-size:11px;color:#71829a}
.history-day-heading>span{font-size:12px;white-space:nowrap}.history-open-label{font-size:11px;font-weight:700;color:#53739a;white-space:nowrap}.history-open-label:after{content:' ＋'}.history-day[open] .history-open-label:after{content:' −'}
.history-day-content{padding:4px 14px 12px}.history-day[open]>summary{background:#edf3fc}
.history-week-picker .btn{font-size:12px;padding:8px 11px}.history-range{font-size:13px;margin:12px 0}.history-sync{font-size:10px;margin:7px 0 12px}
.simple-detail{border:1px solid #dce5ef;border-radius:11px;margin:14px 0;background:white;min-width:0}.simple-detail>summary{cursor:pointer;padding:13px 15px;color:#27456c;font-size:14px;font-weight:700}.simple-detail>.exam-panel{border:0;margin:0}.simple-detail>.exam-chart-grid{padding:0 12px 12px}
@media(max-width:700px){.history-day-heading>div{display:block}.history-day-heading small{display:block;margin-top:3px}.history-day>summary{padding:11px}.history-day-heading{gap:8px}.history-open-label{font-size:10px}}
.history-summary-actions{display:flex;align-items:end;flex-wrap:wrap;gap:9px;background:#f2f6fc;padding:12px;border-radius:10px;margin:12px 0}.history-summary-actions>b{align-self:center;margin-right:auto;font-size:14px;color:#213c62}.history-summary-actions label{margin:0;font-size:11px}.history-summary-actions input{margin:4px 0 0}.history-summary-actions .btn{font-size:12px}.history-print-dialog{width:850px;max-width:calc(100vw - 24px)}.history-report>header{border-bottom:2px solid #213b5f;margin-bottom:16px;padding-bottom:10px}.history-report>header h2{font-size:22px}.history-report>header p{font-size:14px}.history-report .history-day{margin-bottom:12px;border:1px solid #dce5ef;border-radius:10px}.history-report-actions{display:flex;gap:10px;justify-content:end;margin-top:18px}@media(max-width:700px){.history-summary-actions>b{width:100%}.history-summary-actions label{width:100%}.history-summary-actions .btn{flex:1;min-height:44px}}@media print{body:has(.history-print-dialog[open])>*:not(dialog){display:none!important}.history-print-dialog[open]{display:block!important;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;box-shadow:none!important}.history-print-dialog::backdrop{display:none}.history-report-actions{display:none!important}.history-report .history-day{break-inside:avoid}.history-report{font-size:11pt;color:#111}.history-report summary{list-style:none}.history-report .history-day-content{display:block!important}.history-report details>summary::-webkit-details-marker{display:none}body{background:white!important}}
/* Course results read across a row, in the page and printable report. */
.history-table-scroll{width:100%;max-width:100%;overflow-x:auto;margin:8px 0;border:1px solid #dce5ef;border-radius:9px;background:#fff}
.history-result-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}
.history-result-table th,.history-result-table td{padding:9px 12px;border-bottom:1px solid #e4ebf3;vertical-align:top;white-space:nowrap}
.history-result-table th{background:#eaf0f9;color:#29476b;font-size:11px;font-weight:700}
.history-result-table tbody tr:last-child td{border-bottom:0}
.history-result-table tbody tr:nth-child(even){background:#f8fafd}
.history-result-table th:first-child,.history-result-table td:first-child{min-width:130px}
@media print{.history-table-scroll{overflow:visible;border-radius:0}.history-result-table{font-size:9pt}.history-result-table th,.history-result-table td{padding:6px;white-space:normal}.history-result-table th:first-child,.history-result-table td:first-child{min-width:0}}
.history-popup-top{display:flex;justify-content:flex-end;position:sticky;top:-27px;background:#fff;z-index:2;padding:8px 0;margin-bottom:8px}.history-popup-top .btn{min-height:44px;background:#fff1f2;border:1px solid #edbcc3;color:#ad3247;font-size:13px;font-weight:700}.history-popup-top .btn:hover{background:#ffe3e7}@media(max-width:700px){.history-popup-top{top:-18px}}@media print{.history-popup-top{display:none!important}}
/* Mood and daily-time labels sit beside their values. */
.history-legacy dl>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;padding:6px 0;margin:0;border-bottom:1px solid #e5ebf3}
.history-legacy dl>div:last-child{border-bottom:0}
.history-legacy dt{flex:0 0 145px;margin:0;font-size:12px;line-height:1.5}
.history-legacy dd{flex:1;min-width:0;margin:0;font-size:12px;line-height:1.5}
.history-legacy dd:has(>.history-table-scroll){flex-basis:100%}
.history-legacy dd>.history-table-scroll{margin:3px 0 0}
@media(max-width:700px){.history-legacy dt{flex-basis:110px}.history-legacy dl>div{gap:4px 8px}.history-legacy dd{overflow-wrap:anywhere}}
@media print{.history-legacy dt{flex-basis:130px}.history-legacy dl>div{break-inside:avoid}}
.history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl>div{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dce5ef;border-radius:8px;background:#fff}
.history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl>div>dt{flex:initial;font-size:11px;color:#627795}
.history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl>div>dd{flex:initial;margin-left:auto;font-weight:700;color:#213d65;white-space:nowrap}
/* Clean A4 report layout for both paper and Save as PDF. */
@media print{
 @page{size:A4 portrait;margin:12mm 11mm}
 html:has(.history-print-dialog[open]),body:has(.history-print-dialog[open]){height:auto!important;overflow:visible!important;margin:0!important;padding:0!important}
 .history-report{font-family:Calibri,Arial,sans-serif;font-size:9pt;line-height:1.3;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .history-report>header{margin:0 0 4mm;padding:0 0 3mm;border-bottom:1.5pt solid #243c5e;break-after:avoid}
 .history-report>header h2{margin:0 0 1mm;font-size:15pt;line-height:1.2}
 .history-report>header p{margin:0;font-size:9pt;color:#52647b}
 .history-report .history-day{display:block;margin:0 0 4mm;padding:0;border:1px solid #cfd8e4;border-radius:0;overflow:visible;break-inside:auto}
 .history-report .history-day>summary{display:flex;min-height:0;padding:2mm 3mm;background:#eaf0f7;border-bottom:1px solid #cfd8e4;break-after:avoid}
 .history-report .history-day-heading{font-size:10pt;line-height:1.3;gap:3mm}
 .history-report .history-day-heading>div{display:flex;align-items:center;gap:3mm}
 .history-report .history-day-heading small,.history-report .history-day-heading>span{font-size:8pt;margin:0}
 .history-report .history-day-content{padding:1mm 3mm 2mm}
 .history-report .history-day article{padding:2mm 0;break-inside:avoid}
 .history-report h3{font-size:9pt;line-height:1.3;margin:1mm 0}
 .history-report p{font-size:8pt;line-height:1.35;margin:1mm 0}
 .history-report .pill{font-size:7pt;padding:1mm 2mm;border-radius:2mm}
 .history-report .history-legacy{margin:2mm 0 0;padding:2mm;background:#f5f7fa;border-radius:0;font-size:8pt;break-inside:auto}
 .history-report .history-legacy>summary{font-size:8.5pt;font-weight:700;break-after:avoid;margin:0 0 1mm}
 .history-report .history-legacy dl{margin:1mm 0}
 .history-report .history-legacy dl>div{padding:1mm 0;gap:1mm 3mm}
 .history-report .history-legacy dt{flex-basis:30mm;font-size:8pt;line-height:1.3}
 .history-report .history-legacy dd{font-size:8pt;line-height:1.3}
 .history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5mm}
 .history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl>div{padding:1.5mm 2mm;break-inside:avoid}
 .history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"]) dt,.history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"]) dd{font-size:8pt}
 .history-report .history-table-scroll{overflow:visible!important;border:0;max-width:100%;margin:1.5mm 0}
 .history-report .history-result-table{width:100%;table-layout:fixed;font-size:8pt;border:1px solid #d4deea}
 .history-report .history-result-table thead{display:table-header-group}
 .history-report .history-result-table tr{break-inside:avoid}
 .history-report .history-result-table th,.history-report .history-result-table td{font-size:8pt;line-height:1.3;padding:1.8mm 1.5mm;white-space:normal;overflow-wrap:anywhere;border:1px solid #d4deea;text-align:center}
 .history-report .history-result-table th:first-child,.history-report .history-result-table td:first-child{width:27%;min-width:0;text-align:left}
 .history-report .history-result-table td dl{margin:0}
 .history-report .history-result-table td dl>div{display:block;border:0;padding:0}
 .history-report .history-result-table td dt{font-size:7pt}
 .history-report .history-result-table td dd{font-size:8pt}
 .history-report .history-open-label{display:none}
}

/* Match the on-screen report preview to the printable typography. */
.history-report{font-family:Calibri,Arial,sans-serif;font-size:9pt;line-height:1.3;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.history-report>header{margin:0 0 4mm;padding:0 0 3mm;border-bottom:1.5pt solid #243c5e;break-after:avoid}
.history-report>header h2{margin:0 0 1mm;font-size:15pt;line-height:1.2}
.history-report>header p{margin:0;font-size:9pt;color:#52647b}
.history-report .history-day{display:block;margin:0 0 4mm;padding:0;border:1px solid #cfd8e4;border-radius:0;overflow:visible;break-inside:auto}
.history-report .history-day>summary{display:flex;min-height:0;padding:2mm 3mm;background:#eaf0f7;border-bottom:1px solid #cfd8e4;break-after:avoid}
.history-report .history-day-heading{font-size:10pt;line-height:1.3;gap:3mm}
.history-report .history-day-heading>div{display:flex;align-items:center;gap:3mm}
.history-report .history-day-heading small,.history-report .history-day-heading>span{font-size:8pt;margin:0}
.history-report .history-day-content{padding:1mm 3mm 2mm}
.history-report .history-day article{padding:2mm 0;break-inside:avoid}
.history-report h3{font-size:9pt;line-height:1.3;margin:1mm 0}
.history-report p{font-size:8pt;line-height:1.35;margin:1mm 0}
.history-report .pill{font-size:7pt;padding:1mm 2mm;border-radius:2mm}
.history-report .history-legacy{margin:2mm 0 0;padding:2mm;background:#f5f7fa;border-radius:0;font-size:8pt;break-inside:auto}
.history-report .history-legacy>summary{font-size:8.5pt;font-weight:700;break-after:avoid;margin:0 0 1mm}
.history-report .history-legacy dl{margin:1mm 0}
.history-report .history-legacy dl>div{padding:1mm 0;gap:1mm 3mm}
.history-report .history-legacy dt{flex-basis:30mm;font-size:8pt;line-height:1.3}
.history-report .history-legacy dd{font-size:8pt;line-height:1.3}
.history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5mm}
.history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"])>dl>div{padding:1.5mm 2mm;break-inside:avoid}
.history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"]) dt,.history-report .history-legacy:is([data-history-kind="checkin"],[data-history-kind="daylog"]) dd{font-size:8pt}
.history-report .history-table-scroll{overflow:visible!important;border:0;max-width:100%;margin:1.5mm 0}
.history-report .history-result-table{width:100%;table-layout:fixed;font-size:8pt;border:1px solid #d4deea}
.history-report .history-result-table thead{display:table-header-group}
.history-report .history-result-table tr{break-inside:avoid}
.history-report .history-result-table th,.history-report .history-result-table td{font-size:8pt;line-height:1.3;padding:1.8mm 1.5mm;white-space:normal;overflow-wrap:anywhere;border:1px solid #d4deea;text-align:center}
.history-report .history-result-table th:first-child,.history-report .history-result-table td:first-child{width:27%;min-width:0;text-align:left}
.history-report .history-result-table td dl{margin:0}
.history-report .history-result-table td dl>div{display:block;border:0;padding:0}
.history-report .history-result-table td dt{font-size:7pt}
.history-report .history-result-table td dd{font-size:8pt}
.history-report .history-open-label{display:none}
.history-report{width:188mm;max-width:100%;margin-inline:auto}
.practical-plan{padding:18px}.practical-plan .day-page-title{margin-bottom:12px}.practical-plan .day-page-title>div:first-child p{font-size:12px}.quick-plan-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;align-items:start}.quick-plan-fields>label{margin-top:0}.quick-plan-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0}.quick-plan-tools>.btn{font-size:12px;min-height:38px}.quick-recent{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.quick-recent>b{font-size:11px;color:#70819a}.quick-recent button{font-size:11px;padding:7px 9px;border-radius:16px;border:1px solid #dae4f1;background:#f0f5fc;color:#29476b;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practical-plan .study-types{margin:12px 0}.practical-plan .study-types legend{font-size:12px}.practical-plan .study-type-options label{padding:10px 12px;min-height:44px}.practical-plan .pending-homework{padding:12px;margin:8px 0 14px}.practical-plan .pending-homework-heading p,.practical-plan .quick-homework-select{display:none}.quick-homework-list>summary{font-size:12px;cursor:pointer;padding:7px 0;color:#31547d}.quick-homework-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #e1e8f1}.quick-homework-list>div>span{font-size:12px}.quick-homework-list .btn{font-size:11px;white-space:nowrap;min-height:36px}.practical-plan-list .day-item{padding:12px 14px;margin:9px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 12px}.practical-plan-list .day-item h3{font-size:14px;margin:0}.practical-plan-list .day-item p{font-size:12px;margin:0}.practical-plan-list .day-item-actions{grid-column:3;grid-row:1/4;display:flex;gap:6px}.practical-plan-list .day-item-actions .btn{font-size:11px;padding:7px 9px;min-height:34px}.practical-plan-list .day-item>p,.practical-plan-list .day-item>small{grid-column:2}.practical-plan .plan-resource-group{padding:10px}.practical-plan .plan-source-options label{padding:8px;font-size:12px}@media(max-width:700px){.quick-plan-fields{grid-template-columns:1fr}.quick-plan-tools>.btn,.quick-recent button,.quick-homework-list .btn{min-height:44px}.practical-plan-list .day-item{grid-template-columns:1fr;gap:6px}.practical-plan-list .day-item>*{grid-column:1!important;grid-row:auto!important}.practical-plan-list .day-item-actions .btn{min-height:44px}.quick-homework-list>div{flex-wrap:wrap}}
/* Equal room for lesson and topic in the quick planner. */
.practical-plan .quick-plan-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.practical-plan .quick-plan-fields>*{min-width:0;width:100%}
@media(max-width:700px){.practical-plan .quick-plan-fields{grid-template-columns:1fr}}
.practical-plan .study-type-options{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.study-type-column{min-width:0}.study-type-column>label{margin:0!important;width:100%;box-sizing:border-box}.study-type-column [data-resource-slot]{margin-top:9px}.study-type-column .plan-resource-group{margin:0;padding:11px;border-radius:10px;background:#f5f8fc;min-width:0}.study-type-column .plan-resource-group legend{font-size:11px}.study-type-column .plan-source-options{display:flex;flex-wrap:wrap;gap:6px}.study-type-column .plan-source-options label{margin:0;font-size:12px;min-height:38px}.study-type-column .plan-resource-other{margin-top:8px}
@media(max-width:700px){.practical-plan .study-type-options{grid-template-columns:1fr}.study-type-column .plan-source-options label{min-height:44px}}
/* Stable resource headings and checkbox rows. */
.practical-plan .study-type-column .plan-resource-group{position:relative;box-sizing:border-box;width:100%;min-inline-size:0;padding:12px;margin:0;display:block}
.plan-resource-group .resource-sr-legend{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;margin:-1px!important;border:0!important}
.practical-plan .plan-resource-title{font-size:12px;line-height:1.4;color:#284264;margin:0 0 10px;font-weight:700;min-height:17px;overflow-wrap:anywhere}
.practical-plan .study-type-column .plan-source-options{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0;padding:0}
.practical-plan .study-type-column .plan-source-options>label{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:42px;box-sizing:border-box;padding:9px 11px;margin:0;line-height:1.4;min-width:0;max-width:100%;white-space:normal}
.practical-plan .study-type-column .plan-source-options input[type=checkbox]{appearance:auto;flex:0 0 18px;width:18px;height:18px;min-width:18px;margin:0;padding:0;align-self:center}
.practical-plan .study-type-column .plan-source-options>label>span{line-height:1.4;overflow-wrap:anywhere;font-size:12px}
.practical-plan .study-type-column .plan-resource-other{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;box-sizing:border-box;margin:10px 0 0}.practical-plan .study-type-column .plan-resource-other[hidden]{display:none}
.practical-plan .study-type-column .plan-resource-other input[data-other-source]{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;height:auto;flex:initial;box-sizing:border-box;margin:0;font-size:16px}
@media(max-width:700px){.practical-plan .study-type-column .plan-source-options>label{min-height:44px}.practical-plan .plan-resource-title{font-size:13px}}
/* The review calendar spans the full width below the heading. */
.card:has(>#dayReviewForm)>.day-page-title{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.card:has(>#dayReviewForm)>.day-page-title>.day-navigation{width:100%;max-width:100%}
.card:has(>#dayReviewForm) .day-navigation nav{grid-template-columns:auto minmax(140px,1fr) auto auto}
@media(max-width:700px){.card:has(>#dayReviewForm) .day-navigation nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}
/* Equal halves for planner/review heading and calendar. */
.practical-plan>.day-page-title,.card:has(>#dayReviewForm)>.day-page-title{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;flex-direction:initial}
.practical-plan>.day-page-title>div,.card:has(>#dayReviewForm)>.day-page-title>div{min-width:0;width:100%;box-sizing:border-box}
.practical-plan>.day-page-title>.day-navigation,.card:has(>#dayReviewForm)>.day-page-title>.day-navigation{width:100%;max-width:100%}
@media(max-width:700px){.practical-plan>.day-page-title,.card:has(>#dayReviewForm)>.day-page-title{grid-template-columns:1fr;gap:12px}}

/* Compact daily homework cards. Completion opens the result form. */
.routine-compact{padding:16px!important}.routine-compact>.card-title{margin-bottom:12px}.routine-compact>.card-title h2{font-size:18px;margin:0}.routine-compact>.card-title p{font-size:12px;margin:4px 0 0}.routine-compact .routine-grid{gap:10px;align-items:start}.routine-compact .routine-task{padding:12px 14px;min-height:0!important;display:block}.routine-task-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.routine-compact .routine-task h3{font-size:14px;line-height:1.4;margin:10px 0}.routine-compact .pill{font-size:10px;padding:5px 8px}.routine-complete{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;margin:0;background:white;border:1px solid #d4dfef;border-radius:9px;font-size:12px;cursor:pointer;min-height:38px;box-sizing:border-box}.routine-complete input{width:18px;height:18px;margin:0;flex:0 0 18px}@media(max-width:700px){.routine-complete{min-height:44px}}

/* Saved daily evaluations are green; unrecorded routines are red. */
.routine-compact .routine-task.routine-pending{background:#fff4f4;border-color:#f1c8ce;border-left-color:#ce4056}.routine-compact .routine-task.routine-saved{background:#effaf3;border-color:#c2e4cd;border-left-color:#278456}.routine-pending .routine-state{background:#fbe0e5;color:#a8273e}.routine-saved .routine-state{background:#d9f0e1;color:#216e46}.routine-saved .routine-complete{border-color:#badcc7}.routine-complete input{accent-color:#278456}

/* Keep completion beside the homework text. */
.routine-task-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.routine-compact .routine-task-line h3{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}.routine-task-line .routine-complete{flex-shrink:0;white-space:nowrap}@media(max-width:700px){.routine-task-line{gap:8px}.routine-task-line .routine-complete{padding:7px;font-size:11px}.routine-compact .routine-task-line h3{font-size:13px}}
/* Compact work evaluation without losing any input fields. */
#dayReviewForm .day-item{padding:12px;gap:7px;margin:10px 0;border-radius:12px}
#dayReviewForm .day-item>.pill{font-size:10px;padding:4px 8px}
#dayReviewForm .day-item>h3{font-size:15px;line-height:1.35}
#dayReviewForm .day-item>p{font-size:12px;line-height:1.35}
#dayReviewForm .review-choice-layout{gap:7px}
#dayReviewForm .review-choice-layout>fieldset{padding:8px;border-radius:9px}
#dayReviewForm .review-group-title,#dayReviewForm .review-group-heading h4{font-size:12px;margin:0;line-height:1.4}
#dayReviewForm .review-choice-layout .review-status-options,#dayReviewForm .review-choice-layout .study-type-options{margin-top:5px;gap:6px}
#dayReviewForm .review-choice-layout .review-status-options>label,#dayReviewForm .review-choice-layout .study-type-options>label,#dayReviewForm .review-reason-options>label{padding:6px 8px;min-height:34px;font-size:12px;gap:6px;line-height:1.3}
#dayReviewForm .review-actual,#dayReviewForm .review-actual [data-paragraph-results]{gap:7px}
#dayReviewForm .day-item>label,#dayReviewForm .review-actual label:not(:has(input[type=checkbox])){gap:3px;font-size:12px}
#dayReviewForm .day-item input:not([type=radio]):not([type=checkbox]){height:34px;min-height:34px;padding:6px 9px;font-size:13px}
#dayReviewForm .mistake-options legend{font-size:12px;line-height:1.4;padding:0}
#dayReviewForm .review-reason-options{gap:5px;margin-top:5px}
#dayReviewForm .day-item textarea{min-height:42px;height:42px;padding:7px 9px;font-size:13px;line-height:1.4}
#dayReviewForm .day-item textarea[name^=word_list]{height:70px}
@media(max-width:600px){#dayReviewForm .review-choice-layout .review-status-options{grid-template-columns:repeat(3,minmax(0,1fr))}#dayReviewForm .review-choice-layout .review-status-options>label{font-size:12px!important;padding:7px 5px;gap:4px}#dayReviewForm .review-reason-options{grid-template-columns:repeat(2,minmax(0,1fr))}#dayReviewForm .review-choice-layout label,#dayReviewForm .review-reason-options>label{min-height:44px}#dayReviewForm .day-item input:not([type=radio]):not([type=checkbox]),#dayReviewForm .day-item textarea{font-size:16px;min-height:40px}}

.review-item-save{display:flex;align-items:center;justify-content:flex-end;gap:10px}.review-item-save [data-item-feedback]{font-size:12px}.review-item-save .btn{min-height:34px;padding:7px 18px;font-size:12px}@media(max-width:700px){.review-item-save .btn{min-height:44px}}

.self-rating-save{display:flex;align-items:center;gap:10px;justify-content:flex-end}.self-rating-save [data-rating-feedback]{font-size:12px}.self-rating-save .btn{min-height:38px;padding:8px 18px;font-size:12px}@media(max-width:700px){.self-rating-save .btn{min-height:44px}}

.topic-progress .card-title p{font-size:12px}.topic-course{border:1px solid #dce5f0;border-radius:10px;margin:10px 0;overflow:hidden}.topic-course summary{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#eff4fb;cursor:pointer;font-size:14px}.topic-course summary span{font-size:12px;color:#63758d}.topic-table-scroll{overflow-x:auto}.topic-course table{width:100%;border-collapse:collapse;font-size:12px}.topic-course th,.topic-course td{text-align:left;padding:10px;border-bottom:1px solid #e6ebf2;vertical-align:top}.topic-course th:first-child{width:35%}.topic-course td small,.topic-source{display:block;margin-top:4px}.topic-course .pill{font-size:11px;white-space:nowrap}.topic-course td:last-child{white-space:nowrap}@media(max-width:700px){.topic-course table{min-width:580px}}

.topic-overview{display:flex;align-items:center;gap:22px;background:linear-gradient(110deg,#f0f6fc,#f8fbff);padding:16px;border-radius:14px;margin:12px 0 16px}.topic-donut{flex:0 0 108px;width:108px;height:108px;border-radius:50%;display:grid;place-items:center}.topic-donut>div{width:82px;height:82px;background:white;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.topic-donut b{font-size:24px;color:#20385f}.topic-donut small{font-size:10px;color:#6d7c91}.topic-overview h3{margin:0 0 10px;font-size:18px}.topic-overview p{font-size:12px;color:#6d7c91;margin:10px 0 0}.topic-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px}.topic-legend span,.topic-course-counts>span{display:flex;align-items:center;gap:6px}.topic-legend i,.topic-course-counts i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.topic-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.topic-chart-card{border:1px solid #dce5ef;border-radius:13px;padding:14px;min-width:0;background:#fff}.topic-chart-card header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}.topic-chart-card header h3{font-size:15px;margin:0}.topic-chart-card header>span{font-size:11px;color:#75849a;white-space:nowrap}.topic-course-chart{display:flex;align-items:center;justify-content:space-around;gap:12px}.topic-course-counts{display:grid;gap:8px;font-size:11px;flex:1}.topic-course-counts b{margin-left:auto}.topic-stacked{display:flex;height:7px;border-radius:7px;overflow:hidden;margin:15px 0 10px;background:#dce4ef}.topic-mosaic{display:flex;flex-wrap:wrap;gap:4px;max-height:90px;overflow:auto}.topic-mosaic>span{width:13px;height:13px;border-radius:3px}.topic-mosaic .done,.topic-dot.done{background:#24946d}.topic-mosaic .active,.topic-dot.active{background:#f39432}.topic-mosaic .pending,.topic-dot.pending{background:#dce4ef}.topic-chart-details{margin-top:12px;border-top:1px solid #e6ebf3;padding-top:10px}.topic-chart-details summary{font-size:12px;color:#315482;cursor:pointer}.topic-detail-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f5;font-size:12px}.topic-detail-row>div{flex:1}.topic-detail-row small{display:block;font-size:10px;color:#71829a;margin-top:3px}.topic-detail-row p{width:100%;font-size:11px;margin:0;line-height:1.5}.topic-dot{width:9px;height:9px;border-radius:50%}@media(max-width:1100px){.topic-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.topic-chart-grid{grid-template-columns:1fr}.topic-overview{gap:12px;padding:12px}.topic-overview h3{font-size:15px}.topic-legend{gap:7px}.topic-donut{flex-basis:94px;width:94px;height:94px}.topic-donut>div{width:70px;height:70px}.topic-overview p{font-size:11px}}
/* More readable mood message in the top bar. */
.topbar .topbar-quote{font-size:15px;font-weight:650;color:#334f76;line-height:1.45}.topbar-quote>span:first-child{font-size:20px}@media(max-width:950px){.topbar .topbar-quote{font-size:14px}}

/* Four course cards with the navy and orange brand palette. */
.topic-chart-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.topic-chart-card{padding:12px;border-top:3px solid #20385f}.topic-chart-card header h3{font-size:16px}.topic-course-counts{font-size:13px;gap:9px}.topic-course-counts b{font-size:14px}.topic-donut small{font-size:12px}.topic-course-chart{gap:10px}.topic-chart-card .topic-donut{width:88px;height:88px;flex-basis:88px}.topic-chart-card .topic-donut>div{width:66px;height:66px}.topic-chart-card .topic-donut b{font-size:21px}.topic-chart-card .topic-donut small{font-size:10px}.topic-mosaic .done,.topic-dot.done{background:#20385f}.topic-no-record{font-size:12px;color:#71829a;margin:8px 0}.topic-chart-details summary{font-size:12px;font-weight:600}@media(max-width:1200px){.topic-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:950px){.topic-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.topic-chart-grid{grid-template-columns:1fr}}

.topic-edit{min-height:36px;font-size:11px;padding:6px 10px;margin-left:auto}.topic-edit-check,.topic-edit-resources label{display:flex;align-items:center;gap:8px}.topic-edit-check input,.topic-edit-resources input{width:18px;height:18px;flex:0 0 18px;margin:0}.topic-edit-resources{display:grid;gap:8px;margin:12px 0}.topic-edit-resources fieldset{display:flex;gap:18px;padding:10px;border:1px solid #dce5ef;border-radius:9px}.topic-edit-resources legend{font-size:13px}.topic-edit-resources label{font-size:13px;margin:0}@media(max-width:700px){.topic-edit{min-height:44px}}

/* Strong program-specific corners and labels. */
.topic-chart-card.topic-program-tyt,.topic-chart-card.topic-program-ayt{position:relative;border-top-width:5px;border-left-width:5px;overflow:hidden}.topic-chart-card.topic-program-tyt{border-top-color:#20385f;border-left-color:#20385f;box-shadow:0 2px 7px #20385f16}.topic-chart-card.topic-program-ayt{border-top-color:#f48b24;border-left-color:#f48b24;box-shadow:0 2px 7px #f48b241c}.topic-program-badge{display:inline-block;font-size:10px;line-height:1.4;padding:3px 6px;border-radius:5px;margin-right:6px;vertical-align:middle;font-weight:800;background:#20385f;color:white}.topic-program-ayt .topic-program-badge{background:#f48b24;color:#172d4f}.topic-program-ayt header h3{color:#a64a08}.topic-program-tyt header h3{color:#20385f}

.topic-chart-card.topic-program-ydt,.topic-chart-card.topic-program-lgs,.topic-chart-card.topic-program-school{border-top-width:5px;border-left-width:5px;overflow:hidden}.topic-chart-card.topic-program-ydt{border-top-color:#7651ad;border-left-color:#7651ad}.topic-program-ydt .topic-program-badge{background:#7651ad;color:white}.topic-chart-card.topic-program-lgs{border-top-color:#168e9b;border-left-color:#168e9b}.topic-program-lgs .topic-program-badge{background:#168e9b;color:white}.topic-chart-card.topic-program-school{border-top-color:#4e70b2;border-left-color:#4e70b2}.topic-program-school .topic-program-badge{background:#4e70b2;color:white}

/* Completion color is independent of the program's corner/label color. */
.topic-mosaic .done,.topic-dot.done{background:#24946d}.topic-chart-card.topic-course-complete{background:#e8f7ee;border-color:#24946d;box-shadow:0 2px 8px #24946d24}.topic-chart-card.topic-course-complete header h3{color:#176446}.topic-chart-card.topic-course-complete .topic-donut>div{background:#e8f7ee}.topic-chart-card.topic-course-complete .topic-donut b{color:#176446}.topic-chart-card.topic-course-complete .topic-chart-details,.topic-chart-card.topic-course-complete .topic-detail-row{border-color:#badfc9}

/* Topic editor: compact branded resource cards and aligned fields. */
.topic-edit-panel{display:grid;gap:14px}.topic-edit-banner{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:linear-gradient(110deg,#20385f,#304f7c);color:white;border-left:5px solid #f48b24}.topic-edit-banner>span{font-size:27px}.topic-edit-banner small{font-size:11px;color:#dbe6f8;font-weight:700}.topic-edit-banner h3{font-size:18px;line-height:1.35;margin:4px 0 0;color:white}.topic-edit-panel .topic-edit-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0;font-size:13px;font-weight:700}.topic-edit-panel input:not([type=checkbox]),.topic-edit-panel select,.topic-edit-panel textarea{width:100%;box-sizing:border-box;margin:0;font-size:14px}.topic-edit-panel textarea{display:block;min-height:70px;resize:vertical}.topic-edit-panel .topic-edit-resources{margin:0;gap:10px}.topic-edit-resources h4{font-size:13px;margin:0;color:#294467}.topic-edit-panel .topic-edit-resources fieldset{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:8px;border:1px solid #dce5ef;background:#f5f8fd;border-radius:12px;padding:12px;min-inline-size:0}.topic-edit-panel .topic-edit-resources legend{font-weight:800;font-size:13px;padding:0 5px;color:#20385f}.topic-edit-panel .topic-resource-check{display:flex;gap:8px;align-items:center;padding:10px;margin:0;border-radius:8px;border:1px solid #dae3f0;background:white;min-height:44px;font-size:12px;line-height:1.4;cursor:pointer;box-sizing:border-box}.topic-resource-check:has(input:checked){background:#e7f5ed!important;border-color:#7ebd97!important;color:#216b45}.topic-edit-panel input[type=checkbox]{appearance:auto;width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:#248456}.topic-add-source{border:1px dashed #bccce0;border-radius:9px;padding:10px}.topic-add-source summary{font-size:12px;font-weight:700;color:#315482;cursor:pointer}.topic-add-source[open] summary{margin-bottom:10px}@media(max-width:500px){.topic-edit-panel .topic-edit-resources fieldset{grid-template-columns:1fr}.topic-edit-banner h3{font-size:16px}.topic-edit-panel input:not([type=checkbox]),.topic-edit-panel textarea,.topic-edit-panel select{font-size:16px}}
/* Colorful, compact work review cards. */
#dayReviewForm .day-item{--review-accent:#315b91;position:relative;border:1px solid #d5e1f0;border-left:5px solid var(--review-accent);background:linear-gradient(115deg,#f3f7ff 0%,#fff 55%);box-shadow:0 3px 10px #20385f09}
#dayReviewForm .day-item:has(.review-status-options input[value="0"]:checked){--review-accent:#25946c;background:linear-gradient(115deg,#eaf8f0,#fff 65%);border-color:#b8dfc9;border-left-color:var(--review-accent)}
#dayReviewForm .day-item:has(.review-status-options input[value="1"]:checked){--review-accent:#ef922d;background:linear-gradient(115deg,#fff4e4,#fff 65%);border-color:#f2d3a9;border-left-color:var(--review-accent)}
#dayReviewForm .day-item:has(.review-status-options input[value="2"]:checked){--review-accent:#cf5163;background:linear-gradient(115deg,#fff0f2,#fff 65%);border-color:#efc2c9;border-left-color:var(--review-accent)}
#dayReviewForm .day-item>.pill{background:#20385f;color:white;border-radius:6px;padding:5px 9px;font-weight:750;letter-spacing:.2px}
#dayReviewForm .day-item>h3{color:#20385f;font-weight:800}
#dayReviewForm .review-choice-layout>.review-options{background:#edf3fc;border-color:#d0def0}
#dayReviewForm .review-choice-layout>.reading-choice-options{background:#fff5e8;border-color:#f3d9b4}
#dayReviewForm .review-group-title{color:#29486e}
#dayReviewForm .reading-choice-options .review-group-title{color:#a75a16}
#dayReviewForm .review-choice-layout .review-status-options>label{transition:background .15s,border-color .15s,box-shadow .15s;font-weight:700;border-width:1px}
#dayReviewForm .review-status-options>label:has(input[value="0"]){border-color:#b8ddc7;background:#f6fcf8}
#dayReviewForm .review-status-options>label:has(input[value="1"]){border-color:#efd3a6;background:#fffbf4}
#dayReviewForm .review-status-options>label:has(input[value="2"]){border-color:#ebc0c7;background:#fff7f8}
#dayReviewForm .review-choice-layout .review-status-options>label:has(input[value="0"]:checked){background:#d8f1e3;color:#166544;border-color:#24946d;box-shadow:0 0 0 1px #24946d}
#dayReviewForm .review-choice-layout .review-status-options>label:has(input[value="1"]:checked){background:#ffe7c4;color:#95500f;border-color:#e39431;box-shadow:0 0 0 1px #e39431}
#dayReviewForm .review-choice-layout .review-status-options>label:has(input[value="2"]:checked){background:#fbdde3;color:#a32f45;border-color:#cf5163;box-shadow:0 0 0 1px #cf5163}
#dayReviewForm .reading-choice-options label:has(input:checked){background:#ffe5c1!important;border-color:#ef922d!important;color:#8b4d13}
#dayReviewForm .review-reason-options>label:has(input:checked){background:#ffecd8;border-color:#efa953;color:#8d4c14}
#dayReviewForm input[type=radio],#dayReviewForm input[type=checkbox]{accent-color:var(--review-accent,#315b91)}
#dayReviewForm .day-item textarea{background:#fff;border-color:#d1deed;border-left:3px solid #b6c9e1}
#dayReviewForm .review-item-save .btn{background:linear-gradient(110deg,#ff9f3c,#f07c18);color:#192f51;border-color:#ef8a25;border-radius:9px;box-shadow:0 3px 7px #ed8a2424;font-weight:800}
#dayReviewForm .review-item-save [data-item-feedback]{font-weight:700}
#dayReviewForm .day-item:focus-within{box-shadow:0 3px 12px #20385f16}

/* Branded compact daily plan form. */
.practical-plan{border-top:4px solid #20385f;background:linear-gradient(120deg,#f6f9ff,#fff 48%)}
#dayPlanForm{border:1px solid #d9e3f0;border-radius:13px;background:#fff;padding:16px;box-shadow:0 3px 12px #20385f08}
#dayPlanForm .quick-plan-fields{gap:12px;margin-bottom:10px}
#dayPlanForm .quick-plan-fields>label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:750;color:#29476c}
#dayPlanForm .quick-plan-fields>label>select{background-color:#f1f5fc;border-color:#c6d6ea;border-left:4px solid #315b91;min-height:42px}
#dayPlanForm .study-types{border:0;padding:0;margin:12px 0}
#dayPlanForm .study-types>legend{font-size:13px;padding:0;margin-bottom:9px;color:#29476c;font-weight:800}
#dayPlanForm .study-type-column>label{border:1px solid #bfd2ec;border-left:4px solid #315b91;background:linear-gradient(110deg,#eaf1fc,#f9fbff);border-radius:10px;color:#254b7a;gap:9px;padding:11px 12px;min-height:46px;font-size:13px;cursor:pointer}
#dayPlanForm .study-type-column:nth-child(2)>label{border-color:#efd0a5;border-left-color:#f28b24;background:linear-gradient(110deg,#fff0dc,#fffbf5);color:#a55a17}
#dayPlanForm .study-type-column>label:has(input:checked){border-color:#315b91;box-shadow:0 0 0 1px #315b91;background:#dae8fb}
#dayPlanForm .study-type-column:nth-child(2)>label:has(input:checked){border-color:#ed912e;box-shadow:0 0 0 1px #ed912e;background:#ffe4bd}
#dayPlanForm .study-type-column>label>input[type=checkbox]{accent-color:#315b91;width:18px;height:18px;flex:0 0 18px;margin:0}
#dayPlanForm .study-type-column:nth-child(2)>label>input[type=checkbox]{accent-color:#e88a27}
#dayPlanForm>label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:13px;margin:12px 0 0;color:#29476c}
#dayPlanForm>label>textarea{width:100%;box-sizing:border-box;min-height:62px;margin:0;background:#f8faff;border-left:3px solid #b3c8e3;font-size:13px}
#dayPlanForm>.help{font-size:11px;margin:10px 0;color:#70829a}
#dayPlanForm>.btn[type=submit]{background:linear-gradient(110deg,#ffa13d,#f17d19);color:#1c3153;border-color:#f18a25;border-radius:9px;font-size:13px;min-height:40px;padding:9px 16px;box-shadow:0 3px 8px #ee8a2324}
@media(max-width:700px){#dayPlanForm{padding:12px}#dayPlanForm .quick-plan-fields>label>select,#dayPlanForm>label>textarea{font-size:16px}#dayPlanForm>.btn[type=submit]{min-height:44px}}
/* Daily plan list: compact branded timeline cards. */
.practical-plan-list{padding:18px;border-top:4px solid #f48b24;background:linear-gradient(135deg,#f5f8fe,#fff 55%)}
.practical-plan-list>.card-title{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #dce5f2;gap:12px}
.practical-plan-list>.card-title h2{font-size:18px;color:#20385f;line-height:1.4}
.practical-plan-list>.card-title>.btn{background:#20385f;color:#fff;border-color:#20385f;min-height:38px;padding:8px 14px;border-radius:9px;font-size:12px;box-shadow:0 3px 8px #20385f15}
.practical-plan-list .day-item{--plan-accent:#315b91;border:1px solid #d7e3f2;border-left:5px solid var(--plan-accent);background:linear-gradient(110deg,#edf3fd,#fff 65%);border-radius:12px;padding:12px 14px;gap:6px 12px;box-shadow:0 3px 9px #20385f08}
.practical-plan-list .day-item:nth-of-type(even){--plan-accent:#dc8529;background:linear-gradient(110deg,#fff4e7,#fff 65%);border-color:#eddbc4;border-left-color:var(--plan-accent)}
.practical-plan-list .day-item>.pill{background:var(--plan-accent);color:white;font-size:11px;font-weight:800;padding:6px 9px;border-radius:7px;align-self:start;line-height:1.35}
.practical-plan-list .day-item h3{font-size:14px;color:#20385f;line-height:1.4;font-weight:800}
.practical-plan-list .day-item p{font-size:12px;line-height:1.4;color:#667c98}
.practical-plan-list .day-item>small{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:650;color:#7990ab;margin:0;line-height:1.4}
.practical-plan-list .day-item>small::before{content:'↻';font-size:14px;color:var(--plan-accent)}
.practical-plan-list .day-source-summary{color:#315b91!important;font-weight:650}
.practical-plan-list .day-note{padding:6px 8px;background:#fff;border-radius:6px;border:1px solid #e0e7f1}
.practical-plan-list .day-item-actions .btn{border-radius:7px;background:#fff;min-height:34px;font-size:11px;padding:7px 10px}
.practical-plan-list .day-item-actions .btn:first-child{border-color:#bdcfe7;color:#315b91}
.practical-plan-list .day-item-actions .btn:last-child{border-color:#edc3ca;color:#b64b5d;background:#fff5f6}
@media(max-width:700px){.practical-plan-list{padding:13px}.practical-plan-list>.card-title{align-items:flex-start}.practical-plan-list>.card-title h2{font-size:16px}.practical-plan-list>.card-title>.btn{min-height:44px}.practical-plan-list .day-item{padding:11px 12px}.practical-plan-list .day-item>.pill{justify-self:start}.practical-plan-list .day-item-actions .btn{min-height:44px}}

/* Clear topic details: full-width title, status chip, compact action. */
.topic-chart-details>.topic-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;margin-top:9px;border:1px solid #dbe4f0;border-left:4px solid #b7c7dc;border-radius:10px;background:#f7f9fd;box-shadow:0 2px 5px #20385f05}.topic-detail-row>.topic-detail-heading{grid-column:1/-1;min-width:0}.topic-detail-heading>b{display:block;font-size:14px;line-height:1.45;color:#20385f;overflow-wrap:anywhere}.topic-detail-meta{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap}.topic-detail-meta>small{margin:0;font-size:10px;color:#7788a1}.topic-status-label{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:6px;font-size:11px;font-weight:750;line-height:1.3}.topic-status-label.pending{background:#e8edf5;color:#63748c}.topic-status-label.active{background:#ffead0;color:#965216}.topic-status-label.done{background:#d9f0e2;color:#1d724a}.topic-chart-details>.topic-detail-active{border-left-color:#ed982e;background:#fffbf5}.topic-chart-details>.topic-detail-done{border-left-color:#24946d;background:#f1fbf5}.topic-detail-row>.topic-edit{grid-column:2;justify-self:end;margin:0;font-size:11px;min-height:32px;padding:6px 10px;background:#20385f;color:#fff;border:1px solid #20385f;border-radius:7px}.topic-detail-row>p{grid-column:1/-1;width:auto;margin:0;padding:8px;background:#fff;border:1px solid #e0e7f0;border-radius:7px;font-size:11px;line-height:1.5}.topic-chart-details summary{padding:4px 0;font-weight:800}.topic-course-complete .topic-detail-row{background:#f1fbf5}@media(max-width:700px){.topic-detail-row>.topic-edit{min-height:44px}.topic-detail-heading>b{font-size:14px}}

/* Spacious course workspace in a dedicated dialog. */
.topic-open-course{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:10px;border:1px solid #cfdbec;border-radius:8px;background:#f0f5fc;color:#2b4b76;font-size:12px;font-weight:750;cursor:pointer}.topic-open-course span{font-size:18px}
dialog.topic-workspace-dialog{width:min(1140px,94vw);max-width:94vw;max-height:90dvh;padding:0;border:1px solid #cddbea;border-radius:18px;background:#f3f6fb;box-shadow:0 20px 80px #152b4b45;overflow:auto}.topic-workspace-dialog::backdrop{background:#14264485;backdrop-filter:blur(3px)}
.topic-workspace-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:linear-gradient(110deg,#20385f,#304f7c);border-bottom:4px solid #f48b24;color:white}.topic-workspace-header small{font-size:10px;letter-spacing:1.1px;color:#c6d7ee;font-weight:800}.topic-workspace-header h2{font-size:24px;color:white;margin:4px 0}.topic-workspace-header p{font-size:12px;color:#dbe6f7;margin:0}.topic-workspace-header button{background:#ffffff1c;border:1px solid #ffffff55;color:white;border-radius:8px;min-height:40px;padding:8px 14px;font-size:12px;white-space:nowrap;cursor:pointer}
.topic-workspace-tools{display:flex;align-items:center;gap:16px;padding:14px 20px}.topic-workspace-tools input{width:300px;min-height:40px;margin:0;font-size:13px;background:white}.topic-workspace-tools>span{font-size:12px;color:#6c7e97}.topic-workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px;align-items:start}.topic-workspace-item{min-width:0;background:white;border:1px solid #d8e2ef;border-top:4px solid #b6c7dd;border-radius:12px;padding:15px;box-shadow:0 3px 9px #20385f07}.topic-workspace-item.done{border-top-color:#24946d;background:#f6fcf8}.topic-workspace-item.active{border-top-color:#ec982f;background:#fffcf7}.topic-workspace-item>header{display:flex;align-items:flex-start;gap:9px;margin-bottom:12px}.topic-workspace-item>header>span{display:grid;place-items:center;background:#eaf0fa;color:#315b91;border-radius:7px;min-width:26px;height:26px;font-size:12px;font-weight:800}.topic-workspace-item h3{font-size:15px;line-height:1.45;margin:0;color:#20385f}.topic-workspace-item>fieldset{border:0;padding:0;margin:0;min-width:0}.topic-workspace-status{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;color:#536b8b;margin:0 0 12px}.topic-workspace-status select{flex:1;width:auto;min-width:0;margin:0;min-height:38px;font-size:13px;background-color:#f3f7fd}.topic-workspace-resources{display:grid;gap:9px}.topic-workspace-resources section{background:#f1f5fc;border:1px solid #dae4f1;border-radius:9px;padding:10px}.topic-workspace-resources h4{font-size:13px;margin:0 0 8px;color:#2e4e77}.topic-workspace-resources section>div{display:flex;flex-wrap:wrap;gap:7px}.topic-workspace-resources label{display:flex;align-items:center;gap:6px;padding:8px;margin:0;font-size:12px;line-height:1.35;background:#fff;border:1px solid #d9e3ef;border-radius:7px;min-height:38px;cursor:pointer;box-sizing:border-box}.topic-workspace-resources label:has(input:checked){background:#def2e7;border-color:#8cc4a4;color:#216d47}.topic-workspace-resources input{appearance:auto;width:17px;height:17px;min-width:17px;flex:0 0 17px;margin:0;accent-color:#24946d}.topic-workspace-notes{margin-top:10px;border-top:1px solid #e4eaf3;padding-top:9px}.topic-workspace-notes summary{font-size:12px;color:#557295;cursor:pointer}.topic-workspace-notes label{display:flex;flex-direction:column;gap:5px;font-size:12px;margin:10px 0 0}.topic-workspace-notes input,.topic-workspace-notes textarea{width:100%;box-sizing:border-box;font-size:13px;margin:0}.topic-workspace-item footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.topic-workspace-item footer>span{font-size:12px}.topic-workspace-item .saved{color:#248456;font-weight:700}.topic-workspace-item footer .btn{margin-left:auto;background:#f7932b;color:#20385f;border-color:#ec8a26;font-size:12px;padding:8px 16px;min-height:36px;border-radius:8px}
@media(max-width:750px){dialog.topic-workspace-dialog{width:96vw;max-width:96vw;max-height:94dvh;border-radius:12px}.topic-workspace-header{padding:13px}.topic-workspace-header h2{font-size:20px}.topic-workspace-grid{grid-template-columns:1fr;padding:0 12px 12px;gap:12px}.topic-workspace-tools{padding:12px;flex-wrap:wrap;gap:7px}.topic-workspace-tools input{width:100%;font-size:16px}.topic-workspace-item{padding:12px}.topic-workspace-status select,.topic-workspace-notes input,.topic-workspace-notes textarea{font-size:16px}.topic-workspace-resources label,.topic-workspace-item footer .btn,.topic-workspace-header button{min-height:44px}}
/* Course progress: brand cards with a spacious source matrix. */
.topic-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.topic-page-heading h2{font-size:22px;margin:0;color:#20385f}.topic-page-heading p{font-size:12px;color:#74839a;margin:6px 0 0}.topic-page-heading>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.topic-page-heading>div:last-child>span{font-size:11px;background:#eef3fa;color:#426083;border-radius:8px;padding:9px}.topic-page-heading>div:last-child b{font-size:16px;margin-right:4px}
.topic-brand-card{--course-tone:#20385f;overflow:hidden;border:1px solid #d6e1ef;border-top:4px solid var(--course-tone);border-radius:15px;background:white;box-shadow:0 4px 12px #20385f0b;min-width:0}.topic-brand-card.topic-program-ayt{--course-tone:#bf691e}.topic-brand-card.topic-program-ydt{--course-tone:#7651ad}.topic-brand-card.topic-program-lgs{--course-tone:#168e9b}.topic-brand-card.topic-program-school{--course-tone:#4e70b2}.topic-brand-card>header{display:flex;align-items:center;gap:13px;padding:17px 14px;background:linear-gradient(125deg,#20385f,#304d73);color:white;position:relative}.topic-brand-card>header:after{content:'';position:absolute;top:0;right:0;width:50px;height:5px;background:var(--course-tone)}.topic-brand-card h3{font-size:15px;color:white;line-height:1.35;margin:4px 0}.topic-brand-card small{font-size:11px;color:#d1deef}.topic-brand-program{font-size:9px;letter-spacing:.8px;background:var(--course-tone);border:1px solid #ffffff50;border-radius:4px;padding:3px 6px;font-weight:800}.topic-brand-ring{flex:0 0 76px;width:76px;height:76px;border-radius:50%;background:conic-gradient(#ff9e3b var(--topic-progress),#ffffff30 0);display:grid;place-items:center}.topic-brand-ring>div{width:61px;height:61px;border-radius:50%;background:#27446c;display:grid;place-items:center}.topic-brand-ring b{font-size:20px;color:white}.topic-brand-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 12px 10px}.topic-brand-stats>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:10px;border-radius:9px;background:#f0f4fb;border:1px solid #dee6f1}.topic-brand-stats span{font-size:11px;color:#4f6788}.topic-brand-stats b{font-size:16px;color:#20385f}.topic-brand-stats small{font-size:10px;color:#8290a4;grid-column:1/-1}.topic-brand-card>button{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 24px);margin:0 12px 12px;background:#f7932b;border:1px solid #e88a26;border-radius:8px;padding:9px 10px;color:#20385f;font-size:11px;font-weight:800;cursor:pointer;min-height:36px}.topic-brand-card.is-complete{border-color:#24946d;background:#edf9f1}.topic-brand-card.is-complete>header{background:linear-gradient(125deg,#176543,#2b8a60)}.topic-brand-card.is-complete .topic-brand-ring>div{background:#216e4c}
.topic-ledger-dialog{width:min(1420px,96vw);max-width:96vw;max-height:92dvh;padding:0;border:1px solid #d5dfec;border-radius:18px;background:#f5f7fb;box-shadow:0 20px 85px #14284750;overflow:auto}.topic-ledger-dialog::backdrop{background:#14264485;backdrop-filter:blur(4px)}.topic-ledger-header{position:sticky;top:0;z-index:5;background:linear-gradient(115deg,#20385f,#304f7c);color:white;border-bottom:4px solid #f7932b;padding:20px 24px}.topic-ledger-top{display:flex;align-items:center;gap:16px}.topic-ledger-title{flex:1;min-width:0}.topic-ledger-title small{font-size:10px;letter-spacing:1px;color:#cbdaed;font-weight:750}.topic-ledger-title h2{font-size:26px;margin:4px 0;color:white}.topic-ledger-title p{font-size:12px;margin:0;color:#d7e2f2}.topic-ledger-actions{display:flex;align-items:center;gap:8px}.topic-ledger-actions button{min-height:40px;padding:9px 13px;background:#ffffff19;border:1px solid #ffffff45;border-radius:8px;color:white;font-size:12px;font-weight:750;cursor:pointer}.topic-ledger-actions [data-add-kind]{background:#f7932b;color:#20385f;border-color:#f7932b}.topic-ledger-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.topic-ledger-summary>div{background:#ffffff15;border:1px solid #ffffff20;border-radius:9px;padding:10px 12px}.topic-ledger-summary span{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#dce7f5}.topic-ledger-summary b{color:white}.topic-ledger-summary progress{appearance:none;width:100%;height:6px;margin-top:9px;border:0;border-radius:8px;overflow:hidden;background:#ffffff25}.topic-ledger-summary progress::-webkit-progress-bar{background:#ffffff25}.topic-ledger-summary progress::-webkit-progress-value{background:#ff9f3d;border-radius:8px}.topic-ledger-body{padding:16px 20px 20px}.topic-ledger-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.topic-ledger-tools input{width:280px;min-height:38px;margin:0;font-size:13px;background:white}.topic-ledger-tools span{font-size:12px;color:#71839e}.topic-ledger-scroll{overflow:auto;border:1px solid #d9e3f0;border-radius:12px;background:white;max-height:58dvh}.topic-ledger-scroll table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.topic-ledger-scroll th{position:sticky;top:0;z-index:2;background:#edf2fa;text-align:left;padding:13px 12px;color:#3a5578;border-bottom:2px solid #ccd9eb;min-width:150px}.topic-ledger-scroll th small{display:block;font-size:10px;color:#7d8fa8;margin-bottom:4px}.topic-ledger-scroll th:first-child{min-width:220px;left:0;z-index:4}.topic-ledger-scroll td{padding:13px 12px;border-bottom:1px solid #e2e9f2;vertical-align:middle;background:white}.topic-ledger-scroll td:first-child{position:sticky;left:0;z-index:1;min-width:220px;background:#f9fbfe;box-shadow:1px 0 #e1e8f1}.topic-ledger-scroll td>b{font-size:13px;line-height:1.4;color:#20385f}.topic-ledger-scroll tr.done td:first-child{background:#e9f7ee;border-left:3px solid #24946d}.topic-ledger-scroll tr.active td:first-child{background:#fff3e4;border-left:3px solid #f39432}.topic-ledger-scroll select{min-width:225px;font-size:12px;min-height:38px;margin:0;background-color:#f1f5fc}.topic-ledger-scroll tr.done select{border-color:#77b493;color:#1d704b;background-color:#effaf3}.topic-ledger-scroll tr.active select{border-color:#e6b067;color:#935319;background-color:#fff7eb}.topic-ledger-checks{display:grid;gap:7px;min-width:200px}.topic-ledger-checks label{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.3;margin:0;cursor:pointer;min-height:27px;color:#516b8a}.topic-ledger-checks input{appearance:auto;width:17px;height:17px;min-width:17px;flex:0 0 17px;margin:0;accent-color:#24946d}.topic-ledger-checks label:has(input:checked){color:#21764f;font-weight:700}.topic-ledger-row-progress{display:flex;align-items:center;gap:9px;min-width:110px}.topic-ledger-row-progress progress{width:65px;height:6px;accent-color:#24946d}.topic-ledger-row-progress b{font-size:12px;color:#24946d}.topic-ledger-scroll [data-ledger-save]{background:#20385f;color:white;border:0;min-height:35px;padding:8px 12px;border-radius:7px;font-size:12px;cursor:pointer}.topic-ledger-scroll [data-row-feedback]{display:block;font-size:10px;max-width:170px;margin-top:5px;line-height:1.4}.topic-ledger-scroll .saved{color:#24946d}.topic-ledger-empty{font-size:12px;color:#8291a6;min-width:190px}.topic-ledger-add{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:13px;margin-bottom:14px;background:#fff2df;border:1px solid #f1d2a5;border-radius:10px}.topic-ledger-add label{display:flex;flex-direction:column;gap:6px;margin:0;flex:1;font-size:12px;min-width:220px}.topic-ledger-add input{margin:0;background:white;font-size:13px}.topic-ledger-add button{min-height:38px;padding:8px 14px;font-size:12px;border-radius:7px}.topic-ledger-add [data-add-cancel]{background:white;border:1px solid #dbbd96;color:#866335}.topic-ledger-add [data-add-feedback]{width:100%;font-size:12px;color:#b0354c}
@media(max-width:750px){.topic-page-heading{display:block}.topic-page-heading>div:last-child{margin-top:10px}.topic-ledger-header{padding:14px}.topic-ledger-top{gap:10px;flex-wrap:wrap}.topic-ledger-title h2{font-size:21px}.topic-ledger-actions{width:100%}.topic-ledger-actions button{min-height:44px;flex:1}.topic-ledger-summary{gap:6px;margin-top:12px}.topic-ledger-summary>div{padding:8px}.topic-ledger-summary span{font-size:10px}.topic-ledger-body{padding:12px}.topic-ledger-tools{flex-wrap:wrap;gap:7px}.topic-ledger-tools input{width:100%;font-size:16px}.topic-ledger-scroll th:first-child,.topic-ledger-scroll td:first-child{min-width:150px;max-width:180px}.topic-ledger-scroll select{font-size:16px}.topic-ledger-checks label{min-height:44px}.topic-brand-card>button{min-height:44px}.topic-ledger-add input{font-size:16px}}
/* Ensure course titles remain readable over dark card headers. */
.topic-brand-card>header h3,.topic-brand-card.topic-program-tyt>header h3,.topic-brand-card.topic-program-ayt>header h3,.topic-brand-card.topic-program-ydt>header h3,.topic-brand-card.topic-program-lgs>header h3,.topic-brand-card.topic-program-school>header h3,.topic-brand-card.is-complete>header h3{color:#fff!important;font-weight:800;font-size:17px;line-height:1.4;text-shadow:0 1px 1px #10243f20}.topic-brand-card>header small{color:#e1eafa}.topic-brand-card>header>div{min-width:0}.topic-brand-card>header h3{overflow-wrap:anywhere}

/* Larger source labels, compact header, automatic color from source checks. */
.topic-ledger-header{padding:12px 18px}.topic-ledger-top{gap:12px}.topic-ledger-title h2{font-size:23px;margin:3px 0}.topic-ledger-title small{font-size:9px}.topic-ledger-title p{font-size:11px}.topic-ledger-header .topic-brand-ring{width:58px;height:58px;flex-basis:58px}.topic-ledger-header .topic-brand-ring>div{width:47px;height:47px}.topic-ledger-header .topic-brand-ring b{font-size:17px}.topic-ledger-summary{gap:9px;margin-top:10px}.topic-ledger-summary>div{padding:7px 10px}.topic-ledger-summary progress{margin-top:5px;height:5px}.topic-ledger-body{padding:10px 14px 14px}.topic-ledger-tools{margin-bottom:9px;gap:10px}.topic-ledger-tools input{min-height:34px}.topic-ledger-scroll{max-height:66dvh}.topic-ledger-scroll th{font-size:15px;padding:10px 12px;min-width:100px}.topic-ledger-scroll th small{font-size:12px}.topic-ledger-scroll td{padding:9px 12px}.topic-ledger-scroll td>b{font-size:15px;line-height:1.4}.topic-ledger-checks{gap:5px;min-width:260px}.topic-ledger-checks label{font-size:14px;min-height:30px;gap:8px}.topic-ledger-checks input{width:19px;height:19px;min-width:19px;flex-basis:19px}.topic-ledger-scroll td:has(.topic-ledger-checks){background:#f1f3f6;transition:background .15s}.topic-ledger-scroll td:has(input[name^="completed_"]:checked){background:#fff1d7}.topic-ledger-scroll td:has(input[name^="asked_"]:checked){background:#e4f5eb}.topic-ledger-checks label:has(input[name^="completed_"]:checked){color:#966019}.topic-ledger-checks label:has(input[name^="asked_"]:checked){color:#1e774c}.topic-ledger-checks input[name^="completed_"]{accent-color:#d9962c}.topic-ledger-checks input[name^="asked_"]{accent-color:#24946d}.topic-ledger-scroll tr.pending td:first-child{background:#f0f2f5;border-left:3px solid #b8c1cd}.topic-ledger-scroll tr.active td:first-child{background:#fff1d7}.topic-ledger-scroll tr.done td:first-child{background:#e4f5eb}.topic-ledger-scroll [data-ledger-save]{font-size:14px}.topic-ledger-row-progress b{font-size:14px}.topic-ledger-scroll th:first-child,.topic-ledger-scroll td:first-child{min-width:210px}
@media(max-width:750px){.topic-ledger-header{padding:10px 12px}.topic-ledger-actions{width:auto;margin-left:auto}.topic-ledger-actions button{padding:8px;font-size:11px}.topic-ledger-summary{gap:5px;margin-top:8px}.topic-ledger-summary>div{padding:6px}.topic-ledger-title h2{font-size:19px}.topic-ledger-title small{display:none}.topic-ledger-scroll th:first-child,.topic-ledger-scroll td:first-child{min-width:150px}.topic-ledger-checks label{min-height:44px}}
/* Dense but readable source matrix. */
.topic-ledger-scroll table{table-layout:auto;width:100%;font-size:12px}.topic-ledger-scroll th{font-size:13px;line-height:1.3;padding:8px 10px;min-width:76px}.topic-ledger-scroll th small{font-size:10px;margin-bottom:2px}.topic-ledger-scroll td{padding:6px 10px}.topic-ledger-scroll td>b{font-size:13px;line-height:1.35}.topic-ledger-scroll th:first-child,.topic-ledger-scroll td:first-child{width:240px;min-width:190px;max-width:280px}.topic-ledger-checks{min-width:218px;gap:3px}.topic-ledger-checks label{font-size:12px;line-height:1.25;min-height:24px;gap:6px;font-weight:600}.topic-ledger-checks input{width:16px;height:16px;min-width:16px;flex-basis:16px}.topic-ledger-row-progress{min-width:85px;gap:6px}.topic-ledger-row-progress progress{width:50px}.topic-ledger-row-progress b{font-size:12px}.topic-ledger-scroll [data-ledger-save]{font-size:12px;min-height:30px;padding:6px 10px}.topic-ledger-scroll [data-row-feedback]{font-size:10px;margin-top:2px}.topic-ledger-header{padding:10px 16px}.topic-ledger-summary{margin-top:8px}.topic-ledger-summary>div{padding:6px 9px}.topic-ledger-body{padding:8px 12px 12px}.topic-ledger-tools{margin-bottom:7px}.topic-ledger-tools input{min-height:32px;font-size:12px}.topic-ledger-tools span{font-size:11px}
@media(max-width:750px){.topic-ledger-scroll th:first-child,.topic-ledger-scroll td:first-child{min-width:140px;max-width:190px}.topic-ledger-checks label{min-height:34px;font-size:12px}.topic-ledger-scroll [data-ledger-save]{min-height:38px}.topic-ledger-tools input{font-size:16px}}
/* Contain long topic names inside the sticky first column. */
.topic-ledger-scroll td:first-child,.topic-ledger-scroll th:first-child{box-sizing:border-box;width:240px;min-width:190px;max-width:280px;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;overflow:hidden}.topic-ledger-scroll td:first-child>b{display:block;width:100%;max-width:100%;min-width:0;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;line-height:1.45}.topic-ledger-scroll td{box-sizing:border-box;white-space:normal}.topic-ledger-scroll th{white-space:normal;overflow-wrap:anywhere}.topic-ledger-checks label{white-space:normal;overflow-wrap:anywhere;min-width:0}.topic-ledger-checks{box-sizing:border-box;max-width:100%}@media(max-width:750px){.topic-ledger-scroll td:first-child,.topic-ledger-scroll th:first-child{width:160px;min-width:140px;max-width:190px}}

.topic-ledger-scroll td:has(input[name^="skipped_"]:checked){background:#e4f5eb}.topic-ledger-checks label:has(input[name^="skipped_"]:checked){color:#1e774c;font-weight:700}.topic-ledger-checks input[name^="skipped_"]{accent-color:#24946d}

/* Source choices remain compact; mobile gives each topic its own save area. */
.topic-ledger-checks{min-width:170px!important}
.topic-ledger-source-title{display:block;overflow-wrap:anywhere}.topic-ledger-remove{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:13px;margin-bottom:14px;background:#fff5f5;border:1px solid #e8c7ca;border-radius:10px}.topic-ledger-remove label{display:grid;gap:5px;flex:1;min-width:200px;font-size:12px}.topic-ledger-remove select{min-height:38px;margin:0;background:white}.topic-ledger-remove button{min-height:38px;padding:8px 14px;border:1px solid #d9a3a7;border-radius:7px;background:white;color:#9b3038;font-size:12px;font-weight:700;cursor:pointer}.topic-ledger-remove [data-ledger-delete]{background:#a4313c;color:white;border-color:#a4313c}.topic-ledger-remove [data-ledger-delete]:disabled{opacity:.55;cursor:wait}.topic-ledger-remove[hidden]{display:none}
.topic-ledger-rename{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:13px;margin-bottom:14px;background:#eef4fc;border:1px solid #c9d9ee;border-radius:10px}.topic-ledger-rename label{display:grid;gap:5px;flex:1;min-width:180px;font-size:12px}.topic-ledger-rename select,.topic-ledger-rename input{min-height:38px;margin:0;background:white}.topic-ledger-rename button{min-height:38px;padding:8px 14px;border:1px solid #becde2;border-radius:7px;background:white;color:#20385f;font-size:12px;font-weight:700;cursor:pointer}.topic-ledger-rename button[type=submit]{background:#20385f;color:white;border-color:#20385f}.topic-ledger-rename [data-rename-feedback]{width:100%;font-size:12px;color:#b0354c}.topic-ledger-rename[hidden]{display:none}@media(max-width:750px){.topic-ledger-rename input,.topic-ledger-rename select,.topic-ledger-remove select{font-size:16px}}
.ydt-general-chart{border-top:4px solid #f7932b}.ydt-chart-explain{font-size:12px;color:#657a97;line-height:1.5;margin:0 0 12px}.ydt-chart-insight{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#edf3fb;border:1px solid #dce7f4;border-radius:11px;padding:12px 16px;margin:0 0 8px}.ydt-chart-insight>div{min-width:145px}.ydt-chart-insight small{display:block;font-size:10px;letter-spacing:.6px;color:#637a9b;font-weight:800}.ydt-chart-insight strong{display:block;font-size:27px;line-height:1.2;color:#20385f}.ydt-chart-insight strong span{font-size:14px;color:#7385a0}.ydt-chart-insight p{font-size:13px;color:#405a7a;margin:0}.ydt-chart-insight p b{color:#ba681a}.ydt-general-chart .exam-line-chart .ydt-point-value{fill:#20385f;font-size:13px;font-weight:800}
.topic-ledger-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:750px){.topic-ledger-actions{width:100%;margin-left:0}.topic-ledger-actions button{flex:1 1 42%;white-space:normal}}
.topic-ledger-checks:has(input[name^="completed_"]:checked){background:#fff1d7}
.topic-ledger-checks:has(input[name^="asked_"]:checked),.topic-ledger-checks:has(input[name^="skipped_"]:checked){background:#e4f5eb}
@media(max-width:750px){
 .topic-ledger-dialog .topic-ledger-scroll{overflow:visible}
 .topic-ledger-dialog table,.topic-ledger-dialog tbody{display:block;width:100%;min-width:0!important}
 .topic-ledger-dialog thead{display:none}
 .topic-ledger-dialog tr[data-ledger-row]{display:block;margin:0 0 12px;border:1px solid #d6e0ed;border-radius:12px;overflow:hidden;background:white}
 .topic-ledger-dialog tr[hidden]{display:none}
 .topic-ledger-dialog tr[data-ledger-row]>td{display:block;position:static!important;width:auto!important;min-width:0!important;max-width:none!important;padding:8px 12px!important;white-space:normal!important}
 .topic-ledger-dialog td[data-source-name]::before{content:attr(data-source-name);display:block;font-size:13px;font-weight:700;margin-bottom:5px;color:#203858}
 .topic-ledger-dialog .topic-ledger-checks{display:flex;flex-wrap:wrap;gap:6px 14px;min-width:0!important}
 .topic-ledger-dialog .topic-ledger-checks label{min-height:32px;font-size:13px!important}
 .topic-ledger-dialog [data-ledger-save]{width:100%;min-height:42px}
 .topic-ledger-dialog [data-row-feedback]{display:block;text-align:center}
 .topic-ledger-dialog .topic-ledger-body{padding:10px}
}

.topic-brand .topic-brand-stats{grid-template-columns:1fr}
.topic-ledger-dialog .topic-ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Compact student profiles shared by teacher and administrator panels. */
.staff-student-hub .edu-students:not(.list){grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}
.staff-student-hub .staff-profile-card{padding:0;overflow:hidden;border:1px solid #dbe3ef;border-left:5px solid var(--student-color);border-radius:24px;background:#fff;box-shadow:0 8px 24px #1b31580a;display:flex;flex-direction:column;min-width:0}
.staff-profile-card .student-profile-body{padding:16px 16px 0;min-width:0}
.staff-profile-card .edu-student-heading{align-items:flex-start;gap:12px;margin:0 0 10px}
.staff-profile-card .edu-avatar{width:52px;height:58px;border-radius:15px;font-size:23px;background:linear-gradient(145deg,var(--student-color),#203758);box-shadow:0 3px 7px #20375818}
.staff-profile-card .edu-student-heading h3{font-size:17px;color:#1b3158;margin:0 0 4px;line-height:1.3}
.student-coach-badge{display:inline-block;max-width:100%;padding:3px 7px;border-radius:5px;background:#edf2fa;color:#435f85;font-size:11px;overflow-wrap:anywhere;font-weight:600}
.staff-profile-card .student-recency{display:flex;align-items:center;gap:5px;font-size:11px!important;margin:6px 0 0!important;line-height:1.4!important;color:#778297}
.student-recency i{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.staff-profile-card .student-recency.recent{color:#21845c}.staff-profile-card .student-recency.waiting{color:#ad6318}.staff-profile-card .student-recency.late{color:#c34450}
.student-program-badges{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.student-program-badges>span{padding:4px 7px;border-radius:5px;background:#eef3fb;color:#344f76;font-size:11px;font-weight:700}.student-program-badges>span:nth-child(2){background:#fff0dd;color:#9a5410}
.staff-profile-card .student-school-line{font-size:12px;line-height:1.5;color:#50617b;margin:8px 0;min-height:18px;overflow-wrap:anywhere}
.student-compact-totals{display:flex;flex-wrap:wrap;gap:6px 12px;color:#7a879a;font-size:10px;margin:8px 0 12px}.student-compact-totals b{color:#3e5575;font-size:12px}
.staff-profile-card .staff-course-details{padding:9px 0;border-top:1px solid #e4e9f0;font-size:12px}.staff-profile-card .staff-course-details summary{display:flex;align-items:center;gap:7px;list-style:none;min-height:24px}.staff-profile-card .staff-course-details summary::after{content:'⌄';margin-left:auto;color:#7f8b9c}.staff-profile-card .staff-course-details[open] summary::after{content:'⌃'}.staff-profile-card .staff-course-details summary svg{width:17px;height:17px}.staff-profile-card .staff-course-details summary>span{background:none;padding:0}
.student-management-details{font-size:11px;color:#74829a;border-top:1px solid #eef1f6;padding:7px 0 10px}.student-management-details summary{cursor:pointer}.student-management-details[open]{padding-bottom:12px}.student-management-details .analysis-permission{font-size:11px}.student-management-details>button{margin:6px 3px 0 0}
.staff-profile-card .edu-student-actions{margin:0!important;padding:10px 12px!important;border-top:1px solid #e0e7f0;background:#eef3fb;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.staff-profile-card .edu-student-actions .student-icon-action{display:grid;place-items:center;flex:0 0 32px;width:32px;min-height:34px;padding:6px!important;border:1px solid #d9e2ee;border-radius:7px;background:#fff;color:#61718a}.student-icon-action svg{width:18px;height:18px}.staff-profile-card .edu-student-actions .student-icon-action:nth-child(2){background:#ffeddb;color:#c26c18;border-color:#ffc58a}.staff-profile-card .edu-student-actions .student-icon-action:hover{background:#dfe9f8;color:#203858}.student-action-spacer{flex:1}
.staff-student-hub .edu-students.list .staff-profile-card{display:flex;flex-direction:column}.staff-student-hub .edu-students.list .student-profile-body{display:grid;grid-template-columns:2fr 1fr 1fr;gap:5px 20px}.staff-student-hub .edu-students.list .edu-student-heading{grid-row:span 2}
@media(min-width:1800px){.staff-student-hub .edu-students:not(.list){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1180px){.staff-student-hub .edu-students:not(.list){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.staff-student-hub .edu-students:not(.list){grid-template-columns:1fr}.staff-student-hub .edu-students.list .student-profile-body{display:block}.staff-profile-card .edu-student-actions .student-icon-action{flex-basis:38px;width:38px;min-height:42px}.staff-profile-card .edu-student-heading h3{font-size:18px}}
.staff-profile-card .edu-student-actions button.student-icon-action:first-child{background:#fff;color:#61718a;border-color:#d9e2ee}

.student-list{display:grid;gap:8px;margin-top:14px}.student-list-row{--student-color:#b84c92;display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;background:#fffefa;border:1px solid #e7e5e1;border-left:5px solid var(--student-color);border-radius:17px;box-shadow:0 3px 10px #1b31580b}.student-list-row[data-color="1"]{--student-color:#168f9d}.student-list-row[data-color="2"]{--student-color:#d68b11}.student-list-row[data-color="3"]{--student-color:#4879bf}.student-list-row .edu-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:#fff;font-size:22px;background:linear-gradient(145deg,var(--student-color),#203758)}.student-list-identity{min-width:0}.student-list-name{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px}.student-list-name b{font-size:15px;color:#222b3b}.student-list-grade,.student-list-track{padding:3px 6px;border-radius:5px;background:#edf2fa;color:#344f76;font-size:11px;font-weight:700}.student-list-track{background:#fff0dc;color:#925116}.student-list-row .student-recency{display:flex;align-items:center;gap:5px;margin-top:4px;color:#c34450;font-size:11px}.student-list-row .student-recency.recent{color:#21845c}.student-list-row .student-recency.waiting{color:#ad6318}.student-list-row .student-recency.none{color:#79869b}.student-list-row .student-recency i{width:6px;height:6px;border-radius:50%;background:currentColor}.student-list-course-count{display:flex;align-items:center;gap:5px;color:#758096;font-size:12px;white-space:nowrap}.student-list-course-count svg{width:17px;height:17px}.student-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.student-list-action{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border:1px solid #dfe5ee;border-radius:8px;background:#f0f4fa;color:#243b61}.student-list-action:first-child{background:#fff0df;color:#c36b1f;border-color:#ffc996}.student-list-action svg{width:18px;height:18px}.student-list-action:hover{background:#dce7f7}.student-list-action:last-child[data-archive-student]{background:#fff;color:#657184}
@media(max-width:760px){.student-list-row{grid-template-columns:44px minmax(0,1fr);gap:7px 10px;padding:10px}.student-list-row .edu-avatar{width:44px;height:44px}.student-list-course-count{grid-column:1/2;font-size:11px}.student-list-actions{grid-column:2/3;justify-content:flex-end;flex-wrap:wrap}.student-list-action{width:36px;min-width:36px;height:36px}}

/* Compact, branded forms shared by the student and staff dialogs. */
#dialog:not(.exam-topic-dialog):not(.exam-target-dialog):not(.topic-ledger-dialog):not(.topic-workspace-dialog):not(.history-print-dialog){border:1px solid #cbd8e9;border-top:5px solid #f7932b;background:#fff;box-shadow:0 24px 70px #10274645;color:#20385f}
#dialog::backdrop{background:#142644a6;backdrop-filter:blur(3px)}
#dialog .dialog-header{border-bottom:1px solid #dde6f1;padding-bottom:12px;margin-bottom:15px}
#dialog .dialog-header h2{color:#20385f}
#dialog .dialog-header button{color:#20385f;background:#edf2f9;border:1px solid #d4dfec;border-radius:9px}
#dialog input:focus-visible,#dialog select:focus-visible,#dialog textarea:focus-visible{outline:2px solid #f7932b;outline-offset:2px}
#dialog .form-actions .btn,#dialog .exam-save-actions .btn{background:#20385f;color:#fff;border-color:#20385f}
.homework-date-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px}
.homework-date-fields label,.homework-date-fields input{min-width:0;max-width:100%;box-sizing:border-box}
.homework-date-fields input{width:100%}
.exam-branch-source{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;padding:15px;background:#eef3fa;border:1px solid #d6e2ef;border-left:4px solid #f7932b;border-radius:12px}
.exam-branch-source label{min-width:0;color:#20385f;font-weight:700}
.exam-branch-source select,.exam-branch-source input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin-top:6px}
.exam-branch-source [hidden]{display:none}
@media(max-width:620px){.exam-branch-source{grid-template-columns:1fr}}

/* Tablet charts retain a readable plotting width instead of two compressed columns. */
@media(min-width:701px) and (max-width:1200px){
 .exam-chart-grid,.parent-chart-grid,.pe-chart-grid{grid-template-columns:minmax(0,1fr)}
 .exam-chart-grid .exam-panel,.parent-chart-grid>*{min-width:0}
 .exam-line-chart{width:100%;height:auto;min-height:225px;max-height:340px}
 .exam-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .exam-target-columns{grid-template-columns:minmax(0,1fr)}
 .topic-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .topic-chart-card{min-width:0}
 .ydt-chart-insight{gap:12px}
 .ydt-chart-insight>div{min-width:120px}
 .pe-chart{min-width:0;width:100%;height:300px}
}

/* Deneme girişi: adımlar ve öğrencinin deneme kaynakları. */
.exam-entry-page .exam-editor{background:#f7f9fd;border-color:#d8e3f1}
.exam-entry-page .exam-editor>h3{font-size:23px;color:#20385f;margin:0 0 18px}
.exam-step{background:#fff;border:1px solid #d9e4f0;border-radius:16px;padding:20px;margin:0 0 16px;box-shadow:0 4px 14px #20385f0a}
.exam-step:nth-of-type(1){border-top:4px solid #f7932b}.exam-step:nth-of-type(2){border-top:4px solid #406a9c}.exam-step:nth-of-type(3){border-top:4px solid #24946d}
.exam-step-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.exam-step-heading>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#20385f;color:#fff;font-size:17px;font-weight:850}
.exam-step-heading h4{font-size:18px;color:#20385f;margin:0 0 2px}.exam-step-heading p{color:#71839e;font-size:12px;margin:0}
.exam-step .exam-mode-grid,.exam-step .exam-branch-layout{margin:0}
.exam-step .exam-branch-layout{grid-template-columns:minmax(130px,.5fr) minmax(250px,1.2fr) minmax(270px,1.5fr);gap:15px}
.exam-step .exam-branch-layout>.exam-checkbox{margin-top:18px}
.exam-step .exam-branch-source{margin:15px 0 0}
.exam-step .exam-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.exam-step .exam-meta-grid>label:nth-child(3){grid-column:1/-1}
.exam-step .exam-meta-grid input,.exam-step .exam-meta-grid textarea{min-width:0;width:100%;box-sizing:border-box}
.exam-step .exam-meta-grid textarea{min-height:74px}
.exam-step .exam-course-grid{margin-top:14px}
.exam-source-add{min-height:43px;padding:10px 15px;border:1px solid #ffba7a;border-radius:11px;background:#fff4e8;color:#8b4a13;font-size:13px;font-weight:800;cursor:pointer}
.exam-source-add:hover{background:#ffe4c8}
.exam-source-dialog{width:min(540px,calc(100vw - 24px))}
.exam-source-dialog .exam-source-help{font-size:13px;line-height:1.5;color:#647c9a;margin:0 0 17px}
.exam-source-dialog form{display:grid;gap:14px}.exam-source-dialog label{display:grid;gap:6px;color:#20385f;font-size:13px;font-weight:750}
.exam-source-dialog select,.exam-source-dialog input{width:100%;box-sizing:border-box;min-height:44px;margin:0}
.exam-source-dialog .exam-save-actions{justify-content:flex-end;margin-top:4px}
@media(max-width:1100px){.exam-step .exam-branch-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-step .exam-branch-selection{grid-column:1/-1}}
@media(max-width:700px){.exam-step{padding:14px}.exam-step .exam-branch-layout,.exam-step .exam-meta-grid{grid-template-columns:1fr}.exam-step .exam-branch-selection,.exam-step .exam-meta-grid>label:nth-child(3){grid-column:auto}.exam-step-heading h4{font-size:16px}.exam-step-heading p{font-size:11px}.exam-source-add{min-height:44px}}
.exam-step .exam-mode-grid{grid-template-columns:minmax(0,1fr)}
.exam-step .exam-type-primary{display:block;max-width:480px;font-weight:800;color:#20385f}
.exam-step .exam-type-primary select{display:block;width:100%;min-height:48px;margin-top:7px;border:1px solid #c8d8eb;background:#f4f7fc;color:#20385f;font-weight:800}
.exam-step .exam-branch-layout{margin-top:14px;grid-template-columns:minmax(220px,1fr) minmax(270px,1.4fr)}
.exam-step .exam-branch-selection{grid-column:auto}
@media(max-width:700px){.exam-step .exam-branch-layout{grid-template-columns:1fr}}
.exam-step .exam-branch-layout{grid-template-columns:minmax(0,1fr)}
.exam-step .exam-branch-selection{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;border:1px solid #d9e4f0;border-radius:12px;background:#f4f7fc}
.exam-step .exam-branch-selection>label:last-child{grid-column:auto}
@media(max-width:700px){.exam-step .exam-branch-selection{grid-template-columns:1fr;padding:12px}}
/* Homework editing stays visible beside completion and delete controls. */
.school-homework-edit{min-height:40px;padding:9px 14px!important;color:#20385f!important;background:#edf3fc!important;border:1px solid #c7d8ed!important;font-size:12px!important}
.school-homework-actions .school-homework-edit{margin:0;min-height:36px;padding:7px 10px!important;font-size:11px!important;border-radius:8px}
@media(max-width:900px){.school-homework-actions .school-homework-edit{min-height:44px}}
/* Separate exam and study areas in the side menu. */
.sidebar .nav+.nav-label{margin-top:20px;padding-top:17px;border-top:1px solid #ffffff26}
.shell:not(.sidebar-expanded) .sidebar .nav:not(:first-of-type){margin-top:16px;padding-top:15px;border-top:1px solid #ffffff26}
.parent-work-list{display:grid;gap:12px;margin-top:20px}.parent-work-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;background:#f4f7fc;border:1px solid #dce5f2;border-left:4px solid #ff942c;border-radius:14px}.parent-work-row>div{display:grid;gap:5px}.parent-work-row b{color:#20375f}.parent-work-row small{color:#667891}.parent-work-row p{width:100%;margin:0;color:#42516b}.parent-work-row button{border:0;border-radius:10px;background:#20375f;color:white;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}.parent-document-text{white-space:pre-wrap;line-height:1.6;max-height:65vh;overflow:auto;padding:16px;background:#f4f7fc;border-radius:12px}
.exam-source-list{display:grid;gap:10px;max-height:55vh;overflow:auto;margin:18px 0}.exam-source-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #d9e3f0;border-left:4px solid #ff9229;border-radius:12px;background:#f5f8fc}.exam-source-row>div:first-child{display:grid;gap:3px}.exam-source-row small{color:#697a94}.exam-source-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.exam-source-row button{border:1px solid #cad7e8;border-radius:9px;background:#fff;color:#20375f;padding:8px 12px;font:inherit;font-weight:700;cursor:pointer}.exam-source-row button[data-source-delete]{color:#ae3240;border-color:#efcbd1}@media(max-width:600px){.exam-source-row{align-items:flex-start}.exam-source-row>div:last-child{justify-content:flex-end}.exam-toolbar .exam-source-add{font-size:.85rem}}
/* Yönetim ekranı: her hesap ve işlemi açık bir grupta göster. */
.management-page{background:#f8fafc}.management-page>.card-title{align-items:flex-start;margin-bottom:22px}.management-page>.card-title p{margin:5px 0 0;color:#63748d}.management-section-title{display:flex;align-items:center;gap:10px;margin:24px 0 12px;color:#1c3154;font-size:18px}.management-section-title small{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:9px;background:#e8eff9;color:#345880;font-size:13px}.management-list{display:grid;gap:13px}.management-user-card{border:1px solid #dbe5f1;border-left:5px solid #ff942a;border-radius:18px;background:#fff;padding:17px;box-shadow:0 4px 14px #172f5508}.management-user-heading{display:flex;align-items:center;gap:12px}.management-user-avatar{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:#20375f;color:#fff;font-size:19px;font-weight:800}.management-user-heading>div{min-width:0;flex:1}.management-user-heading h3{margin:0;color:#1c3154;font-size:18px}.management-user-heading small{display:block;margin-top:3px;color:#65758b}.management-profile{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#f2f6fc;color:#405777}.management-user-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(210px,.7fr);gap:14px;margin-top:13px}.management-user-grid section{min-width:0;padding:14px;border:1px solid #e0e8f3;border-radius:12px;background:#fbfcff}.management-user-grid h4{margin:0 0 10px;color:#223b63;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.management-user-grid .analysis-permission{margin:0 0 10px}.management-user-grid select{width:100%;min-height:44px}.management-user-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:14px;padding-top:13px;border-top:1px solid #e6ecf5}.management-user-actions button{min-height:40px;padding:9px 12px;border-radius:9px;font-weight:750}.management-user-actions .danger{margin-left:auto;border:1px solid #f0c8cd;background:#fff5f5;color:#a92f40}.management-user-grid [data-parent-manage],.management-user-grid [data-assign-courses]{min-height:40px;padding:9px 12px;margin-right:7px}
.staff-student-picker{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:19px 22px;margin-bottom:18px;border:2px solid #f5a34d;border-left:7px solid #ff9229;border-radius:18px;background:linear-gradient(115deg,#fff1db,#fffaf4 60%,#eef3fc);box-shadow:0 7px 18px #233b6510}.staff-picker-step{display:inline-block;margin-bottom:5px;color:#a85d17;font-size:12px;font-weight:850;letter-spacing:.08em}.staff-student-picker h2{margin:0;color:#1d355b;font-size:20px}.staff-student-picker p{margin:5px 0 0;color:#5a6b83;font-size:13px}.staff-student-picker label{display:grid;gap:7px;min-width:min(100%,320px);color:#25416a;font-size:14px;font-weight:800}.staff-student-picker select{width:100%;min-height:50px;padding:10px 14px;border:2px solid #f6a34b;border-radius:11px;background:#fff;color:#20375f;font-size:16px;font-weight:750;box-shadow:0 3px 10px #ff92291b}.staff-student-prompt{text-align:center;padding:35px 20px;border:1px dashed #d8e3f2;background:#fff}.staff-student-prompt h2{margin:0 0 8px;color:#20375f}.staff-student-prompt p{color:#65758b}.staff-exam-student-filter{display:flex;margin-bottom:16px;padding:13px 16px;background:#eef3fa;border:1px solid #dbe5f1;border-radius:13px}.staff-exam-student-filter label{display:grid;gap:5px;color:#2e486f;font-weight:750}.staff-exam-student-filter select{min-width:250px;min-height:43px}
.staff-profile-card .edu-student-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;padding:12px!important}.staff-profile-card .edu-student-actions .student-icon-action{display:flex!important;align-items:center;justify-content:flex-start;gap:7px;flex:none;width:100%;min-width:0;min-height:42px;padding:8px 10px!important;border-radius:10px;text-align:left}.staff-profile-card .edu-student-actions .student-icon-action svg{flex:0 0 17px;width:17px;height:17px}.staff-profile-card .edu-student-actions .student-action-label{display:inline;font-size:12px;font-weight:750;line-height:1.2;white-space:normal}.staff-profile-card .edu-student-actions .student-action-spacer{display:none}.student-list-actions{flex-wrap:wrap}.student-list-action{display:flex;align-items:center;gap:5px;width:auto;min-width:0;height:auto;min-height:37px;padding:7px 9px;font-size:11px;font-weight:750}.student-list-action svg{flex:0 0 15px;width:15px;height:15px}.student-list-action .student-action-label{display:inline}
@media(max-width:700px){.management-user-grid{grid-template-columns:1fr}.management-user-actions .danger{margin-left:0}.staff-student-picker{padding:15px;gap:12px}.staff-student-picker label{min-width:100%}.student-list-row{grid-template-columns:44px minmax(0,1fr)}.student-list-actions{grid-column:1/-1;justify-content:flex-start}.student-list-course-count{grid-column:1/-1}}
/* Compact account management: one clear row per student. */
.management-list{gap:8px}.compact-management-card{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(330px,1.5fr) minmax(145px,.65fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:13px}.compact-management-card .management-identity{display:flex;align-items:center;gap:10px;min-width:0}.compact-management-card .management-user-avatar{width:38px;height:38px;flex-basis:38px;border-radius:10px;font-size:16px}.compact-management-card .management-identity>div{min-width:0}.compact-management-card h3{margin:0;font-size:15px;line-height:1.2;color:#1c3154}.compact-management-card .management-identity small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#65758b;font-size:11px}.compact-management-card .management-permissions{display:flex;gap:7px;min-width:0}.compact-management-card .analysis-permission{display:flex;align-items:center;gap:5px;min-height:36px;margin:0;padding:5px 8px;border-radius:8px;font-size:11px;white-space:nowrap}.compact-management-card .analysis-permission input{width:16px;height:16px;flex:none}.compact-management-card .analysis-permission b{font-size:10px}.compact-management-card .management-teacher{display:grid;gap:3px;color:#5e708d;font-size:10px;font-weight:700}.compact-management-card .management-teacher select{width:100%;min-height:34px;padding:4px 8px;font-size:12px}.compact-management-card .management-quick-actions{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;max-width:320px}.compact-management-card .management-quick-actions button{min-height:30px;padding:5px 7px;border:1px solid #dbe5f1;border-radius:7px;background:#f2f6fc;color:#20375f;font-size:11px;font-weight:700}.compact-management-card .management-quick-actions button:hover{background:#e5eefb}.compact-management-card .management-quick-actions [data-archive-student]{color:#a66616;background:#fff5e9;border-color:#f6d3a5}.compact-management-card .management-quick-actions .danger{color:#a92f40;background:#fff5f5;border-color:#f0c8cd}@media(max-width:1200px){.compact-management-card{grid-template-columns:minmax(180px,1fr) minmax(300px,1.4fr) minmax(135px,.7fr)}.compact-management-card .management-quick-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}}@media(max-width:700px){.compact-management-card{grid-template-columns:1fr;gap:8px}.compact-management-card .management-permissions{flex-wrap:wrap}.compact-management-card .management-quick-actions{grid-column:auto}}
/* Keep management controls inside their own grid tracks. */
.compact-management-card{grid-template-columns:minmax(180px,280px) minmax(0,1fr) minmax(160px,220px)}
.compact-management-card .management-permissions{min-width:0;flex-wrap:wrap;align-items:center}
.compact-management-card .analysis-permission{flex:1 1 210px;min-width:0;white-space:normal;line-height:1.2}
.compact-management-card .analysis-permission span{min-width:0}
.compact-management-card .analysis-permission b{margin-left:auto;white-space:nowrap}
.compact-management-card .management-teacher{min-width:0}
.compact-management-card .management-quick-actions{grid-column:1/-1;justify-content:flex-end;max-width:none;padding-top:4px;border-top:1px solid #edf1f6}
@media(max-width:900px){.compact-management-card{grid-template-columns:minmax(0,1fr) minmax(170px,220px)}.compact-management-card .management-permissions{grid-column:1/-1;grid-row:2}.compact-management-card .management-teacher{grid-column:2;grid-row:1}.compact-management-card .management-quick-actions{grid-row:3}}
@media(max-width:560px){.compact-management-card{grid-template-columns:1fr}.compact-management-card .management-identity,.compact-management-card .management-permissions,.compact-management-card .management-teacher,.compact-management-card .management-quick-actions{grid-column:1;grid-row:auto}.compact-management-card .management-quick-actions{justify-content:flex-start}}
/* Dense student cards: keep names readable and actions compact. */
.staff-student-hub .staff-profile-card{border-radius:17px}
.staff-profile-card .student-profile-body{padding:11px 12px 0}
.staff-profile-card .edu-student-heading{gap:9px;margin:0 0 5px}
.staff-profile-card .edu-avatar{width:40px;height:42px;border-radius:11px;font-size:19px}
.staff-profile-card .edu-student-heading h3{font-size:16px;margin:0 0 2px}
.staff-profile-card .student-coach-badge{padding:2px 5px;font-size:10px}
.staff-profile-card .student-recency{display:inline-flex;margin:0 0 0 7px!important;font-size:10px!important}
.staff-profile-card .student-program-badges{gap:4px;margin:5px 0 2px}
.staff-profile-card .student-program-badges>span{padding:2px 5px;font-size:10px}
.staff-profile-card .student-school-line{font-size:10px;line-height:1.25;margin:3px 0;min-height:0}
.staff-profile-card .student-compact-totals{gap:4px 10px;font-size:10px;margin:5px 0 7px}
.staff-profile-card .student-compact-totals b{font-size:11px}
.student-card-disclosures{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 12px;border-top:1px solid #e4e9f0;padding:4px 0}
.staff-profile-card .student-card-disclosures details{flex:1 1 130px;min-width:0;padding:0;border:0;font-size:10px}
.staff-profile-card .student-card-disclosures details[open]{flex-basis:100%}
.staff-profile-card .student-card-disclosures summary{min-height:25px;display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap}
.staff-profile-card .student-card-disclosures .staff-course-details summary::after{margin-left:2px}
.staff-profile-card .edu-student-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;padding:6px 8px!important}
.staff-profile-card .edu-student-actions .student-icon-action{min-height:29px;padding:4px 6px!important;border-radius:7px;justify-content:center;text-align:center}
.staff-profile-card .edu-student-actions .student-action-label{font-size:10px;line-height:1.1;font-weight:700}
@media(max-width:520px){.staff-profile-card .edu-student-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.staff-profile-card .edu-student-actions .student-icon-action{min-height:34px}.staff-profile-card .edu-student-actions .student-action-label{font-size:11px}}
/* Permission status colors in management and student details. */
.analysis-permission[data-enabled="false"]{background:#fff1f2;border-color:#eebbc2;color:#9f2f40}
.analysis-permission[data-enabled="false"] b,.analysis-permission[data-enabled="false"] span{color:#a52e40}
.analysis-permission[data-enabled="true"]{background:#eaf7ef;border-color:#9fd8b6;color:#17734c}
.analysis-permission[data-enabled="true"] b,.analysis-permission[data-enabled="true"] span{color:#17734c}
.analysis-permission[data-enabled="false"] input{accent-color:#c33d51}
.analysis-permission[data-enabled="true"] input{accent-color:#24875c}
/* Search across active, management and archived student lists. */
.student-search-field{display:flex;align-items:center;gap:10px;width:100%;max-width:640px;min-height:48px;margin:10px 0 14px;padding:4px 12px;border:1.5px solid #cad8ec;border-left:5px solid #f3922d;border-radius:14px;background:linear-gradient(105deg,#fffaf2,#f4f7fd);box-shadow:0 3px 10px #1b31580b;color:#29466f}
.student-search-field:focus-within{border-color:#f3922d;box-shadow:0 0 0 3px #f3922d25,0 3px 10px #1b31580b}
.student-search-field>span{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:8px;background:#e7eef9;color:#244976;font-size:25px;line-height:1}
.student-search-field input{flex:1;min-width:0;min-height:36px;padding:4px 2px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#20375f;font-size:14px;font-weight:650}
.student-search-field input::placeholder{color:#7d8ea8;font-weight:500}
.student-search-field small{white-space:nowrap;padding:5px 7px;border-radius:7px;background:#e7eef9;color:#345880;font-size:11px;font-weight:750}
.edu-student-toolbar .student-search-field{flex:1;max-width:none;margin:0}
.management-page .student-search-field{max-width:700px}
@media(max-width:700px){.student-search-field{min-height:45px}.student-search-field small{font-size:10px}}

/* Compact exam controls and student entry. */
.exam-tracking-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px}
.exam-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.exam-tracking-toolbar .exam-title-row h2{margin:0;color:#fff;font-size:22px;line-height:1.25}
.exam-title-row>.btn{flex:none;margin:0;padding:10px 15px;min-height:40px;border-radius:10px;background:linear-gradient(110deg,#ff9637,#f17a17);color:#172a47;font-size:13px;font-weight:800}
.exam-source-actions{display:flex;align-items:center;gap:8px}
.exam-tracking-toolbar .exam-source-actions>button{flex:1;min-width:0;margin:0;padding:9px 12px;min-height:38px;border:1px solid #ffffff35;border-radius:9px;background:#ffffff10;color:#fff;font-size:12px;line-height:1.3;white-space:nowrap}
.exam-tracking-toolbar .exam-view-tabs{order:0;width:100%;margin:0;display:flex;flex-wrap:nowrap}
.exam-tracking-toolbar .exam-view-tabs>button{flex:1;min-height:36px;padding:7px 10px}
.student-welcome{max-width:1060px;margin:0 auto}
.welcome-greeting{padding:30px;border-radius:20px;background:linear-gradient(120deg,#1b2e50,#304f77);color:#fff;border-bottom:4px solid #ff922b}
.welcome-greeting .eyebrow{color:#ffb36c;font-size:11px;letter-spacing:1.6px}
.welcome-greeting h1{font-size:32px;line-height:1.2;color:#fff;margin:13px 0}
.welcome-greeting p{color:#e4ecf7;font-size:16px;line-height:1.6;margin:0 0 18px}
.welcome-greeting small{color:#c8d7ea;font-size:12px}
.welcome-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.welcome-shortcuts>button{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid #dce5f2;border-radius:14px;padding:20px;color:#1b2e50;min-width:0}
.welcome-shortcut-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:#fff1e1;color:#af5b12}
.welcome-shortcut-icon svg{width:24px;height:24px}
.welcome-shortcuts>button>span:nth-child(2){flex:1;min-width:0}
.welcome-shortcuts b{display:block;font-size:17px;margin-bottom:5px}
.welcome-shortcuts small{display:block;font-size:13px;font-weight:400;line-height:1.5;color:#667b99}
.welcome-shortcuts>button:hover{border-color:#ef9a4a;background:#fffbf6}
@media(min-width:1000px){.exam-tracking-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px 22px}.exam-tracking-toolbar .exam-view-tabs{grid-column:1/-1}.exam-source-actions{min-width:280px}}
@media(max-width:700px){.topbar .top-user-name,.topbar .top-actions>[data-action="logout"]{display:none}.topbar{min-height:58px;padding:10px 14px}.exam-tracking-toolbar{padding:12px;gap:8px}.exam-tracking-toolbar .exam-title-row h2{font-size:18px}.exam-title-row>.btn{font-size:12px;padding:9px 11px;min-height:38px}.exam-tracking-toolbar .exam-source-actions>button{font-size:12px;padding:8px}.exam-tracking-toolbar .exam-view-tabs>button{min-height:34px;font-size:12px}.welcome-greeting{padding:22px 18px;border-radius:15px}.welcome-greeting h1{font-size:26px}.welcome-greeting p{font-size:14px;margin-bottom:14px}.welcome-shortcuts{grid-template-columns:1fr;gap:9px;margin-top:14px}.welcome-shortcuts>button{padding:15px;gap:12px}.welcome-shortcuts b{font-size:15px}.welcome-shortcuts small{font-size:12px}}

.top-user-name{max-width:220px;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.top-user-name>span{display:inline-block;white-space:nowrap}.top-user-name.name-scroll>span{animation:header-name-scroll 9s ease-in-out infinite alternate}.top-user-name:hover>span,.top-user-name:focus>span{animation-play-state:paused}
@keyframes header-name-scroll{0%,20%{transform:translateX(0)}80%,100%{transform:translateX(var(--name-shift))}}
@media(max-width:700px){.topbar{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:10px;row-gap:3px}.topbar>.mobile-menu-toggle{grid-row:1/3}.topbar>b{grid-column:2;min-width:0;font-size:14px;line-height:1.3}.topbar .top-actions{grid-column:2;display:block;min-width:0;max-width:100%;margin:0}.topbar .top-actions .pill.top-user-name{display:block;max-width:100%;width:fit-content;padding:2px 0;background:transparent!important;border:0;border-radius:0;font-size:12px;line-height:1.5;color:#607390}.topbar .top-date{display:none}.mobile-menu-toggle{width:38px;height:38px;min-height:38px}}
@media(prefers-reduced-motion:reduce){.top-user-name.name-scroll>span{animation:none}.top-user-name{overflow-x:auto}}

.parent-topbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:60px;margin:0 0 16px;padding:10px 0 14px}
.parent-header-identity{display:flex;flex-direction:column;min-width:0;gap:3px}
.parent-header-identity>b{font-size:16px;color:#1b2e50;line-height:1.3}
.parent-header-identity>span{font-size:12px;color:#667b99;line-height:1.4;overflow-wrap:anywhere}
.parent-child-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin:0 0 18px;background:#f0f5fc;border:1px solid #d8e4f5;border-left:4px solid #ff922b;border-radius:12px;min-width:0}
.parent-child-context>div,.parent-child-context>label{min-width:0;flex:1}.parent-child-context small{font-size:9px;font-weight:800;letter-spacing:1px;display:block;margin-bottom:4px;color:#71829a}.parent-child-context b{display:block;font-size:15px;line-height:1.4;color:#1b2e50;overflow-wrap:anywhere}.parent-child-context>span{flex:none;font-size:11px;color:#607390}.parent-child-context label{font-size:11px;color:#5b7393}.parent-child-context select{display:block;width:100%;max-width:440px;margin:4px 0 0;font-size:14px;min-height:40px;padding:7px 10px}
.parent-main-tabs[hidden]{display:none}.parent-main-tabs{gap:5px}.parent-main-tabs>button{white-space:normal;line-height:1.3;min-width:0}
@media(max-width:700px){.parent-shell{padding:10px 12px 22px}.parent-topbar{gap:10px;padding:0 0 10px;min-height:52px;margin-bottom:12px}.parent-topbar .mobile-menu-toggle{flex:none}.parent-header-identity>b{font-size:14px}.parent-header-identity>span{font-size:12px}.parent-child-context{padding:10px 12px;margin-bottom:12px}.parent-child-context b{font-size:13px}.parent-child-context select{font-size:13px}.parent-main-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:5px;margin:12px 0}.parent-main-tabs>button{font-size:11px;padding:8px;min-height:36px}.parent-main-tabs>button small{font-size:10px}.parent-welcome .welcome-greeting h1{font-size:25px}}
.parent-topbar{flex-wrap:nowrap}.parent-topbar>.parent-header-identity{width:auto;flex:1;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:3px}
.parent-exam-type-picker{display:block;margin-bottom:12px}.parent-exam-type-picker>b{display:block;font-size:12px;color:#526b8e;margin:0 0 7px}.parent-exam-type-picker .parent-type-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:5px}.parent-exam-type-picker .parent-type-tabs button{min-width:0;white-space:normal;display:flex;align-items:center;justify-content:center;gap:6px}.parent-exam-type-picker small{font-size:10px;line-height:1;background:#1b2e5010;color:inherit;border-radius:10px;padding:3px 5px}.parent-exam-type-picker button.active small{background:#ffffff20}
@media(max-width:700px){.parent-exam-type-picker .parent-type-tabs button{font-size:11px;padding:8px 4px;min-height:36px;gap:4px}.parent-exam-type-picker small{font-size:9px;padding:3px 4px}.parent-exam-type-picker .parent-type-tabs{gap:3px;padding:4px}}
