*{box-sizing:border-box;margin:0;padding:0;}
:root{
  /* ── Liquid Glass Premium — macOS Tahoe Theme ── */
  /* Light Base with subtle gradient */
  --bg:#FFFFFF;
  --bg-solid:#FFFFFF;
  --bg2:#F9FAFB;
  --bg3:#F3F4F6;
  --bg4:#E5E7EB;
  --bg5:#D0D6DD;
  --card:#FFFFFF;

  /* Glass Card Base — Premium frosted glass */
  --glass-bg:rgba(255,255,255,0.65);
  --glass-bg-hover:rgba(255,255,255,0.8);
  --glass-border:rgba(255,255,255,0.5);
  --glass-border-hover:rgba(255,255,255,0.7);
  --glass-border-top:rgba(255,255,255,0.8);
  --glass-highlight:rgba(255,255,255,0.95);
  --glass-shadow:rgba(0,0,0,0.04);

  /* Primary Colors — Refined purple */
  --p:#6B46C1;
  --p2:#5B21B6;
  --p3:rgba(107,70,193,0.12);
  --p4:rgba(107,70,193,0.18);

  /* Accent Colors — Cyan/Teal */
  --accent:#3B82F6;
  --accent2:#2563EB;
  --accent3:rgba(59,130,246,0.12);
  --accent4:rgba(59,130,246,0.18);

  /* Semantic Colors */
  --r:#EF4444;
  --r2:#DC2626;
  --r3:rgba(239,68,68,0.12);
  --n:#6B46C1;
  --n2:#5B21B6;
  --n3:rgba(107,70,193,0.12);
  --g:#10B981;
  --g2:rgba(16,185,129,0.12);
  --secondary:#F97316;
  --gold:#F59E0B;
  --gold2:rgba(245,158,11,0.12);
  --lav:#A78BFA;
  --lav2:rgba(139,92,246,0.12);

  /* Text Colors — Refined hierarchy */
  --txt:#1F2937;
  --txt2:#374151;
  --txt3:#6B7280;
  --txt4:#71717A;

  /* Borders — Subtle and refined */
  --border:rgba(0,0,0,0.06);
  --border2:rgba(0,0,0,0.04);
  --border-light:rgba(255,255,255,0.6);

  /* Shadows — Premium depth */
  --shadow:0 2px 8px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.06);
  --shadow2:0 4px 12px rgba(0,0,0,0.06), 0 12px 32px rgba(0,0,0,0.08);
  --shadow3:0 8px 16px rgba(0,0,0,0.08), 0 16px 48px rgba(0,0,0,0.1);
  --shadow-glow:0 0 32px rgba(139,92,246,0.25);
  --shadow-glow-accent:0 0 32px rgba(6,182,212,0.25);
  --shadow-glow-sm:0 0 16px rgba(139,92,246,0.4);
  --shadow-inner:inset 0 1px 2px rgba(255,255,255,0.8);

  /* Glass Blur — Premium frosted effect */
  --glass-blur:24px;
  --glass-blur-sm:18px;
  --glass-blur-lg:32px;

  /* Radius — Refined curves */
  --rr:12px;
  --radius-sm:8px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:18px;
  --radius-full:9999px;

  /* ── Typography Scale ── */
  --font-display:'Manrope','SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-body:'Inter','SF Pro Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-mono:'SF Mono',Monaco,'Courier New',monospace;

  /* ── Layer Colors ── */
  --layer-l0:#8B5CF6;
  --layer-l1:#6366F1;
  --layer-l2:#06B6D4;
  --layer-l3:#10B981;
  --layer-l4:#F59E0B;
  --layer-l5:#EF4444;
  --layer-l6:#EC4899;

  /* ── Transitions ── */
  --transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);
  --transition-base:0.3s cubic-bezier(0.4,0,0.2,1);
  --transition-slow:0.4s cubic-bezier(0.4,0,0.2,1);
}
html,body{height:100%;background:var(--bg-solid);color:var(--txt);font-family:var(--font-body);overflow-x:hidden;line-height:1.6;}
body{background:var(--bg);}

/* ══════════════════════════════════════════════════════════════════
   LIQUID GLASS PREMIUM — DASHBOARD REDESIGN
   Velo OS (Velo OS)
   ══════════════════════════════════════════════════════════════════ */

/* ── SECTION 1 — SIDEBAR ── */

/* Sidebar Container */
.sidebar {
  width: 240px;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-right: 1px solid var(--border-light);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Logo Area */
.sb-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-inner);
}

.sb-gem {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, var(--p), var(--layer-l1));
  box-shadow: 0 4px 16px rgba(139,92,246,0.4);
}

.sb-nm {
  font-size: 14px;
  font-weight: 700;
  color: var(--txt);
}

.sb-nm-sub {
  font-size: 11px;
  color: var(--txt3);
}

/* Foundation Badge */
#foundation-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 2px solid transparent;
  border-radius: var(--radius-md);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.5)),
                    linear-gradient(135deg, var(--p), var(--layer-l3));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

#foundation-indicator:hover {
  box-shadow: var(--shadow-glow);
  transform: translateY(-1px);
}

#foundation-indicator .foundation-percent {
  background: linear-gradient(135deg, var(--p), var(--layer-l3));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

/* Search Bar */
.sb-search-wrap {
  position: relative;
  margin: 0 12px 16px;
}

.sb-search-ico {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--txt3);
  pointer-events: none;
}

.sb-search {
  width: 100%;
  padding: 10px 12px 10px 36px;
  background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  color: var(--txt);
  font-size: 13px;
  outline: none;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

.sb-search::placeholder {
  color: var(--txt3);
}

.sb-search:focus {
  border-color: var(--p);
  box-shadow: 0 0 0 3px rgba(139,92,246,0.15), var(--shadow);
  background: linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));
}

/* Layer Headers */
.sb-sec {
  padding: 16px 16px 8px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--txt3);
  border-left: 3px solid transparent;
}

.sb-sec.layer-l0 { border-left-color: var(--layer-l0); }
.sb-sec.layer-l1 { border-left-color: var(--layer-l1); }
.sb-sec.layer-l2 { border-left-color: var(--layer-l2); }
.sb-sec.layer-l3 { border-left-color: var(--layer-l3); }
.sb-sec.layer-l4 { border-left-color: var(--layer-l4); }
.sb-sec.layer-l5 { border-left-color: var(--layer-l5); }
.sb-sec.layer-l6 { border-left-color: var(--layer-l6); }

/* Nav Items */
.sb-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  margin: 2px 8px;
  border-radius: var(--radius-md);
  color: var(--txt2);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-base);
  border-left: 3px solid transparent;
}

.sb-nav-item:hover {
  color: var(--txt);
  background: linear-gradient(135deg, rgba(255,255,255,0.5), rgba(255,255,255,0.3));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
}

.sb-nav-item.active {
  background: linear-gradient(135deg, rgba(139,92,246,0.15), rgba(139,92,246,0.08));
  border-left-color: var(--p);
  color: var(--txt);
  font-weight: 600;
  box-shadow: var(--shadow);
}

/* Sub-items */
.sb-sub-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px 8px 32px;
  margin: 1px 8px;
  border-radius: var(--radius-sm);
  color: var(--txt2);
  font-size: 12px;
  font-weight: 400;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.sb-sub-item::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--txt3);
  flex-shrink: 0;
}

.sb-sub-item:hover {
  color: var(--txt);
  background: linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.2));
}

.sb-sub-item:hover::before {
  background: var(--p);
}

.sb-sub-item.active::before {
  background: var(--p);
}

/* Badge Numbers */
.sb-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: linear-gradient(135deg, rgba(139,92,246,0.15), rgba(139,92,246,0.08));
  border: 1px solid rgba(139,92,246,0.3);
  border-radius: var(--radius-full);
  font-size: 10px;
  font-weight: 700;
  color: var(--p);
  margin-left: auto;
  box-shadow: var(--shadow);
}

.sb-badge.layer-l0 { background: linear-gradient(135deg, rgba(139,92,246,0.15), rgba(139,92,246,0.08)); border-color: rgba(139,92,246,0.3); color: var(--layer-l0); }
.sb-badge.layer-l1 { background: linear-gradient(135deg, rgba(99,102,241,0.15), rgba(99,102,241,0.08)); border-color: rgba(99,102,241,0.3); color: var(--layer-l1); }
.sb-badge.layer-l2 { background: linear-gradient(135deg, rgba(6,182,212,0.15), rgba(6,182,212,0.08)); border-color: rgba(6,182,212,0.3); color: var(--layer-l2); }
.sb-badge.layer-l3 { background: linear-gradient(135deg, rgba(16,185,129,0.15), rgba(16,185,129,0.08)); border-color: rgba(16,185,129,0.3); color: var(--layer-l3); }
.sb-badge.layer-l4 { background: linear-gradient(135deg, rgba(245,158,11,0.15), rgba(245,158,11,0.08)); border-color: rgba(245,158,11,0.3); color: var(--layer-l4); }
.sb-badge.layer-l5 { background: linear-gradient(135deg, rgba(239,68,68,0.15), rgba(239,68,68,0.08)); border-color: rgba(239,68,68,0.3); color: var(--layer-l5); }
.sb-badge.layer-l6 { background: linear-gradient(135deg, rgba(139,92,246,0.15), rgba(139,92,246,0.08)); border-color: rgba(139,92,246,0.3); color: var(--layer-l6); }

/* Sidebar Footer */
.sb-foot {
  margin-top: auto;
  padding: 16px;
  border-top: 1px solid var(--border-light);
  background: linear-gradient(135deg, rgba(255,255,255,0.3), rgba(255,255,255,0.1));
}

.sb-prog-lbl {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  color: var(--txt2);
  margin-bottom: 8px;
}

.sb-track {
  height: 6px;
  background: var(--bg3);
  border-radius: var(--radius-full);
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

.sb-fill-g {
  height: 100%;
  background: linear-gradient(90deg, var(--p), var(--layer-l1));
  border-radius: var(--radius-full);
  transition: width 0.5s ease;
  box-shadow: 0 0 8px rgba(139,92,246,0.4);
}

/* ── SECTION 2 — HEADER BAR ── */

/* Header Container */
.topbar {
  height: 56px;
  padding: 0 24px;
  background: linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-bottom: 1px solid var(--border-light);
  box-shadow: var(--shadow);
  display: flex;
  align-items: center;
  gap: 16px;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.topbar::-webkit-scrollbar {
  display: none;
}

/* Back Button */
.topbar .btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-full);
  color: var(--txt);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

.topbar .btn:hover {
  background: linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));
  border-color: var(--border);
  transform: translateY(-1px);
  box-shadow: var(--shadow2);
}

/* Title Area */
.tb-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--txt);
  letter-spacing: -0.3px;
}

.tb-sub {
  font-size: 12px;
  color: var(--txt3);
  margin-top: 2px;
}

/* Industry Pill */
#vertical-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-full);
  font-size: 12px;
  font-weight: 600;
  color: var(--txt);
  cursor: pointer;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

#vertical-badge:hover {
  border-color: var(--p);
  box-shadow: 0 0 12px rgba(139,92,246,0.3);
  transform: translateY(-1px);
}

/* Client Switcher */
.client-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: linear-gradient(135deg, rgba(139,92,246,0.12), rgba(139,92,246,0.06));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid rgba(139,92,246,0.3);
  border-radius: var(--radius-full);
  color: var(--p);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

.client-switcher:hover {
  background: linear-gradient(135deg, rgba(139,92,246,0.18), rgba(139,92,246,0.1));
  border-color: rgba(139,92,246,0.5);
  box-shadow: 0 0 12px rgba(139,92,246,0.3);
  transform: translateY(-1px);
}

.client-switcher::after {
  content: '▼';
  font-size: 8px;
  margin-left: 4px;
  opacity: 0.7;
}

/* ENTERPRISE Badge */
.enterprise-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  background: linear-gradient(135deg, var(--p), var(--accent));
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  box-shadow: var(--shadow-glow);
}

/* User Avatar */
.auth-user-chip,
#user-avatar-chip {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background-image: linear-gradient(135deg, var(--p), var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  cursor: pointer;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

.auth-user-chip:hover,
#user-avatar-chip:hover {
  box-shadow: 0 0 16px rgba(139,92,246,0.4);
  transform: translateY(-1px);
}

/* Avatar Image Styles */
#user-avatar-chip-img,
#pm-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

#user-avatar-chip-text,
#pm-avatar-text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* Profile Menu Avatar */
#pm-avatar {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

#pm-avatar:hover {
  opacity: 0.9;
}

/* ── Shared UI Icon Styles ── */
.ui-label-with-icon{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.ui-svg-icon{
  display:block;
  flex-shrink:0;
}
.ui-svg-icon-inline{
  width:1em;
  height:1em;
}
.cc-ico .ui-svg-icon{
  width:22px;
  height:22px;
}
.ph-ico .ui-svg-icon{
  width:20px;
  height:20px;
}
.ui-avatar-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

/* ── PROFILE PAGE STYLES ── */
.profile-page-overlay {
  position: fixed; inset: 0; z-index: 2000;
  background:
    radial-gradient(circle at top left, rgba(15,109,128,.09), transparent 28%),
    radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 24%),
    linear-gradient(180deg, var(--bg2), var(--bg));
  overflow-y: auto;
  display: none;
}
.profile-page-overlay.open { display: block; }
.profile-page-shell{
  min-height:100%;
  padding-bottom:64px;
}
.profile-page-header {
  position: sticky; top: 0; z-index: 12;
  max-width: 1160px;
  margin: 0 auto;
  padding: 22px 24px 18px;
  display:flex;
  align-items:center;
  gap:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.profile-page-back {
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--border-light);
  background:rgba(255,255,255,.7);
  font-size: 13px; font-weight: 700;
  color: var(--txt2); cursor: pointer;
  font-family: inherit;
  white-space:nowrap;
  position:relative;
  z-index:1;
  pointer-events:auto;
  touch-action:manipulation;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
}
.profile-page-back:hover {
  color: var(--txt);
  border-color:var(--border);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.profile-page-heading{flex:1;min-width:0;}
.profile-page-title {
  font-size: 24px; font-weight: 900;
  color: var(--txt);
  letter-spacing:-.03em;
}
.profile-page-subtitle{
  font-size:12.5px;
  color:var(--txt3);
  margin-top:5px;
}
.profile-page-save {
  appearance:none;
  -webkit-appearance:none;
  padding: 10px 16px;
  background: linear-gradient(135deg, #0F6D80, #2563EB);
  color: #fff; border: none; border-radius: 14px;
  font-size: 13px; font-weight: 700; cursor: pointer;
  font-family: inherit; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease;
  box-shadow:0 12px 28px rgba(37,99,235,.18);
  white-space:nowrap;
  position:relative;
  z-index:1;
  pointer-events:auto;
  touch-action:manipulation;
}
.profile-page-save:hover { opacity: 0.96; transform:translateY(-1px); }
.profile-page-save:disabled { opacity: 0.5; cursor: not-allowed; }

.profile-tabs {
  display:flex;
  gap:8px;
  max-width:1160px;
  margin:0 auto;
  padding:0 24px 18px;
  position: sticky; top: 96px; z-index: 11;
  overflow-x: auto; scrollbar-width: none;
  background:transparent;
}
.profile-tabs::-webkit-scrollbar { display: none; }
.profile-tab {
  appearance:none;
  -webkit-appearance:none;
  padding: 11px 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--txt3);
  cursor: pointer;
  border:1px solid var(--border-light);
  border-radius:999px;
  white-space: nowrap;
  transition: all .2s;
  background:rgba(255,255,255,.64);
  font-family: inherit;
  position:relative;
  z-index:1;
  pointer-events:auto;
  touch-action:manipulation;
}
.profile-tab:hover { color: var(--txt2); border-color:var(--border); }
.profile-tab.active {
  color: #fff;
  border-color:transparent;
  background:linear-gradient(135deg, #0F6D80, #2563EB);
  box-shadow:0 10px 22px rgba(15,109,128,.16);
}
.profile-tab:active,
.profile-page-back:active,
.profile-page-save:active{
  transform:translateY(0) scale(.985);
}
.profile-tab-content {
  max-width: 1160px;
  margin: 0 auto;
  padding: 6px 24px 96px;
  position:relative;
  z-index:1;
}
.pp-layout-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.pp-layout-grid-profile{
  grid-template-columns:340px minmax(0,1fr);
}
.pp-main-column{
  display:grid;
  gap:20px;
}
.profile-section,
.pp-plan-card,
.pp-danger-zone,
.pp-info-card{
  margin:0;
}
.pp-card,
.pp-plan-card,
.pp-danger-zone{
  background:linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,255,255,.68));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--border-light);
  border-radius:24px;
  padding:24px;
  box-shadow:0 18px 44px rgba(15,23,42,.06);
}
.pp-card-full{
  grid-column:1 / -1;
}
.pp-card-eyebrow {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #0F6D80;
  margin-bottom: 12px;
}
.profile-section-title {
  font-size: 17px;
  font-weight: 800;
  color: var(--txt);
  margin-bottom: 16px;
  text-transform:none;
  letter-spacing:-.02em;
}
.profile-field { margin-bottom: 16px; }
.profile-field label {
  display: block; font-size: 12px;
  font-weight: 700; color: var(--txt2);
  margin-bottom: 7px;
}
.profile-field input[type="text"],
.profile-field input[type="email"],
.profile-field select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  font-family: inherit; font-size: 13px;
  color: var(--txt); outline: none;
  box-sizing:border-box;
}
.profile-field input[type="text"]:focus,
.profile-field input[type="email"]:focus,
.profile-field select:focus {
  border-color: #0F6D80;
  box-shadow:0 0 0 4px rgba(15,109,128,.1);
}
.profile-field input[type="text"]:disabled,
.profile-field input[type="email"]:disabled {
  background: var(--bg2); color: var(--txt3);
  cursor: not-allowed;
}
.profile-field small {
  display: block; font-size: 11px;
  color: var(--txt3); margin-top: 4px;
}

.pp-identity-top{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.pp-photo-stack{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:20px;
  padding:16px 18px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(15,109,128,.07), rgba(37,99,235,.05));
  border:1px solid rgba(37,99,235,.12);
}
.pp-photo-copy{
  min-width:0;
}
.pp-photo-title{
  font-size:16px;
  font-weight:800;
  color:var(--txt);
  letter-spacing:-.02em;
}
.pp-photo-help{
  font-size:12px;
  line-height:1.6;
  color:var(--txt3);
  margin-top:6px;
}
.pp-photo-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  font-size:12px;
  font-weight:700;
  color:#2563EB;
}
.pp-identity-copy{min-width:0;}
.pp-identity-name{
  font-size:24px;
  font-weight:900;
  color:var(--txt);
  letter-spacing:-.03em;
}
.pp-identity-email{
  font-size:13px;
  color:var(--txt3);
  margin-top:5px;
  word-break:break-word;
}
.pp-meta-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.pp-meta-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  color:var(--txt2);
  background:rgba(255,255,255,.7);
  border:1px solid var(--border-light);
}
.pp-action-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.pp-secondary-btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--border-light);
  background:rgba(255,255,255,.76);
  color:var(--txt2);
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
  font-family:inherit;
  position:relative;
  z-index:1;
  pointer-events:auto;
  touch-action:manipulation;
}
.pp-secondary-btn:hover{
  border-color:var(--border);
  color:var(--txt);
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.pp-secondary-btn.danger{
  color:var(--r);
  border-color:rgba(239,68,68,.18);
}
.pp-secondary-btn:active{
  transform:translateY(0) scale(.985);
}
.pp-subsection-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.pp-subsection-title{
  font-size:13px;
  font-weight:800;
  color:var(--txt);
}
.pp-subsection-text{
  font-size:11.5px;
  color:var(--txt3);
  margin-top:4px;
}
.pp-avatar-style-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.pp-avatar-style-option,
.pm-avatar-style-option{
  width:100%;
  text-align:left;
  border:1px solid var(--border-light);
  border-radius:18px;
  background:rgba(255,255,255,.7);
  font-family:inherit;
  cursor:pointer;
  transition:all .2s;
}
.pp-avatar-style-option{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
}
.pm-avatar-style-option{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
}
.pp-avatar-style-option:hover,
.pm-avatar-style-option:hover{
  border-color:var(--border);
  transform:translateY(-1px);
}
.pp-avatar-style-option.selected,
.pm-avatar-style-option.selected{
  border-color:#2563EB;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.pp-avatar-style-icon,
.pm-avatar-style-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:var(--bg3);
  color:var(--txt2);
}
.pp-avatar-style-icon{
  width:44px;
  height:44px;
  border-radius:14px;
}
.pm-avatar-style-icon{
  width:36px;
  height:36px;
  border-radius:12px;
}
.pp-avatar-style-option.selected .pp-avatar-style-icon,
.pm-avatar-style-option.selected .pm-avatar-style-icon{
  background:rgba(37,99,235,.1);
  color:#2563EB;
}
.pp-avatar-style-name,
.pm-avatar-style-name{
  font-size:12px;
  font-weight:800;
  color:var(--txt);
}
.pp-avatar-style-sub,
.pm-avatar-style-sub{
  font-size:10.5px;
  color:var(--txt3);
  margin-top:3px;
}

.pp-toggle-group {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.pp-toggle {
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1.5px solid var(--border2);
  background: rgba(255,255,255,.74);
  font-size: 12px;
  font-weight: 700; color: var(--txt2);
  cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
  font-family: inherit;
  position:relative;
  z-index:1;
  pointer-events:auto;
  touch-action:manipulation;
}
.pp-toggle:hover {
  border-color: var(--border);
  color:var(--txt);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.pp-toggle.active {
  background: rgba(37,99,235,.1);
  border-color: #2563EB;
  color: #2563EB;
  box-shadow:0 0 0 3px rgba(37,99,235,.12), 0 10px 24px rgba(37,99,235,.08);
}
.pp-toggle:active{
  transform:translateY(0) scale(.985);
}

.pp-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.pp-mode-card {
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  background: rgba(255,255,255,.74);
  border: 1.5px solid var(--border);
  border-radius: 20px;
  padding: 16px;
  cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  text-align: left;
  font-family:inherit;
  position:relative;
  z-index:1;
  pointer-events:auto;
  touch-action:manipulation;
}
.pp-mode-card:hover {
  border-color: var(--border2);
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(15,23,42,.08);
}
.pp-mode-card.active {
  border-color:#2563EB;
  background:linear-gradient(135deg, rgba(37,99,235,.08), rgba(15,109,128,.06));
  box-shadow:0 0 0 3px rgba(37,99,235,.12), 0 14px 30px rgba(37,99,235,.10);
}
.pp-mode-card.active .pp-mode-name{
  color:#1D4ED8;
}
.pp-mode-card:active{
  transform:translateY(0) scale(.985);
}
.pp-mode-icon {
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg3);
  color:#2563EB;
  margin-bottom: 12px;
}
.pp-mode-name { font-size: 13px; font-weight: 700; color: var(--txt); }
.pp-mode-desc { font-size: 11px; color: var(--txt3); margin-top: 6px; line-height:1.5; }

.pp-credits-bar {
  height: 8px; background: var(--bg4);
  border-radius: 10px; overflow: hidden;
  margin: 8px 0;
}
.pp-credits-fill {
  height: 100%; border-radius: 10px;
  transition: width .5s;
}
.pp-credits-fill.green { background: var(--g); }
.pp-credits-fill.yellow { background: var(--gold); }
.pp-credits-fill.red { background: var(--r); }

.pp-plan-card {
  padding:24px;
}
.pp-plan-name {
  font-size: 20px; font-weight: 800;
  color: var(--txt); margin-bottom: 4px;
}
.pp-plan-badge {
  display: inline-flex;
  align-items:center;
  padding: 6px 12px;
  border-radius: 999px; font-size: 11px;
  font-weight: 700; background: rgba(15,109,128,.1);
  color: #0F6D80; margin-bottom: 12px;
}
.pp-plan-row {
  display: flex; justify-content: space-between;
  align-items: center; padding: 10px 0;
  border-bottom: 1px solid var(--border2);
  font-size: 13px;
}
.pp-plan-row:last-child { border-bottom: none; }
.pp-plan-label { color: var(--txt2); }
.pp-plan-value { font-weight: 600; color: var(--txt); }

.pp-danger-zone {
  border: 1px solid rgba(232,68,53,.25);
  overflow: hidden;
  grid-column:1 / -1;
}
.pp-danger-toggle {
  padding: 16px 18px; background: rgba(239,68,68,.08);
  font-size: 13px; font-weight: 700;
  color: var(--r); cursor: pointer;
  display: flex; align-items: center;
  justify-content: space-between;
}
.pp-danger-toggle:hover { background: rgba(232,68,53,.15); }
.pp-danger-body {
  padding: 16px; display: none;
  gap: 10px; flex-direction: column;
}
.pp-danger-body.open { display: flex; }
.pp-danger-btn {
  padding: 10px 16px; border-radius: 8px;
  font-size: 13px; font-weight: 600;
  cursor: pointer; font-family: inherit;
  transition: all .2s;
}
.pp-danger-btn.signout {
  background: var(--r3); color: var(--r);
  border: 1px solid rgba(232,68,53,.3);
}
.pp-danger-btn.signout:hover { background: rgba(232,68,53,.2); }
.pp-danger-btn.delete {
  background: var(--r); color: #fff;
  border: none;
}
.pp-danger-btn.delete:hover { opacity: 0.9; }

.pp-avatar-section {
  display: none;
}
.pp-avatar-large {
  width: 84px;
  height: 84px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0F6D80, #2563EB);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  overflow: hidden;
  position: relative;
  box-shadow:0 16px 32px rgba(37,99,235,.18);
}
.pp-avatar-large-action{
  cursor:pointer;
  border:2px solid rgba(255,255,255,.5);
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.pp-avatar-large-action:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 36px rgba(37,99,235,.24);
  border-color:rgba(37,99,235,.22);
}
.pp-avatar-large img {
  width: 100%; height: 100%;
  object-fit: cover; border-radius: inherit;
}
.pp-avatar-glyph{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#fff;
}

.pp-info-card {
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:linear-gradient(135deg, rgba(15,109,128,.07), rgba(37,99,235,.05));
  border:1px solid rgba(37,99,235,.12);
  padding: 16px 18px;
  border-radius: 18px;
  font-size: 12px; color: var(--txt2);
  line-height: 1.5;
}
.pp-info-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(37,99,235,.1);
  color:#2563EB;
  flex-shrink:0;
}

.pp-readonly-row {
  display: flex; justify-content: space-between;
  align-items: center; padding: 12px 0;
  border-bottom: 1px solid var(--border2);
  gap:16px;
}
.pp-readonly-row:last-child { border-bottom: none; }
.pp-readonly-label {
  font-size: 12px; color: var(--txt3);
}
.pp-readonly-value {
  font-size: 13px; font-weight: 600;
  color: var(--txt); display: flex;
  align-items: center; gap: 6px;
}
.pp-copy-btn {
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 6px 10px; border-radius: 10px;
  background: rgba(255,255,255,.7);
  border: 1px solid var(--border);
  font-size: 11px; cursor: pointer;
  font-family: inherit; color: var(--txt2);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  pointer-events:auto;
  touch-action:manipulation;
}
.pp-copy-btn:hover {
  background: var(--bg3);
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.pp-copy-btn:active{
  transform:translateY(0) scale(.985);
}

.pp-upgrade-btn {
  appearance:none;
  -webkit-appearance:none;
  padding: 9px 14px; background: linear-gradient(135deg, #0F6D80, #2563EB);
  color: #fff; border: none; border-radius: 8px;
  font-size: 13px; font-weight: 700; cursor: pointer;
  font-family: inherit; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  pointer-events:auto;
  touch-action:manipulation;
}
.pp-upgrade-btn:hover {
  opacity: 0.94;
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(37,99,235,.18);
}
.pp-upgrade-btn:active{
  transform:translateY(0) scale(.985);
}

.profile-page-back:focus-visible,
.profile-page-save:focus-visible,
.profile-tab:focus-visible,
.pp-secondary-btn:focus-visible,
.pp-toggle:focus-visible,
.pp-mode-card:focus-visible,
.pp-copy-btn:focus-visible,
.pp-upgrade-btn:focus-visible,
.pp-danger-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(37,99,235,.16), 0 0 0 6px rgba(15,109,128,.12);
}

/* Mobile responsive */
@media (max-width: 900px) {
  .pp-layout-grid,
  .pp-layout-grid-profile,
  .pp-mode-grid{
    grid-template-columns:1fr;
  }
  .profile-page-header{
    padding:16px 16px 14px;
    flex-wrap:wrap;
  }
  .profile-tabs{
    top:114px;
    padding:0 16px 16px;
  }
  .profile-tab-content{
    padding:6px 16px 88px;
  }
}
@media (max-width: 600px) {
  .profile-page-title{font-size:20px;}
  .profile-page-subtitle{font-size:11.5px;}
  .profile-page-save,
  .profile-page-back{
    width:100%;
  }
  .profile-tabs{
    top:150px;
  }
  .pp-card,
  .pp-plan-card,
  .pp-danger-zone{
    padding:18px;
    border-radius:20px;
  }
  .pp-identity-top{
    align-items:flex-start;
  }
  .pp-avatar-style-grid{
    grid-template-columns:1fr;
  }
  .pp-readonly-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .pp-photo-stack{
    flex-direction:column;
    align-items:flex-start;
  }
}

body.dark .profile-page-header,
body.dark-mode .profile-page-header{
  background:linear-gradient(180deg, rgba(8,14,26,.96), rgba(10,16,28,.84));
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.dark .profile-page-overlay,
body.dark-mode .profile-page-overlay{
  background:
    radial-gradient(circle at top left, rgba(15,109,128,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(37,99,235,.16), transparent 26%),
    linear-gradient(180deg, #0a1220, #101827 52%, #0f172a 100%);
}
body.dark .profile-tabs,
body.dark-mode .profile-tabs{
  background:linear-gradient(180deg, rgba(8,14,26,.88), rgba(8,14,26,0));
}
body.dark .profile-tab,
body.dark-mode .profile-tab,
body.dark .pp-card,
body.dark .pp-plan-card,
body.dark .pp-danger-zone,
body.dark .pp-secondary-btn,
body.dark .pp-toggle,
body.dark .pp-avatar-style-option,
body.dark .pm-avatar-style-option,
body.dark-mode .profile-tab,
body.dark-mode .pp-card,
body.dark-mode .pp-plan-card,
body.dark-mode .pp-danger-zone,
body.dark-mode .pp-secondary-btn,
body.dark-mode .pp-toggle,
body.dark-mode .pp-avatar-style-option,
body.dark-mode .pm-avatar-style-option{
  background:linear-gradient(180deg, rgba(16,24,39,.92), rgba(15,23,42,.84));
  border-color:rgba(148,163,184,.14);
  box-shadow:0 18px 44px rgba(2,6,23,.24);
}
body.dark .pp-avatar-style-icon,
body.dark .pm-avatar-style-icon,
body.dark-mode .pp-avatar-style-icon,
body.dark-mode .pm-avatar-style-icon{
  background:rgba(255,255,255,.07);
}
body.dark .profile-page-back,
body.dark .profile-field input[type="text"],
body.dark .profile-field input[type="email"],
body.dark .profile-field select,
body.dark-mode .profile-page-back,
body.dark-mode .profile-field input[type="text"],
body.dark-mode .profile-field input[type="email"],
body.dark-mode .profile-field select{
  background:rgba(15,23,42,.82);
  border-color:rgba(148,163,184,.16);
  color:#E5EDF8;
}
body.dark .profile-field input[type="text"]:focus,
body.dark .profile-field input[type="email"]:focus,
body.dark .profile-field select:focus,
body.dark-mode .profile-field input[type="text"]:focus,
body.dark-mode .profile-field input[type="email"]:focus,
body.dark-mode .profile-field select:focus{
  border-color:#38BDF8;
  box-shadow:0 0 0 4px rgba(56,189,248,.14);
}
body.dark .pp-meta-pill,
body.dark-mode .pp-meta-pill{
  background:rgba(255,255,255,.05);
  border-color:rgba(148,163,184,.14);
}
body.dark .pp-photo-stack,
body.dark-mode .pp-photo-stack{
  background:linear-gradient(135deg, rgba(15,109,128,.14), rgba(37,99,235,.1));
  border-color:rgba(37,99,235,.18);
}
body.dark .pp-info-card,
body.dark-mode .pp-info-card{
  background:linear-gradient(135deg, rgba(15,109,128,.14), rgba(37,99,235,.1));
  border-color:rgba(37,99,235,.18);
}
body.dark .profile-tab.active,
body.dark-mode .profile-tab.active{
  box-shadow:0 16px 32px rgba(37,99,235,.26);
}
body.dark .pp-card-eyebrow,
body.dark-mode .pp-card-eyebrow{
  color:#5EEAD4;
}
body.dark .pp-identity-email,
body.dark .profile-field small,
body.dark-mode .pp-identity-email,
body.dark-mode .profile-field small{
  color:#94A3B8;
}

/* ── SECTION 3 — KPI CARDS ROW ── */

/* KPI Cards Container */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

/* KPI Card */
.kpi-card {
  background: linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--border-light);
  border-top: 1px solid var(--glass-border-top);
  border-radius: var(--radius-xl);
  padding: 20px;
  box-shadow: var(--shadow);
  transition: all var(--transition-base);
  position: relative;
  overflow: hidden;
}

.kpi-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--card-color, var(--p));
  opacity: 0.8;
}

.kpi-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow2);
  border-color: var(--border);
}

/* KPI Card Icon */
.kpi-card-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-bottom: 12px;
  background: var(--icon-bg, rgba(139,92,246,0.12));
  box-shadow: 0 0 16px var(--icon-glow, rgba(139,92,246,0.25));
}

/* KPI Card Colors */
.kpi-card.courses { --card-color: var(--layer-l0); --icon-bg: rgba(139,92,246,0.12); --icon-glow: rgba(139,92,246,0.25); }
.kpi-card.enrollments { --card-color: var(--layer-l2); --icon-bg: rgba(6,182,212,0.12); --icon-glow: rgba(6,182,212,0.25); }
.kpi-card.tests { --card-color: var(--layer-l3); --icon-bg: rgba(16,185,129,0.12); --icon-glow: rgba(16,185,129,0.25); }
.kpi-card.roadmap { --card-color: var(--layer-l4); --icon-bg: rgba(245,158,11,0.12); --icon-glow: rgba(245,158,11,0.25); }
.kpi-card.proof { --card-color: var(--layer-l5); --icon-bg: rgba(239,68,68,0.12); --icon-glow: rgba(239,68,68,0.25); }

/* KPI Card Value */
.kpi-card-value {
  font-size: 32px;
  font-weight: 800;
  background: linear-gradient(135deg, var(--card-color, var(--p)), var(--card-color-light, var(--lav)));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 4px;
  line-height: 1;
}

/* KPI Card Label */
.kpi-card-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--txt3);
  margin-bottom: 4px;
}

/* KPI Card Sub-label */
.kpi-card-sub {
  font-size: 12px;
  color: var(--txt2);
}

/* ── SECTION 4 — CLIENT NAME + ACTION BUTTONS ── */

/* Client Name Section */
.client-header {
  margin-bottom: 24px;
}

.client-name {
  font-size: 28px;
  font-weight: 800;
  color: var(--txt);
  text-shadow: 0 0 40px rgba(139,92,246,0.15);
  margin-bottom: 8px;
  letter-spacing: -0.5px;
}

.client-sub {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-full);
  font-size: 12px;
  color: var(--txt2);
  font-weight: 500;
  box-shadow: var(--shadow);
}

/* Action Buttons Container */
.action-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

/* Generate Full OS Button (Primary) */
.btn-primary-generate {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: linear-gradient(135deg, var(--p) 0%, var(--layer-l1) 100%);
  border: none;
  border-radius: var(--radius-md);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(139,92,246,0.5);
  transition: all var(--transition-base);
  position: relative;
  overflow: hidden;
}

.btn-primary-generate::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,0.2), transparent);
  pointer-events: none;
}

.btn-primary-generate:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(139,92,246,0.6);
}

.btn-primary-generate:active {
  transform: translateY(0);
}

/* Edit Fingerprint Button (Ghost Glass) */
.btn-ghost-glass {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  color: var(--txt);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

.btn-ghost-glass:hover {
  background: linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));
  border-color: var(--border);
  transform: translateY(-1px);
  box-shadow: var(--shadow2);
}

/* Courses Button (Accent Glass) */
.btn-accent-glass {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: linear-gradient(135deg, rgba(6,182,212,0.12), rgba(6,182,212,0.06));
  backdrop-filter: var(--glass-blur-sm);
  -webkit-backdrop-filter: var(--glass-blur-sm);
  border: 1px solid rgba(6,182,212,0.3);
  border-radius: var(--radius-md);
  color: var(--accent);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-base);
  box-shadow: var(--shadow);
}

.btn-accent-glass:hover {
  background: linear-gradient(135deg, rgba(6,182,212,0.18), rgba(6,182,212,0.1));
  border-color: rgba(6,182,212,0.5);
  box-shadow: 0 0 12px rgba(6,182,212,0.3);
  transform: translateY(-1px);
}

/* ── MOBILE RESPONSIVE ── */

@media (max-width: 768px) {
  /* Sidebar */
  .sidebar {
    width: 100%;
    position: fixed;
    left: -100%;
    top: 0;
    z-index: 1000;
    transition: left 0.3s ease;
  }

  .sidebar.open {
    left: 0;
  }

  /* Header */
  .topbar {
    padding: 0 16px;
    height: 52px;
  }

  .tb-title {
    font-size: 16px;
  }

  .tb-sub {
    font-size: 11px;
  }

  /* KPI Cards */
  .kpi-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .kpi-card {
    padding: 16px;
  }

  .kpi-card-value {
    font-size: 24px;
  }

  /* Client Header */
  .client-name {
    font-size: 22px;
  }

  /* Action Buttons */
  .action-buttons {
    flex-direction: column;
  }

  .btn-primary-generate,
  .btn-ghost-glass,
  .btn-accent-glass {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  /* KPI Cards */
  .kpi-grid {
    grid-template-columns: 1fr;
  }

  /* User Avatar */
  .auth-user-chip,
  #user-avatar-chip {
    width: 32px;
    height: 32px;
    font-size: 11px;
  }
}

/* ══════════════════════════════════════════════════════════════════
   Velo TYPOGRAPHY HIERARCHY — 4-Level System  v1.0
   Level 1 — Page Title   (one per screen)
   Level 2 — Section Header (major sections)
   Level 3 — Card Title / Field Label
   Level 4 — Metadata / Helper text
   ══════════════════════════════════════════════════════════════════ */

/* LEVEL 1 — Page Title */
.typo-l1,
.ai-out-title,
.sb-nm,
.ph-title,
.tb-title {
  font-family: var(--font-display) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--txt) !important;
  letter-spacing: -0.3px !important;
  line-height: 1.2 !important;
}
/* Topbar title is slightly smaller — override to 17px */
.tb-title { font-size: 17px !important; }
/* Sidebar client name is smaller context */
.sb-nm { font-size: 14px !important; }

/* LEVEL 2 — Section Header */
.typo-l2,
.card-hd {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--txt) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  border-left: 2px solid var(--lav) !important;
  padding-left: 8px !important;
}
/* card-hd keeps its flex row — just add indent via padding-left */
.card-hd {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
  /* Override uppercase for ones that use emoji+full sentence */
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* LEVEL 3 — Card Title / Field Label */
.typo-l3,
.fp-kpi-label,
.fl {
  font-family: var(--font-body) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--txt2) !important;
  line-height: 1.2 !important;
}

/* LEVEL 4 — Metadata / Helper text */
.typo-l4,
.fp-kpi-bench,
.ai-out-sub,
.ph-sub,
.sb-nm-sub,
.tb-sub {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  color: var(--txt4) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

/* Headings in AI rich body use display font (Level 1 intent) */
.ai-rich-body h2 {
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.2px !important;
}
/* Body text global line-height */
p, .ins-body, .ai-rich-body, .card-sub, .wizard-step-sub { line-height: 1.6; }
/* Mono line-height */
.font-mono, pre, code, .ai-rich-body code { line-height: 1.4; }
::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--bg3);}
::-webkit-scrollbar-thumb{background:var(--txt4);border-radius:10px;}

.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .35s,transform .35s,visibility .35s;z-index:10;background:var(--bg);overflow:hidden;}
.screen.hidden{opacity:0;pointer-events:none;transform:scale(.98);visibility:hidden;}
.back-btn{position:fixed;top:18px;left:236px;display:none;align-items:center;gap:7px;padding:8px 16px;border-radius:30px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));color:var(--txt3);cursor:pointer;font-size:13px;font-family:inherit;transition:all .3s ease;z-index:100;box-shadow:var(--shadow);}
.back-btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-1px);}
.back-btn.vis{display:none;}
/* ── TOAST SYSTEM v2 ── */
#toast-stack{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;max-width:340px;}
.toast2{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;font-size:13px;font-family:'Inter',sans-serif;font-weight:500;color:var(--txt);background:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--border-light);border-left-width:3px;box-shadow:0 8px 28px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);pointer-events:all;transform:translateX(120%);transition:transform .28s cubic-bezier(.22,.68,0,1.2),opacity .28s ease;opacity:0;will-change:transform;}
.toast2.t-in{transform:translateX(0);opacity:1;}
.toast2.t-out{transform:translateX(120%);opacity:0;transition:transform .22s ease-in,opacity .22s ease-in;}
.toast2.t-success{border-left-color:var(--g);}
.toast2.t-info{border-left-color:var(--p);}
.toast2.t-warning{border-left-color:var(--gold);}
.toast2.t-error{border-left-color:var(--r);}
.toast2-icon{font-size:15px;line-height:1;flex-shrink:0;margin-top:1px;}
.toast2-body{flex:1;min-width:0;}
.toast2-msg{line-height:1.45;word-break:break-word;}
.toast2-dismiss{margin-top:7px;padding:3px 10px;border-radius:5px;font-size:11px;font-weight:700;border:1px solid rgba(239,68,68,.2);background:linear-gradient(135deg, rgba(239,68,68,0.1), rgba(239,68,68,0.05));color:var(--r);cursor:pointer;font-family:'Inter',sans-serif;transition:background .15s;}
.toast2-dismiss:hover{background:linear-gradient(135deg, rgba(239,68,68,0.15), rgba(239,68,68,0.08));}
/* legacy .toast stub — kept so old refs don't crash */
.toast{display:none;}

/* ── FOUNDATION WARNING BANNER ── */
.foundation-warning-banner{
  display:flex;flex-direction:column;gap:10px;
  padding:12px 16px;border-radius:10px;
  background:var(--gold2);
  border-right:3px solid var(--gold);
  margin-bottom:16px;
  box-shadow:0 4px 16px rgba(245,158,11,0.15);
}
.foundation-warning-banner .fw-title{
  font-size:13px;font-weight:700;color:var(--txt);
  display:flex;align-items:center;gap:6px;
}
.foundation-warning-banner .fw-msg{
  font-size:12px;color:var(--txt2);line-height:1.4;
}
.foundation-warning-banner .fw-actions{
  display:flex;gap:8px;flex-wrap:wrap;
}
.foundation-warning-banner .fw-btn{
  padding:6px 12px;border-radius:6px;
  font-size:11px;font-weight:600;
  cursor:pointer;transition:all .15s ease;
}
.foundation-warning-banner .fw-btn-primary{
  background:var(--gold);color:#fff;
  border:1px solid var(--gold);
}
.foundation-warning-banner .fw-btn-primary:hover{
  background:#d97706;border-color:#d97706;
}
.foundation-warning-banner .fw-btn-secondary{
  background:transparent;color:var(--txt2);
  border:1px solid var(--border);
}
.foundation-warning-banner .fw-btn-secondary:hover{
  background:var(--bg2);color:var(--txt);
}
.foundation-warning-banner.fw-light{
  background:rgba(245,158,11,0.08);
  border-right-color:rgba(245,158,11,0.5);
}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:500;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);}
.modal{background:linear-gradient(135deg, rgba(255,255,255,0.85), rgba(255,255,255,0.7));backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-light);border-top:1px solid var(--glass-border-top);border-radius:20px;width:620px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:28px;box-shadow:var(--shadow3);}
.modal-hd{font-size:16px;font-weight:700;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;color:var(--txt);}
.modal-x{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-light);background:linear-gradient(135deg, rgba(255,255,255,0.5), rgba(255,255,255,0.3));color:var(--txt2);cursor:pointer;font-size:14px;transition:all .2s ease;}
.modal-x:hover{background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));color:var(--txt);transform:scale(1.05);}

/* INTRO */
#screen-intro{overflow:hidden;}
.i-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.5;}
.i-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.08),transparent 70%);top:-150px;left:-150px;}
.i-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:800px;padding:40px 24px;}
.i-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:30px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);font-size:11px;font-weight:600;color:var(--txt3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:28px;box-shadow:var(--shadow);animation:fup .6s ease both;}
.i-dot{width:6px;height:6px;border-radius:50%;background:var(--p);}
.i-h1{font-family:'Inter',sans-serif;font-size:clamp(36px,5vw,64px);font-weight:900;line-height:1.05;letter-spacing:-2.5px;color:var(--txt);margin-bottom:18px;animation:fup .6s .1s ease both;}
.i-h1 em{color:var(--p);font-style:normal;}
.i-sub{font-size:17px;color:var(--txt3);line-height:1.7;margin-bottom:38px;max-width:560px;animation:fup .6s .2s ease both;}
.i-btns{display:flex;gap:12px;animation:fup .6s .3s ease both;}
.btn-primary{padding:13px 32px;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 8px 24px rgba(124,58,237,.3);transition:all .3s;}
.btn-primary:hover{background:linear-gradient(135deg,var(--p2),var(--p));transform:translateY(-2px);box-shadow:0 12px 32px rgba(124,58,237,.4);}
.btn-outline{padding:14px 28px;background:transparent;border:1.5px solid var(--glass-border);border-radius:50px;font-size:15px;font-weight:600;color:var(--txt2);cursor:pointer;font-family:inherit;transition:all .3s ease;}
.btn-outline:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-1px);}
.i-stats{display:flex;border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow2);margin-top:56px;animation:fup .6s .4s ease both;}
.i-stat{flex:1;padding:20px 24px;text-align:center;border-left:1px solid var(--glass-border);}
.i-stat:last-child{border-left:none;}
.i-stat-n{font-family:'Playfair Display',serif;font-size:30px;font-weight:800;color:var(--txt);}
.i-stat-n em{color:var(--p);font-style:normal;}
.i-stat-l{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-top:4px;}

/* CHOOSE — 5 Vertical Selector */
#screen-choose{padding:40px 32px;overflow-y:auto;align-items:center!important;justify-content:flex-start!important;flex-direction:column!important;background:var(--bg);}
.ch-hd{text-align:center;margin-bottom:36px;animation:fup .5s ease both;width:100%;max-width:1040px;}
.ch-hd h2{font-family:'Inter',sans-serif;font-size:clamp(22px,2.5vw,36px);font-weight:800;letter-spacing:-1px;margin-bottom:10px;color:var(--txt);}
.ch-hd p{font-size:14px;color:var(--txt3);}
.ch-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:1040px;}

/* 5th card centered on row 2 */
.ch-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:694px;margin-top:0;}

.cc{position:relative;border-radius:14px;padding:24px 22px 26px;cursor:pointer;border:1.5px solid var(--glass-border);border-top:1px solid var(--glass-highlight);transition:all .3s ease;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;}
.cc:hover{transform:translateY(-4px);box-shadow:var(--shadow2);background:var(--glass-bg-hover);border-color:var(--glass-border-hover);}
.cc-num{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--txt3);letter-spacing:.12em;display:block;margin-bottom:16px;text-transform:uppercase;}
.cc-ico{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;flex-shrink:0;color:var(--vcc,var(--txt));}
.cc-title{font-family:'Inter',sans-serif;font-size:17px;font-weight:800;margin-bottom:7px;letter-spacing:-.3px;color:var(--txt);}
.cc-desc{font-size:12px;color:var(--txt3);line-height:1.6;margin-bottom:16px;flex:1;}
.cc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:18px;}
.cc-tag{padding:3px 9px;border-radius:20px;font-size:10px;font-weight:600;}
.cc-btn{padding:9px 18px;border-radius:8px;font-size:12.5px;font-weight:700;border:none;cursor:pointer;font-family:'Inter',sans-serif;align-self:flex-start;}
.cc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:18px;}
.cc-tag{padding:3px 9px;border-radius:20px;font-size:10px;font-weight:600;}
.cc-btn{padding:9px 18px;border-radius:8px;font-size:12.5px;font-weight:700;border:none;cursor:pointer;font-family:'Inter',sans-serif;align-self:flex-start;}

/* ── Vertical color themes ── */
/* ecommerce = Navy */
.cc-ecom{--vcc:var(--n);--vcc2:var(--n3);--vcshadow:rgba(124,58,237,.3);}
.cc-ecom:hover{box-shadow:0 20px 50px var(--vcshadow);border-color:var(--vcc);}
.cc-ecom .cc-ico{background:var(--n3);}
.cc-ecom .cc-title{color:var(--n);}
.cc-ecom .cc-tag{background:var(--n3);color:var(--n);}
.cc-ecom .cc-btn{background:linear-gradient(135deg,var(--n),var(--n2));color:#fff;}

/* saas = Lavender */
.cc-saas{--vcc:#6B5CE7;--vcc2:rgba(107,92,231,.15);--vcshadow:rgba(107,92,231,.3);}
.cc-saas:hover{box-shadow:0 20px 50px var(--vcshadow);border-color:#6B5CE7;}
.cc-saas .cc-ico{background:rgba(107,92,231,.15);}
.cc-saas .cc-title{color:#6B5CE7;}
.cc-saas .cc-tag{background:rgba(107,92,231,.15);color:#6B5CE7;}
.cc-saas .cc-btn{background:#6B5CE7;color:#fff;}

/* service = Teal/Green */
.cc-service{--vcc:#1A7A6E;--vcc2:rgba(26,122,110,.15);--vcshadow:rgba(26,122,110,.3);}
.cc-service:hover{box-shadow:0 20px 50px var(--vcshadow);border-color:#1A7A6E;}
.cc-service .cc-ico{background:rgba(26,122,110,.15);}
.cc-service .cc-title{color:#1A7A6E;}
.cc-service .cc-tag{background:rgba(26,122,110,.15);color:#1A7A6E;}
.cc-service .cc-btn{background:#1A7A6E;color:#fff;}

/* medical = Red */
.cc-medical{--vcc:var(--r);--vcc2:var(--r3);--vcshadow:rgba(239,68,53,.3);}
.cc-medical:hover{box-shadow:0 20px 50px var(--vcshadow);border-color:var(--r);}
.cc-medical .cc-ico{background:var(--r3);}
.cc-medical .cc-title{color:var(--r);}
.cc-medical .cc-tag{background:var(--r3);color:var(--r);}
.cc-medical .cc-btn{background:linear-gradient(135deg,var(--r),var(--r2));color:#fff;}

/* fitness = Gold */
.cc-fitness{--vcc:var(--gold);--vcc2:var(--gold2);--vcshadow:rgba(245,158,11,.3);}
.cc-fitness:hover{box-shadow:0 20px 50px var(--vcshadow);border-color:var(--gold);}
.cc-fitness .cc-ico{background:var(--gold2);}
.cc-fitness .cc-title{color:var(--gold);}
.cc-fitness .cc-tag{background:var(--gold2);color:var(--gold);}
.cc-fitness .cc-btn{background:var(--gold);color:#fff;}

/* academy = Cyan-Blue */
.cc-academy{--vcc:#0891B2;--vcc2:rgba(8,145,178,.15);--vcshadow:rgba(8,145,178,.3);}
.cc-academy:hover{box-shadow:0 20px 50px var(--vcshadow);border-color:#0891B2;}
.cc-academy .cc-ico{background:rgba(8,145,178,.15);}
.cc-academy .cc-title{color:#0891B2;}
.cc-academy .cc-tag{background:rgba(8,145,178,.15);color:#0891B2;}
.cc-academy .cc-btn{background:#0891B2;color:#fff;}

/* legacy compat */
.cc-g{--vcc:var(--n);}
.cc-s{--vcc:var(--r);}

/* APP SHELL */
#screen-growth{padding:0;align-items:stretch;justify-content:stretch;flex-direction:row;}
.app{display:flex;width:100%;height:100%;}
.sidebar{
  width:224px;min-width:224px;
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border-right:1px solid var(--glass-border);
  display:flex;flex-direction:column;overflow-y:auto;padding-top:60px;
  box-shadow:var(--shadow);
}
.sb-brand{
  display:flex;align-items:center;gap:9px;padding:12px 14px;margin:0 8px 8px;
  border-radius:var(--rr);
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  border:1px solid var(--glass-border);
  border-top:1px solid var(--glass-highlight);
  box-shadow:var(--shadow);
  transition:all .3s ease;
}
.sb-brand:hover{
  background:var(--glass-bg-hover);
  border-color:var(--glass-border-hover);
  transform:translateY(-1px);
  box-shadow:var(--shadow2);
}
.sb-gem{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;}
.sb-gem-g{background:linear-gradient(135deg,var(--p),var(--p2));box-shadow:0 4px 12px rgba(124,58,237,0.4);}
.sb-gem-s{background:linear-gradient(135deg,var(--r),var(--r2));box-shadow:0 4px 12px rgba(239,68,53,0.4);}
.sb-nm{font-family:'Playfair Display',serif;font-size:14px;font-weight:700;color:var(--txt);}
.sb-nm-sub{font-size:9.5px;color:var(--txt3);letter-spacing:.08em;text-transform:uppercase;}
.sb-sec{padding:12px 14px 4px;font-size:9px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.14em;}
.nav-btn{
  display:flex;align-items:center;gap:8px;padding:9px 10px;margin:1px 8px;
  border-radius:var(--rr);font-size:12.5px;color:var(--txt3);
  cursor:pointer;transition:all .3s ease;border:none;
  background:transparent;width:calc(100% - 16px);text-align:left;font-family:inherit;font-weight:500;
}
.nav-btn-label{
  flex:1;
  min-width:0;
  white-space:normal;
  line-height:1.25;
  word-break:break-word;
}
.nav-btn:hover{
  background:var(--glass-bg-hover);
  color:var(--txt);
  transform:translateX(2px);
}
.nav-btn.act-g{
  background:var(--n3);
  color:var(--n);
  font-weight:600;
  border:1px solid rgba(124,58,237,0.3);
  box-shadow:0 0 16px rgba(124,58,237,0.2);
}
.nav-btn.act-s{
  background:var(--r3);
  color:var(--r);
  font-weight:600;
  border:1px solid rgba(239,68,53,0.3);
  box-shadow:0 0 16px rgba(239,68,53,0.2);
}
.nd{width:16px;height:16px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;flex-shrink:0;}
.nd-g{background:var(--n3);color:var(--n);}
.nd-s{background:var(--r3);color:var(--r);}
.nd-ai{background:linear-gradient(135deg,var(--lav),var(--r));color:#fff;}
.nd-done{background:var(--g2);color:var(--g);}
.sb-clients{padding:0;}
.cl-chip{
  display:flex;align-items:center;gap:8px;padding:8px 10px;
  border-radius:var(--rr);cursor:pointer;transition:all .3s ease;margin:0 8px 3px;
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  border:1px solid var(--glass-border);
}
.cl-chip:hover{
  background:var(--glass-bg-hover);
  border-color:var(--glass-border-hover);
  transform:translateX(2px);
}
.cl-chip.active{
  background:var(--n3);
  border:1px solid rgba(124,58,237,0.3);
  box-shadow:0 0 12px rgba(124,58,237,0.2);
}
.cl-av{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;color:#fff;}
.sb-foot{
  padding:10px 12px;
  border-top:1px solid var(--glass-border);
  margin-top:auto;
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
}
.sb-prog-lbl{font-size:10px;color:var(--txt3);display:flex;justify-content:space-between;margin-bottom:5px;}
.sb-track{height:3px;background:var(--bg4);border-radius:3px;overflow:hidden;}
.sb-fill-g{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--p),var(--p2));transition:width .5s;box-shadow:0 0 8px rgba(124,58,237,0.5);}
.sb-fill-s{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--r),var(--r2));transition:width .5s;box-shadow:0 0 8px rgba(239,68,53,0.5);}

.app-main{flex:1;display:flex;flex-direction:column;overflow:visible;}
.topbar{
  padding:14px 24px;
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border-bottom:1px solid var(--glass-border);
  display:flex;align-items:center;gap:12px;
  box-shadow:var(--shadow);
  position:fixed;top:0;left:0;width:100%;z-index:1000;
}
.tb-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;letter-spacing:-.3px;color:var(--txt);}
.tb-sub{font-size:11.5px;color:var(--txt3);margin-top:2px;}
.content{flex:1;overflow-y:auto;padding:80px 26px 24px;background:#FFFFFF;}
body.dark .content{background:var(--bg)!important;}
body.dark .sidebar{background:rgba(14,14,22,0.92)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;}
.page{display:none;}.page.active{display:block;}

/* BUTTONS */
.btn{
  padding:7px 16px;border-radius:30px;font-size:12.5px;cursor:pointer;
  border:1.5px solid var(--border-light);
  background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  color:var(--txt);font-family:inherit;font-weight:600;
  transition:all .3s ease;
  box-shadow:var(--shadow);
}
.btn:hover{
  background:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));
  border-color:var(--border);
  transform:translateY(-2px);
  box-shadow:var(--shadow2);
}
.btn-n{
  background:linear-gradient(135deg,var(--p),var(--p2));
  color:#fff;border:none;
  box-shadow:0 4px 16px rgba(139,92,246,0.4);
}
.btn-n:hover{
  background:linear-gradient(135deg,var(--p2),var(--p));
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(139,92,246,0.5);
}
.btn-r{
  background:linear-gradient(135deg,var(--r),var(--r2));
  color:#fff;border:none;
  box-shadow:0 4px 16px rgba(239,68,53,0.4);
}
.btn-r:hover{
  background:linear-gradient(135deg,var(--r2),var(--r));
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(239,68,53,0.5);
}
.btn-ai{
  background:linear-gradient(135deg,var(--lav),var(--r));
  color:#fff;border:none;
  box-shadow:0 4px 20px rgba(139,92,246,0.4);
}
.btn-ai:hover{
  opacity:.95;
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(139,92,246,0.5);
}
.btn-g{
  background:var(--g2);
  color:var(--g);
  border:1px solid rgba(16,185,129,0.3);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
}
.btn-gold{
  background:var(--gold2);
  color:var(--gold);
  border:1px solid rgba(245,158,11,0.3);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
}
.btn-sm{padding:5px 14px;font-size:11.5px;}
.btn-xs{
  padding:3px 10px;font-size:10.5px;border-radius:20px;cursor:pointer;
  font-family:inherit;border:1.5px solid var(--glass-border);
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  color:var(--txt3);font-weight:500;
  transition:all .3s ease;
}
.btn-xs:hover{
  background:var(--glass-bg-hover);
  border-color:var(--glass-border-hover);
  transform:translateY(-1px);
}

/* BADGES */
.bdg{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;}
.b-n{background:var(--n3);color:var(--n);}
.b-r{background:var(--r3);color:var(--r);}
.b-g{background:var(--g2);color:var(--g);}
.b-gold{background:var(--gold2);color:var(--gold);}
.b-lav{background:var(--lav2);color:var(--lav);}
.b-gray{background:var(--bg4);color:var(--txt3);}
.b-ai{background:linear-gradient(135deg,rgba(107,92,231,.12),rgba(232,68,53,.08));color:var(--lav);border:1px solid rgba(107,92,231,.2);}

/* CARDS */
.card{
  background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1px solid var(--border-light);
  border-top:1px solid var(--glass-border-top);
  border-radius:16px;padding:20px 22px;margin-bottom:14px;
  box-shadow:var(--shadow);
  transition:all .3s ease;
}
.card:hover{
  background:linear-gradient(135deg, rgba(255,255,255,0.85), rgba(255,255,255,0.65));
  border-color:var(--border);
  transform:translateY(-2px);
  box-shadow:var(--shadow2);
}
.card-hd{font-size:13.5px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;color:var(--txt);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px;}
.four-col{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin-bottom:14px;}

/* PAGE HERO */
.phero{border-radius:16px;padding:20px 24px;margin-bottom:18px;display:flex;gap:14px;align-items:center;border:1px solid var(--border-light);background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow);}
.ph-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,0.1);}
.ph-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;letter-spacing:-.3px;color:var(--txt);}
.ph-sub{font-size:11.5px;color:var(--txt3);margin-top:3px;}
.ph-stats{display:flex;gap:10px;margin-left:auto;}
.phs{text-align:center;padding:9px 14px;background:linear-gradient(135deg, rgba(255,255,255,0.5), rgba(255,255,255,0.3));border-radius:var(--rr);border:1px solid var(--border-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));}
.phs-v{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--txt);}
.phs-l{font-size:9px;color:var(--txt3);margin-top:2px;text-transform:uppercase;letter-spacing:.06em;}

/* INSIGHT */
.insight{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rr);padding:13px 16px;margin-bottom:14px;display:flex;gap:12px;}
.ins-ico{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;}
.ins-title{font-size:12px;font-weight:700;margin-bottom:3px;}
.ins-body{font-size:12px;color:var(--txt3);line-height:1.65;}

/* FORM */
.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.fl{font-size:11.5px;font-weight:600;color:var(--txt2);}
.fl-h{font-size:10px;color:var(--txt4);font-weight:400;}
.fi,.fs{padding:9px 13px;border:1.5px solid var(--border2);border-radius:var(--rr);font-size:13px;background:var(--bg);color:var(--txt);outline:none;transition:all .2s;font-family:inherit;width:100%;}
.fi:focus,.fs:focus{border-color:var(--n);box-shadow:0 0 0 3px rgba(13,31,60,.07);background:var(--card);}
.fi::placeholder{color:var(--txt4);}
textarea.fi{resize:vertical;min-height:72px;line-height:1.6;}
.tag{padding:5px 12px;border-radius:20px;font-size:12px;border:1.5px solid var(--border-light);color:var(--txt2);cursor:pointer;transition:all .2s;background:linear-gradient(135deg, rgba(255,255,255,0.5), rgba(255,255,255,0.3));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));user-select:none;font-family:inherit;font-weight:500;box-shadow:var(--shadow);}
.tag:hover{border-color:var(--txt4);}
.tag.sel{background:var(--n3);border-color:rgba(13,31,60,.3);color:var(--n);font-weight:600;}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}

/* ════════════════════════════════════════════════════════════
   Velo DESIGN SYSTEM — Utility Classes  v2.0
   Replace inline style="..." with these composable classes.
   All classes are additive — they won't break existing styles.
   ════════════════════════════════════════════════════════════ */

/* ── Typography utilities ── */
.card-title{
  font-size:15px;font-weight:800;
  color:var(--txt);line-height:1.3;
  font-family:var(--font-body);
}
.card-sub{
  font-size:12px;color:var(--txt3);
  margin-top:3px;line-height:1.5;
}
.section-label{
  font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--txt4);
}

/* ── Layout utilities ── */
.form-row{
  display:flex;gap:10px;margin-bottom:12px;
  align-items:flex-start;flex-wrap:wrap;
}
.form-row > *{flex:1;min-width:0;}

/* ── Tag — standardized ── */
/* Overwrites the existing .tag to lock padding/radius consistently */
.tag{
  display:inline-flex;align-items:center;
  padding:4px 11px;
  border-radius:var(--radius-sm);
  font-size:11.5px;font-weight:500;
  border:1.5px solid var(--border2);
  color:var(--txt3);background:var(--bg3);
  cursor:pointer;transition:all .15s;
  user-select:none;font-family:inherit;
  white-space:nowrap;
}
.tag:hover{border-color:var(--txt4);}
.tag.sel{
  background:var(--n3);border-color:rgba(99,102,241,.3);
  color:var(--n);font-weight:600;
}

/* ── KPI display ── */
.kpi-value{
  font-family:var(--font-mono);
  font-size:22px;font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

/* ── Insight / callout box ── */
.insight-box{
  background:var(--bg3);
  border-radius:var(--radius-md);
  padding:12px 14px;
  font-size:12.5px;line-height:1.6;
  color:var(--txt2);
  border:1px solid var(--border);
}
.insight-box + .insight-box{margin-top:8px;}

/* ── Radius standardisation ──
   .card already has border-radius via existing rules.
   We normalise the two conflicting definitions here
   so all card variants use --radius-md (10px). ── */
.card{border-radius:var(--radius-md)!important;}

/* ── Tabular-nums on every numeric display ── */
.kpi-value,
.kpi-n,
.mkpi-n,
.intg-data-val,
.found-score-n,
[class*="score"]{
  font-variant-numeric:tabular-nums;
}

/* ── Count-up animation helper ── */
.count-animating{
  transition:opacity .12s ease;
}

/* ── Spacing helpers (bonus) ── */
.mt-0{margin-top:0!important;}
.mt-4{margin-top:4px!important;}
.mt-8{margin-top:8px!important;}
.mt-12{margin-top:12px!important;}
.gap-4{gap:4px!important;}
.gap-8{gap:8px!important;}
.gap-12{gap:12px!important;}

/* ── Flex shorthands ── */
.flex-center{display:flex;align-items:center;}
.flex-between{display:flex;align-items:center;justify-content:space-between;}
.flex-col{display:flex;flex-direction:column;}

/* ── Text truncation ── */
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ITEM CARDS */
.icard{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:10px;box-shadow:var(--shadow);transition:all .2s;}
.icard:hover{border-color:var(--border2);box-shadow:var(--shadow2);}
.icard.open{border-color:var(--border2);box-shadow:var(--shadow2);}
.ic-hd{display:flex;align-items:center;gap:11px;padding:13px 15px;cursor:pointer;}
.ic-bd{display:none;padding:0 15px 14px;}
.icard.open .ic-bd{display:block;}
.ic-chev{font-size:9px;color:var(--txt4);transition:transform .2s;}
.icard.open .ic-chev{transform:rotate(180deg);}

/* ICE */
.ice-sliders{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:13px;}
.isc{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rr);padding:12px;}
.isc-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.isc-name{font-size:12px;font-weight:700;color:var(--txt2);}
.isc-val{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;}
.isc-desc{font-size:10.5px;color:var(--txt3);margin-bottom:7px;}
input[type=range]{width:100%;height:4px;cursor:pointer;accent-color:var(--n);}
.ice-result{text-align:center;background:var(--n);color:#fff;border-radius:var(--rr);padding:15px;margin-bottom:13px;}
.ice-val{font-family:'Playfair Display',serif;font-size:34px;font-weight:800;}
.ice-lbl{font-size:11px;opacity:.7;margin-top:3px;letter-spacing:.08em;text-transform:uppercase;}

/* AI OUTPUT */
.ai-out{background:linear-gradient(135deg,rgba(107,92,231,.04),rgba(232,68,53,.03));border:1px solid rgba(107,92,231,.2);border-radius:16px;padding:20px;margin-bottom:14px;}
.ai-out-hd{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.ai-out-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--lav),var(--r));display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.ai-out-title{font-size:13px;font-weight:700;color:var(--txt);}
.ai-out-sub{font-size:11px;color:var(--txt3);margin-top:2px;}
.ai-content{font-size:13px;color:var(--txt2);line-height:1.75;white-space:pre-wrap;}
.ai-section{background:var(--bg3);border-radius:var(--rr);padding:13px 15px;margin-bottom:10px;border:1px solid var(--border);}
.ai-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-family:'DM Mono',monospace;}
.ai-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-left:8px;vertical-align:middle;}
.ai-spinner-dark{border:2px solid rgba(107,92,231,.2);border-top-color:var(--lav);}

/* ── AI SKELETON LOADER ── */
.ai-skel-wrap{border-radius:12px;border:1px solid rgba(107,92,231,.18);background:linear-gradient(135deg,rgba(107,92,231,.04),rgba(232,68,53,.03));padding:20px;margin-bottom:14px;}
.ai-skel{overflow:hidden;}
.ai-skel-block{border-radius:8px;background:var(--bg3);position:relative;overflow:hidden;}
.ai-skel-block::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--border) 50%,transparent 100%);background-size:200% 100%;animation:skel-shimmer 1.5s ease-in-out infinite;}
@keyframes skel-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
@media(prefers-reduced-motion:reduce){.ai-skel-block::after{animation:none;}}
/* Header row */
.ai-skel-hd{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.ai-skel-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0;}
.ai-skel-titles{flex:1;display:flex;flex-direction:column;gap:6px;}
.ai-skel-title{height:13px;}
.ai-skel-sub{height:10px;width:55%;}
/* Body paragraphs */
.ai-skel-body{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.ai-skel-line{height:11px;}
.ai-skel-line.w100{width:100%;}
.ai-skel-line.w85{width:85%;}
.ai-skel-line.w72{width:72%;}
.ai-skel-line.w90{width:90%;}
.ai-skel-line.w60{width:60%;}
/* Section headers */
.ai-skel-sec{height:13px;width:38%;margin-bottom:10px;border-radius:6px;}
/* Bullet rows */
.ai-skel-bullets{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;padding-left:14px;}
.ai-skel-bullet-row{display:flex;align-items:center;gap:8px;}
.ai-skel-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.ai-skel-bullet-line{height:10px;border-radius:6px;}
/* Action bar */
.ai-skel-actions{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--border);margin-top:4px;}
.ai-skel-btn{height:28px;border-radius:7px;}
/* Loading message */
.ai-skel-msg{text-align:center;margin-top:14px;font-size:12px;color:var(--txt4);font-family:'DM Mono',monospace;letter-spacing:.02em;min-height:18px;transition:opacity .3s;}
/* Crossfade */
.ai-skel-wrap{animation:skel-fadein .2s ease both;}
@keyframes skel-fadein{from{opacity:0;}to{opacity:1;}}
.ai-out-fadein{animation:skel-fadein .2s ease both;}

/* COPY ENGINE */
.copy-tabs{display:flex;gap:4px;background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.2));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));padding:4px;border-radius:var(--rr);margin-bottom:16px;border:1px solid var(--border-light);}
.copy-tab{flex:1;padding:9px 8px;text-align:center;border-radius:9px;font-size:12px;cursor:pointer;transition:all .2s;color:var(--txt2);border:none;background:transparent;font-family:inherit;font-weight:500;}
.copy-tab:hover{background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));color:var(--txt);}
.copy-tab.active{background:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));color:var(--txt);font-weight:700;box-shadow:var(--shadow);}
.dialect-selector{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.dialect-btn{padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid var(--border-light);background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.2));color:var(--txt3);cursor:pointer;font-family:inherit;transition:all .15s;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));}
.dialect-btn:hover{background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));color:var(--txt2);border-color:var(--border);}
.dialect-btn.active{background:linear-gradient(135deg, var(--p), var(--lav));color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(139,92,246,0.3);}

/* CAMPAIGN AUDIT */
.audit-metric{background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--border-light);border-radius:var(--rr);padding:14px;text-align:center;box-shadow:var(--shadow);}
.audit-val{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;margin-bottom:4px;color:var(--txt);}
.audit-lbl{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.07em;}
.audit-flag{background:linear-gradient(135deg, rgba(239,68,68,0.1), rgba(239,68,68,0.05));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid rgba(232,68,53,.25);border-radius:var(--rr);padding:12px 14px;margin-bottom:8px;box-shadow:var(--shadow);}
.audit-flag-title{font-size:12.5px;font-weight:700;color:var(--r);margin-bottom:4px;}
.audit-flag-body{font-size:12px;color:var(--txt2);line-height:1.55;}
.audit-good{background:linear-gradient(135deg, rgba(16,185,129,0.1), rgba(16,185,129,0.05));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid rgba(26,122,110,.2);border-radius:var(--rr);padding:12px 14px;margin-bottom:8px;box-shadow:var(--shadow);}
.audit-good-title{font-size:12.5px;font-weight:700;color:var(--g);margin-bottom:4px;}

/* CRO CHECKER */
.cro-sec{background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-light);border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow);}
.cro-sec-hd{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s;}
.cro-sec-hd:hover{background:linear-gradient(135deg, rgba(255,255,255,0.5), rgba(255,255,255,0.3));}
.cro-sec-body{padding:14px 16px;display:none;}
.cro-sec.open .cro-sec-body{display:block;}
.cro-check{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);}
.cro-check:last-child{border-bottom:none;}
.cro-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--g);cursor:pointer;margin-top:2px;}

/* SCORECARD TABLE */
.sc-table{width:100%;border-collapse:collapse;font-size:12px;}
.sc-table th{font-size:9.5px;font-weight:700;color:var(--txt4);text-transform:uppercase;letter-spacing:.07em;padding:8px 10px;border-bottom:1.5px solid var(--border2);background:var(--bg3);text-align:left;}
.sc-table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle;}
.sc-table tr:hover td{background:var(--bg3);}
.m-inp{width:70px;padding:4px 7px;border:1.5px solid var(--border2);border-radius:7px;font-size:11px;background:var(--bg);color:var(--txt);text-align:center;outline:none;font-family:'DM Mono',monospace;}
.m-inp:focus{border-color:var(--n);}

/* SOCIAL STRATEGY */
.strat-section{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow);}
.strat-sec-hd{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;transition:background .15s;}
.strat-sec-hd:hover{background:var(--bg3);}
.strat-sec-title{font-size:13.5px;font-weight:700;flex:1;}
.strat-sec-body{padding:16px 18px;border-top:1px solid var(--border);display:none;}
.strat-section.open .strat-sec-body{display:block;}

/* CONTENT PLAN CARDS */
.content-week{margin-bottom:16px;}
.week-pill{display:inline-block;padding:5px 16px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:10px;}
.w1p{background:rgba(107,92,231,.1);color:var(--lav);}
.w2p{background:var(--g2);color:var(--g);}
.w3p{background:var(--gold2);color:var(--gold);}
.w4p{background:var(--r3);color:var(--r);}
.post-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rr);padding:14px;margin-bottom:8px;}
.post-card-hd{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.post-day{font-family:'DM Mono',monospace;font-size:10px;font-weight:700;color:var(--txt4);}
.post-type{padding:2px 8px;border-radius:5px;font-size:10px;font-weight:600;}
.pt-reel{background:var(--r3);color:var(--r);}
.pt-carousel{background:var(--lav2);color:var(--lav);}
.pt-story{background:var(--gold2);color:var(--gold);}
.pt-static{background:var(--g2);color:var(--g);}
.post-hook{font-size:13px;font-weight:700;color:var(--txt);margin-bottom:5px;}
.post-caption{font-size:12px;color:var(--txt2);line-height:1.65;margin-bottom:8px;}
.post-script{font-size:11.5px;color:var(--txt3);background:var(--card);border-radius:8px;padding:10px;border:1px solid var(--border);line-height:1.6;}
.post-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}

/* ROADMAP */
.wk-hd{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--rr);margin-bottom:8px;cursor:pointer;transition:background .15s;}
.wk-hd:hover{background:var(--bg3);}
.task-row{background:var(--card);border:1px solid var(--border);border-radius:var(--rr);padding:10px 13px;display:flex;align-items:center;gap:10px;transition:all .15s;box-shadow:var(--shadow);margin-bottom:6px;}
.task-row:hover{border-color:var(--border2);box-shadow:var(--shadow2);}
.t-chk{width:18px;height:18px;border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border2);cursor:pointer;transition:all .2s;background:var(--bg);}
.t-chk.done{background:var(--g);border-color:var(--g);}
.t-chk.prog{background:var(--gold);border-color:var(--gold);}
.t-chk svg{width:10px;height:10px;stroke:#fff;fill:none;stroke-width:2.5;}
.lbdg{padding:2px 7px;border-radius:5px;font-size:9.5px;font-weight:700;font-family:'DM Mono',monospace;}
.lb-0{background:rgba(107,92,231,.1);color:var(--lav);}
.lb-1{background:var(--n3);color:var(--n);}
.lb-2{background:var(--g2);color:var(--g);}
.lb-3{background:var(--gold2);color:var(--gold);}
.lb-4{background:var(--r3);color:var(--r);}
.lb-5{background:rgba(200,60,220,.1);color:#c43cdc;}
.lb-6{background:var(--bg4);color:var(--txt3);}

/* SEO */
.seo-card{background:var(--card);border:1px solid var(--border);border-radius:var(--rr);padding:14px;margin-bottom:8px;}
.kw-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;background:var(--n3);color:var(--n);display:inline-block;margin:2px;}
.kw-badge.high{background:var(--r3);color:var(--r);}
.kw-badge.med{background:var(--gold2);color:var(--gold);}
.kw-badge.low{background:var(--g2);color:var(--g);}

/* ADS */
.ad-card{background:var(--card);border:1.5px solid var(--border2);border-radius:var(--rr);padding:15px;margin-bottom:10px;transition:all .2s;}
.ad-card:hover{box-shadow:var(--shadow2);}
.ad-platform{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;}

/* PUBLISHING */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:14px;}
.cal-day-hd{font-size:9.5px;font-weight:700;color:var(--txt4);text-align:center;padding:6px 0;text-transform:uppercase;letter-spacing:.06em;}
.cal-cell{min-height:80px;border-radius:var(--rr);border:1px solid var(--border);padding:6px;cursor:pointer;transition:all .15s;background:var(--card);position:relative;}
.cal-cell:hover{border-color:var(--border2);box-shadow:var(--shadow);}
.cal-cell.today{border-color:var(--r);background:var(--r3);}
.cal-day-n{font-size:11px;font-weight:600;color:var(--txt4);margin-bottom:4px;}
.cal-dot{font-size:9px;padding:2px 5px;border-radius:3px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;}

/* EMPTY */
.empty-state{text-align:center;padding:56px 24px;border:1.5px dashed var(--border2);border-radius:16px;}
.es-icon{font-size:36px;margin-bottom:12px;}

/* ANIMATIONS */
@keyframes fup{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
/* PRODUCT LAYERS */
.layer-header{display:flex;align-items:center;gap:6px;padding:10px 14px 4px;margin:0 0 2px;}.layer-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}.lb-foundation{background:rgba(200,149,42,.15);color:var(--gold);border:1px solid rgba(200,149,42,.25);}.lb-strategy{background:rgba(107,92,231,.12);color:var(--lav);border:1px solid rgba(107,92,231,.2);}.lb-execution{background:rgba(13,31,60,.08);color:var(--n);border:1px solid rgba(13,31,60,.15);}.lb-management{background:rgba(26,122,110,.12);color:var(--g);border:1px solid rgba(26,122,110,.2);}.layer-divider{height:1px;background:var(--border);margin:6px 14px 4px;}.nav-btn .layer-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-left:auto;}/* Foundation page styles */.found-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}.found-card{background:var(--card);border:1px solid var(--border);border-radius:var(--rr);padding:20px;}.found-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--txt3);margin-bottom:14px;display:flex;align-items:center;gap:7px;}.found-card-title .fc-ico{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--gold2);}.found-field{margin-bottom:12px;}.found-field label{display:block;font-size:11px;font-weight:600;color:var(--txt3);margin-bottom:4px;}.found-field input,.found-field select,.found-field textarea{width:100%;padding:8px 11px;border:1px solid var(--border2);border-radius:8px;background:var(--bg);font-family:inherit;font-size:13px;color:var(--txt);outline:none;transition:border .2s;}.found-field input:focus,.found-field select:focus,.found-field textarea:focus{border-color:var(--gold);}.found-field textarea{resize:vertical;min-height:72px;}.found-score{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--gold2);border-radius:10px;border:1px solid rgba(200,149,42,.2);margin-bottom:20px;}.found-score-n{font-family:'Playfair Display',serif;font-size:28px;font-weight:800;color:var(--gold);}.found-score-bar{flex:1;height:6px;background:var(--bg4);border-radius:10px;overflow:hidden;}.found-score-fill{height:100%;background:var(--gold);border-radius:10px;transition:width .5s;}.found-tip{background:var(--bg3);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:10px 14px;font-size:12px;color:var(--txt2);margin-top:6px;line-height:1.6;}.data-conn-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid var(--border);border-radius:9px;margin-bottom:8px;background:var(--card);}.data-conn-name{font-size:13px;font-weight:600;}.data-conn-status{display:flex;align-items:center;gap:6px;font-size:11px;}.status-dot{width:7px;height:7px;border-radius:50%;}.dot-connected{background:#22c55e;}.dot-pending{background:var(--gold);}.dot-disconnected{background:var(--bg5);}/* Asset status badges */.asset-status{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:10px;font-weight:700;}.as-draft{background:var(--bg3);color:var(--txt3);}.as-reviewed{background:rgba(200,149,42,.15);color:var(--gold);}.as-approved{background:rgba(107,92,231,.12);color:var(--lav);}.as-scheduled{background:rgba(13,31,60,.1);color:var(--n);}.as-published{background:rgba(26,122,110,.12);color:var(--g);}.as-archived{background:var(--bg4);color:var(--txt4);}/* Exec cards */.exec-asset-card{background:var(--card);border:1px solid var(--border);border-radius:var(--rr);padding:16px;margin-bottom:10px;}.exec-asset-hd{display:flex;align-items:center;gap:10px;margin-bottom:8px;}.exec-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--txt4);}/* Mgmt dashboard */.mgmt-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}.mkpi{background:var(--card);border:1px solid var(--border);border-radius:var(--rr);padding:16px;}.mkpi-n{font-family:'Playfair Display',serif;font-size:26px;font-weight:800;}.mkpi-l{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;}.mkpi-delta{font-size:11px;font-weight:600;margin-top:6px;}.delta-up{color:var(--g);}.delta-down{color:var(--r);}.at-risk-flag{background:rgba(232,68,53,.08);border:1px solid rgba(232,68,53,.2);border-radius:9px;padding:10px 14px;margin-bottom:8px;display:flex;align-items:center;gap:10px;}.risk-ico{font-size:14px;}.risk-txt{font-size:12px;font-weight:600;color:var(--r);}.risk-sub{font-size:11px;color:var(--txt3);}

/* STRATEGY LAYER — Decision Cards, Next Actions, Dependency Banners */
.decision-card{background:linear-gradient(135deg,rgba(107,92,231,.06),rgba(107,92,231,.02));border:1.5px solid rgba(107,92,231,.25);border-radius:14px;padding:20px 22px;margin-top:18px;}
.decision-card-hd{display:flex;align-items:center;gap:9px;margin-bottom:14px;}
.decision-card-ico{width:32px;height:32px;border-radius:9px;background:var(--lav2);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.decision-card-title{font-size:13px;font-weight:800;color:var(--lav);letter-spacing:-.1px;}
.decision-card-q{font-size:13px;color:var(--txt2);margin-bottom:12px;line-height:1.6;font-weight:500;}
.decision-input{
  width:100%;padding:10px 13px;border:1.5px solid var(--glass-border);
  border-radius:9px;background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  font-family:inherit;font-size:13px;color:var(--txt);outline:none;
  transition:all .3s ease;margin-bottom:10px;
  box-shadow:var(--shadow);
}
.decision-input:focus{
  border-color:var(--lav);
  box-shadow:0 0 16px rgba(139,92,246,0.3);
  background:var(--glass-bg-hover);
}
.decision-locked{background:rgba(107,92,231,.08);border-radius:9px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--lav);display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.decision-actions-row{display:flex;gap:8px;flex-wrap:wrap;}
.next-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;}
.next-action-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:11px 14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:9px;}
.next-action-card:hover{border-color:var(--lav);background:var(--lav2);transform:translateY(-1px);}
.nac-arrow{font-size:11px;color:var(--lav);font-weight:700;flex-shrink:0;}
.nac-txt{font-size:12px;font-weight:600;color:var(--txt2);line-height:1.4;}
.dep-banner{background:rgba(13,31,60,.05);border:1px solid rgba(13,31,60,.15);border-radius:11px;padding:13px 16px;margin-top:14px;display:flex;align-items:flex-start;gap:11px;}
.dep-banner-ico{font-size:16px;flex-shrink:0;margin-top:1px;}
.dep-banner-title{font-size:12px;font-weight:700;color:var(--n);margin-bottom:6px;}
.dep-banner-chips{display:flex;flex-wrap:wrap;gap:6px;}
.dep-chip{padding:4px 11px;border-radius:20px;font-size:11px;font-weight:600;background:var(--n3);color:var(--n);cursor:pointer;border:1px solid rgba(13,31,60,.12);transition:all .18s;}
.dep-chip:hover{background:var(--n);color:#fff;}
/* Strategy Summary page */
.strat-sum-grid{display:grid;gap:12px;}
.strat-sum-card{background:var(--card);border:1px solid var(--border);border-radius:var(--rr);padding:18px 20px;display:flex;gap:14px;align-items:flex-start;}
.strat-sum-card.has-decision{border-color:rgba(107,92,231,.3);background:rgba(107,92,231,.03);}
.strat-sum-card.no-decision{border-style:dashed;opacity:.7;}
.ssc-ico{width:34px;height:34px;border-radius:9px;background:var(--lav2);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.ssc-mod{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--txt4);margin-bottom:3px;}
.ssc-decision{font-size:13px;font-weight:600;color:var(--txt);line-height:1.5;}
.ssc-empty{font-size:12px;color:var(--txt4);font-style:italic;}
.ssc-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:10px;font-weight:700;margin-top:6px;}
.ssc-done{background:rgba(107,92,231,.12);color:var(--lav);}
.ssc-pending{background:var(--bg3);color:var(--txt4);}


/* EXECUTION LAYER */
.exec-status-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.exec-status-btn{padding:5px 13px;border-radius:20px;font-size:11px;font-weight:700;border:1.5px solid transparent;cursor:pointer;transition:all .18s;background:var(--card);}
.exec-status-btn.active-draft{background:var(--bg3);color:var(--txt3);border-color:var(--border2);}
.exec-status-btn.active-reviewed{background:rgba(200,149,42,.15);color:var(--gold);border-color:rgba(200,149,42,.3);}
.exec-status-btn.active-approved{background:rgba(107,92,231,.12);color:var(--lav);border-color:rgba(107,92,231,.25);}
.exec-status-btn.active-scheduled{background:rgba(13,31,60,.08);color:var(--n);border-color:rgba(13,31,60,.2);}
.exec-status-btn.active-published{background:rgba(26,122,110,.12);color:var(--g);border-color:rgba(26,122,110,.25);}
.exec-status-btn.active-archived{background:var(--bg4);color:var(--txt4);border-color:var(--border2);}
.asset-toolbar{display:flex;align-items:center;gap:7px;padding:8px 12px;background:var(--bg3);border-radius:9px;margin-top:8px;flex-wrap:wrap;}
.asset-toolbar-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--txt4);margin-right:4px;}
.ai-out-editable{outline:none;border:1.5px solid transparent;border-radius:9px;padding:4px;transition:border .2s;min-height:60px;}
.ai-out-editable:focus{border-color:var(--lav);background:var(--bg);}
.ai-out-editable-wrap{position:relative;}
.editing-badge{position:absolute;top:8px;right:8px;background:var(--lav);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;display:none;}
.ai-out-editable:focus ~ .editing-badge,.ai-out-editable-wrap:focus-within .editing-badge{display:block;}
.dup-btn{padding:4px 11px;border-radius:20px;font-size:10px;font-weight:700;background:var(--bg3);border:1px solid var(--border2);color:var(--txt3);cursor:pointer;transition:all .18s;}
.dup-btn:hover{background:var(--n3);color:var(--n);border-color:var(--n);}
.asset-meta-row{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap;}
.asset-meta-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--txt3);}
.asset-meta-item input{border:none;background:transparent;font-size:11px;color:var(--txt3);font-family:inherit;outline:none;padding:0;width:100px;cursor:pointer;}
.asset-meta-item input:focus{color:var(--txt);border-bottom:1px solid var(--border2);}
/* Exec summary page */
.exec-kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
.exec-kanban-col{background:var(--bg3);border-radius:12px;padding:12px;}
.ekc-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.ekc-count{background:var(--card);border-radius:20px;padding:1px 7px;font-size:10px;}
.exec-kanban-item{background:var(--card);border:1px solid var(--border);border-radius:9px;padding:10px 12px;margin-bottom:7px;font-size:12px;font-weight:500;cursor:pointer;transition:all .18s;}
.exec-kanban-item:hover{border-color:var(--n);transform:translateY(-1px);}
.eki-type{font-size:10px;color:var(--txt4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;}


/* MANAGEMENT LAYER */
.mgmt-dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:20px;}
.mgmt-exec-panel{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1px solid var(--glass-border);
  border-top:1px solid var(--glass-highlight);
  border-radius:var(--rr);padding:20px;
  box-shadow:var(--shadow);
}
.mgmt-spec-panel{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1px solid var(--glass-border);
  border-top:1px solid var(--glass-highlight);
  border-radius:var(--rr);padding:20px;
  box-shadow:var(--shadow);
}
.mgmt-panel-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--txt3);margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.mgmt-panel-title span{background:var(--glass-bg);padding:2px 9px;border-radius:20px;border:1px solid var(--glass-border);}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.kpi-card{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1px solid var(--glass-border);
  border-top:1px solid var(--glass-highlight);
  border-radius:10px;padding:14px 16px;
  transition:all .3s ease;
  box-shadow:var(--shadow);
}
.kpi-card:hover{
  background:var(--glass-bg-hover);
  border-color:var(--glass-border-hover);
  transform:translateY(-2px);
  box-shadow:var(--shadow2);
}
.kpi-n{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;color:var(--txt);}
.kpi-l{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.07em;margin-top:2px;}
.kpi-delta{font-size:11px;font-weight:700;margin-top:5px;}
.kpi-lead{border-top:2px solid var(--n);}
.kpi-lag{border-top:2px solid var(--g);}
.kpi-risk{border-top:2px solid var(--r);}
.risk-list{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.risk-item{display:flex;align-items:center;gap:10px;padding:10px 13px;background:rgba(232,68,53,.06);border:1px solid rgba(232,68,53,.18);border-radius:9px;}
.risk-item-ico{font-size:13px;flex-shrink:0;}
.risk-item-body{flex:1;}
.risk-item-title{font-size:12px;font-weight:700;color:var(--r);}
.risk-item-sub{font-size:11px;color:var(--txt3);}
.risk-item-fix{font-size:10px;font-weight:700;color:var(--r);cursor:pointer;flex-shrink:0;padding:3px 9px;border-radius:20px;background:rgba(232,68,53,.1);border:none;}
.spec-task{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;margin-bottom:6px;background:var(--card);}
.spec-task-check{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border2);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;}
.spec-task-check.done{background:var(--g);border-color:var(--g);color:#fff;}
.spec-task-txt{flex:1;font-size:12px;font-weight:500;}
.spec-task-txt.done{text-decoration:line-through;color:var(--txt4);}
.spec-task-owner{font-size:10px;color:var(--txt4);}
.health-bar-wrap{margin-bottom:14px;}
.health-bar-lbl{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px;}
.health-bar{height:7px;background:var(--bg4);border-radius:10px;overflow:hidden;}
.health-fill-good{background:var(--g);}
.health-fill-warn{background:var(--gold);}
.health-fill-bad{background:var(--r);}
.weekly-summary-output{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:18px;margin-top:14px;white-space:pre-wrap;font-size:13px;line-height:1.7;}
.mgmt-tabs{display:flex;gap:6px;margin-bottom:18px;padding:4px;background:var(--bg3);border-radius:10px;width:fit-content;}
.mgmt-tab{padding:7px 18px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--txt3);transition:all .2s;font-family:inherit;}
.mgmt-tab.active{background:var(--card);color:var(--n);box-shadow:var(--shadow);}


/* ── UX SYSTEM-WIDE ── */
/* Dark mode */
body.dark{
  --bg:#111827;--bg2:#1F2937;--bg3:#374151;--bg4:#4B5563;--bg5:#6B7280;
  --card:#1F2937;--border:#2A3040;--border2:#333D52;
  --txt:#E5E7EB;--txt2:#D1D5DB;--txt3:#9CA3AF;--txt4:#6B7280;
  --bg-solid:#111827;
  --p3:rgba(99,102,241,.15);--p4:rgba(99,102,241,.25);
  --shadow:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);
  --shadow2:0 4px 12px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.2);
  --shadow3:0 12px 40px rgba(0,0,0,.5);

  /* Glass Card Base - Dark Mode */
  --glass-bg:rgba(255,255,255,0.08);
  --glass-bg-hover:rgba(255,255,255,0.12);
  --glass-border:rgba(255,255,255,0.12);
  --glass-border-hover:rgba(255,255,255,0.18);
  --glass-highlight:rgba(255,255,255,0.2);

  /* Primary Colors - Dark Mode */
  --p:#8B5CF6;
  --p2:#7C3AED;
  --p3:rgba(124,58,237,0.15);
  --p4:rgba(124,58,237,0.25);

  /* Accent Colors - Dark Mode */
  --accent:#3B82F6;
  --accent2:#2563EB;
  --accent3:rgba(6,182,212,0.15);
  --accent4:rgba(6,182,212,0.25);

  /* Semantic Colors - Dark Mode */
  --r:#EF4444;
  --r2:#DC2626;
  --r3:rgba(239,68,53,0.15);
  --n:#8B5CF6;
  --n2:#7C3AED;
  --n3:rgba(124,58,237,0.15);
  --g:#10B981;
  --g2:rgba(16,185,129,0.15);
  --secondary:#F97316;
  --gold:#F59E0B;
  --gold2:rgba(245,158,11,0.15);
  --lav:#8B5CF6;
  --lav2:rgba(139,92,246,0.15);

  /* Shadows - Dark Mode */
  --shadow:0 8px 32px rgba(0,0,0,0.4);
  --shadow2:0 12px 48px rgba(0,0,0,0.5);
  --shadow3:0 20px 64px rgba(0,0,0,0.6);
  --shadow-glow:0 0 24px rgba(124,58,237,0.3);
  --shadow-glow-accent:0 0 24px rgba(6,182,212,0.3);
}
/* Dark mode toggle button */
.dm-toggle{width:36px;height:32px;border-radius:8px;border:1px solid var(--border-light);background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:all .3s ease;box-shadow:var(--shadow);}
.dm-toggle:hover{background:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));border-color:var(--border);transform:translateY(-1px);box-shadow:var(--shadow2);}
/* Sidebar search */
.sb-search-wrap{padding:0 8px 8px;position:relative;}
.sb-search{width:100%;padding:7px 10px 7px 30px;border:1px solid var(--glass-border);border-radius:9px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));font-size:12px;color:var(--txt);font-family:inherit;outline:none;transition:all .3s ease;}
.sb-search:focus{border-color:var(--p);background:var(--glass-bg-hover);box-shadow:0 0 12px rgba(124,58,237,0.2);}
.sb-search-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--txt3);pointer-events:none;}
.sb-search-results{position:absolute;top:calc(100% - 4px);left:8px;right:8px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.15);z-index:200;max-height:260px;overflow-y:auto;display:none;}
.sb-search-results.show{display:block;}
.sbsr-item{padding:9px 13px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--glass-border);transition:all .2s ease;}
.sbsr-item:last-child{border-bottom:none;}
.sbsr-item:hover{background:var(--glass-bg-hover);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));}
.sbsr-layer{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--txt4);margin-left:auto;}
/* Global client switcher in topbar */
.client-switcher{display:flex;align-items:center;gap:7px;padding:5px 11px;border-radius:20px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));cursor:pointer;font-size:12px;font-weight:600;color:var(--txt2);transition:all .2s;position:relative;flex-shrink:0;}
.client-switcher:hover{background:var(--glass-bg-hover);border-color:var(--p);}
.client-switcher-av{width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0;}
.client-switch-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.15);z-index:1200;min-width:200px;padding:6px;display:none;}
.client-switch-dropdown.show{display:block;}
.csd-item{padding:8px 11px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;}
.csd-item:hover{background:var(--glass-bg-hover);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));}
.csd-item.active{background:linear-gradient(135deg, rgba(124,58,237,0.15), rgba(139,92,246,0.1));font-weight:700;color:var(--p);}
.csd-av{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0;}
/* Onboarding wizard */
.wizard-wrap{position:fixed;inset:0;background:rgba(10,13,20,.6);z-index:600;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.wizard-box{background:#fff;border-radius:20px;width:580px;max-width:95vw;max-height:92vh;overflow-y:auto;box-shadow:0 12px 48px rgba(0,0,0,0.15);border:1px solid rgba(0,0,0,0.06);}
.wizard-hd{padding:24px 28px 0;display:flex;align-items:center;justify-content:space-between;}
.wizard-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;}
.wizard-step-bar{display:flex;gap:4px;padding:16px 28px 0;}
.wsb-step{flex:1;height:4px;border-radius:10px;background:linear-gradient(135deg, rgba(221,220,222,0.5), rgba(221,220,222,0.3));transition:background .3s;}
.wsb-step.done{background:linear-gradient(90deg, var(--p), var(--lav));}
.wsb-step.active{background:linear-gradient(90deg, var(--lav), var(--accent));}
.wizard-body{padding:20px 28px 24px;}
.wizard-step-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--lav);margin-bottom:8px;}
.wizard-step-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:800;margin-bottom:6px;color:var(--txt);}
.wizard-step-sub{font-size:13px;color:var(--txt3);margin-bottom:18px;line-height:1.6;}
.wizard-nav{display:flex;align-items:center;justify-content:space-between;padding:0 28px 24px;}
/* Export button */
.export-btn{padding:7px 14px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid var(--border-light);background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));color:var(--txt2);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:5px;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));}
.export-btn:hover{background:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));color:var(--p);border-color:var(--p);}


/* AUTH SCREEN */
#screen-auth{background:#FFFFFF;z-index:1000;}
.auth-box{background:#fff;border-radius:20px;width:440px;max-width:95vw;padding:36px 40px;box-shadow:0 8px 40px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.06);}
.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px;}
.auth-logo-gem{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--p),var(--lav));display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff;box-shadow:0 4px 16px rgba(139,92,246,0.4);}
.auth-logo-name{font-size:16px;font-weight:700;color:var(--txt);}
.auth-logo-sub{font-size:11px;color:var(--txt3);letter-spacing:.08em;text-transform:uppercase;}
.auth-title{font-size:20px;font-weight:800;color:var(--txt);margin-bottom:8px;}
.auth-sub{font-size:13px;color:var(--txt3);margin-bottom:24px;line-height:1.6;}
.auth-error{font-size:12px;color:var(--r);margin-bottom:12px;padding:8px 12px;border-radius:8px;background:var(--r3);border:1px solid rgba(239,68,53,0.2);}
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;font-size:11px;font-weight:700;color:var(--txt2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em;}
.auth-field input{
  width:100%;padding:11px 14px;border:1.5px solid #D1D5DB;
  border-radius:10px;background:#F9FAFB;
  font-family:inherit;font-size:14px;color:#1A1D23;outline:none;
  transition:all .2s ease;
}
.auth-field input:focus{
  border-color:var(--p);
  box-shadow:0 0 0 3px rgba(139,92,246,0.15);
  background:#fff;
}
.auth-logo-name{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:var(--txt);}
.auth-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;margin-bottom:6px;color:var(--txt);}
.auth-sub{font-size:13px;color:var(--txt3);margin-bottom:24px;line-height:1.6;}
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;font-size:11px;font-weight:700;color:var(--txt2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em;}
.auth-field input{
  width:100%;padding:11px 14px;border:1.5px solid #D1D5DB;
  border-radius:10px;background:#F9FAFB;
  font-family:inherit;font-size:14px;color:#1A1D23;outline:none;
  transition:all .2s ease;
}
.auth-field input:focus{
  border-color:var(--p);
  box-shadow:0 0 0 3px rgba(124,58,237,0.15);
  background:#fff;
}
.auth-btn{
  width:100%;padding:13px;background:linear-gradient(135deg,var(--p),var(--lav));
  color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;
  cursor:pointer;font-family:inherit;margin-top:4px;
  transition:all .3s ease;
  box-shadow:0 4px 16px rgba(139,92,246,0.4);
}
.auth-btn:hover{
  background:linear-gradient(135deg,var(--lav),var(--p));
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(139,92,246,0.5);
}
.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.auth-switch{text-align:center;margin-top:18px;font-size:13px;color:var(--txt3);}
.auth-switch span{color:var(--p);font-weight:600;cursor:pointer;}
.auth-switch span:hover{text-decoration:underline;}
.auth-error{background:linear-gradient(135deg, rgba(239,68,68,0.1), rgba(239,68,68,0.05));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid rgba(232,68,53,.2);border-radius:9px;padding:10px 14px;font-size:12px;color:var(--r);margin-bottom:14px;display:none;box-shadow:var(--shadow);}
.auth-error.show{display:block;}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--txt3);font-size:11px;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border-light);}
.auth-user-chip{display:flex;align-items:center;gap:8px;padding:7px 13px;background:var(--bg3);border-radius:30px;font-size:12px;font-weight:600;border:1px solid var(--border2);}
.auth-user-chip button{background:none;border:none;cursor:pointer;color:var(--txt4);font-size:11px;padding:0 0 0 6px;}
.auth-user-chip button:hover{color:var(--r);}


/* ── INTEGRATIONS ── */
.integration-card{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:0;overflow:hidden;transition:border .2s,box-shadow .2s;margin-bottom:12px;}
.integration-card:hover{border-color:var(--border2);box-shadow:var(--shadow2);}
.integration-card.connected{border-color:rgba(26,122,110,.35);}
.intg-header{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;}
.intg-logo{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.intg-info{flex:1;}
.intg-name{font-size:14px;font-weight:700;margin-bottom:2px;}
.intg-desc{font-size:11px;color:var(--txt3);}
.intg-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;}
.intg-status.connected{background:rgba(26,122,110,.1);color:var(--g);}
.intg-status.disconnected{background:var(--bg3);color:var(--txt4);}
.intg-status.error{background:rgba(232,68,53,.08);color:var(--r);}
.intg-status.syncing{background:rgba(200,149,42,.1);color:var(--gold);}
.intg-chevron{font-size:11px;color:var(--txt4);transition:transform .2s;flex-shrink:0;}
.intg-chevron.open{transform:rotate(180deg);}
.intg-body{border-top:1px solid var(--border);padding:16px;display:none;}
.intg-body.open{display:block;}
.intg-field{margin-bottom:12px;}
.intg-field label{display:block;font-size:11px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.intg-field input{
  width:100%;padding:9px 12px;border:1.5px solid var(--border-light);
  border-radius:9px;background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  font-family:inherit;font-size:13px;color:var(--txt);outline:none;
  transition:all .3s ease;
  box-shadow:var(--shadow);
}
.intg-field input:focus{
  border-color:var(--p);
  box-shadow:0 0 16px rgba(139,92,246,0.3);
  background:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));
}
.intg-field input[type=password]{letter-spacing:.1em;}
.intg-actions{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap;}
.intg-connect-btn{
  padding:9px 20px;background:linear-gradient(135deg,var(--p),var(--p2));
  color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:700;
  cursor:pointer;font-family:inherit;transition:all .3s ease;
  box-shadow:0 4px 16px rgba(124,58,237,0.4);
}
.intg-connect-btn:hover{
  background:linear-gradient(135deg,var(--p2),var(--p));
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(124,58,237,0.5);
}
.intg-connect-btn:disabled{opacity:.5;cursor:not-allowed;}
.intg-disconnect-btn{padding:9px 16px;background:transparent;color:var(--r);border:1px solid rgba(232,68,53,.25);border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;}
.intg-disconnect-btn:hover{background:rgba(232,68,53,.06);}
.intg-sync-btn{padding:9px 16px;background:var(--bg3);color:var(--n);border:1px solid var(--border2);border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;}
.intg-sync-btn:hover{background:var(--n3);}
.intg-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;}
.intg-data-card{background:var(--bg3);border-radius:9px;padding:10px 12px;}
.intg-data-n{font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--n);}
.intg-data-l{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;}
.intg-last-sync{font-size:10px;color:var(--txt4);margin-top:8px;text-align:right;}
.intg-help{font-size:11px;color:var(--txt3);background:var(--bg3);border-radius:8px;padding:8px 11px;margin-bottom:12px;line-height:1.6;}
.intg-help a{color:var(--n);text-decoration:none;font-weight:600;}
.intg-help a:hover{text-decoration:underline;}
.intg-utm-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px;}
.intg-utm-table th{text-align:left;padding:7px 10px;background:var(--bg3);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--txt4);}
.intg-utm-table td{padding:8px 10px;border-bottom:1px solid var(--border);}
.intg-utm-table tr:last-child td{border-bottom:none;}
.utm-copy{padding:2px 8px;border-radius:5px;font-size:10px;font-weight:700;background:var(--bg3);border:1px solid var(--border2);cursor:pointer;color:var(--txt3);}
.utm-copy:hover{color:var(--n);}


/* ═══════════════════════════════════════════════════════
   GROWTHHUB DESIGN SYSTEM OVERRIDE
   ═══════════════════════════════════════════════════════ */

/* Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
html,body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif !important;}

/* ── App Shell ── */
#screen-growth{background:var(--bg);}
.app{background:var(--bg);}

/* ── Sidebar ── */
.sidebar{
  width:220px;min-width:220px;
  background:var(--card);
  border-right:1px solid var(--border);
  padding-top:0;
  box-shadow:none;
}
.sb-brand{
  background:transparent;border:none;
  padding:18px 16px 12px;margin:0;border-radius:0;
  border-bottom:1px solid var(--border);
}
.sb-nm{font-family:'Inter',sans-serif;font-size:16px;font-weight:800;color:var(--txt);letter-spacing:-.3px;}
.sb-nm-sub{font-size:10px;color:var(--txt4);letter-spacing:.04em;text-transform:uppercase;font-weight:500;}
.sb-gem{border-radius:8px;}
.sb-search-wrap{padding:12px 12px 8px;}
.sb-search{
  width:100%;padding:8px 12px 8px 32px;
  border:1px solid var(--border);border-radius:8px;
  background:var(--bg3);font-size:12px;color:var(--txt);
  font-family:'Inter',sans-serif;
}
.sb-search:focus{border-color:var(--p);outline:none;background:var(--card);}
.sb-sec{font-size:10px;font-weight:700;color:var(--txt4);
  text-transform:uppercase;letter-spacing:.1em;
  padding:12px 16px 4px;}

/* ── Nav buttons ── */
.nav-btn{
  font-family:'Inter',sans-serif;
  font-size:12.5px;font-weight:500;
  padding:7px 10px;margin:1px 8px;
  border-radius:8px;color:var(--txt3);
  gap:8px;
}
.nav-btn:hover{background:var(--bg3);color:var(--txt2);}
.nav-btn.act-g{
  background:var(--p3);color:var(--p);
  font-weight:600;border:1px solid var(--p4);
}
.nd{border-radius:5px;width:15px;height:15px;font-size:8px;}
.nd-g{background:var(--p3);color:var(--p);}
.nd-ai{background:linear-gradient(135deg,var(--p),var(--lav));color:#fff;}

/* ── Sidebar phase headers ── */
.sb-divider{height:1px;background:var(--border);margin:4px 12px 2px;}
.sb-phase-hd{padding:8px 16px 2px;}
.sb-phase-badge{
  font-size:9px;font-weight:700;letter-spacing:.08em;
  padding:2px 8px;border-radius:20px;
}
.lb-foundation{background:rgba(245,158,11,.1);color:#D97706;border:1px solid rgba(245,158,11,.2);}
.lb-strategy{background:var(--p3);color:var(--p);border:1px solid var(--p4);}
.lb-execution{background:rgba(16,185,129,.08);color:var(--g);border:1px solid rgba(16,185,129,.2);}
.lb-management{background:rgba(139,92,246,.1);color:var(--lav);border:1px solid rgba(139,92,246,.2);}
.phase-ring{width:16px;height:16px;font-size:7px;border-radius:50%;}
.ring-empty{border-color:var(--border2);color:var(--txt4);}
.ring-partial{border-color:var(--p);color:var(--p);background:var(--p3);}
.ring-done{border-color:var(--g);color:var(--g);background:rgba(16,185,129,.1);}
.nav-pipe-dot{width:5px;height:5px;border-radius:50%;}
.pipe-done{background:var(--g);}
.pipe-empty{background:var(--border2);}

/* Client chips */
.cl-chip{border-radius:8px;padding:7px 10px;margin:0 8px 2px;}
.cl-chip:hover{background:var(--bg3);}
.cl-chip.active{background:var(--p3);border:1px solid var(--p4);}

/* Sidebar footer */
.sb-foot{padding:12px;border-top:1px solid var(--border);}
.sb-track{height:4px;border-radius:4px;background:var(--bg4);}
.sb-fill-g{background:linear-gradient(90deg,var(--p),var(--lav));}

/* Sidebar plan row — mobile only */
.sb-plan-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 16px;
  border-top:1px solid var(--border);
  font-size:11px;
  color:var(--txt3);
}
.sb-plan-row button{
  font-size:11px;
  font-weight:700;
  color:var(--lav);
  background:none;
  border:none;
  cursor:pointer;
  font-family:inherit;
}
@media(min-width:901px){
  .sb-plan-row{display:none;}
}

/* Sidebar reports section */
.sb-reports-section{
  display:block;
}
.sb-reports-section button{
  padding:4px 8px;
  border-radius:6px;
  border:1px solid var(--border);
  background:var(--bg2);
  color:var(--txt2);
  font-size:10px;
  cursor:pointer;
  font-family:inherit;
  transition:all .15s;
}
.sb-reports-section button:hover{
  background:var(--bg3);
  border-color:var(--n);
}
#past-reports-container{
  scrollbar-width:thin;
}
#past-reports-container::-webkit-scrollbar{
  width:4px;
}
#past-reports-container::-webkit-scrollbar-thumb{
  background:var(--border);
  border-radius:2px;
}

/* ── Topbar ── */
.topbar{
  padding:12px 24px;
  background:var(--card);
  border-bottom:1px solid var(--border);
  box-shadow:none;
}
.tb-title{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;letter-spacing:-.2px;color:var(--txt);}
.tb-sub{font-size:11px;color:var(--txt4);font-weight:400;margin-top:1px;}

/* ── Content area ── */
.content{padding:24px 28px;background:var(--bg);}

/* ── Cards ── */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:var(--shadow);
}
.card-hd{font-size:13px;font-weight:700;color:var(--txt);}

/* ── Buttons ── */
.btn{
  border-radius:8px;font-family:'Inter',sans-serif;
  font-size:12.5px;font-weight:600;
  border:1px solid var(--border2);
  padding:7px 14px;
}
.btn:hover{background:var(--bg3);}
.btn-n{background:var(--p);color:#fff;border:none;box-shadow:0 4px 12px rgba(99,102,241,.25);}
.btn-n:hover{background:var(--p2);color:#fff;}
.btn-r{background:var(--r);color:#fff;border:none;box-shadow:0 4px 12px rgba(239,68,68,.2);}
.btn-r:hover{background:var(--r2);color:#fff;}
.btn-ai{background:linear-gradient(135deg,var(--p),var(--lav));color:#fff;border:none;box-shadow:0 4px 14px rgba(99,102,241,.3);}
.btn-ai:hover{opacity:.9;transform:translateY(-1px);}
.btn-g{background:rgba(16,185,129,.08);color:var(--g);border:1px solid rgba(16,185,129,.2);}
.btn-gold{background:var(--gold2);color:#D97706;border:1px solid rgba(245,158,11,.2);}
.btn-sm{padding:5px 12px;font-size:11.5px;}

/* ── AI button ── */
.ai-btn{
  background:linear-gradient(135deg,var(--p),var(--lav));
  color:#fff;border:none;border-radius:8px;
  padding:6px 14px;font-size:12px;font-weight:600;
  font-family:'Inter',sans-serif;cursor:pointer;
  box-shadow:0 4px 12px rgba(99,102,241,.25);
  display:inline-flex;align-items:center;gap:5px;
  transition:all .2s;
}
.ai-btn:hover{opacity:.9;transform:translateY(-1px);}

/* ── Hero / Page header ── */
.phero{
  border-radius:12px;padding:18px 22px;
  border:1px solid var(--border);
  background:var(--card);
  box-shadow:var(--shadow);
}
.ph-ico{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.ph-title{font-size:16px;font-weight:800;color:var(--txt);letter-spacing:-.2px;}
.ph-sub{font-size:11.5px;color:var(--txt3);margin-top:2px;}
.phs-v{font-size:20px;font-weight:800;}
.phs-l{font-size:9.5px;color:var(--txt4);text-transform:uppercase;letter-spacing:.07em;}

/* ── Insights ── */
.insight{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:10px;padding:12px 14px;margin-bottom:12px;
  display:flex;gap:10px;align-items:flex-start;
}
.ins-ico{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;}
.ins-title{font-size:12.5px;font-weight:700;color:var(--txt);margin-bottom:2px;}
.ins-body{font-size:12px;color:var(--txt3);line-height:1.5;}

/* ── ICard (expandable) ── */
.icard{
  background:var(--card);border:1px solid var(--border);
  border-radius:12px;margin-bottom:10px;overflow:hidden;
  box-shadow:var(--shadow);transition:box-shadow .2s;
}
.icard:hover{box-shadow:var(--shadow2);}
.ic-hd{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;cursor:pointer;
}
.ic-chev{font-size:10px;color:var(--txt4);transition:transform .2s;flex-shrink:0;}
.icard.open .ic-chev{transform:rotate(180deg);}
.ic-bd{padding:0 16px 16px;border-top:1px solid var(--border);display:none;}
.icard.open .ic-bd{display:block;}

/* ── Badges ── */
.bdg{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;}
.b-n{background:var(--p3);color:var(--p);}
.b-r{background:rgba(239,68,68,.08);color:var(--r);}
.b-g{background:rgba(16,185,129,.08);color:var(--g);}
.b-gray{background:var(--bg4);color:var(--txt3);}
.b-gold{background:var(--gold2);color:#D97706;}

/* ── Forms ── */
.fi,.fs{
  border:1px solid var(--border2);border-radius:8px;
  background:var(--card);font-family:'Inter',sans-serif;
  font-size:13px;color:var(--txt);padding:8px 11px;
  transition:border .15s;outline:none;
}
.fi:focus,.fs:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(99,102,241,.1);}

/* ── Strat section (collapsible blocks) ── */
.strat-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;box-shadow:var(--shadow);}
.strat-sec-hd{padding:14px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.strat-sec-title{font-size:13px;font-weight:700;color:var(--txt);}

/* ── Modal ── */
.modal{border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.12);}
.modal-hd{font-size:15px;font-weight:700;color:var(--txt);}
.modal-bg{background:rgba(0,0,0,.3);}

/* ── Score / KPI bars ── */
.sc-kpi{border-radius:10px;border:1px solid var(--border);}
.sc-kpi.ok{border-left:3px solid var(--g);}
.sc-kpi.warn{border-left:3px solid var(--gold);}
.sc-kpi.bad{border-left:3px solid var(--r);}

/* ── Found fields ── */
.found-field input:focus,.found-field select:focus,.found-field textarea:focus{border-color:var(--p);}

/* ── Topbar vertical badge ── */
#vertical-badge{
  background:var(--p3);color:var(--p);
  border:1px solid var(--p4) !important;
  border-radius:20px;font-weight:700;
}

/* ── Foundation indicator ── */
#foundation-indicator{
  background:var(--bg3) !important;
  border:1px solid var(--border) !important;
  border-radius:20px;
}

/* ── Progress bar in level cards ── */
.level-prog-bar{height:6px;border-radius:6px;background:var(--bg4);}
.level-prog-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--p),var(--lav));}

/* ── Table styles ── */
.sc-table th{background:var(--bg3);color:var(--txt4);}
.sc-table tr:hover td{background:var(--bg3);}

/* ── Export btn ── */
.export-btn{
  border-radius:8px;border:1px solid var(--border);
  background:var(--card);color:var(--txt3);padding:6px 12px;
  font-size:12px;
}
.export-btn:hover{background:var(--bg3);color:var(--txt);}

/* ── Dark mode — merged into body.dark above ── */
/* Alias: body.dark-mode also triggers dark mode for backwards compat */
body.dark-mode{
  --bg:#0A0A0F;--bg2:#12121A;--bg3:#1A1A24;--bg4:#22222E;--bg5:#2A2A38;
  --card:#161B24;--border:#242D3E;--border2:#2E3A50;
  --txt:#F0F2F5;--txt2:#C8CDD6;--txt3:#8892A0;--txt4:#556070;
  --p3:rgba(99,102,241,.15);--p4:rgba(99,102,241,.25);
  --shadow:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);
  --shadow2:0 4px 12px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.2);
  --shadow3:0 12px 40px rgba(0,0,0,.5);

  /* Glass Card Base - Dark Mode */
  --glass-bg:rgba(255,255,255,0.08);
  --glass-bg-hover:rgba(255,255,255,0.12);
  --glass-border:rgba(255,255,255,0.12);
  --glass-border-hover:rgba(255,255,255,0.18);
  --glass-highlight:rgba(255,255,255,0.2);

  /* Primary Colors - Dark Mode */
  --p:#8B5CF6;
  --p2:#7C3AED;
  --p3:rgba(124,58,237,0.15);
  --p4:rgba(124,58,237,0.25);

  /* Accent Colors - Dark Mode */
  --accent:#3B82F6;
  --accent2:#2563EB;
  --accent3:rgba(6,182,212,0.15);
  --accent4:rgba(6,182,212,0.25);

  /* Semantic Colors - Dark Mode */
  --r:#EF4444;
  --r2:#DC2626;
  --r3:rgba(239,68,53,0.15);
  --n:#8B5CF6;
  --n2:#7C3AED;
  --n3:rgba(124,58,237,0.15);
  --g:#10B981;
  --g2:rgba(16,185,129,0.15);
  --secondary:#F97316;
  --gold:#F59E0B;
  --gold2:rgba(245,158,11,0.15);
  --lav:#8B5CF6;
  --lav2:rgba(139,92,246,0.15);

  /* Shadows - Dark Mode */
  --shadow:0 8px 32px rgba(0,0,0,0.4);
  --shadow2:0 12px 48px rgba(0,0,0,0.5);
  --shadow3:0 20px 64px rgba(0,0,0,0.6);
  --shadow-glow:0 0 24px rgba(124,58,237,0.3);
  --shadow-glow-accent:0 0 24px rgba(6,182,212,0.3);
}

/* Dark mode specific overrides */
body.dark .modal-bg{background:rgba(0,0,0,.7);}
body.dark .toast2{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .back-btn{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .i-stats{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);}
body.dark .i-badge{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .btn{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt);}
body.dark .btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);}
body.dark .btn-outline{border:1px solid var(--glass-border);}
body.dark .btn-outline:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);}
body.dark .btn-primary{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border:none;}
body.dark .btn-primary:hover{background:linear-gradient(135deg,var(--p2),var(--p));}
body.dark .dm-toggle{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt);}
body.dark .dm-toggle:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);}
body.dark .export-btn{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt2);}
body.dark .export-btn:hover{background:var(--glass-bg-hover);border-color:var(--p);color:var(--p);}
body.dark .tag{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt2);}
body.dark .tag:hover{border-color:var(--glass-border-hover);}
body.dark .tag.sel{background:var(--n3);border-color:var(--glass-border);color:var(--n);}
body.dark .modal-x{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt2);}
body.dark .modal-x:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--txt);}
body.dark .wizard-wrap{background:rgba(0,0,0,.8);}
body.dark .wizard-box{background:#1A1A25;border:1px solid rgba(255,255,255,0.1);}
body.dark .wsb-step{background:rgba(255,255,255,0.1);}
body.dark .auth-box{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-top:1px solid var(--glass-border-top);}
body.dark .card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-top:1px solid var(--glass-border-top);}
body.dark .card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);}
body.dark .phero{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);}
body.dark .kpi-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-top:1px solid var(--glass-border-top);}
body.dark .kpi-card:hover{border-color:var(--glass-border-hover);}
body.dark .sb-brand{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .sidebar{border-right:1px solid var(--glass-border);}
body.dark .topbar{border-bottom:1px solid var(--glass-border);}
body.dark .copy-tabs{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .copy-tab:hover{background:var(--glass-bg-hover);}
body.dark .copy-tab.active{background:var(--glass-bg-hover);}
body.dark .dialect-btn{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt3);}
body.dark .dialect-btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border);color:var(--txt2);}
body.dark .audit-metric{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .cro-sec{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);}
body.dark .cro-sec-hd:hover{background:var(--glass-bg-hover);}
body.dark .sb-phase-hd{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .sb-phase-hd:hover{background:var(--glass-bg-hover);}
body.dark .sb-phase-badge{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .kpi-bench-trigger{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt3);}
body.dark .kpi-bench-popover{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);}
body.dark .full-os-module{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .full-os-module:hover{border-color:var(--p);background:var(--glass-bg-hover);}
body.dark .fom-check{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .ai-rich-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);}
body.dark .progress-bar{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}
body.dark .content-angle-input{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--txt);}
body.dark .content-angle-input:focus{background:var(--glass-bg-hover);border-color:var(--p);}
body.dark .phs{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--txt4);border-radius:10px;}
::-webkit-scrollbar-thumb:hover{background:var(--txt3);}

/* ── Toast ── */
/* toast v2 — override cleared */

/* ── Strat layer badges (for AI output sections) ── */
.ai-section{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;}
.ai-section-title{font-size:10px;font-weight:700;color:var(--p);text-transform:uppercase;letter-spacing:.08em;}

/* ── Empty state ── */
.empty-state{text-align:center;padding:48px 24px;color:var(--txt3);}
.es-icon{font-size:40px;margin-bottom:12px;}
/* v5 Additions */
.check-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s;}
.check-item:last-child{border-bottom:none;}
.chk-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;background:var(--bg);}
.chk-box.checked{background:var(--g);border-color:var(--g);}
.chk-box.checked::after{content:'✓';font-size:10px;color:white;font-weight:700;}
.chk-label{font-size:13px;font-weight:500;flex:1;transition:all .2s;}
.check-item.done .chk-label{text-decoration:line-through;color:var(--txt4);}
/* ── PDF Report styles (scoped to .pdf-report only) ── */
.pdf-report{
  font-family:'Inter',sans-serif;font-size:13px;color:#1a1a2e;background:#fff;padding:40px 48px;max-width:900px;margin:0 auto;
}
.pdf-report *{margin:0;padding:0;box-sizing:border-box;}
.pdf-report .report-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:18px;border-bottom:2px solid #0d1f3c;margin-bottom:28px;}
.pdf-report .report-logo{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;color:#0d1f3c;letter-spacing:-.5px;}
.pdf-report .report-logo span{color:#c8952a;}
.pdf-report .report-meta{text-align:right;font-size:11px;color:#666;}
.pdf-report .report-meta .client{font-size:14px;font-weight:700;color:#0d1f3c;margin-bottom:3px;}
.pdf-report .report-title{font-family:'Playfair Display',serif;font-size:26px;font-weight:800;color:#0d1f3c;margin-bottom:6px;line-height:1.2;}
.pdf-report .report-subtitle{font-size:12px;color:#888;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;margin-bottom:28px;}
.pdf-report .content{white-space:pre-wrap;line-height:1.8;color:#2a2a3e;font-size:13px;}
.pdf-report .content h1,.pdf-report .content h2{font-family:'Playfair Display',serif;font-weight:800;color:#0d1f3c;margin:24px 0 10px;}
.pdf-report .content h1{font-size:20px;}
.pdf-report .content h2{font-size:16px;}
.pdf-report .content h3{font-size:14px;font-weight:700;color:#0d1f3c;margin:16px 0 6px;}
.pdf-report .content strong,.pdf-report .content b{font-weight:700;}
.pdf-report .divider{height:1px;background:#e8e8f0;margin:20px 0;}
.pdf-report .footer{margin-top:40px;padding-top:14px;border-top:1px solid #e8e8f0;display:flex;justify-content:space-between;font-size:10px;color:#aaa;font-family:'DM Mono',monospace;}
@media print{.pdf-report{padding:28px 36px;}}
#c-location-wrap{transition:all .2s;}
/* Global mobile hardening */
html,body{max-width:100%;overflow-x:hidden;}
img,video{max-width:100%;height:auto;}
table{width:100%;max-width:100%;}

/* ─── RESPONSIVE ─── */

/* ===== MOBILE RESPONSIVE (consolidated below) ===== */

/* ── Accessibility: Focus styles ── */
:focus-visible{outline:2px solid var(--n);outline-offset:2px;border-radius:4px;}
.btn:focus-visible,.btn-sm:focus-visible{outline-offset:2px;}
.nav-btn:focus-visible{outline-offset:-2px;border-radius:8px;}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--p);outline-offset:1px;}
.cc:focus-visible{outline-offset:2px;}
#gs-input{outline:none;}
#gs-input:focus-visible{outline:none;border-bottom:2px solid var(--p);}

/* ─── AI OUTPUT ─── */
.ai-out{background:var(--card);border:1.5px solid rgba(107,92,231,.22);border-radius:16px;padding:22px;margin:14px 0;box-shadow:0 4px 24px rgba(107,92,231,.09);}
.ai-out-hd{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.ai-out-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#6B5CE7,#E84435);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0;}
.ai-out-title{font-size:14px;font-weight:700;color:var(--txt);}
.ai-out-sub{font-size:11.5px;color:var(--txt3);margin-top:2px;}
.ai-content{font-size:13.5px;line-height:1.8;color:var(--txt2);}
.ai-content strong{color:var(--txt);font-weight:700;}
.ai-content code{background:var(--bg3);border:1px solid var(--border2);border-radius:5px;padding:1px 6px;font-family:DM Mono,monospace;font-size:11.5px;}
/* ─── GEN ALL BUTTON ─── */
.gen-all-btn{width:100%;padding:16px;border-radius:16px;font-size:15px;font-weight:700;background:linear-gradient(135deg,#0D1F3C,#1E3A5F);color:#fff;border:none;cursor:pointer;font-family:inherit;box-shadow:0 8px 24px rgba(13,31,60,.3);transition:all .3s;margin:14px 0;display:flex;align-items:center;justify-content:center;gap:12px;}
.gen-all-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(13,31,60,.4);}
.gen-all-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
/* ─── PROGRESS OVERLAY ─── */
.gen-overlay{position:fixed;inset:0;background:rgba(13,31,60,.88);z-index:999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);}
.gen-card{background:var(--card);border-radius:24px;padding:36px 44px;max-width:480px;width:92%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.3);}
.gen-step{padding:9px 14px;border-radius:10px;margin-bottom:7px;font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:10px;text-align:left;}
.gen-step.done{background:rgba(26,122,110,.1);color:var(--g);}
.gen-step.running{background:rgba(13,31,60,.07);color:var(--n);}
.gen-step.pending{background:var(--bg3);color:var(--txt4);}
.gen-bar-wrap{height:5px;background:var(--bg4);border-radius:5px;overflow:hidden;margin:18px 0;}
.gen-bar-fill{height:100%;background:linear-gradient(90deg,var(--n),#6B5CE7);border-radius:5px;transition:width .6s ease;}
/* ─── DASHBOARD v11 ──────────────────────────────────── */
.dash-wrap{display:flex;flex-direction:column;gap:16px;}
.client-switcher-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2px;}
.client-tab{padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--bg3);color:var(--txt3);transition:all .2s;}
.client-tab.active{background:var(--n);border-color:var(--n);color:#fff;}
.client-tab:hover:not(.active){background:var(--bg4);color:var(--txt);}

.dash-client-header{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--rr);padding:20px;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.dash-av-wrap{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;flex-shrink:0;position:relative;}
.dash-hs-ring{position:absolute;inset:-5px;border-radius:19px;border:3px solid transparent;}
.dash-client-info{flex:1;min-width:200px;}
.dash-client-name{font-family:'Playfair Display',serif;font-size:21px;font-weight:800;margin-bottom:5px;}
.dash-client-meta{font-size:12px;color:var(--txt3);display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px;}
.dash-metric-pills{display:flex;flex-wrap:wrap;gap:6px;}
.dash-pill{display:flex;align-items:center;gap:5px;background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:11px;}
.dash-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.dash-client-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;}

/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.kpi-card{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1.5px solid var(--glass-border);
  border-top:3px solid var(--kpi-c,var(--border));
  border-top:3px solid var(--glass-highlight);
  border-radius:var(--rr);padding:14px 16px;
  transition:all .3s ease;
  box-shadow:var(--shadow);
}
.kpi-card:hover{
  background:var(--glass-bg-hover);
  border-color:var(--glass-border-hover);
  transform:translateY(-2px);
  box-shadow:var(--shadow2);
}
.kpi-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--txt3);margin-bottom:5px;}
.kpi-value{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;color:var(--kpi-c,var(--txt));line-height:1;}
.kpi-sub{font-size:10px;color:var(--txt3);margin-top:3px;}
.kpi-badge{display:inline-block;margin-top:7px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;}
.kpi-up{background:rgba(16,185,129,0.2);color:var(--g);border:1px solid rgba(16,185,129,0.3);}
.kpi-warn{background:rgba(245,158,11,0.2);color:var(--gold);border:1px solid rgba(245,158,11,0.3);}
.kpi-down{background:rgba(239,68,53,0.2);color:var(--r);border:1px solid rgba(239,68,53,0.3);}

/* Alerts */
.dash-alerts{display:flex;gap:10px;flex-wrap:wrap;}
.dash-alert{flex:1;min-width:220px;border-radius:var(--rr);padding:12px 14px;display:flex;gap:10px;border:1.5px solid;}
.dash-alert-icon{font-size:15px;flex-shrink:0;margin-top:1px;}
.dash-alert-title{font-size:12px;font-weight:700;margin-bottom:2px;}
.dash-alert-text{font-size:11px;line-height:1.5;color:var(--txt3);}

/* Charts grid */
.dash-charts-2{display:grid;grid-template-columns:2fr 1fr;gap:14px;}
.dash-charts-eq{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.dash-card{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--rr);padding:16px;}
.dash-card-title{font-size:13px;font-weight:700;margin-bottom:2px;}
.dash-card-sub{font-size:11px;color:var(--txt3);margin-bottom:12px;}

/* SVG bar chart */
.svg-bar-wrap{width:100%;overflow:visible;}
.svg-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.svg-bar-label{font-size:11px;color:var(--txt3);min-width:80px;text-align:right;flex-shrink:0;}
.svg-bar-track{flex:1;height:10px;background:var(--bg4);border-radius:5px;overflow:hidden;position:relative;}
.svg-bar-fill{height:100%;border-radius:5px;transition:width .5s cubic-bezier(.4,0,.2,1);}
.svg-bar-val{font-size:10.5px;font-weight:700;min-width:50px;color:var(--txt);}

/* Donut SVG */
.donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.donut-legend{display:flex;flex-direction:column;gap:6px;flex:1;}
.donut-leg-row{display:flex;align-items:center;gap:7px;font-size:11px;}
.donut-leg-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0;}

/* Progress */
.prog-section{display:flex;flex-direction:column;gap:9px;}
.prog-row{display:flex;align-items:center;gap:10px;}
.prog-label{font-size:11.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prog-track{width:90px;height:6px;background:var(--bg4);border-radius:4px;overflow:hidden;flex-shrink:0;}
.prog-fill{height:100%;border-radius:4px;transition:width .4s;}
.prog-val{font-size:11px;font-weight:700;min-width:28px;text-align:right;}

/* Mini stats */
.mini-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;}
.mini-stat{background:var(--bg3);border-radius:10px;padding:10px;text-align:center;}
.mini-stat-val{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;}
.mini-stat-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--txt4);margin-top:2px;}
.mini-perf-row{background:var(--bg3);border-radius:10px;padding:12px;margin-top:10px;}
.mini-perf-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--txt4);margin-bottom:8px;}
.mini-cro-bar{height:7px;border-radius:4px;background:var(--bg4);overflow:hidden;margin:6px 0;}
.mini-cro-fill{height:100%;border-radius:4px;transition:width .5s;}

/* ─── MOBILE RESPONSIVE ──────────────────────────────── */
@media(hover:none){
  .btn,.btn-xs,.btn-sm,.tag,.nav-btn{min-height:44px!important;}
  .btn-xs{min-height:36px!important;}
  input[type="range"]{height:28px!important;}
}
*{-webkit-tap-highlight-color:transparent;}
/* ─── GLOBAL SEARCH ──────────────────────────────────── */
#gs-overlay{
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.55);backdrop-filter:blur(4px);
  align-items:flex-start;justify-content:center;padding-top:80px;
}
#gs-overlay.open{display:flex;}
#gs-box{
  width:min(600px,94vw);
  background:var(--bg2);border:1.5px solid var(--border);
  border-radius:16px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
#gs-input-wrap{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;border-bottom:1.5px solid var(--border);
}
#gs-icon{font-size:16px;color:var(--txt3);}
#gs-input{
  flex:1;background:transparent;border:none;outline:none;
  font-size:15px;font-family:inherit;color:var(--txt);
  caret-color:var(--n);
}
#gs-input::placeholder{color:var(--txt4);}
#gs-kbd{
  font-size:10px;padding:3px 7px;border-radius:6px;
  background:var(--bg4);color:var(--txt4);border:1px solid var(--border);
  font-family:'DM Mono',monospace;white-space:nowrap;
}
#gs-results{max-height:400px;overflow-y:auto;}
.gs-section-lbl{
  font-size:9.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.09em;color:var(--txt4);
  padding:10px 16px 4px;
}
.gs-result{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;cursor:pointer;transition:background .15s;
  border-left:3px solid transparent;
}
.gs-result:hover,.gs-result.focused{
  background:var(--bg3);border-left-color:var(--n);
}
.gs-result-icon{
  width:30px;height:30px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;
}
.gs-result-title{font-size:13px;font-weight:600;}
.gs-result-meta{font-size:11px;color:var(--txt3);margin-top:1px;}
.gs-empty{padding:32px;text-align:center;color:var(--txt3);font-size:13px;}
.gs-footer{
  padding:10px 16px;border-top:1px solid var(--border);
  display:flex;gap:14px;
  font-size:10.5px;color:var(--txt4);
}
.gs-footer kbd{
  background:var(--bg4);border:1px solid var(--border);
  border-radius:5px;padding:2px 6px;font-size:9.5px;
  font-family:'DM Mono',monospace;
}

/* ─── GLOBAL SEARCH TRIGGER BUTTON ──── */
#gs-trigger{
  display:flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:8px;
  background:var(--bg3);border:1.5px solid var(--border);
  color:var(--txt3);cursor:pointer;font-size:12px;font-family:inherit;
  transition:all .2s;min-width:180px;
}
#gs-trigger:hover{background:var(--bg4);border-color:var(--n);color:var(--txt);}
#gs-trigger-kbd{
  margin-left:auto;font-size:9.5px;padding:2px 6px;
  background:var(--bg4);border:1px solid var(--border);
  border-radius:5px;font-family:'DM Mono',monospace;
}

/* ─── COMPARISON TABLE ───────────────────────────────── */
#comp-overlay{
  display:none;position:fixed;inset:0;z-index:9998;
  background:rgba(0,0,0,.5);backdrop-filter:blur(3px);
  align-items:center;justify-content:center;padding:20px;
}
#comp-overlay.open{display:flex;}
#comp-box{
  background:var(--bg2);border:1.5px solid var(--border);
  border-radius:16px;width:min(1000px,96vw);max-height:85vh;
  overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
#comp-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1.5px solid var(--border);
}
#comp-hd-title{font-size:16px;font-weight:700;}
#comp-body{overflow:auto;flex:1;}
.comp-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.comp-table th{
  padding:10px 14px;text-align:left;
  background:var(--bg3);border-bottom:1.5px solid var(--border2);
  font-size:9.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--txt4);white-space:nowrap;
  position:sticky;top:0;z-index:1;
}
.comp-table td{
  padding:10px 14px;border-bottom:1px solid var(--border);
  vertical-align:middle;
}
.comp-table tr:hover td{background:var(--bg3);}
.comp-table tr:last-child td{border-bottom:none;}
.comp-cell-name{
  display:flex;align-items:center;gap:10px;min-width:140px;
}
.comp-av{
  width:28px;height:28px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#fff;flex-shrink:0;
}
.comp-metric{
  font-family:'Playfair Display',serif;font-size:15px;font-weight:800;
}
.comp-sub{font-size:10px;color:var(--txt4);margin-top:1px;}
.comp-bar-mini{
  height:4px;border-radius:3px;background:var(--bg4);
  overflow:hidden;margin-top:4px;width:60px;
}
.comp-bar-mini-fill{height:100%;border-radius:3px;}
.comp-best{
  background:rgba(26,122,110,.08);
}
.comp-worst{
  background:rgba(232,68,53,.06);
}

/* ─── HEALTH SCORE AUTO-CALC ─────────────────────────── */
.hs-auto-card{
  background:var(--bg3);border:1.5px solid var(--border);
  border-radius:12px;padding:14px;margin-top:10px;
}
.hs-auto-title{
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--txt4);margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.hs-factor-row{
  display:flex;align-items:center;gap:8px;margin-bottom:7px;
}
.hs-factor-label{font-size:11.5px;flex:1;color:var(--txt3);}
.hs-factor-bar{
  width:70px;height:5px;background:var(--bg4);
  border-radius:3px;overflow:hidden;flex-shrink:0;
}
.hs-factor-fill{height:100%;border-radius:3px;}
.hs-factor-pts{
  font-size:11px;font-weight:700;min-width:40px;text-align:right;
  font-family:'DM Mono',monospace;
}
.hs-total{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:10px;border-top:1px solid var(--border);margin-top:4px;
}
.hs-total-label{font-size:12px;font-weight:700;}
.hs-total-score{
  font-family:'Playfair Display',serif;font-size:26px;font-weight:800;
}

/* ─── PDF REPORT BUTTON IN DASHBOARD ─── */
.dash-export-btn{
  padding:9px 16px;border-radius:10px;font-size:12px;font-weight:600;
  background:var(--bg3);border:1.5px solid var(--border);
  color:var(--txt);cursor:pointer;font-family:inherit;
  display:flex;align-items:center;gap:6px;transition:all .2s;
}
.dash-export-btn:hover{background:var(--bg4);border-color:var(--n);}

/* ─── PDF PRINT STYLES ───────────────────────────────── */
@media print{
  body>*{display:none!important;}
  #pdf-report-frame{display:block!important;}
}
#pdf-report-frame{
  display:block;
  position:absolute;
  left:-200vw;
  top:0;
  width:0;
  height:0;
  overflow:visible;
  pointer-events:none;
}

.pdf-report{
  font-family:'DM Sans',sans-serif;color:#0D1F3C;
  max-width:820px;margin:0 auto;padding:40px;
  background:#fff;
}
.pdf-header{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:24px;border-bottom:2px solid #0D1F3C;margin-bottom:28px;
}
.pdf-logo{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;}
.pdf-date{font-size:11px;color:#888;}
.pdf-client-name{font-family:'Playfair Display',serif;font-size:30px;font-weight:800;margin-bottom:6px;}
.pdf-client-meta{font-size:13px;color:#666;margin-bottom:28px;}
.pdf-section{margin-bottom:28px;}
.pdf-section-title{
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:#888;border-bottom:1px solid #eee;
  padding-bottom:6px;margin-bottom:14px;
}
.pdf-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px;}
.pdf-kpi{background:#f5f7fa;border-radius:10px;padding:12px;text-align:center;border-top:3px solid #0D1F3C;}
.pdf-kpi-val{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:#0D1F3C;}
.pdf-kpi-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-top:3px;}
.pdf-table{width:100%;border-collapse:collapse;font-size:12px;}
.pdf-table th{background:#0D1F3C;color:#fff;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;}
.pdf-table td{padding:8px 10px;border-bottom:1px solid #eee;}
.pdf-table tr:nth-child(even) td{background:#f9fafb;}
.pdf-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;}
.pdf-green{background:#d1fae5;color:#065f46;}
.pdf-gold{background:#fef3c7;color:#92400e;}
.pdf-red{background:#fee2e2;color:#991b1b;}
.pdf-hs-bar{height:10px;border-radius:6px;background:#e5e7eb;overflow:hidden;margin-top:8px;}
.pdf-hs-fill{height:100%;border-radius:6px;}
.pdf-footer{margin-top:32px;padding-top:16px;border-top:1px solid #eee;display:flex;justify-content:space-between;font-size:10px;color:#aaa;}
/* NOTE: Duplicate PDF styles with ${cl.avG} / ${hsBg} template literals removed.
   PDF reports are generated dynamically via document.write() in a new window by JS. */
/* ─── AI OUTPUT v14 ─────────────────────────────────── */
.ai-out-v14{
  background:var(--bg2);border:1.5px solid var(--border);
  border-top:3px solid var(--lav);border-radius:var(--rr);
  overflow:hidden;margin-bottom:14px;
}
.ai-out-v14-hd{
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;border-bottom:1px solid var(--border);
  background:var(--bg3);
}
.ai-out-v14-icon{
  width:28px;height:28px;border-radius:8px;
  background:linear-gradient(135deg,var(--lav),var(--n));
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:#fff;flex-shrink:0;
}
.ai-out-v14-title{font-size:13px;font-weight:700;flex:1;}
.ai-out-v14-sub{font-size:10.5px;color:var(--txt3);margin-top:1px;}
.ai-out-v14-actions{display:flex;gap:6px;flex-wrap:wrap;}
.ai-out-v14-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:7px;font-size:11px;font-weight:600;
  border:1.5px solid var(--border);background:var(--bg4);
  color:var(--txt3);cursor:pointer;font-family:inherit;
  transition:all .15s;white-space:nowrap;
}
.ai-out-v14-btn:hover{background:var(--bg2);border-color:var(--n);color:var(--txt);}
.ai-out-v14-body{
  padding:20px;font-size:13px;line-height:1.75;
  max-height:600px;overflow-y:auto;
}
.ai-out-v14-body h1{
  font-family:'Playfair Display',serif;font-size:20px;font-weight:900;
  color:var(--n);margin:18px 0 10px;
}
.ai-out-v14-body h2{
  font-family:'Playfair Display',serif;font-size:16px;font-weight:800;
  color:var(--n);margin:20px 0 8px;padding-bottom:6px;
  border-bottom:1.5px solid var(--border2);
}
.ai-out-v14-body h3{
  font-size:13.5px;font-weight:700;color:var(--txt);
  margin:14px 0 6px;
}
.ai-out-v14-body strong{color:var(--txt);font-weight:700;}
.ai-out-v14-body em{font-style:italic;color:var(--txt3);}
.ai-out-v14-body ul{padding-left:18px;margin:8px 0;}
.ai-out-v14-body li{margin-bottom:6px;}
.ai-out-v14-body p{margin:8px 0;}
.ai-out-v14-body blockquote{
  border-left:3px solid var(--lav);padding:8px 14px;
  background:var(--lav2);border-radius:0 8px 8px 0;margin:10px 0;
  font-style:italic;color:var(--txt3);
}
.ai-out-v14-body hr{border:none;border-top:1px solid var(--border);margin:16px 0;}
.ai-out-v14-body code{
  background:var(--bg4);border-radius:5px;
  padding:1px 6px;font-family:'DM Mono',monospace;font-size:11.5px;
}
.ai-ver-block{
  background:var(--bg3);border:1.5px solid var(--border);
  border-radius:10px;padding:14px 16px;margin:10px 0;
}
.ai-ver-label{
  font-size:9.5px;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--lav);margin-bottom:8px;
}

/* ─── GENERATION HISTORY ─────────────────────────────── */
.gen-history-section{margin-top:20px;}
.gen-history-title{
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--txt4);margin-bottom:10px;
  display:flex;align-items:center;justify-content:space-between;
}
.gen-history-list{display:flex;flex-direction:column;gap:8px;}
.gen-history-item{
  background:var(--bg2);border:1.5px solid var(--border);
  border-radius:10px;overflow:hidden;
}
.gen-history-hd{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;cursor:pointer;
  transition:background .15s;
}
.gen-history-hd:hover{background:var(--bg3);}
.gen-history-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--lav);flex-shrink:0;
}
.gen-history-name{font-size:12.5px;font-weight:600;flex:1;}
.gen-history-date{font-size:10.5px;color:var(--txt4);}
.gen-history-acts{display:flex;gap:5px;}
.gen-history-body{
  display:none;padding:14px 16px;
  border-top:1px solid var(--border);
  font-size:12.5px;line-height:1.7;
  max-height:350px;overflow-y:auto;
}
.gen-history-body.open{display:block;}
/* NOTE: Another unscoped PDF print stylesheet removed. Body/h1/h2/etc overrides
   that break the main app layout. Generated dynamically by JS in print window. */
/* ── Choose screen v16 — 5 cards equal grid ── */
#screen-choose{padding:36px 28px;overflow-y:auto;align-items:center!important;justify-content:flex-start!important;flex-direction:column!important;}
.ch-cards-v16{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:1100px;}
@media(max-width:900px){.ch-cards-v16{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:768px){.ch-cards-v16{grid-template-columns:1fr 1fr!important;gap:10px!important;}#screen-choose{padding:20px 14px!important;}}
@media(max-width:480px){.ch-cards-v16{grid-template-columns:1fr!important;}
}
.ch-cards-v16 .cc{padding:22px 18px 24px;min-height:auto;}
.ch-cards-v16 .cc-title{font-size:17px!important;}
.ch-cards-v16 .cc-desc{font-size:11.5px!important;margin-bottom:14px!important;}
.ch-cards-v16 .cc-tags{margin-bottom:16px!important;}
.ch-cards-v16 .cc-tag{font-size:10px!important;padding:2px 8px!important;}
.ch-cards-v16 .cc-btn{padding:9px 16px!important;font-size:12px!important;}

/* ── Sidebar Pipeline Styles ── */
.sb-phase{margin:0;}
.sb-phase-hd{display:flex;align-items:center;justify-content:space-between;padding:7px 14px 3px;cursor:pointer;user-select:none;background:linear-gradient(135deg, rgba(255,255,255,0.3), rgba(255,255,255,0.1));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border-radius:8px;transition:all .2s ease;}
.sb-phase-hd:hover{background:linear-gradient(135deg, rgba(255,255,255,0.5), rgba(255,255,255,0.3));}
.sb-phase-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.2));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--border-light);}
.sb-phase-prog{font-size:9px;font-weight:700;color:var(--txt3);}
.sb-phase-prog.done{color:var(--g);}
.sb-divider{height:1px;background:var(--border);margin:5px 12px 3px;}
.sb-layer-chev{font-size:9px;color:var(--txt4);transition:transform .2s;}

/* Mobile sidebar phase adjustments */
@media(max-width:900px){
  .sb-phase-hd{display:none!important;}
  .sb-divider{display:none!important;}
}

/* Nav button pipeline status dots */
.nav-btn{position:relative;}
.nav-pipe-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-left:auto;}
.pipe-done{background:var(--g);}
.pipe-partial{background:var(--gold);}
.pipe-empty{background:var(--bg5);}
.pipe-ai{background:linear-gradient(135deg,var(--lav),var(--r));}

/* Mobile sidebar navigation improvements */
@media(max-width:900px){
  .sidebar .nav-btn span{
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
  }
  .sidebar .nav-btn{justify-content:flex-start!important;}
  .sidebar .nav-btn .nd{margin-bottom:2px;}
}

/* Sidebar client chips — edit/delete */
.cl-chip{position:relative;}
.cl-chip-actions{display:none;position:absolute;right:6px;top:50%;transform:translateY(-50%);gap:3px;}
.cl-chip:hover .cl-chip-actions{display:flex;}
.cl-chip-btn{width:20px;height:20px;border-radius:5px;border:1px solid var(--border2);background:var(--card);cursor:pointer;font-size:9px;display:flex;align-items:center;justify-content:center;color:var(--txt3);}
.cl-chip-btn.del{border-color:rgba(232,68,53,.3);color:var(--r);background:rgba(232,68,53,.05);}

/* CSD item improvements */
.csd-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;cursor:pointer;transition:background .15s;font-size:12.5px;font-weight:500;}
.csd-item:hover{background:var(--bg3);}
.csd-item.active{background:var(--n3);color:var(--n);font-weight:700;}
.csd-av{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:#fff;flex-shrink:0;}

/* fi / fs shared */
.fi,.fs{width:100%;padding:8px 11px;border:1px solid var(--border2);border-radius:8px;background:var(--bg);font-family:inherit;font-size:13px;color:var(--txt);outline:none;transition:border .2s;}
.fi:focus,.fs:focus{border-color:var(--n);}

/* Sidebar phase completion ring */
.phase-ring{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;flex-shrink:0;border:2px solid;}
.ring-empty{border-color:var(--border2);color:var(--txt4);background:transparent;}
.ring-partial{border-color:var(--gold);color:var(--gold);background:rgba(200,149,42,.08);}
.ring-done{border-color:var(--g);color:var(--g);background:rgba(26,122,110,.08);}

/* Mobile phase ring adjustments */
@media(max-width:900px){
  .phase-ring{display:none!important;}
}
/* ── Kill Floor alert colors ── */
.pt-row-kill-alert{background:rgba(232,68,53,.07)!important;border-left:3px solid var(--r)!important;}
.pt-row-warn{background:rgba(200,149,42,.07)!important;border-left:3px solid var(--gold)!important;}
.pt-row-ok{border-left:3px solid var(--g)!important;}
.kill-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;}
.kill-on-track{background:var(--g2);color:var(--g);}
.kill-warning{background:var(--gold2);color:var(--gold);}
.kill-floor-hit{background:var(--r3);color:var(--r);animation:pulse-r .8s infinite;}
@keyframes pulse-r{0%,100%{opacity:1;}50%{opacity:.6;}}

/* ── Spend tracker bar ── */
.spend-bar-wrap{margin-top:4px;}
.spend-bar-track{height:5px;background:var(--bg4);border-radius:4px;overflow:hidden;}
.spend-bar-fill{height:100%;border-radius:4px;transition:width .4s;}

/* ── For/Not For card ── */
.for-not-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.for-box{border-radius:12px;padding:14px;}
.for-box-yes{background:rgba(26,122,110,.07);border:1.5px solid rgba(26,122,110,.2);}
.for-box-no{background:rgba(232,68,53,.05);border:1.5px solid rgba(232,68,53,.15);}
.for-box-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}
.for-box-yes .for-box-title{color:var(--g);}
.for-box-no  .for-box-title{color:var(--r);}
.for-item{font-size:12px;line-height:1.6;padding:3px 0;border-bottom:1px solid rgba(0,0,0,.05);display:flex;gap:6px;align-items:flex-start;}

/* ── Guardrails editor ── */
.guardrail-chip{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;font-size:12px;margin-bottom:5px;}
.gr-claim{background:var(--g2);border:1px solid rgba(26,122,110,.2);}
.gr-never{background:var(--r3);border:1px solid rgba(232,68,53,.15);}
.gr-avoid{background:var(--gold2);border:1px solid rgba(200,149,42,.2);}

/* ── Pos score card ── */
.pos-score-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.pos-score-stars{display:flex;gap:3px;}
.pos-score-star{font-size:16px;cursor:pointer;transition:.1s;opacity:.3;}
.pos-score-star.active{opacity:1;}

/* ── Proof quick-capture ── */
.proof-quick-card{background:var(--card);border:1.5px solid var(--border2);border-radius:14px;padding:18px;margin-bottom:14px;}
.proof-asset-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--bg3);border:1px solid var(--border);margin-bottom:6px;}
.proof-type-badge{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;}
.proof-consent-ok{background:var(--g2);color:var(--g);}
.proof-consent-pending{background:var(--gold2);color:var(--gold);}
.proof-consent-needed{background:var(--r3);color:var(--r);}

/* ── Weekly proof tracker ── */
.proof-week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0;}
.proof-day{border-radius:10px;padding:10px 8px;text-align:center;border:1.5px solid var(--border2);cursor:pointer;transition:.2s;}
.proof-day.done{background:var(--g2);border-color:rgba(26,122,110,.3);}
.proof-day.active{background:var(--n3);border-color:var(--n);}
.proof-day-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--txt4);margin-bottom:4px;}
.proof-day-count{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:var(--n);}

/* ── Dashboard vertical KPI row ── */
.v-kpi-row{display:grid;gap:10px;margin-bottom:14px;}
.v-kpi-card{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1.5px solid var(--glass-border);
  border-top:3px solid var(--glass-highlight);
  border-radius:var(--rr);padding:14px 16px;
  border-top:3px solid var(--vkc,var(--n));
  transition:all .3s ease;
  box-shadow:var(--shadow);
}
.v-kpi-card:hover{
  background:var(--glass-bg-hover);
  border-color:var(--glass-border-hover);
  transform:translateY(-2px);
  box-shadow:var(--shadow2);
}
.v-kpi-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--txt3);margin-bottom:4px;}
.v-kpi-val{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;line-height:1;color:var(--txt);}
.v-kpi-bench{font-size:10px;color:var(--txt3);margin-top:3px;}
.v-kpi-status{display:inline-block;margin-top:5px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;}

/* ── Service Pipeline Kanban ── */
.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px;}
.kanban-col{background:var(--bg3);border-radius:12px;padding:10px;}
.kanban-col-hd{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 6px 8px;display:flex;align-items:center;justify-content:space-between;}
.kanban-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:11px 13px;margin-bottom:6px;cursor:pointer;transition:.15s;box-shadow:var(--shadow);}
.kanban-card:hover{box-shadow:var(--shadow2);border-color:var(--border2);}
.kanban-card-name{font-size:12.5px;font-weight:700;margin-bottom:5px;}
.kanban-card-val{font-family:'DM Mono',monospace;font-size:11px;color:var(--g);font-weight:700;}
.kanban-card-age{font-size:10px;color:var(--txt4);margin-top:4px;}
.kanban-add{width:100%;padding:7px;border:1.5px dashed var(--border2);border-radius:9px;background:transparent;color:var(--txt4);cursor:pointer;font-size:12px;font-family:inherit;transition:.15s;}
.kanban-add:hover{border-color:var(--border2);background:var(--bg4);}

/* ── SaaS MRR Chart ── */
.mrr-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.mrr-bar-month{font-size:10px;color:var(--txt3);min-width:32px;}
.mrr-bar-track{flex:1;height:14px;background:var(--bg4);border-radius:4px;overflow:hidden;}
.mrr-bar-fill{height:100%;background:linear-gradient(90deg,#6B5CE7,#4A3DB5);border-radius:4px;transition:width .4s;}
.mrr-bar-val{font-size:11px;font-weight:700;min-width:60px;color:var(--lav);}

/* ── Medical compliance ── */
.compliance-banner{background:var(--r3);border:1.5px solid rgba(232,68,53,.3);border-radius:12px;padding:12px 16px;margin-bottom:14px;display:flex;align-items:flex-start;gap:10px;}
.compliance-flag-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:var(--r3);margin-bottom:5px;}

/* ── Winner modal ── */
.variation-slot{background:var(--bg3);border:1.5px solid var(--border2);border-radius:10px;padding:12px;margin-bottom:8px;}
/* ── FP KPI fields ── */
.fp-kpi-field{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;position:relative;}
.fp-kpi-label{font-size:12.5px;font-weight:600;color:var(--txt2);margin-bottom:5px;line-height:1.3;display:flex;align-items:center;justify-content:space-between;gap:6px;}
.fp-kpi-bench{font-size:11px;font-weight:400;color:var(--txt4);}
.fp-kpi-field .fi{border-radius:6px;font-size:13px;font-weight:700;}
.fp-kpi-field .fs{border-radius:6px;font-size:12px;}

/* ── KPI Progress bar ── */
.kpi-progress-wrap{margin-top:7px;}
.kpi-progress-track{height:4px;background:var(--bg4);border-radius:4px;overflow:hidden;margin-bottom:5px;}
.kpi-progress-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1),background .3s;}
.kpi-progress-fill.below{background:var(--r);}
.kpi-progress-fill.near{background:var(--gold);}
.kpi-progress-fill.on-track{background:var(--g);}

/* ── KPI Status pill ── */
.kpi-status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;font-family:var(--font-body);}
.kpi-status-pill.below{background:var(--r3);color:var(--r);}
.kpi-status-pill.near{background:var(--gold2);color:var(--gold);}
.kpi-status-pill.on-track{background:var(--g2);color:var(--g);}

/* ── Benchmark tooltip trigger ── */
.kpi-bench-trigger{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.2));color:var(--txt3);font-size:9px;font-weight:700;cursor:pointer;flex-shrink:0;border:1px solid var(--border-light);transition:background .15s;user-select:none;line-height:1;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));}
.kpi-bench-trigger:hover{background:linear-gradient(135deg, rgba(139,92,246,0.15), rgba(139,92,246,0.08));color:var(--lav);border-color:var(--lav);}
.kpi-bench-popover{position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;background:linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.7));backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-light);border-radius:10px;padding:10px 12px;font-size:11px;color:var(--txt2);line-height:1.55;z-index:400;box-shadow:var(--shadow3);display:none;animation:skel-fadein .15s ease both;}
.kpi-bench-popover strong{color:var(--txt);font-weight:700;}
.kpi-bench-trigger:focus + .kpi-bench-popover,
.fp-kpi-field:hover .kpi-bench-popover.open{display:block;}

/* ── Value animation ── */
@keyframes kpi-val-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.kpi-val-anim{animation:kpi-val-in .15s ease both;}

/* ── Persistent LTV:CAC card ── */
.ltv-cac-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--bg3);margin-top:10px;transition:background .3s,border-color .3s;}
.ltv-cac-card.good{background:var(--g2);border-color:rgba(16,185,129,.25);}
.ltv-cac-card.danger{background:var(--r3);border-color:rgba(239,68,68,.2);}
.ltv-cac-card.warn{background:var(--gold2);border-color:rgba(245,158,11,.2);}
.ltv-cac-card.empty{background:var(--bg3);border-color:var(--border);opacity:.7;}
.ltv-cac-ratio{font-family:var(--font-mono);font-size:22px;font-weight:800;flex-shrink:0;line-height:1;}
.ltv-cac-ratio.good{color:var(--g);}
.ltv-cac-ratio.danger{color:var(--r);}
.ltv-cac-ratio.warn{color:var(--gold);}
.ltv-cac-ratio.empty{color:var(--txt4);}
.ltv-cac-label{font-size:12px;font-weight:700;color:var(--txt);margin-bottom:2px;}
.ltv-cac-status{font-size:11px;color:var(--txt3);}
.ltv-cac-arrow{font-size:16px;margin-left:auto;flex-shrink:0;}

/* ── PDF Export button (per tab) ── */
.tab-export-btn{
  --tab-export-accent:#0F6D80;
  --tab-export-accent-2:#2563EB;
  position:fixed;
  bottom:124px;
  right:22px;
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:52px;
  height:52px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--tab-export-accent) 92%, white 8%), color-mix(in srgb, var(--tab-export-accent-2) 88%, #08111e 12%));
  color:#fff;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  font-family:inherit;
  box-shadow:0 16px 36px rgba(15,23,42,.22), 0 6px 16px rgba(15,109,128,.18);
  transition:width .28s cubic-bezier(.22,.8,.22,1), transform .22s ease, box-shadow .22s ease, filter .22s ease, padding .28s cubic-bezier(.22,.8,.22,1), gap .22s ease, justify-content .22s ease;
  overflow:hidden;
  isolation:isolate;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.tab-export-btn::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05));
  pointer-events:none;
  z-index:0;
}
.tab-export-btn:hover{
  justify-content:flex-start;
  gap:11px;
  width:176px;
  padding:0 16px 0 0;
  transform:translateY(-3px) scale(1.01);
  box-shadow:0 20px 42px rgba(15,23,42,.26), 0 10px 24px rgba(37,99,235,.20);
  filter:saturate(1.08);
}
.tab-export-btn:active{
  transform:translateY(-1px) scale(.985);
}
.tab-export-btn:focus-visible{
  outline:none;
  justify-content:flex-start;
  gap:11px;
  width:176px;
  padding:0 16px 0 0;
  box-shadow:0 0 0 3px rgba(255,255,255,.22), 0 0 0 6px rgba(37,99,235,.20), 0 18px 38px rgba(15,23,42,.24);
}
.tab-export-btn__glow{
  position:absolute;
  inset:auto -12% -45% auto;
  width:110px;
  height:110px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.28), rgba(255,255,255,0) 68%);
  pointer-events:none;
  z-index:0;
}
.tab-export-btn__icon,
.tab-export-btn__text{
  position:relative;
  z-index:1;
}
.tab-export-btn__icon{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border-right:1px solid transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  transition:border-color .22s ease, background .22s ease;
}
.tab-export-btn:hover .tab-export-btn__icon,
.tab-export-btn:focus-visible .tab-export-btn__icon{
  border-right-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
}
.tab-export-btn__icon .ui-svg-icon{
  stroke-width:2.1;
}
.tab-export-btn__text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
  max-width:0;
  opacity:0;
  overflow:hidden;
  white-space:nowrap;
  transform:translateX(-8px);
  transition:max-width .28s cubic-bezier(.22,.8,.22,1), opacity .18s ease, transform .22s ease;
}
.tab-export-btn:hover .tab-export-btn__text,
.tab-export-btn:focus-visible .tab-export-btn__text{
  max-width:110px;
  opacity:1;
  transform:translateX(0);
}
.tab-export-btn__eyebrow{
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  opacity:.72;
}
.tab-export-btn__label{
  margin-top:4px;
  font-size:13px;
  font-weight:800;
  letter-spacing:-.01em;
}
.tab-export-btn.vertical-saas{
  --tab-export-accent:#6B5CE7;
  --tab-export-accent-2:#4F46E5;
}
.tab-export-btn.vertical-service{
  --tab-export-accent:#1A7A6E;
  --tab-export-accent-2:#0F766E;
}
.tab-export-btn.vertical-medical{
  --tab-export-accent:#E84435;
  --tab-export-accent-2:#DC2626;
}
.tab-export-btn.vertical-fitness{
  --tab-export-accent:#C8952A;
  --tab-export-accent-2:#D97706;
}
.tab-export-btn.vertical-academy{
  --tab-export-accent:#0891B2;
  --tab-export-accent-2:#2563EB;
}
@media (max-width: 900px){
  .tab-export-btn{
    right:16px;
    bottom:108px;
    width:48px;
    height:48px;
  }
  .tab-export-btn:hover,
  .tab-export-btn:focus-visible{
    width:156px;
    padding:0 14px 0 0;
    gap:10px;
  }
  .tab-export-btn__icon{
    width:48px;
    height:48px;
  }
  .tab-export-btn__label{
    font-size:12px;
  }
  .tab-export-btn__eyebrow{
    font-size:8px;
  }
}

/* ── Business Stage toggle ── */
.biz-stage-toggle{display:flex;gap:0;border-radius:10px;overflow:hidden;border:1.5px solid var(--border2);margin-bottom:14px;}
.biz-stage-btn{flex:1;padding:10px 16px;border:none;background:var(--bg3);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;color:var(--txt3);transition:all .2s;}
.biz-stage-btn.active{background:var(--n);color:#fff;}
.biz-stage-btn.active.saas{background:#6B5CE7;}
.biz-stage-btn.active.service{background:#1A7A6E;}
.biz-stage-btn.active.medical{background:var(--r);}
.biz-stage-btn.active.fitness{background:var(--gold);}.biz-stage-btn.active.academy{background:#0891B2;}
.stage-new-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;background:var(--gold2);color:var(--gold);margin-left:6px;}
.stage-existing-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;background:var(--g2);color:var(--g);margin-left:6px;}

/* ── Full OS Modal ── */
.full-os-modal{position:fixed;inset:0;background:rgba(10,13,20,.6);z-index:700;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);}
.full-os-card{background:var(--card);border-radius:20px;width:580px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:28px;box-shadow:var(--shadow3);}
.full-os-module{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--border-light);margin-bottom:8px;cursor:pointer;transition:all .2s;background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.2));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));}
.full-os-module:hover{border-color:var(--p);background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));}
.full-os-module.selected{background:linear-gradient(135deg, rgba(139,92,246,0.15), rgba(139,92,246,0.08));border-color:var(--p);}
.full-os-module.selected .fom-check{background:var(--p);border-color:var(--p);color:#fff;}
.fom-check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.2));}
.full-os-module.generating .fom-check{background:var(--gold);border-color:var(--gold);color:#fff;animation:spin .8s linear infinite;}
.full-os-module.done .fom-check{background:var(--g);border-color:var(--g);color:#fff;}

/* ── Rich AI Output Card (consistent) ── */
.ai-rich-card{background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-light);border-radius:16px;overflow:hidden;margin-bottom:14px;box-shadow:var(--shadow);}
.ai-rich-hd{background:linear-gradient(135deg,rgba(107,92,241,.08),rgba(232,68,53,.04));padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;}
.ai-rich-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--lav),var(--r));display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0;}
.ai-rich-body{padding:20px;font-size:13px;line-height:1.8;color:var(--txt2);}
.ai-rich-body h2{font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:var(--txt);margin:16px 0 8px;padding-top:12px;border-top:1px solid var(--border);}
.ai-rich-body h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.ai-rich-body h3{font-size:13px;font-weight:700;color:var(--n);margin:12px 0 6px;}
.ai-rich-body strong{font-weight:700;color:var(--txt);}
.ai-rich-body ul{padding-left:16px;margin:6px 0;}
.ai-rich-body li{margin-bottom:4px;}
.ai-rich-body p{margin-bottom:8px;}
.ai-rich-body hr{border:none;border-top:1px solid var(--border);margin:14px 0;}
.ai-rich-body code{background:var(--bg3);border:1px solid var(--border2);border-radius:6px;padding:1px 6px;font-family:'DM Mono',monospace;font-size:11px;}
.ai-struct-title{
  margin:14px 0 8px;
  padding:10px 12px;
  border-radius:10px;
  background:linear-gradient(135deg, rgba(107,92,231,.08), rgba(13,31,60,.04));
  border:1px solid rgba(107,92,231,.16);
  font-size:12px;
  font-weight:800;
  color:var(--txt);
}
.ai-label-row{
  display:grid;
  grid-template-columns:minmax(120px, 170px) 1fr;
  gap:10px;
  align-items:start;
  padding:8px 0;
  border-bottom:1px dashed var(--border);
}
.ai-label-row:last-child{border-bottom:none;}
.ai-label-key{
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--n);
}
.ai-label-value{
  font-size:12.5px;
  color:var(--txt2);
  line-height:1.7;
}
.ai-rich-actions{padding:12px 20px;background:var(--bg3);border-top:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap;}
.ai-rich-act-btn{padding:6px 14px;border-radius:20px;border:1px solid var(--border2);background:var(--card);color:var(--txt2);cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;transition:all .15s;}
.ai-rich-act-btn:hover{background:var(--bg4);}

/* ── Velo Layer badge on AI card header ── */
.ai-layer-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-right:6px;font-family:'DM Mono',monospace;}
.alb-l0{background:rgba(200,149,42,.15);color:var(--gold);}
.alb-l1{background:rgba(99,102,241,.1);color:var(--p);}
.alb-l2{background:rgba(139,92,246,.12);color:var(--lav);}
.alb-l3{background:rgba(16,185,129,.1);color:var(--g);}
.alb-l4{background:rgba(239,68,68,.1);color:var(--r);}
.alb-l5{background:rgba(245,158,11,.12);color:var(--gold);}
.alb-l6{background:rgba(8,145,178,.1);color:#0891B2;}

/* ── Feedback bar ── */
.ai-feedback-bar{padding:10px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg3);}
.ai-fb-label{font-size:11px;color:var(--txt4);font-weight:600;}
.ai-fb-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border2);background:transparent;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.ai-fb-btn:hover{background:var(--bg4);}
.ai-fb-btn.fb-up.active{background:rgba(16,185,129,.12);border-color:var(--g);}
.ai-fb-btn.fb-down.active{background:var(--r3);border-color:var(--r);}
.ai-fb-reasons{display:flex;gap:6px;flex-wrap:wrap;animation:skel-fadein .2s ease both;}
.ai-fb-reason{padding:4px 10px;border-radius:20px;border:1px solid var(--border2);background:var(--card);font-size:11px;font-weight:600;color:var(--txt3);cursor:pointer;transition:all .15s;font-family:inherit;}
.ai-fb-reason:hover{border-color:var(--r);color:var(--r);background:var(--r3);}
.ai-fb-reason.active{border-color:var(--r);color:var(--r);background:var(--r3);}
.ai-fb-done{font-size:11px;color:var(--g);font-weight:600;}

/* ── Regenerate bar ── */
.ai-regen-bar{padding:10px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ai-regen-select{padding:6px 10px;border-radius:8px;border:1px solid var(--border2);background:var(--bg);font-family:inherit;font-size:12px;color:var(--txt2);outline:none;cursor:pointer;flex:1;min-width:180px;max-width:280px;}
.ai-regen-btn{padding:6px 14px;border-radius:20px;background:linear-gradient(135deg,var(--lav),var(--p));color:#fff;border:none;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .2s;}
.ai-regen-btn:hover{opacity:.88;transform:translateY(-1px);}
.ai-regen-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}

/* ── Continue button (truncation) ── */
.ai-continue-bar{padding:12px 20px;border-top:1px solid var(--border);background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.04));}
.ai-continue-btn{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:10px;background:var(--p3);border:1px solid rgba(99,102,241,.25);color:var(--p);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s;}
.ai-continue-btn:hover{background:var(--p4);}

/* ── Content Plan ── */
.content-plan-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px;}
.cp-day-hd{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--txt4);text-align:center;padding:5px 0;}
.cp-post-slot{min-height:70px;border-radius:var(--rr);border:1px solid var(--border);padding:6px;background:var(--card);cursor:pointer;transition:all .15s;}
.cp-post-slot:hover{border-color:var(--border2);box-shadow:var(--shadow);}
.cp-post-dot{font-size:8px;padding:2px 5px;border-radius:3px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;}
.cp-post-empty{font-size:9px;color:var(--txt4);text-align:center;padding-top:18px;}

/* ── Integration Audit ── */
.intg-data-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg3);border-radius:9px;margin-bottom:6px;font-size:12px;}
.intg-data-label{min-width:120px;font-weight:600;color:var(--txt3);}
.intg-data-val{font-family:'DM Mono',monospace;font-weight:700;color:var(--n);}
.intg-data-bench{font-size:10.5px;color:var(--txt4);margin-left:auto;}

/* ── Strategy live status indicator ── */
.strategy-live-badge{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;background:var(--g2);color:var(--g);border:1px solid rgba(26,122,110,.2);}
.strategy-stale-badge{background:var(--gold2);color:var(--gold);border-color:rgba(200,149,42,.2);}
/* NOTE: Duplicate PDF stylesheet with ${accentColor} template literals removed.
   These styles are generated dynamically by JS in a new print window. */
/* ── Magician Design System ── */
.mag-wrap{position:relative;overflow:hidden;}
.mag-hero{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);border-radius:16px;padding:32px 28px;margin-bottom:20px;position:relative;overflow:hidden;border:1px solid rgba(139,92,246,.25);}
.mag-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(139,92,246,.18),transparent 70%);border-radius:50%;}
.mag-hero::after{content:'';position:absolute;bottom:-40px;left:-40px;width:200px;height:200px;background:radial-gradient(circle,rgba(99,102,241,.12),transparent 70%);border-radius:50%;}
.mag-hero-inner{position:relative;z-index:1;}
.mag-sparkle{font-size:40px;margin-bottom:12px;display:block;animation:mag-float 3s ease-in-out infinite;}
@keyframes mag-float{0%,100%{transform:translateY(0) rotate(-3deg);}50%{transform:translateY(-8px) rotate(3deg);}}
.mag-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:900;color:#fff;margin-bottom:6px;letter-spacing:-.5px;}
.mag-title span{background:linear-gradient(90deg,#c084fc,#818cf8,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.mag-subtitle{font-size:13px;color:rgba(255,255,255,.55);line-height:1.6;}
.mag-rule{font-size:11px;color:rgba(139,92,246,.9);margin-top:10px;padding:6px 12px;background:rgba(139,92,246,.1);border:1px solid rgba(139,92,246,.2);border-radius:20px;display:inline-block;font-weight:600;letter-spacing:.04em;}
.mag-formats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:4px;}
@media(max-width:768px){.mag-formats{grid-template-columns:repeat(2,1fr);}}
.mag-fmt-card{background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:14px 12px;cursor:pointer;transition:all .2s;text-align:center;position:relative;user-select:none;}
.mag-fmt-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(139,92,246,.12);}
.mag-fmt-card.selected{border-color:#8B5CF6;background:rgba(139,92,246,.07);box-shadow:0 0 0 3px rgba(139,92,246,.1);}
.mag-fmt-icon{font-size:24px;display:block;margin-bottom:6px;}
.mag-fmt-label{font-size:11px;font-weight:700;color:var(--txt2);}
.mag-fmt-sub{font-size:9.5px;color:var(--txt3);margin-top:2px;}
.mag-fmt-chip{position:absolute;top:6px;right:6px;font-size:8.5px;font-weight:700;padding:2px 6px;border-radius:10px;letter-spacing:.04em;}
.chip-video{background:rgba(232,68,53,.1);color:var(--r);}
.chip-social{background:rgba(139,92,246,.1);color:#8B5CF6;}
.chip-plan{background:rgba(16,185,129,.1);color:var(--g);}
.mag-section{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px;}
.mag-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--txt3);margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.mag-sec-ico{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;background:rgba(139,92,246,.1);color:#8B5CF6;font-weight:800;flex-shrink:0;}
.mag-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
@media(max-width:600px){.mag-row{grid-template-columns:1fr;}}
.mag-label{font-size:11px;font-weight:700;color:var(--txt3);margin-bottom:4px;display:block;}
.mag-input{
  width:100%;padding:8px 11px;border:1.5px solid var(--glass-border);
  border-radius:8px;background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  font-family:inherit;font-size:12.5px;color:var(--txt);outline:none;
  transition:all .3s ease;resize:none;box-sizing:border-box;
  box-shadow:var(--shadow);
}
.mag-input:focus{
  border-color:var(--lav);
  box-shadow:0 0 16px rgba(139,92,246,0.3);
  background:var(--glass-bg-hover);
}
.mag-select{
  width:100%;padding:8px 11px;border:1.5px solid var(--glass-border);
  border-radius:8px;background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  font-family:inherit;font-size:12.5px;color:var(--txt);cursor:pointer;outline:none;
  transition:all .3s ease;
  box-shadow:var(--shadow);
}
.mag-select:focus{
  border-color:var(--lav);
  box-shadow:0 0 16px rgba(139,92,246,0.3);
  background:var(--glass-bg-hover);
}
.mag-uc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.mag-uc-chip{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;border:1.5px solid var(--border2);background:var(--bg3);color:var(--txt3);cursor:pointer;transition:all .15s;}
.mag-uc-chip.active{background:rgba(139,92,246,.1);border-color:#8B5CF6;color:#8B5CF6;}
.mag-dialect{display:flex;gap:6px;flex-wrap:wrap;}
.mag-d-btn{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;border:1.5px solid var(--border2);background:var(--bg3);color:var(--txt3);cursor:pointer;transition:all .15s;}
.mag-d-btn.active{background:#8B5CF6;border-color:#8B5CF6;color:#fff;}
.mag-hook-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:4px;}
@media(max-width:600px){.mag-hook-grid{grid-template-columns:1fr 1fr;}}
.mag-hook-chip{background:var(--bg3);border:1.5px solid var(--border);border-radius:8px;padding:9px 10px;cursor:pointer;transition:all .15s;font-size:11px;color:var(--txt2);}
.mag-hook-chip:hover{border-color:#8B5CF6;}
.mag-hook-chip.sel{background:rgba(139,92,246,.08);border-color:#8B5CF6;color:#8B5CF6;}
.mag-hook-chip-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--txt4);margin-bottom:3px;}
.mag-gen-btn{width:100%;padding:16px;border-radius:12px;border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 8px 24px rgba(124,58,237,.35);transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;}
.mag-gen-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(124,58,237,.45);}
.mag-gen-btn.loading{cursor:not-allowed;}
.mag-dot{width:8px;height:8px;border-radius:50%;background:#c084fc;display:inline-block;animation:mag-bounce .8s ease-in-out infinite;}
.mag-dot:nth-child(2){animation-delay:.15s;}
.mag-dot:nth-child(3){animation-delay:.3s;}
@keyframes mag-bounce{0%,100%{transform:translateY(0);opacity:.4;}50%{transform:translateY(-6px);opacity:1;}}
@keyframes mag-float{0%,100%{transform:translateY(0) rotate(-3deg);}50%{transform:translateY(-8px) rotate(3deg);}}
@keyframes mag-fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.mag-out-wrap{animation:mag-fadein .4s ease;}
.mag-out-header{background:linear-gradient(135deg,#0f0c29,#302b63);border-radius:14px 14px 0 0;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(139,92,246,.3);border-bottom:none;}
.mag-out-badge{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:rgba(139,92,246,.25);border:1px solid rgba(139,92,246,.4);color:#c084fc;}
.mag-out-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:800;color:#fff;margin-top:4px;}
.mag-out-sub{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px;}
.mag-copy-all-btn{padding:7px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;}
.mag-copy-all-btn:hover{background:rgba(255,255,255,.18);}
.mag-out-body{border:1px solid rgba(139,92,246,.2);border-radius:0 0 14px 14px;border-top:none;overflow:hidden;}
.mag-segment{border-bottom:1px solid var(--border);}
.mag-segment:last-child{border-bottom:none;}
.mag-seg-hdr{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:var(--bg3);cursor:pointer;transition:background .15s;user-select:none;}
.mag-seg-hdr:hover{background:var(--bg4);}
.mag-seg-left{display:flex;align-items:center;gap:10px;}
.mag-seg-num{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;flex-shrink:0;}
.mag-seg-name{font-size:12px;font-weight:700;color:var(--txt2);}
.mag-seg-copy-btn{padding:4px 10px;border-radius:6px;border:1px solid var(--border2);background:var(--card);color:var(--txt3);font-size:10.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;flex-shrink:0;}
.mag-seg-copy-btn:hover{border-color:#8B5CF6;color:#8B5CF6;}
.mag-seg-body-div{padding:14px 16px;background:var(--card);}
.mag-seg-content{font-size:12.5px;color:var(--txt2);line-height:1.8;white-space:pre-wrap;font-family:'IBM Plex Sans',sans-serif;}
.mag-slide{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.mag-slide-hd{padding:10px 14px;background:linear-gradient(90deg,rgba(139,92,246,.08),transparent);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);}
.mag-slide-num{width:24px;height:24px;border-radius:6px;background:#8B5CF6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;}
.mag-slide-role{font-size:11px;font-weight:700;color:#8B5CF6;}
.mag-slide-body{padding:12px 14px;font-size:12.5px;color:var(--txt2);line-height:1.75;white-space:pre-wrap;}
.mag-thinking{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:var(--txt3);font-size:13px;}
/* ── Magician v2 additions ── */
.mag-qty-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(139,92,246,.15);}
.mag-qty-btn{width:22px;height:22px;border-radius:6px;border:1.5px solid rgba(139,92,246,.3);background:rgba(139,92,246,.08);color:#8B5CF6;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .15s;}
.mag-qty-btn:hover{background:rgba(139,92,246,.18);}
.mag-qty-num{font-size:13px;font-weight:800;color:#8B5CF6;min-width:18px;text-align:center;}
.mag-summary-bar{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:linear-gradient(90deg,rgba(139,92,246,.06),rgba(79,70,229,.04));border:1px solid rgba(139,92,246,.18);border-radius:10px;margin-top:10px;}
.mag-sum-ico{font-size:18px;flex-shrink:0;margin-top:1px;}
.mag-sum-title{font-size:12px;font-weight:600;color:var(--txt2);margin-bottom:5px;}
.mag-sum-tags{display:flex;flex-wrap:wrap;gap:5px;}
.mag-sum-tag{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:10px;background:rgba(139,92,246,.1);color:#8B5CF6;border:1px solid rgba(139,92,246,.2);}
.mag-plat-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px;}
.mag-plat-btn{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;border:1.5px solid var(--border2);background:var(--bg3);color:var(--txt3);cursor:pointer;transition:all .15s;}
.mag-plat-btn:hover{border-color:#8B5CF6;color:#8B5CF6;}
.mag-plat-btn.active{background:#8B5CF6;border-color:#8B5CF6;color:#fff;}
.mag-result-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;overflow:hidden;animation:mag-fadein .35s ease;}
.mag-rc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(135deg,rgba(15,12,41,.96),rgba(48,43,99,.92));border-bottom:1px solid rgba(139,92,246,.2);}
.mag-rc-title{font-family:'Playfair Display',serif;font-size:15px;font-weight:800;color:#fff;}
.mag-rc-sub{font-size:11px;color:rgba(255,255,255,.45);margin-top:2px;}
.mag-rc-status{display:flex;align-items:center;gap:4px;}
.mag-rc-body{background:var(--card);}

/* ══════════════════════════════════════════════════════════════════
   GROWTH LAYERS — Liquid Glass Premium Design System
   ══════════════════════════════════════════════════════════════════ */

/* ── Growth Layers Container ── */
.growth-layers-container{padding:20px;max-width:1400px;margin:0 auto;}

/* ── Layer Section ── */
.layer-section{margin-bottom:32px;animation:layer-fadein .4s ease;}
@keyframes layer-fadein{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

/* ── Layer Header ── */
.layer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-bottom:16px;position:relative;overflow:hidden;}
.layer-header::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--p),var(--lav),var(--accent));opacity:0.8;}
.layer-header-left{display:flex;align-items:center;gap:12px;}
.layer-number{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0;}
.layer-number.l0{background:linear-gradient(135deg,#F59E0B,#D97706);}
.layer-number.l1{background:linear-gradient(135deg,#7C3AED,#6D28D9);}
.layer-number.l2{background:linear-gradient(135deg,#8B5CF6,#7C3AED);}
.layer-number.l3{background:linear-gradient(135deg,#10B981,#059669);}
.layer-number.l4{background:linear-gradient(135deg,#EF4444,#DC2626);}
.layer-number.l5{background:linear-gradient(135deg,#F59E0B,#D97706);}
.layer-number.l6{background:linear-gradient(135deg,#0891B2,#06B6D4);}
.layer-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--txt);letter-spacing:-0.3px;}
.layer-subtitle{font-size:12px;color:var(--txt3);margin-top:2px;}
.layer-status-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);color:var(--txt3);}
.layer-status-badge.completed{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.3);color:var(--g);}
.layer-status-badge.in-progress{background:rgba(124,58,237,0.1);border-color:rgba(124,58,237,0.3);color:var(--p);}
.layer-status-badge.pending{background:var(--bg3);border-color:var(--border2);color:var(--txt4);}

/* ── Layer Content Card ── */
.layer-content{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:20px;}

/* ── Input Card ── */
.input-card{background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.5));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;transition:all .2s ease;box-shadow:var(--shadow);}
.input-card:hover{border-color:var(--border);box-shadow:var(--shadow2);}
.input-card-label{font-size:12px;font-weight:600;color:var(--txt2);margin-bottom:8px;display:block;}
.input-card-input{width:100%;padding:10px 14px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));font-family:inherit;font-size:13px;color:var(--txt);outline:none;transition:all .2s ease;}
.input-card-input:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(139,92,246,0.15);background:linear-gradient(135deg, rgba(255,255,255,0.8), rgba(255,255,255,0.6));}
.input-card-input::placeholder{color:var(--txt3);}
.input-card-textarea{min-height:80px;resize:vertical;}

/* ── Tab Navigation ── */
.tab-nav{display:flex;gap:8px;padding:8px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-bottom:16px;overflow-x:auto;}
.tab-pill{padding:8px 16px;border-radius:20px;border:1.5px solid transparent;background:transparent;font-size:12px;font-weight:600;color:var(--txt3);cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:inherit;}
.tab-pill:hover{background:var(--bg3);color:var(--txt2);}
.tab-pill.active{background:linear-gradient(135deg,var(--p),var(--lav));color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(124,58,237,0.3);}

/* ── Generate AI Button ── */
.generate-ai-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--p),var(--lav));color:#fff;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .3s ease;position:relative;overflow:hidden;}
.generate-ai-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left .5s ease;}
.generate-ai-btn:hover::before{left:100%;}
.generate-ai-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,58,237,0.4);}
.generate-ai-btn:active{transform:translateY(0);}
.generate-ai-btn.loading{opacity:0.7;cursor:not-allowed;}
.generate-ai-btn.loading::after{content:'';position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ── Progress Indicator ── */
.progress-indicator{margin-bottom:24px;}
.progress-bar{height:8px;background:linear-gradient(135deg, rgba(255,255,255,0.3), rgba(255,255,255,0.1));backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border-radius:10px;overflow:hidden;margin-bottom:12px;border:1px solid var(--border-light);box-shadow:inset 0 1px 2px rgba(0,0,0,0.05);}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--p),var(--lav),var(--accent));border-radius:10px;transition:width 0.5s ease;position:relative;}
.progress-fill::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:progress-shine 2s ease infinite;}
@keyframes progress-shine{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
.progress-milestones{display:flex;justify-content:space-between;position:relative;}
.progress-milestone{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease;}
.progress-milestone-dot{width:12px;height:12px;border-radius:50%;background:var(--bg4);border:2px solid var(--bg5);transition:all .2s ease;}
.progress-milestone.completed .progress-milestone-dot{background:var(--g);border-color:var(--g);box-shadow:0 0 8px rgba(16,185,129,0.4);}
.progress-milestone.active .progress-milestone-dot{background:var(--p);border-color:var(--p);box-shadow:0 0 8px rgba(124,58,237,0.4);animation:pulse 2s ease infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 8px rgba(124,58,237,0.4);}50%{box-shadow:0 0 16px rgba(124,58,237,0.6);}}
.progress-milestone-label{font-size:10px;font-weight:600;color:var(--txt4);text-transform:uppercase;letter-spacing:0.06em;}
.progress-milestone.completed .progress-milestone-label{color:var(--g);}
.progress-milestone.active .progress-milestone-label{color:var(--p);}
.progress-status{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-sm);}
.progress-status-text{font-size:12px;font-weight:600;color:var(--txt2);}
.progress-status-percent{font-size:12px;font-weight:700;color:var(--p);font-family:var(--font-mono);}

/* ── L0: Use Case Cards ── */
.use-case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:16px;}
.use-case-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;}
.use-case-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--p),var(--lav));opacity:0;transition:opacity .2s ease;}
.use-case-card:hover{transform:translateY(-4px);border-color:var(--glass-border-hover);box-shadow:var(--shadow);}
.use-case-card:hover::before{opacity:1;}
.use-case-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.use-case-card-title{font-size:13px;font-weight:700;color:var(--txt);}
.use-case-card-score{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;background:rgba(124,58,237,0.1);color:var(--p);font-family:var(--font-mono);}
.use-case-card-desc{font-size:12px;color:var(--txt3);line-height:1.5;margin-bottom:10px;}
.use-case-card-tags{display:flex;flex-wrap:wrap;gap:6px;}
.use-case-tag{padding:3px 8px;border-radius:12px;font-size:10px;font-weight:600;background:var(--bg3);color:var(--txt3);border:1px solid var(--border2);}

/* ── L1: Content Angle Chips ── */
.content-angle-container{margin-bottom:16px;}
.content-angle-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.content-angle-chip{padding:8px 16px;border-radius:20px;border:1.5px solid var(--border2);background:var(--bg3);font-size:12px;font-weight:600;color:var(--txt3);cursor:pointer;transition:all .2s ease;font-family:inherit;}
.content-angle-chip:hover{border-color:var(--p);color:var(--p);background:rgba(124,58,237,0.05);}
.content-angle-chip.selected{background:linear-gradient(135deg,var(--p),var(--lav));border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(124,58,237,0.3);}
.content-angle-input{width:100%;padding:10px 14px;border:1px solid var(--border2);border-radius:var(--radius-sm);background:rgba(255,255,255,0.5);font-family:inherit;font-size:13px;color:var(--txt);outline:none;transition:all .2s ease;}
.content-angle-input:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(124,58,237,0.1);background:rgba(255,255,255,0.8);}

/* ── L2: Channel Toggles ── */
.channel-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px;}
.channel-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;}
.channel-toggle:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow);}
.channel-toggle-info{display:flex;align-items:center;gap:10px;}
.channel-toggle-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg3);flex-shrink:0;}
.channel-toggle-name{font-size:13px;font-weight:600;color:var(--txt);}
.channel-toggle-switch{width:44px;height:24px;border-radius:12px;background:var(--bg4);position:relative;transition:all .2s ease;}
.channel-toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,0.2);}
.channel-toggle.active .channel-toggle-switch{background:linear-gradient(135deg,var(--p),var(--lav));}
.channel-toggle.active .channel-toggle-switch::after{transform:translateX(20px);}
.channel-toggle.active .channel-toggle-icon{background:rgba(124,58,237,0.1);color:var(--p);}

/* ── L3: Retention Flow Timeline ── */
.retention-timeline{margin-bottom:16px;}
.retention-timeline-item{display:flex;gap:16px;padding-bottom:20px;position:relative;}
.retention-timeline-item:last-child{padding-bottom:0;}
.retention-timeline-item::before{content:'';position:absolute;left:20px;top:40px;bottom:0;width:2px;background:linear-gradient(180deg,var(--p),var(--lav),var(--accent));opacity:0.3;}
.retention-timeline-item:last-child::before{display:none;}
.retention-timeline-node{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;background:linear-gradient(135deg,var(--p),var(--lav));color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(124,58,237,0.3);position:relative;z-index:1;}
.retention-timeline-content{flex:1;padding:8px 0;}
.retention-timeline-title{font-size:14px;font-weight:700;color:var(--txt);margin-bottom:6px;}
.retention-timeline-desc{font-size:12px;color:var(--txt3);line-height:1.5;margin-bottom:8px;}
.retention-timeline-metrics{display:flex;gap:12px;}
.retention-metric{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:var(--bg3);font-size:11px;font-weight:600;color:var(--txt3);}
.retention-metric-value{color:var(--p);font-family:var(--font-mono);}

/* ── L4: Metrics Gauges ── */
.metrics-gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px;}
.metrics-gauge{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:20px;text-align:center;}
.metrics-gauge-circle{width:100px;height:100px;margin:0 auto 12px;position:relative;}
.metrics-gauge-svg{transform:rotate(-90deg);}
.metrics-gauge-bg{fill:none;stroke:var(--bg4);stroke-width:8;}
.metrics-gauge-fill{fill:none;stroke:linear-gradient(90deg,var(--p),var(--lav));stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 0.5s ease;}
.metrics-gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;font-weight:800;color:var(--txt);font-family:var(--font-mono);}
.metrics-gauge-label{font-size:12px;font-weight:600;color:var(--txt2);margin-bottom:4px;}
.metrics-gauge-sub{font-size:11px;color:var(--txt3);}

/* ── L5: Optimization Cards ── */
.optimization-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:16px;}
.optimization-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:16px;transition:all .2s ease;}
.optimization-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow);transform:translateY(-2px);}
.optimization-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.optimization-card-title{font-size:13px;font-weight:700;color:var(--txt);}
.optimization-card-priority{padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;}
.optimization-card-priority.high{background:rgba(239,68,68,0.1);color:var(--r);border:1px solid rgba(239,68,68,0.3);}
.optimization-card-priority.medium{background:rgba(245,158,11,0.1);color:var(--gold);border:1px solid rgba(245,158,11,0.3);}
.optimization-card-priority.low{background:rgba(16,185,129,0.1);color:var(--g);border:1px solid rgba(16,185,129,0.3);}
.optimization-card-desc{font-size:12px;color:var(--txt3);line-height:1.5;margin-bottom:12px;}
.optimization-card-actions{display:flex;gap:8px;}
.optimization-action-btn{padding:6px 12px;border-radius:8px;border:1px solid var(--border2);background:var(--bg3);font-size:11px;font-weight:600;color:var(--txt2);cursor:pointer;transition:all .2s ease;font-family:inherit;}
.optimization-action-btn:hover{border-color:var(--p);color:var(--p);background:rgba(124,58,237,0.05);}

/* ── L6: Scale Strategy Cards ── */
.scale-strategy-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-bottom:16px;}
.scale-strategy-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:16px;transition:all .2s ease;position:relative;overflow:hidden;}
.scale-strategy-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--p));opacity:0.8;}
.scale-strategy-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow);transform:translateY(-2px);}
.scale-strategy-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.scale-strategy-card-title{font-size:13px;font-weight:700;color:var(--txt);}
.scale-strategy-card-phase{padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;background:rgba(6,182,212,0.1);color:var(--accent);border:1px solid rgba(6,182,212,0.3);}
.scale-strategy-card-desc{font-size:12px;color:var(--txt3);line-height:1.5;margin-bottom:12px;}
.scale-strategy-card-progress{margin-bottom:12px;}
.scale-strategy-progress-bar{height:6px;background:var(--bg4);border-radius:6px;overflow:hidden;margin-bottom:6px;}
.scale-strategy-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--p));border-radius:6px;transition:width 0.5s ease;}
.scale-strategy-progress-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--txt3);}
.scale-strategy-card-actions{display:flex;gap:8px;}
.scale-strategy-action-btn{padding:6px 12px;border-radius:8px;border:1px solid var(--border2);background:var(--bg3);font-size:11px;font-weight:600;color:var(--txt2);cursor:pointer;transition:all .2s ease;font-family:inherit;}
.scale-strategy-action-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(6,182,212,0.05);}

/* ── Dark Mode Overrides ── */
body.dark .layer-header,
body.dark-mode .layer-header{background:rgba(30,41,59,0.7);border-color:rgba(255,255,255,0.08);}
body.dark .layer-content,
body.dark-mode .layer-content{background:rgba(30,41,59,0.7);border-color:rgba(255,255,255,0.08);}
body.dark .input-card,
body.dark-mode .input-card{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.08);}
body.dark .input-card-input,
body.dark-mode .input-card-input{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.1);color:#E2E8F0;}
body.dark .input-card-input:focus,
body.dark-mode .input-card-input:focus{background:rgba(30,41,59,0.7);border-color:var(--p);}
body.dark .tab-nav,
body.dark-mode .tab-nav{background:rgba(30,41,59,0.7);border-color:rgba(255,255,255,0.08);}
body.dark .tab-pill,
body.dark-mode .tab-pill{color:#94A3B8;}
body.dark .tab-pill:hover,
body.dark-mode .tab-pill:hover{background:rgba(255,255,255,0.05);color:#E2E8F0;}
body.dark .use-case-card,
body.dark-mode .use-case-card{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.08);}
body.dark .use-case-card:hover,
body.dark-mode .use-case-card:hover{border-color:rgba(255,255,255,0.12);}
body.dark .content-angle-chip,
body.dark-mode .content-angle-chip{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.1);color:#94A3B8;}
body.dark .content-angle-chip:hover,
body.dark-mode .content-angle-chip:hover{border-color:var(--p);color:var(--p);}
body.dark .content-angle-input,
body.dark-mode .content-angle-input{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.1);color:#E2E8F0;}
body.dark .content-angle-input:focus,
body.dark-mode .content-angle-input:focus{background:rgba(30,41,59,0.7);border-color:var(--p);}
body.dark .channel-toggle,
body.dark-mode .channel-toggle{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.08);}
body.dark .channel-toggle:hover,
body.dark-mode .channel-toggle:hover{border-color:rgba(255,255,255,0.12);}
body.dark .channel-toggle-icon,
body.dark-mode .channel-toggle-icon{background:rgba(255,255,255,0.05);}
body.dark .channel-toggle-switch,
body.dark-mode .channel-toggle-switch{background:rgba(255,255,255,0.1);}
body.dark .metrics-gauge,
body.dark-mode .metrics-gauge{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.08);}
body.dark .optimization-card,
body.dark-mode .optimization-card{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.08);}
body.dark .optimization-card:hover,
body.dark-mode .optimization-card:hover{border-color:rgba(255,255,255,0.12);}
body.dark .scale-strategy-card,
body.dark-mode .scale-strategy-card{background:rgba(30,41,59,0.5);border-color:rgba(255,255,255,0.08);}
body.dark .scale-strategy-card:hover,
body.dark-mode .scale-strategy-card:hover{border-color:rgba(255,255,255,0.12);}
body.dark .progress-bar,
body.dark-mode .progress-bar{background:rgba(255,255,255,0.05);}
body.dark .progress-status,
body.dark-mode .progress-status{background:rgba(30,41,59,0.7);border-color:rgba(255,255,255,0.08);}
body.dark .progress-milestone-dot,
body.dark-mode .progress-milestone-dot{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.2);}
body.dark .retention-timeline-node,
body.dark-mode .retention-timeline-node{background:linear-gradient(135deg,var(--p),var(--lav));}
body.dark .retention-metric,
body.dark-mode .retention-metric{background:rgba(255,255,255,0.05);color:#94A3B8;}
body.dark .retention-metric-value,
body.dark-mode .retention-metric-value{color:var(--p);}
body.dark .optimization-action-btn,
body.dark-mode .optimization-action-btn{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);color:#94A3B8;}
body.dark .optimization-action-btn:hover,
body.dark-mode .optimization-action-btn:hover{border-color:var(--p);color:var(--p);}
body.dark .scale-strategy-action-btn,
body.dark-mode .scale-strategy-action-btn{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);color:#94A3B8;}
body.dark .scale-strategy-action-btn:hover,
body.dark-mode .scale-strategy-action-btn:hover{border-color:var(--accent);color:var(--accent);}

/* ── Mobile Responsive ── */
@media(max-width:768px){
  .growth-layers-container{padding:12px;}
  .layer-header{padding:12px 16px;}
  .layer-number{width:32px;height:32px;font-size:12px;}
  .layer-title{font-size:16px;}
  .layer-content{padding:16px;}
  .use-case-grid{grid-template-columns:1fr;}
  .content-angle-chips{gap:6px;}
  .content-angle-chip{padding:6px 12px;font-size:11px;}
  .channel-toggles{grid-template-columns:1fr;}
  .retention-timeline-item{gap:12px;}
  .retention-timeline-node{width:36px;height:36px;font-size:14px;}
  .metrics-gauges{grid-template-columns:repeat(2,1fr);}
  .metrics-gauge-circle{width:80px;height:80px;}
  .metrics-gauge-value{font-size:20px;}
  .optimization-cards{grid-template-columns:1fr;}
  .scale-strategy-cards{grid-template-columns:1fr;}
  .generate-ai-btn{padding:10px 20px;font-size:12px;}
  .tab-nav{padding:6px;}
  .tab-pill{padding:6px 12px;font-size:11px;}
  .progress-milestone-label{font-size:9px;}
}

/* ══════════════════════════════════════════════════════════
   VELO OS — MOBILE APP EXPERIENCE
   Slide-out drawer sidebar + app-like layout
   ══════════════════════════════════════════════════════════ */

/* Mobile hamburger button */
.mobile-menu-btn{
  display:none;width:38px;height:38px;border-radius:10px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .2s;position:relative;z-index:101;
}
.mobile-menu-btn svg{width:18px;height:18px;stroke:var(--txt);stroke-width:2;}
.mobile-menu-btn:active{transform:scale(0.92);}

/* Mobile sidebar overlay */
.sidebar-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  z-index:998;opacity:0;transition:opacity .3s ease;
}
.sidebar-overlay.show{display:block;opacity:1;}

/* ─── Profile Dropdown — Dark Mode Fix ─── */
body.dark #profile-menu{
  background:rgba(18,18,28,0.95)!important;
  backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;
  border:1px solid rgba(255,255,255,0.1)!important;
}
body.dark #profile-menu > div:first-child{
  background:rgba(124,58,237,0.08)!important;
  border-bottom:1px solid rgba(255,255,255,0.08)!important;
}
body.dark #profile-menu input{
  background:rgba(255,255,255,0.06)!important;
  border-color:rgba(255,255,255,0.1)!important;
  color:var(--txt)!important;
}
body.dark #profile-menu input:focus{
  border-color:var(--p)!important;
  background:rgba(255,255,255,0.08)!important;
}
body.dark #profile-menu button{
  color:var(--txt2)!important;
}
body.dark #profile-menu [onclick*="authLogout"]{
  background:rgba(239,68,68,0.08)!important;
  border-color:rgba(239,68,68,0.2)!important;
  color:var(--r)!important;
}
body.dark #profile-menu [onclick*="openBillingModal"],
body.dark #profile-menu [onclick*="saveProfile"]{
  color:#fff!important;
}

/* ─── Clients Popup Styles ─── */
.clients-popup{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  z-index:900;align-items:center;justify-content:center;
}
.clients-popup.show{display:flex;}
.clients-popup-box{
  background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1px solid var(--glass-border);border-radius:20px;
  width:min(420px,92vw);max-height:70vh;overflow:hidden;
  box-shadow:var(--shadow3);
}
body.dark .clients-popup-box{
  background:rgba(18,18,28,0.95)!important;
  border-color:rgba(255,255,255,0.1)!important;
}
.clients-popup-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px 14px;border-bottom:1px solid var(--glass-border);
}
.clients-popup-hd h3{font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:var(--txt);}
.clients-popup-body{padding:12px;max-height:50vh;overflow-y:auto;}
.clients-popup-body .cl-chip{margin:0 0 6px;}

/* ─── Enhanced Contrast — Cards & Inputs ─── */
.card,.kpi-card,.found-card,.cro-sec{
  border:1px solid rgba(0,0,0,0.08);
}
body.dark .card,body.dark .kpi-card,body.dark .found-card,body.dark .cro-sec{
  border-color:rgba(255,255,255,0.1);
}
input,textarea,select{
  color:var(--txt)!important;
}
body.dark input,body.dark textarea,body.dark select{
  color:var(--txt)!important;
  background:rgba(255,255,255,0.05)!important;
  border-color:rgba(255,255,255,0.12)!important;
}
body.dark input:focus,body.dark textarea:focus,body.dark select:focus{
  border-color:var(--p)!important;
  background:rgba(255,255,255,0.08)!important;
  box-shadow:0 0 0 3px rgba(124,58,237,0.15)!important;
}
body.dark .modal{
  background:rgba(18,18,28,0.96)!important;
  border:1px solid rgba(255,255,255,0.1)!important;
}

/* ─── Sidebar Steps Indicator ─── */
.sb-phase-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 12px;margin:2px 8px;border-radius:var(--radius-sm);
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  transition:all .2s;
}
.sb-phase-hd:hover{background:var(--glass-bg-hover);}
.phase-ring{
  width:22px;height:22px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:9px;font-weight:800;flex-shrink:0;
  transition:all .3s;
}
.ring-empty{background:var(--bg4);color:var(--txt4);border:1.5px solid var(--bg5);}
.ring-partial{background:var(--gold2);color:var(--gold);border:1.5px solid rgba(245,158,11,0.3);}
.ring-done{background:var(--g2);color:var(--g);border:1.5px solid rgba(16,185,129,0.3);}
.nav-pipe-dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-left:auto;
  transition:all .3s;
}
.pipe-empty{background:var(--bg5);border:1px solid var(--bg4);}
.pipe-done{background:var(--g);border:1px solid rgba(16,185,129,0.3);box-shadow:0 0 6px rgba(16,185,129,0.3);}

/* ─── Topbar Cleanup ─── */
.topbar{
  padding:12px 20px;gap:10px;
  background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border-bottom:1px solid var(--glass-border);
  display:flex;align-items:center;
  box-shadow:0 1px 8px rgba(0,0,0,0.04);
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  box-sizing:border-box;
}
body.dark .topbar{box-shadow:0 1px 8px rgba(0,0,0,0.2);}
.auth-user-chip{
  display:flex;align-items:center;gap:6px;
  padding:4px 10px 4px 4px;border-radius:10px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-sm));
  -webkit-backdrop-filter:blur(var(--glass-blur-sm));
  transition:all .2s;cursor:pointer;
}
.auth-user-chip:hover{
  background:var(--glass-bg-hover);border-color:var(--p);
  box-shadow:0 0 12px rgba(124,58,237,0.15);
}

/* ══════════════════════════════════════════════════
   CONSOLIDATED MOBILE RESPONSIVE
   ══════════════════════════════════════════════════ */

@media(max-width:900px){
  html,body{
    height:100%;
    overflow:hidden;
  }
  #screen-growth,
  .app,
  .app-main{
    min-height:0!important;
  }
  #screen-growth{
    height:100dvh!important;
    max-height:100dvh!important;
  }
  .mobile-menu-btn{display:flex!important;}
  
  .sidebar{
    position:fixed!important;
    top:0!important;bottom:0!important;left:0!important;
    width:94vw!important;max-width:420px!important;
    height:100vh!important;height:100dvh!important;
    max-height:100dvh!important;
    flex-direction:column!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    z-index:999!important;
    transform:translateX(-100%)!important;
    transition:transform .3s cubic-bezier(.4,0,.2,1)!important;
    border-right:1px solid var(--glass-border)!important;
    border-top:none!important;
    background:rgba(255,255,255,0.92)!important;
    backdrop-filter:blur(24px)!important;
    -webkit-backdrop-filter:blur(24px)!important;
    box-shadow:4px 0 24px rgba(0,0,0,0.08)!important;
    padding-top:0!important;
  }
  body.dark .sidebar{
    background:rgba(14,14,22,0.96)!important;
    box-shadow:4px 0 24px rgba(0,0,0,0.3)!important;
  }
  .sidebar.mobile-open{
    transform:translateX(0)!important;
  }
  .sidebar .sb-brand{display:flex!important;}
  .sidebar .sb-search-wrap{display:block!important;}
  .sidebar .sb-sec{display:block!important;}
  .sidebar .sb-foot{display:block!important;}
  .sidebar .sb-divider{display:block!important;}
  .sidebar .sb-phase-hd{display:flex!important;}
  .sidebar .dm-toggle{display:flex!important;}
  .sidebar #foundation-indicator{display:flex!important;}
  .sidebar #g-cl-list{display:none!important;}
  .sidebar [onclick*="gNewClient"]{display:none!important;}
  .sidebar .nav-btn{
    flex-direction:row!important;align-items:center!important;
    width:calc(100% - 16px)!important;margin:1px 8px!important;
    padding:10px 12px!important;font-size:11.5px!important;
    gap:8px!important;min-width:unset!important;
    min-height:42px!important;
    white-space:nowrap!important;
  }
  .sidebar .nav-btn-label{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;word-break:break-word!important;
    text-overflow:clip!important;
    line-height:1.2!important;
  }
  .sidebar .nd{font-size:10px!important;width:20px!important;height:20px!important;}
  .sidebar .nav-pipe-dot{display:flex!important;}
  #sb-nav-dynamic{display:block!important;}
  
  .app{flex-direction:column!important;}
  .app-main{
    width:100%!important;
    min-width:0!important;
    flex:1 1 auto!important;
    overflow:hidden!important;
  }
  .content{
    padding-bottom:24px!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    will-change:scroll-position;
  }
  .page,
  .page.active{
    min-height:100%!important;
  }
  
  /* Topbar mobile — 3 elements only: hamburger, client switcher, user avatar */
  .topbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:10px 14px!important;
    gap:0!important;
  }

  /* Hide extra elements */
  .tb-title{display:none!important;}
  .tb-sub{display:none!important;}
  #vertical-badge{display:none!important;}
  #user-display-name{display:none!important;}

  /* Hide plan badges */
  .ws-plan-badge,
  [class*="plan-badge"],
  #ws-switcher{display:none!important;}

  /* User chip: avatar only */
  #user-chip{
    padding:4px!important;
    gap:0!important;
    background:transparent!important;
    border:none!important;
  }
  #user-avatar-chip{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
  }

  /* Client switcher: centered and larger */
  .client-switcher{
    flex:1!important;
    max-width:200px!important;
    justify-content:center!important;
    margin:0 8px!important;
    padding:7px 12px!important;
    border-radius:12px!important;
    font-size:13px!important;
    font-weight:700!important;
  }

  /* Client switcher pills — hide edit/delete, make cleaner */
  .client-switch-dropdown .cl-edit-btn,
  .client-switch-dropdown .cl-del-btn,
  [onclick*="gEditClient"],
  [onclick*="gDeleteClient"]{
    display:none!important;
  }
  .client-switcher-bar{
    gap:6px!important;
    padding:8px 14px!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .client-switcher-bar::-webkit-scrollbar{display:none;}
  .client-switcher-bar .cl-pill{
    flex-shrink:0!important;
    padding:7px 14px!important;
    font-size:12px!important;
    white-space:nowrap!important;
    border-radius:20px!important;
  }

  /* Back button — not needed with mobile drawer */
  .back-btn{display:none!important;}

  /* Toast stack mobile fix */
  #toast-stack{
    bottom:80px!important;
    right:12px!important;
    max-width:calc(100vw - 24px)!important;
  }
}

@media(max-width:768px){
  #screen-choose{padding:20px 14px!important;align-items:flex-start!important;}
  .ch-cards-v16{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .ch-hd h2{font-size:22px!important;}
  .cc{padding:18px 14px 22px!important;}

  .card{padding:14px!important;}
  .kpi-grid{grid-template-columns:repeat(2,1fr)!important;}
  .dash-charts-2,.dash-charts-eq{grid-template-columns:1fr!important;}
  .four-col{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;}
  .two-col,.three-col,.form-grid,.ice-sliders{grid-template-columns:1fr!important;}
  .mini-stat-grid{grid-template-columns:repeat(3,1fr)!important;}

  .content{padding:16px 14px!important;}
  .topbar{padding:10px 12px!important;}

  .phero{flex-direction:column!important;gap:10px!important;padding:14px!important;}
  .ph-stats{flex-wrap:wrap!important;gap:8px!important;}
  .phs{min-width:70px!important;flex:1!important;}
  .ph-title{font-size:17px!important;}
  .dash-client-header{flex-direction:column!important;gap:12px!important;}
  .dash-client-actions{width:100%!important;flex-wrap:wrap!important;}
  .dash-client-actions .btn{flex:1!important;text-align:center!important;min-width:100px!important;}
  .dash-client-name{font-size:18px!important;}

  .tag-row{gap:6px!important;}
  .tag{padding:6px 10px!important;font-size:11.5px!important;}
  .modal{width:96vw!important;max-height:88vh!important;overflow-y:auto!important;border-radius:16px!important;}

  .sc-table,.roadmap-table,table{overflow-x:auto!important;display:block!important;}
  table{min-width:520px!important;}
  #g-tb-actions .btn-sm{padding:6px 10px!important;font-size:11px!important;}
  .insight{padding:12px!important;}
  .ai-out{padding:14px!important;}
  .ai-content{font-size:13px!important;}
  .btn-row,.action-row{flex-wrap:wrap!important;gap:8px!important;}
  .btn-row .btn,.action-row .btn{flex:1!important;min-width:100px!important;}
  .kanban-board{grid-template-columns:1fr!important;}
  .mgmt-kpi-grid{grid-template-columns:repeat(2,1fr)!important;}
  .exec-kanban{grid-template-columns:1fr!important;}
  .content-plan-grid{grid-template-columns:repeat(2,1fr)!important;}
  .found-grid{grid-template-columns:1fr!important;}
  
  /* AI floating buttons — mobile repositioned */
  #ai-floating-bar{bottom:16px!important;right:12px!important;}
  #ai-floating-bar button{width:42px!important;height:42px!important;}

  /* iOS input zoom fix — 16px minimum */
  input:not([type="range"]),
  textarea,
  select{
    font-size:16px!important;
  }
}

@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr 1fr!important;}
  .mini-stat-grid{grid-template-columns:repeat(2,1fr)!important;}
  .four-col{grid-template-columns:1fr!important;}
  .dash-client-name{font-size:16px!important;}
  .kpi-value{font-size:20px!important;}
  #screen-choose{padding:16px 10px!important;}
  .ch-cards-v16{grid-template-columns:1fr!important;}
  .ch-hd h2{font-size:18px!important;}
  .topbar{padding:8px 10px!important;}
  .content{padding:10px 8px!important;}
  .modal{width:100vw!important;border-radius:20px 20px 0 0!important;position:fixed!important;bottom:0!important;max-height:92vh!important;}
  .modal-bg{align-items:flex-end!important;}
  
  /* Intro screen mobile */
  .i-h1{font-size:28px!important;}
  .i-sub{font-size:13px!important;}
  .i-stats{flex-direction:column!important;gap:4px!important;}
  .i-stat{padding:10px!important;}

  /* Profile menu mobile fix */
  #profile-menu{
    right:-8px!important;
    width:calc(100vw - 20px)!important;
    max-width:320px!important;
  }

  /* Toast stack mobile fix */
  #toast-stack{
    right:8px!important;
    left:8px!important;
    max-width:100%!important;
  }

  /* User chip mobile fix */
  #user-display-name{display:none!important;}
  #user-chip{padding:4px 6px!important;gap:0!important;}
}

@media(hover:none) and (pointer:coarse){
  .btn,.btn-sm,.tag,.nav-btn,.cc{-webkit-tap-highlight-color:transparent;}
  input,textarea,select{font-size:16px!important;}
  .nav-btn{min-height:44px!important;}
}
*{-webkit-tap-highlight-color:transparent;}

/* ─── Auth Dark Mode Fix ─── */
body.dark .auth-box{background:#1A1A25!important;border-color:rgba(255,255,255,0.1)!important;}
body.dark .auth-field input{background:rgba(255,255,255,0.06)!important;border-color:rgba(255,255,255,0.12)!important;color:#F5F6F8!important;}
body.dark .auth-field input:focus{background:rgba(255,255,255,0.08)!important;border-color:var(--p)!important;}
body.dark .auth-field label{color:#9BA3B2!important;}
body.dark .auth-logo-name{color:#F5F6F8!important;}
body.dark .auth-title{color:#F5F6F8!important;}
body.dark .auth-sub{color:#9BA3B2!important;}
body.dark #screen-auth{background:#09090F!important;}

/* ─── Profile Menu Fix — both modes ─── */
#profile-menu{
  background:#fff!important;
  border:1px solid rgba(0,0,0,0.08)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  max-width:calc(100vw - 20px);
}
#profile-menu > div:first-child{
  background:#F9FAFB!important;
  border-bottom:1px solid rgba(0,0,0,0.06)!important;
}
#profile-menu input{
  background:#F9FAFB!important;
  border:1px solid #D1D5DB!important;
  color:#1A1D23!important;
}
#profile-menu button{
  color:#1A1D23!important;
}
#profile-menu [onclick*="saveProfile"],
#profile-menu [onclick*="openBillingModal"]{
  color:#fff!important;
}
#profile-menu [onclick*="authLogout"]{
  color:#EF4444!important;
  background:rgba(239,68,68,0.06)!important;
}

/* ─── Wizard/Onboarding Fix — both modes ─── */
.wizard-step-title{color:#1A1D23!important;}
.wizard-step-sub{color:#6B7280!important;}
.wizard-title{color:#1A1D23!important;}
body.dark .wizard-step-title{color:#F5F6F8!important;}
body.dark .wizard-step-sub{color:#9BA3B2!important;}
body.dark .wizard-title{color:#F5F6F8!important;}
.wizard-body input,.wizard-body select,.wizard-body textarea{
  background:#F9FAFB!important;border:1.5px solid #D1D5DB!important;color:#1A1D23!important;
}
.wizard-body input:focus,.wizard-body select:focus,.wizard-body textarea:focus{
  border-color:var(--p)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(124,58,237,0.12)!important;
}
body.dark .wizard-body input,body.dark .wizard-body select,body.dark .wizard-body textarea{
  background:rgba(255,255,255,0.06)!important;border-color:rgba(255,255,255,0.12)!important;color:#F5F6F8!important;
}
.wizard-body label{color:#374151!important;font-weight:600;}
body.dark .wizard-body label{color:#9BA3B2!important;}

/* ══════════════════════════════════════════════════
   VELO OS — LOGO & HEADER POLISH
   ══════════════════════════════════════════════════ */

/* Auth logo — clean with SVG */
.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px;}
.auth-logo-gem{
  width:auto!important;height:auto!important;
  background:none!important;box-shadow:none!important;
  border-radius:0!important;
  color:#1F2937;
  display:flex;align-items:center;
}
.auth-logo-name{
  font-family:'Playfair Display',serif!important;
  font-size:22px!important;font-weight:800!important;
  color:#1A1D23!important;letter-spacing:-0.5px;
}
.brand-logo-img{display:block;max-width:100%;height:auto;object-fit:contain;}
.auth-logo-img{width:84px;max-width:none;}
body.dark .auth-logo-gem{color:#F5F6F8!important;}
body.dark .auth-logo-name{color:#F5F6F8!important;}

/* Sidebar brand — polished */
.sb-brand{
  display:flex!important;align-items:center!important;gap:10px!important;
  padding:12px 14px!important;margin:0 8px 8px!important;
  border-radius:12px!important;
  background:var(--glass-bg)!important;
  border:1px solid var(--glass-border)!important;
  transition:all .2s!important;
}
.sb-brand:hover{
  background:var(--glass-bg-hover)!important;
  transform:translateY(-1px)!important;
}
.sb-gem{
  width:36px!important;height:36px!important;
  border-radius:10px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex-shrink:0!important;
}
.sb-logo-img{width:34px;height:34px;}
.sb-nm{
  font-family:'Playfair Display',serif!important;
  font-size:16px!important;font-weight:800!important;
  color:var(--txt)!important;letter-spacing:-0.3px!important;
}
.sb-nm-sub{
  font-size:9px!important;font-weight:700!important;
  color:var(--txt4)!important;letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* Topbar — cleaner layout */
.topbar{
  padding:10px 20px!important;gap:10px!important;
  background:var(--card,#fff)!important;
  border-bottom:1px solid var(--border,rgba(0,0,0,0.06))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  display:flex!important;align-items:center!important;
  position:sticky!important;top:0!important;z-index:100!important;
}
body.dark .topbar{
  background:var(--card,#141420)!important;
  border-bottom-color:rgba(255,255,255,0.06)!important;
}
.tb-title{
  font-family:'Playfair Display',serif!important;
  font-size:17px!important;font-weight:800!important;
  letter-spacing:-0.3px!important;color:var(--txt)!important;
}
.tb-sub{
  font-size:11px!important;color:var(--txt4)!important;
  margin-top:1px!important;
}

/* Hamburger button polish */
.mobile-menu-btn{
  background:var(--card,#fff)!important;
  border:1px solid var(--border,rgba(0,0,0,0.08))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.dark .mobile-menu-btn{
  background:var(--bg3)!important;
  border-color:rgba(255,255,255,0.1)!important;
}
.mobile-menu-btn svg{stroke:var(--txt)!important;}

/* Vertical badge polish */
#vertical-badge{
  background:var(--card,#fff)!important;
  border:1px solid var(--border,rgba(0,0,0,0.08))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  font-size:10px!important;font-weight:700!important;
  padding:4px 10px!important;border-radius:20px!important;
}
body.dark #vertical-badge{
  background:var(--bg3)!important;
  border-color:rgba(255,255,255,0.1)!important;
}

/* Client switcher polish */
.client-switcher{
  background:var(--card,#fff)!important;
  border:1px solid var(--border,rgba(0,0,0,0.08))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.dark .client-switcher{
  background:var(--bg3)!important;
  border-color:rgba(255,255,255,0.1)!important;
}

/* User chip polish */
.auth-user-chip{
  background:var(--card,#fff)!important;
  border:1px solid var(--border,rgba(0,0,0,0.08))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:3px 10px 3px 3px!important;
  border-radius:10px!important;
  gap:6px!important;
}
body.dark .auth-user-chip{
  background:var(--bg3)!important;
  border-color:rgba(255,255,255,0.1)!important;
}
.auth-user-chip:hover{
  border-color:var(--p)!important;
  box-shadow:0 0 0 3px rgba(124,58,237,0.08)!important;
}

/* Auth screen full redesign */
#screen-auth{
  background:linear-gradient(145deg, #F3F4F6 0%, #E5E7EB 100%)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
body.dark #screen-auth{
  background:#111827!important;
}
.auth-box{
  background:#fff!important;
  border-radius:20px!important;
  border:1px solid rgba(0,0,0,0.06)!important;
  box-shadow:0 20px 60px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04)!important;
  padding:40px 44px!important;
}

/* ═══════════════════════════════════════════════════════════════════
   SIMPLIFIED MODE STYLES
   ═══════════════════════════════════════════════════════════════════ */

.journey-step-card{
  background:var(--card);
  border:1.5px solid var(--border);
  border-radius:var(--rr);
  padding:16px;
  cursor:pointer;
  transition:all .2s;
}
.journey-step-card:hover{
  border-color:var(--lav);
  transform:translateY(-2px);
}
.journey-step-card.s-done{
  border-color:var(--g);
}
.journey-step-card.s-active{
  border-color:var(--lav);
}
.journey-step-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  margin-bottom:8px;
}
.journey-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:16px;
}
.audit-simple-section{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--rr);
  padding:16px;
  margin-bottom:12px;
}
.audit-simple-label{
  font-size:13px;
  font-weight:600;
  color:var(--txt);
  margin-bottom:8px;
}
.audit-simple-hint{
  font-size:11px;
  color:var(--txt3);
  margin-top:4px;
}
.mode-badge{
  font-size:9px;
  font-weight:700;
  padding:2px 7px;
  border-radius:20px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mode-badge.simplified{
  background:rgba(107,92,231,.1);
  color:var(--lav);
  border:1px solid rgba(107,92,231,.2);
}
.foundation-warning-banner{
  background:var(--gold2);
  border-right:3px solid var(--gold);
  border-radius:0 var(--rr) var(--rr) 0;
  padding:12px 16px;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.foundation-warning-text{
  flex:1;
  font-size:13px;
  font-weight:600;
  color:var(--txt);
}
.foundation-warning-actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
}
body.dark .auth-box{
  background:#1F2937!important;
  border-color:rgba(255,255,255,0.08)!important;
  box-shadow:0 20px 60px rgba(0,0,0,0.3)!important;
}

/* Accessibility: suppress animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   VELO PDF EXPORT SYSTEM
   Hidden report template + export button loading states
   ═══════════════════════════════════════════════════════════════════ */

@keyframes pdfSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.tab-export-btn.is-loading{
  justify-content:flex-start;
  gap:11px;
  width:188px;
  padding:0 16px 0 0;
  pointer-events:none;
  filter:saturate(.96);
}

.tab-export-btn.is-loading .tab-export-btn__text{
  max-width:124px;
  opacity:1;
  transform:translateX(0);
}

.tab-export-btn.is-loading .tab-export-btn__icon{
  animation:pdfSpin .95s linear infinite;
  border-right-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
}

.pdf-export-action.is-loading{
  opacity:.72;
  pointer-events:none;
}

#pdf-report-frame{
  display:block;
  position:absolute;
  left:-200vw;
  top:0;
  width:0;
  height:0;
  overflow:visible;
  pointer-events:none;
}

#pdf-template{
  display:none;
  position:fixed;
  left:-9999px;
  top:0;
  width:794px;
  background:#fff;
  color:#111827;
  font-family:'Inter',sans-serif;
  z-index:-1;
  pointer-events:none;
  opacity:0;
}

#pdf-template.is-rendering{
  display:block;
  position:absolute;
  left:0;
  top:0;
  opacity:1;
  z-index:1;
}

#pdf-template,
#pdf-template *{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

#pdf-template *,
#pdf-template *::before,
#pdf-template *::after{
  box-sizing:border-box;
}

.pdf-page{
  width:794px;
  min-height:1123px;
  padding:76px 68px 70px;
  position:relative;
  background:#fff;
  color:#111827;
  overflow:hidden;
  page-break-after:always;
}

.pdf-page:last-child{
  page-break-after:auto;
}

.pdf-cover,
.pdf-back-cover{
  background:#0F1117;
  color:#fff;
  padding:82px 74px;
}

.pdf-cover{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.pdf-back-cover{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.pdf-cover-logo{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}

.pdf-cover-logo-mark{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
}

.pdf-cover-logo-type{
  font-family:'Playfair Display',serif;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.02em;
}

.pdf-cover-rule{
  width:100%;
  height:1px;
  background:#0F766E;
  margin:0 0 28px;
}

.pdf-cover-kicker{
  font-size:10px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#94D2CB;
  margin-bottom:14px;
}

.pdf-cover-title{
  font-family:'Playfair Display',serif;
  font-size:28px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.03em;
  margin-bottom:16px;
}

.pdf-cover-title-bar{
  width:100%;
  height:12px;
  margin:12px 0 26px;
  background:#0F766E;
  box-shadow:120px 0 0 rgba(15,118,110,.45);
  border-radius:999px;
}

.pdf-cover-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 20px;
  margin-bottom:36px;
}

.pdf-cover-meta-card{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
}

.pdf-cover-meta-label{
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9CA3AF;
  margin-bottom:5px;
}

.pdf-cover-meta-value{
  font-size:13px;
  font-weight:600;
  color:#fff;
  line-height:1.45;
}

.pdf-cover-prepared{
  margin-top:8px;
  font-size:12px;
  line-height:1.7;
  color:#D1D5DB;
}

.pdf-confidential-strip{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:18px 74px 20px;
  background:#0F766E;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#ECFDF5;
}

.pdf-page-title{
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.02em;
  color:#111827;
  margin-bottom:6px;
}

.pdf-page-subtitle{
  font-size:11px;
  line-height:1.6;
  color:#6B7280;
  margin-bottom:18px;
}

.pdf-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#0F766E;
  border-left:3px solid #0F766E;
  padding-left:8px;
  margin:20px 0 12px;
}

.pdf-card{
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:8px;
  padding:12px 14px;
  margin-bottom:12px;
  box-shadow:0 1px 0 rgba(17,24,39,.02);
}

.pdf-card-soft{
  background:#F9FAFB;
}

.pdf-split{
  display:grid;
  grid-template-columns:1.4fr .9fr;
  gap:12px;
}

.pdf-grid-2{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.pdf-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.pdf-grid-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}

.pdf-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 12px;
}

.pdf-meta-item{
  padding:10px 12px;
  border-radius:8px;
  background:#F9FAFB;
  border:1px solid #E5E7EB;
}

.pdf-meta-label{
  font-size:9px;
  color:#6B7280;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  margin-bottom:4px;
}

.pdf-meta-value{
  font-size:12px;
  line-height:1.45;
  font-weight:600;
  color:#111827;
}

.pdf-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:16px;
}

.pdf-kpi{
  background:#F9FAFB;
  border:1px solid #E5E7EB;
  border-radius:8px;
  padding:10px 12px;
  text-align:center;
}

.pdf-kpi-n{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:800;
  color:#111827;
  letter-spacing:-.02em;
}

.pdf-kpi-l{
  font-size:9px;
  color:#9CA3AF;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-top:4px;
  font-weight:700;
}

.pdf-kpi-s{
  margin-top:6px;
  font-size:10px;
  color:#6B7280;
}

.pdf-summary-strip{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding:10px 14px;
  border-radius:999px;
  background:#F3F4F6;
  border:1px solid #E5E7EB;
  margin-bottom:14px;
  font-size:10px;
  font-weight:700;
  color:#374151;
}

.pdf-summary-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.pdf-table{
  width:100%;
  border-collapse:collapse;
  font-size:10px;
}

.pdf-table th{
  background:#F3F4F6;
  padding:7px 10px;
  text-align:left;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#6B7280;
  border-bottom:1.5px solid #E5E7EB;
}

.pdf-table td{
  padding:8px 10px;
  border-bottom:1px solid #F3F4F6;
  color:#374151;
  vertical-align:top;
}

.pdf-table tr.on-track{
  background:rgba(16,185,129,.06);
}

.pdf-table tr.warning{
  background:rgba(245,158,11,.06);
}

.pdf-table tr.behind{
  background:rgba(239,68,68,.06);
}

.pdf-table tr:last-child td{
  border-bottom:none;
}

.pdf-table-tight td,
.pdf-table-tight th{
  padding:6px 8px;
}

.pdf-table-muted td{
  color:#4B5563;
}

.pdf-note,
.pdf-body{
  font-size:11px;
  line-height:1.68;
  color:#374151;
}

.pdf-muted{
  color:#6B7280;
}

.pdf-mono{
  font-family:'DM Mono',monospace;
}

.pdf-bottleneck{
  font-family:'Playfair Display',serif;
  font-size:18px;
  line-height:1.45;
  color:#111827;
}

.pdf-focus-statement{
  padding:12px 14px;
  border-radius:10px;
  background:rgba(15,118,110,.08);
  border:1px solid rgba(15,118,110,.14);
  box-shadow:inset 0 0 0 1px rgba(124,58,237,.06);
  font-size:11px;
  line-height:1.65;
  color:#134E4A;
  font-weight:600;
}

.pdf-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}

.pdf-status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  display:inline-block;
}

.pdf-dot-g{ background:#10B981; }
.pdf-dot-w{ background:#F59E0B; }
.pdf-dot-r{ background:#EF4444; }
.pdf-dot-p{ background:#7C3AED; }
.pdf-dot-t{ background:#0F766E; }

.pdf-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  background:#F3F4F6;
  border:1px solid #E5E7EB;
  font-size:9px;
  font-weight:700;
  color:#374151;
}

.pdf-ai-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:20px;
  font-size:9px;
  font-weight:700;
  background:#7C3AED;
  border:1px solid rgba(15,118,110,.18);
  color:#fff;
  margin-bottom:8px;
}

.pdf-ai-section{
  background:rgba(124,58,237,.04);
  border:1px solid rgba(124,58,237,.15);
  border-radius:8px;
  padding:12px 14px;
  margin-top:12px;
}

.pdf-ai-block{
  padding:10px 12px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(229,231,235,.9);
  margin-top:8px;
}

.pdf-ai-block--diagnosis{
  border-left:4px solid #0F766E;
}

.pdf-ai-block--waste{
  border-left:4px solid #F59E0B;
}

.pdf-ai-block--recommendations{
  border-left:4px solid #7C3AED;
}

.pdf-ai-title{
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#111827;
  margin-bottom:6px;
}

.pdf-ai-copy{
  font-size:11px;
  line-height:1.68;
  color:#374151;
}

.pdf-ai-copy p{
  margin:0 0 8px;
}

.pdf-ai-copy ul{
  margin:0;
  padding-left:18px;
}

.pdf-ai-copy li{
  margin-bottom:5px;
}

.pdf-list{
  margin:0;
  padding-left:18px;
}

.pdf-list li{
  margin-bottom:5px;
  color:#374151;
  font-size:11px;
  line-height:1.55;
}

.pdf-list-dot{
  list-style:none;
  padding-left:0;
}

.pdf-list-dot li{
  position:relative;
  padding-left:14px;
}

.pdf-list-dot li::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#EF4444;
}

.pdf-layer-bar{
  margin-bottom:8px;
}

.pdf-layer-label{
  font-size:10px;
  font-weight:600;
  color:#374151;
  margin-bottom:4px;
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.pdf-bar-wrap{
  height:6px;
  background:#F3F4F6;
  border-radius:999px;
  overflow:hidden;
}

.pdf-bar-fill{
  height:100%;
  border-radius:999px;
  transition:none;
}

.pdf-ring{
  width:108px;
  height:108px;
  position:relative;
  margin:0 auto;
}

.pdf-ring svg{
  display:block;
  width:100%;
  height:100%;
}

.pdf-ring-inner{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:72px;
  height:72px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:800;
  color:#111827;
  line-height:1;
}

.pdf-ring-caption{
  margin-top:10px;
  text-align:center;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6B7280;
}

.pdf-sparkline{
  width:100%;
  height:34px;
  display:block;
}

.pdf-channel-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.pdf-channel-row{
  display:grid;
  grid-template-columns:132px 1fr 42px;
  gap:10px;
  align-items:center;
}

.pdf-channel-name{
  font-size:10px;
  font-weight:600;
  color:#374151;
}

.pdf-channel-val{
  font-size:10px;
  font-weight:700;
  color:#111827;
  text-align:right;
}

.pdf-copy-snippet{
  padding:10px 12px;
  border-radius:8px;
  background:#F9FAFB;
  border:1px solid #E5E7EB;
  margin-bottom:8px;
}

.pdf-copy-label{
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6B7280;
  margin-bottom:5px;
}

.pdf-copy-text{
  font-size:11px;
  line-height:1.65;
  color:#374151;
}

.pdf-empty{
  padding:18px 16px;
  border-radius:10px;
  border:1px dashed #D1D5DB;
  background:#F9FAFB;
  color:#6B7280;
  font-size:11px;
  line-height:1.65;
  text-align:center;
}

.pdf-footer{
  position:absolute;
  bottom:24px;
  left:68px;
  right:68px;
  font-size:9px;
  color:#6B7280;
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #0F766E;
  padding-top:8px;
}

.pdf-footer > div{
  flex:1;
}

.pdf-footer > div:nth-child(2){
  text-align:center;
}

.pdf-footer > div:last-child{
  text-align:right;
}

.pdf-cover .pdf-footer,
.pdf-back-cover .pdf-footer,
.pdf-footer--inverse{
  color:rgba(255,255,255,.74);
  border-top-color:rgba(15,118,110,.78);
}

.pdf-cover .pdf-footer{
  bottom:72px;
}

.pdf-disclaimer{
  font-size:11px;
  line-height:1.7;
  color:#D1D5DB;
  max-width:480px;
}

.pdf-back-brand{
  text-align:center;
  margin-top:auto;
}

.pdf-back-brand-title{
  font-family:'Playfair Display',serif;
  font-size:26px;
  font-weight:800;
  letter-spacing:-.02em;
  margin-bottom:10px;
}

.pdf-back-brand-url{
  font-size:12px;
  color:#94D2CB;
}

.pdf-qr-placeholder{
  width:94px;
  height:94px;
  margin:26px auto 0;
  border-radius:16px;
  border:1px dashed rgba(255,255,255,.24);
  display:grid;
  place-items:center;
  color:#6B7280;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pdf-page-break-guard{
  break-inside:avoid;
  page-break-inside:avoid;
}

.pdf-row-done,
.pdf-row-pending{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  font-weight:700;
}

.pdf-row-done::before,
.pdf-row-pending::before{
  content:"";
  width:14px;
  height:14px;
  border-radius:50%;
  display:inline-block;
}

.pdf-row-done::before{
  background:#10B981;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.85);
}

.pdf-row-pending::before{
  background:#fff;
  border:1.5px solid #D1D5DB;
}

.pdf-icon-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(15,118,110,.08);
  border:1px solid rgba(15,118,110,.14);
  color:#115E59;
  font-size:9px;
  font-weight:700;
}

.pdf-divider{
  height:1px;
  background:#E5E7EB;
  margin:14px 0;
}

.pdf-mini-caption{
  font-size:9px;
  color:#9CA3AF;
  line-height:1.4;
}

.pdf-nowrap{
  white-space:nowrap;
}

/* ══════════════════════════════════════════════════════════════════
   CLEAN EDITORIAL UI PASS
   Use Case catalog / detail redesign inspired by reference boards
   Keeps existing sidebar + navigation structure intact
   ══════════════════════════════════════════════════════════════════ */

body{
  background:
    radial-gradient(circle at top left, rgba(84,43,214,.05), transparent 24%),
    radial-gradient(circle at top right, rgba(41,81,203,.045), transparent 20%),
    var(--bg);
}

.tb-title,
.ph-title,
.card-hd,
.auth-title,
.modal-hd span{
  font-family:var(--font-display);
  letter-spacing:-.02em;
}

.content{
  background:transparent;
}

.topbar,
.card,
.phero,
.icard,
.modal,
.ai-out{
  border-color:rgba(17,24,39,.06)!important;
  box-shadow:0 16px 40px rgba(15,23,42,.05),0 2px 10px rgba(15,23,42,.03);
}

.topbar{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.card,
.phero,
.icard,
.modal{
  border-radius:18px;
}

.btn,
.btn-sm,
.btn-xs{
  border-radius:12px;
}

.btn{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn:active{
  transform:translateY(0);
}

.uc-page{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.uc-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.95fr);
  gap:16px;
  padding:24px 26px;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(84,43,214,.09), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,249,250,.96));
  border:1px solid rgba(17,24,39,.06);
  box-shadow:0 18px 48px rgba(15,23,42,.06),0 2px 10px rgba(15,23,42,.03);
}

.uc-head-copy{
  min-width:0;
}

.uc-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:var(--p);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.uc-kicker::before{
  content:"";
  width:34px;
  height:1px;
  background:rgba(84,43,214,.28);
}

.uc-title{
  font-family:var(--font-display);
  font-size:34px;
  line-height:1.04;
  letter-spacing:-.04em;
  color:#111827;
  margin-bottom:10px;
}

.uc-subtitle{
  max-width:760px;
  color:var(--txt3);
  font-size:14px;
  line-height:1.7;
}

.uc-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-self:start;
}

.uc-stat-card{
  min-width:0;
  padding:18px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(17,24,39,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.uc-stat-value{
  font-family:var(--font-display);
  font-size:34px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.04em;
  color:#111827;
}

.uc-stat-label{
  margin-top:8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--txt4);
}

.uc-actions-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.uc-action-card{
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(17,24,39,.06);
  box-shadow:0 12px 24px rgba(15,23,42,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.uc-action-card.is-active{
  border-color:rgba(84,43,214,.25);
  box-shadow:0 18px 36px rgba(84,43,214,.12);
}

.uc-action-card:hover{
  transform:translateY(-2px);
}

.uc-action-eyebrow{
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--txt4);
  margin-bottom:8px;
}

.uc-action-title{
  font-family:var(--font-display);
  font-size:18px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.02em;
  color:#111827;
  margin-bottom:8px;
}

.uc-action-copy{
  font-size:13px;
  line-height:1.65;
  color:var(--txt3);
  margin-bottom:14px;
}

.uc-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(237,238,239,.72);
  border:1px solid rgba(17,24,39,.06);
}

.uc-toolbar-label{
  font-size:12px;
  font-weight:800;
  color:var(--txt3);
}

.uc-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.07);
  background:rgba(255,255,255,.84);
  color:var(--txt3);
  font-size:12px;
  font-weight:700;
  transition:all .16s ease;
}

.uc-chip.is-active{
  background:rgba(84,43,214,.1);
  color:var(--p);
  border-color:rgba(84,43,214,.16);
}

.uc-chip-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(17,24,39,.06);
  color:inherit;
  font-size:11px;
  font-weight:800;
}

.uc-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:18px;
  align-items:start;
}

.uc-catalog{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.uc-card{
  position:relative;
  display:block;
  width:100%;
  text-align:left;
  padding:18px 18px 16px;
  border-radius:24px;
  border:1px solid rgba(17,24,39,.07);
  background:rgba(255,255,255,.9);
  box-shadow:0 14px 30px rgba(15,23,42,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  cursor:pointer;
}

.uc-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(15,23,42,.08);
}

.uc-card.is-active{
  border-color:rgba(84,43,214,.2);
  box-shadow:0 20px 44px rgba(84,43,214,.12);
}

.uc-card-head{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}

.uc-check{
  padding-top:8px;
}

.uc-check input{
  width:16px;
  height:16px;
  cursor:pointer;
  accent-color:var(--p);
}

.uc-score{
  min-width:74px;
  padding:12px 10px;
  border-radius:18px;
  background:#F5F6FF;
  text-align:center;
}

.uc-score-num{
  font-family:var(--font-display);
  font-size:30px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
  color:#111827;
}

.uc-score-label{
  margin-top:6px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--txt4);
}

.uc-score--high{
  background:rgba(239,68,68,.1);
}

.uc-score--high .uc-score-num{
  color:var(--r);
}

.uc-score--mid{
  background:rgba(84,43,214,.09);
}

.uc-score--mid .uc-score-num{
  color:var(--p);
}

.uc-score--low{
  background:rgba(229,231,235,.8);
}

.uc-card-body{
  min-width:0;
}

.uc-card-title{
  font-family:var(--font-display);
  font-size:21px;
  line-height:1.12;
  letter-spacing:-.03em;
  color:#111827;
  margin-bottom:8px;
}

.uc-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:10px;
}

.uc-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.uc-tag--primary{
  color:var(--p);
  background:rgba(84,43,214,.1);
}

.uc-tag--accent{
  color:#2951CB;
  background:rgba(41,81,203,.1);
}

.uc-tag--green{
  color:#087C63;
  background:rgba(16,185,129,.12);
}

.uc-tag--amber{
  color:#B45309;
  background:rgba(245,158,11,.14);
}

.uc-tag--red{
  color:#B42318;
  background:rgba(239,68,68,.12);
}

.uc-tag--neutral{
  color:var(--txt3);
  background:rgba(17,24,39,.05);
}

.uc-card-copy{
  color:var(--txt2);
  font-size:13.5px;
  line-height:1.7;
  margin-bottom:12px;
}

.uc-card-foot{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
}

.uc-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.uc-meta{
  padding:10px 12px;
  border-radius:14px;
  background:#F8F9FA;
  border:1px solid rgba(17,24,39,.05);
}

.uc-meta-label{
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--txt4);
  margin-bottom:4px;
}

.uc-meta-value{
  font-size:12px;
  line-height:1.55;
  color:#111827;
  font-weight:700;
}

.uc-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}

.uc-action-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.08);
  background:#fff;
  color:#111827;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:all .16s ease;
}

.uc-action-btn:hover{
  transform:translateY(-1px);
}

.uc-action-btn--danger{
  color:var(--r);
  border-color:rgba(239,68,68,.18);
  background:rgba(239,68,68,.04);
}

.uc-action-btn--soft{
  color:var(--p);
  border-color:rgba(84,43,214,.14);
  background:rgba(84,43,214,.06);
}

.uc-preview-wrap{
  position:sticky;
  top:18px;
}

.uc-preview{
  padding:22px;
  border-radius:28px;
  border:1px solid rgba(17,24,39,.06);
  background:
    radial-gradient(circle at top right, rgba(84,43,214,.08), transparent 24%),
    rgba(255,255,255,.94);
  box-shadow:0 22px 44px rgba(15,23,42,.07);
}

.uc-preview-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding-bottom:18px;
  margin-bottom:16px;
  border-bottom:1px solid rgba(17,24,39,.06);
}

.uc-score-panel{
  min-width:108px;
  padding:16px 12px;
  border-radius:22px;
  background:linear-gradient(180deg, #F5F3FF, #ECE7FF);
  text-align:center;
}

.uc-score-panel.uc-score--high{
  background:linear-gradient(180deg, rgba(254,226,226,.96), rgba(254,242,242,.96));
}

.uc-score-panel.uc-score--mid{
  background:linear-gradient(180deg, rgba(237,233,254,.96), rgba(245,243,255,.96));
}

.uc-score-panel.uc-score--low{
  background:linear-gradient(180deg, rgba(243,244,246,.96), rgba(249,250,251,.96));
}

.uc-score-panel .uc-score-num{
  font-size:42px;
}

.uc-score-formula{
  margin-top:8px;
  font-size:11px;
  font-family:'DM Mono',monospace;
  color:var(--txt4);
}

.uc-preview-title{
  font-family:var(--font-display);
  font-size:30px;
  line-height:1.04;
  letter-spacing:-.04em;
  color:#111827;
  margin-bottom:10px;
}

.uc-preview-copy{
  font-size:13.5px;
  line-height:1.72;
  color:var(--txt3);
}

.uc-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.uc-section-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.uc-section{
  min-width:0;
  padding:14px;
  border-radius:18px;
  background:#F8F9FA;
  border:1px solid rgba(17,24,39,.05);
}

.uc-section--problem{
  background:rgba(239,68,68,.05);
  border-color:rgba(239,68,68,.12);
}

.uc-section--alt{
  background:#F8F9FA;
}

.uc-section--why{
  background:rgba(16,185,129,.07);
  border-color:rgba(16,185,129,.14);
}

.uc-section-title{
  margin-bottom:8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--txt4);
}

.uc-section--problem .uc-section-title{
  color:var(--r);
}

.uc-section--why .uc-section-title{
  color:#087C63;
}

.uc-rich-copy{
  color:#374151;
  font-size:13px;
  line-height:1.72;
}

.uc-rich-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  list-style:none;
}

.uc-rich-list li{
  position:relative;
  padding-left:14px;
  color:#374151;
  font-size:13px;
  line-height:1.7;
}

.uc-rich-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  opacity:.35;
}

.uc-callout{
  padding:14px 15px;
  border-radius:18px;
  border:1px solid rgba(17,24,39,.06);
  background:#fff;
  margin-bottom:10px;
}

.uc-callout--accent{
  background:rgba(84,43,214,.05);
  border-color:rgba(84,43,214,.12);
}

.uc-callout--success{
  background:rgba(16,185,129,.06);
  border-color:rgba(16,185,129,.14);
}

.uc-callout--warm{
  background:rgba(245,158,11,.08);
  border-color:rgba(245,158,11,.14);
}

.uc-callout-label{
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--txt4);
  margin-bottom:6px;
}

.uc-callout--accent .uc-callout-label{
  color:var(--p);
}

.uc-callout--success .uc-callout-label{
  color:#087C63;
}

.uc-callout--warm .uc-callout-label{
  color:#B45309;
}

.uc-callout-copy{
  font-size:13px;
  line-height:1.72;
  color:#374151;
}

.uc-empty{
  padding:48px 30px;
  border-radius:26px;
  border:1px dashed rgba(17,24,39,.12);
  background:rgba(255,255,255,.7);
  text-align:center;
}

.uc-empty-title{
  font-family:var(--font-display);
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:#111827;
  margin-bottom:8px;
}

.uc-empty-copy{
  max-width:520px;
  margin:0 auto 18px;
  font-size:14px;
  line-height:1.7;
  color:var(--txt3);
}

.uc-inline-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

.uc-bulk-bar{
  display:none;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
  padding:11px 14px;
  border-radius:18px;
  background:rgba(84,43,214,.08);
  border:1px solid rgba(84,43,214,.14);
}

.uc-bulk-count{
  flex:1;
  font-size:13px;
  font-weight:800;
  color:var(--p);
}

.uc-select-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(17,24,39,.06);
}

.uc-select-row input{
  width:16px;
  height:16px;
  accent-color:var(--p);
}

.uc-select-row label{
  font-size:12px;
  font-weight:700;
  color:var(--txt3);
  cursor:pointer;
}

.uc-course-selector{
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(84,43,214,.14);
  box-shadow:0 14px 26px rgba(15,23,42,.04);
}

.uc-course-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
  margin-bottom:12px;
}

.uc-course-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:10px;
  margin-bottom:14px;
}

.uc-course-card{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,.08);
  background:#F8F9FA;
  cursor:pointer;
  transition:all .16s ease;
}

.uc-course-card.is-active{
  border-color:rgba(84,43,214,.18);
  background:rgba(84,43,214,.06);
}

.uc-course-title{
  font-size:13px;
  font-weight:800;
  color:#111827;
  margin-bottom:4px;
}

.uc-course-meta{
  font-size:11px;
  line-height:1.6;
  color:var(--txt3);
}

@media (max-width: 1180px){
  .uc-head,
  .uc-shell{
    grid-template-columns:1fr;
  }
  .uc-preview-wrap{
    position:static;
  }
}

@media (max-width: 900px){
  .uc-actions-grid,
  .uc-stat-grid,
  .uc-section-grid,
  .uc-preview-grid,
  .uc-meta-grid{
    grid-template-columns:1fr;
  }
  .uc-card-head,
  .uc-preview-head,
  .uc-card-foot{
    grid-template-columns:1fr;
  }
  .uc-card-actions{
    justify-content:flex-start;
  }
  .uc-score,
  .uc-score-panel{
    max-width:120px;
  }
}

/* Refinement pass: cleaner catalog + modal detail */
.uc-page{
  gap:14px;
}

.uc-head{
  padding:18px 22px;
  border-radius:24px;
  gap:14px;
}

.uc-kicker{
  margin-bottom:8px;
  font-size:10px;
}

.uc-title{
  font-family:inherit;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.02em;
  margin-bottom:8px;
}

.uc-subtitle{
  max-width:700px;
  font-size:13px;
}

.uc-stat-card{
  padding:14px 14px;
  border-radius:16px;
}

.uc-stat-value{
  font-size:28px;
}

.uc-actions-grid{
  gap:12px;
}

.uc-action-card{
  padding:15px;
  border-radius:18px;
}

.uc-action-title{
  font-size:13px;
  margin-bottom:6px;
}

.uc-action-copy{
  font-size:12.5px;
  margin-bottom:12px;
}

.uc-toolbar{
  gap:8px;
  padding:10px 12px;
  border-radius:16px;
}

.uc-catalog{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:16px;
}

.uc-card{
  padding:18px 18px 16px;
  border-radius:22px;
  min-height:unset;
}

.uc-card:hover{
  transform:translateY(-1px);
}

.uc-card-topline{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

.uc-card-lead{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.uc-avatar-stack{
  display:flex;
  align-items:center;
}

.uc-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(84,43,214,.14), rgba(41,81,203,.18));
  color:#2f2b8f;
  font-size:11px;
  font-weight:800;
  border:2px solid rgba(255,255,255,.96);
  box-shadow:0 4px 10px rgba(15,23,42,.06);
}

.uc-avatar + .uc-avatar{
  margin-left:-8px;
}

.uc-avatar--ghost{
  background:linear-gradient(135deg, rgba(191,219,254,.85), rgba(224,231,255,.95));
  color:#334155;
}

.uc-card-ice{
  min-width:138px;
  padding:2px 0;
  text-align:right;
  background:transparent;
}

.uc-card-ice--high{
  background:transparent;
}

.uc-card-ice--mid{
  background:transparent;
}

.uc-card-ice--low{
  background:transparent;
}

.uc-card-ice-label{
  margin:0 0 6px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--txt4);
}

.uc-card-ice-line{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.uc-card-ice-bar{
  width:52px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg, #6d4bef, #4f46e5);
  box-shadow:20px 0 0 rgba(109,75,239,.12);
}

.uc-card-ice-value{
  font-family:inherit;
  font-size:16px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.03em;
  color:#5b34e7;
}

.uc-card-ice--high .uc-card-ice-bar{
  background:linear-gradient(90deg, #6d4bef, #4f46e5);
}

.uc-chip-row{
  gap:5px;
  margin-bottom:0;
}

.uc-tag{
  padding:4px 8px;
  font-size:9px;
}

.uc-card-title{
  font-family:inherit;
  font-size:16px;
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:8px;
}

.uc-card-copy{
  font-size:12.5px;
  line-height:1.66;
  margin-bottom:14px;
}

.uc-bulk-bar,
.uc-select-row,
.uc-course-selector{
  border-radius:16px;
}

.uc-detail-sheet{
  padding:2px 2px 4px;
}

.uc-detail-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding-bottom:18px;
  margin-bottom:16px;
  border-bottom:1px solid rgba(17,24,39,.06);
}

.uc-detail-title{
  font-family:inherit;
  font-size:16px;
  line-height:1.3;
  letter-spacing:-.02em;
  font-weight:800;
  color:#111827;
  margin-bottom:10px;
}

.uc-detail-copy{
  font-size:13px;
  line-height:1.7;
  color:var(--txt3);
}

.uc-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.uc-detail-sections{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.modal:has(.uc-detail-sheet){
  width:1120px;
  max-width:96vw;
  padding:24px 24px 22px;
}

.modal:has(.uc-detail-sheet) .modal-hd{
  margin-bottom:14px;
}

@media (max-width: 980px){
  .uc-catalog{
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  }
  .uc-card-topline{
    grid-template-columns:1fr;
  }
  .uc-card-ice{
    text-align:left;
  }
  .uc-card-ice-line{
    justify-content:flex-start;
  }
  .uc-detail-hero,
  .uc-detail-grid,
  .uc-detail-sections{
    grid-template-columns:1fr;
  }
}

/* ══════════════════════════════════════════════════════════════════
   GROWTH IDEA PRIORITIZATION — READABLE TABLE + DETAIL VIEW
   ══════════════════════════════════════════════════════════════════ */

.content > *,
.content .card,
.content .phero,
.content .icard,
.content details{
  max-width:100%;
  min-width:0;
}

.gips-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  box-shadow:0 20px 50px rgba(15,23,42,.04),0 2px 10px rgba(15,23,42,.03);
}

.gips-table{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}

.gips-table thead th{
  padding:13px 12px;
  background:#F7F8FB;
  border-bottom:1px solid rgba(17,24,39,.08);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8A8FA2;
  text-align:left;
  white-space:nowrap;
}

.gips-table thead th:nth-child(1){width:94px;}
.gips-table thead th:nth-child(2){width:28%;}
.gips-table thead th:nth-child(3){width:26%;}
.gips-table thead th:nth-child(4){width:120px;}
.gips-table thead th:nth-child(5),
.gips-table thead th:nth-child(6),
.gips-table thead th:nth-child(7){width:48px;text-align:center;}
.gips-table thead th:nth-child(8){width:78px;text-align:center;}
.gips-table thead th:nth-child(9){width:124px;}
.gips-table thead th:nth-child(10){width:106px;}

.gips-row{
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}

.gips-row:hover{
  background:rgba(107,70,193,.035);
}

.gips-row td{
  padding:14px 12px;
  border-bottom:1px solid rgba(17,24,39,.06);
  vertical-align:top;
  color:var(--txt2);
  font-size:12.5px;
}

.gips-row:last-child td{
  border-bottom:none;
}

.gips-col-date{
  font-size:12px;
  color:var(--txt3);
  white-space:normal;
  overflow-wrap:anywhere;
}

.gips-col-idea,
.gips-col-hypo{
  min-width:0;
}

.gips-idea-title{
  font-family:inherit;
  font-size:14px;
  line-height:1.45;
  letter-spacing:-.01em;
  color:#131722;
  font-weight:800;
  margin-bottom:6px;
}

.gips-idea-sub,
.gips-hypo-copy{
  font-size:12.5px;
  line-height:1.62;
  color:var(--txt3);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
}

.gips-hypo-copy{
  -webkit-line-clamp:4;
}

.gips-col-score{
  text-align:center;
  font-family:inherit;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.02em;
}

.gips-col-score--i{color:var(--r);}
.gips-col-score--c{color:var(--g);}
.gips-col-score--e{color:var(--gold);}

.gips-col-total{
  text-align:center;
}

.gips-total-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  padding:8px 10px;
  border-radius:999px;
  font-family:inherit;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.02em;
  border:1px solid transparent;
}

.gips-total-pill.good,
.gips-total-box.good{
  color:#0F9F67;
  background:rgba(16,185,129,.12);
  border-color:rgba(16,185,129,.18);
}

.gips-total-pill.warn,
.gips-total-box.warn{
  color:#C77A05;
  background:rgba(245,158,11,.13);
  border-color:rgba(245,158,11,.2);
}

.gips-total-pill.backlog,
.gips-total-box.backlog{
  color:#6B46C1;
  background:rgba(107,70,193,.11);
  border-color:rgba(107,70,193,.15);
}

.gips-status-select{
  width:100%;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.08);
  background:#fff;
  color:var(--txt2);
  font-size:12px;
  font-weight:700;
  font-family:inherit;
  outline:none;
}

.gips-status-select.good{
  background:rgba(16,185,129,.06);
}

.gips-status-select.warn{
  background:rgba(245,158,11,.07);
}

.gips-status-select.backlog{
  background:rgba(107,70,193,.06);
}

.gips-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}

.gips-row-actions .btn-xs{
  width:32px;
  height:32px;
  border-radius:10px;
  border:1px solid rgba(17,24,39,.08);
  background:#fff;
  box-shadow:none;
}

.gips-detail-sheet{
  padding:4px 2px 6px;
}

.gips-detail-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(17,24,39,.08);
}

.gips-detail-kicker{
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--txt3);
  margin-bottom:7px;
}

.gips-detail-title{
  font-family:inherit;
  font-size:16px;
  line-height:1.35;
  letter-spacing:-.02em;
  font-weight:800;
  color:#111827;
  margin-bottom:12px;
}

.gips-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.gips-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.08);
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gips-chip--lever{
  background:rgba(107,70,193,.08);
  color:var(--p);
}

.gips-chip--status{
  background:#F6F7FA;
  color:var(--txt2);
}

.gips-chip--status.good{
  background:rgba(16,185,129,.1);
  color:#0F9F67;
}

.gips-chip--status.warn{
  background:rgba(245,158,11,.12);
  color:#C77A05;
}

.gips-chip--status.backlog{
  background:rgba(107,70,193,.1);
  color:var(--p);
}

.gips-chip--neutral{
  background:#F8FAFC;
  color:var(--txt3);
}

.gips-total-box{
  min-width:112px;
  padding:16px 14px 14px;
  border-radius:24px;
  text-align:center;
}

.gips-total-num{
  font-family:inherit;
  font-size:24px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.02em;
}

.gips-total-lbl{
  margin-top:6px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--txt3);
}

.gips-score-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}

.gips-score-card{
  padding:14px 15px;
  border-radius:18px;
  background:#FAFBFD;
  border:1px solid rgba(17,24,39,.07);
}

.gips-score-name{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}

.gips-score-val{
  font-family:inherit;
  font-size:22px;
  line-height:1;
  font-weight:800;
  color:#111827;
}

.gips-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}

.gips-detail-card{
  padding:16px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
}

.gips-detail-label{
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--txt3);
  margin-bottom:8px;
}

.gips-detail-copy{
  font-size:14px;
  line-height:1.75;
  color:var(--txt2);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.gips-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.gips-empty{
  padding:22px 18px;
  border-radius:18px;
  background:#F9FAFB;
  border:1px dashed rgba(17,24,39,.12);
  color:var(--txt3);
  text-align:center;
}

.modal:has(.gips-detail-sheet){
  width:1040px;
  max-width:min(96vw,1040px);
  padding:24px 24px 22px;
}

#screen-growth .content table[style*="min-width"]{
  min-width:0 !important;
}

#screen-growth .content table[style*="min-width"] th,
#screen-growth .content table[style*="min-width"] td{
  white-space:normal;
  overflow-wrap:anywhere;
}

@media (max-width: 1180px){
  .gips-table{
    min-width:980px;
  }
}

@media (max-width: 920px){
  .gips-detail-head,
  .gips-score-grid,
  .gips-detail-grid{
    grid-template-columns:1fr;
  }

  .gips-detail-actions{
    justify-content:stretch;
  }

  .gips-detail-actions .btn,
  .gips-detail-actions .btn-sm{
    flex:1 1 100%;
  }
}

#screen-role-selector{
  min-height:100vh;
  min-height:100dvh;
  padding:32px 24px 48px;
  background:
    radial-gradient(circle at top left, rgba(15,109,128,.10), transparent 28%),
    radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 25%),
    linear-gradient(180deg, #F7F8FC 0%, #EEF2FF 46%, #F8FAFC 100%);
  align-items:stretch;
  justify-content:flex-start;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}

.role-setup-shell{
  width:min(100%,1120px);
  max-width:1120px;
  margin:0 auto;
}

.role-setup-back{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:11px 16px;
  border-radius:999px;
  border:1px solid var(--border-light);
  background:rgba(255,255,255,.78);
  color:var(--txt2);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.role-setup-back:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(15,23,42,.08);
  border-color:rgba(15,109,128,.22);
}

.role-setup-hero{
  margin:38px auto 24px;
  padding:34px 34px 30px;
  border-radius:30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,255,255,.62)),
    linear-gradient(135deg, rgba(15,109,128,.08), rgba(37,99,235,.06));
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}

.role-setup-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(15,109,128,.10);
  color:#0F6D80;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:16px;
}

.role-setup-hero h2{
  font-family:'Playfair Display',serif;
  font-size:46px;
  line-height:1.06;
  letter-spacing:-.04em;
  color:#162033;
  max-width:760px;
  margin-bottom:12px;
}

.role-setup-hero p{
  max-width:720px;
  font-size:15px;
  line-height:1.8;
  color:#5B6475;
}

.role-setup-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.role-mode-card{
  position:relative;
  overflow:hidden;
  padding:26px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.78);
  background:linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,255,255,.68));
  box-shadow:0 24px 60px rgba(15,23,42,.08);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.role-mode-card::before{
  content:'';
  position:absolute;
  inset:auto -40px -60px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  opacity:.7;
  pointer-events:none;
}

.role-mode-card:hover{
  transform:translateY(-4px);
  box-shadow:0 32px 70px rgba(15,23,42,.12);
}

.role-mode-card-owner::before{
  background:radial-gradient(circle, rgba(15,109,128,.20), transparent 65%);
}

.role-mode-card-agency::before{
  background:radial-gradient(circle, rgba(107,70,193,.18), transparent 65%);
}

.role-mode-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:22px;
}

.role-mode-step{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  color:#8A94A8;
}

.role-mode-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,109,128,.10);
  color:#0F6D80;
  font-size:11px;
  font-weight:800;
}

.role-mode-badge-paid{
  background:rgba(107,70,193,.10);
  color:var(--p);
}

.role-mode-icon{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  margin-bottom:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.58));
  border:1px solid rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 14px 28px rgba(15,23,42,.06);
}

.role-mode-card-owner .role-mode-icon{ color:#0F6D80; }
.role-mode-card-agency .role-mode-icon{ color:var(--p); }

.role-mode-title{
  font-family:'Playfair Display',serif;
  font-size:30px;
  font-weight:800;
  letter-spacing:-.03em;
  color:#162033;
  margin-bottom:10px;
}

.role-mode-desc{
  font-size:14px;
  line-height:1.8;
  color:#616B7D;
  margin-bottom:18px;
  max-width:460px;
}

.role-mode-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:24px;
}

.role-mode-points span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.04);
  color:#435066;
  font-size:11px;
  font-weight:700;
}

.role-mode-btn{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  padding:14px 18px;
  border:none;
  border-radius:18px;
  background:linear-gradient(135deg, #0F6D80, #2563EB);
  color:#fff;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 18px 32px rgba(37,99,235,.18);
}

.role-mode-btn-secondary{
  background:linear-gradient(135deg, var(--p), #7C3AED);
  box-shadow:0 18px 32px rgba(107,70,193,.20);
}

body.dark #screen-role-selector{
  background:
    radial-gradient(circle at top left, rgba(15,109,128,.16), transparent 28%),
    radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 28%),
    linear-gradient(180deg, #0B1020 0%, #12182B 46%, #0F1423 100%);
}

body.dark .role-setup-back,
body.dark .role-setup-hero,
body.dark .role-mode-card{
  background:linear-gradient(145deg, rgba(18,24,43,.88), rgba(11,16,32,.72));
  border-color:rgba(255,255,255,.10);
}

body.dark .role-setup-hero h2,
body.dark .role-mode-title{
  color:#F5F7FB;
}

body.dark .role-setup-hero p,
body.dark .role-mode-desc{
  color:#A6B0C3;
}

body.dark .role-mode-points span{
  background:rgba(255,255,255,.06);
  color:#D1D8E6;
}

@media(max-width:900px){
  .role-setup-hero h2{font-size:38px;}
  .role-setup-grid{grid-template-columns:1fr;}
}

@media(max-width:640px){
  #screen-role-selector{padding:20px 14px 34px;}
  .role-setup-shell{width:100%;}
  .role-setup-back{margin-bottom:12px;}
  .role-setup-hero{padding:24px 20px;}
  .role-setup-hero h2{font-size:30px;}
  .role-setup-hero p{font-size:14px;line-height:1.65;}
  .role-mode-top{flex-wrap:wrap;align-items:flex-start;}
  .role-mode-card{padding:20px;}
  .role-mode-title{font-size:25px;}
  .role-mode-desc{font-size:13.5px;line-height:1.65;}
  .role-mode-points{gap:7px;}
  .role-mode-points span{font-size:10px;}
  .role-mode-btn{padding:13px 16px;}
}

/* ════════════════════════════════════════════════════════
   VELO OS — MOBILE SCROLL & SIDEBAR COMPLETE FIX
   Applied: 2026-04-18
   ════════════════════════════════════════════════════════ */

/* ── Sidebar labels: always show full text ── */
.nav-btn {
  align-items: flex-start !important;
  min-height: 36px;
}
.nav-btn-label {
  white-space: normal !important;
  word-break: break-word !important;
  line-height: 1.3 !important;
  overflow: visible !important;
  text-overflow: unset !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.nav-btn .nd {
  flex-shrink: 0;
  margin-top: 1px;
}
.nav-pipe-dot {
  flex-shrink: 0;
  margin-top: 4px;
}

/* ── Mobile scroll: make content area scrollable ── */
@media (max-width: 900px) {
  html, body {
    overflow: hidden !important;
    height: 100% !important;
    max-height: 100dvh !important;
  }
  .app {
    height: 100dvh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .app-main {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 0 !important;          /* CRITICAL: forces flex child to be scrollable */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
    padding-top: 60px !important;
    padding-bottom: 80px !important;
  }
  /* Ensure pages fill the scroll container */
  .page, .page.active {
    min-height: 100% !important;
    overflow: visible !important;
  }
  /* Sidebar labels on mobile: full text visible */
  .sidebar .nav-btn {
    align-items: flex-start !important;
    padding: 10px 12px !important;
    min-height: 40px !important;
  }
  .sidebar .nav-btn-label {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.3 !important;
    font-size: 12px !important;
    overflow: visible !important;
  }
  /* Topbar fixed at top so content starts below it */
  .topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !important;
    height: 56px !important;
  }
}
