/* ==========================================================================
   APPLICANS OBSIDIAN — PRODUCT DESIGN SYSTEM
   Deep neutral materials, warm gold interaction, and restrained physical motion.
   ========================================================================== */

:root {
  --obsidian-1000:#030304;--obsidian-975:#050507;--obsidian-950:#08080b;--obsidian-925:#0b0b10;--obsidian-900:#101016;--obsidian-850:#15151d;--obsidian-800:#1b1b25;--obsidian-750:#23232f;
  --ivory-100:#f7f2e8;--ivory-200:#e8e0d2;--ivory-300:#cfc6b7;
  --gold-200:#FBCFE8;--gold-300:#4338CA;--gold-400:#C4B5FD;--gold-500:#4338CA;--gold-600:#916923;
  --green-400:#78c69d;--red-400:#e38b81;--blue-400:#86aee8;
  --color-bg-page:var(--obsidian-1000);--color-bg-shell:rgba(8,8,11,.88);--color-bg-surface:rgba(18,18,25,.86);--color-bg-raised:rgba(27,27,37,.9);--color-bg-sunken:rgba(3,3,5,.64);--color-bg-hover:rgba(255,255,255,.045);--color-bg-selected:rgba(196,181,253,.1);
  --color-text-primary:var(--ivory-100);--color-text-secondary:rgba(232,224,210,.76);--color-text-tertiary:rgba(232,224,210,.5);--color-text-disabled:rgba(232,224,210,.3);
  --color-border-subtle:rgba(247,242,232,.075);--color-border-default:rgba(247,242,232,.12);--color-border-strong:rgba(247,242,232,.19);
  --color-accent-solid:var(--gold-400);--color-accent-solid-hover:var(--gold-300);--color-accent-text:var(--gold-300);--color-accent-border:rgba(196,181,253,.32);--color-accent-soft:rgba(196,181,253,.09);--color-success:var(--green-400);--color-danger:var(--red-400);
  --bg:var(--color-bg-page);--bg-deep:var(--obsidian-1000);--bg2:var(--obsidian-900);--surface:var(--color-bg-hover);--surface-2:rgba(255,255,255,.065);--panel:var(--color-bg-surface);--border:var(--color-border-default);--border-2:var(--color-border-strong);--border-gold:var(--color-accent-border);
  --gold:var(--gold-400);--gold2:var(--gold-300);--gold3:var(--gold-200);--gold4:#fff3cf;--gold-dim:var(--color-accent-soft);--text:var(--color-text-primary);--t2:var(--color-text-secondary);--t3:var(--color-text-tertiary);--t4:var(--color-text-disabled);--green:var(--color-success);--red:var(--color-danger);--blue:var(--blue-400);
  --font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",sans-serif;--font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter Tight","Inter",sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--h:var(--font-display);--b:var(--font-ui);--mono:var(--font-mono);
  --radius-control:12px;--radius-card:20px;--radius-shell:28px;--radius-pill:999px;--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--ease:var(--ease-out);
  --shadow-card:0 1px 0 rgba(255,255,255,.035) inset,0 20px 50px rgba(0,0,0,.18);--shadow-floating:0 1px 0 rgba(255,255,255,.05) inset,0 28px 80px rgba(0,0,0,.44);
}

html{color-scheme:dark;background:var(--obsidian-1000)}
html,body{height:auto;min-height:100%;overflow-x:clip;background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-ui);font-size:16px;line-height:1.5;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:radial-gradient(circle at 80% -8%,rgba(67,56,202,.14),transparent 32rem),radial-gradient(circle at -10% 90%,rgba(61,55,89,.17),transparent 38rem),var(--color-bg-page)}
body::before{opacity:.018;mix-blend-mode:soft-light;pointer-events:none}
::selection{color:var(--obsidian-1000);background:var(--gold-300)}
:where(button,a,input,textarea,select,[role="button"],[tabindex]):focus-visible{outline:2px solid var(--gold-300);outline-offset:3px}
:where(button,[role="button"]){-webkit-tap-highlight-color:transparent}
#dashboard :is(h1,h2,h3,h4,h5,h6),#login-screen :is(h1,h2,h3){color:var(--color-text-primary);font-family:var(--font-display);font-weight:580;letter-spacing:-.025em;text-wrap:balance}
#dashboard :is(p,.svc-desc,.pdesc,.wsub,.pb-detail),#login-screen p{text-wrap:pretty}

/* Controls and fields */
#dashboard :is(.ctrl-btn,.svc-cta,.submit-btn,.btn-next,.btn-back,.pb-edit,.logout-btn,.chat-send,.mc-action,.ps-submit,.ps-next),#login-screen .login-btn{min-height:42px;border-radius:var(--radius-control);font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:-.005em;text-transform:none;transition:color 140ms ease,background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease,transform 140ms var(--ease-out),opacity 140ms ease}
#dashboard :is(.ctrl-btn.primary,.svc-cta,.submit-btn,.btn-next,.chat-send,.ps-submit,.mc-action.primary),#login-screen .login-btn{color:#171208!important;border:1px solid rgba(255,255,255,.2)!important;background:linear-gradient(145deg,var(--gold-200) 0%,var(--gold-400) 48%,var(--gold-500) 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 10px 28px -14px rgba(196,181,253,.7)!important;text-shadow:none}
#dashboard :is(.ctrl-btn,.btn-back,.pb-edit,.logout-btn,.svc-back-btn,.opt-pill,.subject-btn):not(.primary){color:var(--color-text-secondary);border:1px solid var(--color-border-default);background:rgba(255,255,255,.025);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
#dashboard :is(button,[role="button"],.tag):active,#login-screen :is(button,[role="button"]):active{transform:scale(.96)}
#dashboard :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select,.finput,.fselect,.ftextarea,.hero-input,.luxury-textarea,.ap-select-trigger),#login-screen .linput{width:100%;min-height:48px;color:var(--color-text-primary);caret-color:var(--gold-300);border:1px solid var(--color-border-default)!important;border-radius:var(--radius-control)!important;background:var(--color-bg-sunken)!important;background-image:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 1px 0 rgba(255,255,255,.015)!important;font-family:var(--font-ui);font-size:15px;line-height:1.5;transition:border-color 140ms ease,background-color 140ms ease,box-shadow 140ms ease}
#dashboard :is(textarea,.ftextarea,.luxury-textarea){min-height:112px;resize:vertical}
#dashboard :is(input,textarea,select,.hero-input,.ap-select-trigger):focus,#login-screen .linput:focus{outline:none;border-color:var(--color-accent-border)!important;background:rgba(7,7,10,.94)!important;box-shadow:0 0 0 3px rgba(196,181,253,.09),inset 0 1px 0 rgba(255,255,255,.03)!important}
#dashboard :is(input,textarea)::placeholder,#login-screen .linput::placeholder{color:rgba(232,224,210,.35);opacity:1}
#dashboard select option{color:var(--ivory-100);background:var(--obsidian-850)}
#dashboard :is(.flabel,.llabel,.svc-label,.settings-label){color:var(--color-text-secondary);font-family:var(--font-ui);font-size:13px;font-weight:550;letter-spacing:0;text-transform:none}
#dashboard :is(.tag,.opt-pill,.subject-btn,.pt-step,.t-plan,.badge,[class*="-pill"]){border-radius:var(--radius-pill)!important}
#dashboard :is(.tag,.opt-pill,.subject-btn){min-height:40px;padding:9px 14px;color:var(--color-text-secondary);border:1px solid var(--color-border-default);background:rgba(255,255,255,.025);transition:color 140ms ease,border-color 140ms ease,background-color 140ms ease,transform 140ms var(--ease-out)}
#dashboard :is(.tag.sel,.opt-pill.sel,.opt-pill.active,.subject-btn.active,[aria-pressed="true"]){color:var(--gold-200)!important;border-color:var(--color-accent-border)!important;background:var(--color-accent-soft)!important}

/* Login materials */
#login-screen{position:relative;isolation:isolate;min-height:100svh;background:radial-gradient(circle at 18% 12%,rgba(67,56,202,.1),transparent 28rem),radial-gradient(circle at 82% 96%,rgba(64,56,88,.22),transparent 34rem),var(--obsidian-1000)}
#login-screen::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.018) 47.1% 47.2%,transparent 47.3%)}
#login-screen .login-shell{border:1px solid var(--color-border-default);background:rgba(8,8,11,.72);box-shadow:var(--shadow-floating),0 0 0 1px rgba(196,181,253,.035)}
#login-screen .login-story{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 24%,rgba(196,181,253,.16),transparent 17rem),linear-gradient(145deg,rgba(22,22,29,.96),rgba(7,7,10,.98))}
#login-screen .login-story::after{content:"";position:absolute;width:28rem;height:28rem;right:-12rem;bottom:-16rem;border:1px solid rgba(196,181,253,.12);border-radius:50%;box-shadow:0 0 0 4rem rgba(196,181,253,.018),0 0 0 8rem rgba(196,181,253,.012);pointer-events:none}
#login-screen .login-story-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1}
#login-screen .login-monogram,#dashboard .tlogo-mark{display:inline-grid;place-items:center;color:#171208;background:linear-gradient(145deg,var(--gold-200),var(--gold-500));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 24px rgba(67,56,202,.22)}
#login-screen .login-monogram{width:42px;height:42px;border-radius:13px;font:650 18px/1 var(--font-display)}
#login-screen .login-logo{color:var(--ivory-100);font:600 17px/1.2 var(--font-display);letter-spacing:-.025em}
#login-screen .login-kicker{margin-top:3px;color:var(--color-text-tertiary);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
#login-screen .login-story-copy{position:relative;z-index:1;max-width:43rem}
#login-screen .login-story-eyebrow{display:block;margin-bottom:18px;color:var(--gold-300);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
#login-screen .login-story-copy h2{margin:0;font-size:clamp(2.7rem,5vw,5.4rem);line-height:.96;letter-spacing:-.065em}
#login-screen .login-story-copy h2 span{color:rgba(247,242,232,.42)}
#login-screen .login-story-copy p{max-width:54ch;margin:25px 0 0;color:var(--color-text-secondary);font-size:16px;line-height:1.72}
#login-screen .login-proof{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-border-subtle)}
#login-screen .login-proof>div{padding:22px 18px 0 0}
#login-screen .login-proof strong{display:block;color:var(--ivory-100);font:600 22px/1 var(--font-display);letter-spacing:-.035em}
#login-screen .login-proof span{display:block;margin-top:7px;color:var(--color-text-tertiary);font-size:12px;line-height:1.4}
#login-screen .login-box{background:rgba(11,11,16,.8);border:0;border-left:1px solid var(--color-border-subtle);box-shadow:none}
#login-screen .login-box-head{display:grid;gap:8px}
#login-screen .login-sub{display:flex;align-items:center;gap:8px;color:var(--color-text-tertiary);font-size:12px}
#login-screen .login-sub>span,#login-screen .login-security>span{width:6px;height:6px;flex:none;border-radius:50%;background:var(--green-400);box-shadow:0 0 12px rgba(120,198,157,.5)}
#login-screen .login-title{margin:18px 0 0;font-size:clamp(2rem,4vw,2.8rem);line-height:1.04;letter-spacing:-.045em}
#login-screen .login-intro{margin:0 0 10px;color:var(--color-text-tertiary);font-size:14px}
#login-screen .llabel{display:block;margin:14px 0 7px;color:var(--color-text-secondary);font-size:13px;font-weight:550;letter-spacing:0;text-transform:none}
#login-screen .linput{margin:0;padding:13px 14px}
#login-screen .login-pw{position:relative}
#login-screen .login-pw .linput{padding-right:66px}
#login-screen .login-pw button{position:absolute;inset-inline-end:7px;top:50%;min-width:52px;min-height:36px;translate:0 -50%;color:var(--gold-300);border:0;border-radius:9px;background:transparent;font:550 12px/1 var(--font-ui)}
#login-screen .login-btn{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:22px;padding:0 17px}
#login-screen .login-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:var(--color-text-tertiary);font-size:12px}
#login-screen .login-foot a{color:var(--color-text-secondary);text-decoration:none;text-underline-offset:3px}
#login-screen .login-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:25px;padding-top:20px;border-top:1px solid var(--color-border-subtle);color:var(--color-text-disabled);font-size:11px}
#login-screen .login-security>span{width:5px;height:5px}
#login-screen .login-security::before{content:none!important}

/* Dashboard chrome */
#dashboard{min-height:100svh;background:transparent;color:var(--color-text-primary)}
#dashboard .topbar{border:1px solid var(--color-border-subtle);background:rgba(13,13,18,.7);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 20px 40px rgba(0,0,0,.16);backdrop-filter:blur(28px) saturate(1.25);-webkit-backdrop-filter:blur(28px) saturate(1.25)}
#dashboard .ham{min-width:42px;min-height:42px;border-radius:12px;border:1px solid transparent}
#dashboard .ham span{width:17px;background:var(--color-text-tertiary)}
#dashboard .tlogo{display:flex;align-items:center;gap:10px;min-height:44px;padding:0;color:var(--ivory-100);border:0;background:transparent;-webkit-text-fill-color:currentColor}
#dashboard .tlogo-mark{width:30px;height:30px;border-radius:10px;font:650 13px/1 var(--font-display)}
#dashboard .tlogo-word{font:600 15px/1 var(--font-display);letter-spacing:-.025em}
#dashboard .topbar-right{gap:9px}
#dashboard .t-user{color:var(--color-text-tertiary);font-size:12px}
#dashboard .t-user strong{color:var(--color-text-secondary);font-weight:500}
#dashboard .t-plan{min-height:32px;display:inline-flex;align-items:center;padding:0 11px;color:var(--gold-300);border:1px solid var(--color-accent-border);background:var(--color-accent-soft);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
#dashboard .logout-btn{min-height:38px;padding:0 13px}
#dashboard .sidebar{border:1px solid var(--color-border-subtle);background:rgba(7,7,10,.92);box-shadow:var(--shadow-floating);backdrop-filter:blur(30px) saturate(1.1);-webkit-backdrop-filter:blur(30px) saturate(1.1);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}
#dashboard .sidebar-intro{display:grid;gap:4px;padding:5px 17px 18px;margin-bottom:7px;border-bottom:1px solid var(--color-border-subtle)}
#dashboard .sidebar-intro span,#dashboard .snav-label{color:var(--color-text-disabled);font-size:10px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
#dashboard .sidebar-intro strong{color:var(--color-text-secondary);font-size:12px;font-weight:520}
#dashboard .snav-label{padding-inline:17px;margin:19px 0 6px}
#dashboard .nav-item{min-height:42px;margin:2px 8px;width:calc(100% - 16px);padding:9px 11px;gap:11px;color:var(--color-text-tertiary);border:0;border-radius:12px;background:transparent;font-size:13px;font-weight:480}
#dashboard .nav-item::before{content:none}
#dashboard .nav-item svg{width:16px;height:16px;stroke-width:1.65;opacity:.82}
#dashboard .nav-item.active{color:var(--ivory-100);background:linear-gradient(90deg,rgba(196,181,253,.13),rgba(196,181,253,.045));box-shadow:inset 0 0 0 1px rgba(196,181,253,.14)}
#dashboard .nav-item.active svg{color:var(--gold-300);stroke:currentColor;opacity:1}
#dashboard .sidebar-foot{display:grid;gap:9px;padding:8px 0 0}
#dashboard .sidebar-ai-state{display:flex;align-items:center;gap:10px;margin:0 8px 2px;padding:12px;border:1px solid var(--color-border-subtle);border-radius:14px;background:rgba(255,255,255,.02)}
#dashboard .sidebar-ai-state>span{width:7px;height:7px;flex:none;border-radius:50%;background:var(--green-400);box-shadow:0 0 14px rgba(120,198,157,.45)}
#dashboard .sidebar-ai-state div{min-width:0;display:grid;gap:2px}
#dashboard .sidebar-ai-state strong{overflow:hidden;color:var(--color-text-secondary);font-size:11px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
#dashboard .sidebar-ai-state small{color:var(--color-text-disabled);font-size:9px}

/* Home */
#dashboard .app-head{border:0;background:transparent}
#dashboard .app-head-meta{display:flex;align-items:center;gap:13px;margin-bottom:10px}
#dashboard .app-eyebrow,#dashboard .section-kicker{color:var(--gold-300);font-size:10px;font-weight:650;letter-spacing:.14em;text-transform:uppercase}
#dashboard .app-head-signal{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-disabled);font-size:10px}
#dashboard .app-head-signal i,#dashboard .hs-context i{width:5px;height:5px;border-radius:50%;background:var(--green-400);box-shadow:0 0 10px rgba(120,198,157,.5)}
#dashboard .welcome{margin:0;font-size:clamp(2.35rem,5.3vw,4.8rem);line-height:.98;letter-spacing:-.06em;font-weight:580}
#dashboard .welcome .g{color:var(--gold-300);background:none;-webkit-text-fill-color:currentColor}
#dashboard .wsub{margin-top:12px;color:var(--color-text-tertiary);font-size:15px}
#dashboard .home-status{position:relative;overflow:hidden;border:1px solid var(--color-border-default);border-radius:24px;background:radial-gradient(circle at 8% 10%,rgba(196,181,253,.1),transparent 17rem),linear-gradient(145deg,rgba(24,24,32,.82),rgba(11,11,16,.92));box-shadow:var(--shadow-card)}
#dashboard .home-status::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
#dashboard .pb-avatar{display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.14);border-radius:16px;color:#171208;background:linear-gradient(145deg,var(--gold-200),var(--gold-500));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 30px rgba(67,56,202,.18);font:650 17px/1 var(--font-display)}
#dashboard .pb-name{color:var(--ivory-100);font-size:15px;font-weight:600}
#dashboard .pb-detail{margin-top:4px;color:var(--color-text-tertiary);font-size:12px}
#dashboard .hs-context{display:grid;gap:4px;margin-inline-start:auto;padding-inline:20px;border-inline-start:1px solid var(--color-border-subtle)}
#dashboard .hs-context span{color:var(--color-text-disabled);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
#dashboard .hs-context strong{display:flex;align-items:center;gap:7px;color:var(--color-text-secondary);font-size:12px;font-weight:550}
#dashboard .pb-edit{min-height:38px;padding:0 13px;white-space:nowrap}
#dashboard .progress-title{color:var(--color-text-secondary);font-size:12px;font-weight:550}
#dashboard .progress-pct{color:var(--gold-300);font:600 13px/1 var(--font-mono);font-variant-numeric:tabular-nums}
#dashboard .progress-bar-track{height:5px;border:0;border-radius:var(--radius-pill);background:rgba(255,255,255,.065);overflow:hidden}
#dashboard .progress-bar-inner{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-500),var(--gold-200));box-shadow:0 0 16px rgba(196,181,253,.22)}
#dashboard .progress-label{color:var(--color-text-disabled);font-size:11px}
#dashboard .pt-step{min-height:30px;padding:5px 9px;color:var(--color-text-tertiary);border:1px solid var(--color-border-subtle);background:rgba(255,255,255,.018);font-size:10px}
#dashboard .pt-step.pt-done{color:var(--green-400);border-color:rgba(120,198,157,.22);background:rgba(120,198,157,.07)}
#dashboard .panel-head{align-items:end}
#dashboard .section-kicker{display:block;margin-bottom:7px;color:var(--color-text-disabled)}
#dashboard .panel-title{color:var(--ivory-100);font-size:clamp(1.35rem,3vw,1.7rem);letter-spacing:-.035em}
#dashboard .panel-meta{color:var(--color-text-disabled);font:11px/1.3 var(--font-mono)}
#dashboard .hcard{position:relative;display:flex;flex-direction:column;min-width:0;min-height:228px;padding:18px;overflow:hidden;color:inherit;text-align:start;border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:linear-gradient(150deg,rgba(25,25,34,.78),rgba(10,10,14,.88));box-shadow:var(--shadow-card);cursor:pointer;transform-origin:center;transition:border-color 150ms ease,background-color 150ms ease,box-shadow 150ms ease,transform 150ms var(--ease-out)}
#dashboard .hcard::after{content:"";position:absolute;width:9rem;height:9rem;top:-7rem;right:-6rem;border-radius:50%;background:rgba(196,181,253,.08);filter:blur(18px);pointer-events:none}
#dashboard .hcard-top,#dashboard .hcard-foot{display:flex;align-items:center;justify-content:space-between}
#dashboard .hcard .ci{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--color-border-default);border-radius:13px;color:var(--gold-300);background:rgba(196,181,253,.06)}
#dashboard .hcard .ci svg{width:18px;height:18px;stroke:currentColor}
#dashboard .hcard-index{color:rgba(232,224,210,.24);font:10px/1 var(--font-mono)}
#dashboard .hcard-copy{display:grid;gap:6px;margin:22px 0 18px}
#dashboard .hcard-group{color:var(--gold-400);font-size:9px;font-weight:650;letter-spacing:.14em;text-transform:uppercase}
#dashboard .hcard-title{color:var(--ivory-100);font:580 16px/1.25 var(--font-display);letter-spacing:-.025em}
#dashboard .hcard-description{max-width:31ch;color:var(--color-text-tertiary);font-size:12px;line-height:1.55}
#dashboard .hcard-foot{margin-top:auto;padding-top:13px;border-top:1px solid var(--color-border-subtle);color:var(--color-text-tertiary);font-size:11px}
#dashboard .hcard-open{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;color:var(--gold-300);background:rgba(196,181,253,.07);transition:transform 150ms var(--ease-out),background-color 150ms ease}
#dashboard .hcard-plan{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-tertiary);background:transparent;border:0;font-size:10px}
#dashboard .hcard-lock{position:static;width:12px;height:12px;stroke:var(--gold-400)}
#dashboard .hcard.locked-card{opacity:.72}
#dashboard .saved-grid>.school-list-section,#dashboard .school-list-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:rgba(17,17,23,.7);box-shadow:var(--shadow-card)}
#dashboard .sl-title{color:var(--ivory-100);font-size:14px;font-weight:580}
#dashboard .sl-count{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 7px;color:var(--gold-300);border:1px solid var(--color-accent-border);background:var(--color-accent-soft);font:10px/1 var(--font-mono)}
#dashboard .sl-empty{color:var(--color-text-disabled);font-size:12px;line-height:1.55}

/* Tool and output surfaces */
#dashboard .svc-breadcrumb{color:var(--color-text-disabled)}
#dashboard .svc-back-btn{min-height:38px;padding:0 10px}
#dashboard .svc-breadcrumb-cur{color:var(--color-text-tertiary)}
#dashboard .svc-hero{position:relative;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:24px;background:linear-gradient(145deg,rgba(24,24,32,.72),rgba(9,9,13,.86));box-shadow:var(--shadow-card)}
#dashboard .svc-hero::after{content:"";position:absolute;right:-6rem;top:-8rem;width:17rem;height:17rem;border:1px solid rgba(196,181,253,.09);border-radius:50%;box-shadow:0 0 0 3rem rgba(196,181,253,.012);pointer-events:none}
#dashboard .svc-label{color:var(--gold-400);font-size:10px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
#dashboard .svc-title{color:var(--ivory-100);font-size:clamp(2rem,4.3vw,3.6rem);line-height:1.01;letter-spacing:-.055em}
#dashboard .svc-title .g{color:var(--gold-300)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
#dashboard .svc-desc{color:var(--color-text-tertiary);font-size:14px;line-height:1.65}
#dashboard .svc-profile-pill{color:var(--color-text-secondary);border:1px solid var(--color-border-default);background:rgba(255,255,255,.025)}
#dashboard .concierge-block{border-color:var(--color-border-subtle)!important;background:rgba(15,15,21,.76)!important;box-shadow:none!important}
#dashboard .concierge-q{color:var(--ivory-100);font-size:14px;font-weight:570}
#dashboard .q-num{color:var(--gold-500);font:10px/1 var(--font-mono);letter-spacing:.09em}
#dashboard .hero-input-hint,#dashboard .svc-cta-note{color:var(--color-text-disabled);font-size:11px}
#dashboard .svc-cta{min-height:46px;padding:0 18px}
#dashboard :is(.svc-out-shell,.out-box,.panel,.progress-section,.match-card,.mc-card,.sc-card,.an-card,.aid-card,.school-card,.deadline-item,.dl-item,.path-step,.sch-card,.tutor-note-card,.tutor-test-card,.term-box,.qbox,.eval-row,.chat-window,.resume-preview,.cost-ticker,.interview-room,.interview-placeholder,.settings-group,.plan-current,.plan-feature-card){border:1px solid var(--color-border-subtle)!important;border-radius:var(--radius-card)!important;background:linear-gradient(150deg,rgba(22,22,30,.78),rgba(10,10,14,.86))!important;background-image:linear-gradient(150deg,rgba(22,22,30,.78),rgba(10,10,14,.86))!important;box-shadow:var(--shadow-card)!important}
#dashboard :is(.svc-out-header,.mc-header,.sc-card-header,.an-card-header,.aid-card-header){border-color:var(--color-border-subtle)!important;background:rgba(255,255,255,.018)!important}
#dashboard .svc-out-label{color:var(--gold-400);font-size:10px;font-weight:650;letter-spacing:.12em}
#dashboard :is(.svc-out-body,.out-inner,.mc-body-inner,.sc-body,.an-body-inner,.aid-body-inner){color:var(--color-text-secondary)}
#dashboard :is(.mc-school-name,.sc-name,.an-name,.aid-name,.stitle,.settings-group-title){color:var(--ivory-100)}
#dashboard :is(.mc-school-name,.sc-name,.an-name,.aid-name){overflow-wrap:anywhere;text-wrap:pretty}
#dashboard :is(.mc-badge,.sc-amount,.sc-cat,.an-badge,.aid-badge,.lp-badge,[class*="-badge"]){border-radius:8px!important}
#dashboard :is(.mc-score,.sc-amount,.an-odds,.aid-amount,.cost-ticker-val){color:var(--gold-300);font-variant-numeric:tabular-nums}
#dashboard .chat-window{overflow:hidden}
#dashboard .chat-bubble{border-radius:15px!important}
#dashboard .chat-msg.user .chat-bubble{color:#171208;background:linear-gradient(145deg,var(--gold-200),var(--gold-500))!important}
#dashboard .chat-msg.assistant .chat-bubble{color:var(--color-text-secondary);border:1px solid var(--color-border-default);background:rgba(255,255,255,.035)!important}
#dashboard .chat-input-wrap{border:1px solid var(--color-border-default);border-radius:16px;background:var(--color-bg-sunken)}
#dashboard .chat-input-wrap:focus-within{border-color:var(--color-accent-border);box-shadow:0 0 0 3px rgba(196,181,253,.08)}

/* Modals */
.app-modal{opacity:0;padding:clamp(12px,3vw,28px);background:rgba(0,0,0,.68);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity 250ms var(--ease-out)}
.app-modal .app-modal-box{opacity:0;border:1px solid var(--color-border-default);border-radius:24px;background:linear-gradient(155deg,rgba(27,27,36,.98),rgba(8,8,12,.99));box-shadow:0 50px 140px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.05);transform:scale(.96);transition:opacity 250ms var(--ease-out),transform 250ms var(--ease-out)}
.app-modal.is-open{opacity:1}.app-modal.is-open .app-modal-box{opacity:1;transform:scale(1)}.app-modal.is-closing{opacity:0}.app-modal.is-closing .app-modal-box{opacity:0;transform:scale(.96)}
.app-modal .app-modal-head{border-color:var(--color-border-subtle)}
.app-modal .app-modal-title{color:var(--ivory-100);font-family:var(--font-display);letter-spacing:-.035em}
.app-modal .app-modal-subtitle{color:var(--color-text-tertiary)}
.app-modal .app-modal-close,#dashboard .tutor-modal-close{display:grid;place-items:center;width:44px;height:44px;color:var(--gold-300);border:1px solid var(--color-border-default);border-radius:14px;background:rgba(255,255,255,.025);box-shadow:none}
.app-modal .app-modal-close:active,#dashboard .tutor-modal-close:active{transform:scale(.96)}

/* Profile setup */
#profile-screen{background:transparent}
#profile-screen .profile-card{border:1px solid var(--color-border-default);border-radius:24px;background:var(--color-bg-surface);box-shadow:var(--shadow-card)}
#profile-screen .profile-logo,#profile-screen .profile-title .g{color:var(--gold-300);background:none;-webkit-text-fill-color:currentColor}

@media(prefers-contrast:more){:root{--color-text-secondary:rgba(247,242,232,.92);--color-text-tertiary:rgba(247,242,232,.78);--color-text-disabled:rgba(247,242,232,.64);--color-border-subtle:rgba(247,242,232,.2);--color-border-default:rgba(247,242,232,.3);--color-border-strong:rgba(247,242,232,.44)}}
@media(prefers-reduced-transparency:reduce){#dashboard .topbar,#dashboard .sidebar,#login-screen .login-box,.app-modal .app-modal-box{background:var(--obsidian-900);backdrop-filter:none;-webkit-backdrop-filter:none}.app-modal{background:rgba(0,0,0,.92);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){:where(button,a,input,textarea,select,[role="button"]):focus-visible{outline-color:Highlight}}
