/* Student dashboard refresh. Shared navigation is styled in its PHP includes. */
.student-dashboard .dash-attendance-percent{font-size:29px;font-weight:800;color:var(--results-accent,#14532d)}.student-dashboard .dash-attendance-progress{height:8px;border-radius:10px;background:var(--results-light,#e8f5ee);overflow:hidden;margin:9px 0 12px}.student-dashboard .dash-attendance-progress>div{height:100%;background:var(--results-primary,#1a6b3c)}.student-dashboard .dash-attendance-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-dashboard .dash-attendance-counts>div{min-width:0;padding:10px 5px;text-align:center;border:1px solid var(--results-border,#d0e8d0);border-radius:9px;background:var(--results-soft,#f5f9f6)}.student-dashboard .dash-attendance-counts span{display:block;font-size:11px;color:#607486;margin-bottom:5px}.student-dashboard .dash-attendance-counts strong{display:block;font-size:21px;color:var(--results-accent,#14532d);line-height:1.2}.student-dashboard .dash-attendance-warning{margin-top:12px;font-size:12px;line-height:1.5;color:#92400e}.student-dashboard .dash-attendance-history{margin-top:14px;font-size:12px}.student-dashboard .dash-attendance-history summary{cursor:pointer;color:var(--results-accent,#14532d);font-weight:700}.student-dashboard .dash-attendance-history>div{display:flex;justify-content:space-between;gap:10px;margin-top:10px;line-height:1.5}.student-dashboard .dashboard-grid>*{min-width:0}.student-dashboard .hero-identity{min-width:0}.student-dashboard .hero-identity h2,.student-dashboard .hero-identity p{overflow-wrap:anywhere}
body.student-dashboard{background:var(--results-page,#e8ede9);color:#183247}
.student-dashboard .portal-wrap{max-width:1170px;padding:26px 36px 90px}
.student-dashboard .dash-intro{display:flex;align-items:end;justify-content:space-between;margin:0 0 20px}
.student-dashboard .dash-date{color:var(--results-accent,#14532d);text-transform:uppercase;letter-spacing:1.3px;font-size:11px;font-weight:800;margin-bottom:5px}
.student-dashboard .dash-intro h1{font-size:29px;line-height:1.15;letter-spacing:-.7px;margin:0 0 5px;color:#183247}
.student-dashboard .dash-intro p{color:#607486;font-size:13px;margin:0}
.student-dashboard .hero{background:linear-gradient(110deg,var(--dash-dark),var(--dash-accent));border:0;border-radius:18px;padding:26px 30px;margin-bottom:19px;min-height:128px;box-shadow:0 13px 25px rgba(12,79,68,.13);display:flex;align-items:center;justify-content:space-between;gap:24px}
.student-dashboard .hero:after{content:"";position:absolute;width:290px;height:290px;right:-105px;top:-165px;border:55px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.student-dashboard .hero-main{display:flex;align-items:center;gap:17px;min-width:0;z-index:1}
.student-dashboard .hero-passport{width:76px;height:76px;border:2px solid rgba(255,255,255,.4);border-radius:17px;background:var(--results-light,#e8f5ee);color:var(--results-accent,#14532d);display:grid;place-items:center;font-size:24px;font-weight:800;flex:none}
.student-dashboard .hero-passport img{width:100%;height:100%;object-fit:cover}
.student-dashboard .hero-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#d9eee8;font-weight:800}
.student-dashboard .hero-identity h2{font-family:inherit;font-size:24px;letter-spacing:-.5px;line-height:1.15;margin:3px 0 5px;color:#fff}
.student-dashboard .hero-identity p{opacity:1;color:#e1f1ee;font-size:13px;margin:0}
.student-dashboard .hero-meta{z-index:1;text-align:right;min-width:190px}
.student-dashboard .hero-term{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:7px 11px;font-size:12px;font-weight:700}
.student-dashboard .hero-meta small{display:block;color:#e0f0ea;margin-top:9px;font-size:12px}
.student-dashboard .hero-mobile-school,.student-dashboard .hero-mobile-meta{display:none}
.student-dashboard .dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 23px}
.student-dashboard .dash-stat{display:block;background:#fff;border:1px solid var(--results-border,#d0e8d0);border-radius:14px;padding:16px 17px;min-width:0;color:#183247;text-decoration:none;box-shadow:0 3px 12px rgba(25,65,69,.025)}
.student-dashboard a.dash-stat:hover{border-color:var(--results-primary,#1a6b3c);box-shadow:0 6px 18px rgba(22,93,83,.1)}
.student-dashboard .dash-stat span{display:block;color:#607486;text-transform:uppercase;letter-spacing:.2px;font-size:11px;font-weight:800}
.student-dashboard .dash-stat strong{display:block;font-size:27px;line-height:1;letter-spacing:-.6px;margin:8px 0 4px;color:var(--results-accent,#14532d)}
.student-dashboard .dash-stat small{display:block;font-size:11px;color:#607486;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.student-dashboard .dash-stat:last-child strong{color:var(--results-accent,#14532d)}
.student-dashboard .dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px;align-items:start}
.student-dashboard .dash-actions{grid-column:1;grid-row:1}
.student-dashboard .dash-charts{grid-column:1;grid-row:2}
.student-dashboard .dash-attendance{grid-column:2;grid-row:1}
.student-dashboard .dash-calendar{grid-column:2;grid-row:2}
.student-dashboard .dash-panel,.student-dashboard .dashboard-grid .card,.student-dashboard .dash-calendar>div{background:#fff;border:1px solid var(--results-border,#d0e8d0);border-radius:15px;box-shadow:0 3px 12px rgba(25,65,69,.025)}
.student-dashboard .dash-panel{padding:20px}
.student-dashboard .dash-panel-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:17px}
.student-dashboard .dash-panel-head h3{font-size:16px;color:#183247;line-height:1.2;margin:0 0 4px}
.student-dashboard .dash-panel-head p{font-size:12px;color:#607486;margin:0}
.student-dashboard .dash-panel-head a{font-size:12px;font-weight:700;color:var(--results-accent,#14532d);white-space:nowrap}
.student-dashboard .dash-attention{background:var(--results-soft,#f5f9f6);border:1px solid var(--results-border,#d0e8d0);border-radius:12px;padding:15px;display:flex;align-items:center;gap:13px}
.student-dashboard .dash-attention-icon{width:38px;height:38px;border-radius:10px;background:var(--results-light,#e8f5ee);color:var(--results-accent,#14532d);display:grid;place-items:center;flex:none;font-size:18px;font-weight:800}
.student-dashboard .dash-attention strong{font-size:13px;display:block}
.student-dashboard .dash-attention span{font-size:12px;color:#58766e;display:block;margin-top:2px}
.student-dashboard .action-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px;margin:11px 0 0!important}
.student-dashboard .action-card{align-items:flex-start;text-align:left;gap:3px;background:#fff;border:1px solid var(--results-border,#d0e8d0);border-radius:10px;box-shadow:none;min-height:79px;padding:11px 12px;color:#183247}
.student-dashboard .action-card:hover{transform:none;border-color:var(--results-primary,#1a6b3c);box-shadow:0 4px 12px rgba(22,93,83,.08)}
.student-dashboard .action-card .icon{height:21px;color:var(--results-accent,#14532d)}
.student-dashboard .action-card .icon svg{width:19px!important;height:19px!important}
.student-dashboard .action-card .title{font-size:12px;color:#183247}
.student-dashboard .action-card .desc{display:block;font-size:10px;color:#607486}
.student-dashboard .dash-more-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.student-dashboard .dash-more-actions a{font-size:12px;color:var(--results-accent,#14532d);font-weight:700;text-decoration:none}
.student-dashboard .dashboard-grid .card{overflow:hidden;margin-bottom:18px!important}
.student-dashboard .dashboard-grid .card-header{padding:17px 20px;border-bottom:1px solid #e8eef0}
.student-dashboard .dashboard-grid .card-header h3{font-size:16px;color:#183247}
.student-dashboard .dash-calendar>div{padding:18px!important;margin-bottom:0!important}
.student-dashboard .dash-calendar>div>div:first-child{margin-bottom:14px!important}
.student-dashboard .dash-calendar>div>div:first-child span[style*="font-weight:700"]{font-size:16px!important;color:#183247!important}
.student-dashboard .dash-attendance .card{margin-bottom:0!important}
.student-dashboard .dash-charts .card{margin-bottom:18px!important}
.student-dashboard .dash-charts .card-header{cursor:pointer}
.student-dashboard .dash-charts canvas{max-width:100%}
.student-dashboard .dash-alumni{margin-bottom:19px}
.student-dashboard .dash-footer{text-align:center;padding:16px;color:#8aa0aa;font-size:11px}
html.stu-dark body.student-dashboard{background:#0f172a;color:#e2e8f0}
html.stu-dark .student-dashboard .dash-intro h1,html.stu-dark .student-dashboard .dash-panel-head h3,html.stu-dark .student-dashboard .dashboard-grid .card-header h3{color:#f1f5f9}
html.stu-dark .student-dashboard .dash-intro p,html.stu-dark .student-dashboard .dash-panel-head p{color:#9fb1be}
html.stu-dark .student-dashboard .dash-stat,html.stu-dark .student-dashboard .dash-panel,html.stu-dark .student-dashboard .dash-calendar>div{background:#1e293b;border-color:#334155;color:#f1f5f9}
html.stu-dark .student-dashboard .dash-stat span,html.stu-dark .student-dashboard .dash-stat small{color:#a7b8c4}
html.stu-dark .student-dashboard .dash-attention{background:#163c37;border-color:#27665a;color:#e2f7ef}
html.stu-dark .student-dashboard .dash-attention span{color:#b4d4c9}
html.stu-dark .student-dashboard .action-card{background:#26374b;border-color:#405169}
html.stu-dark .student-dashboard .action-card .title{color:#f1f5f9}
html.stu-dark .student-dashboard .action-card .desc{color:#a7b8c4}
@media(max-width:1050px){.student-dashboard .portal-wrap{padding:24px 24px 90px}.student-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}}
@media(max-width:768px){
  .student-dashboard .portal-wrap{padding:18px 16px 88px}
  .student-dashboard .dash-intro{margin-bottom:15px}
  .student-dashboard .dash-intro h1{font-size:23px}
  .student-dashboard .dash-intro p{font-size:12px}
  .student-dashboard .hero{display:block;background:linear-gradient(180deg,var(--dash-accent),var(--dash-dark));border:1px solid rgba(0,0,0,.3);border-top:2px solid rgba(255,255,255,.25);border-radius:14px;padding:22px 24px;margin-bottom:16px;box-shadow:0 4px 14px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.15)}
  .student-dashboard .hero:after{display:none}
  .student-dashboard .hero-main{gap:15px;margin-bottom:16px}
  .student-dashboard .hero-passport{width:86px;height:86px;border-radius:18px;background:rgba(255,255,255,.1);color:#fff;font-size:27px}
  .student-dashboard .hero-label{display:none}
  .student-dashboard .hero-identity h2{font-size:18px;margin:0 0 3px}
  .student-dashboard .hero-identity p{font-size:12px;color:#dce9ee}
  .student-dashboard .hero-meta{display:none}
  .student-dashboard .hero-mobile-school{display:block;text-align:center;color:#e9eff4;font-size:13px;font-weight:700;margin-bottom:14px}
  .student-dashboard .hero-mobile-meta{display:flex;border-top:1px solid rgba(255,255,255,.18);padding-top:12px;gap:6px 10px;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center;color:#e2edf2;font-size:11px;font-weight:700}
  .student-dashboard .hero-mobile-meta span:not(:last-child){padding-right:10px;border-right:1px solid rgba(255,255,255,.25)}
  .student-dashboard .hero-mobile-meta #dash-clock{font-weight:500;color:#d1e3e8}
  .student-dashboard .dash-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}
  .student-dashboard .dash-stat{padding:13px}
  .student-dashboard .dash-stat span{font-size:10px}
  .student-dashboard .dash-stat strong{font-size:22px}
  .student-dashboard .dashboard-grid{display:flex;flex-direction:column;gap:12px}
  .student-dashboard .dash-actions,.student-dashboard .dash-charts,.student-dashboard .dash-attendance,.student-dashboard .dash-calendar{width:100%}
  .student-dashboard .dash-actions{order:1}.student-dashboard .dash-charts{order:2}.student-dashboard .dash-attendance{order:3}.student-dashboard .dash-calendar{order:4}
  .student-dashboard .dash-panel{padding:16px}
  .student-dashboard .action-grid{gap:6px}
  .student-dashboard .action-card{padding:9px;min-height:82px}
  .student-dashboard .action-card .desc{font-size:9px}
  .student-dashboard .dashboard-grid .card{margin-bottom:0!important}
  .student-dashboard .dash-charts .card{margin-bottom:12px!important}
}
@media(max-width:380px){.student-dashboard .hero-passport{width:72px;height:72px}.student-dashboard .hero-identity h2{font-size:16px}.student-dashboard .hero{padding:18px}}
@media print{.student-dashboard .dash-stats,.student-dashboard .dash-intro,.student-dashboard .dash-actions,.student-dashboard .dash-calendar{display:none!important}}

.student-dashboard .stu-topbar .stu-tb-btn{border-color:var(--results-border);color:var(--results-accent)}.student-dashboard .term-btn{border-color:var(--results-border)}.student-dashboard .term-btn:hover{background:var(--results-light)}
html.stu-dark .student-dashboard .dash-stat,html.stu-dark .student-dashboard .dash-panel,html.stu-dark .student-dashboard .dash-calendar>div{background:#1e293b;border-color:#334155;color:#e2e8f0}html.stu-dark .student-dashboard .dash-intro h1,html.stu-dark .student-dashboard .dash-panel-head h3{color:#e2e8f0}html.stu-dark .student-dashboard .dash-attention{background:#26374b;border-color:#405169}html.stu-dark .student-dashboard .dash-stat strong,html.stu-dark .student-dashboard .dash-more-actions a,html.stu-dark .student-dashboard .action-card .icon,html.stu-dark .student-dashboard .dash-panel-head a,html.stu-dark .student-dashboard .dash-date,html.stu-dark .student-dashboard .stu-topbar .stu-tb-btn{color:var(--results-light)}

html.stu-dark .student-dashboard .dash-attendance-counts>div{background:#26374b;border-color:#405169}html.stu-dark .student-dashboard .dash-attendance-counts span{color:#a7b8c4}html.stu-dark .student-dashboard .dash-attendance-counts strong,html.stu-dark .student-dashboard .dash-attendance-percent,html.stu-dark .student-dashboard .dash-attendance-history summary{color:var(--results-light,#c5e1ce)}html.stu-dark .student-dashboard .dash-attendance-warning{color:#fbbf24}
