/* AcademicKey Student UI V9.0 — final visual and responsive normalization. */
:root{
  --student-bg:#061a27;
  --student-panel:#0a2939;
  --student-panel-strong:#0c3447;
  --student-line:rgba(76,225,217,.18);
  --student-text:#edf9fb;
  --student-muted:#9cbac6;
  --student-accent:#45e2d7;
  --student-accent-ink:#042027;
  --student-radius:18px;
}

body:has(.student-workspace){background:radial-gradient(circle at 85% 0,rgba(35,203,199,.08),transparent 26rem),var(--student-bg)}
body:has(.student-workspace) .workspace.student-workspace{width:min(1240px,calc(100% - 32px));margin-inline:auto;padding-block:24px 42px}
body:has(.student-workspace) .page-head{align-items:flex-end;gap:18px;margin:0 0 18px;padding:0 2px 18px;border-bottom:1px solid var(--student-line)}
body:has(.student-workspace) .page-head h1{margin-block:4px 6px;font-size:clamp(1.75rem,3.4vw,2.65rem);line-height:1.12;letter-spacing:-.025em}
body:has(.student-workspace) .page-head p{max-width:760px;margin:0;color:var(--student-muted);line-height:1.65}
body:has(.student-workspace) .eyebrow{color:var(--student-accent);font-size:.72rem;font-weight:850;letter-spacing:.13em}

/* Calm, consistent surfaces — one rhythm across every student service. */
body:has(.student-workspace) .data-surface,
body:has(.student-workspace) .course-card,
body:has(.student-workspace) .marketplace-card,
body:has(.student-workspace) .dashboard-recent,
body:has(.student-workspace) .level-panel{
  border:1px solid var(--student-line)!important;
  border-radius:var(--student-radius)!important;
  background:linear-gradient(180deg,rgba(12,48,64,.96),rgba(8,35,48,.96))!important;
  box-shadow:0 12px 34px rgba(0,0,0,.12)!important;
}
body:has(.student-workspace) .data-surface{padding:20px!important;margin-block:14px!important}
body:has(.student-workspace) .course-grid{gap:14px!important}
body:has(.student-workspace) .marketplace-card{align-self:start!important;height:auto!important;min-height:0!important}
body:has(.student-workspace) .marketplace-card .course-cover{height:150px!important}
body:has(.student-workspace) .marketplace-card .course-body{padding:16px!important}
body:has(.student-workspace) .marketplace-card h3{margin:8px 0 5px;font-size:1.02rem;line-height:1.35}
body:has(.student-workspace) .marketplace-card p{margin:4px 0;color:var(--student-muted);font-size:.84rem}
body:has(.student-workspace) .student-course-tools{gap:7px!important;margin-top:12px!important}
body:has(.student-workspace) .student-course-tools a{min-height:40px!important;padding:8px 10px!important;border-radius:10px!important}

/* Dashboard: useful first, decorative second. */
body:has(.student-dashboard-v45) .student-command{grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:22px;padding:24px!important;border-radius:22px!important}
body:has(.student-dashboard-v45) .student-command h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.1}
body:has(.student-dashboard-v45) .dashboard-student-card{transform:none!important;max-width:350px;min-height:0!important}
body:has(.student-dashboard-v45) .dashboard-student-card .card-main{padding-block:12px!important}
body:has(.student-dashboard-v45) .dashboard-overview{gap:10px;margin:14px 0!important}
body:has(.student-dashboard-v45) .dashboard-overview>a{min-height:78px!important;padding:12px 14px!important;border-color:var(--student-line)!important;border-radius:14px!important;background:var(--student-panel)!important}
body:has(.student-dashboard-v45) .dashboard-overview span{font-size:23px!important}
body:has(.student-dashboard-v45) .dashboard-overview b{font-size:1.25rem!important}
body:has(.student-dashboard-v45) .student-quick-v45{margin:18px 0!important}
body:has(.student-dashboard-v45) .student-quick-v45>div{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important}
body:has(.student-dashboard-v45) .student-quick-v45 a{min-height:88px!important;padding:12px 8px!important;border-color:var(--student-line)!important;border-radius:14px!important;background:var(--student-panel)!important}
body:has(.student-dashboard-v45) .student-quick-v45 span{font-size:24px!important}
body:has(.student-dashboard-v45) .student-quick-v45 b{font-size:.78rem;line-height:1.3}
body:has(.student-dashboard-v45) .dashboard-focus{margin:14px 0!important;border-radius:15px!important}

/* Attendance stays unmistakable without taking over the full screen. */
body:has(.student-dashboard-v45) .live-attendance-zone{margin:14px 0 16px!important;gap:9px!important}
body:has(.student-dashboard-v45) .live-attendance-card{padding:17px 19px!important;border-radius:17px!important;gap:16px!important}
body:has(.student-dashboard-v45) .live-attendance-card h2{margin:5px 0 3px!important;font-size:clamp(1.05rem,2.2vw,1.35rem)!important}
body:has(.student-dashboard-v45) .live-attendance-card p{font-size:.82rem!important}
body:has(.student-dashboard-v45) .live-attendance-btn{min-width:176px!important;min-height:46px!important;border-radius:12px!important;padding:10px 14px!important}

/* Tables remain readable on small screens and never widen the page. */
body:has(.student-workspace) .table-wrap{max-width:100%;border-radius:14px!important;overflow:auto;-webkit-overflow-scrolling:touch}
body:has(.student-workspace) table{min-width:680px;font-size:.86rem}
body:has(.student-workspace) table th{position:sticky;top:0;z-index:1;padding:11px 12px!important;white-space:nowrap}
body:has(.student-workspace) table td{padding:11px 12px!important;vertical-align:middle}
body:has(.student-workspace) .metrics{gap:10px!important}
body:has(.student-workspace) .metrics article{min-height:90px;padding:15px!important;border-color:var(--student-line)!important;border-radius:14px!important;background:var(--student-panel)!important}
body:has(.student-workspace) .metrics strong{font-size:clamp(1.2rem,2.4vw,1.65rem)!important}

/* Desktop navigation: clear location, predictable dropdown. */
.student-nav-v5011312{top:72px;min-height:50px;padding-block:6px!important;border-color:var(--student-line)!important;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.student-nav-v5011312>a,.student-nav-v5011312 .student-nav-more>summary{min-height:38px;border:1px solid transparent}
.student-nav-v5011312>a:hover,.student-nav-v5011312 .student-nav-more>summary:hover{border-color:var(--student-line);background:rgba(69,226,215,.08)}
.student-nav-v5011312>a.is-here,.student-nav-v5011312 .student-nav-more>summary.is-here{background:var(--student-accent)!important;color:var(--student-accent-ink)!important;box-shadow:none!important}
.student-nav-more>div{border:1px solid var(--student-line)!important;border-radius:16px!important;background:#082536!important;box-shadow:0 22px 50px rgba(0,0,0,.35)!important}

/* Keyboard and reduced-motion support. */
body:has(.student-workspace) :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid rgba(69,226,215,.72)!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){body:has(.student-workspace) *,body:has(.student-workspace) *:before,body:has(.student-workspace) *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:920px){
  body:has(.student-dashboard-v45) .student-command{grid-template-columns:1fr!important}
  body:has(.student-dashboard-v45) .dashboard-student-card{width:100%;max-width:520px;margin-inline:auto}
  body:has(.student-dashboard-v45) .student-quick-v45>div{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:720px){
  body:has(.student-workspace) .workspace.student-workspace{width:min(100% - 20px,1240px);padding-block:16px calc(92px + env(safe-area-inset-bottom,0px))}
  body:has(.student-workspace) .page-head{align-items:flex-start;flex-direction:column;padding-bottom:14px}
  body:has(.student-workspace) .page-head .head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body:has(.student-workspace) .page-head .head-actions .btn{width:100%}
  body:has(.student-workspace) .data-surface{padding:14px!important;border-radius:15px!important}
  body:has(.student-workspace) .marketplace-grid{grid-template-columns:1fr!important}
  body:has(.student-workspace) .marketplace-card .course-cover{height:136px!important}
  body:has(.student-dashboard-v45) .student-command{padding:18px 15px!important;border-radius:18px!important}
  body:has(.student-dashboard-v45) .dashboard-student-card{display:none!important}
  body:has(.student-dashboard-v45) .dashboard-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:has(.student-dashboard-v45) .student-quick-v45>div{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:has(.student-dashboard-v45) .student-quick-v45 a{min-height:78px!important}
  body:has(.student-dashboard-v45) .live-attendance-card{grid-template-columns:1fr!important;padding:15px!important}
  body:has(.student-dashboard-v45) .live-attendance-btn{width:100%;min-width:0!important}
  body:has(.student-workspace) .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:has(.student-workspace) table{font-size:.8rem}
  .student-mobile-nav-v5011312{grid-template-columns:repeat(5,minmax(0,1fr))!important;min-height:66px!important;padding:5px 4px calc(6px + env(safe-area-inset-bottom,0px))!important;background:rgba(5,25,38,.96)!important;border-color:var(--student-line)!important}
  .student-mobile-nav-v5011312>a,.student-mobile-nav-v5011312 summary{min-height:54px!important;border-radius:12px!important}
  .student-mobile-nav-v5011312 .student-emoji-icon{font-size:20px!important}
  .student-mobile-nav-v5011312 span{font-size:9px!important}
  .student-mobile-nav-v5011312 .student-more-sheet{max-height:min(74vh,620px);overflow:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:420px){
  body:has(.student-dashboard-v45) .student-quick-v45>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:has(.student-workspace) .metrics{grid-template-columns:1fr 1fr!important}
  body:has(.student-workspace) .metrics article{min-height:80px}
  body:has(.student-workspace) .page-head .head-actions{grid-template-columns:1fr}
}
