: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}}.expense-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--stat-gap);gap:var(--stat-gap);margin-bottom:var(--card-gap)}.expense-layout{display:grid;grid-template-columns:300px 1fr;grid-gap:var(--card-gap);gap:var(--card-gap);align-items:start}.expense-row{display:grid;grid-template-columns:104px minmax(0,1fr) 130px 90px 100px 102px;grid-gap:14px;gap:14px;align-items:center;padding:14px 22px;border-bottom:1px solid rgba(139,107,242,.1);transition:opacity .15s}.expense-row-head{padding-top:12px;padding-bottom:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dusk-text-low)}.expense-cell-date,.expense-cell-payer{font-size:12.5px;color:var(--dusk-text-mid);white-space:nowrap}.expense-cell-payer{overflow:hidden;text-overflow:ellipsis}.expense-cell-num{font-size:13px;text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.expense-cell-hint{display:none}.expense-icon-btn{width:30px;height:30px;border-radius:9px;background:var(--dusk-surface-hi);color:var(--dusk-text-low);display:inline-flex;align-items:center;justify-content:center}.expense-icon-btn:disabled{opacity:.5;cursor:not-allowed}.expense-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:600;font-size:11px;white-space:nowrap}.expense-pill:disabled{opacity:.5;cursor:not-allowed}.expense-pill-paid{background:rgba(158,240,107,.13);color:var(--signal-mint)}.expense-pill-owed{background:rgba(240,180,41,.13);color:var(--amber)}.expense-side{display:flex;flex-direction:column;gap:var(--card-gap);min-width:0}.expense-category-tag{padding:2px 8px;border-radius:var(--radius-pill);background:rgba(14,165,233,.13);color:var(--cyan);font-family:var(--font-body);font-weight:600;font-size:10.5px;white-space:nowrap}.expense-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.expense-dropzone{width:100%;justify-content:center;padding:14px;border-radius:var(--radius-lg);border:1px dashed var(--dusk-border-dashed);background:transparent;color:var(--dusk-text-mid);font-weight:600}.expense-dropzone,.expense-file-chip{display:flex;align-items:center;gap:8px;font-size:13px}.expense-file-chip{padding:10px 12px;border-radius:var(--radius-lg);background:var(--dusk-surface-hi);border:1px solid var(--dusk-border);color:var(--dusk-text-hi)}@media (max-width:1200px){.expense-layout{grid-template-columns:1fr}}@media (max-width:900px){.expense-stats{grid-template-columns:1fr 1fr}}@media (max-width:720px){.expense-row-head{display:none}.expense-row{grid-template-columns:1fr auto;gap:6px 12px}.expense-row>:first-child{grid-column:1;grid-row:1}.expense-row>:nth-child(6){grid-column:2;grid-row:1}.expense-row>:nth-child(2){grid-column:1/-1;grid-row:2}.expense-row>:nth-child(3){grid-column:1;grid-row:3}.expense-row>:nth-child(5){grid-column:2;grid-row:3}.expense-row>:nth-child(4){grid-column:2;grid-row:4}.expense-cell-hint{display:inline}.expense-form-row{grid-template-columns:1fr}}.settings-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 120px 96px;grid-gap:14px;gap:14px;align-items:center;padding:13px 18px;border-top:1px solid rgba(139,107,242,.1)}.settings-admin-head{border-top:none;padding-top:11px;padding-bottom:11px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dusk-text-low)}.settings-admin-meta{font-size:12.5px;color:var(--dusk-text-mid);white-space:nowrap}.settings-admin-hint{display:none;color:var(--dusk-text-low)}@media (max-width:720px){.settings-admin-head{display:none}.settings-admin-row{grid-template-columns:1fr auto;gap:4px 12px}.settings-admin-row>:first-child{grid-column:1;grid-row:1}.settings-admin-row>:nth-child(4){grid-column:2;grid-row:1/span 3}.settings-admin-row>:nth-child(2){grid-column:1;grid-row:2}.settings-admin-row>:nth-child(3){grid-column:1;grid-row:3}.settings-admin-hint{display:inline}}