/* CampusShield AI — Atlantic Emerald shared brand system.
   Shared across the workspace, public pages, student-life preview and PWA shell. */
:root {
  --cs-night:#071827; --cs-navy:#0B1F33; --cs-ocean:#153A54;
  --cs-primary:#0F766E; --cs-primary-strong:#0F766E; --cs-primary-hover:#115E59;
  --cs-seafoam:#14B8A6; --cs-seafoam-soft:#CCFBF1; --cs-lime:#14B8A6;
  --cs-ink:#142536; --cs-muted:#475569; --cs-canvas:#F4F7FA;
  --cs-card:#FFFFFF; --cs-line:#E2E8F0;
  --navy:var(--cs-navy);--navy2:var(--cs-ocean);--blue:var(--cs-primary);
  --teal:var(--cs-seafoam);--green:var(--cs-primary);--forest:var(--cs-navy);
  --mint:var(--cs-seafoam);--pale:var(--cs-seafoam-soft);--canvas:var(--cs-canvas);
  --ink:var(--cs-ink);--muted:var(--cs-muted);--line:var(--cs-line);--bg:var(--cs-canvas);--card:var(--cs-card);
  --cs-brand-navy:var(--cs-navy);--cs-brand-navy-deep:var(--cs-night);
  --cs-brand-teal:var(--cs-seafoam);--cs-brand-teal-strong:var(--cs-primary);
  --cs-brand-mint:var(--cs-seafoam-soft);--cs-brand-line:var(--cs-line);
  --cs-visual-forest:var(--cs-navy);--cs-visual-forest-deep:var(--cs-night);
  --cs-visual-mint:var(--cs-seafoam);--cs-visual-mint-soft:var(--cs-seafoam-soft);
  --cs-visual-canvas:var(--cs-canvas);--cs-visual-line:var(--cs-line);
  --cs-visual-ink:var(--cs-ink);--cs-visual-muted:var(--cs-muted);
}
html{background:var(--cs-canvas)}
body{background-color:var(--cs-canvas);color:var(--cs-ink)}
a{color:var(--cs-primary-strong)}
:focus-visible{outline:3px solid var(--cs-primary);outline-offset:3px}

/* Main workspace, sidebar and mobile navigation. */
#workspace .sidebar,#workspace #app-sidebar,.sidebar{
  background:linear-gradient(168deg,#071827 0%,#153A54 56%,#0B1F33 100%);
  color:#E2E8F0;box-shadow:12px 0 36px rgba(7,31,40,.14)
}
#workspace .brand-mark{background:var(--cs-seafoam);color:var(--cs-night)}
#workspace .brand-copy strong{color:var(--cs-seafoam)}
#workspace .brand-copy small,#workspace .nav-label,#workspace .nav-section-label{color:#94A3B8}
#workspace .nav-icon{color:var(--cs-seafoam)}
#workspace .nav button{color:#CBD5E1}
#workspace .nav button:hover,#workspace .sidebar-guide-access #guide-nav:hover{background:#14B8A61F;color:#fff}
#workspace .nav button.active{border-color:#14B8A633;background:linear-gradient(100deg,#14B8A62B,#ffffff0B);color:#fff}
#workspace .nav button.active::before{background:var(--cs-lime)}
#workspace .sidebar-status{border-color:#14B8A633;background:#ffffff0D;color:#E2E8F0}
#workspace .sidebar-status p{color:#94A3B8}
#workspace .status-dot{background:var(--cs-seafoam);box-shadow:0 0 0 4px #14B8A626}
#workspace .topbar,#workspace .mobile-topbar,.topbar{
  border-bottom-color:var(--cs-line);background:rgba(250,253,252,.94);
  box-shadow:0 8px 28px rgba(11,40,50,.045);color:var(--cs-ink)
}
#workspace .topbar-title small,#workspace .mobile-topbar-brand small{color:var(--cs-muted)}
#workspace .topbar-title strong,#workspace .page>.heading h1,#workspace .heading h1{color:var(--cs-ink)}
#workspace .page>.heading p,#workspace .heading p{color:var(--cs-muted)}
#workspace .panel,#workspace .stat,#workspace .settings-card,#workspace .campus-dashboard-card,#workspace .global-search-results{border-color:var(--cs-line)}
#workspace .panel-heading h2,#workspace .campus-dashboard-card h3,#workspace .stat-num{color:var(--cs-ink)}
#workspace .stat-label,#workspace .stat-note{color:var(--cs-muted)}
#workspace .btn:not(.secondary):not(.danger){
  border-color:var(--cs-primary-strong);background:linear-gradient(135deg,#0F766E,#115E59);
  color:#fff;box-shadow:0 6px 15px #0F766E29
}
#workspace .btn:not(.secondary):not(.danger):hover:not(:disabled){background:#115E59;border-color:#115E59}
#workspace .btn.secondary{border-color:#CBD5E1;background:#F0FDFA;color:#164E63;box-shadow:none}
#workspace .field input,#workspace .field select,#workspace .field textarea,#workspace input,#workspace select,#workspace textarea{border-color:#CBD5E1}
#workspace .field input:focus,#workspace .field select:focus,#workspace .field textarea:focus,#workspace input:focus,#workspace select:focus,#workspace textarea:focus{border-color:var(--cs-primary);box-shadow:0 0 0 3px #115E591F}
#workspace .campus-dashboard-hero,#page-dashboard .campus-dashboard-hero{
  border-color:#14B8A640;background:
  radial-gradient(ellipse at 82% 10%,#14B8A633,transparent 36%),
  radial-gradient(ellipse at 8% 100%,#115E593D,transparent 38%),
  linear-gradient(125deg,#071827 0%,#153A54 56%,#164E63 100%);
  box-shadow:0 24px 54px #07182733
}
#workspace .campus-dashboard-hero .hero-eyebrow,#page-dashboard .campus-dashboard-hero .hero-eyebrow{color:#CCFBF1}
#workspace .campus-dashboard-hero .hero-eyebrow::before,#page-dashboard .campus-dashboard-hero .hero-eyebrow::before{background:var(--cs-seafoam)}
#workspace .campus-dashboard-hero .hero-actions .btn:not(.secondary),#page-dashboard .campus-dashboard-hero .hero-actions .btn:not(.secondary){
  border-color:var(--cs-seafoam);background:linear-gradient(115deg,#14B8A6,#99F6E4);color:#071827;box-shadow:0 9px 22px #14B8A62E
}
#workspace .campus-dashboard-emergency{border-color:#BEEFE540;background:linear-gradient(145deg,#ffffff21,#ffffff0B)}
#workspace .campus-dashboard-emergency a{border-color:#14B8A64D;background:#14B8A61C}
#workspace .campus-dashboard-metric,#workspace .campus-feature,#workspace .student-shortcut-card{border-color:var(--cs-line);background:linear-gradient(150deg,#fff,#F8FAFC)}
#workspace .campus-dashboard-metric:hover,#workspace .campus-feature:hover,#workspace .student-shortcut-card:hover{border-color:#5EEAD4}
#workspace .campus-feature-kicker,#workspace .campus-discovery-eyebrow{color:var(--cs-primary-strong)}
#workspace .student-shortcut-icon,#workspace .global-search-result-icon{background:var(--cs-seafoam-soft);color:var(--cs-primary-strong)}
#workspace .global-search-input{border-color:var(--cs-line);background:#F8FAFC}
#workspace .global-search-result:hover,#workspace .global-search-result:focus-visible{background:#CCFBF1}
#workspace .quick-action-bar{border-color:var(--cs-line);background:#ffffffE6}
#workspace .quick-action-button{border-color:#CBD5E1;background:#F8FAFC;color:var(--cs-ink)}
#workspace .quick-action-button:hover{border-color:#5EEAD4}
#workspace .quick-action-button.quick-action-primary{border-color:var(--cs-primary-strong);background:linear-gradient(135deg,#0F766E,#115E59);color:#fff}
#workspace .quick-action-button.quick-action-primary .quick-action-icon{color:#fff}
#workspace #page-campus-map .campus-map-controls button[aria-pressed="true"],
#workspace #page-campus-map .campus-map-action.primary,
#workspace #page-campus-map .campus-map-admin-actions .primary{border-color:#0F766E;background:linear-gradient(135deg,#0F766E,#115E59);color:#fff}
#workspace #page-campus-map .campus-map-discovery-filters button.active,
#workspace #page-campus-map .campus-map-type-filters button.active{border-color:#0F766E;background:#0F766E;color:#fff}
#workspace #page-campus-map .campus-map-feature.active,
#workspace #page-campus-map .campus-map-feature[aria-pressed="true"]{border-color:#5EEAD4;background:#CCFBF1}
#workspace #page-campus-map .campus-map-nearby-safety{border-color:#99F6E4;background:linear-gradient(145deg,#F0FDFA,#CCFBF1)}
#workspace #page-campus-map .campus-map-nearby-safety-heading strong,
#workspace #page-campus-map .campus-map-nearby-safety-copy strong{color:#134E4A}
#workspace #page-campus-map .campus-map-nearby-safety-distance{color:#0F766E}
@media(max-width:650px){
  #workspace .mobile-bottom-nav{border-color:#CBD5E1;background:#FFFFFF;box-shadow:0 12px 34px #07182726}
  #workspace .mobile-bottom-nav button.active{background:#CCFBF1;color:#0F766E}
}

/* Public information pages. */
body>header.top{
  background:radial-gradient(ellipse at 88% 0%,#14B8A62E,transparent 38%),linear-gradient(135deg,#071827 0%,#153A54 62%,#164E63 100%);
  color:#F1FAF8
}
body>header.top p{color:#CBD5E1}
body>header.top .brand{color:#fff}
body>header.top .brand strong,body>header.top .mark{color:var(--cs-seafoam)}
body>header.top .mark{border-color:var(--cs-seafoam);background:#14B8A617}
body>header.top h1{color:#fff}
body:not(:has(#workspace)) .button{border-color:#CBD5E1;color:#164E63;background:#fff}
body:not(:has(#workspace)) .button.primary,body:not(:has(#workspace)) .primary{border-color:#0F766E;background:linear-gradient(135deg,#0F766E,#115E59);color:#fff}
body:not(:has(#workspace)) .button.primary:hover,body:not(:has(#workspace)) .primary:hover{background:#115E59}
body:not(:has(#workspace)) article,body:not(:has(#workspace)) .section,body:not(:has(#workspace)) .card{border-color:var(--cs-line)}
body:not(:has(#workspace)) .lead,body:not(:has(#workspace)) .muted,body:not(:has(#workspace)) .fine{color:var(--cs-muted)}
body:not(:has(#workspace)) .eyebrow{color:var(--cs-primary-strong)}
body:not(:has(#workspace)) .toc{border-color:var(--cs-line);background:#F4F7FAF0}
body:not(:has(#workspace)) .toc a{color:#164E63;background:#fff}
body:not(:has(#workspace)) .notice{border-left-color:#D97706}

/* Student-life preview shell. */
.shell .side{background:linear-gradient(168deg,#071827,#153A54 58%,#0B1F33)}
.shell .logo{background:var(--cs-seafoam);color:#071827}
.shell .brand small,.shell .side-label,.shell .side-foot p{color:#94A3B8}
.shell .side-nav button{color:#CBD5E1}
.shell .side-nav button.active,.shell .side-nav button:hover{background:#14B8A624;color:#fff}
.shell .side-nav .glyph{color:var(--cs-seafoam)}
.shell .welcome .eyebrow,.shell .text-btn,.shell .course-code,.shell .verified{color:var(--cs-primary-strong)}
.shell .day-chip,.shell .quick .qicon{border-color:var(--cs-line);background:var(--cs-seafoam-soft);color:#0F766E}
.shell .tabs{border-color:var(--cs-line);background:var(--cs-seafoam-soft)}
.shell .tabs button.active{background:#fff;color:#153A54}
.shell .primary{background:#0F766E;color:#fff}
.shell .points{background:linear-gradient(135deg,#071827,#153A54 58%,#0F766E)}
.shell .points .point-label,.shell .points-note{color:#CCFBF1}
.shell .points-bar span,.shell .progress span{background:var(--cs-seafoam)}
.shell .post-tag,.shell .privacy-note{border-color:#CBD5E1;background:#ECFDF5;color:#115E59}
.shell .bottom-nav button.active{background:#CCFBF1;color:#0F766E}
.shell .main>header.top{border-bottom-color:var(--cs-line);background:#FFFFFFF0;color:var(--cs-ink)}

/* Offline fallback. */
body>main>.mark{background:var(--cs-navy);color:var(--cs-seafoam)}
body>main>.mark+a,body>main>.mark~a{background:#0F766E;color:#fff}

/* Dark appearance. */
html[data-theme="dark"]{
  color-scheme:dark;--cs-ink:#E2E8F0;--cs-muted:#94A3B8;--cs-canvas:#071827;--cs-card:#102B46;--cs-line:#2B475C;
  --bg:#071827;--card:#102B46;--line:#2B475C;--ink:#E2E8F0;--muted:#94A3B8;
  --cs-brand-navy:#0F2942;--cs-brand-navy-deep:#071827;--cs-brand-teal:#14B8A6;--cs-brand-teal-strong:#2DD4BF;--cs-brand-mint:#123A48;
  --cs-visual-forest:#0F2942;--cs-visual-forest-deep:#071827;--cs-visual-mint:#14B8A6;--cs-visual-mint-soft:#123A48;
  --cs-visual-canvas:#071827;--cs-visual-line:#2B475C;--cs-visual-ink:#E2E8F0;--cs-visual-muted:#94A3B8
}
html[data-theme="dark"] body{background:var(--cs-canvas);color:var(--cs-ink)}
html[data-theme="dark"] #workspace .topbar,html[data-theme="dark"] #workspace .mobile-bottom-nav{border-color:#2B475C;background:#0F2942F2;color:#E2E8F0}
html[data-theme="dark"] #workspace .topbar-title strong,html[data-theme="dark"] #workspace .page>.heading h1,html[data-theme="dark"] #workspace .panel-heading h2,html[data-theme="dark"] #workspace .stat-num{color:#E2E8F0}
html[data-theme="dark"] #workspace .page>.heading p,html[data-theme="dark"] #workspace .stat-label,html[data-theme="dark"] #workspace .stat-note{color:#94A3B8}
html[data-theme="dark"] #workspace .panel,html[data-theme="dark"] #workspace .stat,html[data-theme="dark"] #workspace .settings-card,html[data-theme="dark"] #workspace .campus-dashboard-card,html[data-theme="dark"] #workspace .campus-dashboard-metric,html[data-theme="dark"] #workspace .campus-feature,html[data-theme="dark"] #workspace .student-shortcut-card,html[data-theme="dark"] #workspace .global-search-results{border-color:#2B475C;background-color:#102B46;color:#E2E8F0}
html[data-theme="dark"] #workspace .btn.secondary{border-color:#31536B;background:#163D4A;color:#E2E8F0}
html[data-theme="dark"] #workspace .field input,html[data-theme="dark"] #workspace .field select,html[data-theme="dark"] #workspace .field textarea,html[data-theme="dark"] #workspace input,html[data-theme="dark"] #workspace select,html[data-theme="dark"] #workspace textarea{border-color:#31536B;background:#0F2942;color:#E2E8F0}
html[data-theme="dark"] #workspace .quick-action-bar{border-color:#2B475C;background:#102B46F0}
html[data-theme="dark"] #workspace .quick-action-button{border-color:#31536B;background:#163D4A;color:#E2E8F0}
html[data-theme="dark"] #workspace .quick-action-button.quick-action-primary{background:linear-gradient(135deg,#0F766E,#115E59);color:#fff}
html[data-theme="dark"] #workspace .mobile-bottom-nav button{color:#94A3B8}
html[data-theme="dark"] #workspace .mobile-bottom-nav button.active{background:#123A48;color:#CCFBF1}
html[data-theme="dark"] #workspace .campus-map-nearby-safety{border-color:#31536B;background:linear-gradient(145deg,#153D4C,#102B46)}
html[data-theme="dark"] #workspace .campus-map-nearby-safety-heading strong,html[data-theme="dark"] #workspace .campus-map-nearby-safety-copy strong{color:#CCFBF1}
html[data-theme="dark"] #workspace .campus-map-nearby-safety-distance{color:#14B8A6}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Priority overrides for legacy hero treatments that used !important. */
#login-screen .login-intro{
  background:
    radial-gradient(circle at 82% 14%,rgba(129,229,208,.2),transparent 36%),
    radial-gradient(circle at 15% 92%,rgba(10,126,131,.2),transparent 38%),
    linear-gradient(145deg,#071827 0%,#153A54 70%,#164E63 100%) !important;
}
#login-screen .login-brand span,#login-screen .login-points span{color:#14B8A6}
#login-screen .eyebrow{color:#CCFBF1}
#login-screen .login-feature-card{border-color:rgba(129,229,208,.34);background:linear-gradient(145deg,rgba(11,53,64,.9),rgba(7,31,40,.94)) !important}
#login-screen .auth-panel{border-color:#E2E8F0}
#login-screen .auth-tabs button[aria-pressed="true"]{border-color:#B9DED6;background:linear-gradient(135deg,#FFFFFF,#CCFBF1);color:#134E4A}
#workspace #page-dashboard .campus-dashboard-hero{
  border-color:rgba(129,229,208,.3) !important;
  background:radial-gradient(ellipse at 82% 10%,rgba(129,229,208,.2),transparent 36%),radial-gradient(ellipse at 8% 100%,rgba(10,126,131,.24),transparent 38%),linear-gradient(125deg,#071827 0%,#153A54 56%,#164E63 100%) !important;
  box-shadow:0 24px 54px rgba(7,31,40,.2),inset 0 1px rgba(255,255,255,.08) !important;
}
#workspace #page-dashboard .campus-dashboard-hero .hero-eyebrow{color:#CCFBF1 !important}
#workspace #page-dashboard .campus-dashboard-hero .hero-eyebrow::before{background:#14B8A6 !important;box-shadow:0 0 18px rgba(129,229,208,.42) !important}
#workspace #page-dashboard .campus-dashboard-hero .hero-actions .btn:not(.secondary){
  border-color:#14B8A6 !important;background:linear-gradient(115deg,#14B8A6,#99F6E4) !important;color:#071827 !important;box-shadow:0 10px 24px rgba(129,229,208,.2) !important
}
#workspace #page-dashboard .campus-dashboard-hero::after{
  background:linear-gradient(90deg,transparent 0%,rgba(129,229,208,.03) 24%,rgba(129,229,208,.19) 42%,rgba(231,255,248,.4) 49%,rgba(129,229,208,.16) 56%,transparent 100%) !important
}

/* Keep feature-owned dark gradients intact over the generic workspace panel surface. */
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-panel{border-color:#2B475C;background-color:#102B46;
  background-image:linear-gradient(145deg,#112C43,#0D243A);
}

/* ShieldMind learning insights: full Midnight Navy + Premium Teal treatment. */
#page-shieldmind .shieldmind-insights-panel{border-color:#E2E8F0;background:linear-gradient(145deg,#FFFFFF,#F0FDFA);box-shadow:0 10px 28px rgba(11,31,51,.07)}
#page-shieldmind .shieldmind-insights-eyebrow{color:#0F766E}
#page-shieldmind .shieldmind-insights-heading h2,#page-shieldmind .shieldmind-insights-metric strong{color:#142536}
#page-shieldmind .shieldmind-insights-heading p,#page-shieldmind .shieldmind-insights-metric span,#page-shieldmind .shieldmind-insights-topic-detail,#page-shieldmind .shieldmind-insights-empty,#page-shieldmind .shieldmind-insights-status{color:#475569}
#page-shieldmind .shieldmind-insights-metric,#page-shieldmind .shieldmind-insights-topics,#page-shieldmind .shieldmind-insights-recommendation{border-color:#E2E8F0;background:rgba(255,255,255,.9)}
#page-shieldmind .shieldmind-insights-topics h3,#page-shieldmind .shieldmind-insights-recommendation h3,#page-shieldmind .shieldmind-insights-topic-name,#page-shieldmind .shieldmind-insights-topic-score{color:#164E63}
#page-shieldmind .shieldmind-insights-progress{background:#CCFBF1}
#page-shieldmind .shieldmind-insights-progress span{background:linear-gradient(90deg,#0F766E,#14B8A6)}
#page-shieldmind .shieldmind-insights-recommendation{background:linear-gradient(145deg,#ECFEFF,#CCFBF1)}
#page-shieldmind .shieldmind-insights-recommendation strong{color:#134E4A}
#page-shieldmind .shieldmind-insights-recommendation p{color:#475569}
#page-shieldmind .shieldmind-insights-status[data-state="error"]{color:#B91C1C}
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-heading h2,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-metric strong,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-topic-name,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-topic-score,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-recommendation strong{color:#E2E8F0}
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-heading p,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-metric span,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-topic-detail,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-recommendation p,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-empty,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-status{color:#94A3B8}
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-metric,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-topics,html[data-theme="dark"] #page-shieldmind .shieldmind-insights-recommendation{border-color:#2B475C;background:rgba(11,31,51,.88)}
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-progress{background:#123A48}
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-recommendation{background:linear-gradient(145deg,#123A48,#102B46)}

/* CampusShield logo lockup uses a clear, accessible green identity. */
:root{--cs-logo-green:#15803D;--cs-logo-green-bright:#22C55E;--cs-logo-white:#FFFFFF}
#workspace .brand-mark,.shell .logo{background:#15803D;color:#FFFFFF}
#workspace .brand-copy strong{color:#22C55E}
#login-screen .login-brand span{color:#22C55E}


/* Forest Green + Emerald identity — replaces the previous blue/navy-heavy surfaces.
   Kept as the final shared layer so legacy component styles inherit the green palette. */
:root{
  --cs-night:#071E13;--cs-navy:#0B2E1B;--cs-ocean:#14532D;
  --cs-primary:#15803D;--cs-primary-strong:#15803D;--cs-primary-hover:#166534;
  --cs-seafoam:#22C55E;--cs-seafoam-soft:#DCFCE7;--cs-lime:#86EFAC;
  --cs-ink:#173325;--cs-muted:#53695B;--cs-canvas:#F5F9F5;
  --cs-card:#FFFFFF;--cs-line:#DCE9DE;
  --navy:var(--cs-navy);--navy2:var(--cs-ocean);--blue:var(--cs-primary);
  --teal:var(--cs-seafoam);--green:var(--cs-primary);--forest:var(--cs-navy);
  --mint:var(--cs-seafoam);--pale:var(--cs-seafoam-soft);--canvas:var(--cs-canvas);
  --ink:var(--cs-ink);--muted:var(--cs-muted);--line:var(--cs-line);
  --bg:var(--cs-canvas);--card:var(--cs-card);
  --cs-brand-navy:var(--cs-navy);--cs-brand-navy-deep:var(--cs-night);
  --cs-brand-teal:var(--cs-seafoam);--cs-brand-teal-strong:var(--cs-primary);
  --cs-brand-mint:var(--cs-seafoam-soft);--cs-brand-line:var(--cs-line);
  --cs-visual-forest:var(--cs-navy);--cs-visual-forest-deep:var(--cs-night);
  --cs-visual-mint:var(--cs-seafoam);--cs-visual-mint-soft:var(--cs-seafoam-soft);
  --cs-visual-canvas:var(--cs-canvas);--cs-visual-line:var(--cs-line);
  --cs-visual-ink:var(--cs-ink);--cs-visual-muted:var(--cs-muted);
}
html{background:var(--cs-canvas)}
body{background:var(--cs-canvas);color:var(--cs-ink)}
a{color:#166534}
:focus-visible{outline-color:#16A34A}

/* Workspace navigation and controls. */
#workspace .sidebar,#workspace #app-sidebar,.sidebar,
.shell .side{
  background:linear-gradient(168deg,#071E13 0%,#14532D 56%,#0B2E1B 100%);
  color:#ECFDF3;
  box-shadow:12px 0 36px rgba(7,30,19,.18);
}
#workspace .brand-mark,.shell .logo{background:#15803D;color:#FFFFFF}
#workspace .brand-copy strong{color:#86EFAC}
#workspace .brand-copy small,#workspace .nav-label,#workspace .nav-section-label,
.shell .brand small,.shell .side-label,.shell .side-foot p{color:#B7D9C1}
#workspace .nav-icon,.shell .side-nav .glyph{color:#86EFAC}
#workspace .nav button,.shell .side-nav button{color:#E2F4E6}
#workspace .nav button:hover,#workspace .sidebar-guide-access #guide-nav:hover,
.shell .side-nav button:hover{background:#22C55E24;color:#FFFFFF}
#workspace .nav button.active,.shell .side-nav button.active{
  border-color:#86EFAC55;
  background:linear-gradient(100deg,#22C55E35,#FFFFFF0D);
  color:#FFFFFF;
}
#workspace .nav button.active::before{background:#86EFAC}
#workspace .sidebar-status{border-color:#86EFAC45;background:#FFFFFF0D;color:#E2F4E6}
#workspace .sidebar-status p{color:#B7D9C1}
#workspace .status-dot{background:#4ADE80;box-shadow:0 0 0 4px #4ADE8030}
#workspace .topbar,#workspace .mobile-topbar,.topbar{
  border-bottom-color:var(--cs-line);background:rgba(250,253,250,.96);
  box-shadow:0 8px 28px rgba(19,59,35,.05);color:var(--cs-ink)
}
#workspace .topbar-title small,#workspace .mobile-topbar-brand small{color:var(--cs-muted)}
#workspace .topbar-title strong,#workspace .page>.heading h1,#workspace .heading h1{color:var(--cs-ink)}
#workspace .page>.heading p,#workspace .heading p{color:var(--cs-muted)}
#workspace .panel,#workspace .stat,#workspace .settings-card,#workspace .campus-dashboard-card,
#workspace .global-search-results{border-color:var(--cs-line)}
#workspace .panel-heading h2,#workspace .campus-dashboard-card h3,#workspace .stat-num{color:var(--cs-ink)}
#workspace .stat-label,#workspace .stat-note{color:var(--cs-muted)}
#workspace .btn:not(.secondary):not(.danger){
  border-color:#15803D;background:linear-gradient(135deg,#15803D,#166534);
  color:#FFFFFF;box-shadow:0 6px 15px #15803D2B
}
#workspace .btn:not(.secondary):not(.danger):hover:not(:disabled){background:#166534;border-color:#166534}
#workspace .btn.secondary{border-color:#B7D4BE;background:#F0FDF4;color:#14532D;box-shadow:none}
#workspace .field input,#workspace .field select,#workspace .field textarea,
#workspace input,#workspace select,#workspace textarea{border-color:#C9DCCF}
#workspace .field input:focus,#workspace .field select:focus,#workspace .field textarea:focus,
#workspace input:focus,#workspace select:focus,#workspace textarea:focus{
  border-color:#16A34A;box-shadow:0 0 0 3px #16A34A20
}

/* The signed-in dashboard hero shown in the supplied screenshot. */
#workspace .campus-dashboard-hero,#page-dashboard .campus-dashboard-hero,
#workspace #page-dashboard .campus-dashboard-hero{
  border:1px solid #4ADE8066 !important;
  background:
    radial-gradient(ellipse at 82% 10%,#4ADE8038,transparent 36%),
    radial-gradient(ellipse at 8% 100%,#16653470,transparent 38%),
    linear-gradient(125deg,#071E13 0%,#10462A 55%,#17613A 100%) !important;
  box-shadow:0 24px 54px rgba(7,30,19,.24),inset 0 1px rgba(255,255,255,.08) !important;
}
#workspace .campus-dashboard-hero .hero-eyebrow,#page-dashboard .campus-dashboard-hero .hero-eyebrow{
  color:#DCFCE7 !important
}
#workspace .campus-dashboard-hero .hero-eyebrow::before,#page-dashboard .campus-dashboard-hero .hero-eyebrow::before{
  background:#22C55E !important;box-shadow:0 0 18px #4ADE8055 !important
}
#workspace .campus-dashboard-hero .hero-actions .btn:not(.secondary),
#page-dashboard .campus-dashboard-hero .hero-actions .btn:not(.secondary){
  border-color:#22C55E !important;
  background:linear-gradient(115deg,#22C55E,#A7F3D0) !important;
  color:#082313 !important;box-shadow:0 10px 24px #4ADE8038 !important
}
#workspace #page-dashboard .campus-dashboard-hero::after{
  background:linear-gradient(90deg,transparent 0%,#4ADE8008 24%,#4ADE8030 42%,#ECFDF366 49%,#4ADE8029 56%,transparent 100%) !important
}
#workspace .campus-dashboard-emergency{
  border-color:#BBF7D04D !important;
  background:linear-gradient(145deg,#ECFDF326,#DCFCE70D) !important;
}
#workspace .campus-dashboard-emergency a{
  border-color:#86EFAC77;background:#22C55E24;color:#BBF7D0
}
#workspace .campus-dashboard-metric,#workspace .campus-feature,#workspace .student-shortcut-card{
  border-color:var(--cs-line);background:linear-gradient(150deg,#FFFFFF,#F7FBF7)
}
#workspace .campus-dashboard-metric:hover,#workspace .campus-feature:hover,
#workspace .student-shortcut-card:hover{border-color:#86EFAC}
#workspace .campus-feature-kicker,#workspace .campus-discovery-eyebrow{color:#166534}
#workspace .student-shortcut-icon,#workspace .global-search-result-icon{
  background:#DCFCE7;color:#166534
}
#workspace .global-search-input{border-color:var(--cs-line);background:#F7FBF7}
#workspace .global-search-result:hover,#workspace .global-search-result:focus-visible{background:#DCFCE7}
#workspace .quick-action-bar{border-color:var(--cs-line);background:#FFFFFFED}
#workspace .quick-action-button{border-color:#C9DCCF;background:#F7FBF7;color:var(--cs-ink)}
#workspace .quick-action-button:hover{border-color:#86EFAC}
#workspace .quick-action-button.quick-action-primary{
  border-color:#15803D;background:linear-gradient(135deg,#15803D,#166534);color:#FFFFFF
}
#workspace .quick-action-button.quick-action-primary .quick-action-icon{color:#FFFFFF}

/* Other primary campus surfaces and public pages. */
#workspace #page-campus-map .campus-map-controls button[aria-pressed="true"],
#workspace #page-campus-map .campus-map-action.primary,
#workspace #page-campus-map .campus-map-admin-actions .primary{
  border-color:#15803D;background:linear-gradient(135deg,#15803D,#166534);color:#FFFFFF
}
#workspace #page-campus-map .campus-map-discovery-filters button.active,
#workspace #page-campus-map .campus-map-type-filters button.active{
  border-color:#15803D;background:#15803D;color:#FFFFFF
}
#workspace #page-campus-map .campus-map-feature.active,
#workspace #page-campus-map .campus-map-feature[aria-pressed="true"]{
  border-color:#86EFAC;background:#DCFCE7
}
#workspace #page-campus-map .campus-map-nearby-safety{
  border-color:#A7F3D0;background:linear-gradient(145deg,#F0FDF4,#DCFCE7)
}
#workspace #page-campus-map .campus-map-nearby-safety-heading strong,
#workspace #page-campus-map .campus-map-nearby-safety-copy strong{color:#14532D}
#workspace #page-campus-map .campus-map-nearby-safety-distance{color:#15803D}
@media(max-width:650px){
  #workspace .mobile-bottom-nav{border-color:#DCE9DE;background:#FFFFFF;box-shadow:0 12px 34px #071E1326}
  #workspace .mobile-bottom-nav button.active{background:#DCFCE7;color:#166534}
}
body>header.top{
  background:radial-gradient(ellipse at 88% 0%,#22C55E30,transparent 38%),
    linear-gradient(135deg,#071E13 0%,#14532D 62%,#17613A 100%);
  color:#F0FDF4
}
body>header.top p{color:#D1E7D7}
body>header.top .brand{color:#FFFFFF}
body>header.top .brand strong,body>header.top .mark{color:#86EFAC}
body>header.top .mark{border-color:#86EFAC;background:#22C55E1C}
body>header.top h1{color:#FFFFFF}
body:not(:has(#workspace)) .button{border-color:#C9DCCF;color:#14532D;background:#FFFFFF}
body:not(:has(#workspace)) .button.primary,body:not(:has(#workspace)) .primary{
  border-color:#15803D;background:linear-gradient(135deg,#15803D,#166534);color:#FFFFFF
}
body:not(:has(#workspace)) .button.primary:hover,body:not(:has(#workspace)) .primary:hover{background:#166534}
body:not(:has(#workspace)) article,body:not(:has(#workspace)) .section,
body:not(:has(#workspace)) .card{border-color:var(--cs-line)}
body:not(:has(#workspace)) .lead,body:not(:has(#workspace)) .muted,
body:not(:has(#workspace)) .fine{color:var(--cs-muted)}
body:not(:has(#workspace)) .eyebrow{color:#166534}
body:not(:has(#workspace)) .toc{border-color:var(--cs-line);background:#F5F9F5F2}
body:not(:has(#workspace)) .toc a{color:#14532D;background:#FFFFFF}

/* Sign-in and registration. */
#login-screen .login-intro{
  background:
    radial-gradient(circle at 82% 14%,#4ADE8038,transparent 36%),
    radial-gradient(circle at 15% 92%,#16653455,transparent 38%),
    linear-gradient(145deg,#071E13 0%,#10462A 64%,#17613A 100%) !important;
}
#login-screen .login-brand span,#login-screen .login-points span{color:#86EFAC}
#login-screen .eyebrow{color:#DCFCE7}
#login-screen .login-feature-card{
  border-color:#BBF7D04D;
  background:linear-gradient(145deg,#123D27F0,#0D2F1DF5) !important;
}
#login-screen .auth-tabs button[aria-pressed="true"]{
  border-color:#A7F3D0;background:linear-gradient(135deg,#FFFFFF,#DCFCE7);color:#14532D
}

/* Student-life shell and its highlights. */
.shell .logo{background:#15803D;color:#FFFFFF}
.shell .side-nav button.active,.shell .side-nav button:hover{background:#22C55E26;color:#FFFFFF}
.shell .welcome .eyebrow,.shell .text-btn,.shell .course-code,.shell .verified{color:#166534}
.shell .day-chip,.shell .quick .qicon{border-color:var(--cs-line);background:#DCFCE7;color:#166534}
.shell .tabs{border-color:var(--cs-line);background:#DCFCE7}
.shell .tabs button.active{background:#FFFFFF;color:#14532D}
.shell .primary{background:#15803D;color:#FFFFFF}
.shell .points{background:linear-gradient(135deg,#071E13,#14532D 58%,#15803D)}
.shell .points .point-label,.shell .points-note{color:#DCFCE7}
.shell .points-bar span,.shell .progress span{background:#22C55E}
.shell .post-tag,.shell .privacy-note{border-color:#C9DCCF;background:#ECFDF3;color:#166534}
.shell .bottom-nav button.active{background:#DCFCE7;color:#166534}

/* PWA/workspace dark appearance also stays in the green family. */
html[data-theme="dark"]{
  color-scheme:dark;
  --cs-ink:#E5F3E8;--cs-muted:#A6C2AE;--cs-canvas:#071E13;
  --cs-card:#123522;--cs-line:#315B40;
  --bg:#071E13;--card:#123522;--line:#315B40;--ink:#E5F3E8;--muted:#A6C2AE;
  --cs-brand-navy:#123D27;--cs-brand-navy-deep:#071E13;
  --cs-brand-teal:#22C55E;--cs-brand-teal-strong:#86EFAC;--cs-brand-mint:#173F29;
  --cs-visual-forest:#123D27;--cs-visual-forest-deep:#071E13;
  --cs-visual-mint:#22C55E;--cs-visual-mint-soft:#173F29;
  --cs-visual-canvas:#071E13;--cs-visual-line:#315B40;
  --cs-visual-ink:#E5F3E8;--cs-visual-muted:#A6C2AE
}
html[data-theme="dark"] body{background:var(--cs-canvas);color:var(--cs-ink)}
html[data-theme="dark"] #workspace .topbar,
html[data-theme="dark"] #workspace .mobile-bottom-nav{
  border-color:#315B40;background:#123522F5;color:#E5F3E8
}
html[data-theme="dark"] #workspace .topbar-title strong,
html[data-theme="dark"] #workspace .page>.heading h1,
html[data-theme="dark"] #workspace .panel-heading h2,
html[data-theme="dark"] #workspace .stat-num{color:#E5F3E8}
html[data-theme="dark"] #workspace .page>.heading p,
html[data-theme="dark"] #workspace .stat-label,
html[data-theme="dark"] #workspace .stat-note{color:#A6C2AE}
html[data-theme="dark"] #workspace .panel,
html[data-theme="dark"] #workspace .stat,
html[data-theme="dark"] #workspace .settings-card,
html[data-theme="dark"] #workspace .campus-dashboard-card,
html[data-theme="dark"] #workspace .campus-dashboard-metric,
html[data-theme="dark"] #workspace .campus-feature,
html[data-theme="dark"] #workspace .student-shortcut-card,
html[data-theme="dark"] #workspace .global-search-results{
  border-color:#315B40;background-color:#123522;color:#E5F3E8
}
html[data-theme="dark"] #workspace .btn.secondary{
  border-color:#41694D;background:#173F29;color:#E5F3E8
}
html[data-theme="dark"] #workspace .field input,
html[data-theme="dark"] #workspace .field select,
html[data-theme="dark"] #workspace .field textarea,
html[data-theme="dark"] #workspace input,
html[data-theme="dark"] #workspace select,
html[data-theme="dark"] #workspace textarea{
  border-color:#41694D;background:#0F2C1C;color:#E5F3E8
}
html[data-theme="dark"] #workspace .quick-action-bar{border-color:#315B40;background:#123522F2}
html[data-theme="dark"] #workspace .quick-action-button{border-color:#41694D;background:#173F29;color:#E5F3E8}
html[data-theme="dark"] #workspace .quick-action-button.quick-action-primary{
  background:linear-gradient(135deg,#15803D,#166534);color:#FFFFFF
}
html[data-theme="dark"] #workspace .mobile-bottom-nav button{color:#A6C2AE}
html[data-theme="dark"] #workspace .mobile-bottom-nav button.active{background:#173F29;color:#DCFCE7}
html[data-theme="dark"] #workspace .campus-dashboard-hero,
html[data-theme="dark"] #workspace #page-dashboard .campus-dashboard-hero{
  background:
    radial-gradient(ellipse at 82% 10%,#4ADE8030,transparent 36%),
    linear-gradient(125deg,#071E13 0%,#10462A 55%,#17613A 100%) !important;
  border-color:#4ADE8055 !important
}
html[data-theme="dark"] #workspace .campus-dashboard-emergency{
  border-color:#BBF7D04D;background:linear-gradient(145deg,#ECFDF31C,#DCFCE70A)
}
html[data-theme="dark"] #workspace .campus-map-nearby-safety{
  border-color:#41694D;background:linear-gradient(145deg,#173F29,#123522)
}
html[data-theme="dark"] #workspace .campus-map-nearby-safety-heading strong,
html[data-theme="dark"] #workspace .campus-map-nearby-safety-copy strong{color:#DCFCE7}
html[data-theme="dark"] #workspace .campus-map-nearby-safety-distance{color:#86EFAC}
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-panel{
  border-color:#315B40;background-color:#123522;
  background-image:linear-gradient(145deg,#173D28,#0D2F1D)
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}


/* Session restoration: keep returning users out of the sign-in screen while
   Supabase checks their persistent browser session. */
#session-restore-screen{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
  min-height:100svh;padding:24px;
  background:radial-gradient(ellipse at 50% 38%,#e4f6e8 0%,#f5f9f5 58%,#edf5ee 100%);
  color:#173325;
}
#session-restore-screen[hidden],#login-screen[hidden],#workspace[hidden]{display:none!important}
.cs-session-restore-card{
  display:grid;justify-items:center;gap:12px;width:min(100%,360px);
  padding:32px 26px;border:1px solid #dce9de;border-radius:24px;
  background:#ffffffed;box-shadow:0 22px 60px #0b2e1b12;text-align:center;
}
.cs-session-restore-card img{width:52px;height:52px;object-fit:contain}
.cs-session-restore-brand{color:#0b2e1b;font-size:20px;font-weight:850;letter-spacing:-.04em}
.cs-session-restore-brand strong{color:#15803d}
.cs-session-restore-card p{max-width:285px;margin:0;color:#53695b;font-size:13px;line-height:1.55}
.cs-session-restore-spinner{
  width:25px;height:25px;border:3px solid #dce9de;border-top-color:#15803d;
  border-radius:50%;animation:cs-session-spin .8s linear infinite;
}
#session-restore-retry{margin-top:5px;min-width:120px}
@keyframes cs-session-spin{to{transform:rotate(360deg)}}

/* Lightweight page-entry feedback; no large transforms or perpetual animation. */
#workspace .page.active{animation:cs-page-enter .16s ease-out both}
@keyframes cs-page-enter{
  from{opacity:.82;transform:translateY(3px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .cs-session-restore-spinner{animation:none;border-top-color:#15803d}
  #workspace .page.active{animation:none}
}


/* Final green-accent harmonization for feature-owned components.
   Retains amber safety/warning and red/declined states where colour carries meaning. */
#workspace .campus-home-pulse .student-shortcut-icon{
  background:#DCFCE7 !important;border-color:#BBF7D0 !important;color:#166534 !important;
}
#workspace .campus-home-academics .student-shortcut-icon{
  background:#ECFDF5 !important;border-color:#A7F3D0 !important;color:#14532D !important;
}
#workspace .creator-tool-mark.mark-photo{
  background:#DCFCE7 !important;border-color:#BBF7D0 !important;color:#166534 !important;
}
#workspace .creator-tool-mark.mark-rea{
  background:#ECFDF5 !important;border-color:#A7F3D0 !important;color:#14532D !important;
}
#page-shieldmind .shieldmind-insights-topic[data-level="early"] .shieldmind-insights-progress span{
  background:linear-gradient(90deg,#15803D,#86EFAC) !important;
}
#workspace .campus-ideas-impact .cii-status-in_progress{
  border-color:#A7F3D0 !important;background:#ECFDF5 !important;color:#166534 !important;
}
#workspace .campus-voice-player{
  accent-color:#15803D !important;
}
#login-screen .login-brand-copy small{
  color:#B7D9C1 !important;
}
#page-shieldmind .shieldmind-insights-topics h3,
#page-shieldmind .shieldmind-insights-recommendation h3,
#page-shieldmind .shieldmind-insights-topic-name,
#page-shieldmind .shieldmind-insights-topic-score{
  color:#14532D !important;
}
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-topics h3,
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-recommendation h3,
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-topic-name,
html[data-theme="dark"] #page-shieldmind .shieldmind-insights-topic-score{
  color:#E5F3E8 !important;
}
