.portal-shell[data-portal-role=student]{--primary:#1e90ff;--primary-foreground:#ffffff;--primary-glow:rgba(30,144,255,0.14);--accent:#4da6ff;--ring:#1e90ff;--student-blue-dark:#1873cc;--student-blue-soft:#e8f3ff}.portal-shell[data-portal-role=student][data-portal-theme=light]{--pt-bg:#f4f7fb;--pt-surface:#ffffff;--pt-muted:#f0f4f9;--pt-elevated:#ffffff;--pt-border:#e2e8f0;--pt-border-subtle:#edf2f7;--pt-text:#0f172a;--pt-text-secondary:#334155;--pt-text-muted:#64748b;--pt-text-faint:#94a3b8;--pt-nav-hover:rgba(30,144,255,0.06);--pt-nav-active-bg:rgba(30,144,255,0.1);--pt-nav-active-text:#1873cc;--pt-header-bg:rgba(255,255,255,0.92);--pt-shadow:0 1px 2px rgba(15,23,42,0.04);--pt-shadow-md:0 16px 40px -20px rgba(30,144,255,0.14);--pt-progress-track:#e2e8f0;--background:var(--pt-bg);--foreground:var(--pt-text);--card:var(--pt-surface);--card-border:var(--pt-border);--secondary:var(--pt-muted);--border:var(--pt-border);--surface:var(--pt-muted);--surface-muted:var(--pt-border-subtle);--muted-foreground:var(--pt-text-muted);background:radial-gradient(ellipse 70% 45% at 100% -5%,rgba(30,144,255,.07),transparent 55%),var(--pt-bg)}.portal-shell[data-portal-role=student][data-portal-theme=dark]{--primary:#4da6ff;--primary-foreground:#0f172a;--primary-glow:rgba(77,166,255,0.18);--accent:#7cc0ff;--ring:#4da6ff;--pt-bg:#0f172a;--pt-surface:#1e293b;--pt-muted:#243044;--pt-elevated:#2a3548;--pt-border:rgba(148,163,184,0.14);--pt-border-subtle:rgba(148,163,184,0.08);--pt-text:#f8fafc;--pt-text-secondary:#cbd5e1;--pt-text-muted:#94a3b8;--pt-text-faint:#64748b;--pt-nav-hover:rgba(77,166,255,0.08);--pt-nav-active-bg:rgba(30,144,255,0.16);--pt-nav-active-text:#7cc0ff;--pt-header-bg:rgba(15,23,42,0.92);--pt-shadow:0 1px 2px rgba(0,0,0,0.35);--pt-shadow-md:0 20px 50px -20px rgba(0,0,0,0.55);--pt-progress-track:rgba(148,163,184,0.15);background:radial-gradient(ellipse 55% 40% at 100% 0,rgba(30,144,255,.1),transparent 50%),var(--pt-bg)}.portal-shell[data-portal-role=student] .student-sidebar{background:var(--pt-surface);border-right:1px solid var(--pt-border);box-shadow:4px 0 28px -16px rgba(30,144,255,.1)}.portal-shell[data-portal-role=student][data-portal-theme=light] .student-sidebar{background:#ffffff}.portal-shell[data-portal-role=student] .student-sidebar-header{border-bottom-color:var(--pt-border-subtle)}.portal-shell[data-portal-role=student] .student-sidebar-profile{background:linear-gradient(135deg,var(--student-blue-soft) 0,var(--pt-surface) 100%);border:1px solid rgba(30,144,255,.15);border-radius:.875rem}.portal-shell[data-portal-role=student][data-portal-theme=dark] .student-sidebar-profile{background:linear-gradient(135deg,rgba(30,144,255,.12) 0,var(--pt-muted) 100%);border-color:rgba(77,166,255,.2)}.portal-shell[data-portal-role=student] .student-topbar{background:var(--pt-header-bg);border-bottom-color:var(--pt-border-subtle);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.portal-shell[data-portal-role=student] .student-portal-content{animation:student-fade-in .45s cubic-bezier(.22,1,.36,1)}@keyframes student-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.portal-shell[data-portal-role=student] .portal-nav-link{border-radius:.625rem;color:var(--pt-text-muted);transition:background .18s ease,color .18s ease}.portal-shell[data-portal-role=student] .portal-nav-link:hover{background:var(--pt-nav-hover);color:var(--pt-text-secondary)}.portal-shell[data-portal-role=student] .portal-nav-link-active{box-shadow:none;color:var(--pt-nav-active-text);font-weight:600;background:var(--pt-nav-active-bg)}.portal-shell[data-portal-role=student] .portal-nav-link-active svg{color:var(--primary)}.portal-shell[data-portal-role=student] .portal-card{border-radius:1rem;background:var(--pt-surface);border-color:var(--pt-border);box-shadow:var(--pt-shadow);transition:box-shadow .22s ease,border-color .2s ease}.portal-shell[data-portal-role=student] .portal-card:hover{box-shadow:var(--pt-shadow-md);border-color:color-mix(in srgb,var(--primary) 28%,var(--pt-border))}.student-badge-live{background:rgba(30,144,255,.1);border:1px solid rgba(30,144,255,.28);color:var(--student-blue-dark)}.portal-shell[data-portal-theme=dark] .student-badge-live{color:var(--accent);border-color:rgba(77,166,255,.35)}.student-badge-pending{background:var(--pt-muted);border:1px solid var(--pt-border);color:var(--pt-text-muted)}.portal-shell[data-portal-role=student] .portal-tone-amber,.portal-shell[data-portal-role=student] .portal-tone-emerald,.portal-shell[data-portal-role=student] .portal-tone-indigo,.portal-shell[data-portal-role=student] .portal-tone-sky{border-color:color-mix(in srgb,var(--primary) 18%,var(--pt-border));background:var(--pt-surface)}.portal-shell[data-portal-role=student] .portal-stat-accent-orange{background:color-mix(in srgb,var(--primary) 7%,var(--pt-surface));border-color:color-mix(in srgb,var(--primary) 22%,var(--pt-border))}.portal-shell[data-portal-role=student] .portal-stat-accent-blue,.portal-shell[data-portal-role=student] .portal-stat-accent-green,.portal-shell[data-portal-role=student] .portal-stat-accent-slate{background:var(--pt-muted);border-color:var(--pt-border)}.portal-shell[data-portal-role=student] .portal-stat-text-orange{color:var(--primary)}.portal-shell[data-portal-role=student] .portal-stat-text-blue,.portal-shell[data-portal-role=student] .portal-stat-text-green{color:var(--pt-text-secondary)}.portal-shell[data-portal-role=student] .portal-stat-text-slate{color:var(--pt-text-muted)}.student-cta-glow{position:relative;overflow:hidden}.student-cta-glow:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.22) 50%,transparent 75%);transform:translateX(-120%);animation:student-shimmer 4s ease-in-out infinite}@keyframes student-shimmer{0%,60%{transform:translateX(-120%)}85%,to{transform:translateX(120%)}}.student-help-fab{background:#1e90ff;color:#ffffff;border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 32px -8px rgba(30,144,255,.45)}.student-help-fab:hover{background:#1873cc;color:#ffffff}@media (prefers-reduced-motion:reduce){.student-cta-glow:after{animation:none!important}}.portal-shell[data-portal-role=student] .student-ambient-orbs span:first-child{background:rgba(30,144,255,.1)}.portal-shell[data-portal-role=student] .student-ambient-orbs span:nth-child(3){background:rgba(30,144,255,.06)}.student-glass-card{background:var(--pt-surface);border:1px solid var(--pt-border);box-shadow:var(--pt-shadow)}.portal-shell[data-portal-theme=dark] .student-glass-card{background:var(--pt-elevated);border-color:var(--pt-border)}.student-glass-welcome{background:linear-gradient(135deg,#0c2347,#1456a8 42%,#1e90ff);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px -24px rgba(30,144,255,.35);color:#ffffff}.portal-shell[data-portal-theme=dark] .student-glass-welcome,.portal-shell[data-portal-theme=light] .student-glass-welcome{background:linear-gradient(135deg,#0c2347,#1456a8 42%,#1e90ff);border-color:rgba(255,255,255,.14)}.student-glass-welcome .student-hero-text{color:rgba(255,255,255,.92)}.student-glass-welcome .student-hero-subtext{color:rgba(255,255,255,.78)}.student-glass-welcome .student-hero-badge-pending{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#ffffff}.student-glass-welcome .student-hero-badge-live{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);color:#ffffff}.portal-shell[data-portal-theme=light] .student-glass-welcome .text-white,.portal-shell[data-portal-theme=light] .student-glass-welcome h1{color:#ffffff}.student-glass-card-gold{background:linear-gradient(145deg,rgba(30,144,255,.1),var(--pt-surface));border-color:rgba(30,144,255,.18)}.student-glass-card-charcoal{background:linear-gradient(145deg,var(--pt-muted),var(--pt-surface))}.student-glass-card-muted{background:var(--pt-surface)}.student-glass-card-warm{background:linear-gradient(145deg,rgba(30,144,255,.06),var(--pt-muted))}.student-glass-card:hover{border-color:rgba(30,144,255,.28);box-shadow:var(--pt-shadow-md)}.student-welcome-orb{box-shadow:0 16px 40px -16px rgba(30,144,255,.3)}.student-dashboard-date{font-variant-numeric:tabular-nums}.student-trainer-card-header{background:var(--pt-muted);border-bottom:1px solid var(--pt-border-subtle)}