:root{
  /* ════ NEON NOIR — bold cinematic theme ════ */
  --bg-0:#000000;          /* pure void */
  --bg-1:#0a0a0e;          /* carbon surface */
  --ink:#fafafa;           /* bone white */
  --ink-dim:#8a8a92;       /* neutral grey */
  /* Clariva — electric violet / cyan / hot magenta */
  --accent:#b933ff;
  --accent-2:#00f0ff;
  --accent-3:#ff0080;
  --clariva-1:#b933ff;
  --clariva-2:#00f0ff;
  /* Solvera — crimson / inferno / gold (deeper, more aggressive) */
  --solvera-1:#ff5500;
  --solvera-2:#ffcc00;
  --solvera-3:#ff0040;
  /* Glass + borders re-tuned for higher contrast on pure black */
  --glass: rgba(255,255,255,0.04);
  --glass-strong: rgba(255,255,255,0.08);
  --border: rgba(255,255,255,0.10);
  --radius: 18px;
  --success:#00ff88;
  --danger:#ff0040;
}

/* SOLVERA prism/peak mark — pure CSS recreation */
.logo-mark-solvera{width:32px;height:32px;flex-shrink:0;position:relative;
  background:linear-gradient(135deg,#ff0040 0%, #ff5500 55%, #ffcc00 100%);
  clip-path:polygon(50% 8%, 96% 92%, 4% 92%);
  filter:drop-shadow(0 0 14px rgba(255,85,0,.6));
  animation:prismShimmer 4s ease-in-out infinite}
.logo-mark-solvera::after{content:"";position:absolute;left:50%;top:62%;width:11px;height:11px;border-radius:50%;
  background:radial-gradient(circle, #ffcc00 0%, #ff5500 70%);transform:translate(-50%,-50%);
  box-shadow:0 0 8px rgba(255,204,0,.8)}
@keyframes prismShimmer{0%,100%{filter:drop-shadow(0 0 14px rgba(255,85,0,.6))}50%{filter:drop-shadow(0 0 22px rgba(255,204,0,.8))}}

/* Solvera text gradient */
.grad-solvera{background:linear-gradient(135deg,#fb923c 0%,#fbbf24 50%,#fb7185 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Solvera button */
.btn-solvera{background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;
  box-shadow:0 10px 40px rgba(251,146,60,.4), inset 0 1px 0 rgba(255,255,255,.4)}
.btn-solvera:hover{transform:translateY(-2px);box-shadow:0 16px 50px rgba(251,146,60,.6)}

/* Solvera pill / badge */
.badge-solvera{background:rgba(251,146,60,.2);color:#ffb878;border:1px solid rgba(251,146,60,.4)}

/* Solvera nav CTA */
.nav-cta-solvera{padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#fb923c,#fbbf24);
  color:#0a0d1a !important;font-weight:600;font-size:14px;text-decoration:none;transition:transform .2s, box-shadow .2s;
  box-shadow:0 0 24px rgba(251,146,60,.45)}
.nav-cta-solvera:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(251,146,60,.7)}

/* Two-product split hero (umbrella landing) */
.products-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:60px}
.product-tile{padding:40px;border-radius:24px;position:relative;overflow:hidden;
  border:1px solid var(--border);backdrop-filter:blur(20px);transition:transform .3s, box-shadow .3s;
  text-decoration:none;color:var(--ink);display:block;cursor:pointer;min-height:420px;
  display:flex;flex-direction:column;justify-content:space-between}
.product-tile:hover{transform:translateY(-6px)}
.product-tile.clariva{background:linear-gradient(180deg,rgba(124,92,255,.18),rgba(34,211,238,.06))}
.product-tile.clariva:hover{box-shadow:0 30px 80px rgba(124,92,255,.3);border-color:rgba(124,92,255,.4)}
.product-tile.solvera{background:linear-gradient(180deg,rgba(251,146,60,.18),rgba(251,113,133,.06))}
.product-tile.solvera:hover{box-shadow:0 30px 80px rgba(251,146,60,.3);border-color:rgba(251,146,60,.4)}
.product-tile::before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;border-radius:50%;filter:blur(60px);opacity:.4}
.product-tile.clariva::before{background:radial-gradient(circle,#7c5cff,transparent 70%)}
.product-tile.solvera::before{background:radial-gradient(circle,#fb923c,transparent 70%)}
.product-tile-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;position:relative;z-index:2}
.product-tile-mark{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk';font-weight:700;font-size:22px;color:#0a0d1a;flex-shrink:0;
  box-shadow:0 0 20px rgba(255,255,255,.15)}
.product-tile.clariva .product-tile-mark{background:conic-gradient(from 220deg,#7c5cff,#22d3ee,#ff5cf0,#7c5cff)}
.product-tile.solvera .product-tile-mark{background:conic-gradient(from 220deg,#fb923c,#fbbf24,#fb7185,#fb923c)}
.product-tile-name{font-family:'Space Grotesk';font-size:28px;font-weight:600;letter-spacing:-.5px;position:relative;z-index:2}
.product-tile-tag{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-top:2px;position:relative;z-index:2}
.product-tile p{color:var(--ink-dim);font-size:15px;line-height:1.6;position:relative;z-index:2;margin-bottom:20px}
.product-tile ul{list-style:none;position:relative;z-index:2;margin-bottom:24px}
.product-tile ul li{padding:8px 0;font-size:14px;display:flex;align-items:center;gap:10px}
.product-tile ul li::before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}
.product-tile.clariva ul li::before{background:linear-gradient(135deg,#7c5cff,#22d3ee);box-shadow:0 0 8px rgba(124,92,255,.6)}
.product-tile.solvera ul li::before{background:linear-gradient(135deg,#fb923c,#fbbf24);box-shadow:0 0 8px rgba(251,146,60,.6)}
.product-tile-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--border);position:relative;z-index:2}
.product-tile-price{font-family:'Space Grotesk';font-size:24px;font-weight:600}
.product-tile-price small{font-size:13px;color:var(--ink-dim);font-weight:400}
.product-tile-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);background:var(--glass-strong);border:1px solid var(--border);transition:all .2s}
.product-tile.clariva .product-tile-cta:hover{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border-color:transparent}
.product-tile.solvera .product-tile-cta:hover{background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;border-color:transparent}

/* Combined bundle highlight band */
.bundle-band{margin-top:24px;padding:28px;border-radius:20px;
  background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(251,146,60,.18));
  border:1px solid var(--border);backdrop-filter:blur(20px);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden}
.bundle-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.08),transparent 60%);pointer-events:none}
.bundle-band .bundle-text{flex:1;min-width:240px;position:relative;z-index:2}
.bundle-band h3{font-family:'Space Grotesk';font-size:22px;font-weight:600;margin-bottom:6px}
.bundle-band p{color:var(--ink-dim);font-size:14px;line-height:1.5}
.bundle-band .bundle-price{font-family:'Space Grotesk';font-size:32px;font-weight:600;position:relative;z-index:2}
.bundle-band .bundle-price small{font-size:14px;color:var(--ink-dim);font-weight:400}
.bundle-band .bundle-price .strike{font-size:16px;color:var(--ink-dim);text-decoration:line-through;margin-right:8px;font-weight:400}

/* Plan picker for onboarding step 3 */
.plan-pick{display:grid;grid-template-columns:1fr;gap:14px}
.plan-option{padding:24px;border-radius:16px;background:var(--glass);border:2px solid var(--border);cursor:pointer;transition:all .2s;position:relative}
.plan-option:hover{border-color:rgba(255,255,255,.25)}
.plan-option.selected{border-color:var(--clariva-1);background:linear-gradient(180deg,rgba(124,92,255,.12),rgba(34,211,238,.04));box-shadow:0 0 0 4px rgba(124,92,255,.15)}
.plan-option.solvera.selected{border-color:var(--solvera-1);background:linear-gradient(180deg,rgba(251,146,60,.12),rgba(251,191,36,.04));box-shadow:0 0 0 4px rgba(251,146,60,.15)}
.plan-option.bundle.selected{border-color:#ff5cf0;background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(251,146,60,.12));box-shadow:0 0 0 4px rgba(255,92,240,.15)}
.plan-option-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:14px}
.plan-option-title{font-family:'Space Grotesk';font-size:20px;font-weight:600}
.plan-option-price{font-family:'Space Grotesk';font-size:22px;font-weight:600;text-align:right}
.plan-option-price small{font-size:13px;color:var(--ink-dim);font-weight:400}
.plan-option-desc{color:var(--ink-dim);font-size:13px;line-height:1.5;margin-bottom:10px}
.plan-option-features{display:flex;flex-wrap:wrap;gap:8px}
.plan-option .savings{font-size:11px;background:linear-gradient(135deg,#7c5cff,#fb923c);color:#0a0d1a;padding:4px 10px;border-radius:999px;font-weight:600;letter-spacing:.5px;display:inline-block;margin-top:6px}

/* Side-by-side comparison */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px}
.compare-col{padding:32px;border-radius:20px;border:1px solid var(--border);backdrop-filter:blur(20px)}
.compare-col.clariva{background:linear-gradient(180deg,rgba(124,92,255,.1),rgba(34,211,238,.02))}
.compare-col.solvera{background:linear-gradient(180deg,rgba(251,146,60,.1),rgba(251,191,36,.02))}
.compare-col h3{font-family:'Space Grotesk';font-size:22px;font-weight:600;margin-bottom:8px}
.compare-col .col-sub{font-size:13px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}
.compare-col ul{list-style:none}
.compare-col li{padding:10px 0;font-size:14px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center}
.compare-col li:last-child{border-bottom:none}
.compare-col li::before{content:"✓";flex-shrink:0}
.compare-col.clariva li::before{color:#22d3ee}
.compare-col.solvera li::before{color:#fb923c}

@media (max-width: 720px){
  .products-split{grid-template-columns:1fr}
  .compare-grid{grid-template-columns:1fr}
}

/* ────────────────────────────────────────────────────────────────────
   SOLVERA APP COMPONENTS — map, keywords, alerts, announcements
   ──────────────────────────────────────────────────────────────────── */

/* Leaflet map dark theme */
.leaflet-map{width:100%;height:380px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#1a1d2e}
.leaflet-container{background:#0a0d1a !important;font-family:'Inter',sans-serif !important}
.leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.9)}
.leaflet-control-attribution{background:rgba(0,0,0,.6) !important;color:#9aa3c7 !important;font-size:10px !important}
.leaflet-control-attribution a{color:#22d3ee !important}
.leaflet-popup-content-wrapper{background:#0a0d1a !important;color:var(--ink) !important;border:1px solid var(--border);border-radius:12px}
.leaflet-popup-tip{background:#0a0d1a !important}
.leaflet-popup-content{margin:14px 16px !important;font-size:13px}
.leaflet-popup-content strong{color:#fb923c}

/* Custom map rank pins */
.rank-pin{display:flex;align-items:center;justify-content:center;border-radius:50%;
  font-family:'Space Grotesk';font-weight:700;font-size:12px;color:#0a0d1a;
  border:2px solid rgba(255,255,255,.4);box-shadow:0 4px 12px rgba(0,0,0,.5)}
.rank-pin-1{width:32px;height:32px;background:linear-gradient(135deg,#22f59e,#22d3ee);font-size:13px}
.rank-pin-top{width:28px;height:28px;background:linear-gradient(135deg,#fbbf24,#fb923c)}
.rank-pin-mid{width:26px;height:26px;background:#9aa3c7;color:#fff}
.rank-pin-low{width:24px;height:24px;background:rgba(255,92,138,.8);color:#fff;border-color:rgba(255,92,138,.4)}
.rank-pin-business{width:44px;height:44px;background:linear-gradient(135deg,#fb923c,#fbbf24);font-size:18px;border:3px solid #fff;
  box-shadow:0 0 24px rgba(251,146,60,.7), 0 6px 16px rgba(0,0,0,.5)}

/* Map legend */
.map-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--ink-dim);margin-top:14px}
.map-legend .dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:middle}

/* Keyword tracker */
.keyword-input-row{display:flex;gap:10px;margin-bottom:18px}
.keyword-input{flex:1;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:rgba(0,0,0,.3);color:var(--ink);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s}
.keyword-input:focus{border-color:var(--solvera-1)}
.keyword-add-btn{padding:12px 20px;border-radius:10px;background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;border:none;font-weight:600;font-family:inherit;cursor:pointer;font-size:14px;transition:transform .2s}
.keyword-add-btn:hover{transform:translateY(-1px)}

.keyword-list{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto}
.keyword-row{display:grid;grid-template-columns:1fr auto auto auto auto;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px}
.keyword-row:hover{background:rgba(255,255,255,.05)}
.keyword-text{font-weight:500}
.keyword-rank{font-family:'Space Grotesk';font-weight:600;font-size:15px;text-align:center;min-width:36px}
.keyword-rank.top{color:#22f59e}
.keyword-rank.good{color:#fb923c}
.keyword-rank.mid{color:#fbbf24}
.keyword-rank.low{color:#ff5c8a}
.keyword-delta{font-size:12px;color:var(--ink-dim);text-align:center;min-width:42px}
.keyword-delta.up{color:#22f59e}
.keyword-delta.down{color:#ff5c8a}
.keyword-volume{color:var(--ink-dim);text-align:right;min-width:60px;font-size:12px}
.keyword-remove{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:18px;padding:0 6px;transition:color .2s}
.keyword-remove:hover{color:#ff5c8a}

/* GBP Alert panel */
.alert-stack{display:flex;flex-direction:column;gap:10px}
.alert-card{display:flex;gap:14px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--border);transition:all .2s}
.alert-card:hover{background:rgba(255,255,255,.05)}
.alert-card.urgent{background:rgba(255,92,138,.06);border-color:rgba(255,92,138,.3)}
.alert-card.warning{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.3)}
.alert-card.success{background:rgba(34,211,150,.06);border-color:rgba(34,211,150,.3)}
.alert-card.info{background:rgba(34,211,238,.06);border-color:rgba(34,211,238,.3)}
.alert-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.alert-card.urgent .alert-icon{background:rgba(255,92,138,.2)}
.alert-card.warning .alert-icon{background:rgba(251,191,36,.2)}
.alert-card.success .alert-icon{background:rgba(34,211,150,.2)}
.alert-card.info .alert-icon{background:rgba(34,211,238,.2)}
.alert-body{flex:1;min-width:0}
.alert-title{font-weight:600;font-size:14px;margin-bottom:2px}
.alert-msg{font-size:13px;color:var(--ink-dim);line-height:1.5}
.alert-time{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.alert-action{padding:8px 14px;border-radius:8px;background:var(--glass-strong);border:1px solid var(--border);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;align-self:center}
.alert-action:hover{background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;border-color:transparent}

/* Reviews preview list */
.review-card{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-bottom:10px}
.review-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:14px}
.review-author{font-weight:600;font-size:14px}
.review-stars{font-size:14px;color:#fbbf24}
.review-stars.low{color:#ff5c8a}
.review-body{font-size:13px;color:var(--ink-dim);line-height:1.5}
.review-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:14px}
.review-time{font-size:11px;color:var(--ink-dim)}
.review-respond-btn{padding:6px 12px;border-radius:8px;background:var(--glass-strong);border:1px solid var(--border);color:var(--ink);font-size:12px;cursor:pointer;font-family:inherit}
.review-respond-btn.unresponded{background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;border-color:transparent;font-weight:600}

/* Announcement / event composer */
.announcement-composer{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border)}
.announcement-type-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.announcement-type{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(0,0,0,.2);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;color:var(--ink-dim);font-family:inherit}
.announcement-type:hover{color:var(--ink)}
.announcement-type.active{background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;border-color:transparent;font-weight:600}
.announcement-textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:rgba(0,0,0,.3);color:var(--ink);font-family:inherit;font-size:14px;resize:vertical;min-height:90px;outline:none;line-height:1.5}
.announcement-textarea:focus{border-color:var(--solvera-1)}
.announcement-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:14px;flex-wrap:wrap}
.announcement-channels{display:flex;gap:10px;flex-wrap:wrap}
.channel-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(0,0,0,.2);font-size:11px;color:var(--ink-dim);cursor:pointer;font-family:inherit;transition:all .2s}
.channel-chip:hover{color:var(--ink)}
.channel-chip.on{background:rgba(34,211,150,.15);border-color:rgba(34,211,150,.4);color:#7cf5b8}

/* Scheduled announcements list */
.scheduled-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-bottom:8px;gap:14px}
.scheduled-meta{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.scheduled-text{font-size:13px;line-height:1.4}

/* Marketing campaign tracker */
.campaign-row{display:grid;grid-template-columns:1fr 100px 100px 100px 100px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:8px}
.campaign-name{font-weight:500;display:flex;align-items:center;gap:10px}
.campaign-platform-badge{font-size:10px;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.platform-meta{background:rgba(24,119,242,.2);color:#5e9aff;border:1px solid rgba(24,119,242,.4)}
.platform-google{background:rgba(66,133,244,.2);color:#7fa9f8;border:1px solid rgba(66,133,244,.4)}
.platform-organic{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.platform-tiktok{background:rgba(255,92,240,.2);color:#ff9ef0;border:1px solid rgba(255,92,240,.4)}

/* POI / Partnership chips on map */
.poi-pin{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#7c5cff,#ff5cf0);border:2px solid #fff;font-size:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.5)}

/* Quick stats strip for solvera app */
.solvera-stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}
.solvera-stat{padding:18px;border-radius:14px;background:linear-gradient(180deg,rgba(251,146,60,.08),rgba(251,146,60,.02));border:1px solid rgba(251,146,60,.2)}
.solvera-stat .label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.solvera-stat .val{font-family:'Space Grotesk';font-size:26px;font-weight:600}
.solvera-stat .delta{font-size:12px;color:#fb923c;margin-top:4px}
.solvera-stat .delta.up{color:#22f59e}
.solvera-stat .delta.down{color:#ff5c8a}

/* Section header inside solvera app */
.app-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:14px}
.app-section-head h4{font-family:'Space Grotesk';font-size:14px;font-weight:600;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin:0}

@media (max-width: 720px){
  .keyword-row{grid-template-columns:1fr auto auto;font-size:12px}
  .keyword-volume{display:none}
  .keyword-delta{display:none}
  .campaign-row{grid-template-columns:1fr 80px;font-size:12px}
  .campaign-row > *:nth-child(n+3){display:none}
}

/* ────────────────────────────────────────────────────────────────────
   CLARIVA APP — Business plans, pitch insights, market monitor
   ──────────────────────────────────────────────────────────────────── */

/* Clariva-themed stat strip */
.clariva-stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}
.clariva-stat{padding:18px;border-radius:14px;background:linear-gradient(180deg,rgba(124,92,255,.08),rgba(34,211,238,.02));border:1px solid rgba(124,92,255,.2)}
.clariva-stat .label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.clariva-stat .val{font-family:'Space Grotesk';font-size:26px;font-weight:600}
.clariva-stat .delta{font-size:12px;color:#7c5cff;margin-top:4px}
.clariva-stat .delta.up{color:#22f59e}
.clariva-stat .delta.down{color:#ff5c8a}

/* Business plan templates grid */
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.template-card{padding:24px;border-radius:16px;background:linear-gradient(180deg,rgba(124,92,255,.06),rgba(34,211,238,.02));border:1px solid var(--border);
  transition:all .25s;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;color:var(--ink);display:block}
.template-card::before{content:"";position:absolute;top:-50px;right:-50px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(124,92,255,.25),transparent 70%);filter:blur(20px);opacity:.6;transition:opacity .3s}
.template-card:hover{transform:translateY(-4px);border-color:rgba(124,92,255,.4);box-shadow:0 20px 50px rgba(124,92,255,.2)}
.template-card:hover::before{opacity:1}
.template-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(34,211,238,.2));border:1px solid var(--border);margin-bottom:14px;font-size:20px;position:relative;z-index:1}
.template-name{font-family:'Space Grotesk';font-size:17px;font-weight:600;margin-bottom:6px;position:relative;z-index:1}
.template-desc{font-size:13px;color:var(--ink-dim);line-height:1.5;margin-bottom:14px;position:relative;z-index:1}
.template-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ink-dim);position:relative;z-index:1}
.template-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;position:relative;z-index:1}
.template-pages{display:flex;align-items:center;gap:6px}

/* Pitch insight cards */
.insight-card{padding:20px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);position:relative;overflow:hidden}
.insight-card.strong{background:linear-gradient(180deg,rgba(34,211,150,.08),rgba(255,255,255,.02));border-color:rgba(34,211,150,.25)}
.insight-card.weak{background:linear-gradient(180deg,rgba(255,92,138,.08),rgba(255,255,255,.02));border-color:rgba(255,92,138,.25)}
.insight-card.opp{background:linear-gradient(180deg,rgba(251,191,36,.08),rgba(255,255,255,.02));border-color:rgba(251,191,36,.25)}
.insight-card.neutral{background:linear-gradient(180deg,rgba(124,92,255,.08),rgba(255,255,255,.02));border-color:rgba(124,92,255,.25)}
.insight-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:3px 10px;border-radius:999px;display:inline-block;margin-bottom:10px}
.insight-label.strength{background:rgba(34,211,150,.2);color:#7cf5b8}
.insight-label.risk{background:rgba(255,92,138,.2);color:#ff9eb8}
.insight-label.opportunity{background:rgba(251,191,36,.2);color:#fbe28c}
.insight-label.context{background:rgba(124,92,255,.2);color:#a594ff}
.insight-headline{font-family:'Space Grotesk';font-size:15px;font-weight:600;margin-bottom:8px;line-height:1.3}
.insight-blurb{font-size:13px;color:var(--ink-dim);line-height:1.5;margin-bottom:12px}
.insight-pitch{padding:12px;border-radius:10px;background:rgba(0,0,0,.3);border:1px solid var(--border);font-size:12px;font-style:italic;line-height:1.5;color:var(--ink);position:relative}
.insight-pitch::before{content:"💬";position:absolute;top:-12px;left:10px;background:var(--bg-0);padding:0 6px;font-style:normal;font-size:12px}
.insight-copy{margin-top:8px;font-size:11px;color:var(--accent-2);cursor:pointer;background:none;border:none;font-family:inherit;padding:0}
.insight-copy:hover{color:var(--ink)}

/* Market monitor — rates */
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}
.rate-card{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);position:relative}
.rate-card .name{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.rate-card .val{font-family:'Space Grotesk';font-size:30px;font-weight:600;line-height:1}
.rate-card .delta{font-size:12px;margin-top:6px;display:flex;align-items:center;gap:6px}
.rate-card .delta.up{color:#ff5c8a}
.rate-card .delta.down{color:#22f59e}
.rate-card .delta.flat{color:var(--ink-dim)}
.rate-card .source{font-size:10px;color:var(--ink-dim);margin-top:8px}

/* Loan product list */
.loan-row{display:grid;grid-template-columns:1fr 100px 90px 110px 90px;gap:14px;padding:14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:8px}
.loan-row:hover{background:rgba(255,255,255,.05)}
.loan-name{font-weight:500}
.loan-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px}
.loan-rate{font-family:'Space Grotesk';font-weight:600;text-align:right}
.loan-amount{color:var(--ink-dim);text-align:right;font-size:12px}
.loan-fit{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}
.loan-fit.strong{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.loan-fit.good{background:rgba(34,211,238,.2);color:#7ce8f5;border:1px solid rgba(34,211,238,.4)}
.loan-fit.weak{background:rgba(255,92,138,.2);color:#ff9eb8;border:1px solid rgba(255,92,138,.4)}
.loan-apply{padding:8px 12px;border-radius:8px;background:var(--glass-strong);border:1px solid var(--border);color:var(--ink);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
.loan-apply:hover{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border-color:transparent}

/* Opportunity cards (grants / programs) */
.opp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.opp-card{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);position:relative;transition:transform .2s}
.opp-card:hover{transform:translateY(-3px);border-color:rgba(124,92,255,.3)}
.opp-card.hot{background:linear-gradient(180deg,rgba(255,92,138,.08),rgba(255,255,255,.02));border-color:rgba(255,92,138,.3)}
.opp-card.gov{background:linear-gradient(180deg,rgba(34,211,238,.08),rgba(255,255,255,.02));border-color:rgba(34,211,238,.3)}
.opp-card.grant{background:linear-gradient(180deg,rgba(34,211,150,.08),rgba(255,255,255,.02));border-color:rgba(34,211,150,.3)}
.opp-card.tax{background:linear-gradient(180deg,rgba(251,191,36,.08),rgba(255,255,255,.02));border-color:rgba(251,191,36,.3)}
.opp-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:14px}
.opp-name{font-family:'Space Grotesk';font-weight:600;font-size:15px}
.opp-issuer{font-size:11px;color:var(--ink-dim);margin-top:2px}
.opp-amount{font-family:'Space Grotesk';font-weight:600;font-size:18px;text-align:right;white-space:nowrap}
.opp-amount small{font-size:11px;color:var(--ink-dim);font-weight:400;display:block;text-align:right}
.opp-desc{font-size:13px;color:var(--ink-dim);line-height:1.5;margin-bottom:12px}
.opp-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);font-size:11px;color:var(--ink-dim)}
.opp-deadline{display:flex;align-items:center;gap:6px}
.opp-deadline.urgent{color:#ff9eb8}

/* Investor radar table */
.investor-row{display:grid;grid-template-columns:1fr 120px 100px 100px 90px;gap:14px;padding:14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:8px}
.investor-name{font-weight:500}
.investor-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px}
.investor-type-badge{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;white-space:nowrap}
.investor-vc{background:rgba(124,92,255,.2);color:#a594ff;border:1px solid rgba(124,92,255,.4)}
.investor-angel{background:rgba(251,146,60,.2);color:#ffb878;border:1px solid rgba(251,146,60,.4)}
.investor-cf{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.investor-stage{font-size:11px;color:var(--ink-dim);text-align:right}
.investor-check{font-family:'Space Grotesk';font-weight:600;text-align:right;font-size:13px}
.investor-action{padding:6px 12px;border-radius:8px;background:var(--glass-strong);border:1px solid var(--border);color:var(--ink);font-size:11px;cursor:pointer;font-family:inherit;font-weight:600}
.investor-action:hover{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border-color:transparent}

/* Pitch-ready stat snippet (one-tap copy to investor deck) */
.pitch-stat{padding:14px 16px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px}
.pitch-stat-text{font-size:13px;color:var(--ink);line-height:1.5}
.pitch-stat-text b{color:#22d3ee;font-family:'Space Grotesk'}
.pitch-stat-action{padding:6px 12px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--ink-dim);font-size:11px;cursor:pointer;font-family:inherit;white-space:nowrap}
.pitch-stat-action:hover{color:var(--ink);border-color:rgba(255,255,255,.3)}

/* Trend ticker / news strip */
.ticker{display:flex;gap:30px;padding:14px 18px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border);overflow:hidden;white-space:nowrap;font-size:13px;align-items:center}
.ticker-item{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ticker-label{font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--border)}

@media (max-width: 720px){
  .loan-row{grid-template-columns:1fr 80px;font-size:12px}
  .loan-row > *:nth-child(n+3){display:none}
  .investor-row{grid-template-columns:1fr 80px;font-size:12px}
  .investor-row > *:nth-child(n+3){display:none}
}

/* ────────────────────────────────────────────────────────────────────
   SOLVERA — STRIKING DISTANCE / CANNIBALIZATION / AI OVERVIEW
   ──────────────────────────────────────────────────────────────────── */

/* Striking distance keyword list (rank 11-20 quick wins) */
.sd-row{display:grid;grid-template-columns:1fr 70px 70px 100px 120px;gap:14px;padding:12px 14px;border-radius:10px;
  background:linear-gradient(90deg,rgba(251,191,36,.05),rgba(255,255,255,.02));border:1px solid rgba(251,191,36,.2);align-items:center;font-size:13px;margin-bottom:8px}
.sd-row:hover{background:linear-gradient(90deg,rgba(251,191,36,.08),rgba(255,255,255,.04))}
.sd-kw{font-weight:500}
.sd-rank{font-family:'Space Grotesk';font-weight:600;text-align:center;color:#fbbf24}
.sd-target{font-family:'Space Grotesk';font-weight:600;text-align:center;color:#22f59e}
.sd-impact{text-align:right;font-size:12px;color:#7cf5b8}
.sd-impact small{display:block;color:var(--ink-dim);font-size:10px;margin-top:2px}
.sd-action{padding:6px 12px;border-radius:8px;background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;border:none}
.sd-action:hover{transform:translateY(-1px)}

/* Cannibalization detector */
.cannib-card{padding:18px;border-radius:12px;background:rgba(255,92,138,.06);border:1px solid rgba(255,92,138,.25);margin-bottom:12px}
.cannib-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:14px;flex-wrap:wrap}
.cannib-kw{font-family:'Space Grotesk';font-size:15px;font-weight:600}
.cannib-kw small{display:block;color:var(--ink-dim);font-size:11px;font-weight:400;margin-top:2px;font-family:'Inter',sans-serif}
.cannib-action{display:flex;gap:8px}
.cannib-action button{padding:6px 12px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;border:1px solid var(--border)}
.cannib-pages{display:flex;flex-direction:column;gap:8px}
.cannib-page{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.3);border:1px solid var(--border);font-size:12px}
.cannib-page .url{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.cannib-page .rank{font-family:'Space Grotesk';font-weight:600;margin-left:14px;color:#ff9eb8}

/* AI Overview tracker */
.aio-row{display:grid;grid-template-columns:1fr 90px 110px 130px 90px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:8px}
.aio-row:hover{background:rgba(255,255,255,.05)}
.aio-status{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}
.aio-status.cited{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.aio-status.partial{background:rgba(251,191,36,.2);color:#fbe28c;border:1px solid rgba(251,191,36,.4)}
.aio-status.missing{background:rgba(255,92,138,.2);color:#ff9eb8;border:1px solid rgba(255,92,138,.4)}
.aio-status.no-overview{background:rgba(154,163,199,.2);color:var(--ink-dim);border:1px solid var(--border)}
.aio-cited-by{font-size:12px;color:var(--ink-dim)}

/* ────────────────────────────────────────────────────────────────────
   SEARCH-TO-REVENUE ATTRIBUTION + CORRELATION
   ──────────────────────────────────────────────────────────────────── */
.attr-row{display:grid;grid-template-columns:1fr 60px 80px 80px 90px 110px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(34,211,150,.04);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:8px;transition:background .15s}
.attr-row:hover{background:rgba(34,211,150,.08)}
.attr-rank{font-family:'Space Grotesk';font-weight:600;text-align:center}
.attr-visits{color:var(--ink-dim);text-align:right;font-variant-numeric:tabular-nums}
.attr-conv{color:var(--ink-dim);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}
.attr-aov{color:var(--ink-dim);text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
.attr-revenue{font-family:'Space Grotesk';font-weight:600;text-align:right;color:#7cf5b8;font-variant-numeric:tabular-nums}

/* Conversion correlation scatter-ish view */
.corr-row{display:grid;grid-template-columns:1fr 70px 90px 90px 1fr;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:8px}
.corr-flag{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;white-space:nowrap}
.corr-flag.high-rank-low-cr{background:rgba(255,92,138,.2);color:#ff9eb8;border:1px solid rgba(255,92,138,.4)}
.corr-flag.low-rank-high-cr{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.corr-flag.balanced{background:rgba(154,163,199,.2);color:var(--ink-dim);border:1px solid var(--border)}
.corr-rec{font-size:12px;color:var(--ink-dim);font-style:italic}

/* ────────────────────────────────────────────────────────────────────
   TOPIC CLUSTER PLANNER (visual SVG)
   ──────────────────────────────────────────────────────────────────── */
.cluster-canvas{width:100%;height:480px;border-radius:14px;background:radial-gradient(circle at center, rgba(124,92,255,.06), rgba(0,0,0,.3));border:1px solid var(--border);position:relative;overflow:hidden}
.cluster-canvas svg{width:100%;height:100%}
.cluster-pillar{fill:url(#clusterGrad);stroke:rgba(255,255,255,.3);stroke-width:2}
.cluster-spoke{fill:rgba(255,255,255,.06);stroke:rgba(124,92,255,.3);stroke-width:1.5}
.cluster-spoke:hover{fill:rgba(124,92,255,.2);cursor:pointer}
.cluster-link{stroke:rgba(124,92,255,.25);stroke-width:1.5;fill:none}
.cluster-link.exists{stroke:rgba(34,211,150,.5);stroke-dasharray:none}
.cluster-link.missing{stroke:rgba(255,92,138,.4);stroke-dasharray:4 4}
.cluster-label{fill:var(--ink);font-family:'Inter';font-size:11px;text-anchor:middle;pointer-events:none}
.cluster-label.pillar{font-family:'Space Grotesk';font-size:13px;font-weight:600}

/* ────────────────────────────────────────────────────────────────────
   ADS MANAGER (Meta-style multi-platform)
   ──────────────────────────────────────────────────────────────────── */
.ads-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:14px}
.ads-platform-tabs{display:flex;gap:6px;background:rgba(0,0,0,.3);padding:4px;border-radius:10px;border:1px solid var(--border)}
.ads-platform-tab{padding:8px 14px;border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;color:var(--ink-dim);background:transparent;border:none;font-family:inherit;display:flex;align-items:center;gap:6px;transition:all .2s}
.ads-platform-tab:hover{color:var(--ink)}
.ads-platform-tab.active{background:rgba(255,255,255,.08);color:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.05)}
.ads-create-btn{padding:10px 16px;border-radius:10px;background:linear-gradient(135deg,#fb923c,#fbbf24);color:#0a0d1a;border:none;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:8px}
.ads-create-btn:hover{transform:translateY(-1px)}

.ads-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}
.ads-summary-card{padding:16px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--border)}
.ads-summary-card .label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.ads-summary-card .val{font-family:'Space Grotesk';font-size:22px;font-weight:600}
.ads-summary-card .sub{font-size:11px;color:var(--ink-dim);margin-top:4px}
.ads-summary-card .sub.good{color:#7cf5b8}
.ads-summary-card .sub.bad{color:#ff9eb8}

.ad-campaign-row{display:grid;grid-template-columns:32px 1fr 80px 90px 90px 90px 90px 90px 80px;gap:12px;padding:14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:6px;transition:background .15s}
.ad-campaign-row:hover{background:rgba(255,255,255,.05)}
.ad-toggle{width:32px;height:18px;border-radius:999px;background:rgba(255,255,255,.15);cursor:pointer;position:relative;transition:all .2s;flex-shrink:0;border:none}
.ad-toggle::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s}
.ad-toggle.on{background:linear-gradient(135deg,#22f59e,#22d3ee)}
.ad-toggle.on::after{transform:translateX(14px)}
.ad-name{font-weight:500}
.ad-name small{display:block;color:var(--ink-dim);font-size:11px;margin-top:2px;font-weight:400}
.ad-metric{text-align:right;font-variant-numeric:tabular-nums}
.ad-metric.good{color:#7cf5b8;font-weight:600}
.ad-metric.bad{color:#ff9eb8;font-weight:600}
.ad-status{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;white-space:nowrap}
.ad-status.active{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.ad-status.paused{background:rgba(154,163,199,.2);color:var(--ink-dim);border:1px solid var(--border)}
.ad-status.review{background:rgba(251,191,36,.2);color:#fbe28c;border:1px solid rgba(251,191,36,.4)}
.ad-status.rejected{background:rgba(255,92,138,.2);color:#ff9eb8;border:1px solid rgba(255,92,138,.4)}

/* ────────────────────────────────────────────────────────────────────
   TIKTOK TRENDS TRACKER
   ──────────────────────────────────────────────────────────────────── */
.trends-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.trend-card{padding:0;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);overflow:hidden;transition:transform .25s;cursor:pointer;text-decoration:none;color:var(--ink);display:block;position:relative}
.trend-card:hover{transform:translateY(-3px);border-color:rgba(255,92,240,.4)}
.trend-thumb{aspect-ratio:9/16;width:100%;background:linear-gradient(135deg,#1a1d2e,#0a0d1a);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:48px}
.trend-thumb.col-pink{background:linear-gradient(135deg,#ff5cf0,#fb7185)}
.trend-thumb.col-cyan{background:linear-gradient(135deg,#22d3ee,#22f59e)}
.trend-thumb.col-purple{background:linear-gradient(135deg,#7c5cff,#22d3ee)}
.trend-thumb.col-orange{background:linear-gradient(135deg,#fb923c,#fbbf24)}
.trend-thumb.col-coral{background:linear-gradient(135deg,#fb7185,#ff9eb8)}
.trend-thumb.col-green{background:linear-gradient(135deg,#22f59e,#fbbf24)}
.trend-thumb::after{content:"▶";position:absolute;bottom:14px;right:14px;font-size:14px;color:#fff;background:rgba(0,0,0,.6);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.trend-card:hover .trend-thumb::after{opacity:1}
.trend-body{padding:14px}
.trend-title{font-family:'Space Grotesk';font-size:14px;font-weight:600;margin-bottom:4px;line-height:1.3}
.trend-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.trend-tag{font-size:10px;padding:2px 8px;border-radius:999px;background:rgba(255,92,240,.15);color:#ff9ef0;border:1px solid rgba(255,92,240,.3)}
.trend-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ink-dim)}
.trend-fire{display:flex;align-items:center;gap:4px}
.trend-fire.hot{color:#fb923c}
.trend-fire.rising{color:#fbbf24}
.trend-meta a{color:var(--accent-2);text-decoration:none;font-weight:500}

.trend-banner{padding:14px 18px;border-radius:12px;background:linear-gradient(90deg,rgba(255,92,240,.1),rgba(124,92,255,.05));border:1px solid rgba(255,92,240,.25);display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.trend-banner-icon{width:36px;height:36px;border-radius:10px;background:rgba(255,92,240,.2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.trend-banner-text{flex:1;min-width:0;font-size:13px;color:var(--ink);line-height:1.5}
.trend-banner-text b{color:#ff9ef0}

/* ────────────────────────────────────────────────────────────────────
   CALENDAR (scheduling)
   ──────────────────────────────────────────────────────────────────── */
.cal-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:14px}
.cal-nav{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk';font-weight:500}
.cal-nav button{background:var(--glass-strong);border:1px solid var(--border);color:var(--ink);width:32px;height:32px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px}
.cal-nav button:hover{background:rgba(255,255,255,.12)}
.cal-grid{display:grid;grid-template-columns:60px repeat(7, 1fr);border:1px solid var(--border);border-radius:14px;overflow:hidden;background:rgba(0,0,0,.2)}
.cal-day-header{padding:10px 8px;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;text-align:center;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
.cal-day-header.today{color:#fbbf24;font-weight:600}
.cal-day-header strong{display:block;font-family:'Space Grotesk';font-size:18px;color:var(--ink);font-weight:600;margin-top:2px}
.cal-day-header.today strong{color:#fbbf24}
.cal-time{padding:8px;font-size:10px;color:var(--ink-dim);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:right;background:rgba(0,0,0,.2);font-variant-numeric:tabular-nums}
.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:42px;padding:2px;position:relative;cursor:pointer;transition:background .15s}
.cal-cell:hover{background:rgba(255,255,255,.03)}
.cal-cell:nth-child(8n){border-right:none}
.cal-event{position:absolute;left:2px;right:2px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:500;line-height:1.2;color:var(--ink);overflow:hidden;cursor:pointer;border:1px solid rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.cal-event.call{background:rgba(124,92,255,.85);border-color:rgba(124,92,255,1)}
.cal-event.meeting{background:rgba(34,211,238,.85);border-color:rgba(34,211,238,1);color:#0a0d1a}
.cal-event.event{background:rgba(251,146,60,.85);border-color:rgba(251,146,60,1);color:#0a0d1a}
.cal-event.post{background:rgba(255,92,240,.85);border-color:rgba(255,92,240,1)}
.cal-event.reminder{background:rgba(154,163,199,.85);border-color:var(--ink-dim);color:#0a0d1a}
.cal-event small{display:block;font-weight:400;opacity:.85;font-size:10px;margin-top:1px}

.cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--ink-dim);margin-top:14px}
.cal-legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}

/* New event composer (collapsible) */
.cal-composer{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-bottom:16px;display:none}
.cal-composer.open{display:block;animation:fadeIn .25s ease}
.cal-composer-row{display:grid;grid-template-columns:130px 1fr 1fr 1fr auto;gap:10px;align-items:center}
.cal-composer-row input,.cal-composer-row select{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:rgba(0,0,0,.3);color:var(--ink);font-family:inherit;font-size:13px;outline:none}
.cal-composer-row input:focus,.cal-composer-row select:focus{border-color:var(--solvera-1)}

@media (max-width: 720px){
  .sd-row{grid-template-columns:1fr 60px;font-size:12px}
  .sd-row > *:nth-child(n+3){display:none}
  .attr-row{grid-template-columns:1fr 90px;font-size:12px}
  .attr-row > *:nth-child(n+3){display:none}
  .corr-row{grid-template-columns:1fr 70px;font-size:12px}
  .corr-row > *:nth-child(n+3){display:none}
  .aio-row{grid-template-columns:1fr 90px;font-size:12px}
  .aio-row > *:nth-child(n+3){display:none}
  .ad-campaign-row{grid-template-columns:32px 1fr 80px;font-size:12px}
  .ad-campaign-row > *:nth-child(n+4){display:none}
  .cal-grid{grid-template-columns:50px repeat(3,1fr)}
  .cal-day-header:nth-child(n+5),.cal-cell:nth-child(8n-3),.cal-cell:nth-child(8n-2),.cal-cell:nth-child(8n-1),.cal-cell:nth-child(8n){display:none}
}

/* ────────────────────────────────────────────────────────────────────
   CLARIVA — POS REPORT IMPORT + BREAKDOWNS (Lightspeed + manual upload)
   ──────────────────────────────────────────────────────────────────── */
.upload-zone{padding:36px;border-radius:16px;border:2px dashed rgba(124,92,255,.4);background:rgba(124,92,255,.04);
  text-align:center;cursor:pointer;transition:all .25s;position:relative}
.upload-zone:hover{background:rgba(124,92,255,.08);border-color:rgba(124,92,255,.6)}
.upload-zone.dragover{background:rgba(124,92,255,.15);border-color:#7c5cff;transform:scale(1.01)}
.upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload-icon{font-size:42px;margin-bottom:10px;line-height:1;opacity:.7}
.upload-zone h3{font-family:'Space Grotesk';font-size:18px;font-weight:600;margin-bottom:6px}
.upload-zone p{font-size:13px;color:var(--ink-dim);line-height:1.5}
.upload-zone .formats{display:inline-flex;gap:8px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.upload-zone .formats span{font-size:11px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--ink-dim)}

/* Detected report type chips */
.report-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px}
.report-type-pill{padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);
  font-size:12px;text-align:center;cursor:pointer;transition:all .2s;color:var(--ink-dim)}
.report-type-pill:hover{color:var(--ink)}
.report-type-pill.detected{background:linear-gradient(180deg,rgba(124,92,255,.15),rgba(34,211,238,.04));border-color:rgba(124,92,255,.5);color:var(--ink);font-weight:500}
.report-type-pill .icon{display:block;font-size:18px;margin-bottom:4px}

/* Preview table */
.import-preview{padding:18px;border-radius:14px;background:rgba(0,0,0,.3);border:1px solid var(--border);margin-top:18px;display:none}
.import-preview.open{display:block;animation:fadeIn .25s ease}
.import-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:14px}
.import-preview-title{font-family:'Space Grotesk';font-size:15px;font-weight:600}
.import-preview-title small{display:block;color:var(--ink-dim);font-size:11px;font-weight:400;margin-top:2px;font-family:'Inter',sans-serif}
.import-preview-table{max-height:280px;overflow:auto;border-radius:10px;border:1px solid var(--border);background:rgba(0,0,0,.2)}
.import-preview-table table{width:100%;border-collapse:collapse;font-size:12px}
.import-preview-table th{position:sticky;top:0;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);padding:10px 12px;text-align:left;text-transform:uppercase;font-size:10px;letter-spacing:.5px;color:var(--ink-dim);border-bottom:1px solid var(--border);white-space:nowrap}
.import-preview-table td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap;color:var(--ink)}
.import-preview-table tr:hover td{background:rgba(255,255,255,.03)}
.import-confirm-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:14px;flex-wrap:wrap}

/* Imported reports list */
.imports-list{display:flex;flex-direction:column;gap:8px}
.import-card{display:grid;grid-template-columns:32px 1fr 140px 110px 100px 100px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px}
.import-card:hover{background:rgba(255,255,255,.05)}
.import-card .icon{font-size:22px;text-align:center}
.import-card .filename{font-weight:500}
.import-card .filename small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.import-card .report-type-tag{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:rgba(124,92,255,.2);color:#a594ff;border:1px solid rgba(124,92,255,.4);text-align:center;white-space:nowrap}
.import-card .rows-count{text-align:right;color:var(--ink-dim);font-variant-numeric:tabular-nums}
.import-card .date{text-align:right;font-size:11px;color:var(--ink-dim)}
.import-card .delete-btn{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:16px;padding:0}
.import-card .delete-btn:hover{color:#ff5c8a}

/* Breakdown widgets — categories / items / vendors / employees / discounts */
.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.breakdown-card{padding:20px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border)}
.breakdown-card h5{display:flex;justify-content:space-between;align-items:center;font-family:'Space Grotesk';font-size:13px;font-weight:600;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}
.breakdown-card h5 span:last-child{font-size:11px;color:var(--ink);font-weight:500;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:normal}
.breakdown-row{display:grid;grid-template-columns:1fr 60px 90px;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);align-items:center;font-size:13px}
.breakdown-row:last-child{border-bottom:none}
.breakdown-row .bar{position:relative;padding:0;height:4px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden;margin-top:3px;grid-column:1 / -1}
.breakdown-row .bar-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,#7c5cff,#22d3ee);border-radius:2px}
.breakdown-row .name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.breakdown-row .qty{text-align:right;color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:12px}
.breakdown-row .revenue{text-align:right;font-family:'Space Grotesk';font-weight:600;color:#7cf5b8;font-variant-numeric:tabular-nums}
.breakdown-row .share{text-align:right;font-size:11px;color:var(--ink-dim)}

.breakdown-empty{padding:30px;text-align:center;color:var(--ink-dim);font-size:13px}
.breakdown-empty .icon{font-size:36px;margin-bottom:10px;opacity:.5}

/* Status banner for imports / lightspeed */
.pos-status-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:12px;margin-bottom:18px;background:rgba(34,211,150,.06);border:1px solid rgba(34,211,150,.25);font-size:13px;flex-wrap:wrap}
.pos-status-banner.idle{background:rgba(154,163,199,.05);border-color:var(--border)}
.pos-status-banner.error{background:rgba(255,92,138,.06);border-color:rgba(255,92,138,.25)}
.pos-status-banner .icon{width:32px;height:32px;border-radius:8px;background:rgba(34,211,150,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}
.pos-status-banner.idle .icon{background:rgba(154,163,199,.15)}
.pos-status-banner.error .icon{background:rgba(255,92,138,.15)}
.pos-status-banner .text{flex:1;min-width:0;color:var(--ink);line-height:1.5}
.pos-status-banner b{color:#7cf5b8}
.pos-status-banner.idle b{color:var(--ink)}
.pos-status-banner.error b{color:#ff9eb8}

@media (max-width: 720px){
  .breakdown-grid{grid-template-columns:1fr}
  .import-card{grid-template-columns:32px 1fr 80px;font-size:12px}
  .import-card > *:nth-child(n+4){display:none}
  .report-types{grid-template-columns:repeat(2,1fr)}
}

/* ════════════════════════════════════════════════════════════════════
   CLARIVA INVENTORY INTELLIGENCE
   ════════════════════════════════════════════════════════════════════ */

/* Inventory KPI strip */
.inv-stat{padding:18px;border-radius:14px;background:linear-gradient(180deg,rgba(124,92,255,.06),rgba(34,211,238,.02));border:1px solid var(--border);position:relative;overflow:hidden}
.inv-stat.warning{background:linear-gradient(180deg,rgba(251,191,36,.08),rgba(255,255,255,.02));border-color:rgba(251,191,36,.25)}
.inv-stat.danger{background:linear-gradient(180deg,rgba(255,92,138,.08),rgba(255,255,255,.02));border-color:rgba(255,92,138,.25)}
.inv-stat.good{background:linear-gradient(180deg,rgba(34,211,150,.08),rgba(255,255,255,.02));border-color:rgba(34,211,150,.25)}
.inv-stat .label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.inv-stat .val{font-family:'Space Grotesk';font-size:26px;font-weight:600;line-height:1.1}
.inv-stat .val small{font-size:14px;color:var(--ink-dim);font-weight:400}
.inv-stat .sub{font-size:12px;color:var(--ink-dim);margin-top:6px}
.inv-stat .sub.good{color:#7cf5b8}
.inv-stat .sub.warning{color:#fbe28c}
.inv-stat .sub.danger{color:#ff9eb8}

/* Reorder alert cards */
.reorder-row{display:grid;grid-template-columns:48px 1fr 90px 90px 110px 130px;gap:14px;padding:14px;border-radius:12px;align-items:center;font-size:13px;margin-bottom:8px;background:rgba(255,255,255,.03);border:1px solid var(--border);transition:background .15s}
.reorder-row:hover{background:rgba(255,255,255,.05)}
.reorder-row.urgent{background:linear-gradient(90deg,rgba(255,92,138,.08),rgba(255,255,255,.02));border-color:rgba(255,92,138,.3)}
.reorder-row.soon{background:linear-gradient(90deg,rgba(251,191,36,.08),rgba(255,255,255,.02));border-color:rgba(251,191,36,.3)}
.reorder-priority{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:700;font-size:18px;color:#0a0d1a}
.reorder-row.urgent .reorder-priority{background:linear-gradient(135deg,#ff5c8a,#ff9eb8)}
.reorder-row.soon .reorder-priority{background:linear-gradient(135deg,#fbbf24,#fb923c)}
.reorder-row .reorder-priority{background:linear-gradient(135deg,#7c5cff,#22d3ee)}
.reorder-name{font-weight:500}
.reorder-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.reorder-stock{text-align:right;font-family:'Space Grotesk';font-weight:600;font-variant-numeric:tabular-nums}
.reorder-stock.low{color:#ff9eb8}
.reorder-stock.warn{color:#fbe28c}
.reorder-days{text-align:right;font-size:12px;color:var(--ink-dim);font-variant-numeric:tabular-nums}
.reorder-days strong{color:var(--ink);font-family:'Space Grotesk';font-size:14px}
.reorder-suggest{text-align:right;font-size:12px;color:var(--ink-dim)}
.reorder-suggest strong{color:#7cf5b8;font-family:'Space Grotesk';font-size:14px;display:block}
.reorder-cta{padding:8px 14px;border-radius:10px;background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border:none;font-weight:600;font-size:12px;cursor:pointer;font-family:inherit;white-space:nowrap}
.reorder-cta:hover{transform:translateY(-1px)}
.reorder-row.urgent .reorder-cta{background:linear-gradient(135deg,#ff5c8a,#ff9eb8)}
.reorder-row.soon .reorder-cta{background:linear-gradient(135deg,#fbbf24,#fb923c)}

/* Top performers — stars list */
.star-row{display:grid;grid-template-columns:24px 1fr 90px 70px 90px 90px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(34,211,150,.04);border:1px solid rgba(34,211,150,.2);align-items:center;font-size:13px;margin-bottom:6px}
.star-rank{font-family:'Space Grotesk';font-weight:700;color:#7cf5b8;text-align:center}
.star-name{font-weight:500}
.star-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.star-velocity{text-align:right;font-variant-numeric:tabular-nums}
.star-velocity small{display:block;font-size:10px;color:var(--ink-dim)}
.star-margin{text-align:right;font-family:'Space Grotesk';font-weight:600;font-variant-numeric:tabular-nums}
.star-revenue{text-align:right;font-family:'Space Grotesk';font-weight:600;color:#7cf5b8;font-variant-numeric:tabular-nums}
.star-share{text-align:right;font-size:11px;color:var(--ink-dim);font-variant-numeric:tabular-nums}

/* Dead stock */
.dead-row{display:grid;grid-template-columns:1fr 90px 90px 110px 130px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,92,138,.05);border:1px solid rgba(255,92,138,.25);align-items:center;font-size:13px;margin-bottom:6px}
.dead-row .ds-name{font-weight:500}
.dead-row .ds-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.dead-row .ds-days{text-align:right;font-family:'Space Grotesk';font-weight:600;color:#ff9eb8;font-variant-numeric:tabular-nums}
.dead-row .ds-units{text-align:right;font-size:12px;color:var(--ink-dim);font-variant-numeric:tabular-nums}
.dead-row .ds-tied{text-align:right;font-family:'Space Grotesk';font-weight:600;color:#ff9eb8;font-variant-numeric:tabular-nums}
.dead-row .ds-action{padding:6px 12px;border-radius:8px;background:var(--glass-strong);border:1px solid var(--border);color:var(--ink);font-size:11px;cursor:pointer;font-family:inherit;font-weight:600;white-space:nowrap}
.dead-row .ds-action:hover{background:linear-gradient(135deg,#fbbf24,#fb923c);color:#0a0d1a;border-color:transparent}

/* ABC Pareto chart */
.abc-chart{position:relative;width:100%;height:240px;margin:14px 0}
.abc-chart svg{width:100%;height:100%}
.abc-bar{transition:fill .2s}
.abc-bar.A{fill:rgba(34,211,150,.7)}
.abc-bar.B{fill:rgba(34,211,238,.7)}
.abc-bar.C{fill:rgba(154,163,199,.5)}
.abc-bar:hover{filter:brightness(1.2)}
.abc-cumline{fill:none;stroke:#fb923c;stroke-width:2}
.abc-cumdot{fill:#fb923c}
.abc-grid{stroke:rgba(255,255,255,.05);stroke-width:1}
.abc-label{fill:var(--ink-dim);font-size:10px;font-family:'Inter'}
.abc-quadrant-label{fill:var(--ink);font-family:'Space Grotesk';font-weight:600;font-size:11px;text-anchor:middle}
.abc-legend{display:flex;justify-content:center;gap:18px;font-size:12px;margin-top:10px;flex-wrap:wrap}
.abc-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}

/* BCG matrix — 4 quadrants */
.bcg-canvas{position:relative;width:100%;height:480px;border-radius:14px;background:rgba(0,0,0,.3);border:1px solid var(--border);overflow:hidden}
.bcg-canvas svg{width:100%;height:100%;display:block}
.bcg-quadrant{fill:rgba(255,255,255,0)}
.bcg-quadrant.star{fill:rgba(34,211,150,.05)}
.bcg-quadrant.cow{fill:rgba(34,211,238,.05)}
.bcg-quadrant.niche{fill:rgba(251,191,36,.05)}
.bcg-quadrant.dog{fill:rgba(255,92,138,.05)}
.bcg-axis{stroke:rgba(255,255,255,.15);stroke-width:1.5}
.bcg-tick{stroke:rgba(255,255,255,.08);stroke-width:1;stroke-dasharray:2 4}
.bcg-bubble{transition:r .2s,opacity .2s;cursor:pointer}
.bcg-bubble:hover{opacity:1 !important}
.bcg-bubble.star{fill:#22f59e}
.bcg-bubble.cow{fill:#22d3ee}
.bcg-bubble.niche{fill:#fbbf24}
.bcg-bubble.dog{fill:#ff5c8a}
.bcg-label{fill:var(--ink);font-family:'Space Grotesk';font-weight:600;font-size:14px;text-anchor:middle}
.bcg-sublabel{fill:var(--ink-dim);font-family:'Inter';font-size:10px;text-anchor:middle;text-transform:uppercase;letter-spacing:.5px}
.bcg-tooltip{position:absolute;padding:8px 12px;background:rgba(0,0,0,.92);border:1px solid var(--border);border-radius:8px;font-size:12px;pointer-events:none;z-index:10;opacity:0;transition:opacity .15s;backdrop-filter:blur(10px);max-width:240px;line-height:1.4}
.bcg-tooltip.show{opacity:1}
.bcg-tooltip strong{display:block;color:#fff;font-size:13px;margin-bottom:4px}
.bcg-tooltip span{color:var(--ink-dim);font-size:11px}

/* Cash allocation advisor */
.cash-advisor{padding:20px;border-radius:14px;background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(34,211,238,.06));border:1px solid rgba(124,92,255,.3)}
.cash-advisor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:14px}
.cash-advisor h5{font-family:'Space Grotesk';font-size:16px;font-weight:600;margin:0}
.cash-advisor h5 small{display:block;font-size:11px;color:var(--ink-dim);font-weight:400;margin-top:2px;font-family:'Inter',sans-serif}
.cash-budget-input{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:rgba(0,0,0,.4);border:1px solid var(--border)}
.cash-budget-input input{background:none;border:none;color:var(--ink);font-family:'Space Grotesk';font-size:18px;font-weight:600;width:100px;outline:none;text-align:right}
.cash-allocation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
.cash-allocation-card{padding:14px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border)}
.cash-allocation-card .label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.cash-allocation-card .amount{font-family:'Space Grotesk';font-size:20px;font-weight:600}
.cash-allocation-card .pct{font-size:11px;margin-top:4px}
.cash-allocation-card .pct.green{color:#7cf5b8}
.cash-allocation-card .pct.amber{color:#fbe28c}
.cash-allocation-card .pct.red{color:#ff9eb8}
.cash-allocation-card .bar{height:4px;background:rgba(255,255,255,.05);border-radius:2px;margin-top:8px;overflow:hidden}
.cash-allocation-card .bar-fill{height:100%;border-radius:2px}
.cash-allocation-card.stars .bar-fill{background:linear-gradient(90deg,#22f59e,#22d3ee)}
.cash-allocation-card.cows .bar-fill{background:linear-gradient(90deg,#22d3ee,#7c5cff)}
.cash-allocation-card.niches .bar-fill{background:linear-gradient(90deg,#fbbf24,#fb923c)}
.cash-allocation-card.dogs .bar-fill{background:linear-gradient(90deg,#ff5c8a,#ff9eb8);opacity:.5}
.cash-recs{display:flex;flex-direction:column;gap:10px}
.cash-rec{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:10px;background:rgba(0,0,0,.3);border:1px solid var(--border)}
.cash-rec-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:rgba(34,211,150,.15)}
.cash-rec-text{flex:1;font-size:13px;line-height:1.5;color:var(--ink)}
.cash-rec-text b{color:#7cf5b8}
.cash-rec-amount{font-family:'Space Grotesk';font-weight:600;color:#7cf5b8;white-space:nowrap}

/* Vendor performance */
.vendor-row{display:grid;grid-template-columns:1fr 90px 90px 90px 90px 80px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:6px}
.vendor-name{font-weight:500}
.vendor-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.vendor-metric{text-align:right;font-family:'Space Grotesk';font-weight:600;font-variant-numeric:tabular-nums}
.vendor-rating{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;text-align:center;letter-spacing:.5px}
.vendor-rating.A{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.vendor-rating.B{background:rgba(34,211,238,.2);color:#7ce8f5;border:1px solid rgba(34,211,238,.4)}
.vendor-rating.C{background:rgba(251,191,36,.2);color:#fbe28c;border:1px solid rgba(251,191,36,.4)}
.vendor-rating.D{background:rgba(255,92,138,.2);color:#ff9eb8;border:1px solid rgba(255,92,138,.4)}

/* Velocity heatmap */
.velocity-heatmap{display:grid;gap:3px;padding:14px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border)}
.velocity-heatmap-header{display:grid;grid-template-columns:130px repeat(12,1fr);gap:3px;font-size:9px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;text-align:center;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--border)}
.velocity-heatmap-row{display:grid;grid-template-columns:130px repeat(12,1fr);gap:3px;align-items:center}
.velocity-heatmap-row .row-label{font-size:11px;font-weight:500;padding-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.velocity-heatmap-cell{aspect-ratio:1;border-radius:3px;font-size:9px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-weight:600;font-variant-numeric:tabular-nums}

/* AI advisor cards */
.ai-advice-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.ai-advice-card{padding:18px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.03);position:relative;overflow:hidden}
.ai-advice-card.warn{background:linear-gradient(180deg,rgba(251,191,36,.08),rgba(255,255,255,.02));border-color:rgba(251,191,36,.3)}
.ai-advice-card.urgent{background:linear-gradient(180deg,rgba(255,92,138,.08),rgba(255,255,255,.02));border-color:rgba(255,92,138,.3)}
.ai-advice-card.win{background:linear-gradient(180deg,rgba(34,211,150,.08),rgba(255,255,255,.02));border-color:rgba(34,211,150,.3)}
.ai-advice-card.opportunity{background:linear-gradient(180deg,rgba(124,92,255,.08),rgba(255,255,255,.02));border-color:rgba(124,92,255,.3)}
.ai-advice-card .badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:3px 10px;border-radius:999px;margin-bottom:10px}
.ai-advice-card.warn .badge{background:rgba(251,191,36,.2);color:#fbe28c}
.ai-advice-card.urgent .badge{background:rgba(255,92,138,.2);color:#ff9eb8}
.ai-advice-card.win .badge{background:rgba(34,211,150,.2);color:#7cf5b8}
.ai-advice-card.opportunity .badge{background:rgba(124,92,255,.2);color:#a594ff}
.ai-advice-card h5{font-family:'Space Grotesk';font-size:15px;font-weight:600;margin-bottom:8px;line-height:1.3}
.ai-advice-card p{font-size:13px;color:var(--ink-dim);line-height:1.5;margin-bottom:12px}
.ai-advice-card .impact{font-size:11px;color:var(--ink);background:rgba(0,0,0,.3);padding:8px 12px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border)}
.ai-advice-card .impact b{color:#7cf5b8;font-family:'Space Grotesk'}

/* Inline mini-bar for any metric */
.inv-mini-bar{height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;margin-top:4px}
.inv-mini-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#7c5cff,#22d3ee)}
.inv-mini-bar-fill.warn{background:linear-gradient(90deg,#fbbf24,#fb923c)}
.inv-mini-bar-fill.danger{background:linear-gradient(90deg,#ff5c8a,#ff9eb8)}
.inv-mini-bar-fill.good{background:linear-gradient(90deg,#22f59e,#22d3ee)}

@media (max-width: 720px){
  .reorder-row{grid-template-columns:48px 1fr 80px;font-size:12px}
  .reorder-row > *:nth-child(n+4){display:none}
  .star-row{grid-template-columns:24px 1fr 80px;font-size:12px}
  .star-row > *:nth-child(n+4){display:none}
  .dead-row{grid-template-columns:1fr 80px 100px;font-size:12px}
  .dead-row > *:nth-child(n+4){display:none}
  .vendor-row{grid-template-columns:1fr 80px;font-size:12px}
  .vendor-row > *:nth-child(n+3){display:none}
}

/* ════════════════════════════════════════════════════════════════════
   LOADING SKELETON
   ════════════════════════════════════════════════════════════════════ */
.skeleton{background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:8px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-text{height:16px;margin-bottom:8px}
.skeleton-text.lg{height:32px}
.skeleton-card{height:120px;border-radius:14px}
.loading-overlay{position:fixed;inset:0;background:var(--bg-0);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .4s}
.loading-overlay.hide{opacity:0;pointer-events:none}
.loading-orb{width:64px;height:64px;border-radius:50%;background:conic-gradient(from 0deg,#7c5cff,#22d3ee,#fb923c,#ff5cf0,#7c5cff);animation:loadingSpin 1.2s linear infinite;box-shadow:0 0 40px rgba(124,92,255,.5)}
@keyframes loadingSpin{to{transform:rotate(360deg)}}

/* ════════════════════════════════════════════════════════════════════
   AI COPILOT (chat dock)
   ════════════════════════════════════════════════════════════════════ */
.copilot-fab{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;
  background:conic-gradient(from 220deg,#7c5cff,#22d3ee,#ff5cf0,#7c5cff);border:none;cursor:pointer;
  box-shadow:0 0 40px rgba(124,92,255,.5),0 10px 30px rgba(0,0,0,.4);
  z-index:90;font-size:24px;display:flex;align-items:center;justify-content:center;transition:transform .25s;
  animation:fabPulse 4s ease-in-out infinite}
.copilot-fab:hover{transform:scale(1.08)}
.copilot-fab::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:inherit;filter:blur(12px);opacity:.6;z-index:-1}
@keyframes fabPulse{0%,100%{box-shadow:0 0 40px rgba(124,92,255,.5),0 10px 30px rgba(0,0,0,.4)}50%{box-shadow:0 0 60px rgba(124,92,255,.7),0 10px 30px rgba(0,0,0,.4)}}
.copilot-fab .fab-glyph{font-family:'Space Grotesk';font-weight:700;color:#0a0d1a;font-size:22px;line-height:1}

.copilot-dock{position:fixed;bottom:24px;right:24px;width:min(440px, calc(100vw - 48px));height:min(640px, calc(100vh - 80px));
  border-radius:20px;background:linear-gradient(180deg,rgba(20,23,43,.95),rgba(10,13,26,.98));
  border:1px solid var(--border);backdrop-filter:blur(20px);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 60px rgba(124,92,255,.15);
  z-index:91;display:none;flex-direction:column;overflow:hidden;animation:dockIn .3s cubic-bezier(.16,1,.3,1)}
.copilot-dock.open{display:flex}
@keyframes dockIn{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.copilot-header{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(34,211,238,.04))}
.copilot-title{display:flex;align-items:center;gap:12px}
.copilot-title-orb{width:30px;height:30px;border-radius:50%;background:conic-gradient(from 220deg,#7c5cff,#22d3ee,#ff5cf0);box-shadow:0 0 16px rgba(124,92,255,.5);animation:spin 16s linear infinite}
.copilot-title-text{font-family:'Space Grotesk';font-weight:600;font-size:15px}
.copilot-title-text small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-family:'Inter',sans-serif;font-weight:400}
.copilot-close{background:none;border:none;color:var(--ink-dim);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;font-family:inherit}
.copilot-close:hover{background:rgba(255,255,255,.05);color:var(--ink)}

.copilot-messages{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.copilot-msg{display:flex;gap:10px;animation:msgIn .3s ease}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.copilot-msg.user{flex-direction:row-reverse}
.copilot-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.copilot-msg.user .copilot-avatar{background:rgba(255,255,255,.1);color:var(--ink)}
.copilot-msg.assistant .copilot-avatar{background:conic-gradient(from 220deg,#7c5cff,#22d3ee,#ff5cf0);color:#0a0d1a;font-family:'Space Grotesk'}
.copilot-bubble{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.55;max-width:80%;word-wrap:break-word}
.copilot-msg.user .copilot-bubble{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border-bottom-right-radius:4px;font-weight:500}
.copilot-msg.assistant .copilot-bubble{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--ink);border-bottom-left-radius:4px}
.copilot-bubble strong{color:#fff}
.copilot-bubble code{background:rgba(0,0,0,.4);padding:1px 6px;border-radius:4px;font-size:12px;color:#22d3ee}
.copilot-suggestions{padding:0 18px 14px;display:flex;gap:6px;flex-wrap:wrap}
.copilot-suggest{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--ink-dim);font-size:11px;cursor:pointer;font-family:inherit;transition:all .2s}
.copilot-suggest:hover{color:var(--ink);background:rgba(124,92,255,.1);border-color:rgba(124,92,255,.3)}

.copilot-input-row{padding:14px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end}
.copilot-input{flex:1;padding:10px 14px;border-radius:12px;background:rgba(0,0,0,.4);border:1px solid var(--border);color:var(--ink);font-family:inherit;font-size:13px;resize:none;outline:none;max-height:120px;line-height:1.4}
.copilot-input:focus{border-color:var(--accent)}
.copilot-send{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border:none;cursor:pointer;font-size:16px;font-weight:600;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.copilot-send:hover{transform:scale(1.05)}
.copilot-send:disabled{opacity:.4;cursor:not-allowed}
.copilot-typing{display:flex;gap:4px;padding:8px 14px}
.copilot-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-dim);animation:typingDot 1.4s infinite ease-in-out}
.copilot-typing span:nth-child(2){animation-delay:.2s}
.copilot-typing span:nth-child(3){animation-delay:.4s}
@keyframes typingDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* ════════════════════════════════════════════════════════════════════
   INTERNAL LINK GRAPH
   ════════════════════════════════════════════════════════════════════ */
.link-graph{position:relative;width:100%;height:560px;border-radius:14px;background:radial-gradient(circle at center, rgba(124,92,255,.06), rgba(0,0,0,.3));border:1px solid var(--border);overflow:hidden}
.link-graph svg{width:100%;height:100%;cursor:grab}
.link-graph svg:active{cursor:grabbing}
.graph-edge{stroke:rgba(124,92,255,.22);stroke-width:1;fill:none}
.graph-edge.broken{stroke:rgba(255,92,138,.5);stroke-dasharray:4 4}
.graph-edge.hub{stroke:rgba(34,211,150,.4);stroke-width:1.5}
.graph-node{cursor:pointer;transition:r .2s, opacity .2s}
.graph-node.orphan{fill:#ff5c8a}
.graph-node.hub{fill:#22f59e}
.graph-node.normal{fill:#7c5cff}
.graph-node.pillar{fill:url(#graphPillarGrad)}
.graph-node:hover{opacity:.9}
.graph-label{fill:var(--ink);font-family:'Inter';font-size:9px;text-anchor:middle;pointer-events:none}
.graph-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--ink-dim);margin-top:14px;padding:0 6px}
.graph-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}

/* ════════════════════════════════════════════════════════════════════
   SERP DIFF VIEWER
   ════════════════════════════════════════════════════════════════════ */
.serp-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:14px}
.serp-kw-select{padding:10px 14px;border-radius:10px;background:rgba(0,0,0,.4);border:1px solid var(--border);color:var(--ink);font-family:inherit;font-size:13px;outline:none}
.serp-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.serp-pane{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border)}
.serp-pane h5{display:flex;justify-content:space-between;font-family:'Space Grotesk';font-size:13px;font-weight:600;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}
.serp-pane h5 span:last-child{font-size:11px;color:var(--ink);font-weight:500;text-transform:none;letter-spacing:normal}

.serp-result{padding:14px;border-radius:10px;background:rgba(0,0,0,.3);border:1px solid var(--border);margin-bottom:10px;position:relative}
.serp-result.added{background:rgba(34,211,150,.06);border-color:rgba(34,211,150,.3)}
.serp-result.removed{background:rgba(255,92,138,.06);border-color:rgba(255,92,138,.3);opacity:.85}
.serp-result.moved-up{background:rgba(34,211,238,.06);border-color:rgba(34,211,238,.3)}
.serp-result.moved-down{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.3)}
.serp-result.you{background:linear-gradient(90deg,rgba(124,92,255,.12),rgba(34,211,238,.04));border-color:rgba(124,92,255,.4)}
.serp-result-pos{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.4);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;color:var(--ink-dim)}
.serp-result.you .serp-result-pos{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a}
.serp-result-domain{font-size:11px;color:var(--ink-dim);margin-bottom:4px;font-family:'Space Grotesk'}
.serp-result-title{font-size:14px;color:#9ec5fe;margin-bottom:4px;line-height:1.4;font-weight:500;font-family:'Arial', sans-serif}
.serp-result.you .serp-result-title{color:#fff}
.serp-result-desc{font-size:12px;color:var(--ink-dim);line-height:1.5}
.serp-result-change{position:absolute;top:14px;left:-32px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px;font-family:'Space Grotesk';text-transform:uppercase;letter-spacing:.5px;display:none}
.serp-result.added .serp-result-change{display:block;background:#22f59e;color:#0a0d1a}
.serp-result.removed .serp-result-change{display:block;background:#ff5c8a;color:#fff}
.serp-result.moved-up .serp-result-change{display:block;background:#22d3ee;color:#0a0d1a}
.serp-result.moved-down .serp-result-change{display:block;background:#fbbf24;color:#0a0d1a}

.serp-diff-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:18px}
.serp-summary-card{padding:14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);text-align:center}
.serp-summary-card .label{font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.serp-summary-card .val{font-family:'Space Grotesk';font-size:22px;font-weight:600}
.serp-summary-card .val.up{color:#22f59e}
.serp-summary-card .val.down{color:#ff5c8a}

/* ════════════════════════════════════════════════════════════════════
   AI OVERVIEW OPTIMIZER
   ════════════════════════════════════════════════════════════════════ */
.aio-optimizer{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.aio-pane{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);display:flex;flex-direction:column}
.aio-pane h5{font-family:'Space Grotesk';font-size:13px;font-weight:600;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.aio-pane h5 small{font-family:'Inter',sans-serif;text-transform:none;letter-spacing:normal;font-weight:400;font-size:11px;color:var(--ink-dim)}
.aio-textarea{flex:1;min-height:280px;width:100%;padding:14px;border-radius:12px;background:rgba(0,0,0,.4);border:1px solid var(--border);color:var(--ink);font-family:'Inter',sans-serif;font-size:14px;line-height:1.6;resize:vertical;outline:none}
.aio-textarea:focus{border-color:var(--accent)}
.aio-output{flex:1;min-height:280px;padding:14px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border);font-size:14px;line-height:1.6;overflow-y:auto}
.aio-output.empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-dim);font-style:italic}
.aio-controls{display:flex;justify-content:space-between;align-items:center;margin-top:14px;flex-wrap:wrap;gap:10px}
.aio-controls .meta{font-size:11px;color:var(--ink-dim)}
.aio-score-bar{margin-top:14px;padding:14px;border-radius:10px;background:linear-gradient(135deg,rgba(34,211,150,.08),rgba(34,211,238,.04));border:1px solid rgba(34,211,150,.25)}
.aio-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px}
.aio-score-pill{padding:4px 12px;border-radius:999px;font-family:'Space Grotesk';font-weight:700;font-size:13px;background:linear-gradient(135deg,#22f59e,#22d3ee);color:#0a0d1a}
.aio-fixes{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.aio-fix{font-size:12px;color:var(--ink-dim);padding:6px 10px;border-radius:6px;background:rgba(0,0,0,.3);border-left:3px solid #22f59e}

/* ════════════════════════════════════════════════════════════════════
   CORE WEB VITALS TIMELINE
   ════════════════════════════════════════════════════════════════════ */
.cwv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.cwv-card{padding:18px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.03);position:relative;overflow:hidden}
.cwv-card.good{background:linear-gradient(180deg,rgba(34,211,150,.08),rgba(255,255,255,.02));border-color:rgba(34,211,150,.3)}
.cwv-card.needs-improvement{background:linear-gradient(180deg,rgba(251,191,36,.08),rgba(255,255,255,.02));border-color:rgba(251,191,36,.3)}
.cwv-card.poor{background:linear-gradient(180deg,rgba(255,92,138,.08),rgba(255,255,255,.02));border-color:rgba(255,92,138,.3)}
.cwv-card h5{font-family:'Space Grotesk';font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--ink-dim);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.cwv-card h5 .status-pill{padding:2px 8px;border-radius:999px;font-size:10px;font-family:'Inter';text-transform:uppercase;letter-spacing:.5px}
.cwv-card.good .status-pill{background:rgba(34,211,150,.2);color:#7cf5b8}
.cwv-card.needs-improvement .status-pill{background:rgba(251,191,36,.2);color:#fbe28c}
.cwv-card.poor .status-pill{background:rgba(255,92,138,.2);color:#ff9eb8}
.cwv-val{font-family:'Space Grotesk';font-size:34px;font-weight:600;line-height:1}
.cwv-val small{font-size:14px;color:var(--ink-dim);font-weight:400;margin-left:4px}
.cwv-target{font-size:11px;color:var(--ink-dim);margin-top:4px}
.cwv-sparkline{width:100%;height:60px;margin-top:14px}
.cwv-sparkline path.line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cwv-card.good .cwv-sparkline path.line{stroke:#22f59e}
.cwv-card.needs-improvement .cwv-sparkline path.line{stroke:#fbbf24}
.cwv-card.poor .cwv-sparkline path.line{stroke:#ff5c8a}
.cwv-sparkline path.area{opacity:.2}
.cwv-card.good .cwv-sparkline path.area{fill:#22f59e}
.cwv-card.needs-improvement .cwv-sparkline path.area{fill:#fbbf24}
.cwv-card.poor .cwv-sparkline path.area{fill:#ff5c8a}

.cwv-page-table{font-size:13px;width:100%;margin-top:18px}
.cwv-page-row{display:grid;grid-template-columns:1.5fr 100px 100px 100px 100px;gap:14px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-bottom:6px;align-items:center}
.cwv-page-url{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cwv-page-metric{text-align:right;font-family:'Space Grotesk';font-weight:600;font-variant-numeric:tabular-nums}
.cwv-page-metric.good{color:#22f59e}
.cwv-page-metric.needs-improvement{color:#fbbf24}
.cwv-page-metric.poor{color:#ff5c8a}

/* ════════════════════════════════════════════════════════════════════
   MOTION DESIGN — scroll reveals, hero load, stagger
   ════════════════════════════════════════════════════════════════════ */
.motion-fade-up{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1)}
.motion-fade-up.in{opacity:1;transform:translateY(0)}
.motion-fade-right{opacity:0;transform:translateX(-30px);transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1)}
.motion-fade-right.in{opacity:1;transform:translateX(0)}
.motion-scale-in{opacity:0;transform:scale(.92);transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1)}
.motion-scale-in.in{opacity:1;transform:scale(1)}

.stagger > *{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1)}
.stagger.in > *{opacity:1;transform:translateY(0)}
.stagger.in > *:nth-child(1){transition-delay:.05s}
.stagger.in > *:nth-child(2){transition-delay:.12s}
.stagger.in > *:nth-child(3){transition-delay:.19s}
.stagger.in > *:nth-child(4){transition-delay:.26s}
.stagger.in > *:nth-child(5){transition-delay:.33s}
.stagger.in > *:nth-child(6){transition-delay:.4s}
.stagger.in > *:nth-child(7){transition-delay:.47s}
.stagger.in > *:nth-child(8){transition-delay:.54s}
.stagger.in > *:nth-child(9){transition-delay:.61s}

/* Hero load sequence — cinematic */
.hero-anim h1{animation:heroH 1.4s cubic-bezier(.16,1,.3,1) .15s both;will-change:transform,opacity,filter}
.hero-anim p.sub{animation:heroH 1.2s cubic-bezier(.16,1,.3,1) .55s both}
.hero-anim .cta-row{animation:heroH 1s cubic-bezier(.16,1,.3,1) .85s both}
.hero-anim .pill{animation:heroPill 1s cubic-bezier(.16,1,.3,1) both}
@keyframes heroH{from{opacity:0;transform:translateY(40px);filter:blur(12px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes heroPill{from{opacity:0;transform:scale(.7);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}

/* Letter-by-letter reveal — JS wraps each char in <span class="char"> */
.cinematic-h1 .char{display:inline-block;opacity:0;transform:translateY(40px) rotateX(70deg);filter:blur(10px);
  transform-origin:50% 50% -20px;transition:none}
.cinematic-h1.in .char{animation:charReveal .7s cubic-bezier(.16,1,.3,1) forwards}
@keyframes charReveal{
  0%{opacity:0;transform:translateY(40px) rotateX(70deg);filter:blur(10px)}
  100%{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}
}

/* Magnetic button — JS adds the translateX/Y on mousemove */
.btn{transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s, background .2s !important;will-change:transform}
.btn-primary{box-shadow:0 10px 40px rgba(185,51,255,.4), 0 0 0 1px rgba(255,255,255,.15) inset, 0 1px 0 rgba(255,255,255,.4) inset !important}
.btn-primary:hover{box-shadow:0 0 50px rgba(185,51,255,.7), 0 16px 50px rgba(0,240,255,.4), 0 0 0 1px rgba(255,255,255,.2) inset !important}
.btn-solvera{box-shadow:0 10px 40px rgba(255,85,0,.4), 0 0 0 1px rgba(255,255,255,.15) inset, 0 1px 0 rgba(255,255,255,.4) inset !important}
.btn-solvera:hover{box-shadow:0 0 50px rgba(255,85,0,.7), 0 16px 50px rgba(255,204,0,.4), 0 0 0 1px rgba(255,255,255,.2) inset !important}

/* Beam sweep — appears on section scroll-in */
.beam-sweep{position:relative;overflow:hidden}
.beam-sweep::before{content:"";position:absolute;top:0;left:-100%;width:60%;height:2px;
  background:linear-gradient(90deg,transparent, #00f0ff, #b933ff, transparent);
  opacity:0;transition:none}
.beam-sweep.in::before{animation:beamSweep 1.5s cubic-bezier(.16,1,.3,1) forwards}
@keyframes beamSweep{
  0%{left:-60%;opacity:0}
  20%{opacity:1}
  100%{left:160%;opacity:0}
}

/* Section header glow underline */
.section-title{position:relative}
.section-title::after{content:"";position:absolute;bottom:-12px;left:0;width:60px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#b933ff,#00f0ff);box-shadow:0 0 12px rgba(185,51,255,.6)}

/* Text gradient updates for new palette */
.grad{background:linear-gradient(135deg,#b933ff 0%,#00f0ff 50%,#ff0080 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 24px rgba(185,51,255,.3))}
.grad-solvera{background:linear-gradient(135deg,#ff5500 0%,#ffcc00 50%,#ff0040 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 24px rgba(255,85,0,.3))}

/* Stronger hero h1 */
h1.h1, header.page-hero h1{
  text-shadow: 0 0 30px rgba(255,255,255,0.1);
}

/* Bolder pill */
.pill{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.15);font-weight:500;letter-spacing:.5px;text-transform:uppercase;font-size:11px}
.pill .dot{background:#00f0ff;box-shadow:0 0 12px #00f0ff}

/* Brand gradient updates for FAB + Copilot */
.copilot-fab{background:conic-gradient(from 220deg, #b933ff, #00f0ff, #ff0080, #b933ff) !important;
  box-shadow:0 0 50px rgba(185,51,255,.6), 0 10px 30px rgba(0,0,0,.5) !important}
.copilot-fab:hover{box-shadow:0 0 70px rgba(185,51,255,.85), 0 12px 40px rgba(0,240,255,.4) !important}
@keyframes fabPulse{0%,100%{box-shadow:0 0 50px rgba(185,51,255,.5),0 10px 30px rgba(0,0,0,.4)}50%{box-shadow:0 0 80px rgba(185,51,255,.85),0 10px 30px rgba(0,0,0,.4)}}

/* Updated orbs with new palette */
.orb.a{background:radial-gradient(circle,#b933ff 0%,transparent 70%)}
.orb.b{background:radial-gradient(circle,#00f0ff 0%,transparent 70%)}
.orb.c{background:radial-gradient(circle,#ff0080 0%,transparent 70%)}

/* Bolder card style */
.card{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 30px 80px rgba(0,0,0,.5)}
.card:hover{border-color:rgba(255,255,255,.14)}

@media (prefers-reduced-motion: reduce){
  .motion-fade-up,.motion-fade-right,.motion-scale-in,.stagger > *{transition:none;opacity:1;transform:none}
  .hero-anim *{animation:none !important}
  .orb,.logo-mark,.logo-mark-solvera{animation:none !important}
}

/* ════════════════════════════════════════════════════════════════════
   ACCESSIBILITY
   ════════════════════════════════════════════════════════════════════ */
:focus-visible{outline:2px solid #22d3ee;outline-offset:3px;border-radius:4px}
.btn:focus-visible,.nav-cta:focus-visible,.nav-cta-solvera:focus-visible,.plan-cta:focus-visible{outline:3px solid #22d3ee;outline-offset:3px}

.skip-link{position:absolute;top:-100px;left:16px;padding:12px 20px;border-radius:10px;
  background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;font-weight:600;font-size:14px;text-decoration:none;
  z-index:100;transition:top .2s}
.skip-link:focus{top:16px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ════════════════════════════════════════════════════════════════════
   MOBILE NAV (hamburger pattern)
   ════════════════════════════════════════════════════════════════════ */
.mobile-nav-toggle{display:none;background:rgba(255,255,255,.06);border:1px solid var(--border);width:42px;height:42px;border-radius:10px;cursor:pointer;font-family:inherit;color:var(--ink);padding:0;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.mobile-nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s}
.mobile-nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-nav-toggle.open span:nth-child(2){opacity:0}
.mobile-nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width: 820px){
  nav.top{padding:14px 16px}
  nav.top ul{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;
    flex-direction:column;gap:0;padding:12px;background:rgba(15,18,38,.98);backdrop-filter:blur(20px);
    border-radius:18px;border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.5)}
  nav.top ul.open{display:flex}
  nav.top ul li{width:100%}
  nav.top ul li a{display:block;padding:12px 16px;border-radius:10px}
  nav.top ul li a:hover{background:rgba(255,255,255,.05)}
  .mobile-nav-toggle{display:flex}
  .wrap{padding:18px 16px}
  header.hero{padding:80px 0 40px}
  header.page-hero{padding:60px 0 30px}
  .products-split{grid-template-columns:1fr;gap:16px}
  .product-tile{padding:28px;min-height:auto}
  .bundle-band{flex-direction:column;text-align:center}
  .features{gap:14px}
  .feature{padding:24px}
  .pricing{gap:14px}
  .plan{padding:28px 22px}
  .plan.featured{transform:none}
  .ad-campaign-row{grid-template-columns:32px 1fr 80px;font-size:12px}
  .ad-campaign-row > *:nth-child(n+4){display:none}
  .serp-diff-grid{grid-template-columns:1fr}
  .aio-optimizer{grid-template-columns:1fr}
  .cwv-page-row{grid-template-columns:1fr 80px;font-size:12px}
  .cwv-page-row > *:nth-child(n+3){display:none}
  .copilot-fab{bottom:16px;right:16px;width:54px;height:54px}
  .copilot-dock{bottom:16px;right:16px;left:16px;width:auto;height:calc(100vh - 120px)}
  .step-card{padding:26px 20px}
  .progress-bar{margin-bottom:24px}
  .progress-step .label{font-size:9px}
  .form-row{grid-template-columns:1fr}
  .order-summary{padding:14px}
  .cc-preview{padding:18px;min-height:140px}
  .cc-number{font-size:18px}
  h1.h1{font-size:clamp(36px,8vw,56px)}
  .section-title{font-size:clamp(26px,6vw,38px)}
}

/* ════════════════════════════════════════════════════════════════════
   CLARIVA — FINANCIAL OPS (Stripe, expenses, invoices, taxes, balance sheet)
   ════════════════════════════════════════════════════════════════════ */

/* Stripe-style billing card */
.billing-card{padding:24px;border-radius:16px;background:linear-gradient(135deg,rgba(124,92,255,.1),rgba(34,211,238,.04));border:1px solid var(--border)}
.billing-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:14px}
.billing-current-plan{padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px}
.billing-next-invoice{padding:16px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border);margin-top:14px}
.billing-amount{font-family:'Space Grotesk';font-size:32px;font-weight:600;line-height:1}
.billing-date{font-size:12px;color:var(--ink-dim);margin-top:4px}

.payment-method-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border);margin-top:14px}
.payment-method-icon{width:42px;height:28px;border-radius:6px;background:linear-gradient(135deg,#1a1d2e,#0a0d1a);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:700;font-size:11px;color:#fff;border:1px solid var(--border)}

.invoice-history-row{display:grid;grid-template-columns:1fr 100px 110px 90px 100px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-bottom:6px;align-items:center;font-size:13px}
.invoice-status{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}
.invoice-status.paid{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.invoice-status.due{background:rgba(251,191,36,.2);color:#fbe28c;border:1px solid rgba(251,191,36,.4)}
.invoice-status.overdue{background:rgba(255,92,138,.2);color:#ff9eb8;border:1px solid rgba(255,92,138,.4)}

/* Receipt OCR drop zone */
.receipt-zone{padding:30px;border-radius:14px;border:2px dashed rgba(34,211,150,.3);background:rgba(34,211,150,.04);text-align:center;cursor:pointer;transition:all .2s;position:relative}
.receipt-zone:hover{background:rgba(34,211,150,.08);border-color:rgba(34,211,150,.5)}
.receipt-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer}
.receipt-zone .icon{font-size:36px;margin-bottom:10px}

/* Parsed receipt card */
.receipt-card{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-top:14px;animation:fadeIn .3s}
.receipt-extracted{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:14px}
.receipt-field{padding:10px;border-radius:8px;background:rgba(0,0,0,.3);border:1px solid var(--border)}
.receipt-field .label{font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.receipt-field .value{font-family:'Space Grotesk';font-size:15px;font-weight:600}
.receipt-confidence{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;margin-left:6px}
.receipt-confidence.high{background:rgba(34,211,150,.2);color:#7cf5b8}
.receipt-confidence.medium{background:rgba(251,191,36,.2);color:#fbe28c}

/* Expense list rows */
.expense-row{display:grid;grid-template-columns:36px 1fr 110px 100px 90px 90px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-bottom:6px;align-items:center;font-size:13px}
.expense-row:hover{background:rgba(255,255,255,.05)}
.expense-cat-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;background:rgba(124,92,255,.15)}
.expense-name{font-weight:500}
.expense-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.expense-cat-tag{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}
.cat-cogs{background:rgba(124,92,255,.2);color:#a594ff}
.cat-marketing{background:rgba(255,92,240,.2);color:#ff9ef0}
.cat-rent{background:rgba(34,211,238,.2);color:#7ce8f5}
.cat-payroll{background:rgba(251,146,60,.2);color:#ffb878}
.cat-software{background:rgba(34,211,150,.2);color:#7cf5b8}
.cat-misc{background:rgba(154,163,199,.2);color:var(--ink-dim)}
.expense-amount{text-align:right;font-family:'Space Grotesk';font-weight:600;font-variant-numeric:tabular-nums}

/* Balance sheet */
.balance-sheet{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.balance-col{padding:20px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border)}
.balance-col h5{font-family:'Space Grotesk';font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-dim);margin-bottom:14px;display:flex;justify-content:space-between}
.balance-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.balance-row:last-child{border-bottom:none}
.balance-row.subtotal{border-top:2px solid var(--border);padding-top:12px;margin-top:6px;font-family:'Space Grotesk';font-weight:600}
.balance-row.subtotal .amount{font-size:16px}
.balance-row .amount{font-family:'Space Grotesk';font-variant-numeric:tabular-nums}
.balance-row .amount.neg{color:#ff9eb8}
.balance-row .amount.pos{color:#7cf5b8}

/* Tax export cards */
.tax-export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.tax-export-card{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);transition:transform .2s;cursor:pointer;text-decoration:none;color:var(--ink);display:block}
.tax-export-card:hover{transform:translateY(-3px);border-color:rgba(124,92,255,.4)}
.tax-export-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(34,211,238,.2));display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px}
.tax-export-card h5{font-family:'Space Grotesk';font-size:15px;font-weight:600;margin-bottom:6px}
.tax-export-card p{font-size:12px;color:var(--ink-dim);line-height:1.5;margin-bottom:12px}
.tax-export-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-dim);align-items:center}
.tax-export-meta strong{color:#7cf5b8;font-family:'Space Grotesk'}

/* Vendor invoice tracker */
.vendor-invoice-row{display:grid;grid-template-columns:1fr 110px 100px 110px 90px 100px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:6px}
.vendor-invoice-row.overdue{background:rgba(255,92,138,.06);border-color:rgba(255,92,138,.3)}
.vendor-invoice-row.due-soon{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.3)}
.vendor-due{text-align:right;font-family:'Space Grotesk';font-weight:600;font-variant-numeric:tabular-nums}
.vendor-due.overdue{color:#ff9eb8}
.vendor-due.soon{color:#fbe28c}
.vendor-due.future{color:var(--ink-dim);font-weight:400}

/* Profit-by-SKU table */
.profit-row{display:grid;grid-template-columns:1fr 80px 80px 90px 90px 80px 80px;gap:12px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:6px}
.profit-num{text-align:right;font-variant-numeric:tabular-nums}
.profit-num.cost{color:var(--ink-dim)}
.profit-num.gross{color:#7ce8f5}
.profit-num.net{font-family:'Space Grotesk';font-weight:600;color:#7cf5b8}
.profit-num.net.low{color:#ff9eb8}
.profit-num.margin{font-family:'Space Grotesk';font-weight:600}

/* Incoming POs / order tracking */
.po-row{display:grid;grid-template-columns:1fr 90px 90px 100px 110px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(34,211,238,.05);border:1px solid rgba(34,211,238,.25);align-items:center;font-size:13px;margin-bottom:6px}
.po-row.arriving-soon{background:linear-gradient(90deg,rgba(34,211,150,.08),rgba(255,255,255,.02));border-color:rgba(34,211,150,.3)}
.po-row.delayed{background:rgba(255,92,138,.05);border-color:rgba(255,92,138,.25)}
.po-name{font-weight:500}
.po-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.po-num{text-align:right;font-variant-numeric:tabular-nums;font-family:'Space Grotesk';font-weight:600}
.po-eta{text-align:right;font-size:12px}
.po-eta.soon{color:#7cf5b8;font-weight:600}
.po-status-tag{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px}
.po-status-tag.pending{background:rgba(251,191,36,.2);color:#fbe28c}
.po-status-tag.shipped{background:rgba(34,211,238,.2);color:#7ce8f5}
.po-status-tag.arriving{background:rgba(34,211,150,.2);color:#7cf5b8}
.po-status-tag.delayed{background:rgba(255,92,138,.2);color:#ff9eb8}

/* Expiry tracking */
.expiry-row{display:grid;grid-template-columns:1fr 80px 100px 100px 100px;gap:14px;padding:12px 14px;border-radius:10px;align-items:center;font-size:13px;margin-bottom:6px;background:rgba(255,255,255,.03);border:1px solid var(--border)}
.expiry-row.expiring-soon{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.3)}
.expiry-row.expired{background:rgba(255,92,138,.06);border-color:rgba(255,92,138,.3)}
.expiry-days{font-family:'Space Grotesk';font-weight:600;text-align:right}
.expiry-days.urgent{color:#ff9eb8}
.expiry-days.warn{color:#fbe28c}
.expiry-days.ok{color:#7cf5b8}

/* Barcode scanner UI */
.barcode-scanner{padding:24px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);text-align:center}
.barcode-camera{width:100%;max-width:480px;margin:14px auto;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;position:relative;display:none}
.barcode-camera.active{display:block}
.barcode-camera video{width:100%;height:100%;object-fit:cover}
.barcode-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.barcode-reticle{width:60%;height:30%;border:2px solid #22f59e;border-radius:8px;box-shadow:0 0 0 9999px rgba(0,0,0,.5);position:relative}
.barcode-reticle::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,#22f59e,transparent);animation:scanLine 2s ease-in-out infinite}
@keyframes scanLine{0%,100%{transform:translateY(-100%)}50%{transform:translateY(100%)}}

/* Budgeting / what-if */
.scenario-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}
.scenario-input{padding:14px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border)}
.scenario-input label{display:block;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.scenario-input input[type="range"]{width:100%;accent-color:#7c5cff;height:6px;margin:8px 0}
.scenario-input .value{font-family:'Space Grotesk';font-size:18px;font-weight:600}
.scenario-input .value small{font-size:12px;color:var(--ink-dim);font-weight:400}

.scenario-output{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.scenario-result{padding:18px;border-radius:14px;background:linear-gradient(180deg,rgba(124,92,255,.08),rgba(34,211,238,.02));border:1px solid rgba(124,92,255,.3)}
.scenario-result .label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.scenario-result .val{font-family:'Space Grotesk';font-size:24px;font-weight:600}
.scenario-result .delta{font-size:12px;margin-top:4px}
.scenario-result .delta.up{color:#7cf5b8}
.scenario-result .delta.down{color:#ff9eb8}

/* Unified inbox */
.inbox-row{display:grid;grid-template-columns:36px 1fr 100px 90px;gap:12px;padding:14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:6px;cursor:pointer;transition:background .15s}
.inbox-row:hover{background:rgba(255,255,255,.05)}
.inbox-row.unread{background:linear-gradient(90deg,rgba(124,92,255,.06),rgba(255,255,255,.02));border-color:rgba(124,92,255,.25)}
.inbox-channel-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;font-weight:700;color:#fff}
.inbox-channel-icon.gbp{background:linear-gradient(135deg,#4285f4,#34a853)}
.inbox-channel-icon.ig{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)}
.inbox-channel-icon.fb{background:#1877f2}
.inbox-channel-icon.email{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a}
.inbox-channel-icon.web{background:rgba(154,163,199,.6)}
.inbox-meta{min-width:0;overflow:hidden}
.inbox-sender{font-weight:600;font-size:13px;margin-bottom:2px;display:flex;align-items:center;gap:8px}
.inbox-row.unread .inbox-sender::before{content:"";width:6px;height:6px;border-radius:50%;background:#22d3ee;display:inline-block;flex-shrink:0}
.inbox-preview{font-size:12px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-time{font-size:11px;color:var(--ink-dim);text-align:right}
.inbox-channel-tag{font-size:10px;padding:3px 8px;border-radius:999px;text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.5px}

/* Document storage */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.doc-card{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--border);cursor:pointer;transition:all .2s;text-decoration:none;color:var(--ink);display:block;text-align:center}
.doc-card:hover{transform:translateY(-2px);border-color:rgba(124,92,255,.4)}
.doc-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(34,211,238,.2));display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto 10px}
.doc-name{font-size:13px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-meta{font-size:10px;color:var(--ink-dim)}

.doc-search-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:rgba(0,0,0,.4);border:1px solid var(--border);margin-bottom:14px}
.doc-search-bar input{flex:1;background:none;border:none;color:var(--ink);font-family:inherit;font-size:14px;outline:none}
.doc-search-icon{color:var(--ink-dim);font-size:16px}

/* Legal templates list */
.template-mini{display:grid;grid-template-columns:36px 1fr 100px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-bottom:6px;align-items:center;font-size:13px;cursor:pointer;text-decoration:none;color:var(--ink);transition:background .15s}
.template-mini:hover{background:rgba(255,255,255,.05)}
.template-mini-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(34,211,238,.2));display:flex;align-items:center;justify-content:center;font-size:14px}
.template-mini-name{font-weight:500}
.template-mini-name small{display:block;font-size:11px;color:var(--ink-dim);margin-top:2px;font-weight:400}
.template-mini-action{font-size:11px;color:var(--accent-2);text-align:right;font-weight:500}

/* Custom dashboard tiles */
.custom-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;min-height:200px;padding:14px;border-radius:14px;background:rgba(0,0,0,.2);border:2px dashed var(--border)}
.custom-tile{padding:18px;border-radius:12px;background:linear-gradient(180deg,rgba(124,92,255,.08),rgba(34,211,238,.02));border:1px solid var(--border);cursor:grab;position:relative;transition:all .2s}
.custom-tile:active{cursor:grabbing}
.custom-tile.dragging{opacity:.4}
.custom-tile.drop-target{border-color:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.2)}
.custom-tile .drag-handle{position:absolute;top:8px;right:10px;color:var(--ink-dim);font-size:14px;cursor:grab}
.custom-tile .label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.custom-tile .val{font-family:'Space Grotesk';font-size:24px;font-weight:600}
.custom-tile .sub{font-size:11px;color:var(--ink-dim);margin-top:4px}

.tile-library{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tile-library .chip{cursor:pointer}

/* Daily briefing card */
.briefing-card{padding:24px;border-radius:18px;background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(34,211,238,.06));border:1px solid rgba(124,92,255,.3);position:relative;overflow:hidden}
.briefing-card::before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.3),transparent 70%);filter:blur(30px)}
.briefing-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;position:relative;z-index:2;flex-wrap:wrap;gap:14px}
.briefing-greeting{font-family:'Space Grotesk';font-size:20px;font-weight:600}
.briefing-greeting small{display:block;font-size:12px;color:var(--ink-dim);margin-top:4px;font-weight:400;font-family:'Inter',sans-serif}
.briefing-controls{display:flex;gap:8px;align-items:center}
.briefing-play-btn{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.briefing-play-btn:hover{transform:scale(1.06)}
.briefing-play-btn.playing{background:linear-gradient(135deg,#fb923c,#fbbf24)}
.briefing-body{position:relative;z-index:2;font-size:14px;line-height:1.7;color:var(--ink)}
.briefing-body p{margin-bottom:10px}
.briefing-body b{color:#fff}
.briefing-body .highlight{background:linear-gradient(transparent 60%, rgba(34,211,238,.3) 60%)}

/* Voice control button */
.voice-control{display:flex;gap:10px;align-items:center;padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--border);margin-top:14px}
.voice-mic-btn{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border:none;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;position:relative}
.voice-mic-btn.listening{background:linear-gradient(135deg,#ff5c8a,#ff9eb8);animation:micPulse 1.4s ease-in-out infinite}
@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,92,138,.5)}50%{box-shadow:0 0 0 14px rgba(255,92,138,0)}}
.voice-status{flex:1;font-size:13px;color:var(--ink-dim)}
.voice-status strong{color:var(--ink);display:block;font-size:14px;margin-bottom:2px}

/* Apple Maps + Yellow Pages citation tracker (Solvera) */
.citation-row{display:grid;grid-template-columns:42px 1fr 110px 110px 110px 80px;gap:14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--border);align-items:center;font-size:13px;margin-bottom:6px}
.citation-row.issue{background:rgba(255,92,138,.06);border-color:rgba(255,92,138,.3)}
.citation-row.missing{background:rgba(154,163,199,.06)}
.citation-logo{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:11px;font-family:'Space Grotesk'}
.citation-logo.apple{background:linear-gradient(135deg,#888,#444)}
.citation-logo.yp{background:#ffcc00;color:#000}
.citation-logo.bing{background:#008373}
.citation-logo.facebook{background:#1877f2}
.citation-logo.yelp{background:#d32323}
.citation-logo.foursquare{background:#f94877}
.citation-logo.tripadvisor{background:#34e0a1;color:#000}
.citation-logo.bbb{background:#005a8b}
.citation-status-pill{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}
.citation-status-pill.live{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.4)}
.citation-status-pill.issue{background:rgba(255,92,138,.2);color:#ff9eb8;border:1px solid rgba(255,92,138,.4)}
.citation-status-pill.missing{background:rgba(154,163,199,.2);color:var(--ink-dim);border:1px solid var(--border)}

/* Apple Maps card */
.apple-maps-card{padding:24px;border-radius:16px;background:linear-gradient(135deg,#1a1d2e,#0a0d1a);border:1px solid var(--border);position:relative;overflow:hidden}
.apple-maps-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.apple-maps-logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk';font-weight:600}
.apple-maps-logo-icon{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#444,#1a1a1a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;border:1px solid #666}
.apple-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.apple-stat-mini{padding:12px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid var(--border)}
.apple-stat-mini .label{font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.apple-stat-mini .val{font-family:'Space Grotesk';font-size:20px;font-weight:600}

@media (max-width: 720px){
  .balance-sheet{grid-template-columns:1fr}
  .invoice-history-row{grid-template-columns:1fr 100px;font-size:12px}
  .invoice-history-row > *:nth-child(n+3){display:none}
  .vendor-invoice-row{grid-template-columns:1fr 100px;font-size:12px}
  .vendor-invoice-row > *:nth-child(n+3){display:none}
  .profit-row{grid-template-columns:1fr 80px;font-size:12px}
  .profit-row > *:nth-child(n+3){display:none}
  .po-row{grid-template-columns:1fr 90px;font-size:12px}
  .po-row > *:nth-child(n+3){display:none}
  .expense-row{grid-template-columns:36px 1fr 90px;font-size:12px}
  .expense-row > *:nth-child(n+4){display:none}
  .citation-row{grid-template-columns:42px 1fr 90px;font-size:12px}
  .citation-row > *:nth-child(n+4){display:none}
}

@media (max-width: 480px){
  .wrap{padding:14px 12px}
  nav.top{padding:12px 14px;border-radius:18px}
  .logo{font-size:17px}
  .cta-row{flex-direction:column;width:100%}
  .cta-row .btn{width:100%;justify-content:center}
  .features{grid-template-columns:1fr}
  .footer .foot{flex-direction:column;text-align:center}
  .foot-links{flex-wrap:wrap;justify-content:center}
  .ads-toolbar{flex-direction:column;align-items:stretch}
  .ads-platform-tabs{overflow-x:auto;justify-content:flex-start}
  .ads-summary{grid-template-columns:repeat(2,1fr)}
  .clariva-stat-strip{grid-template-columns:repeat(2,1fr)}
  .solvera-stat-strip{grid-template-columns:repeat(2,1fr)}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .dash-grid{gap:12px}
  .card{padding:18px}
  .breakdown-grid{grid-template-columns:1fr}
  .ticker{gap:18px;font-size:11px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .trends-grid{grid-template-columns:1fr}
  .upload-zone{padding:24px}
  .upload-icon{font-size:32px}
  .ai-advice-stack{grid-template-columns:1fr}
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg-0);color:var(--ink);font-family:'Inter',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{position:relative;min-height:100vh}
a{color:inherit}

/* Animated gradient backdrop */
.bg-orbs{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.55;animation:float 18s ease-in-out infinite}
.orb.a{width:560px;height:560px;background:radial-gradient(circle,#7c5cff 0%,transparent 70%);top:-120px;left:-120px}
.orb.b{width:620px;height:620px;background:radial-gradient(circle,#22d3ee 0%,transparent 70%);top:30%;right:-180px;animation-delay:-6s}
.orb.c{width:520px;height:520px;background:radial-gradient(circle,#ff5cf0 0%,transparent 70%);bottom:-160px;left:30%;animation-delay:-12s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}

#three-canvas{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.9}

.grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.08;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>");
  animation:grainShift .8s steps(4) infinite}
@keyframes grainShift{
  0%{transform:translate(0,0)} 25%{transform:translate(-3%,2%)}
  50%{transform:translate(2%,-3%)} 75%{transform:translate(-1%,-2%)} 100%{transform:translate(0,0)}
}

/* ════════════════════════════════════════════════════════════════════
   CINEMATIC LAYER — cursor light, scanlines, vignette
   ════════════════════════════════════════════════════════════════════ */

/* Cursor-following soft light — adds depth, feels like a film light rig */
.cursor-light{position:fixed;width:600px;height:600px;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(circle, rgba(185,51,255,0.12) 0%, rgba(0,240,255,0.06) 35%, transparent 70%);
  filter:blur(40px);transform:translate(-50%,-50%);transition:opacity .3s;opacity:0;will-change:transform;mix-blend-mode:screen}
body:hover .cursor-light{opacity:1}

/* Vignette overlay — cinematic darkening at edges */
body::after{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.4) 100%)}

/* Scanline overlay — subtle CRT effect */
.scanlines{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.04;
  background-image:repeating-linear-gradient(0deg, transparent 0, transparent 2px, rgba(255,255,255,0.5) 2px, rgba(255,255,255,0.5) 3px)}

.wrap{position:relative;z-index:3;max-width:1200px;margin:0 auto;padding:28px 32px}

/* NAV */
nav.top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));backdrop-filter: blur(20px);
  border-radius:999px;position:sticky;top:18px;z-index:10}
.logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk';font-weight:600;font-size:20px;letter-spacing:.5px;text-decoration:none;color:var(--ink)}
/* CLARIVA aperture mark — pure CSS recreation of the SVG */
.logo-mark{width:32px;height:32px;border-radius:50%;flex-shrink:0;position:relative;
  background:
    radial-gradient(circle at center, #fff 0%, #b933ff 35%, transparent 50%),
    conic-gradient(from -60deg, #b933ff 0deg, #00f0ff 130deg, #ff0080 200deg, transparent 280deg, transparent 360deg);
  box-shadow:0 0 24px rgba(185,51,255,.55), inset 0 0 0 2px rgba(0,0,0,.2);
  mask:radial-gradient(circle, black 38%, transparent 42%, black 47%, black 100%);
  -webkit-mask:radial-gradient(circle, black 38%, transparent 42%, black 47%, black 100%);
  animation:apertureSpin 14s linear infinite}
.logo-mark::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#fff,transparent);transform:translate(-2px,-1.5px) rotate(-30deg);transform-origin:left center;
  box-shadow:0 0 8px rgba(255,255,255,.8)}
@keyframes apertureSpin{to{transform:rotate(360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
nav.top ul{display:flex;list-style:none;gap:28px}
nav.top a{color:var(--ink-dim);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}
nav.top a:hover{color:var(--ink)}
nav.top a.active{color:var(--ink)}
.nav-cta{padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#7c5cff,#22d3ee);
  color:#0a0d1a !important;font-weight:600;font-size:14px;text-decoration:none;transition:transform .2s, box-shadow .2s;
  box-shadow:0 0 24px rgba(124,92,255,.45)}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(124,92,255,.7)}

/* TYPE */
.eyebrow{font-size:12px;color:var(--accent-2);text-transform:uppercase;letter-spacing:2px;font-weight:600;margin-bottom:16px;display:inline-block}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;
  background:var(--glass);border:1px solid var(--border);backdrop-filter:blur(12px);
  font-size:13px;color:var(--ink-dim);margin-bottom:28px}
.pill .dot{width:8px;height:8px;border-radius:50%;background:#22d3ee;box-shadow:0 0 10px #22d3ee;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

h1.h1{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:clamp(44px,7vw,84px);line-height:1.02;letter-spacing:-2px;
  background:linear-gradient(180deg,#ffffff 0%,#9aa3c7 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:24px}
.grad{background:linear-gradient(135deg,#7c5cff 0%,#22d3ee 50%,#ff5cf0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-title{font-family:'Space Grotesk';font-weight:600;font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-1px;margin-bottom:18px}
.section-sub{color:var(--ink-dim);font-size:17px;max-width:600px;line-height:1.6;margin-bottom:50px}
.sub{font-size:clamp(16px,1.5vw,20px);color:var(--ink-dim);max-width:640px;margin:0 auto 40px;line-height:1.6}

/* BUTTONS */
.btn{padding:16px 28px;border-radius:14px;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;
  transition:all .25s;border:none;font-family:inherit;display:inline-flex;align-items:center;gap:8px}
.btn-primary{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;
  box-shadow:0 10px 40px rgba(124,92,255,.4), inset 0 1px 0 rgba(255,255,255,.4)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 50px rgba(124,92,255,.6)}
.btn-ghost{background:var(--glass);color:var(--ink);border:1px solid var(--border);backdrop-filter:blur(10px)}
.btn-ghost:hover{background:var(--glass-strong);border-color:rgba(255,255,255,.25)}
.cta-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* HERO */
header.hero{padding:120px 0 80px;text-align:center;position:relative}

/* SECTION */
section{padding:100px 0;position:relative}

/* CARD GRIDS */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px}
.feature{padding:32px;border-radius:20px;background:var(--glass);border:1px solid var(--border);
  backdrop-filter:blur(20px);transition:all .3s;position:relative;overflow:hidden}
.feature::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}
.feature:hover{transform:translateY(-6px);background:var(--glass-strong);border-color:rgba(124,92,255,.4);
  box-shadow:0 20px 50px rgba(124,92,255,.2)}
.feature-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(34,211,238,.2));border:1px solid var(--border);margin-bottom:20px;font-size:22px}
.feature h3{font-family:'Space Grotesk';font-size:20px;font-weight:600;margin-bottom:10px}
.feature p{color:var(--ink-dim);font-size:14px;line-height:1.6}

/* HERO CARD */
.hero-card{margin:80px auto 0;max-width:920px;height:380px;border-radius:24px;
  background:linear-gradient(135deg,rgba(124,92,255,.15),rgba(34,211,238,.1));
  border:1px solid var(--border);backdrop-filter:blur(20px);
  box-shadow:0 30px 80px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.15);
  position:relative;overflow:hidden;transform-style:preserve-3d;animation:tilt 8s ease-in-out infinite}
@keyframes tilt{0%,100%{transform:perspective(1200px) rotateX(8deg) rotateY(-4deg)}50%{transform:perspective(1200px) rotateX(4deg) rotateY(4deg)}}
.hero-card::before{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 20%, rgba(124,92,255,.4), transparent 50%),
             radial-gradient(circle at 70% 80%, rgba(34,211,238,.3), transparent 50%)}
.hero-card-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:32px}
.dashboard-mock{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:auto}
.stat{background:rgba(0,0,0,.3);border:1px solid var(--border);border-radius:14px;padding:18px;backdrop-filter:blur(10px)}
.stat-label{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.stat-val{font-family:'Space Grotesk';font-size:24px;font-weight:600;color:#fff}
.stat-trend{font-size:11px;color:#22d3ee;margin-top:4px}
.stat-trend.down{color:#ff5c8a}
.mini-chart{display:flex;align-items:flex-end;gap:4px;height:60px;padding:14px;background:rgba(0,0,0,.3);
  border:1px solid var(--border);border-radius:14px}
.bar{flex:1;background:linear-gradient(180deg,#7c5cff,#22d3ee);border-radius:3px;animation:rise 2s ease infinite alternate}
.bar:nth-child(2){animation-delay:.2s}.bar:nth-child(3){animation-delay:.4s}.bar:nth-child(4){animation-delay:.6s}
.bar:nth-child(5){animation-delay:.8s}.bar:nth-child(6){animation-delay:1s}.bar:nth-child(7){animation-delay:1.2s}
@keyframes rise{from{transform:scaleY(.5)}to{transform:scaleY(1)}}

/* ADD-ONS */
.addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;margin-top:50px}
.addon{padding:36px;border-radius:24px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid var(--border);backdrop-filter:blur(20px);transition:transform .3s}
.addon:hover{transform:translateY(-4px)}
.addon.seo::after{content:"";position:absolute;top:-80px;right:-80px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(124,92,255,.4),transparent 70%);filter:blur(40px)}
.addon.insight::after{content:"";position:absolute;top:-80px;right:-80px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.4),transparent 70%);filter:blur(40px)}
.addon-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;position:relative;z-index:2}
.addon-badge{padding:6px 12px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px}
.badge-seo{background:rgba(124,92,255,.2);color:#a594ff;border:1px solid rgba(124,92,255,.4)}
.badge-insight{background:rgba(34,211,238,.2);color:#7ce8f5;border:1px solid rgba(34,211,238,.4)}
.addon h3{font-family:'Space Grotesk';font-size:28px;font-weight:600;margin-bottom:12px;position:relative;z-index:2}
.addon-desc{color:var(--ink-dim);margin-bottom:24px;line-height:1.6;position:relative;z-index:2}
.addon-list{list-style:none;position:relative;z-index:2}
.addon-list li{padding:10px 0;color:var(--ink);font-size:14px;display:flex;align-items:center;gap:10px;
  border-bottom:1px solid rgba(255,255,255,.05)}
.addon-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#7c5cff,#22d3ee);
  flex-shrink:0;box-shadow:0 0 8px rgba(124,92,255,.6)}
.addon-price{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);position:relative;z-index:2;
  font-family:'Space Grotesk';font-size:14px;color:var(--ink-dim)}
.addon-price b{color:#fff;font-size:18px;font-weight:600}
.addon-cta{margin-top:20px;display:inline-flex;padding:12px 22px;border-radius:12px;background:var(--glass-strong);
  border:1px solid var(--border);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;position:relative;z-index:2;transition:all .2s}
.addon-cta:hover{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border-color:transparent}

/* PRICING */
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:50px}
.plan{padding:36px 28px;border-radius:22px;background:var(--glass);border:1px solid var(--border);
  backdrop-filter:blur(20px);position:relative;transition:all .3s}
.plan.featured{background:linear-gradient(180deg,rgba(124,92,255,.15),rgba(34,211,238,.08));
  border-color:rgba(124,92,255,.5);box-shadow:0 20px 60px rgba(124,92,255,.25);transform:scale(1.04)}
.plan-name{font-family:'Space Grotesk';font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-dim);margin-bottom:14px}
.plan-price{font-family:'Space Grotesk';font-size:48px;font-weight:600;line-height:1;margin-bottom:6px}
.plan-price small{font-size:16px;color:var(--ink-dim);font-weight:400}
.plan-billing{font-size:13px;color:var(--ink-dim);margin-bottom:24px}
.plan-list{list-style:none;margin-bottom:28px}
.plan-list li{padding:10px 0;font-size:14px;color:var(--ink-dim);display:flex;gap:10px;align-items:center}
.plan-list li::before{content:"✓";color:#22d3ee;font-weight:bold}
.plan-list li.muted{opacity:.4}
.plan-list li.muted::before{content:"–";color:var(--ink-dim)}
.plan-cta{width:100%;text-align:center;padding:14px;border-radius:12px;border:1px solid var(--border);
  background:var(--glass-strong);color:var(--ink);font-weight:600;text-decoration:none;display:block;transition:all .2s}
.plan.featured .plan-cta{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border:none;
  box-shadow:0 8px 24px rgba(124,92,255,.4)}
.plan-cta:hover{transform:translateY(-1px)}
.badge-popular{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,#7c5cff,#ff5cf0);color:#fff;font-size:11px;font-weight:600;letter-spacing:1px;
  padding:6px 14px;border-radius:999px;text-transform:uppercase}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:50px}
.step{padding:30px;border-radius:18px;background:var(--glass);border:1px solid var(--border);backdrop-filter:blur(20px);position:relative}
.step-num{font-family:'Space Grotesk';font-size:48px;font-weight:600;line-height:1;
  background:linear-gradient(135deg,#7c5cff,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:16px}
.step h4{font-family:'Space Grotesk';font-size:18px;font-weight:600;margin-bottom:8px}
.step p{color:var(--ink-dim);font-size:14px;line-height:1.6}

/* CTA BAND */
.cta-band{margin:60px 0;padding:60px 40px;border-radius:28px;text-align:center;
  background:linear-gradient(135deg,rgba(124,92,255,.2),rgba(34,211,238,.15),rgba(255,92,240,.1));
  border:1px solid var(--border);backdrop-filter:blur(20px);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.08),transparent 60%)}
.cta-band h2{font-family:'Space Grotesk';font-size:clamp(28px,3.5vw,42px);font-weight:600;margin-bottom:14px;position:relative}
.cta-band p{color:var(--ink-dim);margin-bottom:28px;font-size:16px;position:relative}

/* FOOTER */
footer{padding:60px 0 40px;border-top:1px solid var(--border);margin-top:60px;position:relative;z-index:3}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.foot-links{display:flex;gap:24px;list-style:none}
.foot-links a{color:var(--ink-dim);text-decoration:none;font-size:13px}
.foot-copy{color:var(--ink-dim);font-size:13px}

/* REVEAL */
.reveal{opacity:0;transform:translateY(30px);transition:all .8s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* FORMS */
.form-card{max-width:520px;margin:60px auto 0;padding:40px;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid var(--border);backdrop-filter:blur(20px);
  box-shadow:0 30px 80px rgba(0,0,0,.5)}
.form-group{margin-bottom:20px;text-align:left}
.form-group label{display:block;font-size:13px;color:var(--ink-dim);margin-bottom:8px;letter-spacing:.3px}
.form-group input, .form-group select{
  width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--border);
  background:rgba(0,0,0,.3);color:var(--ink);font-family:inherit;font-size:15px;
  outline:none;transition:all .2s}
.form-group input:focus, .form-group select:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px rgba(34,211,238,.2)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.toggle-group{display:flex;flex-direction:column;gap:10px}
.toggle{padding:16px;border-radius:14px;border:1px solid var(--border);background:rgba(0,0,0,.2);
  cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}
.toggle:hover{background:rgba(0,0,0,.35)}
.toggle.on{border-color:var(--accent);background:rgba(124,92,255,.15);box-shadow:0 0 20px rgba(124,92,255,.2)}
.toggle-info h5{font-family:'Space Grotesk';font-size:16px;font-weight:600;margin-bottom:4px}
.toggle-info span{font-size:12px;color:var(--ink-dim)}
.toggle-switch{width:44px;height:24px;border-radius:999px;background:rgba(255,255,255,.15);position:relative;transition:all .2s}
.toggle.on .toggle-switch{background:linear-gradient(135deg,#7c5cff,#22d3ee)}
.toggle-switch::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.toggle.on .toggle-switch::after{transform:translateX(20px)}
.total-row{padding:18px;margin:24px 0;border-radius:14px;background:rgba(0,0,0,.4);border:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center}
.total-row .label{font-size:13px;color:var(--ink-dim);letter-spacing:.5px;text-transform:uppercase}
.total-row .val{font-family:'Space Grotesk';font-size:28px;font-weight:600}
.total-row .val small{font-size:14px;color:var(--ink-dim);font-weight:400}

/* PAGE HERO (smaller for inner pages) */
header.page-hero{padding:80px 0 40px;text-align:center}
header.page-hero h1{font-family:'Space Grotesk';font-size:clamp(40px,5vw,64px);font-weight:600;line-height:1.05;letter-spacing:-1.5px;margin-bottom:20px;
  background:linear-gradient(180deg,#fff,#9aa3c7);-webkit-background-clip:text;background-clip:text;color:transparent}

/* TWO COLUMN */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:60px}
.two-col img, .two-col .col-visual{border-radius:20px}

/* CHIP TABS */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.chip{padding:10px 18px;border-radius:999px;border:1px solid var(--border);background:var(--glass);
  color:var(--ink-dim);font-size:13px;cursor:pointer;transition:all .2s}
.chip:hover{color:var(--ink)}
.chip.active{background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(34,211,238,.2));color:var(--ink);border-color:rgba(124,92,255,.5)}

/* FAQ */
.faq{margin-top:40px}
.faq-item{padding:24px 0;border-bottom:1px solid var(--border);cursor:pointer}
.faq-q{display:flex;justify-content:space-between;align-items:center;font-family:'Space Grotesk';font-size:18px;font-weight:500}
.faq-q .plus{width:28px;height:28px;border-radius:50%;background:var(--glass);display:flex;align-items:center;justify-content:center;
  transition:transform .3s}
.faq-item.open .faq-q .plus{transform:rotate(45deg)}
.faq-a{color:var(--ink-dim);font-size:15px;line-height:1.6;margin-top:0;max-height:0;overflow:hidden;transition:all .3s}
.faq-item.open .faq-a{margin-top:14px;max-height:300px}

/* DASHBOARD */
.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:30px}
.card{background:var(--glass);border:1px solid var(--border);border-radius:18px;padding:24px;backdrop-filter:blur(20px);position:relative;overflow:hidden}
.card h4{font-family:'Space Grotesk';font-size:14px;font-weight:600;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;grid-column:span 12}
.kpi{background:var(--glass);border:1px solid var(--border);border-radius:18px;padding:24px;backdrop-filter:blur(20px)}
.kpi-label{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.kpi-val{font-family:'Space Grotesk';font-size:32px;font-weight:600;margin-bottom:6px}
.kpi-trend{font-size:12px;color:#22d3ee}
.kpi-trend.down{color:#ff5c8a}
.card.tall{grid-column:span 8;min-height:340px}
.card.side{grid-column:span 4;min-height:340px}
.card.full{grid-column:span 12}

/* simple SVG chart styles */
.line-chart{width:100%;height:240px}
.table{width:100%;border-collapse:collapse;margin-top:14px}
.table th, .table td{padding:12px 8px;text-align:left;font-size:13px;border-bottom:1px solid var(--border)}
.table th{color:var(--ink-dim);font-weight:500;text-transform:uppercase;letter-spacing:1px;font-size:11px}
.delta-up{color:#22d3ee}
.delta-down{color:#ff5c8a}

/* TAGS */
.tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.5px}
.tag-purple{background:rgba(124,92,255,.2);color:#a594ff;border:1px solid rgba(124,92,255,.3)}
.tag-cyan{background:rgba(34,211,238,.2);color:#7ce8f5;border:1px solid rgba(34,211,238,.3)}
.tag-pink{background:rgba(255,92,240,.2);color:#ff9ef0;border:1px solid rgba(255,92,240,.3)}
.tag-green{background:rgba(34,211,150,.2);color:#7cf5b8;border:1px solid rgba(34,211,150,.3)}

/* SUCCESS / ALERT */
.success-msg{padding:20px;border-radius:14px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.4);color:#7ce8f5;margin-top:20px}

/* ONBOARDING — multi-step flow */
.onboard-wrap{max-width:680px;margin:40px auto 0}
.progress-bar{display:flex;align-items:center;gap:0;margin-bottom:40px}
.progress-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;cursor:default}
.progress-step .dot-num{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:600;font-size:14px;
  color:var(--ink-dim);transition:all .3s;position:relative;z-index:2}
.progress-step.done .dot-num{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border-color:transparent;
  box-shadow:0 0 16px rgba(124,92,255,.5)}
.progress-step.active .dot-num{background:linear-gradient(135deg,#7c5cff,#22d3ee);color:#0a0d1a;border-color:transparent;
  box-shadow:0 0 24px rgba(124,92,255,.7);transform:scale(1.1)}
.progress-step .label{font-size:11px;color:var(--ink-dim);margin-top:8px;text-transform:uppercase;letter-spacing:.5px;text-align:center}
.progress-step.active .label, .progress-step.done .label{color:var(--ink)}
.progress-step:not(:last-child)::after{content:"";position:absolute;top:18px;left:calc(50% + 18px);right:calc(-50% + 18px);
  height:2px;background:rgba(255,255,255,.08);z-index:1;transition:background .3s}
.progress-step.done:not(:last-child)::after{background:linear-gradient(90deg,#7c5cff,#22d3ee)}

.step-card{padding:44px;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid var(--border);backdrop-filter:blur(20px);
  box-shadow:0 30px 80px rgba(0,0,0,.5);min-height:420px;position:relative}
.step-card h2{font-family:'Space Grotesk';font-size:28px;font-weight:600;margin-bottom:10px;letter-spacing:-.5px}
.step-card .step-sub{color:var(--ink-dim);font-size:15px;margin-bottom:30px;line-height:1.6}
.step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}
.step-nav .btn{padding:12px 24px;font-size:14px}
.btn-back{background:transparent;color:var(--ink-dim);border:none;cursor:pointer;font-size:14px;font-family:inherit;font-weight:500}
.btn-back:hover{color:var(--ink)}

.step-pane{display:none}
.step-pane.active{display:block;animation:fadeIn .35s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Plaid simulator modal */
.plaid-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;padding:20px}
.plaid-modal.open{display:flex;animation:fadeIn .25s ease}
.plaid-window{width:100%;max-width:440px;background:#fff;color:#0a0d1a;border-radius:16px;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.4);font-family:'Inter',sans-serif;animation:modalIn .3s cubic-bezier(.16,1,.3,1)}
@keyframes modalIn{from{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.plaid-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eef0f5}
.plaid-logo{font-weight:700;font-size:18px;color:#000;display:flex;align-items:center;gap:6px}
.plaid-logo::before{content:"";width:14px;height:14px;border-radius:50%;background:#000}
.plaid-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1}
.plaid-body{padding:24px}
.plaid-body h3{font-size:20px;font-weight:600;margin-bottom:8px;color:#000}
.plaid-body p{color:#555;font-size:14px;margin-bottom:20px;line-height:1.5}
.plaid-search{width:100%;padding:12px 14px;border:1px solid #d8dce5;border-radius:10px;font-size:15px;font-family:inherit;color:#000;
  margin-bottom:14px;background:#fff;outline:none}
.plaid-search:focus{border-color:#000}
.plaid-banks{max-height:280px;overflow-y:auto}
.plaid-bank{display:flex;align-items:center;gap:14px;padding:14px 12px;border-radius:10px;cursor:pointer;transition:background .15s;border:none;background:#fff;width:100%;text-align:left;font-family:inherit}
.plaid-bank:hover{background:#f5f6fa}
.plaid-bank-logo{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0}
.plaid-bank-name{font-size:15px;font-weight:500;color:#000}
.plaid-footer{padding:14px 20px;border-top:1px solid #eef0f5;font-size:11px;color:#888;text-align:center}

/* Plaid login (step 2 of plaid modal) */
.plaid-step-login .plaid-bank-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.plaid-field{margin-bottom:14px}
.plaid-field label{display:block;font-size:13px;color:#333;margin-bottom:6px;font-weight:500}
.plaid-field input{width:100%;padding:12px 14px;border:1px solid #d8dce5;border-radius:10px;font-size:15px;font-family:inherit;background:#fff;color:#000;outline:none}
.plaid-field input:focus{border-color:#000}
.plaid-submit{width:100%;padding:14px;border-radius:10px;background:#000;color:#fff;border:none;font-weight:600;cursor:pointer;font-family:inherit;font-size:15px;margin-top:8px}
.plaid-submit:hover{background:#222}
.plaid-spinner{width:48px;height:48px;border:4px solid #eef0f5;border-top-color:#000;border-radius:50%;animation:spin 1s linear infinite;margin:30px auto}
.plaid-success-icon{width:64px;height:64px;border-radius:50%;background:#0a8a4f;display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;margin:20px auto;animation:popIn .4s cubic-bezier(.16,1.4,.4,1)}
@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}

/* Bank connected card on signup */
.bank-card{padding:18px;border-radius:14px;background:linear-gradient(180deg,rgba(34,211,150,.15),rgba(34,211,150,.05));border:1px solid rgba(34,211,150,.4);
  display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.bank-card .bank-info{display:flex;align-items:center;gap:14px}
.bank-card .bank-logo{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}
.bank-card .bank-name{font-weight:600;font-size:15px}
.bank-card .bank-sub{font-size:12px;color:var(--ink-dim);margin-top:2px}
.bank-card .bank-balance{font-family:'Space Grotesk';font-size:20px;font-weight:600;color:#7cf5b8}

/* Payment card */
.card-input-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.cc-preview{padding:24px;border-radius:18px;
  background:linear-gradient(135deg,#1a1d2e,#0a0d1a 60%, #1a1d2e);
  border:1px solid var(--border);position:relative;overflow:hidden;margin-bottom:24px;min-height:180px;
  box-shadow:0 20px 60px rgba(0,0,0,.4)}
.cc-preview::before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(124,92,255,.3),transparent 70%);filter:blur(30px)}
.cc-chip{width:38px;height:28px;border-radius:6px;background:linear-gradient(135deg,#d4b54a,#9c7e2a);margin-bottom:30px;position:relative;z-index:2}
.cc-number{font-family:'Space Grotesk';font-size:22px;letter-spacing:2px;color:#fff;margin-bottom:18px;position:relative;z-index:2}
.cc-meta{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2}
.cc-meta .label{font-size:9px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.cc-meta .val{font-size:14px;color:#fff;text-transform:uppercase}
.cc-brand{position:absolute;top:24px;right:24px;font-family:'Space Grotesk';font-weight:700;color:#fff;font-size:18px;z-index:2}

/* Summary sidebar inside onboarding */
.order-summary{padding:20px;border-radius:14px;background:rgba(0,0,0,.3);border:1px solid var(--border);margin-bottom:24px}
.order-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}
.order-row.total{padding-top:14px;margin-top:6px;border-top:1px solid var(--border);font-family:'Space Grotesk';font-size:18px;font-weight:600}
.order-row .muted{color:var(--ink-dim);font-size:12px}

@media (max-width: 720px){
  nav.top ul{display:none}
  .hero-card{height:auto;padding-bottom:20px}
  .dashboard-mock{grid-template-columns:repeat(2,1fr)}
  .plan.featured{transform:none}
  .form-row{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr;gap:40px}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .card.tall, .card.side{grid-column:span 12}
}
