:root{
  --navy:#0f1d2f;
  --navy-2:#17283e;
  --ink:#18212d;
  --muted:#677386;
  --ivory:#f5f1e8;
  --paper:#fffdf8;
  --gold:#b9914a;
  --gold-soft:#efe2c6;
  --line:#e4ded2;
  --success:#2f7d62;
  --shadow:0 18px 50px rgba(19,28,42,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ivory);color:var(--ink)}
button,input,textarea,select{font:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:290px 1fr}
.sidebar{background:var(--navy);color:white;padding:28px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:38px}
.brand-mark{width:42px;height:42px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(145deg,var(--gold),#d8bc79);color:var(--navy);display:grid;place-items:center;border-radius:12px;font-family:Georgia,serif;font-size:24px;font-weight:700}
.brand-name{font-family:Georgia,serif;font-size:17px;line-height:1.1}
.brand-product{font-size:12px;color:#aeb9c8;margin-top:4px;letter-spacing:.08em;text-transform:uppercase}
.journey-label,.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.journey-label{color:#8390a2;margin-bottom:12px}
.journey-nav{display:flex;flex-direction:column;gap:6px}
.journey-item{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:11px 10px;border-radius:10px;color:#bfc8d4;cursor:pointer;transition:.2s}
.journey-item:hover,.journey-item.active{background:rgba(255,255,255,.08);color:white}
.journey-number{width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;font-size:12px}
.journey-item.complete .journey-number{background:var(--success);border-color:var(--success)}
.journey-title{font-size:13px;line-height:1.3}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:20px}
.mini-stat{display:flex;justify-content:space-between;font-size:12px;color:#bdc6d2;margin-bottom:9px}.mini-stat strong{color:white}
.progress-track{height:6px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}.progress-fill{height:100%;background:var(--gold);width:0;transition:.3s}
.main{padding:34px 42px 60px;max-width:1500px;width:100%;margin:0 auto}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h1{font-family:Georgia,serif;font-size:34px;margin:5px 0 0}.eyebrow{color:var(--gold)}
.button{border:0;border-radius:10px;padding:12px 17px;font-weight:700;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-1px)}
.button.primary{background:var(--navy);color:white}.button.secondary{background:white;color:var(--navy);border:1px solid var(--line)}.button.ghost{background:transparent;color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:15px;margin-bottom:20px}
.metric-card{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:16px;padding:19px;min-height:118px}.metric-card.primary{background:linear-gradient(145deg,var(--navy),var(--navy-2));color:white;border:0}.metric-label{font-size:12px;color:var(--muted);margin-bottom:10px}.primary .metric-label{color:#b9c4d2}.metric-value{font-family:Georgia,serif;font-size:29px}.metric-note{font-size:12px;margin-top:8px;color:var(--muted)}.primary .metric-note{color:#b9c4d2}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.workspace-card,.advisor-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.workspace-card{padding:30px}.section-heading{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.section-heading h2{font-family:Georgia,serif;font-size:28px;margin:6px 0 7px}.section-heading p{color:var(--muted);line-height:1.55;margin:0;max-width:720px}.status-pill{height:max-content;background:var(--gold-soft);color:#745820;border-radius:99px;padding:7px 11px;font-size:12px;font-weight:700}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:750}.field-help{font-size:12px;color:var(--muted);line-height:1.4}.field input,.field textarea,.field select{width:100%;border:1px solid #d9d4ca;background:white;border-radius:11px;padding:13px 14px;color:var(--ink);outline:none}.field textarea{min-height:112px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,145,74,.12)}
.action-row{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.action-row .ghost{margin-right:auto}
.advisor-card{padding:22px;position:sticky;top:24px}.advisor-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:17px}.advisor-avatar{width:42px;height:42px;border-radius:13px;background:var(--gold-soft);color:#795b21;display:grid;place-items:center;font-weight:800}.advisor-name{font-weight:800}.advisor-role{font-size:12px;color:var(--muted);margin-top:3px}.advisor-content{padding-top:18px}.advisor-block{margin-bottom:19px}.advisor-block h4{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--gold);margin:0 0 8px}.advisor-block p,.advisor-block li{font-size:13px;line-height:1.55;color:#4f5a68}.advisor-block ul{padding-left:18px;margin:0}
.lead-dialog{width:min(560px,92vw);border:0;border-radius:22px;padding:0;background:var(--paper);box-shadow:0 30px 100px rgba(0,0,0,.28)}.lead-dialog::backdrop{background:rgba(9,17,28,.72);backdrop-filter:blur(3px)}.lead-form{padding:30px}.lead-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.lead-dialog-head h2{margin:6px 0 0;font:700 34px/1.08 Georgia,serif}.lead-dialog-copy{margin:20px 0 24px;color:#485566;font:18px/1.5 Georgia,serif}.lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lead-fields .field input{background:white}.lead-privacy{margin:15px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.lead-error{margin:15px 0 0;padding:11px 13px;border-radius:10px;color:#8b2f2f;background:#f8e7e4;font-size:13px}.lead-submit{width:100%;margin-top:20px;min-height:50px}.lead-submit:disabled{opacity:.65;cursor:wait;transform:none}
.plan-dialog{width:min(900px,92vw);max-height:88vh;border:0;border-radius:20px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.25)}.plan-dialog::backdrop{background:rgba(9,17,28,.66)}.plan-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}.plan-dialog-head h2{font-family:Georgia,serif;margin:5px 0 0}.icon-button{border:0;background:transparent;font-size:30px;cursor:pointer}.plan-delivery-notice{margin:22px 42px 0;padding:13px 15px;border:1px solid #b9d8cc;border-radius:11px;color:#255f4c;background:#edf7f2;font-size:13px;line-height:1.5}.plan-preview{padding:30px 42px;overflow:auto;max-height:64vh}.plan-preview h1,.plan-preview h2{font-family:Georgia,serif}.plan-preview h2{margin-top:30px}.plan-preview p{line-height:1.65;color:#44505f}.plan-actions{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
@media(max-width:1050px){.app-shell{grid-template-columns:230px 1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.advisor-card{position:static}.main{padding:28px 24px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{height:auto;position:static}.journey-nav{display:none}.main{padding:22px 16px}.topbar{align-items:flex-start;gap:15px}.dashboard-grid,.form-grid{grid-template-columns:1fr}.workspace-card{padding:22px}.section-heading{display:block}.status-pill{display:inline-block;margin-top:14px}.topbar h1{font-size:29px}.lead-form{padding:24px}.lead-dialog-head h2{font-size:29px}.lead-fields{grid-template-columns:1fr}.plan-delivery-notice{margin:18px 22px 0}.plan-preview{padding:24px 22px}}
