/* PAC shared visual theme. No content, state, handlers or layout order changes. */
:root {
  --navy:#002d6a; --navy-light:#162e50; --navy-dark:#162e50;
  --gold:#39699d; --gold-light:#5c84b1; --teal:#39699d;
  --cream:#f6f8fb; --cream-dark:#eaf0f7; --white:#fff;
  --text:#243b55; --text-muted:#5f728b; --muted:#5f728b; --border:#dbe4ee;
  --step-done:#368074;
}
body { background:var(--cream); color:var(--text); -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font-family:inherit; }
button,a,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
:is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #6a94c4; outline-offset:3px; }
input[type=checkbox],input[type=radio],input[type=range] { accent-color:#39699d; }
textarea { line-height:1.65; }
:is(.panel-title,.section-title,.page-intro h2,.planner-top h2) { letter-spacing:-.5px; }
:is(.panel-desc,.section-sub,.step-desc,.page-intro p) { line-height:1.75; }

/* Shared navigation shell. Original menus and their handlers are retained. */
body>.header { background:#fff; border-bottom:1px solid var(--border); padding:22px 32px; min-height:91px; height:auto; }
.header h1 { color:var(--navy); font-size:clamp(23px,2.5vw,30px); letter-spacing:-.6px; }
.header-label { color:#627995; font-size:9px; letter-spacing:2px; }
.swift-badge { background:#edf3fa; border:1px solid #dce6f2; border-radius:10px; }
.swift-badge :is(.s,.label) { color:var(--navy); }
.swift-badge .s { font-size:23px; }.swift-badge .label{font-size:9px;letter-spacing:1.4px}
.swift-nav { background:#fff; border-color:var(--border); }
.swift-tab { color:#506985!important; border-radius:8px; font-family:'DM Sans',sans-serif; }
.swift-word { color:inherit!important; font-size:12px; }
.swift-tab .swift-letter { color:#5a7fa8!important; }
.swift-tab:hover,.swift-tab.active,.swift-tab-group.open>.swift-tab { background:#edf3fa; color:#002d6a!important; }
.swift-sub-menu { background:#f4f7fb; border-color:#dbe4ee; box-shadow:0 12px 26px #002d6a0e; }
.swift-sub-item { color:#456184; border-color:#e2eaf3; }
.swift-sub-item:hover,.swift-sub-item.active { color:#002d6a; background:#e6eef8; }
.sub-group-header { color:#627995; }.sub-group-header:hover{color:#244e7d;background:#e8eff8}
.nav-search-input,.nav-search-input:focus { background:#f2f5fa; color:#234d7a; border:1px solid #dbe4ee; }
.nav-search-input::placeholder { color:#69809b; }
.nav-search-results { background:#17365d; }
.nav-search-result-title,.nav-search-result { color:#fff; }
.nav-search-result-sub { color:#c3d1e3; }
.mobile-menu-bar { background:#fff; border-color:#dbe4ee; }
.mobile-menu-btn { background:#eef3f9; color:#244a75; border:1px solid #d7e2ee; min-height:44px; }
.mobile-menu-panel { background:#162e50; --gold:#adccef; --gold-light:#c8ddf5; }
.mobile-menu-item { color:#dbe6f4; min-height:44px; }
.mobile-menu-section { color:#a7bcd6; }
.mobile-menu-item.active,.mobile-menu-item:hover { background:#274666; color:#fff; }
.mobile-menu-letter { color:#b6d2f2; }
.mobile-search-input { border-color:#536984; background:#ffffff0a; }
.mobile-search-input::placeholder { color:#b2c1d5; }
.mobile-search-result-sub { color:#b2c1d5; }
.user-logout-btn { color:#47698f; background:#eef3f9; border-color:#d2dfed; }
.header .user-name { color:#294f7c; }

/* White cards, restrained outlines and consistent learning controls. */
:is(.step-card,.method-card,.resource-card,.video-card,.prompt-card,.settings-card,.mv-card,.mv-section,.phase-card) {
  border-color:var(--border); border-radius:14px; box-shadow:0 3px 15px #002d6a04;
}
.step-card:hover { border-color:#9ab4d1; box-shadow:0 5px 20px #002d6a08; }
.step-card.checked { border-color:#9bc6bd; background:#f0f7f4; }
.tab-nav { background:#fff; border-bottom:1px solid var(--border); padding:0 24px; }
.tab-btn { min-height:48px; padding:15px 18px; font-size:13px; }
.tab-btn.active { color:#002d6a; border-bottom-color:#39699d; }
.tab-num { background:#edf2f8; }.tab-btn.active .tab-num{background:#315f93}
.btn { border-radius:9px; min-height:44px; }
.btn-primary { background:#315f93; color:#fff; }.btn-primary:hover{background:#002d6a}
.btn-secondary { background:#fff; border-color:#cbd9e8; color:#315f93; }
:is(.prompt-box,.phases-hero,.calc-wrap,.quote-block) { --gold:#b4d2f5; --gold-light:#c6def9; }
.prompt-box { background:#19395f; border:1px solid #315377; box-shadow:none; }
.prompt-box-label { color:#b4d2f5; }.prompt-box .copy-btn{color:#d7e6f8;border-color:#7596bb;background:#ffffff0c}
.prompt-box .copy-btn:hover{background:#325b87;color:white}
.callout { border-radius:10px; }.callout-tip{background:#f7f3e9;border-left-color:#b9a276}.callout-action{background:#edf3fb;border-left-color:#668ab5}.callout-tool{background:#eff6f2}
.progress-fill { background:#527da9; }
.page-hero,.phases-hero { border-radius:0 0 16px 16px; }
.phases-hero { background:#173a65; }
.phases-sidebar { background:#1b3557; --gold:#b4d2f5; }
.phases-sidebar .sn-num,.phases-sidebar .sn-count,.sidebar-progress-label { color:#b1c3da; }
.sn-phase { color:#d6e3f3; }.sn-phase.active{background:#2a4a6d}
.phase-pill-nav { background:#fff; }
.phase-section { scroll-margin-top:24px; }
.mv-header { background:#173a65; }.mv-header p{color:#c5d5e9}
.mv-admin-note { background:#edf3fa; border-color:#cddced; }

/* Public and account screens receive the same calm blue finish. */
body:has(.login-wrap),body:has(.wrap>.card),body:has(.signup-wrap),body:has(.request-wrap) { background:#f3f6fa; }
.login-logo .badge { background:#eaf1f9; border-color:#bfd2e8; }
.login-logo .badge .s,.login-logo h1 { color:#002d6a; }
.login-logo .badge .label,.login-logo p { color:#657994; }
.login-card { background:white; border:1px solid #dbe4ee; box-shadow:0 14px 45px #002d6a08; border-radius:18px; }
.login-card h2{color:#002d6a}.login-card .subtitle{color:#657994}
.login-card a { color:#315f93!important; }
.login-card .form-group label { color:#5b7390; }
.login-card .form-group input { color:#243b55; background:#f8fafc; border-color:#d4dfec; }
.login-card .form-group input::placeholder { color:#8090a5; }
.login-card .form-group input:focus { background:#fff; border-color:#6f94bf; }
.btn-login { background:#315f93; color:white; }.btn-login:hover{background:#002d6a;box-shadow:0 5px 16px #002d6a18}
.login-footer,.login-footer a,.toggle-link { color:#647994; }
.toggle-link a { color:#315f93; }.login-error{color:#a52f3b;background:#fff1f2}
body:has(.wrap>.card) .logo :is(h1,.s) { color:#002d6a; }
body:has(.wrap>.card) .logo :is(p,.lbl) { color:#607795; }
body:has(.wrap>.card) .card { background:#19395f; --gold:#bad5f4; --gold-light:#d3e5fa; border-color:#315377; box-shadow:0 12px 35px #002d6a12; }
body:has(.wrap>.card) .card .btn { background:#bcd7f6; color:#16385f; }
body:has(.wrap>.card) .footer,body:has(.wrap>.card) .footer a { color:#526d8e; }
body:not(:has(.swift-nav))>.hero { background:#173a65; --gold:#bed7f4; --gold-light:#d4e5f8; }
body:not(:has(.swift-nav)) .calc-wrap { background:#173a65; }
body:not(:has(.swift-nav)) .hero-sub { color:#d1dfef; }
.calc-wrap :is(.calc-sub,.ref-label,.earn-note,.earn-label) { color:#c2d2e5; }

/* Embedded tools keep their actual iframe URL and their own application behaviour. */
body:has(.tool-frame) .brand strong { color:#002d6a; }
body:has(.tool-frame) .brand small { color:#627995; }
body:has(.tool-frame) .back { color:#315f93; border-color:#cbd9e8; }
body:has(.tool-frame) .tools { background:#edf2f8; border-bottom:1px solid #dbe4ee; }
body:has(.tool-frame) .tools a { color:#516d8e; min-height:44px; }
body:has(.tool-frame) .tools a.active { color:#002d6a; border-color:#527da9; }
.tool-frame { border-color:#dbe4ee; box-shadow:0 5px 22px #002d6a08; }

@media(min-width:769px) {
  body:has(>.swift-nav) { padding-left:228px; }
  body>.swift-nav { position:fixed; top:0; left:0; bottom:0; width:228px; padding:26px 14px; display:flex; flex-direction:column; gap:4px; overflow-y:auto; border-right:1px solid var(--border); border-bottom:0; z-index:200; }
  body>.swift-nav::before { content:'SWIFT / WORKSPACE'; font-family:'DM Sans',sans-serif; font-size:10px; font-weight:600; letter-spacing:2px; color:#54769e; padding:9px 12px 24px; }
  .swift-nav .swift-tab-group { display:block; }
  .swift-nav .swift-tab { width:100%; min-height:44px; padding:12px!important; border:0!important; gap:10px; white-space:normal; text-align:left; }
  .swift-nav .swift-word { display:inline!important; }
  .swift-nav .swift-sub-menu { position:static; min-width:0; white-space:normal; box-shadow:none; border:0; border-radius:8px; }
  .swift-nav .swift-sub-item { padding:12px; font-size:12px; }
  .nav-search { padding:5px 0 14px; order:0; }
  .nav-search-input,.nav-search-input:focus { width:100%; padding:10px 10px 10px 30px; }
  .nav-search-icon { left:10px; }
  .nav-search-results { position:fixed; left:230px; top:100px; right:auto; width:330px; }
  body:has(>.swift-nav)>:is(.main,.content) { margin-left:auto; margin-right:auto; width:100%; max-width:1080px; padding:36px 36px 72px; }
  body:has(>.swift-nav)>.home-footer { margin-left:0; }
  body:has(>.swift-nav)>#bookBar { margin-left:0; }
  body:has(>.swift-nav) .creed-breakout { width:100%; left:0; margin-left:0; margin-right:0; }
  body:has(>.swift-nav)>.tab-nav { overflow-x:auto; }
  .phases-layout { grid-template-columns:205px minmax(0,1fr); }
  .phases-sidebar { top:0; height:100vh; }
  .phases-main { min-width:0; }
}
@media(max-width:1100px) and (min-width:769px) {
  body:has(>.swift-nav) { padding-left:200px; }
  body>.swift-nav { width:200px; }
  .nav-search-results { left:202px; }
  body:has(>.swift-nav)>:is(.main,.content) { padding:28px 24px 60px; }
  .phases-layout { grid-template-columns:170px minmax(0,1fr); }
}
@media(max-width:768px) {
  .mobile-menu-bar { display:block; }
  body:has(>.phases-layout)>.mobile-menu-bar { position:sticky; top:0; z-index:200; }
  body:has(>.phases-layout)>.mobile-phase-strip { top:60px; }
  body:has(>.swift-nav) { padding-left:0; }
  body>.header { min-height:77px; padding:17px 18px; }
  .header h1 { font-size:23px; }.header-label{font-size:8px;letter-spacing:1px}
  .header>div:first-child { min-width:0; }
  .swift-badge { padding:7px 11px; }
  body:has(>.swift-nav)>:is(.main,.content) { margin:0; width:100%; padding:26px 18px 54px; }
  .tab-nav { padding:0 12px; overflow-x:auto; }
  .tab-btn { padding:14px 13px; }
  .mobile-menu-panel { max-width:calc(100vw - 36px); }
  input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select { font-size:16px; }
  :is(.panel-title,.section-title) { line-height:1.25; }
  .prompt-box { padding:24px 20px; }
  .prompt-box-label { padding-right:84px; min-height:28px; }
  .prompt-text { overflow-wrap:anywhere; }
  .phases-layout { display:block; }.phases-hero{padding:30px 22px}
  body:has(.tool-frame) .tool-frame { min-height:560px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
  body:has(>.swift-nav) { padding-left:0!important; }
  body>.swift-nav { display:none!important; }
}
