/* LINEA Aurora — shared ambient color layer.
   Visual-only: no geometry, layout or content ownership lives here.
   CSS/token-only edits belong to the static-ui verification fast lane. */

body.glass-home.glass-workspace #shell .main{
  background-image:var(--linea-ambient-page)!important;
  background-color:transparent!important;
}
body.glass-home.glass-workspace #shell #content{
  background-image:var(--linea-ambient-content)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
}
body.glass-home.glass-workspace #shell .hero{
  background-image:var(--linea-ambient-hero)!important;
}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .main{
  background-image:var(--linea-ambient-workspace-page)!important;
}
body.glass-home.glass-workspace:not(.glass-page-home) #shell #content{
  background-image:var(--linea-ambient-workspace-content)!important;
}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .hero{
  background-image:var(--linea-ambient-workspace-hero)!important;
}
body.glass-home.glass-workspace.glass-page-home #shell .hero{
  background-image:none!important;
  background-color:transparent!important;
}
body.glass-home.glass-workspace.glass-page-home #shell .date-pills.academic-context-pills{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.glass-home.glass-workspace.glass-page-home #shell .date-pills.academic-context-pills .date-pill{
  background:transparent!important;
  box-shadow:none!important;
}
body.glass-home.glass-workspace #shell .sidebar{
  background-image:var(--linea-ambient-sidebar),linear-gradient(180deg,rgba(3,8,15,.16),rgba(5,10,18,.04))!important;
  background-color:var(--linea-nav-surface)!important;
  border-right-color:rgba(96,142,190,.18)!important;
}
body.glass-home.glass-workspace #shell .nav :is(button,.nav-secondary){color:var(--linea-nav-text)!important}
body.glass-home.glass-workspace #shell .nav-section{color:var(--linea-nav-section-text)!important}
body.glass-home.glass-workspace #shell .brand small{color:var(--linea-nav-meta-text)!important}
body.glass-home.glass-workspace #shell .side-role{color:var(--linea-nav-role-text)!important}
body.glass-home.glass-workspace #shell .side-foot{color:var(--linea-nav-footer-text)!important;border-top-color:var(--linea-nav-divider)!important}
body.glass-home.glass-workspace #shell :is(.card,.management-attention-card,.system-health-card,.management-sources-compact,.birthday-card){
  border-color:color-mix(in srgb,var(--linea-aurora-cyan-line) 44%,var(--linea-aurora-violet-line))!important;
  box-shadow:
    inset 0 1px 0 rgba(223,244,255,.060),
    0 16px 42px rgba(0,0,0,.22),
    0 0 28px rgba(138,92,255,.075)!important;
}
html.staging-liquid-glass body.glass-home.glass-workspace #shell .card{
  background:
    radial-gradient(circle at 7% -8%,rgba(71,216,255,.065),transparent 33%),
    radial-gradient(circle at 104% 108%,rgba(138,92,255,.085),transparent 37%),
    linear-gradient(145deg,rgba(255,255,255,.030),rgba(255,255,255,.006) 58%),
    var(--linea-glass-liquid-bg,rgba(7,12,20,.62))!important;
}
body.glass-home.glass-workspace #shell :is(.btn.primary,button.primary){
  background:var(--linea-action-primary-bg)!important;
  border-color:var(--linea-action-primary-border)!important;
  box-shadow:var(--linea-action-primary-shadow)!important;
  color:#fff!important;
}
@media(hover:hover) and (pointer:fine){
  body.glass-home.glass-workspace #shell :is(.btn.primary,button.primary):hover:not(:disabled){
    background:var(--linea-action-primary-hover-bg)!important;
  }
}
body.glass-home.glass-workspace #shell :is(.tabs,.drawer-tabs,.schedule-tabs,.management-tabs,.diploma-tabs,.group-view-switch,.group-work-switcher) button.active{
  background:rgba(71,78,177,.34)!important;
  border-color:rgba(145,128,255,.40)!important;
  box-shadow:inset 0 -2px rgba(71,216,255,.78),0 0 24px rgba(138,92,255,.17)!important;
}
body.glass-home.glass-workspace #shell .topbar :is(.global-search,.server-clock-stack){
  border-color:color-mix(in srgb,var(--linea-aurora-cyan-line) 65%,var(--linea-aurora-violet-line))!important;
}
body.glass-home.glass-workspace #shell :is(.page-head,.gs-management-hero) .eyebrow{
  color:var(--linea-aurora-cyan)!important;
}
body.glass-home.glass-workspace #shell :is(.schedule-grid .is-today,.schedule-grid [data-today="true"],.day.today){
  box-shadow:inset 0 0 0 1px rgba(71,216,255,.58),0 0 28px rgba(88,104,255,.16)!important;
}

/* Shared Aurora component surfaces.
   Neutral glass carries content; cyan marks focus/light; violet adds depth without becoming the base fill.
   Visual-only: selectors unify surfaces, borders, text and focus; layout remains owned elsewhere. */
body.glass-home.glass-workspace #shell #content :is(.card,.course-card,.course-admin-card,.group-work-card,.reward-hub-course,.feedback-kpi,.panel-soft,.identity-kpis>div),
body.glass-home.glass-workspace :is(#modalLayer,#drawerLayer) :is(.modal,.drawer),
body.student-cabinet-body .student-shell .card{
  background:
    radial-gradient(circle at 0 0,rgba(71,216,255,.060),transparent 32%),
    radial-gradient(circle at 100% 100%,rgba(138,92,255,.075),transparent 37%),
    var(--linea-card-surface)!important;
  border-color:var(--linea-card-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),var(--linea-card-shadow)!important;
  color:var(--linea-text-primary)!important;
}
body.glass-home.glass-workspace :is(#modalLayer,#drawerLayer) :is(.modal,.drawer){
  background-color:var(--linea-card-surface-strong)!important;
}

/* Work pages stay content-first: Aurora is an edge/light language, not wallpaper inside every card. */
body.glass-home.glass-workspace:not(.glass-page-home) #shell #content :is(.card,.course-card,.course-admin-card,.group-work-card,.reward-hub-course,.feedback-kpi,.panel-soft,.identity-kpis>div){
  background:
    linear-gradient(145deg,rgba(255,255,255,.020),rgba(255,255,255,.003) 44%,transparent 72%),
    radial-gradient(circle at 100% 0,rgba(88,104,255,.020),transparent 30%),
    var(--linea-card-surface-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.036),0 12px 32px rgba(0,0,0,.18)!important;
}

/* Academic directory parity: groups are peer workspaces to disciplines, not a nested opaque slab. */
body.glass-home.glass-workspace #shell #content .group-directory-card{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.glass-home.glass-workspace #shell #content .group-work-card{
  color:var(--linea-text-primary)!important;
}
body.glass-home.glass-workspace #shell #content .group-work-card-top>div>strong,
body.glass-home.glass-workspace #shell #content .group-work-card-top>b,
body.glass-home.glass-workspace #shell #content .group-year-title>strong{
  color:var(--linea-text-primary)!important;
}
body.glass-home.glass-workspace #shell #content .group-work-card-top span,
body.glass-home.glass-workspace #shell #content .group-work-card>small,
body.glass-home.glass-workspace #shell #content .group-year-title>span{
  color:var(--linea-text-secondary)!important;
}
body.glass-home.glass-workspace #shell #content .group-course-mini span{
  background:var(--linea-control-surface)!important;
  border:1px solid var(--linea-control-border)!important;
  color:var(--linea-text-secondary)!important;
}

@media(hover:hover) and (pointer:fine){
  body.glass-home.glass-workspace #shell #content :is(.card,.course-card,.course-admin-card,.group-work-card,.reward-hub-course,.feedback-kpi,.panel-soft,.identity-kpis>div):hover{
    border-color:var(--linea-card-border-hover)!important;
  }
}


/* Rewards + feedback parity: peer analytical/work cards use Aurora, nested rows stay subtle. */
body.glass-home.glass-workspace #shell #content .card:has(> .reward-hub-grid){
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.glass-home.glass-workspace #shell #content .reward-hub-row{
  background:var(--linea-control-surface)!important;
  border:1px solid var(--linea-control-border)!important;
}
body.glass-home.glass-workspace #shell #content .feedback-kpi strong{
  color:var(--linea-text-primary)!important;
}
body.glass-home.glass-workspace #shell #content .feedback-kpi :is(span,small){
  color:var(--linea-text-secondary)!important;
}
body.glass-home.glass-workspace #shell #content .feedback-dist-bar{
  background:rgba(4,9,17,.72)!important;
  border:1px solid var(--linea-control-border)!important;
}
body.glass-home.glass-workspace #shell #content .feedback-dist-bar i{
  background:linear-gradient(90deg,var(--linea-aurora-blue),var(--linea-aurora-cyan))!important;
}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(.btn,.icon-btn):not(.primary):not(.danger),
body.student-cabinet-body .student-shell :is(.btn,.icon-btn):not(.primary):not(.danger){
  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,.035)!important;
}
@media(hover:hover) and (pointer:fine){
  body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(.btn,.icon-btn):not(.primary):not(.danger):hover:not(:disabled),
  body.student-cabinet-body .student-shell :is(.btn,.icon-btn):not(.primary):not(.danger):hover:not(:disabled){
    background:var(--linea-control-surface-hover)!important;
    border-color:var(--linea-control-border-hover)!important;
    color:var(--linea-text-primary)!important;
  }
}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea),
body.student-cabinet-body .student-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){
  background:var(--linea-field-surface)!important;
  border-color:var(--linea-field-border)!important;
  color:var(--linea-text-primary)!important;
}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(input,textarea)::placeholder,
body.student-cabinet-body .student-shell :is(input,textarea)::placeholder{
  color:var(--linea-text-subtle)!important;
}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea):focus,
body.student-cabinet-body .student-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea):focus{
  border-color:var(--linea-field-border-focus)!important;
  box-shadow:var(--linea-field-focus-shadow)!important;
}
body.glass-home.glass-workspace #shell :is(.tabs,.drawer-tabs,.schedule-tabs,.management-tabs,.diploma-tabs,.group-view-switch,.group-work-switcher) button:not(.active){
  background:var(--linea-tab-surface)!important;
  border-color:var(--linea-tab-border)!important;
  color:var(--linea-text-secondary)!important;
}
body.glass-home.glass-workspace #shell :is(.tabs,.drawer-tabs,.schedule-tabs,.management-tabs,.diploma-tabs,.group-view-switch,.group-work-switcher) button.active{
  background:var(--linea-tab-active-surface)!important;
  border-color:var(--linea-tab-active-border)!important;
  box-shadow:var(--linea-tab-active-shadow)!important;
  color:var(--linea-text-primary)!important;
}

/* First-login/setup dialogs can mount before the workspace body classes are applied,
   so the standalone layer consumes Aurora tokens without depending on shell decoration. */
.staff-setup-layer .modal{
  background:
    radial-gradient(circle at 0 0,rgba(71,216,255,.065),transparent 34%),
    radial-gradient(circle at 100% 100%,rgba(138,92,255,.085),transparent 39%),
    var(--linea-card-surface-strong)!important;
  border:1px solid var(--linea-card-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),var(--linea-card-shadow)!important;
  color:var(--linea-text-primary)!important;
}
.staff-setup-layer .modal-backdrop{
  background:rgba(1,6,14,.76)!important;
}
.staff-setup-layer :is(.modal-head h2,.field>label){
  color:var(--linea-text-primary)!important;
}
.staff-setup-layer .muted{color:var(--linea-text-secondary)!important}
.staff-setup-layer input:not([type=checkbox]):not([type=radio]){
  background:var(--linea-field-surface)!important;
  border-color:var(--linea-field-border)!important;
  color:var(--linea-text-primary)!important;
}
.staff-setup-layer input:not([type=checkbox]):not([type=radio]):focus{
  border-color:var(--linea-field-border-focus)!important;
  box-shadow:var(--linea-field-focus-shadow)!important;
}
.staff-setup-layer .btn.primary{
  background:var(--linea-action-primary-bg)!important;
  border-color:var(--linea-action-primary-border)!important;
  box-shadow:var(--linea-action-primary-shadow)!important;
  color:#fff!important;
}
.staff-setup-layer .btn:not(.primary):not(.danger),
.staff-setup-layer .staff-password-toggle{
  background:var(--linea-control-surface)!important;
  border:1px solid var(--linea-control-border)!important;
  color:var(--linea-text-secondary)!important;
}
@media(hover:hover) and (pointer:fine){
  .staff-setup-layer .staff-password-toggle:hover{
    background:var(--linea-control-surface-hover)!important;
    border-color:var(--linea-control-border-hover)!important;
    color:var(--linea-text-primary)!important;
  }
}
.staff-setup-layer .staff-password-toggle:focus-visible{
  outline:2px solid var(--linea-aurora-cyan)!important;
  outline-offset:2px;
}

/* Student shell uses the same atmosphere, with its existing structure untouched. */
body.student-cabinet-body .student-shell-bg{
  background:
    linear-gradient(rgba(2,8,17,.44),rgba(2,8,17,.44)),
    url('/glass-home-v1/ribbon-art-v5.webp') center/cover no-repeat!important;
  background-color:#030b18!important;
}
body.student-cabinet-body .student-top{
  background:
    radial-gradient(circle at 8% 0%,rgba(71,216,255,.045),transparent 30%),
    radial-gradient(circle at 96% 100%,rgba(138,92,255,.055),transparent 36%),
    var(--linea-card-surface-strong)!important;
  border-color:var(--linea-card-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),var(--linea-card-shadow)!important;
}
body.student-cabinet-body .student-shell .card{
  border-color:var(--linea-card-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),var(--linea-card-shadow)!important;
}
body.student-cabinet-body .student-shell .student-hero{
  background:
    radial-gradient(circle at 8% 15%,var(--linea-aurora-cyan-haze),transparent 24%),
    radial-gradient(circle at 88% 8%,var(--linea-aurora-violet-haze),transparent 29%),
    radial-gradient(circle at 100% 92%,var(--linea-aurora-magenta-haze),transparent 19%),
    var(--linea-card-surface-strong)!important;
}
body.student-cabinet-body .student-shell :is(.btn.primary,button.primary){
  background:var(--linea-action-primary-bg)!important;
  border-color:var(--linea-action-primary-border)!important;
  box-shadow:var(--linea-action-primary-shadow)!important;
  color:#fff!important;
}
@media(hover:hover) and (pointer:fine){
  body.student-cabinet-body .student-shell :is(.btn.primary,button.primary):hover:not(:disabled){
    background:var(--linea-action-primary-hover-bg)!important;
  }
}
body.student-cabinet-body .student-shell .eyebrow{color:var(--linea-aurora-cyan)!important}

/* Browsers without color-mix keep a clean cyan edge rather than losing the border. */
@supports not (color:color-mix(in srgb,red,blue)){
  body.glass-home.glass-workspace #shell :is(.card,.management-attention-card,.system-health-card,.management-sources-compact,.birthday-card),
  body.glass-home.glass-workspace #shell .topbar :is(.global-search,.server-clock-stack),
  body.student-cabinet-body :is(.student-top,.student-shell .card){border-color:var(--linea-aurora-cyan-line)!important}
}


/* #505 · inline management attention inherits the shared Aurora nested-row contract. */
body.glass-home.glass-workspace #shell #content .management-attention-inline-item{
  background:var(--linea-control-surface)!important;
  border:1px solid var(--linea-control-border)!important;
  box-shadow:none!important;
  color:var(--linea-text-primary)!important;
}
body.glass-home.glass-workspace #shell #content .management-attention-inline-copy h3{
  color:var(--linea-text-primary)!important;
}
body.glass-home.glass-workspace #shell #content .management-attention-inline-copy p{
  color:var(--linea-text-secondary)!important;
}
body.glass-home.glass-workspace #shell #content .management-attention-inline-meta strong{
  color:var(--linea-text-subtle)!important;
}
@media(hover:hover) and (pointer:fine){
  body.glass-home.glass-workspace #shell #content .management-attention-inline-item:hover{
    background:var(--linea-control-surface-hover)!important;
    border-color:var(--linea-control-border-hover)!important;
  }
}
body.glass-home.glass-workspace #shell #content .management-attention-inline-item:focus-within,
body.glass-home.glass-workspace #shell #content .management-attention-inline-item.attention-inline-highlight{
  border-color:var(--linea-field-border-focus)!important;
  box-shadow:var(--linea-field-focus-shadow)!important;
}
