/* Spektra: charcoal, warm stone, and a restrained metallic accent. */
:root:not(.dark){--bg:#f4f2ed;--surface:#fffefa;--ink:#202a28;--muted:#616961;--line:#dddcd3;--accent:#365e50;--wash:#eaece5;--gold:#80683f;--gold-soft:#ede4d0;--panel-hover:#f7f6f0;color:var(--ink);background:var(--bg)}
.dark{--bg:#131917;--surface:#1c2420;--ink:#f2f2e9;--muted:#b8c2b9;--line:#37413a;--accent:#bad6c5;--wash:#28342c;--gold:#d4bf8d;--gold-soft:#403b2d;--panel-hover:#222d26;color:var(--ink);background:var(--bg)}
body{background:var(--bg);font-weight:450}
.workspace{background:radial-gradient(ellipse at 80% 0,color-mix(in srgb,var(--gold) 7%,transparent),transparent 45%),var(--bg)}
main{padding:34px 36px;max-width:1460px}
h1{font-size:34px;letter-spacing:-1.1px;line-height:1.2}
h2{font-size:21px;letter-spacing:-.5px}
.page-heading{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}
.page-heading p{margin-top:9px;max-width:75ch}
.topbar{height:66px;background:var(--bg);border-bottom:1px solid var(--line);padding:0 36px}
.crumb{font-size:12px;letter-spacing:.2px}
.crumb b{font-weight:700}.crumb span{color:var(--gold)!important}
.top-actions{gap:14px}.logout{font-size:12px}
.top-actions .icon-button{border:1px solid var(--line);border-radius:50%;padding:8px;background:var(--surface)}
.sidebar,:root:not(.dark) .sidebar{background:#1a2420;border-right:1px solid #344038;padding:30px 14px 12px}
.sidebar .full-logo,.dark .sidebar .full-logo{filter:invert(1);mix-blend-mode:screen;max-width:200px}
.sidebar .brand{padding:0 17px 24px}
.sidebar .brand span,.dark .sidebar .brand span,:root:not(.dark) .sidebar .brand span{color:#c7b88f;font-size:10px;letter-spacing:3px;margin-top:16px}
.sidebar .nav-caption,.dark .sidebar .nav-caption,:root:not(.dark) .sidebar .nav-caption{color:#a1afa6;font-size:9px;letter-spacing:1.6px;padding:0 16px 12px}
.sidebar nav{gap:4px}
.sidebar .nav-item,:root:not(.dark) .sidebar .nav-item,.dark .sidebar .nav-item{color:#d2dbd5;font-size:13px;line-height:1.5;font-weight:600;padding:10px 12px;border-radius:7px;position:relative}
.sidebar .nav-item .icon{width:18px;height:18px;color:#9daf9f}
.sidebar .nav-item:hover,:root:not(.dark) .sidebar .nav-item:hover,.dark .sidebar .nav-item:hover{background:#28352d;color:#fff}
.sidebar .nav-item.active,:root:not(.dark) .sidebar .nav-item.active,.dark .sidebar .nav-item.active{background:#e7ddc2;color:#242d26;box-shadow:none;font-weight:800}
.sidebar .nav-item.active .icon{color:#4d604d}
.sidebar .nav-item small,:root:not(.dark) .sidebar .nav-item small,.dark .sidebar .nav-item small{background:#344238;color:#d8e3da;font-size:10px;border-radius:4px}
.sidebar .nav-item.active small{background:#d2c6a8!important;color:#344536!important}
.sidebar-footer{border-color:#39463d;margin-top:16px;padding-top:10px}
.sidebar .profile{color:#f2f2e9;padding:12px 10px}
.sidebar .profile strong{font-size:13px}
.sidebar .profile small,:root:not(.dark) .sidebar .profile small,.dark .sidebar .profile small{color:#b1bfb5}
.sidebar .avatar{background:#34473b;color:#dfd4b6;border:1px solid #516451}
.sidebar .profile:hover,:root:not(.dark) .sidebar .profile:hover,.dark .sidebar .profile:hover{background:#28352d}
.sidebar .sidebar-support,:root:not(.dark) .sidebar .sidebar-support,.dark .sidebar .sidebar-support{color:#cbd7ce;font-size:13px;font-weight:600}
.sidebar .sidebar-support:hover,.sidebar .sidebar-support.active,:root:not(.dark) .sidebar .sidebar-support:hover,:root:not(.dark) .sidebar .sidebar-support.active,.dark .sidebar .sidebar-support:hover,.dark .sidebar .sidebar-support.active{background:#28352d;color:#fff;box-shadow:none}
.card,.stat{border-color:var(--line);background:var(--surface);border-radius:12px}
.button,:root:not(.dark) .button{border-color:var(--line);color:var(--ink);background:var(--surface);border-radius:7px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}
.button:hover{background:var(--wash);border-color:var(--gold)}
.button.primary,:root:not(.dark) .button.primary,.button.active,.tabs .button.active,:root:not(.dark) .tabs .button.active,.dark .tabs .button.active{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.dark .button.primary,.dark .button.active,.dark .tabs .button.active{color:#17221b}
.button.primary:hover,:root:not(.dark) .button.primary:hover{filter:brightness(.94);background:var(--accent)}
.text-button{color:var(--accent)!important;background:none!important;border:0;padding-left:0}
.button.white{background:#e8dcc0;border-color:#e8dcc0;color:#202e24}
.button.white:hover{background:#f1e7d0}
.edit{color:var(--muted)!important;border-radius:6px}
.edit:hover{background:var(--wash);color:var(--accent)!important}
.badge,:root:not(.dark) .badge,.dark .badge{background:var(--wash);color:var(--accent);border-radius:5px;font-size:11px;letter-spacing:.1px}
.badge.pending,:root:not(.dark) .badge.pending,.dark .badge.pending{background:var(--gold-soft);color:var(--gold)}
.search{border-radius:9px;border-color:var(--line);background:var(--surface)}
.search .icon{color:var(--muted)}
input,select,textarea,:root:not(.dark) input,:root:not(.dark) select,:root:not(.dark) textarea{background:var(--surface);border-color:var(--line);color:var(--ink);border-radius:7px}
.search input,:root:not(.dark) .search input{background:transparent;border:0}
input::placeholder,textarea::placeholder,:root:not(.dark) input::placeholder,:root:not(.dark) textarea::placeholder{color:var(--muted)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.dark button:focus-visible,.dark a:focus-visible,.dark input:focus-visible,.dark select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.resource-library-grid,.carrier-directory-grid{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:0;overflow:hidden}
.resource-library-grid>.resource,.carrier-directory-grid>.carrier{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:18px 20px;transition:background .15s}
.resource-library-grid>.resource:last-child,.carrier-directory-grid>.carrier:last-child{border-bottom:0}
.resource-library-grid>.resource:hover,.carrier-directory-grid>.carrier:hover{background:var(--panel-hover)}
.resource-library-grid h3,.carrier-info>h3{font-size:16px;letter-spacing:-.25px}
.resource-library-grid .card-bottom .button:not(.primary),.carrier-row-actions .button:not(.primary){background:transparent;border-color:var(--line)}
.resource-library-grid .card-bottom .button:hover,.carrier-row-actions .button:hover{background:var(--wash)}
.carrier-directory-row .carrier-reps{border-color:var(--line)}
.carrier-reps .eyebrow{color:var(--muted)}
.section-heading h2:before{content:'';display:inline-block;width:5px;height:17px;background:var(--gold);margin-right:10px;vertical-align:-1px;border-radius:2px}
.launch{background:#22392c;border:1px solid #405840;border-radius:14px;padding:32px;min-height:272px;position:relative;isolation:isolate}
.launch:after{content:none}
.launch>div:first-child{position:relative;z-index:2}
.launch h2{font-size:36px;letter-spacing:-1.2px;font-weight:650;color:#faf7eb;line-height:1.17;margin-bottom:15px}
.launch p{color:#c3d0c2;font-size:15px;line-height:1.65;margin-bottom:22px}
.outline-tag{border:0;border-radius:0;padding:0;font-size:10px;letter-spacing:2px;color:#d5c394;margin-bottom:18px}
.launch-emblem{position:absolute;right:90px;top:18px;width:235px;pointer-events:none;z-index:0;opacity:.045;transform:rotate(-12deg)}
.launch-emblem img{width:100%;filter:invert(1);mix-blend-mode:screen}
.progress-ring{width:154px;min-width:154px;height:154px;position:relative;z-index:1}
.progress-ring>svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.progress-ring circle{fill:none;stroke-width:3}
.ring-track{stroke:#6d806250}.ring-fill{stroke:#ddc896;stroke-linecap:round}
.progress-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.progress-ring strong{font-size:48px;color:#f8f2e3;font-weight:600;letter-spacing:-2px;line-height:1}
.progress-ring strong small{font-size:18px;font-weight:400;letter-spacing:0;color:#c0cebb;margin-left:5px}
.progress-ring span{font-size:9px;letter-spacing:1px;margin-top:12px;color:#d5dfcf}
.overview-top{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px}
.next-session{border-top:3px solid var(--gold);padding:24px;justify-content:center}
.next-session .eyebrow{margin-bottom:10px;color:var(--gold)}
.next-session>.icon{width:23px;height:23px;color:var(--accent)!important;margin:0 0 12px}
.next-session h3{font-size:20px}
.next-session p{font-size:14px}
.stat{display:grid;grid-template-columns:1fr auto;align-items:center;padding:20px 24px;border-left:3px solid var(--gold)}
.stat>div{font-size:13px;font-weight:650;color:var(--muted)}
.stat>div>.icon{display:none}
.stat strong{grid-column:2;grid-row:1 / span 2;margin:0;font-size:34px;color:var(--accent)}
.stat small{grid-column:1;font-size:12px;margin-top:4px}
.essential{border-radius:12px;padding:20px;min-height:184px}
.essential>.icon,:root:not(.dark) .essential>.icon,.dark .essential>.icon{background:var(--wash);color:var(--accent);padding:9px;margin-bottom:14px;border-radius:8px}
.essential h3{font-size:16px;padding-right:0}
.essential p{font-size:13px;line-height:1.55}
.essential>span{font-size:12px;color:var(--accent);margin-top:16px}
.essential>span:after{content:' ↗';font-size:15px;margin-left:4px}
.essential:hover{transform:translateY(-2px);border-color:var(--gold);background:var(--panel-hover)}
.lesson-row .index{background:var(--gold-soft);color:var(--gold);font-weight:700;border-radius:5px}
.lesson-row .icon{color:var(--accent)!important}
.announcement{border-color:var(--line)}
.check-row{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:0;padding:16px 4px}
.check-row:last-child{border-bottom:0}
.check-row:hover{background:var(--panel-hover)}
.check-row small{color:var(--gold);letter-spacing:1px;font-weight:750}
.check-box{border-color:var(--line);color:var(--accent);border-radius:5px}
.check-row.done,.dark .check-row.done{background:var(--wash)}
.curriculum{background:var(--surface)}
.curriculum-lesson.selected,:root:not(.dark) .curriculum-lesson.selected,.dark .curriculum-lesson.selected{background:var(--wash);color:var(--accent);font-weight:750;border-left:2px solid var(--gold);border-radius:3px}
.video-placeholder{border:1px dashed var(--line);background:var(--bg);border-radius:10px}
.video-placeholder>.icon{color:var(--gold)!important}
.account-module-icon{background:var(--gold-soft);color:var(--gold)}
.avatar,:root:not(.dark) .avatar,.dark .avatar{background:var(--wash);color:var(--accent)}
.sidebar .avatar,:root:not(.dark) .sidebar .avatar,.dark .sidebar .avatar{background:#34473b;color:#dfd4b6}
.admin-groups{border-radius:9px;padding:4px;background:var(--surface)}
.admin-group.selected,:root:not(.dark) .admin-group.selected,.dark .admin-group.selected{background:var(--accent);color:var(--surface)}
.dark .admin-group.selected{color:#17221b}
.admin-group:hover,:root:not(.dark) .admin-group:hover,.dark .admin-group:hover{background:var(--wash);color:var(--ink)}
.admin-group.selected:hover{background:var(--accent);color:var(--surface)}
.admin-subnav button[aria-current],:root:not(.dark) .admin-subnav button[aria-current],.dark .admin-subnav button[aria-current]{color:var(--accent);border-color:var(--gold)}
th,:root:not(.dark) th{background:var(--wash);color:var(--muted)}
td,:root:not(.dark) td{color:var(--ink)}
tbody tr:hover,:root:not(.dark) tbody tr:hover{background:var(--panel-hover)}
.notice,.reply,:root:not(.dark) .notice,:root:not(.dark) .reply,.dark .notice,.dark .reply{background:var(--wash);color:var(--ink)}
.pipeline-modern,:root:not(.dark) .pipeline-modern,.dark .pipeline-modern{background:var(--surface);border-top:3px solid var(--gold)}
.pipeline-overview{background:var(--bg);border-color:var(--line)}
.phase-icon{background:var(--wash);color:var(--accent)}
.pipeline-status>span{background:var(--gold)}
.recruit-preview-notice{background:var(--surface);border-left:3px solid var(--gold)}
.branded-email{background:var(--surface);border-color:var(--line)}
.empty{border-color:var(--line);border-radius:12px;background:var(--surface)}
.empty>.icon{color:var(--gold)}
.result-card{border-top:3px solid var(--gold)}
.money-result{color:var(--accent)}
.result-line{border-color:var(--line)}
.calendar-event{background:var(--wash);border-left:2px solid var(--gold)}
.day{border-color:var(--line)}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.modal-backdrop{background:#111b16a8}
.auth-page{background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--gold) 17%,transparent),transparent 60%),var(--bg)}
.dark .auth-page{background:var(--bg)}
.auth-card{border-top:3px solid var(--gold)}
footer{font-size:11px;color:var(--muted);border-color:var(--line)}
@media(max-width:1150px){main{padding:28px}.topbar{padding:0 28px}.launch{padding:26px}.launch h2{font-size:31px}.progress-ring{width:126px;min-width:126px;height:126px}}
@media(max-width:800px){main{padding:24px 16px}.topbar{padding:0 16px;height:62px}h1{font-size:28px}.page-heading{padding-bottom:16px}.overview-top{grid-template-columns:1fr}.launch{min-height:250px}.next-session{padding:20px}.resource-library-grid>.resource,.carrier-directory-grid>.carrier{padding:16px}.stat{padding:17px 18px}.essential{min-height:0}.sidebar{width:258px}}
@media(max-width:450px){.launch{padding:23px 20px;gap:12px}.launch h2{font-size:29px}.launch p{font-size:13px}.outline-tag{font-size:8px;letter-spacing:1.3px}.progress-ring{width:96px;min-width:96px;height:96px}.progress-ring strong{font-size:34px}.progress-ring strong small{font-size:14px}.progress-ring span{font-size:7px;letter-spacing:.5px;margin-top:8px}.launch-emblem{right:-10px;width:190px}.launch .button{font-size:12px;padding:9px 10px}.stat strong{font-size:28px}.stat small{grid-column:1}.page-heading{gap:14px}}

.button.white,:root:not(.dark) .button.white,.dark .button.white{background:#e8dcc0;border-color:#e8dcc0;color:#202e24}
.dark .admin-group.selected:hover{color:#17221b}
