@import url("../glass-system-v1/tokens.css?v=aurora-components-10");

:root{color-scheme:dark}
body.student-cabinet-body{margin:0;min-height:100vh;background:#030b19;color:#eaf2ff}
.student-shell{
  --student-bg:var(--linea-surface-page);
  --student-panel:var(--linea-glass-panel);
  --student-panel-strong:var(--linea-glass-panel-strong);
  --student-panel-soft:var(--linea-glass-panel-soft);
  --student-line:var(--linea-glass-line);
  --student-line-strong:var(--linea-glass-line-strong);
  --student-text:var(--linea-text-primary);
  --student-muted:var(--linea-text-subtle);
  --student-blue:var(--linea-aurora-blue);
  --student-green:#55c9a1;
  position:relative;
  isolation:isolate;
  min-height:100svh;
  overflow-x:hidden;
  color:var(--student-text);
  background:transparent;
  padding-bottom:26px;
}
.student-shell-bg{position:fixed;inset:0;z-index:-3;pointer-events:none;background:
  radial-gradient(ellipse at 72% -8%,rgba(27,95,180,.42),transparent 48%),
  radial-gradient(ellipse at 18% 75%,rgba(111,50,181,.28),transparent 44%),
  radial-gradient(ellipse at 96% 68%,rgba(22,114,196,.22),transparent 40%),
  linear-gradient(180deg,#030b19 0%,#051123 46%,#030b19 100%)}
.student-shell-bg:before,.student-shell-bg:after{content:"";position:absolute;left:-12vw;right:-12vw;border-radius:50%;filter:blur(1px);pointer-events:none}
.student-shell-bg:before{top:26vh;height:34vh;border-top:1px solid rgba(92,155,255,.36);background:linear-gradient(180deg,rgba(28,83,168,.12),rgba(75,55,177,.13) 48%,transparent 82%);transform:rotate(-4deg)}
.student-shell-bg:after{top:47vh;height:30vh;border-top:1px solid rgba(160,92,255,.24);background:linear-gradient(180deg,rgba(71,63,180,.08),transparent 72%);transform:rotate(5deg)}

.student-top{
  position:sticky;
  top:0;
  z-index:90;
  width:min(1180px,calc(100% - 28px));
  margin:14px auto 0;
  padding:13px 16px;
  border:1px solid var(--student-line);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(15,34,58,.88),rgba(8,23,42,.76));
  box-shadow:0 14px 44px rgba(0,0,0,.22),inset 0 1px 0 rgba(207,231,255,.06);
  backdrop-filter:blur(var(--linea-glass-blur-soft)) saturate(var(--linea-glass-saturation-max));
  -webkit-backdrop-filter:blur(var(--linea-glass-blur-soft)) saturate(var(--linea-glass-saturation-max));
}
.student-brand{display:flex;align-items:center;gap:13px;color:var(--student-text);text-decoration:none;min-width:0}
.student-brand img{display:block;width:clamp(125px,15vw,170px);height:auto}
.student-brand>span{padding-left:13px;border-left:1px solid rgba(148,187,232,.22);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#91a9c7;white-space:nowrap}
.student-account{display:flex;align-items:center;gap:12px;min-width:0}
.student-account strong{max-width:min(30vw,280px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#d9e8fb;font-weight:650}
.student-logout{margin:0!important;padding:8px 11px;border:1px solid var(--student-line);border-radius:10px;color:#adc6e5!important;text-decoration:none!important;font-size:11px;background:rgba(32,67,104,.28);transition:.18s}
.student-logout:hover{background:rgba(49,91,137,.42);border-color:var(--student-line-strong);color:#fff!important}

.student-nav{
  position:sticky;
  top:84px;
  z-index:80;
  width:max-content;
  max-width:calc(100% - 28px);
  margin:14px auto 0;
  padding:5px;
  display:flex;
  gap:4px;
  overflow:auto;
  border:1px solid var(--student-line);
  border-radius:16px;
  background:var(--linea-nav-surface);
  box-shadow:0 10px 34px rgba(0,0,0,.2);
  backdrop-filter:blur(var(--linea-nav-glass-blur)) saturate(var(--linea-glass-saturation-max));
  -webkit-backdrop-filter:blur(var(--linea-nav-glass-blur)) saturate(var(--linea-glass-saturation-max));
}
.student-nav button{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid transparent!important;
  border-radius:11px!important;
  padding:9px 15px!important;
  background:transparent!important;
  color:var(--linea-nav-text)!important;
  font-weight:650!important;
  white-space:nowrap;
  transition:.18s;
}
.student-nav button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.student-nav button:hover{color:var(--linea-nav-text-hover)!important;background:var(--linea-nav-hover-bg)!important;border-color:var(--linea-nav-hover-border)!important;box-shadow:var(--linea-nav-hover-shadow)}
.student-nav button.active{color:var(--linea-nav-text-active)!important;background:var(--linea-nav-active-bg)!important;border-color:var(--linea-nav-active-border)!important;box-shadow:var(--linea-nav-active-shadow)}

.student-main{width:min(1180px,calc(100% - 28px));max-width:none!important;margin:18px auto 0!important;padding:0 0 58px!important;position:relative;z-index:1}
.student-shell .page-head{margin:0 0 15px;color:var(--student-text)}
.student-shell .page-head h1{color:#f3f8ff;font-weight:540;letter-spacing:-.035em}
.student-shell .eyebrow{color:#6eb8ff}
.student-shell .muted{color:var(--student-muted)!important}
.student-shell .card{
  color:var(--student-text);
  background:linear-gradient(145deg,var(--student-panel),rgba(8,23,42,.7))!important;
  border:1px solid var(--student-line)!important;
  box-shadow:0 16px 45px rgba(0,0,0,.17),inset 0 1px 0 rgba(216,234,255,.045)!important;
  backdrop-filter:blur(var(--linea-glass-blur-subtle)) saturate(var(--linea-glass-saturation-strong));
  -webkit-backdrop-filter:blur(var(--linea-glass-blur-subtle)) saturate(var(--linea-glass-saturation-strong));
}
.student-shell .card h1,.student-shell .card h2,.student-shell .card h3,.student-shell .card strong{color:#f3f8ff}
.student-shell .student-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 5%,rgba(83,157,255,.24),transparent 37%),
    linear-gradient(128deg,rgba(22,73,131,.88),rgba(27,45,93,.8) 56%,rgba(53,36,91,.78))!important;
  border-color:rgba(94,161,239,.32)!important;
}
.student-shell .student-hero:after{content:"";position:absolute;right:-70px;bottom:-100px;width:280px;height:220px;border-radius:50%;border:1px solid rgba(100,174,255,.28);box-shadow:0 0 70px rgba(66,123,255,.15);pointer-events:none}
.student-shell .student-hero h1{position:relative;z-index:1;font-size:clamp(30px,4vw,48px);font-weight:420;letter-spacing:-.04em}
.student-shell .student-public-labels{position:relative;z-index:1}

.student-shell .session-row,.student-shell .list-row{
  border-bottom-color:rgba(125,158,199,.15)!important;
  color:#e6f0fd;
}
.student-shell .session-row{padding:12px 0}
.student-shell .session-time{color:#7dbbff}
.student-shell .grow small{color:#8fa7c5!important}
.student-shell .session-type-legend{opacity:.92}
.student-shell .session-type-badge{border-color:rgba(119,158,204,.24)!important;background:rgba(29,61,99,.38)!important;color:#bdd2eb!important}

.student-shell .btn{
  border-color:var(--student-line)!important;
  background:rgba(22,48,79,.7)!important;
  color:#dcecff!important;
  box-shadow:none!important;
}
.student-shell .btn:hover{border-color:var(--student-line-strong)!important;background:rgba(35,72,113,.78)!important}
.student-shell .btn.primary{
  color:#fff!important;
  border-color:rgba(99,173,255,.46)!important;
  background:linear-gradient(108deg,#1594ef,#176be7 58%,#314edc)!important;
  box-shadow:0 0 22px rgba(17,118,244,.18)!important;
}
.student-shell .badge{background:rgba(56,83,115,.48);color:#c7d8eb;border:1px solid rgba(139,172,210,.16)}
.student-shell .badge.green{background:rgba(21,105,82,.28);color:#8de1c2;border-color:rgba(92,204,164,.2)}
.student-shell .badge.blue{background:rgba(29,101,151,.3);color:#9cd5ff;border-color:rgba(91,176,236,.2)}
.student-shell .badge.orange,.student-shell .badge.amber{background:rgba(128,88,16,.3);color:#f6cf81;border-color:rgba(223,170,70,.2)}
.student-shell .badge.red{background:rgba(136,50,55,.3);color:#ffb7bc;border-color:rgba(233,111,119,.22)}

.student-shell .course-cards,.student-shell .student-course-grid{gap:16px}
.student-shell .student-course{background:linear-gradient(145deg,rgba(13,31,54,.82),rgba(9,23,42,.73))!important}
.student-shell .student-course>.muted{color:#8fa7c5!important}
.student-shell .student-section-title{color:#eaf4ff}
.student-shell .student-section-title>span{color:#88a4c5!important}
.student-shell .student-coursework-compact,.student-shell .student-attendance-block{border-color:rgba(121,157,201,.18)!important}

.student-shell .student-attendance-visual{
  background:linear-gradient(135deg,rgba(21,50,81,.66),rgba(10,29,52,.66))!important;
  border-color:rgba(104,155,215,.23)!important;
}
.student-shell .student-attendance-donut{box-shadow:inset 0 0 0 1px rgba(157,193,230,.08)!important}
.student-shell .student-attendance-donut:after{background:#0d2037!important;box-shadow:0 1px 8px rgba(0,0,0,.28)!important}
.student-shell .student-attendance-donut strong{color:#f0f7ff!important}
.student-shell .student-attendance-donut span{color:#90abc9!important}
.student-shell .student-attendance-legend span{color:#a5bbd4!important}
.student-shell .student-attendance-legend span b{color:#edf5ff!important}
.student-shell .student-plan-progress{color:#8da7c4!important}
.student-shell .student-plan-progress i{background:rgba(97,132,173,.24)!important}
.student-shell .student-plan-progress i b{background:linear-gradient(90deg,#3e97ed,#735be5)!important}
.student-shell .student-plan-card,
.student-shell .student-attendance-empty,
.student-shell .student-tracker-summary,
.student-shell .student-coursework-row,
.student-shell .student-assignment-fact{
  background:rgba(17,39,66,.56)!important;
  border-color:rgba(108,148,197,.2)!important;
  color:#deebf9!important;
}
.student-shell .student-plan-card>strong,.student-shell .student-assignment-fact strong{color:#eff6ff!important}
.student-shell .student-plan-card>span,.student-shell .student-assignment-fact span,.student-shell .student-assignment-subtitle{color:#8fa8c6!important}
.student-shell .student-coursework-row.status-accepted{background:rgba(22,89,71,.32)!important;border-color:rgba(87,193,151,.2)!important}
.student-shell .student-coursework-row.status-remarks,.student-shell .student-coursework-row.status-revision{background:rgba(113,78,18,.26)!important;border-color:rgba(210,160,63,.2)!important}

.student-shell .service-note{
  border-color:rgba(117,158,205,.27)!important;
  background:rgba(15,37,63,.58)!important;
  color:#d8e7f7!important;
}
.student-shell .requirement{border-color:rgba(122,156,197,.15)!important}
.student-shell .table-wrap{border-color:rgba(106,147,196,.22)!important;background:rgba(7,21,39,.5)}
.student-shell table{background:transparent!important;color:#dce9f7!important}
.student-shell th{background:rgba(11,31,54,.94)!important;color:#9eb5d0!important;border-bottom-color:rgba(117,154,197,.22)!important}
.student-shell td{border-bottom-color:rgba(111,145,186,.14)!important;color:#d9e7f5!important}

.student-shell .student-profile-card{background:linear-gradient(145deg,rgba(13,31,54,.82),rgba(9,23,42,.74))!important}
.student-shell .student-profile-row{border-bottom-color:rgba(112,148,190,.16)!important}
.student-shell .student-profile-row>span{color:#91a8c3!important}
.student-shell .student-profile-row>strong{color:#f0f6ff!important}
.student-shell .student-profile-login{color:#78bdff!important}
.student-shell .student-form-field{color:#bdd0e6!important}
.student-shell .student-form-field input,
.student-shell .student-device-request input,
.student-shell input,.student-shell select,.student-shell textarea{
  color:#eff6ff!important;
  background:rgba(18,40,67,.78)!important;
  border-color:rgba(105,150,204,.28)!important;
  box-shadow:none!important;
}
.student-shell input::placeholder,.student-shell textarea::placeholder{color:#718aa9!important}
.student-shell input:focus,.student-shell select:focus,.student-shell textarea:focus{border-color:#62aef5!important;box-shadow:0 0 0 3px rgba(68,145,233,.16)!important}
.student-shell .student-device-row{
  border:1px solid rgba(107,149,197,.2);
  border-radius:13px;
  padding:12px 13px;
  margin-top:8px;
  background:rgba(16,38,64,.55);
}
.student-shell .student-device-row small{color:#8ea7c5!important}
.student-shell .student-device-help{color:#a7bdd5!important}

.student-platform-footer{
  width:min(1180px,calc(100% - 28px));
  margin:4px auto 0!important;
  padding:20px 4px 6px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:8px!important;
  color:#617d9f!important;
  font-size:10px!important;
  letter-spacing:.05em;
}
.student-platform-footer strong{color:#7897ba!important;letter-spacing:.12em}
.student-platform-footer span+span:before{content:"·";margin-right:8px;color:#476484}


/* 2026-09-24 STAGING QA: keep informative student text readable on dark Aurora glass. */
.student-shell .student-profile-help{color:var(--linea-text-secondary)!important}
.student-shell .student-device-list .empty{color:var(--linea-text-secondary)!important}
.student-shell .student-device-help{
  background:var(--linea-control-surface)!important;
  border:1px solid var(--linea-control-border)!important;
  color:var(--linea-text-secondary)!important;
}
.student-shell .student-device-help strong{color:var(--linea-text-primary)!important}
.student-shell .student-plan-card>span,
.student-shell .student-section-title>span{color:var(--linea-text-secondary)!important}
.student-shell .student-plan-card b{color:var(--linea-text-primary)!important}
.student-shell .student-attendance-empty span,
.student-shell .student-attendance-empty small{color:var(--linea-text-secondary)!important}

.student-shell .toast{background:rgba(11,30,52,.94)!important;color:#edf5ff!important;border:1px solid var(--student-line)!important;box-shadow:0 16px 45px rgba(0,0,0,.34)!important}

/* 2026-09-24 Aurora parity: the real student cabinet uses the same visual language as the main workspace. */
.student-shell-bg:before,.student-shell-bg:after{display:none!important;content:none!important}
.student-brand>span{border-left-color:var(--linea-card-border)!important;color:var(--linea-text-subtle)!important}
.student-account strong{color:var(--linea-text-secondary)!important}
.student-logout{
  border-color:var(--linea-control-border)!important;
  background:var(--linea-control-surface)!important;
  color:var(--linea-text-secondary)!important;
}
.student-logout:hover{background:var(--linea-control-surface-hover)!important;border-color:var(--linea-control-border-hover)!important;color:var(--linea-text-primary)!important}
.student-shell .page-head h1{color:var(--linea-text-primary)!important}
.student-shell .muted{color:var(--linea-text-muted)!important}
.student-shell .card h1,.student-shell .card h2,.student-shell .card h3,.student-shell .card strong{color:var(--linea-text-primary)!important}
.student-shell .student-hero:after{display:none!important;content:none!important}
.student-shell .student-hero{border-color:var(--linea-card-border)!important}
.student-shell .student-hero h1{color:var(--linea-text-primary)!important}
.student-shell .session-row,.student-shell .list-row{border-bottom-color:var(--linea-card-border)!important;color:var(--linea-text-primary)!important}
.student-shell .session-row{
  margin:7px 0!important;
  padding:10px 11px!important;
  border:1px solid var(--linea-card-border)!important;
  border-radius:10px!important;
  background:var(--linea-control-surface)!important;
}
.student-shell .session-row.session-type-lecture{
  background:var(--linea-academic-lecture-surface-soft)!important;
  border-color:var(--linea-academic-lecture-accent)!important;
}
.student-shell .session-row.session-type-practice{
  background:var(--linea-academic-practice-surface-soft)!important;
  border-color:var(--linea-academic-practice-accent)!important;
}
.student-shell .session-row.session-type-lab{
  background:var(--linea-academic-lab-surface-soft)!important;
  border-color:var(--linea-academic-lab-accent)!important;
}
.student-shell .session-row :is(.session-time,strong,small){color:#f2f8ff!important}
.student-shell .session-time{font-weight:750!important}
.student-shell .session-type-badge{border-color:var(--linea-control-border)!important;background:var(--linea-control-surface)!important;color:var(--linea-text-secondary)!important}
.student-shell .student-section-title{color:var(--linea-text-primary)!important}
.student-shell .student-section-title>span{color:var(--linea-text-muted)!important}
.student-shell .student-coursework-compact,.student-shell .student-attendance-block{border-color:var(--linea-card-border)!important}
.student-shell .student-attendance-visual,
.student-shell .student-plan-card,
.student-shell .student-attendance-empty,
.student-shell .student-tracker-summary,
.student-shell .student-coursework-row,
.student-shell .student-assignment-fact,
.student-shell .student-device-row,
.student-shell .service-note{
  background:var(--linea-control-surface)!important;
  border-color:var(--linea-control-border)!important;
  color:var(--linea-text-secondary)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.student-shell .student-attendance-donut{box-shadow:inset 0 0 0 1px var(--linea-card-border)!important}
.student-shell .student-attendance-donut:after{background:var(--linea-card-surface-strong)!important;box-shadow:0 1px 8px rgba(0,0,0,.28)!important}
.student-shell .student-attendance-donut strong,
.student-shell .student-attendance-legend span b,
.student-shell .student-plan-card>strong,
.student-shell .student-assignment-fact strong{color:var(--linea-text-primary)!important}
.student-shell .student-attendance-donut span,
.student-shell .student-attendance-legend span,
.student-shell .student-plan-progress,
.student-shell .student-plan-card>span,
.student-shell .student-assignment-fact span,
.student-shell .student-assignment-subtitle{color:var(--linea-text-muted)!important}
.student-shell .student-plan-progress i{background:rgba(126,151,181,.18)!important}
.student-shell .student-plan-progress i b{background:linear-gradient(90deg,var(--linea-aurora-blue),var(--linea-aurora-cyan))!important}
.student-shell .student-coursework-row.status-accepted{background:rgba(22,89,71,.30)!important;border-color:rgba(87,193,151,.24)!important}
.student-shell .student-coursework-row.status-remarks,.student-shell .student-coursework-row.status-revision{background:rgba(113,78,18,.24)!important;border-color:rgba(210,160,63,.24)!important}
.student-shell .requirement{border-color:var(--linea-card-border)!important}
.student-shell .table-wrap{border-color:var(--linea-card-border)!important;background:var(--linea-card-surface)!important}
.student-shell table{background:transparent!important;color:var(--linea-text-secondary)!important}
.student-shell th{background:var(--linea-card-surface-strong)!important;color:var(--linea-text-muted)!important;border-bottom-color:var(--linea-card-border)!important}
.student-shell td{border-bottom-color:var(--linea-card-border)!important;color:var(--linea-text-secondary)!important}
.student-shell .student-profile-card{background:var(--linea-card-surface)!important}
.student-shell .student-profile-row{border-bottom-color:var(--linea-card-border)!important}
.student-shell .student-profile-row>span{color:var(--linea-text-muted)!important}
.student-shell .student-profile-row>strong{color:var(--linea-text-primary)!important}
.student-shell .student-profile-login{color:var(--linea-aurora-cyan)!important}
.student-shell .student-form-field{color:var(--linea-text-secondary)!important}
.student-shell .student-device-row small,.student-shell .student-device-help{color:var(--linea-text-muted)!important}
.student-platform-footer{color:var(--linea-text-subtle)!important}
.student-platform-footer strong{color:var(--linea-text-muted)!important}
.student-platform-footer span+span:before{color:var(--linea-card-border-hover)!important}

@media(max-width:850px){
  .student-shell{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .student-top{
    position:relative;
    width:calc(100% - 20px);
    margin:10px auto 0;
    padding:11px 12px;
    border-radius:16px;
  }
  .student-brand{gap:10px}
  .student-brand img{width:122px}
  .student-brand>span{display:none}
  .student-account{gap:7px}
  .student-account strong{max-width:34vw;font-size:11px}
  .student-logout{padding:7px 9px;font-size:10px}
  .student-main{width:calc(100% - 20px);margin-top:12px!important;padding-bottom:22px!important}
  .student-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    top:auto;
    width:auto;
    max-width:none;
    margin:0;
    padding:6px;
    justify-content:space-around;
    border-radius:18px;
    background:var(--linea-nav-mobile-surface);
    box-shadow:0 16px 50px rgba(0,0,0,.46),inset 0 1px 0 rgba(199,224,255,.05);
    z-index:150;
  }
  .student-nav button{
    flex:1;
    min-width:0;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    padding:7px 8px 6px!important;
    font-size:10px;
    border-radius:13px!important;
  }
  .student-nav button svg{width:19px;height:19px}
  .student-shell .grid{gap:11px}
  .student-shell .card{border-radius:17px;padding:16px}
  .student-shell .student-hero h1{font-size:30px}
  .student-shell .page-head h1{font-size:27px}
  .student-shell .course-cards,.student-shell .student-course-grid{gap:12px}
  .student-platform-footer{display:none!important}
}
@media(max-width:520px){
  .student-account strong{display:none}
  .student-top{padding:10px 11px}
  .student-brand img{width:116px}
  .student-main{width:calc(100% - 16px)}
  .student-shell .card{padding:15px}
  .student-shell .student-attendance-visual{grid-template-columns:88px minmax(0,1fr)!important;gap:10px!important;padding:11px!important}
  .student-shell .student-attendance-donut{width:86px!important;height:86px!important}
  .student-shell .student-attendance-donut:after{inset:12px!important}
  .student-shell .student-assignment-grid{grid-template-columns:1fr!important}
  .student-shell .student-profile-card{padding:15px!important}
}
@media(prefers-reduced-motion:reduce){
  .student-shell *,.student-shell *:before,.student-shell *:after{transition:none!important;scroll-behavior:auto!important}
}