:root{--dusk-canvas:#0E0C1F;--dusk-surface:#16142B;--dusk-surface-alt:#1C1A35;--dusk-surface-hi:#211E3D;--dusk-sidebar:#100E22;--dusk-border:rgba(139,107,242,0.18);--dusk-border-focus:rgba(122,92,255,0.55);--dusk-border-glow:rgba(122,92,255,0.10);--dusk-border-strong:rgba(139,107,242,0.32);--dusk-border-dashed:rgba(122,92,255,0.40);--dusk-text-hi:#ECEAFB;--dusk-text-mid:#C9C4E4;--dusk-text-low:#7E78A8;--dusk-text-ghost:#56536a;--hyp-violet:#7A5CFF;--hyp-violet-mid:#B27CFF;--hyp-violet-dim:rgba(122,92,255,0.14);--pulse-pink:#FF5EA8;--signal-mint:#9EF06B;--amber:#F0B429;--peach:#FF9D7A;--cyan:#0EA5E9;--hyp-gradient:linear-gradient(135deg,#7A5CFF,#B27CFF,#FF5EA8);--hyp-gradient-btn:linear-gradient(135deg,#7A5CFF,#FF5EA8);--hyp-gradient-cta:linear-gradient(135deg,#7A5CFF,#6044D8);--shadow-card:0 1px 3px rgba(0,0,0,0.28);--shadow-modal:0 40px 90px rgba(0,0,0,0.55);--shadow-violet:0 8px 20px rgba(122,92,255,0.36);--shadow-violet-lg:0 12px 28px rgba(122,92,255,0.36);--shadow-btn:0 10px 24px rgba(122,92,255,0.32);--radius-xs:6px;--radius-sm:9px;--radius-md:12px;--radius-lg:14px;--radius-xl:16px;--radius-2xl:18px;--radius-3xl:22px;--radius-pill:20px;--radius-full:9999px;--page-pad-x:34px;--page-pad-y:26px;--card-gap:18px;--stat-gap:14px;--sidebar-w:248px;--font-display:"Plus Jakarta Sans",sans-serif;--font-body:"Manrope",sans-serif;--font-mono:"Space Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--dusk-canvas);color:var(--dusk-text-hi);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--hyp-violet-mid)}a,a:hover{text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#2C2950;border-radius:8px}::-webkit-scrollbar-track{background:transparent}input,select,textarea{font-family:inherit;font-size:13px;color:var(--dusk-text-hi);background:var(--dusk-surface-hi);border:1px solid var(--dusk-border);border-radius:var(--radius-lg);padding:11px 14px;outline:none;width:100%;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--dusk-text-low)}input:focus,select:focus,textarea:focus{border-color:var(--dusk-border-focus);box-shadow:0 0 0 4px var(--dusk-border-glow)}select{cursor:pointer}label{display:block;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--dusk-text-low);margin-bottom:7px}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--hyp-violet)}.page-h1{font-family:var(--font-display);font-weight:800;font-size:30px;letter-spacing:-.7px;color:var(--dusk-text-hi)}.page-sub{font-family:var(--font-body);font-size:14px}.page-sub,.section-label{color:var(--dusk-text-low)}.section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.card{border:1px solid var(--dusk-border);border-radius:var(--radius-xl);padding:17px 18px}.card,.card-lg{background:var(--dusk-surface)}.card-lg{border:1px solid var(--dusk-border);border-radius:var(--radius-2xl);padding:22px 24px}.btn-primary{background:var(--hyp-violet);color:#fff;font-family:var(--font-display);font-weight:700;font-size:13px;padding:9px 15px;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:8px;box-shadow:var(--shadow-btn)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-ghost{background:var(--dusk-surface);color:var(--dusk-text-mid);font-family:var(--font-body);font-weight:600;font-size:13px;padding:9px 14px;border-radius:var(--radius-md);border:1px solid var(--dusk-border);display:inline-flex;align-items:center;gap:8px}.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.btn-ai{background:var(--hyp-gradient-btn);color:#fff;font-family:var(--font-display);font-weight:700;font-size:13px;padding:8px 14px;border-radius:11px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 20px rgba(122,92,255,.32)}.badge-active{background:rgba(158,240,107,.13);color:var(--signal-mint);display:inline-flex;align-items:center;gap:6px}.badge-active,.badge-prospect{font-family:var(--font-body);font-weight:600;font-size:11px;padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap}.badge-prospect{background:rgba(240,180,41,.13);color:var(--amber)}.badge-archived{background:rgba(139,107,242,.12);color:var(--dusk-text-low);font-family:var(--font-body);padding:4px 10px;white-space:nowrap}.badge-archived,.badge-live{font-weight:600;font-size:11px;border-radius:var(--radius-pill)}.badge-live{background:rgba(158,240,107,.13);color:var(--signal-mint);display:inline-flex;align-items:center;gap:5px;padding:3px 9px}.dot{width:6px;height:6px;border-radius:50%;background:var(--signal-mint);flex-shrink:0}.error-card{color:var(--pulse-pink);font-size:13px;background:rgba(255,94,168,.08);border:1px solid var(--pulse-pink);padding:11px 14px}.error-card,.shimmer{border-radius:var(--radius-md)}.shimmer{background:linear-gradient(90deg,var(--dusk-surface-alt) 25%,#25234a 37%,var(--dusk-surface-alt) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.badge-live .dot{animation:pulse 1.8s ease-in-out infinite}.admin-backdrop,.admin-topbar{display:none}.admin-sidebar{width:var(--sidebar-w);flex:none;position:-webkit-sticky;position:sticky;top:0;left:0;height:100vh}@media (max-width:860px){.admin-topbar{display:flex}.admin-sidebar{position:fixed;z-index:40;transform:translateX(-100%);box-shadow:none;transition:transform .22s ease}.admin-sidebar.admin-sidebar-open{transform:translateX(0);box-shadow:12px 0 32px rgba(0,0,0,.45)}.admin-backdrop.admin-backdrop-open{display:block;position:fixed;inset:0;z-index:30;background:rgba(4,3,12,.6)}.admin-main{padding:calc(56px + var(--page-pad-y)) 18px var(--page-pad-y)!important}}.journeys-layout{grid-template-columns:340px 1fr;grid-gap:var(--card-gap);align-items:start}.journey-lists,.journeys-layout{display:grid;gap:var(--card-gap)}.journey-lists{grid-template-columns:1fr 1fr 1fr;grid-gap:var(--card-gap)}@media (max-width:1100px){.journeys-layout{grid-template-columns:1fr}}@media (max-width:720px){.journey-lists{grid-template-columns:1fr}}