/*
 * Trybe V9 stylesheet
 * Last updated: May 10, 2026
 *
 * Externalized from index.html for production. Cached independently by the
 * browser. The .v9-land scoped block contains the new landing styles; legacy
 * .land styles were removed in V9. All other selectors serve the auth, import,
 * processing, dashboard, contacts, graph, map, outreach, and settings views.
 */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=DM+Serif+Display&family=Fraunces:ital,opsz,wght,SOFT,WONK@0,9..144,300..700,0..100,0..1;1,9..144,300..700,0..100,0..1&family=Manrope:wght@300..800&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#050814;--teal:#1BA6A0;--ember:#F26D4A;--lilac:#B4A6FF;
  --green:#24B26B;--cloud:#F9FAFB;--mist:#E5E7EB;--stone:#9CA3AF;
  --graphite:#4B5563;--night:#111827;--card:#FFFFFF;
  --sidebar:220px;--r:14px;--rs:10px;
  --sh:0 1px 3px rgba(5,8,20,.04);
  --tr:180ms cubic-bezier(.4,0,.2,1);
  /* V9 landing palette (scoped to .v9-land) */
  --paper:#FAF7F1;--paper-deep:#F2EDE2;--surface:#FFFFFF;
  --line:#E5E0D5;--v9-ink:#14182A;--v9-ink-2:#2D3447;
  --mute:#5A6175;--mute-2:#8B92A5;
  --rust:#C4503A;--rust-deep:#A03A28;--rust-soft:#FBE9E2;
  --v9-teal:#0E8C82;--teal-soft:#DCEFEC;--gold:#C8A050;
}
/* V9: html+body bg = paper so iOS overscroll bounces a light color, not dark.
   Auth, import, and dashboard containers set their own bg (var(--cloud) etc.),
   so only the overscroll gutter shows the paper bg, which is fine. */
html{background:var(--paper);scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--paper);color:var(--graphite);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
@keyframes fu{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes sr{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes su{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes sp{to{transform:rotate(360deg)}}
@keyframes pl{0%,100%{opacity:1}50%{opacity:.4}}

/* Shared button styles used across auth/import/dashboard views (NOT landing). */
.bp{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:var(--ink);font-weight:700;padding:12px 24px;border-radius:10px;border:none;font-size:13.5px;cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif}
.bp:hover{background:#1fc2bb;transform:translateY(-1px);box-shadow:0 6px 24px rgba(27,166,160,.28)}
.bs{display:inline-flex;align-items:center;gap:7px;background:transparent;color:rgba(255,255,255,.55);padding:12px 20px;border-radius:10px;font-size:13.5px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif}
.bs:hover{border-color:rgba(255,255,255,.25);color:#fff}

/* Shared logo (DM Serif Display) used by auth/import/sidebar via className="logo".
   Each consumer overrides color via inline style (var(--ink)) or .side .logo. */
.logo{font-family:'DM Serif Display',serif;font-size:26px;color:var(--ink);letter-spacing:-.5px}
.logo span{color:var(--teal)}

/* ═══════════════════════════════════════════════════════════════════════
   V9 LANDING (May 2026) — Fraunces serif + Manrope body, paper bg, rust accent.
   All rules scoped to .v9-land so they never bleed into auth/import/dashboard.
   ═══════════════════════════════════════════════════════════════════════ */
.v9-land{font-family:'Manrope',system-ui,sans-serif;background:var(--paper);color:var(--v9-ink);line-height:1.55;min-height:100vh}
.v9-land *,.v9-land *::before,.v9-land *::after{box-sizing:border-box;margin:0;padding:0}
.v9-land ::selection{background:var(--rust);color:var(--paper)}

/* — NAV — */
.v9-land .v9-nav{position:sticky;top:0;z-index:50;background:rgba(250,247,241,0.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.v9-land .nav-inner{max-width:1200px;margin:0 auto;padding:16px 28px;display:flex;justify-content:space-between;align-items:center}
.v9-land .wordmark{font-family:'Fraunces',serif;font-weight:500;font-size:26px;font-variation-settings:"SOFT" 50,"opsz" 24;letter-spacing:-0.025em;color:var(--v9-ink);text-decoration:none;cursor:pointer;background:none;border:none;padding:0}
.v9-land .wordmark em{font-style:italic;color:var(--rust);font-variation-settings:"SOFT" 100,"opsz" 24,"WONK" 1}
.v9-land .nav-links{display:flex;gap:28px;align-items:center}
.v9-land .nav-links a:not(.btn),.v9-land .nav-links button:not(.btn){font-size:13.5px;color:var(--mute);font-weight:500;text-decoration:none;transition:color .15s;background:none;border:none;cursor:pointer;font-family:'Manrope',sans-serif}
.v9-land .nav-links a:not(.btn):hover,.v9-land .nav-links button:not(.btn):hover{color:var(--rust)}

/* — BUTTONS — */
.v9-land .btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:8px;font-family:'Manrope',sans-serif;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:all .18s ease;white-space:nowrap;letter-spacing:0.005em;background:transparent}
.v9-land .btn-rust{background:var(--rust);color:var(--paper);box-shadow:0 1px 0 rgba(255,255,255,0.18) inset, 0 8px 22px -8px rgba(196,80,58,0.4)}
.v9-land .btn-rust:hover{background:var(--rust-deep);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,0.18) inset, 0 12px 28px -8px rgba(196,80,58,0.5)}
.v9-land .btn-ink{background:var(--v9-ink);color:var(--paper)}
.v9-land .btn-ink:hover{background:var(--v9-ink-2);transform:translateY(-1px)}
.v9-land .btn-ghost{background:transparent;color:var(--v9-ink);border:1px solid rgba(20,24,42,0.18)}
.v9-land .btn-ghost:hover{border-color:var(--v9-ink);background:rgba(20,24,42,0.03)}
.v9-land .btn-lg{padding:14px 26px;font-size:14.5px;border-radius:10px}
.v9-land .btn .arrow{transition:transform .18s}
.v9-land .btn:hover .arrow{transform:translateX(3px)}

/* — HERO — */
.v9-land .hero{padding:88px 28px 56px;position:relative}
.v9-land .hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 75% 15%,rgba(196,80,58,0.06),transparent 65%),radial-gradient(ellipse 50% 35% at 20% 80%,rgba(14,140,130,0.05),transparent 65%);pointer-events:none;z-index:0}
.v9-land .hero-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.v9-land .hero-copy{max-width:540px}
.v9-land .hero-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--surface);border:1px solid var(--line);border-radius:100px;font-size:11.5px;font-weight:600;color:var(--mute);margin-bottom:26px;letter-spacing:0.04em}
.v9-land .hero-tag .pulse{width:6px;height:6px;border-radius:50%;background:var(--v9-teal);box-shadow:0 0 0 0 rgba(14,140,130,0.6);animation:v9-pulse-dot 2s infinite}
@keyframes v9-pulse-dot{0%{box-shadow:0 0 0 0 rgba(14,140,130,0.5)}70%{box-shadow:0 0 0 7px rgba(14,140,130,0)}100%{box-shadow:0 0 0 0 rgba(14,140,130,0)}}
.v9-land .hero-h{font-family:'Fraunces',serif;font-weight:380;font-variation-settings:"opsz" 144,"SOFT" 30,"WONK" 0;font-size:clamp(40px,5.5vw,68px);line-height:1.04;letter-spacing:-0.025em;color:var(--v9-ink);margin-bottom:22px}
.v9-land .hero-h em{font-style:italic;color:var(--rust);font-weight:400;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}
.v9-land .hero-sub{font-size:17px;line-height:1.65;color:var(--mute);margin-bottom:32px;font-weight:400}
.v9-land .hero-sub strong{color:var(--v9-ink);font-weight:600}
.v9-land .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.v9-land .micro{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:var(--mute-2)}
.v9-land .micro .sep{color:var(--line)}
.v9-land .micro .ok{color:var(--v9-teal);font-weight:700}

/* — HERO PREVIEW (mock dashboard) — */
.v9-land .preview-shell{position:relative;perspective:1400px}
.v9-land .pv-asterisk{margin-top:18px;font-family:'Fraunces',serif;font-style:italic;font-size:12px;color:var(--mute-2);text-align:right;padding-right:4px;font-variation-settings:"opsz" 14,"SOFT" 50;font-weight:400}
.v9-land .preview-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 30px 70px -28px rgba(20,24,42,0.22), 0 8px 16px -8px rgba(20,24,42,0.08);overflow:hidden;transform:rotate(0.4deg) translateY(0);transition:transform .4s ease}
.v9-land .preview-card:hover{transform:rotate(0deg) translateY(-3px)}
.v9-land .preview-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--paper-deep);border-bottom:1px solid var(--line)}
.v9-land .preview-bar .pv-dot{width:9px;height:9px;border-radius:50%}
.v9-land .preview-bar .pv-dot:nth-child(1){background:#FF5F57}
.v9-land .preview-bar .pv-dot:nth-child(2){background:#FEBC2E}
.v9-land .preview-bar .pv-dot:nth-child(3){background:#28C840}
.v9-land .preview-bar .url{margin-left:10px;padding:4px 10px;background:var(--surface);border:1px solid var(--line);border-radius:5px;font-size:10.5px;color:var(--mute);font-family:ui-monospace,monospace}
.v9-land .preview-body{padding:22px 24px}
.v9-land .pv-greeting{font-family:'Fraunces',serif;font-weight:400;font-size:18px;margin-bottom:4px;letter-spacing:-0.005em}
.v9-land .pv-greeting em{font-style:italic;color:var(--rust)}
.v9-land .pv-meta{font-size:11.5px;color:var(--mute);margin-bottom:18px}
.v9-land .pv-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.v9-land .pv-tier{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:11px 10px}
.v9-land .pv-tier .l{font-size:9.5px;color:var(--mute-2);text-transform:uppercase;letter-spacing:0.1em;font-weight:700;margin-bottom:2px}
.v9-land .pv-tier .v{font-family:'Fraunces',serif;font-weight:500;font-size:22px;letter-spacing:-0.02em;line-height:1;font-variation-settings:"opsz" 36,"SOFT" 30}
.v9-land .pv-tier:nth-child(1){background:var(--rust-soft);border-color:rgba(196,80,58,0.25)}
.v9-land .pv-tier:nth-child(1) .v{color:var(--rust-deep)}
.v9-land .pv-tier:nth-child(2) .v{color:var(--v9-ink)}
.v9-land .pv-tier:nth-child(3) .v{color:var(--mute)}
.v9-land .pv-tier:nth-child(4) .v{color:var(--mute-2)}
.v9-land .pv-gems{background:linear-gradient(135deg,var(--rust-soft),var(--paper));border:1px solid rgba(196,80,58,0.18);border-radius:11px;padding:14px}
.v9-land .pv-gems-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.v9-land .pv-gems-h .title{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:13px;color:var(--rust-deep);font-variation-settings:"opsz" 24,"SOFT" 100,"WONK" 1}
.v9-land .pv-gems-h .refresh{font-size:10.5px;color:var(--rust);font-weight:600}
.v9-land .pv-gem{display:flex;gap:9px;padding:7px 0;border-bottom:1px dashed rgba(196,80,58,0.18);font-size:11px;align-items:flex-start}
.v9-land .pv-gem:last-child{border-bottom:none;padding-bottom:0}
.v9-land .pv-gem .av{width:24px;height:24px;border-radius:50%;background:var(--rust);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-style:italic;font-size:10.5px;font-weight:500;flex-shrink:0;font-variation-settings:"opsz" 14,"SOFT" 100,"WONK" 1}
.v9-land .pv-gem:nth-child(2) .av{background:var(--v9-teal)}
.v9-land .pv-gem:nth-child(3) .av{background:var(--gold);color:var(--v9-ink)}
.v9-land .pv-gem .name{font-weight:700;color:var(--v9-ink);margin-bottom:1px;line-height:1.3}
.v9-land .pv-gem .reason{color:var(--mute);font-size:10.5px;line-height:1.4}
.v9-land .pv-callout{position:absolute;bottom:-28px;left:-32px;background:var(--v9-ink);color:var(--paper);padding:14px 18px;border-radius:11px;font-family:'Fraunces',serif;font-style:italic;font-size:13px;font-variation-settings:"opsz" 24,"SOFT" 100,"WONK" 1;line-height:1.4;max-width:240px;box-shadow:0 18px 36px -12px rgba(20,24,42,0.32);transform:rotate(-2deg);z-index:2}
.v9-land .pv-callout::before{content:'\u2726';color:var(--gold);margin-right:6px}
.v9-land .pv-callout strong{color:var(--gold);font-weight:600;font-style:normal;font-family:'Manrope',sans-serif;text-transform:uppercase;font-size:10px;letter-spacing:0.15em;display:block;margin-bottom:4px}

/* — METRICS — */
.v9-land .metrics{background:var(--v9-ink);color:var(--paper);padding:28px}
.v9-land .metrics-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.v9-land .metric .v{font-family:'Fraunces',serif;font-weight:400;font-variation-settings:"opsz" 60,"SOFT" 30;font-size:24px;line-height:1.1;margin-bottom:6px;color:var(--paper);letter-spacing:-0.015em}
.v9-land .metric .v em{font-style:italic;color:var(--gold);font-variation-settings:"opsz" 60,"SOFT" 100,"WONK" 1}
.v9-land .metric .l{font-size:11px;color:rgba(250,247,241,0.55);text-transform:uppercase;letter-spacing:0.12em;font-weight:600}

/* — SECTIONS — */
.v9-land .v9-sec{padding:96px 28px;position:relative}
.v9-land .sec-inner{max-width:1100px;margin:0 auto}
.v9-land .sec-head{text-align:center;margin-bottom:56px}
.v9-land .sec-num{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:42px;color:var(--rust);line-height:1;margin-bottom:8px;font-variation-settings:"opsz" 96,"SOFT" 100,"WONK" 1;opacity:0.75}
.v9-land .sec-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:0.32em;color:var(--mute);margin-bottom:14px;font-weight:600}
.v9-land .sec-title{font-family:'Fraunces',serif;font-weight:400;font-variation-settings:"opsz" 96,"SOFT" 30;font-size:clamp(32px,4.5vw,48px);line-height:1.1;letter-spacing:-0.02em;color:var(--v9-ink);margin-bottom:16px}
.v9-land .sec-title em{font-style:italic;color:var(--rust);font-variation-settings:"opsz" 96,"SOFT" 100,"WONK" 1}
.v9-land .sec-sub{font-size:16.5px;color:var(--mute);max-width:540px;margin:0 auto;line-height:1.6}

/* — PROBLEM GRID — */
.v9-land .problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.v9-land .problem-card{padding:28px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);transition:background .2s;position:relative}
.v9-land .problem-card:hover{background:var(--surface)}
.v9-land .problem-card .pnum{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:14px;color:var(--rust);letter-spacing:0.05em;margin-bottom:12px;display:block;font-variation-settings:"opsz" 24,"SOFT" 100,"WONK" 1}
.v9-land .problem-card h4{font-family:'Fraunces',serif;font-weight:500;font-variation-settings:"opsz" 24,"SOFT" 30;font-size:18px;line-height:1.25;margin-bottom:8px;letter-spacing:-0.01em;color:var(--v9-ink)}
.v9-land .problem-card p{font-size:13px;color:var(--mute);line-height:1.6}
.v9-land .problem-card.featured{background:var(--v9-ink);color:var(--paper)}
.v9-land .problem-card.featured .pnum{color:var(--gold)}
.v9-land .problem-card.featured h4{color:var(--paper)}
.v9-land .problem-card.featured p{color:rgba(250,247,241,0.65)}

/* — PULL QUOTE — */
.v9-land .pullquote-row{padding:88px 28px;background:var(--paper-deep);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v9-land .pullquote-inner{max-width:760px;margin:0 auto}
.v9-land .pullquote-inner .q-mark{font-family:'Fraunces',serif;font-style:italic;font-size:56px;color:var(--rust);line-height:0.5;display:block;margin-bottom:12px;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;opacity:0.8}
.v9-land .pullquote-inner blockquote{font-family:'Fraunces',serif;font-weight:380;font-style:italic;font-variation-settings:"opsz" 96,"SOFT" 100,"WONK" 1;font-size:clamp(24px,3.4vw,36px);line-height:1.3;letter-spacing:-0.015em;color:var(--v9-ink);margin-bottom:22px}
.v9-land .pullquote-inner blockquote em{color:var(--rust)}
.v9-land .pullquote-inner cite{font-style:normal;font-size:11.5px;color:var(--mute);text-transform:uppercase;letter-spacing:0.18em}

/* — FEATURE ROWS — */
.v9-land .feature-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:88px}
.v9-land .feature-row:last-child{margin-bottom:0}
.v9-land .feature-row.flip{direction:rtl}
.v9-land .feature-row.flip > *{direction:ltr}
.v9-land .feature-text{padding-right:12px}
.v9-land .feature-num{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:56px;color:var(--rust);line-height:1;margin-bottom:12px;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;opacity:0.85}
.v9-land .feature-text h3{font-family:'Fraunces',serif;font-weight:450;font-variation-settings:"opsz" 60,"SOFT" 30;font-size:30px;line-height:1.15;letter-spacing:-0.018em;margin-bottom:14px;color:var(--v9-ink)}
.v9-land .feature-text h3 em{font-style:italic;color:var(--rust);font-variation-settings:"opsz" 60,"SOFT" 100,"WONK" 1}
.v9-land .feature-text p{font-size:15.5px;color:var(--mute);line-height:1.7;margin-bottom:16px}
.v9-land .feature-text p strong{color:var(--v9-ink);font-weight:600}
.v9-land .feature-pill-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.v9-land .feature-pill{padding:5px 12px;background:var(--surface);border:1px solid var(--line);border-radius:100px;font-size:12px;color:var(--v9-ink);font-weight:500}
.v9-land .feature-pill em{font-style:italic;font-family:'Fraunces',serif;color:var(--rust);font-variation-settings:"opsz" 14,"SOFT" 100,"WONK" 1}

/* — TIER VIS CARD — */
.v9-land .tier-vis-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 14px 40px -16px rgba(20,24,42,0.12)}
.v9-land .tier-vis-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.v9-land .tier-vis-row:last-child{border-bottom:none;padding-bottom:0}
.v9-land .tier-vis-row:first-child{padding-top:0}
.v9-land .tier-vis-mark{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:18px;color:var(--paper);flex-shrink:0;font-variation-settings:"opsz" 24,"SOFT" 100,"WONK" 1}
.v9-land .tier-vis-row:nth-child(1) .tier-vis-mark{background:var(--rust)}
.v9-land .tier-vis-row:nth-child(2) .tier-vis-mark{background:var(--v9-ink)}
.v9-land .tier-vis-row:nth-child(3) .tier-vis-mark{background:var(--mute)}
.v9-land .tier-vis-row:nth-child(4) .tier-vis-mark{background:var(--mute-2)}
.v9-land .tier-vis-info{flex:1}
.v9-land .tier-vis-name{font-family:'Fraunces',serif;font-weight:500;font-size:15px;margin-bottom:2px;letter-spacing:-0.01em;color:var(--v9-ink)}
.v9-land .tier-vis-sub{font-size:12.5px;color:var(--mute)}
.v9-land .tier-vis-cap{font-family:'Fraunces',serif;font-weight:500;font-size:18px;color:var(--v9-ink);letter-spacing:-0.015em;font-variation-settings:"opsz" 36,"SOFT" 30}
.v9-land .tier-vis-cap span{font-size:11px;color:var(--mute);font-weight:400;font-family:'Manrope',sans-serif;letter-spacing:0}

/* — DRAFT CARD — */
.v9-land .draft-vis-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px 26px;box-shadow:0 14px 40px -16px rgba(20,24,42,0.12)}
.v9-land .draft-vis-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:16px}
.v9-land .draft-vis-from{font-size:12px;color:var(--mute)}
.v9-land .draft-vis-from strong{color:var(--v9-ink);font-weight:700}
.v9-land .draft-vis-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--rust-soft);border-radius:100px;color:var(--rust);font-size:10.5px;text-transform:uppercase;letter-spacing:0.12em;font-weight:700}
.v9-land .draft-vis-pill::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--rust);animation:v9-pulse-rust 2s infinite}
@keyframes v9-pulse-rust{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(1.4)}}
.v9-land .draft-vis-subject{font-family:'Fraunces',serif;font-weight:500;font-size:17px;margin-bottom:10px;color:var(--v9-ink);letter-spacing:-0.012em}
.v9-land .draft-vis-body{font-size:13px;color:var(--mute);line-height:1.7}
.v9-land .draft-vis-body p{margin-bottom:9px}
.v9-land .draft-vis-body p:last-child{margin-bottom:0}
.v9-land .draft-vis-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:10px}
.v9-land .dva-btn{font-size:11px;padding:6px 11px;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--mute);font-weight:600;font-family:'Manrope',sans-serif;cursor:pointer}
.v9-land .dva-btn.primary{background:var(--v9-ink);color:var(--paper);border-color:var(--v9-ink)}

/* — GEM LIST CARD — */
.v9-land .gem-vis-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 14px 40px -16px rgba(20,24,42,0.12)}
.v9-land .gem-vis-label{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--rust);margin-bottom:14px;font-variation-settings:"opsz" 24,"SOFT" 100,"WONK" 1;letter-spacing:0.02em}
.v9-land .gem-vis-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.v9-land .gem-vis-row:last-child{border-bottom:none;padding-bottom:0}
.v9-land .gem-vis-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-style:italic;font-size:13px;font-weight:500;color:var(--paper);flex-shrink:0;font-variation-settings:"opsz" 24,"SOFT" 100,"WONK" 1}
.v9-land .gem-vis-name{font-size:13.5px;font-weight:700;color:var(--v9-ink);margin-bottom:2px}
.v9-land .gem-vis-reason{font-size:12px;color:var(--mute);line-height:1.5;font-style:italic}

/* — STEPS — */
.v9-land .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:32px}
.v9-land .step{padding:32px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);position:relative}
.v9-land .step .snum{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:48px;color:var(--rust);line-height:1;margin-bottom:14px;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;opacity:0.85}
.v9-land .step h4{font-family:'Fraunces',serif;font-weight:500;font-size:18px;margin-bottom:8px;letter-spacing:-0.012em;color:var(--v9-ink)}
.v9-land .step p{font-size:13.5px;color:var(--mute);line-height:1.65}

/* — PRIVACY — */
.v9-land .privacy-section{background:var(--v9-ink);color:var(--paper);padding:96px 28px}
.v9-land .privacy-section .sec-num{color:var(--gold)}
.v9-land .privacy-section .sec-eyebrow{color:rgba(250,247,241,0.55)}
.v9-land .privacy-section .sec-title{color:var(--paper)}
.v9-land .privacy-section .sec-title em{color:var(--gold)}
.v9-land .privacy-section .sec-sub{color:rgba(250,247,241,0.65)}
.v9-land .priv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border-top:1px solid rgba(250,247,241,0.12);border-left:1px solid rgba(250,247,241,0.12)}
.v9-land .priv-cell{padding:32px 28px;border-right:1px solid rgba(250,247,241,0.12);border-bottom:1px solid rgba(250,247,241,0.12)}
.v9-land .priv-cell .check{width:32px;height:32px;border-radius:50%;background:rgba(200,160,80,0.15);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;margin-bottom:14px}
.v9-land .priv-cell h4{font-family:'Fraunces',serif;font-weight:500;font-size:18px;color:var(--paper);margin-bottom:8px;letter-spacing:-0.01em}
.v9-land .priv-cell h4 em{font-style:italic;color:var(--gold);font-variation-settings:"opsz" 24,"SOFT" 100,"WONK" 1}
.v9-land .priv-cell p{font-size:13.5px;color:rgba(250,247,241,0.6);line-height:1.65}

/* — FINAL — */
.v9-land .final{text-align:center;padding:112px 28px 88px;position:relative}
.v9-land .final::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 40% at 50% 0%,rgba(196,80,58,0.06),transparent 60%);pointer-events:none}
.v9-land .final-inner{max-width:720px;margin:0 auto;position:relative}
.v9-land .final h2{font-family:'Fraunces',serif;font-weight:380;font-variation-settings:"opsz" 144,"SOFT" 30;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-0.025em;margin-bottom:18px;color:var(--v9-ink)}
.v9-land .final h2 em{font-style:italic;color:var(--rust);font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}
.v9-land .final p{font-size:17px;color:var(--mute);margin-bottom:32px;max-width:540px;margin-left:auto;margin-right:auto;line-height:1.6}

/* — FOOTER — */
.v9-land .v9-footer{background:var(--paper-deep);border-top:1px solid var(--line);padding:56px 28px 32px}
.v9-land .footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:32px}
.v9-land .footer-brand .wordmark{display:block;margin-bottom:12px;font-size:24px}
.v9-land .footer-brand p{font-size:13px;color:var(--mute);line-height:1.65;max-width:280px;font-style:italic;font-family:'Fraunces',serif;font-variation-settings:"opsz" 24,"SOFT" 50,"WONK" 0;font-weight:400}
.v9-land .footer-col h5{font-size:11px;text-transform:uppercase;letter-spacing:0.18em;color:var(--v9-ink);margin-bottom:14px;font-weight:700}
.v9-land .footer-col a,.v9-land .footer-col button{display:block;font-size:13px;color:var(--mute);text-decoration:none;padding:5px 0;transition:color .15s;background:none;border:none;cursor:pointer;font-family:'Manrope',sans-serif;text-align:left;width:100%}
.v9-land .footer-col a:hover,.v9-land .footer-col button:hover{color:var(--rust)}
.v9-land .footer-bottom{max-width:1100px;margin:0 auto;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--mute-2);gap:8px}
.v9-land .footer-bottom em{color:var(--rust);font-style:italic;font-family:'Fraunces',serif;font-variation-settings:"opsz" 14,"SOFT" 100,"WONK" 1}

/* — STICKY MOBILE CTA — */
.v9-land .mobile-cta{display:none;position:fixed;bottom:16px;left:16px;right:16px;z-index:100}
.v9-land .mobile-cta .btn{width:100%;justify-content:center;padding:16px;font-size:14.5px;box-shadow:0 16px 40px -10px rgba(196,80,58,0.5)}

/* — ANIMATIONS — */
@keyframes v9-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.v9-land .rise{animation:v9-rise .65s ease-out backwards}
.v9-land .d1{animation-delay:.08s}
.v9-land .d2{animation-delay:.16s}
.v9-land .d3{animation-delay:.24s}
.v9-land .d4{animation-delay:.32s}
.v9-land .d5{animation-delay:.40s}

/* — RESPONSIVE — */
@media (max-width:980px){
  .v9-land .hero-inner{grid-template-columns:1fr;gap:40px}
  .v9-land .hero{padding:56px 24px 48px}
  .v9-land .pv-callout{display:none}
  .v9-land .preview-card{transform:none}
  .v9-land .feature-row{grid-template-columns:1fr;gap:32px;margin-bottom:64px}
  .v9-land .feature-row.flip{direction:ltr}
  .v9-land .feature-text{padding-right:0}
  .v9-land .problem-grid{grid-template-columns:1fr 1fr}
  .v9-land .priv-grid{grid-template-columns:1fr}
  .v9-land .steps{grid-template-columns:1fr}
  .v9-land .metrics-inner{grid-template-columns:repeat(2,1fr);gap:24px}
  .v9-land .footer-inner{grid-template-columns:1fr 1fr}
  .v9-land .footer-brand{grid-column:span 2}
  .v9-land .v9-sec{padding:64px 24px}
  .v9-land .privacy-section{padding:64px 24px}
  .v9-land .pullquote-row{padding:64px 24px}
  .v9-land .nav-links a:not(.btn),.v9-land .nav-links button:not(.btn){display:none}
  .v9-land .mobile-cta{display:block}
  .v9-land{padding-bottom:84px}
  .v9-land .footer-bottom{flex-direction:column;gap:8px;text-align:center}
}
@media (max-width:540px){
  .v9-land .problem-grid{grid-template-columns:1fr}
  .v9-land .hero-h{font-size:38px}
  .v9-land .hero-sub{font-size:16px}
  .v9-land .preview-body{padding:16px}
  .v9-land .pv-tiers{gap:6px}
  .v9-land .pv-tier{padding:9px 8px}
  .v9-land .pv-tier .v{font-size:19px}
}

/* ─ Auth ─ */
.auth-page{min-height:100vh;background:var(--cloud);display:flex;align-items:center;justify-content:center}
.auth-card{background:var(--card);border:1px solid var(--mist);border-radius:20px;padding:40px 36px;max-width:420px;width:100%;box-shadow:0 8px 40px rgba(5,8,20,.06);animation:su .35s ease-out}
.auth-card .logo{color:var(--ink);font-size:28px;text-align:center;display:block;margin-bottom:6px}
.auth-subtitle{text-align:center;font-size:13px;color:var(--stone);margin-bottom:28px}
.goog-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:var(--rs);border:1px solid var(--mist);background:var(--card);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink)}
.goog-btn:hover{border-color:var(--teal);box-shadow:0 2px 12px rgba(27,166,160,.1)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;font-size:11px;color:var(--stone);text-transform:uppercase;letter-spacing:1px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--mist)}
.auth-field{margin-bottom:14px}
.auth-field label{display:block;font-size:11.5px;font-weight:600;color:var(--graphite);margin-bottom:5px}
.auth-field input{width:100%;padding:10px 12px;border:1px solid var(--mist);border-radius:var(--rs);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);outline:none;transition:all var(--tr);background:var(--cloud)}
.auth-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(27,166,160,.08)}
.auth-submit{width:100%;padding:12px;border-radius:var(--rs);border:none;background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif;margin-top:4px}
.auth-submit:hover{background:#1a2340}
.auth-toggle{text-align:center;margin-top:18px;font-size:12px;color:var(--stone)}
.auth-toggle button{background:none;border:none;color:var(--teal);font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px}
.auth-privacy{text-align:center;margin-top:14px;font-size:10.5px;color:var(--stone);line-height:1.5}

/* ─ Import ─ */
.imp-page{min-height:100vh;background:var(--cloud);display:flex;align-items:center;justify-content:center}
.imp-wrap{max-width:580px;width:100%;padding:0 20px}
.imp-head{text-align:center;margin-bottom:28px}
.imp-head .logo{color:var(--ink);font-size:26px;display:block;margin-bottom:6px}
.imp-card{background:var(--card);border:1px solid var(--mist);border-radius:20px;padding:36px 32px;text-align:center;animation:su .3s ease-out}
.imp-card.drag{border-color:var(--teal);background:rgba(27,166,160,.015)}
.imp-card h2{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px}
.imp-card>p{font-size:12.5px;color:var(--stone);line-height:1.6;margin-bottom:10px}
.imp-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:var(--rs);border:none;background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif;margin-bottom:8px}
.imp-primary:hover{background:#1a2340}
.imp-note{font-size:10.5px;color:var(--stone);margin-bottom:20px;line-height:1.5}
.imp-divider{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:10.5px;color:var(--stone);text-transform:uppercase;letter-spacing:1px}
.imp-divider::before,.imp-divider::after{content:'';flex:1;height:1px;background:var(--mist)}
.imp-csv-area{border:2px dashed var(--mist);border-radius:14px;padding:28px 20px;transition:all var(--tr);margin-bottom:10px}
.imp-csv-area.drag{border-color:var(--teal);background:rgba(27,166,160,.02)}
.imp-csv-btns{display:flex;gap:10px;justify-content:center;margin-top:14px}
.csv-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--rs);border:1px solid var(--mist);background:var(--card);font-size:12.5px;font-weight:600;cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink)}
.csv-btn:hover{border-color:var(--teal)}
.demo-btn{background:none;border:1px solid rgba(180,166,255,.25);color:var(--lilac);padding:9px 20px;border-radius:var(--rs);font-size:12.5px;font-weight:600;cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif;margin-top:14px}
.demo-btn:hover{background:rgba(180,166,255,.04)}
.back-link{display:block;text-align:center;margin-top:18px;background:none;border:none;color:var(--stone);font-size:11.5px;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}

/* ─ Processing ─ */
.proc{max-width:440px;margin:0 auto;text-align:center;animation:su .3s ease-out}
.proc-ring{width:56px;height:56px;border-radius:50%;border:3px solid rgba(27,166,160,.12);border-top-color:var(--teal);animation:sp 1s linear infinite;margin:0 auto 20px}

/* ─ App Shell ─ */
.app{display:flex;min-height:100vh;background:var(--cloud)}
.side{width:var(--sidebar);background:var(--card);border-right:1px solid var(--mist);display:flex;flex-direction:column;padding:20px 0;position:fixed;top:0;left:0;bottom:0;z-index:10}
.side .logo{padding:0 18px;margin-bottom:26px;font-size:21px;color:var(--ink)}
.snav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 10px}
.ni{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:var(--rs);color:var(--stone);font-size:12.5px;font-weight:500;cursor:pointer;transition:all var(--tr);border:none;background:none;width:100%;text-align:left;font-family:'Plus Jakarta Sans',sans-serif}
.ni:hover{background:var(--cloud);color:var(--graphite)}.ni.on{background:rgba(27,166,160,.07);color:var(--teal)}
.ni .bg{margin-left:auto;background:var(--teal);color:#fff;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:100px}
.sft{padding:14px 18px;border-top:1px solid var(--mist);font-size:11px;color:var(--stone)}
.mn{margin-left:var(--sidebar);flex:1;padding:26px 32px;max-width:1060px}

/* ─ Dashboard ─ */
.dh{margin-bottom:22px;animation:fu .3s ease-out}
.dt{font-family:'DM Serif Display',serif;font-size:26px;color:var(--ink);letter-spacing:-.4px}
.ds{font-size:12.5px;color:var(--stone);margin-top:3px}
.sts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.st{background:var(--card);border:1px solid var(--mist);border-radius:var(--r);padding:16px;animation:fu .3s ease-out backwards}
.st:nth-child(1){animation-delay:.02s}.st:nth-child(2){animation-delay:.04s}.st:nth-child(3){animation-delay:.06s}.st:nth-child(4){animation-delay:.08s}
.stl{font-size:10.5px;color:var(--stone);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.stv{font-size:24px;font-weight:700;letter-spacing:-1px}
.sts2{font-size:10.5px;color:var(--stone);margin-top:2px}

/* ─ Contact List ─ */
.sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sh-controls{display:flex;align-items:center;gap:6px}
.sh-count{font-size:10.5px;color:var(--stone);font-weight:500}
.sh-btn{width:28px;height:28px;border-radius:7px;border:1px solid var(--mist);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--graphite);transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif;padding:0;line-height:1}
.sh-btn:hover{border-color:var(--teal);color:var(--teal)}
.sh-btn:disabled{opacity:.3;cursor:default;border-color:var(--mist);color:var(--stone)}
.stitle{font-size:14px;font-weight:700;color:var(--ink)}
.sb{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--mist);border-radius:var(--rs);padding:6px 11px;width:200px;transition:all var(--tr)}
.sb:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(27,166,160,.07)}
.sb input{border:none;outline:none;background:none;flex:1;font-size:11.5px;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif}
.sb input::placeholder{color:var(--stone)}
.tabs{display:flex;gap:5px;margin-bottom:14px}
.tab{padding:5px 12px;border-radius:100px;font-size:10.5px;font-weight:600;border:1px solid var(--mist);cursor:pointer;transition:all var(--tr);background:var(--card);font-family:'Plus Jakarta Sans',sans-serif;color:var(--graphite)}
.tab:hover{border-color:var(--stone)}.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}

.cl{display:flex;flex-direction:column;gap:5px}
.cr{display:grid;grid-template-columns:38px 1fr 72px 76px 90px 34px;align-items:center;gap:11px;background:var(--card);border:1px solid var(--mist);border-radius:var(--r);padding:11px 14px;cursor:pointer;transition:all var(--tr);animation:fu .25s ease-out backwards}
.cr:hover{box-shadow:var(--sh);border-color:rgba(27,166,160,.13);transform:translateY(-1px)}
.cav{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;color:#fff}
.cn{font-size:12.5px;font-weight:600;color:var(--ink)}
.cm{font-size:10.5px;color:var(--stone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctier{font-size:9.5px;font-weight:700;padding:3px 9px;border-radius:100px;text-align:center}
.cemail{font-size:10.5px;display:flex;align-items:center;gap:4px;color:var(--teal);font-weight:500}

/* ─ Detail Panel ─ */
.ov{position:fixed;inset:0;background:rgba(5,8,20,.32);z-index:100;backdrop-filter:blur(3px)}
.pn{position:fixed;top:0;right:0;bottom:0;width:460px;background:var(--card);box-shadow:0 0 50px rgba(5,8,20,.1);z-index:101;overflow-y:auto;animation:sr .28s ease-out;display:flex;flex-direction:column}
.ph{padding:22px 22px 16px;border-bottom:1px solid var(--mist);display:flex;align-items:flex-start;justify-content:space-between}
.pcl{width:32px;height:32px;border-radius:8px;border:none;background:var(--cloud);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--graphite);transition:all var(--tr);font-size:16px}
.pcl:hover{background:var(--mist)}
.pav{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;color:#fff;margin-bottom:9px}
.pnm{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.3px}
.porg{font-size:12.5px;color:var(--stone);margin-top:2px}
.pb{padding:18px 22px;flex:1}
.ps{margin-bottom:22px}
.pst{font-size:9.5px;font-weight:700;color:var(--stone);text-transform:uppercase;letter-spacing:1.1px;margin-bottom:9px}
.prat{background:rgba(27,166,160,.04);border:1px solid rgba(27,166,160,.08);border-radius:var(--rs);padding:11px 13px;font-size:11.5px;line-height:1.6;color:var(--graphite)}

.obt{display:flex;flex-direction:column;gap:7px}
.ob{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--rs);border:1px solid var(--mist);background:var(--card);cursor:pointer;transition:all var(--tr);text-decoration:none;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif}
.ob:hover{border-color:var(--teal);box-shadow:var(--sh);transform:translateY(-1px)}
.ob.pri{background:rgba(27,166,160,.04);border-color:rgba(27,166,160,.18)}
.ob.sec{opacity:.7}.ob.sec:hover{opacity:1}
.obi{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.obl{font-size:12.5px;font-weight:600}.obd{font-size:10.5px;color:var(--stone);margin-top:1px}
.oba{margin-left:auto;color:var(--stone);font-size:13px}
.sec-badge{display:inline-block;font-size:8.5px;font-weight:700;color:var(--stone);background:var(--mist);padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px}

.pm{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pmm{background:var(--cloud);border-radius:var(--rs);padding:11px}
.pml{font-size:9.5px;color:var(--stone);margin-bottom:2px}
.pmv{font-size:13px;font-weight:700;color:var(--ink)}
.na{width:100%;border:1px solid var(--mist);border-radius:var(--rs);padding:9px 11px;font-size:11.5px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);resize:vertical;min-height:64px;background:var(--cloud);outline:none;transition:all var(--tr)}
.na:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(27,166,160,.07)}

/* ─ Score Indicators ─ */
.cscore-wrap{display:flex;align-items:center;gap:6px}
.cscore-bar{width:40px;height:5px;border-radius:3px;background:var(--mist);overflow:hidden}
.cscore-fill{height:100%;border-radius:3px;transition:width .3s ease}
.cscore-num{font-size:10px;font-weight:700;color:var(--graphite);min-width:18px;text-align:right}
.score-detail{display:flex;gap:16px;align-items:center;margin-bottom:12px;padding:14px;background:var(--cloud);border-radius:var(--rs)}
.score-ring{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.score-ring-inner{width:42px;height:42px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--ink)}
.score-meta{flex:1;min-width:0}
.score-label{font-size:10px;font-weight:700;color:var(--stone);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.score-bar-lg{width:100%;height:6px;border-radius:3px;background:var(--mist);overflow:hidden;margin-bottom:8px}
.score-fill-lg{height:100%;border-radius:3px;transition:width .3s ease}
.score-breakdown{display:flex;flex-wrap:wrap;gap:4px}
.score-breakdown span{font-size:9.5px;color:var(--stone);background:var(--card);padding:2px 7px;border-radius:4px;border:1px solid var(--mist)}

/* ─ Ignore Feature ─ */
.ignore-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:7px;border:1px solid var(--mist);background:var(--cloud);font-size:10.5px;font-weight:600;cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif;color:var(--stone);white-space:nowrap}
.ignore-btn:hover{border-color:var(--ember);color:var(--ember)}
.ignore-btn.on{background:rgba(36,178,107,.06);border-color:rgba(36,178,107,.2);color:var(--green)}
.ignore-btn.on:hover{background:rgba(36,178,107,.1)}
.ignore-banner{background:#FEF3C7;border:1px solid #FDE68A;border-radius:var(--rs);padding:10px 14px;font-size:11.5px;color:#92400E;line-height:1.5;margin-bottom:16px}
.ignored-toggle{display:inline-flex;align-items:center;gap:4px}
.ignore-info{background:rgba(242,109,74,.04);border:1px solid rgba(242,109,74,.12);border-radius:var(--rs);padding:9px 14px;font-size:11.5px;color:var(--ember);margin-bottom:12px}

/* ─ Schedule Follow-up Modal ─ */
.sched-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;max-width:92vw;max-height:85vh;overflow-y:auto;background:var(--card);border:1px solid var(--mist);border-radius:20px;box-shadow:0 20px 60px rgba(5,8,20,.15);z-index:201;animation:su .25s ease-out}
.sched-header{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 22px 14px;border-bottom:1px solid var(--mist)}
.sched-body{padding:18px 22px 22px}
.sched-row{margin-bottom:14px}
.sched-row label{display:block;font-size:11px;font-weight:700;color:var(--stone);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.sched-input{width:100%;padding:9px 12px;border:1px solid var(--mist);border-radius:var(--rs);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);outline:none;background:var(--cloud);transition:all var(--tr)}
.sched-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(27,166,160,.08)}
.sched-types{display:flex;flex-direction:column;gap:5px}
.sched-type{text-align:left;padding:10px 12px;border:1px solid var(--mist);border-radius:var(--rs);background:var(--card);cursor:pointer;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif}
.sched-type:hover{border-color:var(--stone)}
.sched-type.on{border-color:var(--teal);background:rgba(27,166,160,.03)}
.sched-type-label{font-size:12px;font-weight:600;color:var(--ink)}
.sched-type-desc{font-size:10.5px;color:var(--stone);margin-top:1px}

/* ─ Schedule button in reach out ─ */
.ob.sched{border:none;font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;text-align:left}
.ob.sched{background:rgba(36,178,107,.04);border:1px solid rgba(36,178,107,.15)}
.ob.sched:hover{border-color:var(--green);box-shadow:var(--sh);transform:translateY(-1px)}

/* ─ Template compose button ─ */
.ob.tmpl{border:none;font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;text-align:left;width:100%}
.ob.tmpl{background:rgba(27,166,160,.02);border:1px solid rgba(27,166,160,.1)}
.ob.tmpl:hover{border-color:var(--teal);box-shadow:var(--sh);transform:translateY(-1px)}

/* ─ Outreach Template Modal ─ */
.tmpl-chip{padding:6px 10px;border:1px solid var(--mist);border-radius:7px;background:var(--card);cursor:pointer;text-align:left;transition:all var(--tr);font-family:'Plus Jakarta Sans',sans-serif}
.tmpl-chip:hover{border-color:var(--stone)}
.tmpl-chip.on{border-color:var(--teal);background:rgba(27,166,160,.04)}
.tmpl-chip.dim{opacity:.45}
.tmpl-chip-label{display:block;font-size:11.5px;font-weight:600;color:var(--ink)}
.tmpl-chip-tone{display:block;font-size:9.5px;color:var(--stone);margin-top:1px}
.outreach-preview{background:var(--cloud);border:1px solid var(--mist);border-radius:var(--rs);padding:14px 16px;max-height:220px;overflow-y:auto}
.outreach-subject{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--mist)}
.outreach-body{font-size:12.5px;color:var(--graphite);line-height:1.7;white-space:pre-wrap}

/* ─ CSV Preview Modal ─ */
.csv-preview-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:680px;max-width:95vw;max-height:88vh;overflow-y:auto;background:var(--card);border:1px solid var(--mist);border-radius:20px;box-shadow:0 20px 60px rgba(5,8,20,.15);z-index:201;animation:su .25s ease-out}
.csv-stat{background:var(--cloud);border-radius:var(--rs);padding:10px;text-align:center}
.csv-stat-num{font-size:22px;font-weight:800;letter-spacing:-.5px}
.csv-stat-label{font-size:10px;color:var(--stone);margin-top:2px}
.csv-table-wrap{max-height:280px;overflow-y:auto;border:1px solid var(--mist);border-radius:var(--rs)}
.csv-table{width:100%;border-collapse:collapse;font-size:11.5px;font-family:'Plus Jakarta Sans',sans-serif}
.csv-table th{padding:7px 10px;text-align:left;font-weight:700;color:var(--stone);font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:var(--cloud);border-bottom:1px solid var(--mist);position:sticky;top:0;z-index:1}
.csv-table td{padding:6px 10px;border-top:1px solid var(--mist);color:var(--ink)}

.err-toast{background:#FEF2F2;border:1px solid #FECACA;border-radius:var(--rs);padding:10px 14px;font-size:12px;color:#DC2626;line-height:1.5;margin-bottom:14px;animation:fu .25s ease-out}
.auth-loading{opacity:.6;pointer-events:none}

@media(max-width:900px){
  .lfeats{grid-template-columns:1fr;max-width:340px}
  .sts{grid-template-columns:repeat(2,1fr)}
  .side{display:none}.mn{margin-left:0;padding:18px 14px}
  .pn{width:100%}
  .cr{grid-template-columns:34px 1fr 66px 34px}.cemail{display:none}.cscore-wrap{display:none}
}
