:root{--ap-plum:#1c4980;--ap-plum-hover:#163a66;--ap-plum-press:#102b4d;--ap-plum-tint:#e8eef6;--ap-red:#e5484d;--ap-orange:#f0a020;--ap-amber:#f1c035;--ap-berry:#0f2c4c;--ap-gradient:linear-gradient(90deg,#1c4980,#2e6fb8 60%,#f1c035);--ap-gradient-mark:linear-gradient(135deg,#2e6fb8,#1c4980 45%,#163a66 75%,#0f2c4c);--ap-gradient-cta:linear-gradient(90deg,#1c4980,#2e6fb8);--ink:#10131a;--slate:#3d4655;--muted:#626c7d;--muted-spec:#667085;--line:#e3e8ef;--cloud:#eef2f7;--canvas:#f7f9fc;--surface:#fff;--ink-inverse-muted:#9aa4b2;--ok:#12805c;--ok-tint:#e6f6f0;--ok-deep:#0b5c42;--ok-on-dark:#5fcf97;--warn:#b25e00;--warn-tint:#fff3e3;--warn-deep:#7a3f00;--err:#c4292f;--err-tint:#fdecec;--err-deep:#8c1a1f;--err-on-dark:#ff8a80;--info:#1c4980;--info-tint:#e8eef6;--info-deep:#163a66;--font-display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-ui:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--r-cta:8px;--r-input:6px;--r-card:12px;--r-panel:16px;--r-pill:999px;--shadow-sm:0 4px 14px rgba(16,19,26,.08);--shadow-md:0 14px 32px rgba(16,19,26,.12);--shadow-lg:0 24px 60px rgba(16,19,26,.18);--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:48px;--sp-section:80px;--container:1280px;--gutter:48px;--dur-fast:160ms;--dur-base:240ms;--ease-out:ease-out;--ease-slide:cubic-bezier(0.4,0,0.2,1);--ap-primary:var(--ap-plum);--ap-primary-deep:var(--ap-plum-hover);--ap-primary-soft:#2e6fb8;--ap-primary-tint:var(--ap-plum-tint);--ap-primary-tint-strong:#d2e0f0;--ap-accent:var(--ap-amber);--ap-accent-tint:var(--warn-tint);--ap-ink:var(--ink);--ap-ink-soft:var(--slate);--ap-ink-muted:var(--muted);--ap-ink-faint:var(--ink-inverse-muted);--ap-surface:var(--canvas);--ap-surface-raised:var(--surface);--ap-surface-sunken:var(--cloud);--ap-line:var(--line);--ap-line-strong:#cdd5e0;--ap-success:var(--ok);--ap-success-tint:var(--ok-tint);--ap-warning:var(--warn);--ap-warning-tint:var(--warn-tint);--ap-danger:var(--err);--ap-danger-tint:var(--err-tint);--ap-radius-cta:var(--r-cta);--ap-radius-card:var(--r-card);--ap-radius-field:var(--r-input);--ap-radius-pill:var(--r-pill);--ap-shadow-card:var(--shadow-sm);--ap-shadow-raised:var(--shadow-md);--bg-dark:var(--canvas);--bg-surface:var(--canvas);--bg-surface-elevated:var(--surface);--bg-card:var(--surface);--bg-card-hover:var(--surface);--panel-border:var(--line);--panel-border-hover:var(--ap-primary-soft);--panel-glow:rgba(28,73,128,.1);--text-main:var(--ink);--text-muted:var(--slate);--text-dim:var(--muted);--text-inverse:#fff;--accent-blue:var(--ap-plum);--accent-blue-light:var(--ap-primary-soft);--accent-indigo:var(--ap-plum);--accent-emerald:var(--ok);--accent-amber:var(--warn);--accent-rose:var(--err);--accent-slate:var(--muted);--gradient-brand:var(--ap-gradient);--gradient-brand-subtle:linear-gradient(135deg,rgba(28,73,128,.05),rgba(241,192,53,.09));--gradient-dark-card:var(--surface);--gradient-hero:linear-gradient(135deg,#fff,#eef2f7);--gradient-cyber:var(--ap-gradient);--focus-ring:rgba(28,73,128,.4);--shadow-brand-sm:0 2px 8px rgba(28,73,128,.12)}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:28px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a{color:var(--ap-plum);text-decoration:none}a:hover{text-decoration:underline}.display{font-family:var(--font-display);font-size:56px;line-height:58px;font-weight:700;letter-spacing:-.035em;color:var(--ink);margin:0 0 var(--sp-md)}h1{font-size:40px;line-height:44px;letter-spacing:-.03em}h1,h2{font-family:var(--font-display);font-weight:600;color:var(--ink);margin:0 0 var(--sp-sm)}h2{font-size:28px;line-height:34px;letter-spacing:-.02em}h3{font-family:var(--font-ui);font-size:20px;line-height:28px;font-weight:600;color:var(--ink);margin:0 0 var(--sp-xs)}p{margin:0 0 12px}.caption{font-size:14px;line-height:22px;color:var(--muted)}.action-label{font-size:13px;letter-spacing:.1em}.action-label,.eyebrow{font-weight:700;text-transform:uppercase}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--muted)}.eyebrow.hot{color:var(--ap-red)}.font-mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.text-gradient{background:var(--ap-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter) var(--sp-section)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));grid-gap:var(--sp-md);gap:var(--sp-md)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.meta-aside{text-align:right;min-width:240px}.panel{background:var(--surface);border:1px solid var(--line)}.panel,.panel-dark{border-radius:var(--r-panel);padding:22px}.panel-dark{background:var(--ink);color:#fff}.panel-dark h2,.panel-dark h3{color:#fff}.panel-dark .caption,.panel-dark .eyebrow{color:var(--ink-inverse-muted)}.navbar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-md);flex-wrap:wrap;padding:14px 0;margin-bottom:26px;border-bottom:1px solid var(--line)}.navbar-brand,.navbar-brand:hover{display:flex;align-items:center;gap:10px;text-decoration:none}.navbar-logo{width:34px;height:34px;border-radius:var(--r-pill);background:var(--ap-gradient-mark);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.navbar-logo,.navbar-wordmark{font-family:var(--font-display)}.navbar-wordmark{font-size:20px;font-weight:600;letter-spacing:-.03em;background:var(--ap-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.navbar-title{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--ink);line-height:1.25}.navbar-subtitle{font-size:11.5px;color:var(--muted);margin-top:1px}.navbar-actions{display:flex;align-items:center;gap:12px}.navbar-logo-img{height:36px;width:auto;object-fit:contain}.navbar-session{gap:14px;flex-wrap:wrap}.navbar-nav,.navbar-session{display:flex;align-items:center}.navbar-nav{gap:6px}.navbar-user{text-align:right}.navbar-user-name{font-weight:600;font-size:14px;color:var(--ink)}.navbar-user-role{font-size:9.5px;color:var(--muted);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.card-interactive:hover{transform:translateY(-3px);border-color:transparent;box-shadow:var(--shadow-md)}.card-floating{background:var(--surface);border:none;border-radius:var(--r-card);padding:20px;box-shadow:var(--shadow-sm)}.hero-banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:40px;margin-bottom:26px;position:relative;overflow:hidden}.hero-banner:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--ap-gradient)}.callout{padding:12px 14px;background:var(--canvas);border-left:3px solid var(--ap-amber);border-radius:var(--r-input);font-size:14px;line-height:1.55;color:var(--slate)}.callout strong{color:var(--ink)}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px}.stat-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.stat-value{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15;margin-top:var(--sp-xs)}.stat-delta{font-size:12px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-sm);min-height:48px;background:var(--ap-plum);color:#fff;border:1.5px solid var(--ap-plum);border-radius:var(--r-cta);padding:12px 26px;font-family:var(--font-ui);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--ap-plum-hover);border-color:var(--ap-plum-hover);color:#fff;text-decoration:none}.btn:active{background:var(--ap-plum-press);border-color:var(--ap-plum-press);transform:scale(.985)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{background:var(--line);border-color:var(--line);color:var(--ink-inverse-muted);cursor:not-allowed;transform:none}.btn.secondary{background:var(--surface)}.btn.secondary,.btn.secondary:hover{color:var(--ap-plum);border-color:var(--ap-plum)}.btn.secondary:hover{background:var(--ap-plum-tint)}.btn.secondary:disabled{background:var(--surface);color:var(--ink-inverse-muted);border-color:var(--line)}.btn.gradient{color:#fff}.btn.gradient,.btn.gradient:hover{background:var(--ap-gradient-cta);border-color:transparent}.btn.gradient:hover{filter:brightness(.94)}.btn.outline{background:transparent;color:var(--slate);border-color:var(--line)}.btn.outline:hover{background:var(--cloud);color:var(--ink);border-color:var(--ap-line-strong)}.btn-lg{padding:15px 34px;font-size:13px}.btn-sm{min-height:44px;padding:8px 16px;font-size:10.5px;letter-spacing:.08em}.btn.pill{min-height:0;padding:7px 15px;background:var(--ink);border-color:var(--ink);border-radius:var(--r-pill);font-size:11px;letter-spacing:.06em}.btn-link{display:inline-block;color:var(--ap-plum);font-size:13px;font-weight:600;border-bottom:1.5px solid var(--ap-plum);padding-bottom:2px;cursor:pointer}.btn-link:hover{color:var(--ap-plum-hover);border-color:var(--ap-plum-hover);text-decoration:none}.pill-btn{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-pill);color:var(--muted);padding:8px 18px;font-family:var(--font-ui);font-size:11.5px;font-weight:600;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.pill-btn:hover{border-color:var(--ap-primary-soft);color:var(--ap-plum)}.pill-btn.active{background:var(--ap-plum-tint);border-color:var(--ap-plum);color:var(--ap-plum)}.nav-pills{display:flex;flex-wrap:wrap;gap:var(--sp-sm);margin-bottom:var(--sp-lg)}.badge{display:inline-flex;align-items:center;border-radius:var(--r-pill);padding:6px 14px;font-size:11.5px;font-weight:600;letter-spacing:0;text-transform:none;background:var(--surface);color:var(--slate);border:1px solid var(--line)}.badge.indigo,.badge.purple{background:var(--info-tint);color:var(--info);border-color:transparent}.badge.emerald{background:var(--ok-tint);color:var(--ok-deep);border-color:transparent}.badge.amber{background:var(--warn-tint);color:var(--warn);border-color:transparent}.badge.rose{background:var(--err-tint);color:var(--err);border-color:transparent}.badge.slate{background:var(--surface);color:var(--slate);border-color:var(--line)}.badge.dark{background:var(--ink);color:#fff;border-color:transparent;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}input:not([type]),input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--line);border-radius:0;padding:0 0 8px;font-family:var(--font-ui);font-size:15px;color:var(--ink);margin-bottom:18px;transition:border-color var(--dur-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=date],input[type=datetime-local]{min-height:30px}input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--ap-plum);box-shadow:none}input[aria-invalid=true],textarea[aria-invalid=true]{border-bottom-color:var(--err)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}textarea{border:1.5px solid var(--line);border-radius:var(--r-input);padding:12px 14px;line-height:1.6}textarea:focus{border-color:var(--ap-plum)}label{display:block;font-size:10.5px;font-weight:600;color:var(--ap-plum);letter-spacing:.02em;margin-bottom:3px}.field-error{font-size:11px;color:var(--err);margin:-12px 0 18px}.field-boxed{background:var(--surface);border-bottom-width:1.5px;border:1.5px solid var(--line);border-radius:var(--r-input);padding:12px 14px}.field-boxed:focus{border-color:var(--ap-plum)}.lever-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px}.lever-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.lever-title{font-size:15px;font-weight:600;color:var(--ink)}.lever-help{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:var(--sp-xs)}.slider-control{margin-top:10px}.slider-input{width:100%;accent-color:var(--ap-plum)}.slider-val-badge{font-family:var(--font-mono);font-weight:500;color:var(--ap-plum);background:var(--ap-plum-tint);border-radius:var(--r-input);padding:3px 10px;font-size:12.5px}.choice-grid{display:flex;flex-direction:column;gap:var(--sp-sm)}.choice-option{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:1.5px solid var(--line);border-radius:var(--r-input);background:var(--surface);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.choice-option:hover{border-color:var(--ap-primary-soft)}.choice-option.selected{border-color:var(--ap-plum);background:var(--ap-plum-tint)}.choice-radio{width:18px;height:18px;min-width:18px;margin-top:2px;border-radius:50%;border:1.5px solid var(--ap-line-strong);background:var(--surface)}.choice-option.selected .choice-radio{border-color:var(--ap-plum);box-shadow:inset 0 0 0 4px var(--ap-plum)}.checkbox-mark{width:16px;height:16px;border-radius:3px;border:1.5px solid var(--ap-line-strong);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:transparent;flex-shrink:0}.checkbox-mark.checked{background:var(--ap-plum);border-color:var(--ap-plum);color:#fff}.allocation-bar{display:flex;height:10px;border-radius:var(--r-pill);overflow:hidden;background:var(--cloud)}.allocation-segment{height:100%}.sim-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:var(--sp-lg);gap:var(--sp-lg);align-items:start}.sim-main{min-width:0;gap:var(--sp-lg)}.sim-aside,.sim-main{display:flex;flex-direction:column}.sim-aside{gap:20px;position:-webkit-sticky;position:sticky;top:20px}.sim-metrics{display:flex;flex-direction:column;gap:14px}.stepper-container{margin-top:12px}.stepper-bar{height:6px;width:100%;background:var(--cloud);border-radius:var(--r-pill);overflow:hidden}.stepper-progress{height:100%;background:var(--ap-plum);transition:width var(--dur-base) var(--ease-slide)}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 12px}td,th{border-bottom:1px solid var(--line)}td{padding:12px;color:var(--slate)}.error{color:var(--err);background:var(--err-tint);border-radius:var(--r-input);padding:12px 14px;font-size:13px}.auth-container{max-width:1040px;margin:20px auto 60px;padding:0 16px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;align-items:stretch}@media (max-width:860px){.auth-layout{grid-template-columns:1fr}}.auth-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:36px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.auth-hero:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--ap-gradient)}.auth-hero-feature{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-card);transition:transform .2s var(--ease-out)}.auth-hero-feature:hover{transform:translateY(-2px);border-color:var(--ap-plum-tint)}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:36px 32px;box-shadow:var(--shadow-md);position:relative}.segmented-tabs{display:flex;background:var(--cloud);padding:4px;border-radius:var(--r-pill);margin-bottom:24px;border:1px solid var(--line)}.tab-item{flex:1 1;text-align:center;padding:10px 16px;font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:none;border-radius:var(--r-pill);cursor:pointer;transition:all .18s var(--ease-out)}.tab-item.active,.tab-item:hover{color:var(--ap-plum)}.tab-item.active{background:var(--surface);font-weight:700;box-shadow:var(--shadow-brand-sm)}.auth-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.auth-form-label{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--ink);display:flex;align-items:center;justify-content:space-between}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:14px;color:var(--muted);display:flex;align-items:center;pointer-events:none}.auth-input{width:100%;padding:12px 14px 12px 40px!important;margin-bottom:0!important;background:var(--surface);border:1.5px solid var(--line)!important;border-radius:var(--r-input)!important;font-family:var(--font-ui);font-size:14px!important;color:var(--ink)!important;transition:border-color .15s ease,box-shadow .15s ease!important}.auth-input:focus{outline:none;border-color:var(--ap-plum)!important;box-shadow:0 0 0 3px var(--ap-plum-tint)!important}.auth-toggle-pwd{position:absolute;right:12px;background:none;border:none;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px}.auth-toggle-pwd:hover{color:var(--ap-plum);background:var(--cloud)}.error-banner{display:flex;align-items:center;gap:10px;background:var(--err-tint);border:1px solid var(--err);border-radius:var(--r-input);padding:12px 14px;color:var(--err-deep);font-size:13px;font-weight:500;margin-bottom:18px}@media (max-width:1024px){.sim-layout{grid-template-columns:minmax(0,1fr)}.sim-aside{display:contents}.sim-instruments{order:-1}.sim-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(132px,100%),1fr));grid-gap:12px;gap:12px;max-height:44vh;overflow-y:auto;-webkit-overflow-scrolling:touch}}@media (max-width:768px){:root{--gutter:16px;--sp-section:48px}body,html{font-size:16px;line-height:1.55}.container{padding:0 var(--gutter) var(--sp-section)}.display{font-size:34px;line-height:38px}h1{font-size:27px;line-height:33px}h2{font-size:21px;line-height:27px}h3{font-size:17px;line-height:25px}.card,.card-floating,.panel,.panel-dark{padding:16px}.hero-banner{padding:22px 18px;margin-bottom:18px}.lever-card,.stat-card{padding:14px}.navbar{padding:12px 0;margin-bottom:18px;gap:10px}.navbar-logo-img{height:26px;max-width:150px}.navbar-subtitle{display:none}.navbar-actions{flex:1 1;justify-content:flex-end}.navbar-session{gap:10px;justify-content:flex-end}.meta-aside,.navbar-user{text-align:left}.meta-aside{min-width:0}.navbar-nav{order:3;width:100%;gap:16px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.navbar-nav::-webkit-scrollbar{display:none}.navbar-nav .btn-link{white-space:nowrap}.btn{padding:12px 18px;letter-spacing:.06em}.btn-lg{padding:14px 20px;font-size:12px}.btn-sm{padding:8px 14px}.pill-btn{min-height:44px;padding:8px 16px}.btn-link{padding-bottom:4px}input:not([type]),input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{font-size:16px}.auth-input{font-size:16px!important}.slider-input{height:28px}.choice-option{padding:14px}table{font-size:13px}th{padding:8px 10px}td{padding:10px}.auth-container{margin:8px auto 40px;padding:0 var(--gutter)}.auth-layout{gap:20px}.auth-card,.auth-hero{padding:22px 18px}.auth-hero{order:2}.tab-item{padding:10px 8px;font-size:12px}.report-band{border-left:none!important;padding-left:0!important;flex-basis:100%}.font-mono,code,pre{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}.card-interactive:hover{transform:none}}@media print{.btn,.navbar,.no-print,.pill-btn{display:none!important}body{background:#fff}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.card,.panel,.stat-card{box-shadow:none;page-break-inside:avoid;break-inside:avoid}}@keyframes toast-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}