:root{--bg-primary:#080d17;--bg-secondary:#0c1422;--surface-card:#111c2d;--surface-elevated:#17243a;--surface-hover:#17243a;--surface-subtle:#0b1220;--blue-institutional:#173b70;--blue-highlight:#2563eb;--blue-hover:#1d4ed8;--blue-tint:#2563eb1f;--blue-glow:#2563eb40;--red-american:#c83a46;--red-secondary:#9f2634;--red-tint:#c83a461f;--text-primary:#f5f7fa;--text-secondary:#94a3b8;--text-muted:#64748b;--border-subtle:#ffffff14;--border-focus:#2563eb80;--border-highlight:#2563eb3d;--status-success:#22c55e;--status-success-tint:#22c55e1f;--status-warning:#f59e0b;--status-warning-tint:#f59e0b1f;--status-error:#ef4444;--status-gold:#d6b46a;--status-gold-tint:#d6b46a1f;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-subtle:0 2px 10px #00000047;--shadow-card:0 8px 28px -4px #00000073, inset 0 1px 0 #ffffff0d;--shadow-3d-elevated:0 16px 40px -8px #000000a6, 0 0 0 1px #ffffff14, inset 0 1px 0 #ffffff1a;--shadow-floating:0 20px 48px -8px #000000b8;--shadow-glow-blue:0 8px 30px #2563eb3d;--sidebar-width:248px;--sidebar-collapsed-width:72px;--header-height:58px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary);width:100%;min-height:100%;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.55;overflow-x:hidden}h1{font-size:clamp(1.35rem,2vw,1.65rem)}h2{font-size:clamp(1.1rem,1.5vw,1.32rem)}h3{font-size:clamp(.96rem,1.2vw,1.08rem)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.25}p{color:var(--text-secondary)}a{color:var(--blue-highlight);text-decoration:none;transition:color .15s}a:hover{color:#60a5fa}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;transition:all .2s cubic-bezier(.16,1,.3,1)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#334155}.vd-container{width:100%;max-width:1120px;margin:0 auto;padding:0 1.25rem}.vd-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.15rem 1.3rem;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .22s}.vd-card-elevated{background:linear-gradient(165deg, var(--surface-elevated) 0%, var(--surface-card) 100%);border-radius:var(--radius-md);box-shadow:var(--shadow-3d-elevated);border:1px solid #2563eb47;padding:1.25rem 1.4rem;position:relative}.vd-card-interactive{cursor:pointer}.vd-card-interactive:hover{border-color:var(--blue-highlight);box-shadow:var(--shadow-floating);transform:translateY(-2px)}.vd-btn{font-family:var(--font-heading);border-radius:var(--radius-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.45rem;min-height:38px;padding:.55rem 1.05rem;font-size:.88rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.vd-btn-primary{background:linear-gradient(180deg, #3b82f6 0%, var(--blue-highlight) 100%);color:#fff;box-shadow:0 4px 14px #2563eb59,inset 0 1px #ffffff2e}.vd-btn-primary:hover:not(:disabled){background:linear-gradient(180deg, #2563eb 0%, var(--blue-hover) 100%);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb80,inset 0 1px #ffffff38}.vd-btn-secondary{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:inset 0 1px #ffffff0d}.vd-btn-secondary:hover:not(:disabled){border-color:var(--border-highlight);color:#fff;background:#1e2f4d}.vd-btn-danger{background:var(--red-american);color:#fff}.vd-btn-danger:hover:not(:disabled){background:var(--red-secondary)}.vd-btn-ghost{color:var(--text-secondary);background:0 0}.vd-btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.vd-btn-success{background:var(--status-success);color:#080d17;font-weight:700}.vd-btn-success:hover:not(:disabled){color:#fff;background:#16a34a}.vd-btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important}.vd-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-xs);border:1px solid #0000;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.74rem;font-weight:600;display:inline-flex}.vd-badge-blue{background:var(--blue-tint);color:#93c5fd;border-color:#2563eb4d}.vd-badge-red{background:var(--red-tint);color:#fca5a5;border-color:#c83a464d}.vd-badge-gold{background:var(--status-gold-tint);color:#fde68a;border-color:#d6b46a4d}.vd-badge-success{background:var(--status-success-tint);color:#86efac;border-color:#22c55e4d}.vd-badge-neutral{color:var(--text-secondary);border-color:var(--border-subtle);background:#ffffff0f}.vd-input-group{flex-direction:column;gap:.45rem;margin-bottom:1.15rem;display:flex}.vd-label{color:#cbd5e1;font-size:.875rem;font-weight:600}.vd-input,.vd-select,.vd-textarea{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:.8rem 1rem;font-size:.95rem;transition:all .2s}.vd-input:focus,.vd-select:focus,.vd-textarea:focus{border-color:var(--blue-highlight);background:#0f1a2e;outline:none;box-shadow:0 0 0 3px #2563eb2e}.vd-input::placeholder,.vd-textarea::placeholder{color:var(--text-muted)}.vd-alert-card{border-radius:var(--radius-sm);border-left:4px solid #0000;gap:1rem;margin-bottom:1.25rem;padding:1.1rem 1.25rem;font-size:.92rem;line-height:1.55;display:flex}.vd-alert-warning{border-left-color:var(--status-warning);color:#fde68a;background:#f59e0b14}.vd-alert-warning p{color:#f3f4f6}.vd-alert-danger{background:var(--red-tint);border-left-color:var(--red-american);color:#fecaca}.vd-alert-danger p{color:#f8fafc}.vd-alert-info{background:var(--blue-tint);border-left-color:var(--blue-highlight);color:#bfdbfe}.vd-alert-info p{color:#f1f5f9}.vd-alert-disclaimer{border:1px solid var(--border-subtle);border-left:4px solid var(--blue-institutional);color:var(--text-secondary);background:#0c1422d9;font-size:.84rem}.app-shell{background-color:var(--bg-primary);min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;transition:margin-left .25s cubic-bezier(.16,1,.3,1);display:flex}@media (width>=1024px){.app-main{margin-left:var(--sidebar-width)}.app-main.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}}.app-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.35rem 1.25rem}@media (width<=640px){.app-content{padding:.95rem .85rem}}.vd-stage-grid{grid-template-columns:1fr;align-items:start;gap:1.15rem;display:grid}.vd-stage-sidebar{flex-direction:column;gap:1.1rem;min-width:0;display:flex}@media (width>=1080px){.vd-stage-grid{grid-template-columns:minmax(0,1.75fr) minmax(320px,.95fr);gap:1.35rem}.vd-stage-sidebar{top:calc(var(--header-height) + 1rem);position:sticky}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn}.vd-progress-track{background:#ffffff14;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.vd-progress-fill{background:linear-gradient(90deg, var(--blue-institutional), var(--blue-highlight));border-radius:999px;height:100%;transition:width .4s}.vd-progress-fill.completed{background:linear-gradient(90deg, #15803d, var(--status-success))}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.vd-card-interactive:hover,.vd-btn-primary:hover:not(:disabled){transform:none!important}}
