.student-dashboard{--dash-panel:#0c2037;--dash-card:#102841;--dash-line:#29445f;--dash-text:#edf5ff;--dash-muted:#aac0d9;--dash-brand:#7cb3ff;display:grid;gap:22px;color:var(--dash-text);font-size:14px;line-height:1.75;min-width:0}
:root[data-theme="light"] .student-dashboard{--dash-panel:#fff;--dash-card:#f5f8fd;--dash-line:#dce6f3;--dash-text:#142b48;--dash-muted:#576e89;--dash-brand:#075be7}
.student-dashboard *{box-sizing:border-box;min-width:0}
.student-dashboard button{cursor:pointer;color:inherit}
.student-dashboard button:disabled{cursor:default;opacity:.48}
.student-dashboard button:focus-visible,.student-dashboard select:focus-visible{outline:3px solid #5ba5ff;outline-offset:3px}
.student-dashboard .ui-icon{width:21px;height:21px;flex:none}
.dash-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;border:1px solid #4d78b460;border-radius:22px;background:linear-gradient(115deg,#123b65,#0b2340 70%);color:#fff;box-shadow:0 12px 36px #00142a12}
:root[data-theme="light"] .dash-hero{background:linear-gradient(115deg,#e2edff,#f8fbff 74%);color:#102d50;border-color:#ccdffa}
.dash-welcome{display:flex;align-items:center;gap:18px;position:relative}
.dash-avatar{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#075be7;color:#fff;font-size:30px;font-weight:700;flex:none;box-shadow:0 9px 24px #075be72b}
.dash-welcome p,.dash-welcome h1{margin:0}
.dash-welcome p{color:var(--dash-brand);font-size:13px}
.dash-welcome h1{font-size:clamp(21px,2.1vw,30px);line-height:1.6;font-weight:700;letter-spacing:0}
.dash-welcome small{color:var(--dash-muted);font-size:12px}
.dash-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative}
.dash-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--dash-line);border-radius:11px;padding:10px 14px;background:var(--dash-card);font-size:13px;line-height:1.6;font-weight:700;text-decoration:none}
.dash-button:hover{border-color:#5e9aff}
.student-dashboard .dash-primary{background:#075be7;color:#fff;border-color:#075be7;box-shadow:0 6px 16px #075be71f}
.dash-quick-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dash-quick-nav button{display:inline-flex;gap:8px;align-items:center;padding:9px 14px;min-height:44px;border-radius:11px;border:1px solid var(--dash-line);background:var(--dash-panel);font-size:13px;font-weight:700}
.dash-quick-nav button:hover{color:var(--dash-brand);border-color:var(--dash-brand)}
.dash-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;scroll-margin-top:85px}
.dash-metric{position:relative;text-align:right;padding:17px 20px;background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:17px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;min-height:126px;box-shadow:0 7px 23px #061b3510}
.dash-metric-icon{grid-column:2;grid-row:1/4;display:grid;place-items:center;width:42px;height:42px;background:#075be717;color:var(--dash-brand);border-radius:13px}
.dash-metric strong{grid-column:1;font-size:32px;line-height:1.4;font-weight:700;font-variant-numeric:tabular-nums}
.dash-metric-label{grid-column:1;color:var(--dash-text);font-size:14px;line-height:1.75;font-weight:700}
.dash-metric-detail{grid-column:1;color:var(--dash-muted);font-size:12px;line-height:1.75}
.dash-panel{background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:19px;padding:22px;box-shadow:0 8px 26px #0018330b;scroll-margin-top:85px;min-width:0}
.dash-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.dash-panel-heading h2{display:flex;align-items:center;gap:9px;font-size:17px;line-height:1.65;margin:0;font-weight:700}
.dash-panel-heading h2 .ui-icon{color:var(--dash-brand)}
.dash-muted{font-size:11px;color:var(--dash-muted)}
.dash-learning-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:18px;align-items:start}
.dash-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dash-course-card{border:1px solid var(--dash-line);border-radius:14px;background:var(--dash-card);padding:17px;position:relative;overflow:hidden}
.dash-course-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#075be7}
.dash-course-title{display:flex;gap:10px;align-items:center}
.dash-course-title>span:first-child{color:var(--dash-brand);background:#075be717;width:39px;height:39px;display:grid;place-items:center;flex:none;border-radius:11px}
.dash-course-title>div{flex:1}.dash-course-title h3{font-size:15px;line-height:1.75;margin:0}.dash-course-title small{color:var(--dash-muted);font-size:11px}
.dash-active-text{color:var(--dash-brand);font-size:11px;font-weight:700;flex:none}
.dash-course-numbers{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between;color:var(--dash-muted);font-size:12px;margin:17px 0 13px}.dash-course-numbers strong{color:var(--dash-brand)}
.dash-course-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.dash-course-actions button{background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:9px;min-height:42px;padding:7px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:700}
.dash-course-actions .ui-icon{width:17px;height:17px;color:var(--dash-brand)}
.dash-course-actions button:hover{border-color:var(--dash-brand)}
.dash-text-button{border:0;background:transparent;color:var(--dash-brand)!important;font-size:12px;min-height:42px;padding:0;display:flex;align-items:center;gap:6px}
.dash-resume-row{display:flex;align-items:center;gap:12px;padding:15px 0;width:100%;border:0;border-bottom:1px solid var(--dash-line);background:transparent;text-align:right}
.dash-resume-row>span{flex:1}.dash-resume-row strong{display:block;font-size:13px;line-height:1.7}.dash-resume-row small{display:block;color:var(--dash-muted);font-size:11px;margin-top:4px}.dash-resume-row>.ui-icon{color:var(--dash-brand)}
.dash-resume-row:last-child{border-bottom:0}.dash-resume-row.draft{padding:14px;border-radius:12px;background:#075be712;border:1px solid #075be740;margin-bottom:10px}
.dash-result-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:13px}
.dash-result-filters label{font-size:12px;color:var(--dash-muted);display:grid;gap:5px}
.dash-result-filters select{color:var(--dash-text);background:var(--dash-card);border:1px solid var(--dash-line);border-radius:10px;min-height:44px;width:100%;padding:8px 11px;font-size:13px}
.dash-result-row,.dash-download-row{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--dash-line)}
.dash-result-row:last-child,.dash-download-row:last-child{border-bottom:0}
.dash-small-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;color:var(--dash-brand);background:#075be713;border-radius:12px}
.dash-result-copy,.dash-download-row>div:first-of-type{flex:1}
.dash-result-copy strong,.dash-download-row strong{font-size:14px;line-height:1.8;display:block}
.dash-result-copy small,.dash-download-row small{display:block;font-size:11px;color:var(--dash-muted);margin-top:3px}
.dash-result-score{text-align:center;display:grid;gap:5px;flex:none;min-width:90px}
.dash-result-score>strong{font-size:19px;color:var(--dash-brand);font-variant-numeric:tabular-nums}
.dash-status{border-radius:8px;display:inline-block;padding:3px 9px;font-size:11px;color:var(--dash-brand);background:#075be710}
.dash-status.state-failed,.dash-status.state-revision{color:#f28c9f;background:#d63d591b}
:root[data-theme="light"] .dash-status.state-failed,:root[data-theme="light"] .dash-status.state-revision{color:#b82943;background:#fff0f3}
.dash-status.state-review{color:#e1b368;background:#ba802118}
:root[data-theme="light"] .dash-status.state-review{color:#926012;background:#fff6df}
.student-dashboard .is-failed{color:#ef8097!important}
:root[data-theme="light"] .student-dashboard .is-failed{color:#ba2c47!important}
.dash-icon-button{padding:10px;flex:none}
.dash-project-note{padding:12px 15px;background:var(--dash-card);border-radius:10px;font-size:12px;color:var(--dash-muted);margin:13px 0 0}
.dash-download-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dash-download-actions .dash-button{font-size:11px}
.dash-download-status{font-size:13px;color:var(--dash-brand);margin:12px 0 0}.dash-download-status:empty{display:none}
.dash-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dash-timeline{list-style:none;padding:0;margin:0}
.dash-timeline li{display:flex;gap:13px;padding:11px 0;position:relative}
.dash-timeline li>span{flex:none;width:35px;height:35px;border-radius:11px;background:#075be711;display:grid;place-items:center;color:var(--dash-brand)}
.dash-timeline li:not(:last-child):after{content:"";position:absolute;right:17px;top:51px;bottom:-3px;width:1px;background:var(--dash-line)}
.dash-timeline strong{font-size:13px;display:block;line-height:1.75}
.dash-timeline small,.dash-timeline time{font-size:11px;display:block;color:var(--dash-muted)}
.dash-account-details{margin:0}.dash-account-details>div{padding:11px 0;border-bottom:1px solid var(--dash-line)}
.dash-account-details dt{font-size:11px;color:var(--dash-muted)}.dash-account-details dd{margin:3px 0 0;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.dash-account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.dash-empty{padding:20px 8px;color:var(--dash-muted);font-size:13px;line-height:1.8;text-align:center}
@media(max-width:1100px){.dash-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-hero{flex-wrap:wrap}.dash-metric{padding:15px 12px}.dash-metric-icon{width:34px;height:34px}.dash-learning-grid{grid-template-columns:1fr}.dash-resume-panel{grid-row:1}.dash-download-row{flex-wrap:wrap}.dash-download-actions{margin-inline-start:auto}}
@media(max-width:680px){.student-dashboard{gap:17px}.dash-hero{padding:21px 17px;border-radius:17px;gap:16px}.dash-avatar{width:47px;height:47px;font-size:25px;border-radius:15px}.dash-welcome{gap:12px}.dash-welcome h1{font-size:21px}.dash-hero-actions{width:100%}.dash-hero-actions .dash-button{flex:1}.dash-quick-nav{gap:7px}.dash-quick-nav button{font-size:12px;padding:8px 10px}.dash-quick-nav .ui-icon{width:17px;height:17px}.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-metric strong{font-size:27px}.dash-bottom-grid{grid-template-columns:1fr;gap:17px}.dash-panel{padding:19px 16px;border-radius:16px}.dash-panel-heading h2{font-size:16px}.dash-muted{font-size:10px}.dash-course-grid{grid-template-columns:1fr}.dash-course-card{padding:16px}.dash-course-actions button{min-height:44px;font-size:12px}.dash-result-filters{gap:8px;grid-template-columns:1fr 1fr}.dash-result-filters label:first-child{grid-column:1/-1}.dash-result-row{gap:9px;flex-wrap:wrap}.dash-result-copy{min-width:160px}.dash-result-score{min-width:78px}.dash-result-copy strong{font-size:13px}.dash-result-score>strong{font-size:18px}.dash-small-icon{width:35px;height:35px}.dash-download-actions{width:100%;justify-content:flex-start;margin:0}.dash-download-actions .dash-button{flex:1;min-width:110px}.dash-download-row>div:first-of-type{min-width:180px}.dash-panel-heading{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.student-dashboard *{scroll-behavior:auto}}
