*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}:root{--bg:#fcf9f4;--sf:#f6f3ee;--nav-bg:rgba(252,249,244,0.92);--text:#1c1c19;--recessed:#f0ede8;--highlight:#ebe8e3;--accent-gold:#735c00;--accent-primary:#3a0001;--accent-primary-container:#58120c;--sector-consulting:#3A3A5E;--color-finance:#4A7DFF;--color-deferred:#4A9EFF;--color-safety:#28A745;--color-reach:#ba1a1a;--color-target:#735c00;--color-preparing:#607D8B;--color-applied:#4A9EFF;--color-interview:#735c00;--color-accepted:#4CAF50;--color-rejected:#ba1a1a;--color-waitlisted:#FF9800;--color-enrolled:#845EF7;--z-nav:100;--z-dropdown:200;--z-modal:300;--z-toast:400;--shadow-card:0 2px 8px rgba(28,28,25,0.04);--shadow-card-hover:0 8px 32px rgba(28,28,25,0.06);--shadow-modal:0 24px 48px rgba(28,28,25,0.12);--card-radius:6px;--modal-radius:8px;--border-card:rgba(196,199,199,0.2);--border-hover:rgba(196,199,199,0.4);--text-secondary:#444748;--text-muted:#747878;--positive:#28A745;--negative:#ba1a1a;--warning:#735c00;--a02:rgba(0,0,0,0.02);--a03:rgba(0,0,0,0.03);--a04:rgba(0,0,0,0.04);--a05:rgba(0,0,0,0.05);--a06:rgba(0,0,0,0.06);--a07:rgba(0,0,0,0.07);--a08:rgba(0,0,0,0.08);--a10:rgba(0,0,0,0.10);--a12:rgba(0,0,0,0.13);--a14:rgba(0,0,0,0.15);--a15:rgba(0,0,0,0.16);--a18:rgba(0,0,0,0.20);--a20:rgba(0,0,0,0.24);--a22:rgba(0,0,0,0.28);--a25:rgba(0,0,0,0.32);--a28:rgba(0,0,0,0.36);--a30:rgba(0,0,0,0.38);--a32:rgba(0,0,0,0.40);--a35:rgba(0,0,0,0.44);--a38:rgba(0,0,0,0.48);--a40:rgba(0,0,0,0.50);--a42:rgba(0,0,0,0.52);--a45:rgba(0,0,0,0.55);--a50:rgba(0,0,0,0.58);--a55:rgba(0,0,0,0.62);--a60:rgba(0,0,0,0.68);--a65:rgba(0,0,0,0.72);--a70:rgba(0,0,0,0.78);--a75:rgba(0,0,0,0.82)}body.dark{--bg:#131315;--sf:#1b1b1d;--nav-bg:rgba(19,19,21,0.92);--text:#e5e1e4;--recessed:#201f21;--highlight:rgba(212,175,55,0.04);--accent-gold:#f2ca50;--accent-primary:#ffb4a9;--accent-primary-container:#d4af37;--sector-consulting:#8888B0;--shadow-card:0 2px 8px rgba(0,0,0,0.32);--shadow-card-hover:0 8px 32px rgba(0,0,0,0.4);--shadow-modal:0 24px 48px rgba(0,0,0,0.56);--border-card:rgba(255,255,255,0.06);--border-hover:rgba(255,255,255,0.12);--text-secondary:rgba(255,255,255,0.65);--text-muted:rgba(255,255,255,0.45);--positive:#4ade80;--negative:#ffb4ab;--warning:#f2ca50;--a02:rgba(255,255,255,0.03);--a03:rgba(255,255,255,0.04);--a04:rgba(255,255,255,0.05);--a05:rgba(255,255,255,0.06);--a06:rgba(255,255,255,0.07);--a07:rgba(255,255,255,0.08);--a08:rgba(255,255,255,0.10);--a10:rgba(255,255,255,0.12);--a12:rgba(255,255,255,0.14);--a14:rgba(255,255,255,0.17);--a15:rgba(255,255,255,0.18);--a18:rgba(255,255,255,0.22);--a20:rgba(255,255,255,0.28);--a22:rgba(255,255,255,0.32);--a25:rgba(255,255,255,0.38);--a28:rgba(255,255,255,0.42);--a30:rgba(255,255,255,0.45);--a32:rgba(255,255,255,0.48);--a35:rgba(255,255,255,0.52);--a38:rgba(255,255,255,0.55);--a40:rgba(255,255,255,0.58);--a42:rgba(255,255,255,0.60);--a45:rgba(255,255,255,0.64);--a50:rgba(255,255,255,0.68);--a55:rgba(255,255,255,0.72);--a60:rgba(255,255,255,0.78);--a65:rgba(255,255,255,0.82);--a70:rgba(255,255,255,0.86);--a75:rgba(255,255,255,0.90)}body{background:var(--bg);color:var(--text);font-family:var(--font-inter,"Inter"),"Plus Jakarta Sans",sans-serif;transition:background .2s;overflow-x:hidden}.font-headline,.font-serif{font-family:var(--font-newsreader,"Newsreader"),serif}.font-label{font-family:var(--font-label,"Space Grotesk"),sans-serif}.font-mono{font-family:var(--font-mono,"JetBrains Mono"),monospace}body.dark option,body.dark select{background:var(--sf);color:var(--text)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--a18);border-radius:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes starBounce{0%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.35) rotate(-8deg)}50%{transform:scale(.9) rotate(4deg)}75%{transform:scale(1.1) rotate(-2deg)}to{transform:scale(1) rotate(0deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes dotPulse{0%,to{box-shadow:0 1px 6px rgba(0,0,0,.3),0 0 0 3px rgba(212,175,55,.15)}50%{box-shadow:0 1px 6px rgba(0,0,0,.3),0 0 0 6px rgba(212,175,55,.08)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes scoreReveal{0%{opacity:0;transform:scale(.6) rotate(-10deg)}50%{transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes fitSlideIn{0%{opacity:0;transform:translateX(-12px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@keyframes loadingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.98)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(30px) scale(.95)}60%{transform:translateY(-4px) scale(1.01)}to{opacity:1;transform:none}}@keyframes slideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}@keyframes heroEntrance{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes chipPress{0%{transform:scale(1)}50%{transform:scale(.94)}to{transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 rgba(58,0,1,0)}50%{box-shadow:0 0 0 6px rgba(58,0,1,.08)}}@keyframes numberPop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes statusCelebrate{0%{transform:scale(1)}30%{transform:scale(1.12);box-shadow:0 0 0 4px rgba(76,175,80,.2)}to{transform:scale(1);box-shadow:none}}@keyframes tabIndicator{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.03);opacity:1}}@keyframes ripple{0%{transform:scale(0);opacity:.4}to{transform:scale(2.5);opacity:0}}@keyframes floatUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.btn-press:active{transform:scale(.95);transition:transform .08s cubic-bezier(.34,1.56,.64,1)}.modal-animate{animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1) both}.backdrop-animate{animation:backdropFadeIn .35s ease both}.loading-pulse{animation:loadingPulse 2s ease-in-out infinite}.btn-hover{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.btn-hover:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}.btn-hover:active{transform:translateY(0) scale(.97);box-shadow:none;transition-duration:.1s}.card-hover{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,border-color .25s ease}.card-hover:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 12px 40px rgba(28,28,25,.08),0 4px 12px rgba(28,28,25,.04);border-color:var(--border-hover)!important}.card-hover:active{transform:translateY(-2px) scale(.99);transition-duration:.15s}.row-hover{transition:background .2s ease,transform .2s ease}.row-hover:not(.row-starred):hover{background:var(--recessed)!important}.row-hover.row-starred:hover{filter:brightness(.97)}.star-bounce{animation:starBounce .5s cubic-bezier(.34,1.56,.64,1)}.skeleton{background:linear-gradient(90deg,var(--a04) 25%,var(--a08) 50%,var(--a04) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:6px}.page-enter{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) forwards}.card-stagger{animation:cardEntrance .5s cubic-bezier(.16,1,.3,1) forwards}.hero-enter{animation:heroEntrance .6s cubic-bezier(.16,1,.3,1) forwards}.hero-enter-delay{animation:heroEntrance .6s cubic-bezier(.16,1,.3,1) .1s forwards}.chip-press:active{animation:chipPress .2s ease}.number-pop{animation:numberPop .35s cubic-bezier(.34,1.56,.64,1)}.status-celebrate{animation:statusCelebrate .5s cubic-bezier(.34,1.56,.64,1)}.tab-indicator{animation:tabIndicator .25s cubic-bezier(.16,1,.3,1);transform-origin:left}.slide-in-right{animation:slideInRight .4s cubic-bezier(.16,1,.3,1) both}.slide-in-left{animation:slideInLeft .4s cubic-bezier(.16,1,.3,1) both}.float-up{animation:floatUp .3s ease both}.bounce-in{animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1) both}.breathe{animation:breathe 3s ease-in-out infinite}.glow-pulse{animation:glowPulse 2s ease-in-out infinite}.ripple-container{position:relative;overflow:hidden}.ripple-container:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,var(--a08) 0,transparent 70%);transform:scale(0);opacity:0;border-radius:50%;pointer-events:none}.ripple-container:active:after{animation:ripple .5s ease-out}.modal-backdrop{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.scroll-lock{overflow:hidden!important}:focus-visible{outline:2px solid var(--accent-primary,#3a0001);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}input:focus,select:focus{outline:none;border-color:var(--accent-primary,#3a0001)!important;box-shadow:0 0 0 2px rgba(58,0,1,.08)}body.dark input:focus,body.dark select:focus{box-shadow:0 0 0 2px rgba(242,202,80,.15)}.calc-toggle{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.calc-toggle:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 16px rgba(28,28,25,.08)}.calc-toggle:active{transform:translateY(0) scale(.96);transition-duration:.1s}body.dark .calc-toggle:hover{box-shadow:0 4px 16px rgba(242,202,80,.12)}.calc-input{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.calc-input:hover{border-color:rgba(58,0,1,.3)!important;background:var(--a06)!important}.calc-input:focus{border-color:#3a0001!important;box-shadow:0 0 0 2px rgba(58,0,1,.1),0 2px 8px rgba(58,0,1,.05)!important;background:var(--a06)!important}.calc-select{transition:border-color .15s ease,box-shadow .15s ease}.calc-select:hover{border-color:rgba(58,0,1,.3)!important}.calc-select:focus{border-color:#3a0001!important;box-shadow:0 0 0 2px rgba(58,0,1,.1)!important}.calc-editable{transition:border-color .2s ease,background .2s ease}.calc-editable:hover{border-color:rgba(58,0,1,.3)!important;background:rgba(58,0,1,.02)}.calc-career{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.calc-career:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 6px 20px rgba(28,28,25,.08)}.calc-career:active{transform:translateY(0) scale(.96);transition-duration:.1s}body.dark .calc-career:hover{box-shadow:0 6px 20px rgba(242,202,80,.1)}.calc-tier{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.calc-tier:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px rgba(28,28,25,.08)}.calc-tier:active{transform:translateY(0) scale(.97);transition-duration:.1s}body.dark .calc-tier:hover{box-shadow:0 8px 24px rgba(242,202,80,.1)}.calc-save{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.calc-save:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 24px rgba(58,0,1,.2);filter:brightness(1.08)}.calc-save:active{transform:translateY(0) scale(.96);transition-duration:.1s}@keyframes resultReveal{0%{opacity:0;transform:scale(.9) translateY(8px)}50%{transform:scale(1.04) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.touch-target{position:relative}.touch-target:after{content:"";position:absolute;top:50%;left:50%;min-width:44px;min-height:44px;transform:translate(-50%,-50%)}.btn-ghost{transition:background .2s ease,color .2s ease,border-color .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.btn-ghost:hover{background:var(--a06)!important;transform:translateY(-1px)}.btn-ghost:active{background:var(--a10)!important;transform:translateY(0) scale(.97);transition-duration:.1s}.skeleton-line{height:14px;border-radius:4px}.skeleton-block{border-radius:12px}.skeleton-block,.skeleton-line{background:linear-gradient(90deg,var(--a04) 25%,var(--a08) 50%,var(--a04) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}footer a:hover{color:var(--text)!important}@media (prefers-reduced-motion:reduce){.backdrop-animate,.bounce-in,.breathe,.card-stagger,.float-up,.glow-pulse,.hero-enter,.hero-enter-delay,.loading-pulse,.modal-animate,.number-pop,.page-enter,.slide-in-left,.slide-in-right,.status-celebrate{animation:none!important}.btn-ghost,.btn-hover,.btn-press,.calc-career,.calc-save,.calc-tier,.calc-toggle,.card-hover{transition:none!important}.star-bounce{animation:none!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width:700px){.compare-grid,.compare-header-grid{grid-template-columns:1fr!important}.compare-header-grid{gap:16px!important}.compare-header-grid>div:first-child{display:none}.compare-row-grid{grid-template-columns:1fr!important;gap:4px!important}.compare-row-grid>div:first-child{font-size:12px!important;font-weight:700!important;color:var(--a45)!important;padding-bottom:0!important}}@media print{.mobile-bottom-nav,.no-print,footer,nav{display:none!important}.print-summary{display:block!important}#root,body{background:#fff!important;color:#000!important}canvas{max-width:100%}}@media (min-width:1024px){.calc-container{max-width:1100px!important}}.journey-kanban-compact{max-height:220px;overflow-x:auto;scrollbar-width:thin}.journey-kanban-compact::-webkit-scrollbar{height:4px}.journey-kanban-compact::-webkit-scrollbar-thumb{background:var(--a12);border-radius:2px}.journey-bottom-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:1024px){.journey-bottom-cols{grid-template-columns:1fr}}@media (max-width:768px){.journey-kanban-compact{max-height:none;overflow-x:auto}.journey-kanban-compact .kanban-board{flex-direction:row!important;min-width:max-content}}@media (max-width:700px){.nav-links{display:none!important}.mobile-bottom-nav{display:flex!important}.topnav-auth-desktop{display:none!important}.topnav-mobile-actions{display:flex!important}.schools-grid{grid-template-columns:1fr!important}.kanban-board{flex-direction:column!important;gap:12px!important}.kanban-col{min-width:100%!important;flex:none!important}.summary-stats{flex-wrap:wrap!important}.summary-stats>div{min-width:calc(50% - 6px)!important}.calc-controls{flex-direction:column!important;gap:6px!important;align-items:stretch!important}.calc-controls>*{justify-content:center!important}.calc-header h1{font-size:24px!important}.calc-program-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}.calc-program-tabs::-webkit-scrollbar{display:none}.calc-settings-grid{grid-template-columns:1fr!important}.profile-fit-inputs{flex-direction:column!important}.modal-stat-row{flex-wrap:wrap!important}.modal-stat-row>div{min-width:calc(50% - 4px)!important;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px)}.detail-modal-body{padding:16px 18px 20px!important}.detail-modal-header{padding:20px 18px 0!important}.detail-modal-container{max-width:calc(100vw - 24px)!important;margin:0 auto}.page-container{padding:24px 10px!important;overflow-x:hidden}.deadline-strip{gap:8px!important}.deadline-strip>div{min-width:160px!important}.card-hover:hover{transform:scale(.99)!important}.btn-hover:hover{transform:none!important}.card-stagger{animation-duration:.3s!important}.schools-filter-bar{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start!important;padding-bottom:4px}.schools-filter-bar::-webkit-scrollbar{display:none}.profile-fit-bar{margin-left:-10px!important;margin-right:-10px!important;padding-left:10px!important;padding-right:10px!important}.calc-cashflow-strip{scrollbar-width:none}.calc-cashflow-strip::-webkit-scrollbar{display:none}.calc-header-controls{justify-content:flex-start!important}}@media (max-width:960px){.schools-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){.schools-grid{grid-template-columns:1fr!important}}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-primary,#3a0001);color:#fff;padding:8px 16px;z-index:9999;font-size:14px;font-weight:600;border-radius:0 0 8px 0;transition:top .2s;text-decoration:none}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}