/* Version 4: authenticated dashboards only. Login styles remain independent. */
.dashboard-page{--bg:var(--dash-page-bg);--ink:var(--dash-text);--muted:var(--dash-muted);--line:var(--dash-border);background:var(--bg);color:var(--ink)}
.dashboard-page .sidebar{width:260px;padding:24px 12px 16px;background:var(--dash-sidebar-bg);color:var(--dash-sidebar-text);border:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--dash-label-text) transparent}
.dashboard-page .shell{margin-left:260px}.dashboard-brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px;border-bottom:1px solid #ffffff25}.dashboard-brand>div:last-child{min-width:0}.dashboard-brand strong{display:block;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.dashboard-brand small{display:block;font-size:12px;margin-top:4px;color:var(--dash-label-text)}.dashboard-brand .logo{width:46px;height:46px;border-radius:50%;background:white;color:#04175B;border:3px solid white;letter-spacing:0}.dashboard-brand .logo img{border-radius:50%;object-fit:contain}
.user-card{display:flex;align-items:center;gap:10px;padding:12px;background:var(--dash-user-bg);color:var(--dash-user-text);border-radius:10px;margin:16px 0 12px}.user-card>div{min-width:0}.user-card strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.user-card small{display:block;font-size:12px;line-height:1.5;margin-top:3px}.user-initials{background:var(--dash-active-bg);color:var(--dash-active-text);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0}
.dashboard-page nav.dashboard-nav{display:block}.dashboard-page .nav-group{margin:8px 0}.dashboard-page .nav-label{padding:12px 12px 6px;font-size:11px;color:var(--dash-label-text);letter-spacing:1.1px}.dashboard-page .dashboard-nav a{color:var(--dash-sidebar-text);font-size:14px;min-height:44px;padding:10px 12px;margin:3px 0;gap:10px}.dashboard-page .dashboard-nav a .icon{width:19px;height:19px}.dashboard-page .dashboard-nav a:hover{background:var(--dash-user-bg);color:var(--dash-user-text)}.dashboard-page .dashboard-nav a.active{background:var(--dash-active-bg);color:var(--dash-active-text);border:0;padding:10px 12px}.dashboard-page .sidebar-bottom{padding:16px 8px 0;border-color:#ffffff25;margin-top:auto;flex-shrink:0}.dashboard-page .sidebar-bottom small{font-size:12px;color:var(--dash-label-text)}.dashboard-page .sidebar-bottom .quiet{color:var(--dash-sidebar-text);padding-left:0}.dashboard-page .sidebar-bottom .quiet:hover{background:var(--dash-user-bg);color:var(--dash-user-text)}
.dashboard-page .topbar{height:76px;background:var(--dash-header-bg);color:var(--dash-header-text);padding:0 32px}.workspace-heading small,.workspace-heading strong{display:block}.workspace-heading small{font-size:12px;margin-bottom:2px}.workspace-heading strong{font-size:16px;line-height:1.3}.dashboard-page .content{padding:28px 32px 32px;max-width:1400px}.dashboard-page .panel,.dashboard-page .action-card{background:var(--dash-card-bg);color:var(--dash-text);border-color:var(--dash-border)}.dashboard-page .panelbody h3,.dashboard-page .hero h2{overflow-wrap:anywhere}.dashboard-page h1{font-size:30px}.dashboard-page h2{font-size:20px}.dashboard-page .tag{font-size:12px}.dashboard-page .panelhead{flex-wrap:wrap;padding:20px 24px}.dashboard-page .panelhead p{margin-top:4px}.dashboard-page .empty h2{color:var(--dash-text)}.dashboard-page .empty p{max-width:680px;margin-left:auto;margin-right:auto}.dashboard-page .footer{font-size:12px}.test-notice{font-size:14px;color:var(--dash-muted);border-left:3px solid #FFB11A;padding:8px 12px;margin:-8px 0 24px}
.student-welcome{border-radius:12px;background:#04175B;color:white;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:3px solid #FFB11A}.student-welcome .eyebrow{color:#FFB11A}.student-welcome h2{font-size:30px;letter-spacing:-.6px;margin:10px 0 12px;overflow-wrap:anywhere}.student-welcome p{color:#d4def3;font-size:15px}.year-card{min-width:200px;border-left:1px solid #ffffff40;padding-left:24px}.year-card small,.year-card strong,.year-card span{display:block}.year-card small{font-size:12px;color:#d4def3}.year-card strong{font-size:20px;margin:4px 0}.year-card span{font-size:12px;color:#d4def3;max-width:160px}
.overview-status{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border:1px solid var(--line);background:var(--dash-card-bg);border-radius:12px;overflow:hidden}.overview-status>div{padding:20px 24px;display:flex;align-items:center;gap:14px}.overview-status>div+div{border-left:1px solid var(--line)}.overview-status .icon{color:#153c9d}.overview-status small{color:var(--muted);display:block;font-size:13px}.overview-status strong{display:block;font-size:16px;margin-top:4px;overflow-wrap:anywhere}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px}.quick-link{color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;gap:12px;min-width:0;position:relative}.quick-link:hover{border-color:#8ea4c8;background:#edf2ff;color:#172541}.quick-link strong{font-size:15px;line-height:1.4}.quick-link small{font-size:13px;color:var(--muted);line-height:1.5}.quick-link>.icon{position:absolute;right:14px;top:30px;width:18px;color:#153c9d}.overview-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.overview-grid .empty{padding:64px 24px}.upcoming-grid{display:grid;gap:20px}.compact-empty{display:flex;gap:12px;align-items:center;padding:24px;color:var(--muted);font-size:14px}.compact-empty .icon{color:#153c9d}.overview-note{margin-top:24px;max-width:760px}.appearance-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.profile-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.profile-sections .field input{max-width:100%}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.profile-list dt{font-size:13px;color:var(--muted);margin-bottom:6px}.profile-list dd{margin:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}.profile-stack{display:grid;gap:24px}.profile-stack .panel p{margin-top:10px}.profile-form-note{font-size:14px;color:var(--muted);margin:0 0 20px}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.theme-grid .field{margin:0}.dashboard-style-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.dashboard-style-grid .preview-column{position:sticky;top:24px}.dashboard-preview-shell{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--dash-card-bg)}.dashboard-preview-shell iframe{border:0;display:block;transform-origin:top left}.theme-preview-tabs{display:flex;gap:8px;margin:16px 0}.theme-preview-tabs button[aria-pressed=true]{background:#04175B;color:white}.theme-save-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.dashboard-page.menu-open{overflow:hidden}
@media(max-width:1100px){.quick-grid{grid-template-columns:repeat(2,1fr)}.overview-status>div{padding:16px}.dashboard-style-grid{grid-template-columns:1fr}.dashboard-style-grid .preview-column{position:static;grid-row:1}.student-welcome h2{font-size:26px}}
@media(max-width:800px){.dashboard-page .shell{margin-left:0}.dashboard-page .sidebar{transform:translateX(-100%);width:min(280px,calc(100vw - 44px));transition:transform .2s}.dashboard-page .sidebar.open{transform:translateX(0)}.dashboard-page .mobile-menu{display:inline-flex;flex-shrink:0}.dashboard-page .topbar{height:72px;padding:0 16px;gap:8px}.dashboard-page .top-left{min-width:0}.dashboard-page .workspace-heading{min-width:0}.dashboard-page .top-right .tag,.dashboard-page .admin-name{display:none}.dashboard-page .top-right{flex-shrink:0}.dashboard-page .content{padding:24px 16px 32px}.dashboard-page .pagehead{align-items:flex-start;flex-direction:column;gap:16px}.dashboard-page h1{font-size:27px}.dashboard-page .panelhead{padding:20px}.dashboard-page .panelbody{padding:20px}.student-welcome{padding:24px;align-items:flex-start;flex-direction:column}.student-welcome h2{font-size:26px}.year-card{border-left:0;border-top:1px solid #ffffff40;padding:16px 0 0;min-width:0;width:100%}.year-card span{max-width:none}.overview-grid,.profile-sections{grid-template-columns:1fr}.overview-status{grid-template-columns:1fr}.overview-status>div{padding:16px 20px}.overview-status>div+div{border-left:0;border-top:1px solid var(--line)}.overview-grid .empty{padding:40px 24px}.quick-grid{padding:20px;gap:12px}.quick-link{padding:16px}.quick-link>.icon{display:none}.profile-list{gap:20px}.dashboard-page .sidebar-bottom{padding-top:20px}.dashboard-page .two{grid-template-columns:1fr}.dashboard-page .sidebar{max-height:100dvh}.dashboard-page .footer{gap:8px;flex-direction:column;align-items:flex-start}.dashboard-style-grid .preview-column{position:static}.theme-grid{gap:16px}}
@media(max-width:380px){.quick-grid,.profile-list{grid-template-columns:1fr}.theme-grid{grid-template-columns:1fr}.workspace-heading strong{font-size:14px}.user-card{padding:10px}.dashboard-brand strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.dashboard-page .sidebar{transition:none}}
.dashboard-brand,.dashboard-nav,.user-card{flex-shrink:0}.dashboard-page .avatar{background:#edf2ff;color:#04175B}.dashboard-page .student-welcome h2{color:white}.dashboard-page .content a:not(.button):not(.action-card):not(.quick-link){color:#153c9d}.dashboard-page input,.dashboard-page select,.dashboard-page textarea{color:#172541;background:white}.dashboard-page th{color:#53637d;background:#f4f6fb}.dashboard-page .quick-link:hover small{color:#53637d}
.dashboard-style-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-style-grid>.preview-column,.dashboard-style-grid>form{min-width:0}.dashboard-preview-shell{min-width:0}.dashboard-page .content{min-width:0}
@media(max-width:1100px){.dashboard-style-grid{grid-template-columns:minmax(0,1fr)}}
