:root{
  --navy:#153a5b;--navy-2:#1d4f78;--blue:#2f6e9e;--blue-soft:#eaf2f8;
  --bg:#f4f6f8;--panel:#fff;--line:#dfe5ea;--line-strong:#cbd5de;
  --text:#172332;--muted:#667483;--ok:#286b45;--ok-bg:#edf8f1;
  --warning:#84631d;--warning-bg:#fff8e8;--bad:#943b3b;--bad-bg:#fff1f1;
  --shadow:0 8px 28px rgba(21,58,91,.07);--shadow-soft:0 2px 12px rgba(21,58,91,.055);
  --radius:16px;--sidebar:238px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{border:0;border-radius:9px;background:var(--navy);color:#fff;padding:10px 14px;font-weight:700;cursor:pointer;transition:.16s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(21,58,91,.14)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.hide{display:none!important}.system-hooks,.system-internal{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.small{font-size:.88rem;color:var(--muted)}.eyebrow{display:block;margin-bottom:5px;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.public-header{height:72px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}.public-header-inner{max-width:1460px;height:100%;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;font-size:1.18rem;font-weight:800}.brand-copy b,.brand-copy small{display:block}.brand-copy b{font-size:.98rem;color:var(--navy)}.brand-copy small{font-size:.78rem;color:var(--muted);margin-top:1px}.top-user{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--navy);font-size:.82rem;font-weight:800}.top-user-copy{min-width:0}.top-user-copy b,.top-user-copy span{display:block;max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-user-copy b{font-size:.86rem;color:var(--navy)}.top-user-copy span{font-size:.75rem;color:var(--muted)}.ghost-button,.secondary-button{background:#edf2f6;color:var(--navy);box-shadow:none}.ghost-button{padding:8px 10px;font-size:.82rem;border:1px solid var(--line)}
.public-main{max-width:1460px;margin:0 auto;padding:30px 24px 64px}.login-card{max-width:900px;margin:7vh auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr}.login-copy{padding:52px;background:linear-gradient(145deg,#f9fbfd,#edf4f9)}.login-copy h1{margin:.2rem 0 .8rem;color:var(--navy);font-size:2.1rem;line-height:1.15}.login-copy p{max-width:570px;margin:0;color:#506273;font-size:1.02rem}.login-action{padding:52px 38px;display:flex;flex-direction:column;justify-content:center}.microsoft-btn{min-height:50px;font-size:1rem;width:100%}.privacy-note{margin:13px 0 0;color:var(--muted);font-size:.8rem;text-align:center}
.notice{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:12px 0;font-size:.9rem}.notice.success{background:var(--ok-bg);border-color:#b8dac4;color:var(--ok)}.notice.warning{background:var(--warning-bg);border-color:#e3d09f;color:#745b21}.notice.error{background:var(--bad-bg);border-color:#e1bcbc;color:var(--bad)}
.global-auth-message{max-width:720px;margin:0 auto 16px}.teacher-toast{position:fixed;right:24px;top:86px;z-index:80;max-width:390px;box-shadow:var(--shadow);background:#fff}
.teacher-app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:0;min-height:calc(100vh - 132px);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.teacher-sidebar{background:#f8fafb;border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column}.teacher-sidebar-title{padding:2px 10px 20px}.teacher-sidebar-title strong{display:block;color:var(--navy);font-size:1.15rem}.teacher-kicker{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:700}.teacher-nav{display:grid;gap:5px}.teacher-nav-item{width:100%;display:flex;align-items:center;gap:10px;background:transparent;color:#415468;text-align:left;padding:11px 12px;border-radius:10px;box-shadow:none}.teacher-nav-item:hover:not(:disabled){transform:none;background:#edf3f7;box-shadow:none}.teacher-nav-item.active{background:var(--navy);color:#fff}.nav-icon{width:22px;text-align:center;font-size:1.05rem}.teacher-sidebar-footer{margin-top:auto;padding:18px 10px 4px;border-top:1px solid var(--line)}.teacher-sidebar-footer p{margin:0;color:var(--muted);font-size:.75rem}.teacher-workspace{min-width:0;padding:34px 38px 48px;background:#fbfcfd}.teacher-section{max-width:1160px;margin:0 auto}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h1{margin:.15rem 0 .35rem;color:var(--navy);font-size:1.75rem;line-height:1.2}.section-heading p{margin:0;color:var(--muted);max-width:740px}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.dashboard-heading{align-items:center}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:var(--shadow-soft)}.stat-card span,.stat-card small{display:block}.stat-card span{color:var(--muted);font-size:.78rem}.stat-card strong{display:block;margin:4px 0 2px;color:var(--navy);font-size:1.65rem;line-height:1.1}.stat-card small{color:#8a96a1;font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.surface-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px;box-shadow:var(--shadow-soft)}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.card-heading h2{margin:.1rem 0 .25rem;color:var(--navy);font-size:1.05rem}.card-heading p{margin:0;color:var(--muted);font-size:.86rem}.text-button{background:transparent;color:var(--blue);padding:5px 0;box-shadow:none;font-size:.82rem}.text-button:hover:not(:disabled){transform:none;box-shadow:none;text-decoration:underline}.subject-overview{display:grid;gap:9px}.subject-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd}.subject-code{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--blue-soft);color:var(--navy);font-weight:800}.subject-row b,.subject-row span{display:block}.subject-row b{color:#31475c;font-size:.9rem}.subject-row span{color:var(--muted);font-size:.76rem}.subject-count{text-align:right}.subject-count strong{display:block;color:var(--navy);font-size:1.05rem}.subject-count small{color:var(--muted);font-size:.7rem}.empty-state{padding:24px;text-align:center;border:1px dashed var(--line-strong);border-radius:11px;color:var(--muted);background:#fafcfd}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-actions button{min-height:105px;background:#f8fafc;border:1px solid var(--line);color:var(--text);text-align:left;padding:13px;box-shadow:none}.quick-actions button:hover{background:#eef4f8;border-color:#c5d5e1;transform:none;box-shadow:none}.quick-actions button>span{display:block;color:var(--blue);font-size:1.15rem}.quick-actions b,.quick-actions small{display:block}.quick-actions b{margin-top:6px;color:var(--navy);font-size:.84rem}.quick-actions small{margin-top:2px;color:var(--muted);font-size:.71rem}
.two-column-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.form-grid label,.field-label,.monitor-controls label{font-size:.8rem;font-weight:700;color:#45596c}.form-grid input,.form-grid select,.field-label input,.field-label select,.monitor-controls input,.monitor-controls select,.field-label textarea{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text);outline:none}.form-grid input:focus,.form-grid select:focus,.field-label input:focus,.field-label select:focus,.monitor-controls input:focus,.monitor-controls select:focus,.field-label textarea:focus{border-color:#83a8c4;box-shadow:0 0 0 3px rgba(47,110,158,.1)}.selected-group-summary{margin:13px 0;padding:13px;border-radius:10px;background:#f3f7fa;color:#41566a;font-size:.86rem}.compact-selector{margin-bottom:16px}.compact-selector .field-label{max-width:560px}.check-row{display:flex;align-items:flex-start;gap:8px;margin:10px 0 13px;color:#45596c;font-size:.84rem}.check-row input{margin-top:3px}.file-input{display:block;width:100%;padding:9px;border:1px dashed #afbfcc;border-radius:9px;background:#fbfcfd;margin:10px 0 12px}.table-card{margin-top:16px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}.roster-table{width:100%;border-collapse:collapse;min-width:760px}.roster-table th,.roster-table td{padding:10px 11px;border-bottom:1px solid #e8edf1;text-align:left;vertical-align:top}.roster-table th{background:#f6f8fa;color:#526477;font-size:.73rem;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.roster-table td{font-size:.84rem}.roster-table tr:last-child td{border-bottom:0}.roster-actions{display:flex;flex-wrap:wrap;gap:5px}.roster-actions button{padding:6px 8px;font-size:.75rem}.roster-actions select{padding:6px;border:1px solid var(--line-strong);border-radius:7px;font-size:.76rem;max-width:160px}.pill,.state-pill{display:inline-block;border-radius:999px;padding:3px 7px;font-size:.71rem;font-weight:800;background:#eef2f5;color:#5c6975}.pill.active,.state-pill.finalizado{background:#e8f5ed;color:#23633f}.pill.inactive,.state-pill.interrumpido{background:#fff8e8;color:#76591d}.pill.removed,.state-pill.bloqueado{background:#fff1f1;color:#783535}.state-pill.en_curso{background:#e8f1f8;color:var(--navy)}.state-pill.no_iniciado{background:#f1f3f5;color:#65717c}
.upload-card{margin-bottom:16px}.upload-copy{display:flex;align-items:flex-start;gap:13px}.upload-icon{width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:1.3rem;font-weight:700}.upload-copy h2{margin:0 0 4px;color:var(--navy);font-size:1.05rem}.upload-copy p{margin:0;color:var(--muted);font-size:.86rem}.upload-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:13px}.upload-controls .file-input{margin:0}.encounters-table{min-width:790px}
.monitor-controls-card{margin-bottom:14px}.monitor-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.monitor-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:13px 0}.monitor-metrics article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.monitor-metrics span{display:block;color:var(--muted);font-size:.72rem}.monitor-metrics b{display:block;margin-top:3px;color:var(--navy);font-size:1.4rem}.monitor-updated{text-align:right;margin-bottom:8px}.monitor-table{min-width:1260px}.monitor-table td{font-size:.8rem}.attention-row{background:#fffaf3}.text-bad{color:var(--bad);font-weight:700}
.student-legacy-card{max-width:1100px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow-soft)}.student-legacy-card h1{color:var(--navy);margin:.2rem 0 1rem}.subject-list{margin-top:14px}.subject-resource-group{margin-bottom:22px}.subject-resource-group>h3{color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:8px}.resource-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.resource-item{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fbfcfd}.resource-item h3{color:var(--navy);font-size:1rem}.resource-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px}.resource-meta>div{padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff}.resource-meta span,.resource-meta b{display:block}.resource-meta span{font-size:.7rem;color:var(--muted)}.resource-meta b{font-size:.8rem;color:#40566a}.resource-note{font-size:.8rem;color:var(--muted);margin-top:8px}.resource-actions{margin-top:10px}.resource-item.completed{background:#f4faf6}.resource-item.blocked{background:#fffaf0}
.attempt-dialog{width:min(980px,94vw);max-height:90vh;border:1px solid var(--line);border-radius:16px;padding:0;background:#f8fafb;color:var(--text)}.attempt-dialog::backdrop{background:rgba(15,27,38,.45)}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;background:#fff;border-bottom:1px solid var(--line)}.dialog-head h2{margin:.1rem 0;color:var(--navy)}.attempt-dialog>.readonly-grid,.attempt-dialog>.detail-columns,.attempt-dialog>.surface-card{margin-left:20px;margin-right:20px}.readonly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin-top:16px}.readonly-grid>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.readonly-grid span,.readonly-grid b{display:block}.readonly-grid span{font-size:.73rem;color:var(--muted)}.readonly-grid b{color:var(--navy);font-size:.9rem}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.detail-list{margin:.2rem 0;padding-left:1.2rem}.detail-list li{margin:6px 0}.audit-card{margin-top:12px}.audit-list{list-style:none;padding:0;margin:0;max-height:260px;overflow:auto}.audit-list li{padding:8px 0;border-bottom:1px solid var(--line)}.audit-list b{color:var(--navy);margin-right:6px}.audit-list span,.audit-list small{color:var(--muted);font-size:.78rem}.audit-list small{display:block;margin-top:2px}.unlock-card{margin-top:12px!important;margin-bottom:20px!important;background:#fffaf2}.unlock-card textarea{min-height:74px;resize:vertical}
@media(max-width:1100px){.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.monitor-controls{grid-template-columns:1fr 1fr}.monitor-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:840px){.public-main{padding:18px 14px 48px}.public-header-inner{padding:0 14px}.teacher-app{grid-template-columns:1fr;border-radius:14px}.teacher-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:10px;position:sticky;top:72px;z-index:25}.teacher-sidebar-title,.teacher-sidebar-footer{display:none}.teacher-nav{grid-template-columns:repeat(5,1fr);gap:4px}.teacher-nav-item{justify-content:center;padding:8px 5px;font-size:.72rem}.teacher-nav-item .nav-icon{display:none}.teacher-workspace{padding:24px 16px 40px}.two-column-layout,.detail-columns{grid-template-columns:1fr}.login-card{grid-template-columns:1fr;margin-top:24px}.login-copy,.login-action{padding:32px}.top-user-copy{display:none}}
@media(max-width:600px){.brand-copy small{display:none}.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-stats .stat-card{padding:13px}.stat-card strong{font-size:1.35rem}.quick-actions{grid-template-columns:1fr 1fr}.form-grid,.monitor-controls{grid-template-columns:1fr}.monitor-metrics{grid-template-columns:1fr 1fr}.upload-controls{grid-template-columns:1fr}.section-heading{display:block}.section-actions{margin-top:12px}.teacher-nav-item span:last-child{font-size:.66rem}.public-header{height:64px}.teacher-sidebar{top:64px}.login-copy h1{font-size:1.65rem}}

/* ===== Panel docente por asignatura · jerarquía visual y color ===== */
.teacher-app{--subject-accent:#2f6e9e;--subject-deep:#1d4f78;--subject-soft:#eaf2f8}
.teacher-app[data-subject="FI"]{--subject-accent:#23837d;--subject-deep:#17635e;--subject-soft:#e8f6f4}
.teacher-app[data-subject="FII"]{--subject-accent:#2f6e9e;--subject-deep:#1d4f78;--subject-soft:#eaf2f8}
.teacher-app[data-subject="FIII"]{--subject-accent:#765ba7;--subject-deep:#59417f;--subject-soft:#f1edf8}
.teacher-sidebar{background:linear-gradient(180deg,#153a5b 0%,#1d4f78 62%,#173e60 100%);border-right:0;box-shadow:8px 0 24px rgba(21,58,91,.08)}
.teacher-sidebar-title strong,.teacher-sidebar-title .teacher-kicker{color:#fff}.teacher-sidebar-title .teacher-kicker{opacity:.7}
.teacher-nav-item{color:#e7eff5}.teacher-nav-item:hover:not(:disabled){background:rgba(255,255,255,.10);color:#fff}.teacher-nav-item.active{background:#fff;color:var(--navy);box-shadow:0 5px 16px rgba(5,29,49,.16)}
.teacher-sidebar-footer{border-top:1px solid rgba(255,255,255,.16)}.teacher-sidebar-footer span{display:block;color:#bcd0df;font-size:.69rem;text-transform:uppercase;letter-spacing:.07em}.teacher-sidebar-footer p{margin:4px 0 0;color:#fff;font-size:.92rem;font-weight:800}
.teacher-workspace{background:linear-gradient(180deg,#f8fafc 0%,#fbfcfd 210px,#fbfcfd 100%)}
.subject-switcher-shell{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 auto 24px;max-width:1160px;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft)}
.subject-switcher-copy{min-width:210px}.subject-switcher-copy strong{display:block;color:var(--navy);font-size:.92rem}.subject-switcher-copy .eyebrow{margin-bottom:2px}
.subject-switcher{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:8px;flex:1;max-width:700px}.subject-switch-button{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 11px;background:#f7f9fb;border:1px solid var(--line);color:var(--text);text-align:left;box-shadow:none}.subject-switch-button:hover:not(:disabled){transform:none;box-shadow:none;background:#f0f5f8}.subject-switch-button .subject-roman{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;font-weight:900;background:#e9eef2;color:#49647b}.subject-switch-button b,.subject-switch-button small{display:block}.subject-switch-button b{font-size:.84rem;color:#31485d}.subject-switch-button small{font-size:.68rem;color:var(--muted);margin-top:1px}
.subject-switch-button[data-teacher-subject="FI"] .subject-roman{background:#e1f3f0;color:#17635e}.subject-switch-button[data-teacher-subject="FII"] .subject-roman{background:#e3eef6;color:#1d4f78}.subject-switch-button[data-teacher-subject="FIII"] .subject-roman{background:#ece5f6;color:#59417f}
.subject-switch-button[data-teacher-subject="FI"].active{background:linear-gradient(135deg,#23837d,#17635e);border-color:#17635e}.subject-switch-button[data-teacher-subject="FII"].active{background:linear-gradient(135deg,#3779aa,#1d4f78);border-color:#1d4f78}.subject-switch-button[data-teacher-subject="FIII"].active{background:linear-gradient(135deg,#8066af,#59417f);border-color:#59417f}.subject-switch-button.active b,.subject-switch-button.active small{color:#fff}.subject-switch-button.active small{opacity:.82}.subject-switch-button.active .subject-roman{background:rgba(255,255,255,.18);color:#fff}
.teacher-section .section-heading h1 span[data-current-subject-name]{color:var(--subject-accent)}
.dashboard-stats .stat-card{position:relative;overflow:hidden;border-top:3px solid var(--subject-accent)}.dashboard-stats .stat-card::after{content:"";position:absolute;right:-22px;top:-25px;width:80px;height:80px;border-radius:50%;background:var(--subject-soft);opacity:.8}.dashboard-stats .stat-card strong{position:relative;z-index:1}.stat-card.stat-subject{background:linear-gradient(145deg,#fff,var(--subject-soft))}.stat-card.stat-subject strong{font-size:1.18rem;color:var(--subject-deep);margin-top:7px}
.surface-card{border-color:#d7e0e7}.surface-card>.card-heading{border-bottom:1px solid #edf1f4;padding-bottom:12px}.card-heading .eyebrow{color:var(--subject-accent)}
.subject-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.subject-row.subject-panel-card{width:100%;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;background:#fff;color:var(--text);text-align:left;padding:14px;border:1px solid var(--line);box-shadow:none;position:relative}.subject-row.subject-panel-card:hover{transform:none;box-shadow:0 5px 16px rgba(21,58,91,.08);border-color:#b9cbd9}.subject-panel-card .subject-code{grid-row:1/3;width:46px;height:46px}.subject-panel-card>div:nth-child(2) b{font-size:.93rem}.subject-panel-card>div:nth-child(2) small{display:block;color:#85919d;font-size:.69rem;margin-top:3px}.subject-panel-card .subject-count{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:9px;border-top:1px solid #edf1f4;text-align:left}.subject-panel-card .subject-count strong{font-size:1.15rem}.subject-panel-card .subject-count small{margin-left:5px}.subject-panel-card .subject-count em{margin-left:auto;font-style:normal;font-size:.7rem;font-weight:800;color:var(--blue)}.subject-panel-card[data-teacher-subject-select="FI"] .subject-code{background:#e1f3f0;color:#17635e}.subject-panel-card[data-teacher-subject-select="FII"] .subject-code{background:#e3eef6;color:#1d4f78}.subject-panel-card[data-teacher-subject-select="FIII"] .subject-code{background:#ece5f6;color:#59417f}.subject-panel-card.active{border-width:2px;border-color:var(--subject-accent);background:linear-gradient(145deg,#fff,var(--subject-soft))}.subject-panel-card.active .subject-count em{color:var(--subject-deep)}
.quick-actions button{border-left:4px solid var(--subject-accent);background:linear-gradient(145deg,#fff,#f7fafc)}.quick-actions button>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--subject-soft);color:var(--subject-deep)}
.selected-group-summary{border-left:4px solid var(--subject-accent);background:var(--subject-soft)}
.form-grid select:disabled{background:#f0f4f6;color:#526678;border-color:#d6e0e7;opacity:1}
.roster-table th{background:var(--subject-soft);color:var(--subject-deep)}.upload-icon{background:var(--subject-soft);color:var(--subject-deep)}
.monitor-metrics article{border-top:3px solid var(--subject-accent)}
.teacher-section button:not(.secondary-button):not(.text-button):not(.subject-panel-card):not(.subject-switch-button):not(.teacher-nav-item):not(.ghost-button){background:var(--subject-deep)}
@media(max-width:1100px){.subject-switcher-shell{align-items:flex-start;flex-direction:column}.subject-switcher{width:100%;max-width:none}.subject-overview{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:840px){.teacher-sidebar{background:#153a5b}.subject-switcher-shell{margin-bottom:18px}.subject-switcher-copy{display:none}.subject-switcher{grid-template-columns:repeat(3,1fr)}.subject-switch-button{justify-content:center}.subject-switch-button>span:last-child small{display:none}.subject-overview{grid-template-columns:1fr}.teacher-nav-item.active{background:#fff;color:var(--navy)}}
@media(max-width:600px){.subject-switcher-shell{padding:9px}.subject-switch-button{padding:7px 5px;gap:5px;min-width:0}.subject-switch-button .subject-roman{width:30px;height:30px;flex-basis:30px}.subject-switch-button b{font-size:.72rem}.subject-switch-button>span:last-child{min-width:0}.dashboard-stats .stat-subject strong{font-size:1rem}}

/* ===== Ajuste visual · Acciones rápidas: mayor contraste y legibilidad ===== */
.quick-actions-card .card-heading h2{
  font-size:1.18rem;
  font-weight:800;
  color:#173a59;
}
.quick-actions{
  gap:12px;
}
.quick-actions button{
  min-height:124px;
  padding:16px 16px 15px;
  border:1px solid #cbd7e1;
  border-left:5px solid var(--subject-accent);
  background:#ffffff;
  color:#172332;
  box-shadow:0 2px 9px rgba(21,58,91,.055);
}
.quick-actions button:hover:not(:disabled){
  background:linear-gradient(145deg,#ffffff,var(--subject-soft));
  border-color:#aebfcd;
  border-left-color:var(--subject-deep);
  box-shadow:0 5px 16px rgba(21,58,91,.09);
  transform:translateY(-1px);
}
.quick-actions button>span{
  width:36px;
  height:36px;
  border-radius:10px;
  font-size:1.28rem;
  font-weight:800;
  background:var(--subject-soft);
  color:var(--subject-deep);
}
.quick-actions b{
  margin-top:9px;
  color:#173a59;
  font-size:1.02rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.005em;
}
.quick-actions small{
  margin-top:5px;
  color:#43576a;
  font-size:.82rem;
  line-height:1.38;
  font-weight:500;
}
@media(max-width:600px){
  .quick-actions button{min-height:116px;padding:14px}
  .quick-actions b{font-size:.96rem}
  .quick-actions small{font-size:.78rem}
}

/* ===== Corrección solicitada · Acciones rápidas: título negro + descripción blanca ===== */
.quick-actions button{
  background:linear-gradient(145deg,var(--subject-accent),var(--subject-deep)) !important;
  border-color:var(--subject-deep) !important;
  border-left-color:rgba(255,255,255,.82) !important;
  color:#fff !important;
}
.quick-actions button:hover:not(:disabled){
  background:linear-gradient(145deg,var(--subject-deep),var(--subject-accent)) !important;
  border-color:var(--subject-deep) !important;
  box-shadow:0 7px 18px rgba(21,58,91,.18);
}
.quick-actions button>span{
  background:rgba(255,255,255,.94) !important;
  color:var(--subject-deep) !important;
}
.quick-actions b{
  display:inline-block;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:4px 8px;
  border-radius:6px;
  background:rgba(255,255,255,.96);
  color:#050505 !important;
  font-size:1.04rem;
  line-height:1.25;
  font-weight:850;
}
.quick-actions small{
  display:block;
  margin-top:7px;
  color:#ffffff !important;
  font-size:.88rem;
  line-height:1.42;
  font-weight:650;
  text-shadow:0 1px 2px rgba(0,0,0,.20);
}
@media(max-width:600px){
  .quick-actions b{font-size:.98rem}
  .quick-actions small{font-size:.84rem}
}

/* ===== Vista estudiante para pruebas del docente ===== */
.teacher-preview-entry{margin-top:auto;padding:14px 12px 10px;border-top:1px solid rgba(255,255,255,.12)}
.teacher-preview-entry small{display:block;margin-top:7px;color:rgba(255,255,255,.72);font-size:.76rem;line-height:1.35}
.teacher-preview-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.42)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border-radius:10px;padding:10px 12px!important;font-weight:800;cursor:pointer}
.teacher-preview-button:hover{background:rgba(255,255,255,.20)!important}
.teacher-preview-button span{font-size:1rem}
.teacher-preview-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:16px;padding:14px 16px;border:1px solid #b9cddd;border-radius:14px;background:#eef5fa;box-shadow:0 2px 8px rgba(21,58,91,.06)}
.teacher-preview-banner.hide{display:none}
.teacher-preview-banner>div:first-child{display:grid;gap:2px}
.teacher-preview-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#456985}
.teacher-preview-banner b{font-size:1.12rem;color:#173a59}
.teacher-preview-banner small{color:#51677a;font-size:.9rem}
.teacher-preview-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.teacher-preview-actions button{white-space:nowrap}
.teacher-preview-status{grid-column:1/-1;margin:0}
@media(max-width:760px){.teacher-preview-banner{grid-template-columns:1fr}.teacher-preview-actions{justify-content:stretch}.teacher-preview-actions button{flex:1 1 210px}}
.teacher-preview-entry + .teacher-sidebar-footer{margin-top:0}
@media(max-width:840px){.teacher-preview-entry{display:none}}

/* ===== Panel del estudiante · diseño visual alineado con panel docente ===== */
.student-app{
  --student-accent:#2f6e9e;
  --student-deep:#1d4f78;
  --student-soft:#eaf2f8;
  display:grid;
  grid-template-columns:var(--sidebar) minmax(0,1fr);
  min-height:calc(100vh - 132px);
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
  overflow:hidden;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
}
.student-app[data-subject="FI"]{--student-accent:#23837d;--student-deep:#17635e;--student-soft:#e8f6f4}
.student-app[data-subject="FII"]{--student-accent:#2f6e9e;--student-deep:#1d4f78;--student-soft:#eaf2f8}
.student-app[data-subject="FIII"]{--student-accent:#765ba7;--student-deep:#59417f;--student-soft:#f1edf8}
.student-sidebar{
  background:linear-gradient(180deg,#153a5b 0%,#173f62 62%,#102f4b 100%);
  color:#fff;
  padding:25px 14px 20px;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.student-sidebar-title{padding:2px 11px 22px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px}
.student-sidebar-title strong{display:block;font-size:1.12rem;line-height:1.25;color:#fff;margin-top:3px}
.student-kicker{display:block;font-size:.70rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.70);font-weight:800}
.student-nav{display:grid;gap:6px}
.student-nav-item{
  width:100%;display:flex;align-items:center;gap:10px;text-align:left;
  background:transparent;color:rgba(255,255,255,.80);padding:11px 12px;border-radius:10px;box-shadow:none
}
.student-nav-item:hover:not(:disabled){transform:none;box-shadow:none;background:rgba(255,255,255,.10);color:#fff}
.student-nav-item.active{background:#fff;color:var(--student-deep);box-shadow:0 3px 10px rgba(0,0,0,.10)}
.student-nav-item .nav-icon{font-size:1rem}
.student-sidebar-footer{margin-top:auto;padding:17px 11px 3px;border-top:1px solid rgba(255,255,255,.12)}
.student-sidebar-footer span{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.62);font-weight:700}
.student-sidebar-footer p{margin:4px 0 0;color:#fff;font-weight:800;font-size:.9rem}
.student-workspace{min-width:0;padding:30px 36px 48px;background:#fbfcfd}
.student-section{max-width:1160px;margin:0 auto}
.student-subject-switcher-shell{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  max-width:1160px;margin:0 auto 22px;padding:14px 16px;background:#fff;
  border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft)
}
.student-subject-switcher-copy{min-width:230px}
.student-subject-switcher-copy strong{display:block;color:var(--navy);font-size:.89rem;line-height:1.3}
.student-subject-switcher{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;flex:1;max-width:700px}
.student-subject-button{
  display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;
  gap:0 10px;align-items:center;min-height:62px;padding:9px 11px;
  background:#f7f9fb;border:1px solid var(--line);color:var(--text);text-align:left;box-shadow:none
}
.student-subject-button:hover:not(:disabled){transform:none;box-shadow:none;background:#f0f5f8;border-color:#c4d2dd}
.student-subject-roman{grid-row:1/3;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#e8eef3;color:#425d73;font-size:.92rem;font-weight:900}
.student-subject-copy{min-width:0}.student-subject-copy b,.student-subject-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.student-subject-copy b{font-size:.84rem;color:#30475c}.student-subject-copy small{font-size:.68rem;color:#7b8996;margin-top:1px}
.student-subject-count{grid-column:2;font-size:.68rem;color:#6f7f8d;font-weight:700;margin-top:1px}
.student-subject-button[data-student-subject="FI"] .student-subject-roman{background:#e1f3f0;color:#17635e}
.student-subject-button[data-student-subject="FII"] .student-subject-roman{background:#e3eef6;color:#1d4f78}
.student-subject-button[data-student-subject="FIII"] .student-subject-roman{background:#ece5f6;color:#59417f}
.student-subject-button.active{background:linear-gradient(135deg,var(--student-accent),var(--student-deep));border-color:var(--student-deep);color:#fff}
.student-subject-button.active .student-subject-roman{background:rgba(255,255,255,.18);color:#fff}
.student-subject-button.active .student-subject-copy b,.student-subject-button.active .student-subject-copy small,.student-subject-button.active .student-subject-count{color:#fff}
.student-subject-button.active .student-subject-copy small,.student-subject-button.active .student-subject-count{opacity:.82}
.student-hero{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px;
  background:linear-gradient(135deg,#fff 0%,var(--student-soft) 100%);
  border:1px solid #d3dee7;border-top:4px solid var(--student-accent);border-radius:18px;
  padding:27px 29px;margin-bottom:16px;box-shadow:var(--shadow-soft);overflow:hidden;position:relative
}
.student-hero::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-70px;top:-85px;background:var(--student-accent);opacity:.07}
.student-hero-copy{position:relative;z-index:1}
.student-hero .eyebrow{color:var(--student-accent)}
.student-hero h1{margin:.15rem 0 .4rem;color:var(--navy);font-size:1.9rem;line-height:1.2;letter-spacing:-.02em}
.student-hero p{margin:0;color:#536679;font-size:.98rem;max-width:690px}
.student-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.student-hero-actions button:not(.secondary-button){background:var(--student-deep)}
.student-hero-actions .secondary-button{background:#fff;color:var(--student-deep);border:1px solid #c3d2de}
.student-hero-subject{position:relative;z-index:1;background:rgba(255,255,255,.88);border:1px solid #d4dfe7;border-radius:14px;padding:17px 18px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.student-hero-subject>span,.student-hero-subject>small,.student-hero-subject>em{display:block}
.student-hero-subject>span{font-size:.72rem;color:#71808e;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.student-hero-subject>strong{display:block;color:var(--student-deep);font-size:1.3rem;margin:4px 0 1px}
.student-hero-subject>small{color:#677786;font-size:.78rem;line-height:1.35}
.student-progress-track{height:8px;margin:14px 0 7px;border-radius:999px;background:#e2e8ed;overflow:hidden}
.student-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--student-accent),var(--student-deep));border-radius:inherit;transition:width .25s ease}
.student-hero-subject>em{font-size:.72rem;color:#617181;font-style:normal;font-weight:700}
.student-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}
.student-stat-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--student-accent);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow-soft);min-width:0}
.student-stat-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:var(--student-soft);color:var(--student-deep);font-size:1rem;font-weight:900}
.student-stat-card div{min-width:0}.student-stat-card small,.student-stat-card div>span{display:block}.student-stat-card small{color:#758391;font-size:.70rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.student-stat-card strong{display:block;color:var(--navy);font-size:1.55rem;line-height:1.05;margin:2px 0}.student-stat-card div>span{color:#8a96a1;font-size:.70rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.student-home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
.student-surface-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px;box-shadow:var(--shadow-soft)}
.student-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #edf1f4}
.student-card-heading h2{margin:.08rem 0 0;color:var(--navy);font-size:1.05rem}.student-card-heading .eyebrow{color:var(--student-accent)}
.student-text-button{background:transparent!important;color:var(--student-deep)!important;padding:5px 0;box-shadow:none!important;font-size:.80rem}.student-text-button:hover{transform:none!important;box-shadow:none!important;text-decoration:underline}
.student-next-step-card{border-left:4px solid var(--student-accent);border-radius:12px;padding:14px 15px;background:linear-gradient(145deg,#fff,var(--student-soft))}
.student-next-step-card .student-status-chip{float:right}.student-next-step-card>span{display:block;color:#73818e;font-size:.71rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.student-next-step-card h3{margin:.3rem 0 .25rem;color:var(--navy);font-size:1.06rem}.student-next-step-card p{margin:0 0 11px;color:#617182;font-size:.82rem}.student-next-step-card button{background:var(--student-deep);font-size:.82rem}
.student-grade-summary{display:grid;gap:10px}.student-grade-summary-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid #e1e7ec;border-radius:10px;background:#fbfcfd}.student-grade-summary-row span{color:#637383;font-size:.80rem}.student-grade-summary-row b{color:var(--student-deep);font-size:.88rem}.student-grade-summary-row.progress-row{grid-template-columns:1fr}.student-mini-track{height:7px;border-radius:999px;background:#e4eaef;overflow:hidden;margin-top:6px}.student-mini-track span{display:block;height:100%;border-radius:inherit;background:var(--student-accent)}
.student-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.student-section-heading h1{margin:.12rem 0 .32rem;color:var(--navy);font-size:1.68rem;line-height:1.2}.student-section-heading h1 span{color:var(--student-accent)}.student-section-heading p{margin:0;color:#657584;max-width:760px}.student-section-heading .eyebrow{color:var(--student-accent)}
.student-subject-badge{display:inline-flex;align-items:center;justify-content:center;min-width:96px;padding:8px 12px;border-radius:999px;background:var(--student-soft);color:var(--student-deep);font-size:.80rem;font-weight:850;border:1px solid #c7d7e2}
.student-encounter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.student-encounter-card{position:relative;background:#fff;border:1px solid #dce3e9;border-radius:16px;padding:18px 18px 16px;box-shadow:var(--shadow-soft);overflow:hidden;transition:.16s ease}
.student-encounter-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#c2ccd4}
.student-encounter-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(21,58,91,.09)}
.student-encounter-card.in-progress::before{background:var(--student-accent)}
.student-encounter-card.completed::before{background:#2e7d55}.student-encounter-card.blocked::before{background:#a77426}.student-encounter-card.not-started::before{background:#8b99a5}
.student-encounter-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.student-encounter-number{display:inline-flex;padding:4px 8px;border-radius:7px;background:var(--student-soft);color:var(--student-deep);font-size:.72rem;font-weight:850;letter-spacing:.02em}.student-status-chip{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:850;white-space:nowrap}.student-status-chip.not-started{background:#edf1f4;color:#596a78}.student-status-chip.in-progress{background:var(--student-soft);color:var(--student-deep)}.student-status-chip.completed{background:#eaf6ef;color:#286b45}.student-status-chip.blocked{background:#fff3dd;color:#7c5c1e}
.student-encounter-card h3{margin:.15rem 0 .45rem;color:#173a59;font-size:1.05rem;line-height:1.3}.student-encounter-note{min-height:38px;margin:0 0 13px;color:#637485;font-size:.81rem;line-height:1.45}
.student-encounter-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:13px}.student-encounter-details>span{display:block;padding:8px 9px;border:1px solid #e3e8ed;border-radius:9px;background:#fafcfd;min-width:0}.student-encounter-details small,.student-encounter-details b{display:block}.student-encounter-details small{color:#7d8994;font-size:.64rem;text-transform:uppercase;letter-spacing:.035em}.student-encounter-details b{margin-top:2px;color:#41566a;font-size:.75rem;overflow:hidden;text-overflow:ellipsis}.student-encounter-details .student-score{background:#edf8f1;border-color:#c7e1d0}.student-encounter-details .student-score b{color:#286b45;font-size:.86rem}
.student-encounter-action{display:flex;justify-content:flex-end}.student-encounter-action button{min-width:145px;background:var(--student-deep);font-size:.80rem}.student-encounter-card.completed .student-encounter-action button{background:#e9eef2;color:#64727e;box-shadow:none}
.student-empty-state{display:flex;flex-direction:column;gap:4px;grid-column:1/-1;padding:27px;text-align:center;border:1px dashed #bac7d1;border-radius:12px;color:#6a7987;background:#fafcfd}.student-empty-state b{color:#40566b;font-size:.9rem}.student-empty-state span{font-size:.78rem}
.student-progress-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:15px}.student-progress-overview article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--student-accent);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-soft)}.student-progress-overview small,.student-progress-overview span{display:block;color:#788693}.student-progress-overview small{font-size:.69rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.student-progress-overview strong{display:block;margin:4px 0 2px;color:var(--student-deep);font-size:1.6rem;line-height:1.05}.student-progress-overview span{font-size:.72rem}
.student-grades-card{padding:19px}.student-grade-list{display:grid;gap:9px}.student-grade-item{display:grid;grid-template-columns:70px minmax(0,1fr) 115px 92px;gap:12px;align-items:center;padding:12px 13px;border:1px solid #e0e6eb;border-radius:11px;background:#fbfcfd}.student-grade-item:hover{border-color:#c6d4df;background:#f8fbfd}.student-grade-number{width:58px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--student-soft);color:var(--student-deep);font-size:.74rem;font-weight:900}.student-grade-copy b,.student-grade-copy span{display:block}.student-grade-copy b{color:#334b61;font-size:.86rem}.student-grade-copy span{color:#7d8994;font-size:.71rem;margin-top:2px}.student-grade-state{font-size:.70rem;font-weight:800;color:#687987}.student-grade-value{text-align:right;color:#8b97a1;font-size:.82rem;font-weight:800}.student-grade-value.has-score{color:#286b45;font-size:1rem}.student-grade-value.low-score{color:#943b3b}
.student-preview-note{padding:9px 11px;border-radius:9px;background:#fff8e8;border:1px solid #e3d09f;color:#745b21;font-size:.77rem;margin-bottom:10px}
.student-app .teacher-preview-banner{max-width:1160px;margin:0 auto 16px}
.student-app .teacher-preview-actions button:not(.secondary-button){background:var(--student-deep)}
.student-app .teacher-preview-actions .secondary-button{background:#fff;color:var(--student-deep);border:1px solid #c5d5e1}
@media(max-width:1100px){
  .student-summary{grid-template-columns:repeat(2,1fr)}
  .student-home-grid{grid-template-columns:1fr}
  .student-encounter-grid{grid-template-columns:1fr}
  .student-subject-switcher-shell{align-items:flex-start;flex-direction:column}
  .student-subject-switcher{width:100%;max-width:none}
}
@media(max-width:840px){
  .student-app{grid-template-columns:1fr;border-radius:15px}
  .student-sidebar{min-height:auto;padding:12px 13px;background:#153a5b}
  .student-sidebar-title{display:none}
  .student-nav{grid-template-columns:repeat(3,1fr);gap:6px}
  .student-nav-item{justify-content:center;padding:9px 7px}.student-nav-item .nav-icon{display:none}
  .student-sidebar-footer{display:none}
  .student-workspace{padding:22px 18px 38px}
  .student-subject-switcher-copy{display:none}
  .student-subject-switcher{grid-template-columns:repeat(3,1fr)}
  .student-subject-button{display:flex;justify-content:center;min-width:0;gap:7px}.student-subject-count{display:none}.student-subject-copy small{display:none}
  .student-hero{grid-template-columns:1fr}.student-hero-subject{min-height:145px}
  .student-grade-item{grid-template-columns:60px minmax(0,1fr) 90px}.student-grade-state{display:none}
}
@media(max-width:600px){
  .student-workspace{padding:16px 12px 30px}
  .student-subject-switcher-shell{padding:9px;margin-bottom:14px}.student-subject-button{padding:7px 5px}.student-subject-roman{width:32px;height:32px;flex:0 0 32px}.student-subject-copy b{font-size:.71rem}
  .student-hero{padding:20px 18px}.student-hero h1{font-size:1.55rem}.student-hero-actions button{width:100%}
  .student-summary{grid-template-columns:1fr 1fr}.student-stat-card{padding:12px}.student-stat-icon{display:none}.student-stat-card strong{font-size:1.35rem}
  .student-section-heading{flex-direction:column}.student-section-heading h1{font-size:1.45rem}
  .student-encounter-details{grid-template-columns:1fr 1fr}.student-encounter-details .student-score{grid-column:1/-1}.student-encounter-action button{width:100%}
  .student-progress-overview{grid-template-columns:1fr}
  .student-grade-item{grid-template-columns:52px minmax(0,1fr) 78px;gap:8px;padding:10px}.student-grade-number{width:48px}.student-grade-copy b{font-size:.78rem}.student-grade-value{font-size:.74rem}
}
