/* ThinkKits Platform — Extracted Styles
 * Auto-extracted from platform.html by Phase 2 extraction script
 * DO NOT EDIT MANUALLY — rebuild via extraction script
 */

/* === Block 1 === */
:root {
  --navy: #1a3a6e;
  --navy-mid: #162f5a;
  --navy-light: #1f4480;
  --blue: #2563eb;
  --blue-light: #3b82f6;
  --cream: #eef0f4;
  --bg: #f5f6f8;
  --white: #ffffff;
  --text: #111827;
  --text-mid: #374151;
  --text-light: #6b7280;
  --text-muted: #9ca3af;
  --accent: #f0c860;
  --accent-hover: #d4a830;
  --primary: #c9922a;
  --success: #059669;
  --error: #dc2626;
  --border: #e5e7eb;
  --border-light: #f0f1f3;
  --shadow: 0 1px 2px rgba(0,0,0,.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);
  --shadow-lg: 0 10px 25px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);
  --shadow-glow: 0 0 0 3px rgba(240,200,96,.2);
  --font-display: 'DM Serif Display', Georgia, serif;
  --font-ui: 'DM Sans', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-data: 'JetBrains Mono', 'SF Mono', monospace;
  --navy-sidebar: #0d1b2e;
  --gold-dim: rgba(201,146,42,.12);
  --ai-dim: rgba(124,58,237,.12);
  --equity-dim: rgba(13,148,136,.12);
  --ai: #7c3aed;
  --equity: #0d9488;
  --radius: 10px;
  --radius-sm: 6px;
  --radius-lg: 16px;
  --ai: #7c3aed;
  --equity: #0d9488;
  /* Stack accent tokens */
  --stack-school: #0ea5e9; --stack-school-dark: #0c4a6e; --stack-school-mid: #0369a1;
  --stack-school-bg: rgba(14,165,233,.1); --stack-school-border: rgba(14,165,233,.2);
  --stack-funding: #10b981; --stack-funding-dark: #064e3b; --stack-funding-mid: #047857;
  --stack-funding-bg: rgba(16,185,129,.1); --stack-funding-border: rgba(16,185,129,.2);
  --stack-analytics: #2563eb; --stack-analytics-dark: #312e81; --stack-analytics-mid: #4338ca;
  --stack-analytics-bg: rgba(37,99,235,.1); --stack-analytics-border: rgba(37,99,235,.2);
  --stack-vendor: #e11d48; --stack-vendor-dark: #881337; --stack-vendor-mid: #be123c;
  --stack-vendor-bg: rgba(225,29,72,.1); --stack-vendor-border: rgba(225,29,72,.2);
  --stack-tracking: #0d9488; --stack-tracking-dark: #134e4a; --stack-tracking-mid: #0f766e;
  --stack-tracking-bg: rgba(13,148,136,.1); --stack-tracking-border: rgba(13,148,136,.2);
}
[data-theme="dark"] {
  --bg: #1a1a1a;
  --white: #242424;
  --cream: #2b2b2b;
  --text: #e6e6dd;
  --text-mid: #c4c4bc;
  --text-light: #8b8b83;
  --text-muted: #656560;
  --border: #3a3a3a;
  --border-light: #2e2e2e;
  --shadow: 0 1px 3px rgba(0,0,0,.3);
  --shadow-md: 0 4px 8px rgba(0,0,0,.35);
  --shadow-lg: 0 10px 25px rgba(0,0,0,.4);
  --shadow-glow: 0 0 0 3px rgba(240,200,96,.25);
}
[data-theme="dark"] .tool-card,
[data-theme="dark"] .dash-section,
[data-theme="dark"] .dash-stat,
[data-theme="dark"] .plan-card,
[data-theme="dark"] .result-card,
[data-theme="dark"] .form-input,
[data-theme="dark"] select,
[data-theme="dark"] textarea,
[data-theme="dark"] input { background:var(--white); color:var(--text); border-color:var(--border); }
[data-theme="dark"] .btn-outline { color:var(--text-mid); border-color:var(--border); }
[data-theme="dark"] .btn-ghost { color:var(--text-muted); }
[data-theme="dark"] .tier-free { background:rgba(5,150,105,.15); }
[data-theme="dark"] .tier-standard { background:rgba(37,99,235,.15); }
[data-theme="dark"] .tier-premium { background:linear-gradient(135deg,rgba(254,243,199,.15),rgba(253,230,138,.1)); }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font-body); background:var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; display:flex; flex-direction:column; min-height:100vh; }
h1 { font-family:var(--font-display); line-height:1.2; letter-spacing:-0.03em; font-weight:400; }
h2,h3,h4,h5 { font-family:var(--font-ui); line-height:1.2; letter-spacing:-0.02em; font-weight:700; }

/* NAV */
.nav { background:var(--navy-mid); position:sticky; top:0; z-index:100; border-bottom:2px solid #f0c860; box-shadow:0 2px 12px rgba(0,0,0,.2); }
.nav-inner { width:100%; padding:0 2.5rem; height:64px; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { font-family:'DM Sans',system-ui,sans-serif; font-weight:700; font-size:1.25rem; color:#fff; text-decoration:none; cursor:pointer; letter-spacing:-.03em; display:flex; align-items:center; gap:.5rem; }
.nav-logo span { font-weight:400; opacity:.7; }
.brand-mark { width:32px; height:32px; background:var(--accent); border-radius:8px; display:flex; align-items:center; justify-content:center; font-family:'DM Serif Display',Georgia,serif; font-size:1.1rem; font-weight:400; color:var(--navy); flex-shrink:0; }
.nav-links { display:flex; flex:1; justify-content:space-evenly; gap:0; margin:0 1.5rem; }
.nav-link { padding:.4rem 1.5rem; font-size:.875rem; font-weight:600; color:rgba(255,255,255,.9); text-decoration:none; border-radius:var(--radius-sm); cursor:pointer; transition:all .15s; border:none; background:none; flex-shrink:0; }
.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; bottom:2px; left:50%; width:0; height:2px; background:rgba(255,255,255,.5); border-radius:1px; transition:all .2s; transform:translateX(-50%); }
.nav-link:hover { color:rgba(255,255,255,.9); background:rgba(255,255,255,.06); }
.nav-link:hover::after { width:calc(100% - 1rem); }
.nav-dropdown .nav-link::after { display:none; }
.nav-dropdown { position:relative; display:flex; align-items:center; }
.nav-dropdown-menu { display:none; position:absolute; top:100%; left:0; min-width:230px; background:var(--white); border:1px solid rgba(0,0,0,.12); border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.12); padding:.4rem; margin-top:.35rem; z-index:100; }
.nav-dropdown:hover .nav-dropdown-menu { display:block; }
.nav-dropdown-menu::before { content:''; position:absolute; top:-6px; left:20px; width:12px; height:12px; background:var(--white); border:1px solid rgba(0,0,0,.12); border-bottom:none; border-right:none; rotate:45deg; z-index:1; }
.nav-dd-item { display:flex; align-items:center; gap:.6rem; padding:.55rem .75rem; border-radius:7px; cursor:pointer; transition:background .12s; text-decoration:none; color:var(--text); font-size:.8rem; font-weight:500; }
.nav-dd-item:hover { background:rgba(0,0,0,.04); }
.nav-dd-icon { width:28px; height:28px; border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nav-dd-item span { font-size:.68rem; color:var(--text-muted); }
.nav-dd-divider { height:1px; background:rgba(0,0,0,.08); margin:.3rem .5rem; }
.nav-link.active { color:var(--white); background:rgba(255,255,255,.1); }
.nav-user { display:flex; align-items:center; gap:.6rem; }
.nav-user .api-key-badge { font-size:.68rem; padding:.2rem .55rem; background:rgba(255,255,255,.1); border-radius:20px; color:rgba(255,255,255,.8); font-weight:600; }

/* LAYOUT */
.page { display:none; background:var(--bg); }
.page.active { display:block; flex:1; }
#page-auth.active { display:flex; flex-direction:column; min-height:100vh; }
#globalFooter { margin-top:auto; }
.container { width:100%; padding:0 2.5rem; }
/* Edge-to-edge hero banners — zero container side padding + top padding for all hero patterns */
.page > .container:has(> .page-card > .tool-hero-header),
.page > .container:has(> .page-card > .tool-hero),
.page > .container:has(> .tool-hero),
.page > .container:has(> .tool-hero-header),
.page > .container.legal-doc { padding-left:0 !important; padding-right:0 !important; padding-top:0 !important; max-width:none !important; }
/* Override inline border-radius on hero-grad banners and non-class pricing hero */
.page > .container .tool-hero-header.hero-grad,
.page > .container .page-hero-banner { border-radius:0 !important; }
/* Strip card borders/shadows/blur from full-bleed hero banners — only in full-width contexts */
.page > .container:has(> .page-card > .tool-hero) .tool-hero-header.hero-grad,
.page > .container:has(> .page-card > .tool-hero-header) .tool-hero-header.hero-grad,
.page > .container:has(> .tool-hero) .tool-hero-header.hero-grad,
.page > .container.legal-doc .tool-hero-header.hero-grad {
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
/* Legal doc containers: keep content area padded after the hero */
.page > .container.legal-doc > *:not(.tool-hero) { padding-left:2.5rem; padding-right:2.5rem; }
.page-card { background:var(--white); border-radius:0; border:none; box-shadow:none; margin-top:0; margin-bottom:0; padding-bottom:1rem; overflow:visible; }
.page-card .wizard-body { border:none; box-shadow:none; }
.page-card .tool-hero { border-radius:12px 12px 0 0; border:none; box-shadow:none; }
.page-card .tool-hero .tool-hero-header { border-left:none; border-right:none; border-top:none; }
.page-card .tool-hero .stats-bar { border-left:none; border-right:none; }
.page-card .chat-area { background:rgba(0,0,0,.02); }
.page-card .premium-input, .page-card .premium-select { background:var(--white); border-color:rgba(0,0,0,.2); }
.page-card .ghost-card { background:rgba(0,0,0,.02); }
.tool-help { border:1px solid rgba(0,0,0,.08); border-radius:10px; margin:.75rem 0 1rem; overflow:hidden; }
.tool-help-toggle { display:flex; align-items:center; justify-content:space-between; padding:.65rem 1rem; cursor:pointer; background:rgba(0,0,0,.02); border:none; width:100%; font-family:inherit; font-size:.78rem; font-weight:600; color:var(--text); transition:background .15s; }
.tool-help-toggle:hover { background:rgba(0,0,0,.04); }
.tool-help-toggle i { width:14px; height:14px; transition:transform .25s ease; color:var(--accent); }
.tool-help-body { padding:0 1.25rem; font-size:.82rem; line-height:1.7; color:var(--text-mid); max-height:0; overflow:hidden; transition:max-height .3s ease, padding .3s ease; border-top:1px solid transparent; }
.tool-help-body.open { max-height:600px; padding:1rem 1.25rem; border-top-color:rgba(0,0,0,.06); }
.tool-help-body h4 { font-size:.78rem; font-weight:700; color:var(--text); margin:0 0 .35rem; }
.tool-help-body p { margin:0 0 .75rem; }
.tool-help-body ul { margin:0 0 .75rem; padding-left:1.25rem; }
.tool-help-body li { margin-bottom:.3rem; }
.tool-help-body .help-example { background:rgba(0,0,0,.03); border-radius:8px; padding:.75rem 1rem; margin:.5rem 0 .75rem; font-size:.78rem; }
.tool-help-body .help-step { display:flex; align-items:flex-start; gap:.6rem; margin-bottom:.5rem; }
.tool-help-body .help-step-num { width:20px; height:20px; border-radius:50%; background:var(--accent); color:white; font-size:.65rem; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:.1rem; }
.tool-help-body .help-filters dt { font-weight:600; color:var(--text); font-size:.78rem; }
.tool-help-body .help-filters dd { margin:0 0 .5rem; padding-left:0; }
.legal-doc { max-width:760px; }
.legal-header { display:flex; align-items:center; gap:.75rem; margin-bottom:.3rem; }
.legal-header-icon { width:40px; height:40px; border-radius:10px; background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.legal-header-icon i { width:20px; height:20px; color:#10b981; }
.legal-title { font-size:1.65rem; font-weight:800; letter-spacing:-.03em; margin:0; color:var(--text); }
.legal-meta { font-size:.78rem; color:var(--text-muted); margin-bottom:1.5rem; padding-left:55px; }
.legal-nav { display:flex; align-items:center; gap:.5rem; margin-bottom:1.5rem; font-size:.78rem; color:var(--text-muted); cursor:pointer; }
.legal-nav:hover { color:var(--text); }
.legal-nav i { width:14px; height:14px; }
.legal-section { border:1px solid rgba(0,0,0,.1); border-radius:10px; overflow:hidden; margin-bottom:1rem; }
.legal-section-head { padding:.75rem 1rem; background:rgba(0,0,0,.025); border-bottom:1px solid rgba(0,0,0,.06); font-size:.88rem; font-weight:700; color:var(--text); display:flex; align-items:center; gap:.5rem; }
.legal-section-head i { width:15px; height:15px; color:#10b981; flex-shrink:0; }
.legal-section-body { padding:1rem 1.25rem; font-size:.85rem; color:var(--text-mid); line-height:1.7; }
.legal-section-body ul { padding-left:1.25rem; margin:.4rem 0 0; }
.legal-section-body li { margin-bottom:.25rem; }
.legal-section-body p { margin:0 0 .5rem; }
.legal-section-body p:last-child { margin-bottom:0; }
.legal-section-body table { width:100%; font-size:.82rem; border-collapse:collapse; margin:.5rem 0 0; }
.legal-section-body th { padding:.5rem .75rem; text-align:left; border-bottom:1px solid rgba(0,0,0,.1); font-weight:600; background:rgba(0,0,0,.02); }
.legal-section-body td { padding:.5rem .75rem; border-bottom:1px solid rgba(0,0,0,.05); }
.legal-section-body tr:last-child td { border-bottom:none; }
.legal-callout { background:rgba(16,185,129,.04); border:1px solid rgba(16,185,129,.15); border-radius:10px; padding:1rem 1.25rem; margin-bottom:1.25rem; display:flex; gap:.75rem; align-items:flex-start; font-size:.85rem; color:var(--text-mid); line-height:1.7; }
.legal-callout i { width:18px; height:18px; color:#10b981; flex-shrink:0; margin-top:2px; }
.legal-footer { text-align:center; padding:1.5rem; border-top:1px solid rgba(0,0,0,.08); margin-top:1.5rem; }
.legal-footer p { font-size:.78rem; color:var(--text-muted); margin:0 0 .5rem; }
.section-title { font-size:1.8rem; font-weight:700; color:var(--text); margin-bottom:.5rem; }
.section-sub { font-size:1rem; color:var(--text-light); margin-bottom:2rem; }

/* LANDING HERO */
.hero { background:var(--navy); color:white; padding:5rem 2rem 4rem; text-align:center; position:relative; overflow:hidden; }
.hero::before { display:none; }
.hero-inner { position:relative; width:100%; }
.hero-badge { display:inline-block; padding:.5rem 1.5rem; border-radius:20px; font-size:.78rem; font-weight:600; letter-spacing:.04em; background:rgba(255,255,255,.08); color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.1); margin-bottom:1.75rem; }
.hero h1 { font-size:3rem; font-weight:800; letter-spacing:-.04em; line-height:1.1; margin-bottom:1.25rem; transition:opacity .4s ease, transform .4s ease; }
.hero h1 .accent { color:#f0c860; }
.hero p { font-size:1.15rem; color:rgba(255,255,255,.6); max-width:580px; margin:0 auto 2.5rem; line-height:1.65; font-weight:400; }
.hero-ctas { display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; }
/* MAP + LAYER ROW */
.hero-map-row { display:flex; align-items:center; justify-content:center; gap:1.5rem; margin:3rem 0 0; width:100%; }
.hero-map { flex:1; min-width:0; position:relative; }

/* DATA LAYER STACK */
.hero-layers { flex:0 0 180px; perspective:600px; }
.layer-stack { display:flex; flex-direction:column; align-items:stretch; transform:rotateX(28deg) rotateZ(-4deg); transform-style:preserve-3d; }
.layer-plane { padding:.4rem .75rem; margin-bottom:1px; display:flex; justify-content:space-between; align-items:center; border-radius:4px; border:1px solid rgba(37,99,235,.15); backdrop-filter:blur(2px); opacity:0; animation:layerSlideIn .7s ease forwards; animation-delay:calc(var(--i) * .12s + .3s); transform:translateY(12px) translateZ(calc(var(--i) * -8px)); }
.layer-plane:nth-child(1) { background:rgba(37,99,235,.18); }
.layer-plane:nth-child(2) { background:rgba(37,99,235,.14); }
.layer-plane:nth-child(3) { background:rgba(37,99,235,.10); }
.layer-plane:nth-child(4) { background:rgba(37,99,235,.07); }
.layer-plane:nth-child(5) { background:rgba(37,99,235,.04); }
@keyframes layerSlideIn { to { opacity:1; transform:translateY(0) translateZ(calc(var(--i) * -8px)); } }
.layer-label { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.7); }
.layer-num { font-size:.6rem; font-weight:600; color:var(--accent); font-variant-numeric:tabular-nums; }
/* NEO AURA CINEMATIC MAP — Landing Page Hero */
.neo-terminal { position:absolute; top:20px; left:20px; width:400px; max-height:460px; background:rgba(8,16,32,0.98); border:1px solid rgba(240,200,96,0.4); padding:20px; border-radius:12px; z-index:3000; font-family:'JetBrains Mono','Courier New',monospace; font-size:10px; color:#f0c860; overflow-y:auto; box-shadow:0 25px 50px rgba(0,0,0,0.6); transition:opacity 1s ease,transform 1s ease; pointer-events:none; }
.neo-terminal.closing { opacity:0; transform:translateY(-40px); }
.terminal-line { margin-bottom:6px; opacity:0; animation:fadeInLine 0.1s forwards; line-height:1.5; }
.terminal-line.complete { color:#4ADE80; font-weight:900; border:1px solid #4ADE80; padding:4px 8px; border-radius:4px; display:inline-block; margin:10px 0; }
.terminal-line.definition { color:#CBD5E1; font-style:italic; border-left:2px solid #f0c860; padding-left:12px; margin:12px 0; font-size:11px; line-height:1.6; }
.terminal-line.header { font-weight:900; border-bottom:1px solid rgba(240,200,96,0.2); padding-bottom:10px; margin-bottom:15px; font-size:11px; letter-spacing:1px; }
@keyframes fadeInLine { from{opacity:0;transform:translateX(-8px)} to{opacity:1;transform:translateX(0)} }
.neo-state { fill:url(#silkGoldGradient); fill-opacity:0.1; stroke:#FDE047; stroke-width:0.5px; stroke-opacity:0.3; transition:fill-opacity 2.5s ease-in-out; }
.neo-state.traced { stroke:#F5A623; stroke-opacity:0.6; stroke-dasharray:1200; stroke-dashoffset:1200; animation:draw-line 8s forwards ease-in-out; }
@keyframes draw-line { to{stroke-dashoffset:0} }
.neo-state.revealed { fill-opacity:0.9; stroke-opacity:0.4; }
.node-base { fill:#F5A623; opacity:0; transition:all 0.5s ease; }
.node-uplinked { opacity:1 !important; fill:#FFFFFF !important; filter:drop-shadow(0 0 10px #f0c860); }
.hq-node { fill:#FFFFFF; stroke:#F5A623; stroke-width:4; filter:drop-shadow(0 0 20px #f0c860); }
.bright-spot-core { fill:#FFFFFF; stroke:#F5A623; stroke-width:3.5; filter:drop-shadow(0 0 18px #f0c860); cursor:pointer; }
.data-arch { fill:none; stroke:url(#archGradient); stroke-width:1.5px; stroke-dasharray:3000; stroke-dashoffset:3000; opacity:0.9; filter:blur(0.5px); transition:opacity 1s ease; }
/* HERO MAP — CINEMATIC OPENING ANIMATION */
.hero-perspective-container { width:100%; transform:rotateX(0deg) rotateZ(0deg) translateY(0px) scale(0.9); transform-style:preserve-3d; position:relative; transition:transform 3s cubic-bezier(0.34,1.2,0.64,1); }
.hero-perspective-container.revealed { transform:rotateX(28deg) rotateZ(-3deg) translateY(-30px) scale(1.05); }
.hero-state { fill:url(#silkGoldGradient); fill-opacity:0; stroke:#FDE047; stroke-width:0.5px; stroke-opacity:0; transition:fill-opacity 2.5s ease-in-out; cursor:pointer; }
.hero-state.traced { stroke-opacity:0.6; stroke-dasharray:1200; stroke-dashoffset:1200; animation:hero-draw-line 6s forwards ease-in-out; }
.hero-state.revealed { fill-opacity:0.1; stroke-opacity:0.4; }
.hero-state.selected { fill:#F5A623 !important; fill-opacity:1 !important; stroke:#fff !important; stroke-width:2.5px !important; filter:drop-shadow(0 0 25px rgba(245,166,35,0.8)) !important; }
@keyframes hero-draw-line { to { stroke-dashoffset:0; } }
.hero-node-base { fill:#F5A623; opacity:0; transition:all 0.5s ease; }
.hero-node-active { opacity:0.3; }
.hero-node-uplinked { opacity:1 !important; fill:#FFFFFF !important; filter:drop-shadow(0 0 10px #F5A623); }
.hero-hq-node { fill:#FFFFFF; stroke:#F5A623; stroke-width:4; filter:drop-shadow(0 0 20px #F5A623); }
.hero-bright-core { fill:#FFFFFF; stroke:#f0c860; stroke-width:3.5; filter:drop-shadow(0 0 18px #FDE047); cursor:pointer; }
.hero-data-arch { fill:none; stroke:url(#archGradient); stroke-width:1.5px; stroke-dasharray:3000; stroke-dashoffset:3000; opacity:0.9; filter:blur(0.5px); transition:opacity 1s ease; }
.hero-map-tilt { transform:perspective(850px) rotateX(55deg) rotateZ(-4deg); transform-origin:center 60%; }
.us-map { width:100%; height:auto; display:block; overflow:visible; filter:drop-shadow(0 0 28px rgba(240,200,96,0.38)) drop-shadow(0 0 55px rgba(240,200,96,0.14)) drop-shadow(0 8px 20px rgba(0,0,0,0.35)); }
/* Darker amber-bronze state fill matching V1 */
.us-map .states-fill path:hover { fill:rgba(190,130,10,0.85) !important; }
@keyframes brightDot { 0%,100%{r:3;opacity:.78;filter:drop-shadow(0 0 5px rgba(240,200,96,.8))}50%{r:5.5;opacity:1;filter:drop-shadow(0 0 12px rgba(240,200,96,1))} }
@keyframes brightDotRing { 0%{r:5;opacity:.65;stroke-width:.9}100%{r:20;opacity:0;stroke-width:.2} }
.us-map .bright-dot { fill:#f0c860; animation:brightDot 2.5s ease-in-out infinite; }
.us-map .bright-ring { fill:none; stroke:#f0c860; stroke-width:.7; animation:brightDotRing 3.2s ease-out infinite; }
.us-map .constellation-line { stroke:rgba(240,200,96,.16); stroke-width:.5; pointer-events:none; }
.map-caption { text-align:center; margin-top:.6rem; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(240,200,96,.5); }

/* ANIMATED KNOWLEDGE GRAPH NETWORK */
.kg-network { display:none; }
.kg-network svg { width:100%; height:100%; }
.kg-node { fill:rgba(37,99,235,.3); }
.kg-edge { stroke:rgba(37,99,235,.08); stroke-width:.5; }
@keyframes nodePulse { 0%,100%{r:2;opacity:.3} 50%{r:3.5;opacity:.7} }
@keyframes edgePulse { 0%,100%{opacity:.05} 50%{opacity:.15} }
.kg-node { animation:nodePulse 3s ease-in-out infinite; }
.kg-edge { animation:edgePulse 4s ease-in-out infinite; }

/* KG STATS */
.kg-stats-section { padding:4.5rem 2rem; background:var(--navy); color:white; text-align:center; }
.kg-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; width:100%; margin:2.5rem 0 0; }
.kg-stat-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:1.5rem 1rem; }
.kg-stat-card .kg-num { font-size:2.2rem; font-weight:800; letter-spacing:-.03em; color:#f0c860; }
.kg-stat-card .kg-lbl { font-size:.75rem; color:rgba(255,255,255,.45); margin-top:.25rem; font-weight:500; }
.kg-stat-card .kg-sub { font-size:.65rem; color:rgba(255,255,255,.25); margin-top:.35rem; line-height:1.4; }
.hero-stats { display:flex; justify-content:center; gap:3rem; margin-top:3.5rem; padding-top:2.5rem; border-top:1px solid rgba(255,255,255,.08); flex-wrap:wrap; }
.hero-stat { text-align:center; }
.hero-stat .num { font-size:2rem; font-weight:800; letter-spacing:-.03em; color:white; font-family:var(--font-data); font-variant-numeric:tabular-nums; }
.hero-stat .lbl { font-size:.78rem; color:rgba(255,255,255,.45); font-weight:500; margin-top:.15rem; }

/* DATA DEPTH FLOW */
.depth-flow { display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap; }
.depth-node { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:1.5rem 1.25rem; text-align:center; width:160px; opacity:0; animation:depthAppear .5s ease forwards; animation-delay:calc(var(--di) * .12s + .2s); transition:border-color .3s, background .3s; }
.depth-node:hover { border-color:rgba(37,99,235,.4); background:rgba(37,99,235,.08); }
@keyframes depthAppear { to { opacity:1; } }
.depth-icon { width:36px; height:36px; margin:0 auto .75rem; display:flex; align-items:center; justify-content:center; border-radius:8px; background:rgba(37,99,235,.15); color:var(--accent); }
.depth-icon svg { width:18px; height:18px; }
.depth-title { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:white; margin-bottom:.5rem; }
.depth-detail { font-size:.72rem; color:rgba(255,255,255,.45); line-height:1.6; }
.depth-arrow { color:rgba(37,99,235,.35); display:flex; align-items:center; }
.depth-arrow svg { width:18px; height:18px; }

/* LANDING SECTIONS */
.land-section { padding:5rem 2.5rem; }
.land-section.alt { background:var(--white); }
.land-inner { width:100%; }
.land-header { text-align:center; max-width:640px; margin:0 auto 3.5rem; }
.land-header .overline { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--blue); margin-bottom:.6rem; }
.land-header h2 { font-size:2rem; font-weight:800; letter-spacing:-.03em; color:var(--text); margin-bottom:.75rem; }
.land-header p { font-size:1.02rem; color:var(--text-light); line-height:1.65; }

.feature-row { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; margin-bottom:4rem; }
.feature-row:last-child { margin-bottom:0; }
.feature-row.reverse { direction:rtl; }
.feature-row.reverse > * { direction:ltr; }
.feature-text { background:var(--white); border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:2rem; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.feature-text .overline { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--blue); margin-bottom:.5rem; }
.feature-text h3 { font-size:1.5rem; font-weight:700; letter-spacing:-.02em; margin-bottom:.75rem; color:var(--text); }
.feature-text p { color:var(--text-light); line-height:1.7; margin-bottom:1.25rem; }
.feature-text ul { list-style:none; }
.feature-text ul li { padding:.35rem 0; font-size:.92rem; color:var(--text-mid); display:flex; align-items:flex-start; gap:.6rem; }
.feature-text ul li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--blue); margin-top:.55rem; flex-shrink:0; }
.use-cases { margin-top:1.25rem; padding-top:1rem; border-top:1px solid var(--border-light); }
.use-case-label { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted); margin-bottom:.5rem; }
.use-case { font-size:.85rem; color:var(--text-mid); padding:.35rem .65rem; margin-bottom:.3rem; border-left:2px solid var(--accent); background:rgba(37,99,235,.04); border-radius:0 4px 4px 0; font-style:italic; }
.feature-visual { background:var(--white); border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:1.5rem; min-height:280px; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.feature-visual .mini-cards { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; width:100%; }
.mini-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; }
.mini-card .mc-icon { width:32px; height:32px; border-radius:var(--radius-sm); background:linear-gradient(135deg,#eef2ff,#e0e7ff); color:var(--accent); display:flex; align-items:center; justify-content:center; margin-bottom:.6rem; }
.mini-card .mc-icon i[data-lucide], .mini-card .mc-icon svg { width:16px; height:16px; }
.mini-card h4 { font-size:.82rem; font-weight:600; color:var(--text); margin-bottom:.15rem; }
.mini-card p { font-size:.72rem; color:var(--text-light); line-height:1.4; }

/* PROOF BAR */
.proof-bar { background:var(--navy); padding:2rem; text-align:center; }
.proof-bar p { font-size:.78rem; color:rgba(255,255,255,.5); font-weight:500; letter-spacing:.03em; margin-bottom:.75rem; }
.proof-logos { display:flex; justify-content:center; gap:2.5rem; flex-wrap:wrap; }
.proof-logo { font-size:.82rem; font-weight:700; color:rgba(255,255,255,.6); letter-spacing:.02em; }

/* STACK CARDS (Dashboard) */
.stack-cards { display:flex; flex-direction:column; gap:.5rem; }
.stack-card { display:flex; align-items:center; gap:.75rem; padding:.7rem .85rem; background:var(--white); border:1px solid var(--border); border-radius:10px; cursor:pointer; transition:all .2s ease; }
.stack-card:hover { border-color:var(--accent); box-shadow:0 2px 12px rgba(37,99,235,.1); transform:translateX(2px); }
.stack-card-icon { width:38px; height:38px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.stack-card-body { flex:1; min-width:0; }
.stack-card-title { font-size:.82rem; font-weight:700; color:var(--text); }
.stack-card-sub { font-size:.68rem; color:var(--text-light); margin-top:.1rem; }
.stack-card-count { font-size:.65rem; font-weight:700; color:var(--text-muted); background:var(--cream); padding:.2rem .5rem; border-radius:5px; white-space:nowrap; }

/* TOOL CATEGORIES */
/* ===== TOOL DIRECTORY: Categories ===== */
.tool-category { margin-bottom:0; }
.tool-category-header { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
.tool-category-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tool-category-icon i, .tool-category-icon svg { width:20px; height:20px; }
.tool-category-title { font-size:1.1rem; font-weight:700; color:var(--text); margin:0; letter-spacing:-.02em; }
.tool-category-desc { font-size:.78rem; color:var(--text-light); margin:0; }
/* V1: Tool category headers — warm white with gold accent */
.tool-category-wrap { border-color:rgba(240,200,96,.15) !important; }
.tool-category .tool-hero-header.hero-grad,
.tool-category-wrap .tool-hero-header.hero-grad,
#page-tools .tool-category-wrap .tool-hero-header { background:#fafaf8 !important; color:#111827 !important; border-left:4px solid #f0c860 !important; border-top:none !important; border-right:none !important; border-bottom:1px solid #e5e7eb !important; border-radius:0 !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.tool-category .tool-hero-header.hero-grad::before,
.tool-category .tool-hero-header.hero-grad::after,
.tool-category-wrap .tool-hero-header.hero-grad::before,
.tool-category-wrap .tool-hero-header.hero-grad::after,
#page-tools .tool-category-wrap .tool-hero-header::before,
#page-tools .tool-category-wrap .tool-hero-header::after { display:none !important; }
#page-tools .tool-category-wrap .tool-hero-header h2,
#page-tools .tool-category-wrap .tool-hero-header p,
#page-tools .tool-category-wrap .tool-hero-header span,
#page-tools .tool-category-wrap .tool-hero-header .stat-label,
.tool-category .hero-grad h2 { color:#111827 !important; text-shadow:none !important; }
.tool-category .hero-grad p { color:var(--text-light) !important; }
.tool-category .hero-grad .tool-hero-icon,
.tool-category .hero-grad div[style*="48px"],
.tool-category .hero-grad div[style*="60px"] { background:rgba(240,200,96,.1) !important; border-color:rgba(240,200,96,.2) !important; }
.tool-category .hero-grad div[style*="48px"] i,
.tool-category .hero-grad div[style*="48px"] svg,
.tool-category .hero-grad div[style*="60px"] i,
.tool-category .hero-grad div[style*="60px"] svg { color:var(--accent) !important; }
.tool-category .hero-grad span[style*="border-radius:12px"] { background:rgba(10,22,40,.06) !important; border-color:rgba(0,0,0,.08) !important; color:var(--text) !important; }
.tool-category .hero-grad div[style*="border-top:1px solid rgba(255,255,255"] { border-top-color:rgba(0,0,0,.06) !important; }

/* ===== TOOL DIRECTORY: Grid + Cards ===== */
.tool-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; align-items:stretch; }
.tool-card { border:1px solid #e5e7eb; border-radius:12px; padding:1.25rem; cursor:pointer; transition:all .2s cubic-bezier(.4,0,.2,1); position:relative; box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.04); display:flex; flex-direction:column; text-align:center; color:var(--text); background:#ffffff; }
.tool-card:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(0,0,0,.1); border-color:rgba(240,200,96,.35); }
.tool-card .card-top { display:flex; flex-direction:column; align-items:center; gap:.4rem; flex:1 1 auto; }
.tool-card .icon-wrap { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:rgba(240,200,96,.1) !important; color:#f0c860 !important; margin:0 auto .25rem; border:1px solid rgba(240,200,96,.2); }
.tool-card .icon-wrap i, .tool-card .icon-wrap svg { width:18px; height:18px; color:#f0c860 !important; stroke:#f0c860 !important; }
.icon-gold { background:rgba(240,200,96,.15); color:var(--accent); }
.icon-green { background:rgba(16,185,129,.1); color:#10b981; }
.icon-purple { background:rgba(124,58,237,.1); color:#7c3aed; }
.icon-amber { background:rgba(245,158,11,.1); color:#f59e0b; }
.icon-pink { background:rgba(13,148,136,.1); color:#0d9488; }
.icon-teal, .icon-sky { background:rgba(14,165,233,.1); color:#0ea5e9; }
.icon-rose { background:rgba(225,29,72,.1); color:#e11d48; }
.icon-indigo { background:rgba(37,99,235,.1); color:var(--blue); }
.tool-card .card-text { flex:1; min-width:0; width:100%; align-self:stretch; }
.tool-card .card-text h4 { display:block; }
.tool-card .card-title-row { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:.3rem; min-height:auto; }
.tool-card h4 { font-size:.9375rem; font-weight:700; color:var(--text); margin:0; letter-spacing:-.01em; }
.tool-card p { font-size:.8125rem; color:var(--text-light); margin:.3rem 0 0; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:calc(3 * .8125rem * 1.5); }
/* Tier badge — inline with title (avoids overlapping data-teaser row) */
.tool-card-tier { display:inline-flex; align-items:center; font-size:.56rem; font-weight:700; padding:.18rem .45rem; border-radius:6px; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; vertical-align:middle; margin-left:.3rem; flex-shrink:0; }
.tier-free         { background:rgba(5,150,105,.1);   color:#059669; }
.tier-standard     { background:rgba(37,99,235,.1);   color:#2563eb; }
.tier-premium      { background:rgba(240,200,96,.12); color:#d4a830; }
.tier-professional { background:rgba(240,200,96,.12); color:#d4a830; }
.tier-business     { background:rgba(124,58,237,.1);  color:#7c3aed; }
.tool-card .data-teaser { display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; justify-content:center; margin-top:auto; padding-top:.6rem; border-top:1px solid rgba(0,0,0,.07); }
.data-teaser span { font-size:.62rem; font-weight:600; color:rgba(255,255,255,.6); }
.data-teaser span strong { color:var(--text); font-weight:700; }
.data-teaser .sep { color:var(--text-muted); opacity:.4; }
.data-teaser .sep::before { content:'\00b7'; }
.data-teaser span { font-size:.72rem; color:var(--text-muted); }
/* V1: all category cards — white background, gold icons, no stack color treatment on listing cards */
.tool-card[data-category] { background:#ffffff; }
.tool-card[data-category] .icon-wrap { background:rgba(240,200,96,.1) !important; color:#f0c860 !important; border-color:rgba(240,200,96,.2) !important; }
.tool-card[data-category] .icon-wrap i, .tool-card[data-category] .icon-wrap svg { color:#f0c860 !important; stroke:#f0c860 !important; }

/* ===== AI Cards — gold border + shimmer + glitter ===== */
@keyframes cardShimmer { 0%{transform:translateX(-100%) rotate(25deg)} 100%{transform:translateX(200%) rotate(25deg)} }
@keyframes glitter { 0%,100%{opacity:.3} 50%{opacity:.8} }
.tool-card.card-ai { position:relative; border:3px solid #f59e0b !important; box-shadow:0 4px 18px rgba(245,158,11,.25) !important; overflow:hidden; }
.tool-card.card-ai:hover { border-color:#fbbf24 !important; box-shadow:0 6px 24px rgba(245,158,11,.35) !important; }
.tool-card.card-ai::before { content:''; position:absolute; top:-50%; left:-50%; width:50%; height:200%; background:linear-gradient(90deg,transparent,rgba(251,191,36,.25),transparent); animation:cardShimmer 4s ease-in-out infinite; pointer-events:none; z-index:1; }
.tool-card.card-ai::after { content:''; position:absolute; inset:0; background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(251,191,36,.6) 50%,transparent 50%),radial-gradient(1px 1px at 60% 15%,rgba(255,215,0,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 80% 55%,rgba(251,191,36,.5) 50%,transparent 50%),radial-gradient(1px 1px at 35% 75%,rgba(255,215,0,.6) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 75% 85%,rgba(251,191,36,.4) 50%,transparent 50%),radial-gradient(1px 1px at 10% 60%,rgba(255,215,0,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 50% 45%,rgba(251,191,36,.5) 50%,transparent 50%),radial-gradient(1px 1px at 90% 35%,rgba(255,215,0,.4) 50%,transparent 50%),radial-gradient(1px 1px at 45% 10%,rgba(251,191,36,.5) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 15% 90%,rgba(255,215,0,.5) 50%,transparent 50%); animation:glitter 2.5s ease-in-out infinite alternate; pointer-events:none; z-index:1; }
.tool-card.card-ai .card-text h4 { background:linear-gradient(135deg,#fbbf24,#f59e0b); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; color:#fbbf24; }
.tool-card.card-ai .ai-badge { position:absolute; top:8px; right:8px; background:rgba(245,158,11,.15); color:#f59e0b; font-size:.55rem; font-weight:800; padding:2px 7px; border-radius:6px; letter-spacing:.04em; display:flex; align-items:center; gap:3px; z-index:2; backdrop-filter:blur(4px); border:1px solid rgba(245,158,11,.2); }
.ai-label { font-size:.5rem; font-weight:800; color:#f59e0b; background:rgba(245,158,11,.1); padding:.1rem .3rem; border-radius:3px; text-transform:uppercase; letter-spacing:.06em; margin-right:.25rem; }

/* ===== Premium Gating ===== */
.tool-card.gated { opacity:1; }
.tool-card.gated .card-top { filter:blur(3px); user-select:none; pointer-events:none; }
.tool-card.gated .data-teaser { filter:blur(4px); user-select:none; }
.tool-card.gated::before { content:''; position:absolute; inset:0; background:rgba(255,255,255,.55); border-radius:inherit; z-index:1; pointer-events:none; }
.tool-card.gated .gate-lock { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; background:rgba(10,22,40,.88); color:#fff; font-size:.62rem; font-weight:700; padding:.35rem .75rem; border-radius:8px; display:flex; align-items:center; gap:.35rem; white-space:nowrap; box-shadow:0 2px 8px rgba(0,0,0,.25); }
.tool-card.gated .gate-lock svg { width:11px; height:11px; stroke:white; fill:none; }
.tool-card.gated:hover { transform:none !important; box-shadow:none !important; border-color:#e5e7eb !important; cursor:default; }

/* ===== Stagger Animation ===== */
.tool-card { opacity:0; animation:cardIn .4s ease forwards; }
@keyframes cardIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.tool-card:nth-child(1){animation-delay:.03s}.tool-card:nth-child(2){animation-delay:.06s}.tool-card:nth-child(3){animation-delay:.09s}
.tool-card:nth-child(4){animation-delay:.12s}.tool-card:nth-child(5){animation-delay:.15s}.tool-card:nth-child(6){animation-delay:.18s}
.tool-card:nth-child(7){animation-delay:.21s}.tool-card:nth-child(8){animation-delay:.24s}.tool-card:nth-child(9){animation-delay:.27s}
/* Stack category label — top-right pill via .card-text::before (avoids card-ai ::after conflict) */
/* .card-text has no position, so ::before positions relative to .tool-card (position:relative) */
.tool-card[data-category] .card-text::before {
  position:absolute; top:8px; right:8px;
  font-size:.52rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:.12rem .42rem; border-radius:5px; line-height:1.7; z-index:3; pointer-events:none;
  white-space:nowrap;
}
.tool-card[data-category="school-intel"] .card-text::before  { content:"School Intel"; background:rgba(14,165,233,.1); color:#0ea5e9; }
.tool-card[data-category="funding"] .card-text::before       { content:"Funding";       background:rgba(16,185,129,.1); color:#10b981; }
.tool-card[data-category="analytics"] .card-text::before     { content:"Analytics";     background:rgba(37,99,235,.1);  color:#2563eb; }
.tool-card[data-category="vendor-sales"] .card-text::before  { content:"Vendor";        background:rgba(225,29,72,.1);  color:#e11d48; }
.tool-card[data-category="tracking"] .card-text::before      { content:"Tracking";      background:rgba(13,148,136,.1); color:#0d9488; }
.tool-card:nth-child(10){animation-delay:.3s}.tool-card:nth-child(11){animation-delay:.33s}.tool-card:nth-child(12){animation-delay:.36s}

/* ===== Upgrade Toast ===== */
.upgrade-toast { position:fixed; bottom:2rem; left:50%; transform:translateX(-50%); background:var(--text); color:white; padding:.85rem 1.5rem; border-radius:10px; font-size:.84rem; font-weight:600; box-shadow:var(--shadow-lg); z-index:9999; display:flex; align-items:center; gap:.75rem; animation:slideUp .3s ease; }
.upgrade-toast .btn { font-size:.76rem; padding:.35rem .75rem; background:var(--accent); color:white; border:none; border-radius:6px; cursor:pointer; font-weight:700; }
@keyframes slideUp { from{transform:translateX(-50%) translateY(20px);opacity:0} to{transform:translateX(-50%) translateY(0);opacity:1} }

/* ===== Filter Toolbar ===== */
.tools-filter-btn { font-size:.58rem; font-weight:600; padding:.24rem .52rem; border:none; border-radius:6px; background:none; color:var(--text-muted); cursor:pointer; font-family:inherit; transition:all .15s; }
.tools-filter-btn:hover { color:var(--text); background:var(--bg); }
.tools-filter-btn.active { background:var(--accent); color:white; }
.tool-card.filter-hidden { display:none; }
.tool-card.filter-dimmed { opacity:.35; pointer-events:none; }
.tool-card-tier.badges-hidden { display:none; }
.tools-sort-select { font-size:.58rem; font-weight:600; padding:.12rem .3rem; height:1.6rem; border:1px solid var(--border); border-radius:6px; background:var(--white); color:var(--text-muted); cursor:pointer; font-family:inherit; }
.tools-view-btn { font-size:.58rem; font-weight:600; padding:.24rem .4rem; border:1px solid var(--border); border-radius:6px; background:none; color:var(--text-muted); cursor:pointer; }
.tools-view-btn.active { background:var(--accent); color:white; border-color:var(--accent); }
.tool-presearch { margin-top:1.5rem;border-top:1px solid rgba(0,0,0,.06);padding-top:1.25rem; }
.tp-about { font-size:.82rem;color:var(--text-mid);line-height:1.6;margin-bottom:1.25rem; }
.tp-facts { display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:1.25rem; }
.tp-fact { text-align:center;padding:.75rem .5rem;border-radius:10px;background:linear-gradient(180deg,rgba(15,23,42,.015),rgba(15,23,42,.04));border:1px solid rgba(0,0,0,.05); }
.tp-fact-val { font-size:1.1rem;font-weight:800;color:var(--navy);letter-spacing:-.02em; }
.tp-fact-lbl { font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;font-weight:600; }

/* ===== Premium Tool Page Layers (Ask Anything style) ===== */
.hero-inline-stats { display:flex;gap:2rem;margin-top:1.25rem;position:relative;z-index:1;justify-content:center; }
.hero-inline-stats .his-item { text-align:center; }
.hero-inline-stats .his-val { font-size:1.3rem;font-weight:800;color:#fff; }
.hero-inline-stats .his-lbl { font-size:.6rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.05em; }
.tool-prompt-grid { padding:1.25rem 2rem .75rem;background:var(--bg-soft);border-bottom:1px solid rgba(0,0,0,.06); }
.tool-prompt-grid .tpg-label { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.65rem; }
.tool-prompt-grid .tpg-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem; }
.tpg-card { text-align:left;padding:.6rem .75rem;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:var(--white);font-size:.75rem;color:var(--text);cursor:pointer;transition:all .15s;line-height:1.35;font-family:inherit; }
.tpg-card:hover { border-color:rgba(37,99,235,.3);background:rgba(37,99,235,.04); }
.tool-attribution { display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 2rem;font-size:.65rem;color:var(--text-muted); }
.tool-attribution .ta-item { display:flex;align-items:center;gap:.3rem; }
.tool-attribution .ta-item i,.tool-attribution .ta-item svg { width:10px;height:10px; }
.tool-caps-strip { border-top:1px solid rgba(0,0,0,.06);padding:1rem 2rem;background:var(--bg-soft); }
.tool-caps-strip .tcs-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;text-align:center; }
.tool-caps-strip .tcs-item i { margin-bottom:.25rem; }
.tool-caps-strip .tcs-title { font-size:.7rem;font-weight:600;color:var(--text); }
.tool-caps-strip .tcs-desc { font-size:.6rem;color:var(--text-muted); }
@media(max-width:640px) { .tpg-grid { grid-template-columns:1fr 1fr; } .hero-inline-stats { gap:1rem;flex-wrap:wrap; } }
.tool-content-wrap { background:var(--bg-soft);border:1px solid rgba(0,0,0,.06);border-radius:10px;margin:1rem 1.25rem;padding:1.25rem 1.5rem; }
.stack-hero-card { background:var(--white);border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.04); }
[data-theme="dark"] .tool-content-wrap { background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08); }
[data-theme="dark"] .stack-hero-card { background:var(--white);border-color:rgba(255,255,255,.1); }
.tp-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem; }
.tp-step { display:flex;gap:.6rem;align-items:flex-start; }
.tp-step-num { width:24px;height:24px;border-radius:50%;background:var(--navy);color:white;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.tp-step-txt { font-size:.75rem;color:var(--text);line-height:1.45; }
.tp-step-txt strong { display:block;font-size:.72rem;font-weight:700;margin-bottom:.1rem; }
.tp-samples { display:flex;gap:.4rem;flex-wrap:wrap; }
.tp-sample { font-size:.7rem;padding:.35rem .65rem;border-radius:20px;border:1px solid rgba(0,0,0,.08);background:var(--white);color:var(--text-mid);cursor:pointer;transition:all .15s; }
.tp-sample:hover { border-color:rgba(37,99,235,.3);color:var(--text);background:rgba(37,99,235,.04); }
@media(max-width:640px) { .tp-facts,.tp-steps { grid-template-columns:repeat(2,1fr); } }

/* ===== Tool Walkthrough Checklist ===== */
.tool-walkthrough { background:linear-gradient(135deg,rgba(37,99,235,.04),rgba(37,99,235,.08));border:1px solid rgba(37,99,235,.15);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.25rem;position:relative;transition:opacity .4s,max-height .4s;overflow:hidden; }
.tool-walkthrough.tw-dismissed { opacity:0;max-height:0;padding:0;margin:0;border:none; }
.tw-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem; }
.tw-title { font-size:.78rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.4rem; }
.tw-progress { font-size:.6rem;color:var(--text-muted);font-weight:600; }
.tw-dismiss { background:none;border:none;font-size:.6rem;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:all .15s;font-family:inherit; }
.tw-dismiss:hover { background:rgba(0,0,0,.05);color:var(--text); }
.tw-steps { display:flex;flex-direction:column;gap:.5rem; }
.tw-step { display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .6rem;border-radius:8px;background:var(--white);border:1px solid rgba(0,0,0,.06);transition:all .3s; }
.tw-step.tw-active { border-color:rgba(37,99,235,.3);box-shadow:0 0 0 2px rgba(37,99,235,.08); }
.tw-step.tw-done { background:rgba(16,185,129,.04);border-color:rgba(16,185,129,.2); }
.tw-check { width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s;font-size:.7rem; }
.tw-step.tw-done .tw-check { background:#10b981;border-color:#10b981;color:white; }
.tw-step-text { flex:1; }
.tw-step-title { font-size:.75rem;font-weight:700;color:var(--text); }
.tw-step-desc { font-size:.68rem;color:var(--text-mid);margin-top:.1rem; }
.tw-step.tw-done .tw-step-title { color:var(--text-mid);text-decoration:line-through; }
.tw-complete-msg { text-align:center;padding:.5rem 0 0;font-size:.72rem;color:#10b981;font-weight:600;display:none; }
.tool-walkthrough.tw-all-done .tw-complete-msg { display:block; }

/* ===== Tool Hero Header (shared across tool pages) ===== */
.tool-hero { background:var(--white); border:1px solid rgba(0,0,0,.08); border-radius:16px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.03); margin-bottom:1.5rem; }
.tool-hero-header { padding:3rem 2rem; min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.75rem; border-bottom:none; background:var(--navy); }
.tool-category .tool-hero-header { display:block; flex-direction:unset; align-items:unset; text-align:left; }
.tool-hero-icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tool-hero-icon i, .tool-hero-icon svg { width:26px; height:26px; }
.hero-title { font-size:1.25rem; font-weight:800; letter-spacing:-.02em; color:var(--text); text-align:center; }
.hero-desc { font-size:.82rem; color:var(--text-light); margin-top:.15rem; max-width:480px; text-align:center; margin-left:auto; margin-right:auto; }
.tool-hero-header > div { text-align:center; }
.tool-hero-header h2, .tool-hero-header p { text-align:center; }
.tool-category .tool-hero-header h2, .tool-category .tool-hero-header p { text-align:left !important; }
.tool-hero-header > span { display:inline-block; }
.hero-badges { display:flex; gap:.35rem; flex-shrink:0; }
.hero-badges .hero-badge { display:inline-block; font-size:1.12rem; font-weight:700; padding:.36rem 1.1rem; border-radius:10px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:0; border:none; }
.badge-gold { background:rgba(240,200,96,.15); color:#b07d10; }
.badge-green { background:#ecfdf5; color:#059669; }
.badge-purple { background:rgba(124,58,237,.1); color:#7c3aed; }
.badge-pro { background:linear-gradient(135deg,#fef3c7,#fde68a); color:#92400e; }
.badge-ai { background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(232,180,77,.15)); color:var(--blue); position:relative; overflow:hidden; }
.badge-ai::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent); animation:badgeShimmer 2s infinite; }
@keyframes badgeShimmer { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

/* ===== Tool Type Badge ===== */
.tool-type-badge {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.1);
  margin-left: 0.5rem;
  vertical-align: middle;
}

/* ===== Gradient Hero Headers — Nightwing V1 Spec ===== */
.tool-hero-header.hero-grad { padding:1.5rem 2rem 0 !important; min-height:0 !important; position:relative; overflow:hidden; border-bottom:none; text-align:center; background:var(--navy) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border:none !important; box-shadow:none !important; }
/* Hero typography — per Nightwing spec: 2.25rem bold sans (half of old 4.4rem) */
.tool-hero-header.hero-grad h1,
.tool-hero-header.hero-grad h2 { font-size:2.25rem !important; font-weight:800 !important; letter-spacing:-.03em !important; margin:0 0 .35rem !important; -webkit-text-fill-color:unset !important; background:none !important; color:#fff !important; line-height:1.1 !important; }
.tool-hero-header.hero-grad p { font-size:.9rem !important; color:rgba(255,255,255,.55) !important; margin:0 !important; }
/* Icon sizing — 52px per spec */
.tool-hero-header.hero-grad div[style*="50px"],
.tool-hero-header.hero-grad div[style*="84px"],
.tool-hero-header.hero-grad div[style*="80px"] { width:52px !important; height:52px !important; border-radius:14px !important; }
.tool-hero-header.hero-grad div[style*="50px"] i,
.tool-hero-header.hero-grad div[style*="50px"] svg,
.tool-hero-header.hero-grad div[style*="84px"] i,
.tool-hero-header.hero-grad div[style*="84px"] svg,
.tool-hero-header.hero-grad div[style*="80px"] i,
.tool-hero-header.hero-grad div[style*="80px"] svg { width:26px !important; height:26px !important; }
/* Separator rows */
.tool-hero-header.hero-grad > div[style*="z-index:1"] > div[style*="border-top"] { margin:.5rem 0 0 !important; padding-top:.5rem !important; }
/* Glint animation — on */
@keyframes glassGlint { 0%{left:-75%;opacity:.6} 100%{left:125%;opacity:.6} }
.tool-hero-header.hero-grad::before { content:''; position:absolute; top:0; left:-75%; width:50%; height:100%; background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.1) 45%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.1) 55%,transparent 70%); transform:skewX(-15deg); animation:glassGlint 16s linear infinite; pointer-events:none; z-index:3; }
.tool-hero-header.hero-grad::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.35) 20%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.35) 80%,transparent); pointer-events:none; z-index:3; }
.tool-hero-header.hero-grad > div[style*="z-index:1"] { text-align:center; }
.hero-grad .hero-title, .hero-grad h2 { color:#fff !important; }
.hero-grad .hero-desc, .hero-grad p { color:rgba(255,255,255,.55) !important; }
.hero-grad .tool-hero-icon, .hero-grad > div:first-child[style] { background:rgba(255,255,255,.15) !important; }
.tool-hero-header.hero-grad:hover::before { animation-duration:8s; }
.hero-grad .tool-hero-icon i, .hero-grad .tool-hero-icon svg, .hero-grad > div:first-child[style] i, .hero-grad > div:first-child[style] svg { color:rgba(255,255,255,.85) !important; stroke:rgba(255,255,255,.85) !important; }
.hero-grad .hero-badge, .hero-grad .tool-card-tier, .hero-grad span[class*="tier-"], .hero-grad > span[style] { background:rgba(255,255,255,.15) !important; color:rgba(255,255,255,.9) !important; border:1px solid rgba(255,255,255,.2) !important; border-radius:6px; }
/* Stack/tool hero header icons + accordion icons — always gold */
.tool-hero-header [data-lucide],
.stack-accordion-icon [data-lucide] { color:var(--accent) !important; }
.tool-hero-header svg,
.stack-accordion-icon svg { stroke:var(--accent) !important; color:var(--accent) !important; }
.tool-hero-header [style*="border-radius:7px"],
.tool-hero-header [style*="border-radius: 7px"] {
  background:rgba(201,146,42,.1) !important;
  border:1px solid rgba(201,146,42,.2) !important;
}
/* Nav dropdown tool icons — also gold */
.nav-dd-icon { background:rgba(201,146,42,.1) !important; color:var(--accent) !important; }
.nav-dd-icon svg, .nav-dd-icon [data-lucide] { color:var(--accent) !important; stroke:var(--accent) !important; }

/* Ask Anything full-bleed hero — remove card corner rounding + fix min-height conflict */
#page-query .tool-hero { border-radius:0 !important; }
#page-query .container { padding:0 !important; max-width:none !important; }
#page-query .page-card { border-radius:0 !important; box-shadow:none !important; border:none !important; }
#page-query .tool-hero-header { min-height:0 !important; height:280px !important; box-sizing:border-box !important; background:linear-gradient(108deg,#1a3a6e 0%,#1f4480 55%,#1a3a6e 100%) !important; }
#page-query .tool-hero-header p { color:rgba(255,255,255,.9) !important; }

/* Per-tool color overrides — Nightwing spec Section 3b */
#page-query .tool-hero-header.hero-grad,
#page-ai-research .tool-hero-header.hero-grad { background:linear-gradient(135deg,#1e1b4b 0%,#312e81 40%,#4338ca 100%) !important; }
#page-equity .tool-hero-header.hero-grad { background:linear-gradient(135deg,#042f2e 0%,#134e4a 50%,#0d9488 100%) !important; }
.hero-grad .hero-badge.badge-ai::after { background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent); }

/* V1 Design System: Navy hero fallback for all tool pages */
.tool-hero-header:not(.hero-grad) { background: #1a3a6e !important; color: #fff !important; }
.tool-hero-header:not(.hero-grad) h2,
.tool-hero-header:not(.hero-grad) .hero-title,
.tool-hero-header:not(.hero-grad) .hero-desc,
.tool-hero-header:not(.hero-grad) p { color: rgba(255,255,255,0.9) !important; }
.tool-hero-header:not(.hero-grad) .hero-title { color: #fff !important; font-family: 'DM Serif Display',Georgia,serif !important; font-weight: 400 !important; }
.tool-hero-header:not(.hero-grad) .tool-hero-icon { background:rgba(255,255,255,.1) !important; }
.tool-hero-header:not(.hero-grad) .tool-hero-icon i,
.tool-hero-header:not(.hero-grad) .tool-hero-icon svg { color:rgba(255,255,255,.85) !important; stroke:rgba(255,255,255,.85) !important; }
.tool-hero-header:not(.hero-grad) .hero-badge,
.tool-hero-header:not(.hero-grad) .hero-badges span { background:rgba(255,255,255,.12) !important; color:rgba(255,255,255,.9) !important; border:1px solid rgba(255,255,255,.15) !important; }

/* Stack hub page heroes — use inline background from HTML, not navy override */
#page-stack-school-intel .tool-hero-header.hero-grad,
#page-stack-funding .tool-hero-header.hero-grad,
#page-stack-analytics .tool-hero-header.hero-grad,
#page-stack-vendor .tool-hero-header.hero-grad,
#page-stack-tracking .tool-hero-header.hero-grad { /* background removed — HTML inline style takes precedence */ }

/* V1: page-query keeps purple/indigo hero (AI branding exception) */
#page-query .tool-hero-header.hero-grad { background:linear-gradient(135deg,rgba(30,27,75,.92) 0%,rgba(49,46,129,.87) 40%,rgba(67,56,202,.8) 100%) !important; backdrop-filter:blur(16px) !important; -webkit-backdrop-filter:blur(16px) !important; border:1px solid rgba(255,255,255,.18) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 4px 24px rgba(0,0,0,.08) !important; }
#page-query .tool-hero-header.hero-grad::before { display:block !important; }
#page-query .tool-hero-header.hero-grad::after { display:block !important; }

.grad-school { background:linear-gradient(135deg,#0c4a6e 0%,#075985 40%,#0ea5e9 100%); }
.grad-funding { background:linear-gradient(135deg,#022c22 0%,#065f46 40%,#10b981 100%); }
.grad-analytics { background:linear-gradient(135deg,#1e1b4b 0%,#312e81 40%,#4338ca 100%); }
.grad-vendor { background:linear-gradient(135deg,#4c0519 0%,#9f1239 40%,#e11d48 100%); }
.grad-tracking { background:linear-gradient(135deg,#134e4a 0%,#0f766e 40%,#0d9488 100%); }

/* ===== Stats Bar ===== */
.tool-stats-bar, .stats-bar { display:flex; gap:0; border-top:1px solid rgba(240,200,96,.22); border-bottom:none; background:#1a3a6e; padding:1.05rem 2rem .75rem; }
.stat-item { flex:1; padding:0 1.1rem; text-align:center; border-right:1px solid rgba(255,255,255,.08); }
.stat-item:last-child { border-right:none; }
.stat-value { font-size:2.1rem; font-weight:800; color:#f0c860; letter-spacing:-.04em; line-height:1; font-family:'DM Sans',sans-serif; font-variant-numeric:tabular-nums; }
.live-stat, .plan-price { font-family:var(--font-data); font-variant-numeric:tabular-nums; }
.stats-bar .live-stat { font-family:'DM Sans',sans-serif; }
.stat-label { font-size:.58rem; color:rgba(255,255,255,.3); text-transform:uppercase; letter-spacing:.09em; font-weight:700; margin-top:.15rem; }
.page-card > .tool-hero-header:first-child, .page-card > div > .tool-hero-header:first-child { border-radius:0; }
.page-card { overflow:visible; }

/* ===== Premium Inputs ===== */
.premium-input { width:100%; padding:.85rem 1rem .85rem 2.75rem; border:1.5px solid rgba(0,0,0,.22); border-radius:8px; font-size:.9rem; font-family:inherit; background:var(--white); transition:all .2s; outline:none; color:var(--text); box-shadow:0 1px 2px rgba(0,0,0,.04); }
.premium-input:focus { border-color:var(--accent); background:var(--white); box-shadow:0 0 0 3px rgba(37,99,235,.12), 0 1px 2px rgba(0,0,0,.04); }
.premium-input::placeholder { color:var(--text-muted); }
.input-wrap { position:relative; }
.input-icon { position:absolute; left:1rem; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--text-light); }
.premium-select { padding:.7rem 1rem; border:1.5px solid rgba(0,0,0,.22); border-radius:8px; font-size:.82rem; font-family:inherit; background:var(--white); width:100%; outline:none; cursor:pointer; color:var(--text); box-shadow:0 1px 2px rgba(0,0,0,.04); -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .75rem center; padding-right:2rem; }
.premium-select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(37,99,235,.12), 0 1px 2px rgba(0,0,0,.04); }
.premium-btn { padding:.75rem 1.5rem; border:none; border-radius:8px; font-size:.85rem; font-weight:700; font-family:inherit; cursor:pointer; transition:all .2s; display:inline-flex; align-items:center; gap:.5rem; }
.btn-primary-dark { background:var(--text); color:var(--bg); }
.btn-primary-dark:hover { opacity:.9; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.15); }
.filter-label { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-light); margin-bottom:.4rem; display:block; }

/* ===== Split Layout (Lead Finder, Bulk Export, Calculators) ===== */
.split-layout { display:grid; grid-template-columns:260px 1fr; gap:0; min-height:450px; }
.filter-panel, .filters { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:24px; }
/* Dark navy sidebar — Nightwing spec §5 */
.split-filters { padding:1.25rem; border-right:1px solid rgba(255,255,255,.06); background:#0d1b2e; }
.split-filters .filter-label { color:rgba(255,255,255,.45); }
.split-filters .premium-input,
.split-filters .premium-select { background:#ffffff; color:var(--text); border-color:rgba(0,0,0,.12); }
.split-filters .premium-btn,
.split-filters .btn-primary-dark { background:var(--accent); color:var(--navy); }
.split-filters .premium-btn:hover,
.split-filters .btn-primary-dark:hover { background:var(--accent-hover); }
.split-filters p { color:rgba(255,255,255,.35); }
.split-results { padding:1.25rem; }
.filter-group { margin-bottom:1.1rem; }

/* ===== Result Table ===== */
.premium-table { width:100%; border-collapse:collapse; font-size:.78rem; }
.premium-table th { text-align:left; padding:.6rem .75rem; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); border-bottom:2px solid rgba(0,0,0,.08); }
.premium-table td { padding:.6rem .75rem; border-bottom:1px solid rgba(0,0,0,.04); }
.premium-table tr:hover { background:rgba(37,99,235,.03); }
.score-pill { display:inline-block; padding:.12rem .45rem; border-radius:20px; font-size:.68rem; font-weight:700; }
.score-hot { background:rgba(239,68,68,.1); color:#ef4444; }
.score-warm { background:rgba(245,158,11,.1); color:#f59e0b; }
.score-cool { background:rgba(59,130,246,.1); color:#3b82f6; }

/* ===== Ghost Preview Cards ===== */
.ghost-preview { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.65rem; margin-top:1.25rem; opacity:.45; }
.ghost-card { background:var(--bg); border:1px solid rgba(0,0,0,.2); border-radius:10px; padding:.85rem; text-align:center; }
.ghost-card .gv { font-size:1.2rem; font-weight:800; color:var(--accent); }
.ghost-card .gl { font-size:.6rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.04em; font-weight:600; margin-top:.15rem; }

/* ===== Chat UI (Ask Anything) ===== */
.chat-area { background:var(--bg); border:1px solid rgba(0,0,0,.12); border-radius:12px; padding:1.25rem; min-height:200px; margin-bottom:1rem; }
.chat-bubble { max-width:85%; padding:.75rem 1rem; border-radius:12px; font-size:.82rem; line-height:1.5; margin-bottom:.75rem; }
.chat-ai { background:var(--white); border:1px solid rgba(0,0,0,.06); border-radius:12px 12px 12px 4px; box-shadow:0 1px 3px rgba(0,0,0,.03); }
.chat-user { background:var(--text); color:var(--bg); margin-left:auto; border-radius:12px 12px 4px 12px; }
.chat-ai-label { font-weight:700; font-size:.72rem; color:var(--accent); margin-bottom:.35rem; }
.prompt-chip { font-size:.7rem; padding:.3rem .6rem; background:rgba(37,99,235,.08); color:var(--accent); border-radius:6px; cursor:pointer; border:1px solid rgba(37,99,235,.15); transition:all .15s; display:inline-block; }
.prompt-chip:hover { background:rgba(37,99,235,.15); }

/* ===== Pricing FAQ Accordion ===== */
.pricing-faq { border:1px solid rgba(0,0,0,.1); border-radius:10px; overflow:hidden; transition:border-color .2s; }
.pricing-faq:hover { border-color:rgba(0,0,0,.18); }
.pricing-faq-q { display:flex; align-items:center; justify-content:space-between; padding:.85rem 1.15rem; cursor:pointer; font-size:.88rem; font-weight:700; color:var(--text); gap:.75rem; }
.pricing-faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease, padding .3s ease; font-size:.82rem; color:var(--text-mid); line-height:1.7; padding:0 1.15rem; }
.pricing-faq.open .pricing-faq-a { max-height:300px; padding:0 1.15rem 1rem; }
.pricing-faq.open .pricing-faq-q i { transform:rotate(180deg); }

/* ===== Skeleton Loading ===== */
.skeleton { background:linear-gradient(90deg,var(--bg) 25%,rgba(0,0,0,.04) 50%,var(--bg) 75%); background-size:200% 100%; animation:shimmerLoad 1.5s infinite; border-radius:8px; }
@keyframes shimmerLoad { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.skel-line { height:12px; margin-bottom:8px; border-radius:4px; }
.skel-box { height:120px; border-radius:10px; margin-bottom:12px; }

/* ===== Step Progress Bar (AI Generation tools) ===== */
.step-bar { padding:1rem 1.75rem; border-bottom:1px solid rgba(0,0,0,.06); display:flex; align-items:center; gap:1.5rem; }
.step-item { display:flex; align-items:center; gap:.4rem; }
.step-num { width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:800; }
.step-num.active { background:var(--text); color:var(--bg); }
.step-num.inactive { background:rgba(0,0,0,.06); color:var(--text-muted); }
.step-label { font-size:.76rem; font-weight:600; }
.step-label.active { color:var(--text); }
.step-label.inactive { color:var(--text-muted); }
.step-line { flex:1; height:2px; background:rgba(0,0,0,.06); border-radius:1px; }

/* ===== Email sequence + misc ===== */
.email-sequence-container .email-draft-card { transition:all .2s ease; }
.email-sequence-container .email-draft-card:hover { transform:translateY(-1px); box-shadow:var(--shadow-md); }
.school-tab-nav { scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.school-tab-nav::-webkit-scrollbar { height:4px; }
.school-tab-nav::-webkit-scrollbar-track { background:transparent; }
.school-tab-nav::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

/* ===== Dark Mode Overrides ===== */
[data-theme="dark"] .tool-card:not([data-category]) { border-color:rgba(255,255,255,.06); box-shadow:0 2px 8px rgba(0,0,0,.3); }
[data-theme="dark"] .tool-card:not([data-category]):hover { border-color:rgba(255,255,255,.15); box-shadow:0 8px 24px rgba(0,0,0,.4); }
[data-theme="dark"] .tool-card .data-teaser { border-top-color:rgba(255,255,255,.1); }
[data-theme="dark"] .tool-card.card-ai { border:none !important; }
[data-theme="dark"] .tool-card.card-ai::before { background:conic-gradient(from 0deg,#fbbf24,#f59e0b,#d97706,#fbbf24,rgba(251,191,36,.3),#fbbf24); }
[data-theme="dark"] .tool-hero { border-color:rgba(255,255,255,.08); box-shadow:0 1px 3px rgba(0,0,0,.3); }
[data-theme="dark"] .tool-hero-header { border-bottom-color:rgba(255,255,255,.06); }
[data-theme="dark"] .stats-bar { border-top-color:rgba(255,255,255,.08); }
[data-theme="dark"] .stat-item { border-right-color:rgba(255,255,255,.06); }
[data-theme="dark"] .premium-input { border-color:rgba(255,255,255,.15); background:var(--bg); box-shadow:0 1px 2px rgba(0,0,0,.2); }
[data-theme="dark"] .premium-input:focus { box-shadow:0 0 0 3px rgba(37,99,235,.15), 0 1px 2px rgba(0,0,0,.2); }
[data-theme="dark"] .premium-select { border-color:rgba(255,255,255,.15); background:var(--bg); box-shadow:0 1px 2px rgba(0,0,0,.2); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23656560' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
[data-theme="dark"] .split-filters { border-right-color:rgba(255,255,255,.06); }
[data-theme="dark"] .chat-area { border-color:rgba(255,255,255,.06); }
[data-theme="dark"] .chat-ai { border-color:rgba(255,255,255,.06); }
[data-theme="dark"] .ghost-card { border-color:rgba(255,255,255,.06); }

/* DARK MODE — page cards, legal, trust, tool help, nav dropdown */
[data-theme="dark"] .page-card { background:var(--white); box-shadow:0 2px 16px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.06); }
[data-theme="dark"] .page-card .premium-input,
[data-theme="dark"] .page-card .premium-select { background:var(--bg); }
[data-theme="dark"] .page-card .chat-area { background:rgba(255,255,255,.03); }
[data-theme="dark"] .page-card .ghost-card { background:rgba(255,255,255,.04); }
[data-theme="dark"] .legal-section { border-color:rgba(255,255,255,.1); }
[data-theme="dark"] .legal-section-head { background:rgba(255,255,255,.04); border-bottom-color:rgba(255,255,255,.06); }
[data-theme="dark"] .legal-section-body { color:var(--text-mid); }
[data-theme="dark"] .legal-section-body th { background:rgba(255,255,255,.04); border-bottom-color:rgba(255,255,255,.1); }
[data-theme="dark"] .legal-section-body td { border-bottom-color:rgba(255,255,255,.05); }
[data-theme="dark"] .legal-callout { background:rgba(16,185,129,.08); border-color:rgba(16,185,129,.2); }
[data-theme="dark"] .legal-header-icon { background:rgba(16,185,129,.15); border-color:rgba(16,185,129,.25); }
[data-theme="dark"] .legal-footer { border-top-color:rgba(255,255,255,.08); }
[data-theme="dark"] .legal-nav { color:var(--text-muted); }
[data-theme="dark"] .legal-nav:hover { color:var(--text); }
[data-theme="dark"] .tool-help { border-color:rgba(255,255,255,.1); }
[data-theme="dark"] .tool-help-toggle { background:rgba(255,255,255,.04); }
[data-theme="dark"] .tool-help-toggle:hover { background:rgba(255,255,255,.08); }
[data-theme="dark"] .tool-help-body { border-top-color:rgba(255,255,255,.08); }
[data-theme="dark"] .tool-help-body .help-example { background:rgba(255,255,255,.04); }
[data-theme="dark"] .nav-dropdown-menu { background:var(--white); border-color:rgba(255,255,255,.1); box-shadow:0 8px 24px rgba(0,0,0,.4); }
[data-theme="dark"] .nav-dropdown-menu a { color:var(--text-mid); }
[data-theme="dark"] .nav-dropdown-menu a:hover { background:rgba(255,255,255,.06); color:var(--text); }
[data-theme="dark"] .dash-section { background:var(--white); border-color:rgba(255,255,255,.08); }
[data-theme="dark"] .card-icon { background:linear-gradient(135deg,#3a3020,#2e2818); }
[data-theme="dark"] .badge-free { background:rgba(5,150,105,.15); color:#34d399; }
[data-theme="dark"] #userDropdown { background:var(--white); border-color:rgba(255,255,255,.1); }
[data-theme="dark"] #userDropdown a { color:var(--text-mid) !important; }
[data-theme="dark"] #userDropdown a:hover { background:rgba(255,255,255,.06); }
[data-theme="dark"] #userDropdown div[style*="border-bottom"] { border-bottom-color:rgba(255,255,255,.08) !important; }
.trust-doc-link { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; cursor:pointer; text-decoration:none; transition:background .12s; }
.trust-doc-link:hover { background:rgba(16,185,129,.03); }
[data-theme="dark"] .trust-doc-link:hover { background:rgba(16,185,129,.08); }
[data-theme="dark"] .trust-doc-link { border-color:rgba(255,255,255,.08) !important; }

/* CARDS */
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.card-grid .card { display:flex; flex-direction:column; }
.card { background:var(--white); border-radius:var(--radius); padding:1.5rem 1.5rem 1.35rem; border:1px solid var(--border); transition:all .2s ease; cursor:pointer; position:relative; }
.card:hover { box-shadow:var(--shadow-lg), var(--shadow-glow); border-color:var(--accent); transform:translateY(-1px); }
.card-icon { margin-bottom:.9rem; color:var(--accent); display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:var(--radius); background:linear-gradient(135deg,#eef2ff,#e0e7ff); }
.card-icon i[data-lucide], .card-icon svg { width:20px; height:20px; stroke-width:1.75; }
.card h3 { font-size:.95rem; font-weight:700; color:var(--text); margin-bottom:.3rem; }
.card p { font-size:.84rem; color:var(--text-light); line-height:1.6; }
.card-badge { position:absolute; top:1.15rem; right:1.15rem; font-size:.6rem; font-weight:700; padding:.2rem .5rem; border-radius:4px; text-transform:uppercase; letter-spacing:.05em; }
.badge-free { background:#ecfdf5; color:var(--success); }
.badge-paid { background:#eef2ff; color:var(--accent); }
.badge-pro { background:#eef2ff; color:var(--accent); }

/* PERSONA TABS */
.persona-tabs { display:flex; gap:.3rem; margin-bottom:1.75rem; flex-wrap:wrap; background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:.3rem; width:fit-content; }
.persona-tab { padding:.45rem 1rem; border-radius:var(--radius-sm); border:none; background:transparent; font-size:.82rem; font-weight:600; color:var(--text-light); cursor:pointer; transition:all .15s; font-family:'Inter',sans-serif; }
.persona-tab:hover { color:var(--text); }
.persona-tab.active { background:var(--navy); color:var(--white); box-shadow:var(--shadow); }

/* WIZARD */
.wizard { max-width:680px; margin:0 auto; }
.wizard-header { text-align:center; margin-bottom:1.75rem; }
.wizard-header h2 { font-size:1.35rem; color:var(--text); margin-bottom:.3rem; font-weight:700; }
.wizard-header p { color:var(--text-light); font-size:.9rem; }
.wizard-steps { display:flex; justify-content:center; gap:.5rem; margin-bottom:2rem; }
.wizard-step { display:flex; align-items:center; gap:.35rem; font-size:.76rem; font-weight:500; color:var(--text-muted); }
.wizard-step .step-num { width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.72rem; border:2px solid var(--border); color:var(--text-muted); transition:all .2s; }
.wizard-step.active .step-num { background:var(--accent); color:var(--white); border-color:var(--accent); box-shadow:0 0 0 3px rgba(240,200,96,.15); }
.wizard-step.done .step-num { background:var(--success); color:var(--white); border-color:var(--success); }
.wizard-step-line { width:32px; height:1px; background:var(--border); }
.wizard-step-line.active { background:var(--accent); }
.wizard-body { background:var(--white); border-radius:var(--radius); padding:2rem; border:1px solid rgba(0,0,0,.12); box-shadow:0 1px 3px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.04); }
[data-theme="dark"] .wizard-body { border-color:rgba(255,255,255,.08); box-shadow:0 1px 3px rgba(0,0,0,.3); }
.wizard-actions { display:flex; justify-content:space-between; margin-top:1.5rem; }

/* FORM */
.form-group { margin-bottom:1.25rem; }
.form-label,.input-label { display:block; font-size:.72rem; font-weight:700; color:var(--text-light); margin-bottom:.45rem; text-transform:uppercase; letter-spacing:.06em; }
.form-input,.form-select,.form-textarea,input.input,select.input,textarea.input,
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="search"],input[type="number"],input[type="password"],
select:not(.nav select):not([style*="display:none"]),
textarea:not([style*="display:none"]) {
  width:100%; padding:.8rem 1rem; border:1.5px solid rgba(0,0,0,.2); border-radius:8px;
  font-size:.88rem; font-family:'Inter',sans-serif; transition:all .2s ease;
  background:var(--white); color:var(--text);
  box-shadow:0 1px 2px rgba(0,0,0,.05);
  -webkit-appearance:none; appearance:none;
}
select.input,select:not(.nav select):not([style*="display:none"]) {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .85rem center; padding-right:2.25rem;
}
.form-input:focus,.form-select:focus,.form-textarea:focus,
input:focus,select:focus,textarea:focus {
  outline:none; border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(37,99,235,.12), 0 1px 2px rgba(0,0,0,.05);
}
.form-input:hover,.form-select:hover,.form-textarea:hover,
input:hover,select:hover,textarea:hover { border-color:rgba(0,0,0,.32); }
.form-input::placeholder,input::placeholder,textarea::placeholder { color:var(--text-muted); font-weight:400; }
.form-textarea,textarea { min-height:100px; resize:vertical; line-height:1.6; }
.form-hint { font-size:.76rem; color:var(--text-muted); margin-top:.25rem; }
[data-theme="dark"] .form-input,[data-theme="dark"] .form-select,[data-theme="dark"] .form-textarea,
[data-theme="dark"] input.input,[data-theme="dark"] select.input,[data-theme="dark"] textarea.input,
[data-theme="dark"] input[type="text"],[data-theme="dark"] input[type="email"],[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="url"],[data-theme="dark"] input[type="search"],[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="password"],[data-theme="dark"] select:not(.nav select),[data-theme="dark"] textarea {
  border-color:rgba(255,255,255,.15); box-shadow:0 1px 2px rgba(0,0,0,.25);
}
[data-theme="dark"] select.input,[data-theme="dark"] select:not(.nav select) {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23656560' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
[data-theme="dark"] input:hover,[data-theme="dark"] select:hover,[data-theme="dark"] textarea:hover { border-color:rgba(255,255,255,.25); }
[data-theme="dark"] input:focus,[data-theme="dark"] select:focus,[data-theme="dark"] textarea:focus {
  border-color:var(--accent); box-shadow:0 0 0 3px rgba(37,99,235,.15), 0 1px 2px rgba(0,0,0,.25);
}

/* SEARCH */
.search-wrap { position:relative; }
.search-results { position:absolute; top:100%; left:0; right:0; background:var(--white); border:1px solid var(--border); border-top:none; border-radius:0 0 var(--radius-sm) var(--radius-sm); max-height:260px; overflow-y:auto; z-index:50; display:none; box-shadow:var(--shadow-lg); }
.search-results.show { display:block; }
.search-result { padding:.6rem .9rem; cursor:pointer; font-size:.88rem; border-bottom:1px solid var(--border-light); }
.search-result:hover { background:var(--cream); }
.search-result small { color:var(--text-muted); }
.selected-school { background:var(--cream); border-radius:var(--radius-sm); padding:.7rem 1rem; display:flex; align-items:center; justify-content:space-between; margin-top:.5rem; border:1px solid var(--border); }
.selected-school .info { font-weight:600; color:var(--text); font-size:.9rem; }
.selected-school .info small { font-weight:400; color:var(--text-light); display:block; font-size:.78rem; }
.selected-school .remove { background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:1rem; }
.selected-school .remove:hover { color:var(--error); }

/* FILE UPLOAD */
.upload-zone { border:1.5px dashed var(--border); border-radius:var(--radius); padding:2.5rem 1.5rem; text-align:center; cursor:pointer; transition:all .2s; background:var(--cream); }
.upload-zone:hover,.upload-zone.dragover { border-color:var(--accent); background:#eef2ff; }
.upload-zone .icon { margin-bottom:.75rem; color:var(--text-muted); display:flex; justify-content:center; }
.upload-zone .icon i[data-lucide], .upload-zone .icon svg { width:28px; height:28px; stroke-width:1.5; }
.upload-zone h4 { font-size:.92rem; font-weight:600; color:var(--text); margin-bottom:.2rem; }
.upload-zone p { font-size:.8rem; color:var(--text-light); line-height:1.5; }
.upload-zone input[type=file] { display:none; }
.upload-or { text-align:center; padding:.6rem; color:var(--text-muted); font-size:.8rem; font-weight:500; }
.uploaded-file { display:flex; align-items:center; gap:.75rem; padding:.65rem 1rem; background:var(--cream); border-radius:var(--radius-sm); margin-top:.75rem; border:1px solid var(--border); }
.uploaded-file .file-icon { color:var(--blue); display:flex; }
.uploaded-file .file-icon i[data-lucide], .uploaded-file .file-icon svg { width:18px; height:18px; }
.uploaded-file .file-info { flex:1; }
.uploaded-file .file-info .name { font-weight:600; font-size:.85rem; }
.uploaded-file .file-info .size { font-size:.72rem; color:var(--text-muted); }
.uploaded-file .remove { background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:.9rem; }

/* BUTTONS */
.btn { padding:.65rem 1.35rem; border-radius:var(--radius-sm); font-size:.88rem; font-weight:600; font-family:var(--font-ui); cursor:pointer; border:1px solid transparent; transition:all .15s; display:inline-flex; align-items:center; gap:.4rem; }
.btn-primary { background:var(--accent); color:var(--white); border-color:var(--accent); }
.btn-primary:hover { background:var(--accent-hover); box-shadow:0 2px 8px rgba(240,200,96,.3); }
.btn-accent { background:var(--accent); color:var(--white); border-color:var(--accent); }
.btn-accent:hover { background:var(--accent-hover); }
.btn-outline { background:transparent; color:var(--text); border-color:var(--border); }
.btn-outline:hover { border-color:var(--text); background:var(--cream); }
.btn-ghost { background:transparent; color:var(--text-light); border:none; }
.btn-ghost:hover { color:var(--text); }
.auth-sso-btn { display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s; }
.auth-sso-btn:hover { border-color:var(--accent);background:rgba(240,200,96,.05);box-shadow:var(--shadow-glow); }
.btn-lg { padding:.8rem 2rem; font-size:.95rem; border-radius:var(--radius); }
.btn-hero { padding:.85rem 2.25rem; font-size:.95rem; border-radius:var(--radius); font-weight:600; }
.btn-hero.primary { background:#ffffff; color:var(--text); }
.btn-hero.primary:hover { box-shadow:0 4px 16px rgba(255,255,255,.2); transform:translateY(-1px); }
.btn-hero.secondary { background:transparent; color:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.2); }
.btn-hero.secondary:hover { background:rgba(255,255,255,.06); color:white; }
.btn:disabled { opacity:.5; cursor:not-allowed; }

/* RESULTS */
.result-card { background:var(--white); border-radius:var(--radius); border:1px solid var(--border); padding:1.35rem; margin-bottom:.85rem; box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.result-card h4 { color:var(--text); font-size:.95rem; margin-bottom:.4rem; }
.result-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:.6rem; }
.stat-box { background:var(--cream); padding:.65rem .85rem; border-radius:var(--radius-sm); text-align:center; border:1px solid var(--border-light); }
.stat-box .val { font-size:1.2rem; font-weight:700; color:var(--text); }
.stat-box .label { font-size:.66rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; margin-top:.1rem; }
.funding-badge { display:inline-block; padding:.3rem .7rem; border-radius:20px; font-size:.76rem; font-weight:600; margin:.25rem .25rem .25rem 0; }
.funding-badge.eligible { background:#ecfdf5; color:var(--success); }
.funding-badge.hot { background:#fffbeb; color:#d97706; }

/* PROGRAM CARDS */
.program-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:.75rem; }
.program-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; cursor:pointer; transition:all .15s; text-align:center; }
.program-card:hover { border-color:var(--accent); box-shadow:var(--shadow-glow); }
.program-card.selected { border-color:var(--accent); background:#eef2ff; }
.program-card.qualified { border-color:var(--success); background:#ecfdf5; }
.program-card .pgm-name { font-weight:700; font-size:.88rem; color:var(--text); margin-bottom:.25rem; }
.program-card .pgm-amount { font-size:.78rem; color:var(--text-light); }
.program-card .pgm-check { color:var(--success); font-weight:700; font-size:1.1rem; }

/* LOADING */
.loading { text-align:center; padding:3rem; }
.spinner { display:inline-block; width:36px; height:36px; border:2.5px solid var(--border); border-top-color:var(--blue); border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.loading p { margin-top:.75rem; color:var(--text-light); font-size:.88rem; }
.progress-bar { width:100%; height:4px; background:var(--cream); border-radius:2px; overflow:hidden; margin-top:1rem; }
.progress-fill { height:100%; background:var(--blue); border-radius:2px; transition:width .5s; }

/* DOWNLOAD */
.download-box { text-align:center; padding:2rem; background:#ecfdf5; border-radius:var(--radius); border:1px solid #a7f3d0; }
.download-box .icon { margin-bottom:.75rem; color:var(--success); display:flex; justify-content:center; }
.download-box .icon i[data-lucide], .download-box .icon svg { width:32px; height:32px; stroke-width:1.5; }
.download-box h3 { color:var(--success); margin-bottom:.5rem; font-size:1.05rem; }

/* AI QUERY */
.chat-input-wrap { display:flex; gap:.5rem; }
.chat-input-wrap .form-input { flex:1; }
.chat-messages { max-height:500px; overflow-y:auto; }
.chat-msg { padding:1rem; margin-bottom:.75rem; border-radius:var(--radius); }
.chat-msg.user { background:var(--cream); margin-left:3rem; border:1px solid var(--border-light); }
.chat-msg.assistant { background:var(--white); border:1px solid var(--border); margin-right:3rem; }
.chat-msg .sender { font-size:.68rem; font-weight:700; text-transform:uppercase; color:var(--text-muted); margin-bottom:.35rem; letter-spacing:.05em; }

/* BADGES */
.tier-badge { display:inline-block; padding:.2rem .55rem; border-radius:4px; font-size:.68rem; font-weight:700; text-transform:uppercase; }
.tier-HOT { background:#fef2f2; color:#dc2626; }
.tier-WARM { background:#fffbeb; color:#d97706; }
.tier-NURTURE { background:#ecfdf5; color:#059669; }
.tier-MONITOR { background:#eef2ff; color:var(--blue); }
.alert-badge { display:inline-block; padding:.2rem .55rem; border-radius:4px; font-size:.68rem; font-weight:700; text-transform:uppercase; }
.alert-CRITICAL { background:#fef2f2; color:#dc2626; }
.alert-SEVERE { background:#fffbeb; color:#d97706; }
.alert-EXCEPTIONAL { background:#ecfdf5; color:#059669; }
.alert-BRIGHT_SPOT { background:#ecfdf5; color:#059669; }

/* EXTRACTED DATA */
.extracted-data { background:var(--cream); border:1px solid var(--border); border-radius:var(--radius-sm); padding:1.25rem; }
.extracted-field { display:flex; justify-content:space-between; padding:.4rem 0; border-bottom:1px solid var(--border-light); font-size:.88rem; }
.extracted-field:last-child { border:none; }
.extracted-field .ef-label { color:var(--text-light); font-weight:500; }
.extracted-field .ef-value { font-weight:600; color:var(--text); }

/* ANIMATIONS */
@keyframes fadeUp { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
.fade-up { animation:fadeUp .5s ease both; }
.fade-up-d1 { animation-delay:.1s; }
.fade-up-d2 { animation-delay:.2s; }
.fade-up-d3 { animation-delay:.3s; }

/* RESPONSIVE */
/* MOBILE BOTTOM NAV */
.mobile-bottom-nav { display:none; position:fixed; bottom:0; left:0; right:0; z-index:9000; background:var(--white); border-top:1px solid var(--border); box-shadow:0 -4px 20px rgba(0,0,0,.08); padding:0; padding-bottom:env(safe-area-inset-bottom, 0); }
.mobile-bottom-nav-inner { display:flex; align-items:stretch; justify-content:space-around; height:56px; }
.mob-nav-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1; background:none; border:none; color:var(--text-muted); font-size:.58rem; font-weight:600; gap:.15rem; cursor:pointer; transition:color .15s; position:relative; font-family:inherit; padding:0; }
.mob-nav-btn.active { color:var(--accent); }
.mob-nav-btn.active::before { content:''; position:absolute; top:0; left:25%; right:25%; height:2px; background:var(--accent); border-radius:0 0 2px 2px; }
.dark .mobile-bottom-nav { background:var(--navy-mid); border-color:rgba(255,255,255,.08); box-shadow:0 -4px 20px rgba(0,0,0,.3); }

@media(max-width:768px) {
  .hero h1 { font-size:2rem; }
  .hero-stats { gap:1.5rem; }
  .hero-map-row { flex-direction:column; gap:1rem; }
  .hero-map { max-width:100%; }
  .hero-layers { flex:none; width:100%; }
  .layer-stack { transform:rotateX(20deg) rotateZ(-2deg); }
  .feature-row { grid-template-columns:1fr; gap:2rem; }
  .feature-row.reverse { direction:ltr; }
  .card-grid { grid-template-columns:repeat(2,1fr); }
@media(max-width:540px){
  .card-grid { grid-template-columns:1fr; }
}
  .tool-grid { grid-template-columns:repeat(2,1fr); }
@media(max-width:540px){
  .tool-grid { grid-template-columns:1fr; }
}
  #globalFooter > div:first-child { grid-template-columns:1fr !important; gap:1.5rem !important; }
  .nav-links { display:none; }
  .wizard-body { padding:1.25rem; }
  .persona-tabs { width:100%; }
  .result-grid { grid-template-columns:repeat(2,1fr); }
  .land-section { padding:3rem 1.5rem; }
  .kg-stats-grid { grid-template-columns:repeat(2,1fr); gap:1rem; }
  .depth-flow { flex-direction:column; gap:0; }
  .depth-arrow { transform:rotate(90deg); margin:.25rem 0; }
  .depth-node { width:100%; }
  #stateStatsRow { grid-template-columns:repeat(2,1fr) !important; }
  #stateFunding > div { grid-template-columns:1fr !important; }
  .secrets-grid { grid-template-columns:1fr !important; }
  .secret-card { padding:1.25rem !important; }
  .mobile-bottom-nav { display:block; }
  body { padding-bottom:60px; }
  #cmdPalette { padding-top:10vh; }
}

/* DATA SECRETS */
.secrets-section { padding:5rem 2rem; background:linear-gradient(180deg, #333333 0%, var(--navy) 50%, #333333 100%); color:white; position:relative; overflow:hidden; }
.secrets-bg-graph { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.55; }
.sg-edges line { stroke:rgba(37,99,235,.12); stroke-width:.7; animation:sgEdgePulse 5s ease-in-out infinite alternate; }
.sg-edges line:nth-child(odd) { animation-delay:1.5s; }
.sg-edges line:nth-child(3n) { animation-delay:2.8s; }
@keyframes sgEdgePulse { 0%,100%{opacity:.06;stroke-dasharray:6 4} 50%{opacity:.18;stroke-dasharray:0} }
.sg-node { animation:sgNodeFade .8s ease calc(var(--d) + .3s) both; }
@keyframes sgNodeFade { from{opacity:0;transform:scale(.5)} to{opacity:1;transform:scale(1)} }
.sg-node circle:not(.sg-ring) { fill:rgba(37,99,235,.7); }
.sg-ring { fill:none; stroke-width:1.2; opacity:.4; animation:sgRingPulse 4s ease-in-out infinite alternate; animation-delay:var(--d); }
@keyframes sgRingPulse { 0%,100%{r:inherit;opacity:.2} 50%{opacity:.5} }
.sg-cat-school { stroke:#60a5fa; }
.sg-cat-funding { stroke:#fbbf24; }
.sg-cat-perf { stroke:#34d399; }
.sg-cat-equity { stroke:#c084fc; }
.sg-cat-geo { stroke:#f472b6; }
.sg-node text { fill:rgba(255,255,255,.55); font-size:9px; font-family:Inter,sans-serif; font-weight:700; text-anchor:middle; letter-spacing:.02em; }
.sg-node .sg-sub { fill:rgba(255,255,255,.3); font-size:7px; font-weight:500; }
.secrets-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; width:100%; }
.secret-card { position:relative; background:linear-gradient(135deg, rgba(37,99,235,.08) 0%, rgba(37,99,235,.02) 100%); border:1px solid rgba(37,99,235,.18); border-radius:14px; padding:1.75rem; cursor:pointer; transition:all .35s ease; overflow:hidden; }
.secret-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, transparent, var(--accent), transparent); opacity:0; transition:opacity .35s; }
.secret-card:hover { border-color:rgba(37,99,235,.4); transform:translateY(-3px); box-shadow:0 8px 32px rgba(37,99,235,.12); }
.secret-card:hover::before { opacity:1; }
.secret-tag { display:inline-block; padding:.2rem .6rem; border-radius:4px; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:.75rem; }
.secret-tag.funding { background:rgba(37,99,235,.15); color:#60a5fa; }
.secret-tag.performance { background:rgba(5,150,105,.15); color:#34d399; }
.secret-tag.equity { background:rgba(168,85,247,.15); color:#c084fc; }
.secret-tag.geographic { background:rgba(245,158,11,.15); color:#fbbf24; }
.secret-tag.policy { background:rgba(99,102,241,.15); color:#818cf8; }
.secret-tag.market { background:rgba(20,184,166,.15); color:#2dd4bf; }
.secret-title { font-size:.95rem; font-weight:700; line-height:1.4; margin-bottom:.5rem; color:white; }
.secret-teaser { font-size:.8rem; color:rgba(255,255,255,.45); line-height:1.5; }
.secret-reveal { display:none; margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(37,99,235,.15); }
.secret-reveal.open { display:block; animation:secretFadeIn .4s ease; }
@keyframes secretFadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.secret-stat { font-size:1.5rem; font-weight:800; color:var(--accent); margin-bottom:.25rem; }
.secret-body { font-size:.82rem; color:rgba(255,255,255,.7); line-height:1.65; }
.secret-source { margin-top:.75rem; font-size:.68rem; color:rgba(255,255,255,.3); font-style:italic; }
.secret-lock { display:flex; align-items:center; gap:.4rem; font-size:.7rem; color:rgba(37,99,235,.6); margin-top:.75rem; font-weight:600; }
.secret-card.locked .secret-teaser { filter:blur(3px); user-select:none; }
.secret-card.locked:hover .secret-lock { color:var(--accent); }
.secret-count-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .85rem; background:rgba(37,99,235,.1); border:1px solid rgba(37,99,235,.2); border-radius:20px; font-size:.72rem; font-weight:700; color:var(--accent); margin-top:1.5rem; }
.secrets-page-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
/* ── Data Secrets page — force dark background, high-contrast cards ── */
#page-data-secrets,
#page-data-secrets.active { background:linear-gradient(180deg,var(--navy) 0%,#1e293b 50%,var(--navy) 100%) !important; min-height:100vh; }
.secret-card { background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.12) !important; }
.secret-card:hover { background:rgba(255,255,255,.10) !important; border-color:rgba(255,255,255,.22) !important; }
.secret-title { color:#fff !important; }
.secret-teaser { color:rgba(255,255,255,.65) !important; }
#page-data-secrets .persona-tabs, #secretFilters { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08); }
#page-data-secrets .persona-tab, #secretFilters .persona-tab { color:rgba(255,255,255,.45); }
#page-data-secrets .persona-tab:hover, #secretFilters .persona-tab:hover { color:rgba(255,255,255,.8); }
#page-data-secrets .persona-tab.active, #secretFilters .persona-tab.active { background:rgba(37,99,235,.15); color:var(--accent); border:1px solid var(--accent); }
@media(max-width:768px) { .secrets-page-grid { grid-template-columns:1fr; } }

/* USER DASHBOARD */
.dash-grid { display:grid; grid-template-columns:2fr 1fr; gap:1.5rem; }
@media(max-width:768px) { .dash-grid { grid-template-columns:1fr; } }
.dash-welcome { margin-bottom:2rem; }
.dash-welcome h1 { font-size:1.65rem; font-weight:800; letter-spacing:-.03em; margin-bottom:.25rem; }
.dash-welcome p { color:var(--text-light); font-size:.92rem; }
.dash-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem; }
@media(max-width:768px) { .dash-stats { grid-template-columns:repeat(2,1fr); } }
.dash-stat { background:var(--white); border:1px solid rgba(0,0,0,.15); border-radius:var(--radius); padding:1.15rem; }
.dash-stat-num { font-size:1.6rem; font-weight:800; color:#37474f; line-height:1; font-family:var(--font-data); font-variant-numeric:tabular-nums; }
.dash-stat-lbl { font-size:.72rem; color:var(--text-muted); margin-top:.3rem; font-weight:500; }
.dash-section { background:var(--white); border:1px solid rgba(0,0,0,.15); border-radius:var(--radius); padding:1.25rem; margin-bottom:1.25rem; }
.dash-section-title { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:1rem; display:flex; align-items:center; gap:.5rem; }
.dash-quick-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
@media(max-width:768px) { .dash-quick-actions { grid-template-columns:1fr; } }
.dash-qa { display:flex; align-items:center; gap:.75rem; padding:.85rem; border:1px solid var(--border-light); border-radius:var(--radius-sm); cursor:pointer; transition:all .15s; }
.dash-qa:hover { border-color:var(--border); background:rgba(0,0,0,.015); }
.dash-qa-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dash-qa-icon.qa-funding { background:rgba(16,185,129,.08); color:#10b981; }
.dash-qa-icon.qa-school { background:rgba(14,165,233,.08); color:#0ea5e9; }
.dash-qa-icon.qa-analytics { background:rgba(37,99,235,.08); color:var(--blue); }
.dash-qa-icon.qa-vendor { background:rgba(225,29,72,.08); color:#e11d48; }
.dash-qa-icon.qa-tracking { background:rgba(13,148,136,.08); color:#0d9488; }
.stack-badge { display:inline-block; font-size:.57rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:.08rem .35rem; border-radius:3px; line-height:1.6; }
.stack-badge.sb-school { background:rgba(14,165,233,.1); color:#0ea5e9; }
.stack-badge.sb-funding { background:rgba(16,185,129,.1); color:#10b981; }
.stack-badge.sb-analytics { background:rgba(37,99,235,.1); color:#2563eb; }
.stack-badge.sb-vendor { background:rgba(225,29,72,.1); color:#e11d48; }
.stack-badge.sb-tracking { background:rgba(13,148,136,.1); color:#0d9488; }
.dash-qa-text { font-size:.82rem; font-weight:600; color:var(--text); }
.dash-qa-sub { font-size:.7rem; color:var(--text-muted); font-weight:400; }
.activity-item { display:flex; align-items:start; gap:.75rem; padding:.65rem 0; border-bottom:1px solid var(--border-light); }
.activity-item:last-child { border-bottom:none; }
.activity-dot { width:8px; height:8px; border-radius:50%; margin-top:5px; flex-shrink:0; }
.activity-dot.search { background:var(--blue-light); }
.activity-dot.view { background:var(--accent); }
.activity-dot.export { background:var(--success); }
.activity-dot.report { background:#8b5cf6; }
.activity-dot.save { background:#f59e0b; }
.activity-text { font-size:.8rem; color:var(--text-mid); line-height:1.4; }
.activity-time { font-size:.68rem; color:var(--text-muted); }
.onboard-bar { height:6px; background:var(--border-light); border-radius:3px; overflow:hidden; margin:.5rem 0 .75rem; }
.onboard-fill { height:100%; background:var(--accent); border-radius:3px; transition:width .5s ease; }
.onboard-step { display:flex; align-items:center; gap:.6rem; padding:.5rem 0; cursor:pointer; transition:opacity .15s; }
.onboard-step.done { opacity:.5; }
.onboard-step .check { width:20px; height:20px; border-radius:50%; border:2px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.65rem; }
.onboard-step.done .check { background:var(--success); border-color:var(--success); color:white; }
.onboard-step-text { font-size:.8rem; font-weight:500; }
.onboard-step.done .onboard-step-text { text-decoration:line-through; color:var(--text-muted); }
.pinned-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; }
.pinned-card { display:flex; align-items:center; gap:.5rem; padding:.6rem .75rem; border:1px solid var(--border-light); border-radius:var(--radius-sm); cursor:pointer; transition:all .15s; font-size:.78rem; font-weight:600; }
.pinned-card:hover { border-color:var(--accent); background:rgba(37,99,235,.03); }
.pinned-card i, .pinned-card svg { width:16px; height:16px; }
.pipeline-col { text-align:center; }
.pipeline-header { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); padding:.5rem; background:var(--cream); border-radius:6px 6px 0 0; }
.pipeline-cards { min-height:60px; padding:.5rem; border:1px dashed var(--border-light); border-top:none; border-radius:0 0 6px 6px; }
.pipeline-card { background:var(--white); border:1px solid var(--border-light); border-radius:6px; padding:.5rem .65rem; margin-bottom:.4rem; font-size:.75rem; cursor:grab; transition:all .15s; }
.pipeline-card:hover { border-color:var(--accent); }
.settings-section { margin-bottom:2rem; }
.settings-label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:.75rem; }
.settings-row { display:flex; align-items:center; justify-content:space-between; padding:.75rem 0; border-bottom:1px solid var(--border-light); }
.settings-row:last-child { border-bottom:none; }
/* Feature requests: Fider iframe at feedback.thinkkits.com */
.settings-row-label { font-size:.85rem; font-weight:500; }
.settings-row-sub { font-size:.72rem; color:var(--text-muted); }
.toggle { width:36px; height:20px; border-radius:10px; background:var(--border); position:relative; cursor:pointer; transition:background .2s; }
.toggle.on { background:var(--accent); }
.toggle::after { content:''; width:16px; height:16px; border-radius:50%; background:white; position:absolute; top:2px; left:2px; transition:transform .2s; box-shadow:0 1px 2px rgba(0,0,0,.1); }
.toggle.on::after { transform:translateX(16px); }

/* ADMIN PANEL */
.admin-top { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-bottom:2rem; }
@media(max-width:900px) { .admin-top { grid-template-columns:repeat(2,1fr); } }
.admin-kpi { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1.15rem 1.25rem; position:relative; overflow:hidden; }
.admin-kpi::before { content:''; position:absolute; top:0; left:0; width:4px; height:100%; border-radius:2px 0 0 2px; }
.admin-kpi.blue::before { background:var(--blue); }
.admin-kpi.gold::before { background:var(--accent); }
.admin-kpi.green::before { background:var(--success); }
.admin-kpi.red::before { background:var(--error); }
.admin-kpi.purple::before { background:#8b5cf6; }
.admin-kpi-num { font-size:1.65rem; font-weight:800; line-height:1; margin-bottom:.15rem; }
.admin-kpi-lbl { font-size:.72rem; color:var(--text-muted); font-weight:500; }
.admin-kpi-delta { font-size:.68rem; font-weight:600; margin-top:.3rem; }
.admin-kpi-delta.up { color:var(--success); }
.admin-kpi-delta.down { color:var(--error); }
.admin-grid { display:grid; grid-template-columns:2fr 1fr; gap:1.5rem; }
@media(max-width:768px) { .admin-grid { grid-template-columns:1fr; } }
.admin-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1.25rem; margin-bottom:1.25rem; }
.admin-card-title { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:1rem; display:flex; align-items:center; justify-content:space-between; }
.admin-table { width:100%; border-collapse:collapse; font-size:.8rem; }
.admin-table th { text-align:left; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); padding:.5rem .65rem; border-bottom:2px solid var(--border); }
.admin-table td { padding:.6rem .65rem; border-bottom:1px solid var(--border-light); vertical-align:middle; }
.admin-table tr:hover { background:var(--cream); }
.admin-badge { display:inline-block; padding:.15rem .5rem; border-radius:10px; font-size:.65rem; font-weight:700; }
.admin-badge.free { background:#eef2ff; color:var(--blue); }
.admin-badge.standard { background:#fef3c7; color:#92400e; }
.admin-badge.premium { background:#d1fae5; color:#065f46; }
.admin-badge.active { background:#d1fae5; color:#065f46; }
.admin-badge.inactive { background:#fee2e2; color:#991b1b; }
.admin-bar { display:flex; align-items:end; gap:3px; height:32px; }
.admin-bar-col { background:var(--blue-light); border-radius:2px 2px 0 0; min-width:6px; transition:height .3s; }
.admin-chart-placeholder { background:var(--cream); border:1px dashed var(--border); border-radius:8px; padding:2rem; text-align:center; color:var(--text-muted); font-size:.82rem; min-height:120px; display:flex; align-items:center; justify-content:center; }
.admin-activity-row { display:flex; align-items:center; gap:.65rem; padding:.5rem 0; border-bottom:1px solid var(--border-light); }
.admin-activity-row:last-child { border-bottom:none; }
.admin-user-avatar { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; color:white; flex-shrink:0; }
#novu-inbox { min-width:36px; }
.admin-manage-btn { padding:.2rem .55rem;font-size:.65rem;font-weight:700;border-radius:4px;border:1px solid var(--border);background:var(--white);color:var(--blue);cursor:pointer;transition:all .12s;font-family:inherit; }
.admin-manage-btn:hover { background:var(--blue);color:white;border-color:var(--blue); }
.admin-modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s; }
.admin-modal-overlay.open { opacity:1;pointer-events:auto; }
.admin-modal { background:var(--white);border-radius:var(--radius-lg);padding:2rem;width:90%;max-width:480px;box-shadow:0 20px 60px rgba(0,0,0,.2);transform:translateY(10px);transition:transform .2s; }
.admin-modal-overlay.open .admin-modal { transform:translateY(0); }
.admin-modal h3 { font-size:1.1rem;font-weight:800;margin-bottom:.25rem; }
.admin-modal .subtitle { font-size:.78rem;color:var(--text-muted);margin-bottom:1.5rem; }
.admin-modal label { display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.35rem;margin-top:1rem; }
.admin-modal select { width:100%;padding:.55rem .75rem;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;background:var(--white);color:var(--text); }
.admin-modal select:focus { outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1); }
.admin-modal-actions { display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--border-light); }
.admin-modal .btn-save { padding:.5rem 1.25rem;font-size:.82rem;font-weight:700;border-radius:var(--radius-sm);border:none;background:var(--blue);color:white;cursor:pointer;font-family:inherit;transition:all .12s; }
.admin-modal .btn-save:hover { background:var(--blue); }
.admin-modal .btn-save:disabled { opacity:.5;cursor:not-allowed; }
.admin-modal .btn-cancel { padding:.5rem 1.25rem;font-size:.82rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--white);color:var(--text-mid);cursor:pointer;font-family:inherit;transition:all .12s; }
.admin-modal .btn-cancel:hover { background:var(--cream); }
.admin-modal .current-badge { display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.65rem;font-weight:700;background:#eef2ff;color:var(--blue);margin-left:.5rem; }
.admin-toast { position:fixed;bottom:2rem;right:2rem;padding:.75rem 1.25rem;border-radius:var(--radius);font-size:.82rem;font-weight:600;color:white;z-index:10000;transform:translateY(100px);opacity:0;transition:all .3s; }
.admin-toast.show { transform:translateY(0);opacity:1; }
.admin-toast.success { background:#059669; }
.admin-toast.error { background:#dc2626; }
.poTabActive { background:var(--blue) !important;color:white !important;border-color:var(--blue) !important; }

/* ===== STACK ACCORDION ===== */
.stack-accordion { border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:.5rem; background:var(--white); }
.stack-accordion-head { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; cursor:pointer; transition:background .15s; user-select:none; }
.stack-accordion-head:hover { background:rgba(0,0,0,.02); }
.stack-accordion-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.stack-accordion-title { font-size:.88rem; font-weight:700; color:var(--text); }
.stack-accordion-desc { font-size:.72rem; color:var(--text-mid); margin-top:.1rem; }
.stack-accordion-badges { display:flex; gap:.25rem; margin-left:auto; align-items:center; }
.stack-accordion-chevron { width:16px; height:16px; color:var(--text-muted); transition:transform .2s; flex-shrink:0; }
.stack-accordion-body { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.stack-accordion.open .stack-accordion-body { max-height:4000px; overflow:visible; }
.stack-accordion.open .stack-accordion-chevron { transform:rotate(180deg); }
.stack-accordion-content { padding:1.25rem 1.5rem; border-top:1px solid var(--border); }
.stack-accordion.gated .stack-accordion-head { opacity:.7; }
.stack-accordion.gated .stack-accordion-content { text-align:center; padding:2rem; }
[data-theme="dark"] .stack-accordion { border-color:rgba(255,255,255,.08); background:var(--white); }
[data-theme="dark"] .stack-accordion-head:hover { background:rgba(255,255,255,.03); }
@media(max-width:768px) { .stack-accordion-head { padding:.75rem 1rem; } .stack-accordion-content { padding:1rem; } }

/* ===== Stack Overview Pages ===== */
.stack-page { background:var(--bg); }
.stack-page .page-card { background:transparent; box-shadow:none; border:none; }
/* Accordion rows: white cards matching tool-directory style */
.stack-page .stack-accordion { background:var(--white) !important; border:1px solid var(--border) !important; transition:all .2s ease; }
.stack-page .stack-accordion:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.stack-page .stack-accordion-head:hover { background:rgba(0,0,0,.02) !important; }
.stack-page .stack-accordion.open .stack-accordion-head { background:var(--white) !important; }
.stack-page .stack-accordion-title { color:var(--text) !important; }
.stack-page .stack-accordion-desc { color:var(--text-mid) !important; }
.stack-page .stack-accordion-chevron { color:var(--text-muted) !important; }
.stack-page .stack-accordion-content { border-top:1px solid var(--border) !important; background:var(--bg) !important; border-radius:0 0 11px 11px; }
/* Per-stack persistent border + brighter on hover/open */
/* All stack accordions — clean neutral border, gold left-accent on open */
.stack-page .stack-accordion { border-color:#e5e7eb !important; }
.stack-page .stack-accordion.open { border-color:rgba(201,146,42,.4) !important; border-left:3px solid var(--accent) !important; }
/* Hover: full saturation + glow */
#page-stack-school-intel .stack-accordion:hover,#page-stack-school-intel .stack-accordion.open { border-color:#0ea5e9 !important; box-shadow:0 4px 20px rgba(14,165,233,.15),0 1px 4px rgba(14,165,233,.08); }
#page-stack-funding     .stack-accordion:hover,#page-stack-funding     .stack-accordion.open { border-color:#10b981 !important; box-shadow:0 4px 20px rgba(16,185,129,.15),0 1px 4px rgba(16,185,129,.08); }
#page-stack-analytics   .stack-accordion:hover,#page-stack-analytics   .stack-accordion.open { border-color:#2563eb !important; box-shadow:0 4px 20px rgba(37,99,235,.15),0 1px 4px rgba(37,99,235,.08); }
#page-stack-vendor      .stack-accordion:hover,#page-stack-vendor      .stack-accordion.open { border-color:#e11d48 !important; box-shadow:0 4px 20px rgba(225,29,72,.15),0 1px 4px rgba(225,29,72,.08); }
#page-stack-tracking    .stack-accordion:hover,#page-stack-tracking    .stack-accordion.open { border-color:#0d9488 !important; box-shadow:0 4px 20px rgba(13,148,136,.15),0 1px 4px rgba(13,148,136,.08); }
/* Tier badges — normal light-mode */
.stack-page .hero-badge.badge-green  { background:rgba(5,150,105,.1);  color:#059669; border:1px solid rgba(5,150,105,.25); }
.stack-page .hero-badge.badge-gold   { background:rgba(240,200,96,.12); color:#b07d10; border:1px solid rgba(240,200,96,.3); }
.stack-page .hero-badge.badge-purple { background:rgba(124,58,237,.1);  color:#7c3aed; border:1px solid rgba(124,58,237,.2); }
/* Use-case example boxes */
.stack-page .use-case-section { background:var(--bg) !important; border-color:var(--border) !important; border-radius:10px; }
.stack-page .use-case-section h4 { color:var(--text) !important; }
.stack-page .use-case-section .use-case-grid { color:var(--text-light) !important; }
.stack-page .use-case-section .use-case-item { background:var(--white) !important; border-color:var(--border) !important; color:var(--text-mid) !important; }
/* Breadcrumb navigation bar */
.crumb-sep { color:rgba(255,255,255,.18); font-size:.62rem; padding:0 .2rem; user-select:none; }
.crumb-link { color:rgba(255,255,255,.38); cursor:pointer; padding:.1rem .3rem; border-radius:4px; font-size:.68rem; font-weight:500; transition:color .15s,background .15s; letter-spacing:.01em; }
.crumb-link:hover { color:rgba(255,255,255,.72); background:rgba(255,255,255,.07); }
.crumb-current { color:rgba(255,255,255,.78); font-size:.68rem; font-weight:600; padding:.1rem .3rem; letter-spacing:.01em; }
.crumb-stack-pill { display:inline-flex; align-items:center; border-radius:4px; padding:.1rem .4rem; font-size:.63rem; font-weight:700; background:rgba(255,255,255,.06); cursor:pointer; transition:background .15s; }
.crumb-stack-pill:hover { background:rgba(255,255,255,.11); }

/* KG-Powered badge */
.kg-badge { display:inline-flex; align-items:center; gap:.3rem; font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:.18rem .5rem; border-radius:20px; background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(37,99,235,.08)); color:#7c3aed; border:1px solid rgba(124,58,237,.22); white-space:nowrap; }
.kg-badge svg,.kg-badge i { width:9px; height:9px; }

/* Cross-tool next-step panel */
.cross-tool-next { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; padding:.85rem 1.1rem; background:linear-gradient(90deg,rgba(240,200,96,.04) 0%,rgba(14,165,233,.03) 100%); border:1px solid rgba(240,200,96,.15); border-radius:10px; margin-top:1.25rem; }
.cross-tool-next-label { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--text-light); white-space:nowrap; flex-shrink:0; }
.cross-tool-btn { display:inline-flex; align-items:center; gap:.35rem; font-size:.76rem; font-weight:600; padding:.35rem .8rem; border-radius:7px; background:var(--white); border:1px solid rgba(0,0,0,.1); color:var(--text); cursor:pointer; transition:all .14s; font-family:inherit; }
.cross-tool-btn:hover { border-color:var(--accent); background:rgba(240,200,96,.06); transform:translateY(-1px); box-shadow:0 3px 8px rgba(0,0,0,.06); }
.cross-tool-btn .tier-lock { font-size:.6rem; padding:.1rem .3rem; border-radius:4px; background:rgba(124,58,237,.1); color:#7c3aed; margin-left:.2rem; }

/* KG pipeline diagram on Tools page */
.kg-pipeline { display:flex; align-items:center; justify-content:center; gap:0; overflow-x:auto; padding:.75rem 0; scrollbar-width:none; flex-wrap:wrap; }
.kg-pipeline::-webkit-scrollbar { display:none; }
.kg-pipe-step { display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:.5rem .7rem; background:var(--white); border:1px solid rgba(0,0,0,.09); border-radius:8px; min-width:90px; flex-shrink:0; cursor:pointer; transition:all .14s; }
.kg-pipe-step:hover { border-color:var(--accent); box-shadow:0 3px 10px rgba(0,0,0,.07); transform:translateY(-2px); }
.kg-pipe-step .ps-icon { width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center; margin-bottom:.1rem; }
.kg-pipe-step .ps-name { font-size:.67rem; font-weight:700; color:var(--text); text-align:center; line-height:1.3; }
.kg-pipe-step .ps-tier { font-size:.57rem; padding:.1rem .3rem; border-radius:4px; font-weight:700; }
.kg-pipe-arrow { color:var(--text-light); font-size:1rem; padding:0 .2rem; flex-shrink:0; margin-top:-.5rem; opacity:.5; }

/* Tool page rich intro banner */
.tool-intro-banner { background:rgba(14,165,233,.04); border:1px solid rgba(14,165,233,.14); border-radius:10px; padding:.9rem 1.1rem; }
.tool-intro-toggle { font-size:.75rem; color:#0ea5e9; background:none; border:1px solid rgba(14,165,233,.3); border-radius:6px; padding:.3rem .7rem; cursor:pointer; white-space:nowrap; flex-shrink:0; transition:background .12s; }
.tool-intro-toggle:hover { background:rgba(14,165,233,.08); }
.intro-dp { display:flex; align-items:center; gap:.35rem; font-size:.73rem; color:var(--text-mid); background:var(--white); border:1px solid var(--border-light); border-radius:5px; padding:.28rem .55rem; line-height:1.3; }
/* Stack page intro blurb + prompt chips */
.stack-intro-blurb { font-size:.82rem; color:var(--text-mid); line-height:1.65; padding:.65rem 0 .5rem; margin-bottom:.15rem; }
.stack-prompts { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; padding:.5rem 0 1rem; }
.stack-prompt-label { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--text-light); white-space:nowrap; margin-right:.15rem; }
.stack-chip { border-radius:999px; padding:.32rem .8rem; font-size:.74rem; font-weight:500; cursor:pointer; border:1px solid color-mix(in srgb, var(--chip-color,#6b7280) 35%, transparent); background:color-mix(in srgb, var(--chip-color,#6b7280) 7%, transparent); color:color-mix(in srgb, var(--chip-color,#6b7280) 90%, #111); transition:all .14s; font-family:inherit; font-style:italic; line-height:1.4; }
.stack-chip:hover { background:color-mix(in srgb, var(--chip-color,#6b7280) 14%, transparent); border-color:color-mix(in srgb, var(--chip-color,#6b7280) 55%, transparent); transform:translateY(-1px); box-shadow:0 3px 10px color-mix(in srgb, var(--chip-color,#6b7280) 18%, transparent); }
/* Back button — standard light style */
.stack-page .stack-back { text-align:center; }
.stack-page .stack-back .btn-ghost { color:var(--text-light); border-color:var(--border); }
.stack-page .stack-back .btn-ghost:hover { background:var(--bg); color:var(--text); border-color:var(--text-muted); }
/* Stack hub compact header — override dark hero-grad base */
.stack-page .tool-hero-header.hero-grad {
  background:#fafaf8 !important;
  color:#111827 !important;
  text-align:left !important;
  padding:.6rem 1.25rem !important;
  border-bottom:1px solid #e5e7eb !important;
  border-top:none !important;
  border-right:none !important;
  min-height:0 !important;
}
.stack-page .tool-hero-header.hero-grad > div[style*="z-index:1"] { text-align:left !important; }
.stack-page .tool-hero-header.hero-grad h2 { color:#111827 !important; text-shadow:none !important; }
.stack-page .tool-hero-header.hero-grad p { color:#6b7280 !important; }
.stack-page .tool-hero-header.hero-grad .hero-badge,
.stack-page .tool-hero-header.hero-grad span[style] { background:revert !important; color:revert !important; border:revert !important; }
.stack-page .tool-hero-header.hero-grad::before,
.stack-page .tool-hero-header.hero-grad::after { display:none !important; }

/* NPS MODAL */
/* NPS — bottom-right corner card, never blocks page interaction */
.nps-overlay { position:fixed;bottom:24px;right:24px;z-index:500;pointer-events:none;transition:opacity .25s,transform .25s;opacity:0;transform:translateY(16px); }
.nps-overlay.open { opacity:1;pointer-events:auto;transform:translateY(0); }
.nps-modal { background:var(--white);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;width:340px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.06); }
.nps-modal h3 { font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:1rem;line-height:1.4; }
.nps-score-row { display:flex;gap:3px;justify-content:center;margin-bottom:.2rem; }
.nps-score-btn { width:28px;height:28px;border-radius:6px;border:1.5px solid var(--border);background:transparent;font-weight:700;font-size:.72rem;cursor:pointer;transition:all .15s;color:var(--text); }
.nps-score-btn:hover { transform:scale(1.1); }
.nps-score-btn.selected { color:white;border-color:transparent;transform:scale(1.12); }
.nps-labels { display:flex;justify-content:space-between;font-size:.62rem;color:var(--text-muted);margin-bottom:1rem;padding:0 2px; }
.nps-comment-wrap { max-height:0;overflow:hidden;transition:max-height .3s ease; }
.nps-comment-wrap.show { max-height:160px; }
.nps-comment-wrap textarea { width:100%;height:68px;border:1.5px solid var(--border);border-radius:var(--radius);padding:.6rem;font-size:.82rem;resize:none;font-family:inherit;background:var(--bg);color:var(--text);margin-bottom:.75rem; }
.nps-comment-wrap textarea:focus { outline:none;border-color:var(--accent); }
.nps-actions { display:flex;align-items:center;justify-content:space-between; }
.nps-submit { background:var(--accent);color:white;border:none;padding:.45rem 1.25rem;border-radius:var(--radius);font-weight:700;font-size:.82rem;cursor:pointer;transition:opacity .15s; }
.nps-submit:hover { opacity:.9; }
.nps-submit:disabled { opacity:.5;cursor:not-allowed; }
.nps-dismiss { background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:.25rem; }
.nps-dismiss:hover { color:var(--text); }
[data-theme="dark"] .nps-modal { background:var(--navy-mid);border:1px solid rgba(255,255,255,.08); }
@media(max-width:480px) { .nps-overlay { bottom:16px;right:16px; } .nps-modal { width:calc(100vw - 32px); } }

/* ===== Accessibility: Screen Reader Only ===== */
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.sr-only-focusable:focus { position:fixed;top:0;left:0;width:auto;height:auto;padding:.75rem 1.5rem;margin:0;overflow:visible;clip:auto;white-space:normal;z-index:99999;background:var(--accent);color:white;font-size:1rem;font-weight:700;text-decoration:none;border-radius:0 0 8px 0; }

/* ===== Accessibility: Focus Visible for non-form elements ===== */
[tabindex="0"]:focus-visible,
.tool-card:focus-visible,
.nav-dd-item:focus-visible,
.btn:focus-visible,
button:focus-visible,
a:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}

/* ═══════════════════════════════════════════════════════════
   TOOLS PAGE — Mockup Match: Dark Blue #1a3a6e · Bright Gold #f0c860
   Category headers → compact warm-tint chip row
   Tool cards → left-aligned, stack-colored icon boxes
═══════════════════════════════════════════════════════════ */

/* --- CATEGORY HEADER: compact chip row --- */
#page-tools .tool-category-wrap {
  border-color: rgba(240,200,96,.18) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#page-tools .tool-category-wrap .tool-hero-header {
  padding: .6rem .95rem !important;
  background: #fffef6 !important;
  border-left: 4px solid #f0c860 !important;
  border-bottom: 1px solid rgba(240,200,96,.2) !important;
  border-radius: 0 !important;
}
/* shrink the 48px icon box → 26px */
#page-tools .tool-category-wrap .tool-hero-header div[style*="48px"],
#page-tools .tool-category-wrap .tool-hero-header div[style*="width:48px"] {
  width: 26px !important;
  height: 26px !important;
  border-radius: 6px !important;
}
#page-tools .tool-category-wrap .tool-hero-header div[style*="48px"] i,
#page-tools .tool-category-wrap .tool-hero-header div[style*="48px"] svg {
  width: 13px !important;
  height: 13px !important;
}
/* compact title */
#page-tools .tool-category-wrap .tool-hero-header h2 {
  font-family: 'DM Sans',sans-serif !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: #1a3a6e !important;
  margin: 0 !important;
}
/* hide description paragraph */
#page-tools .tool-category-wrap .tool-hero-header > div:last-child {
  display: none !important;
}
/* tool count badge */
#page-tools .tool-category-wrap .tool-hero-header span[style*="font-size:.8rem"] {
  font-size: .65rem !important;
  background: transparent !important;
  color: #6b7280 !important;
  font-weight: 700 !important;
  padding: 0 !important;
}
#page-tools .tool-category-wrap .tool-hero-header span[style*="font-size:.7rem"] {
  font-size: .62rem !important;
  background: transparent !important;
  color: #9ca3af !important;
  padding: 0 !important;
}

/* --- TOOL CARDS: white bg, left-aligned, stack colors via JS recolorCards --- */
#page-tools .tool-card {
  text-align: left !important;
}
#page-tools .tool-card .card-top {
  align-items: flex-start !important;
}
#page-tools .tool-card .icon-wrap {
  margin: 0 0 .5rem 0 !important;
}
#page-tools .tool-card .card-text {
  text-align: left !important;
}
#page-tools .tool-card .card-title-row {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}
#page-tools .tool-card h4 {
  text-align: left !important;
}
#page-tools .tool-card p {
  text-align: left !important;
}
#page-tools .tool-card .data-teaser {
  justify-content: flex-start !important;
}

/* Stack hover/icon colors handled by window.recolorCards — no CSS overrides needed */


/* === Block 2 === */
/* ── Invisible Jet Cockpit — AI Chat Window ── */
#chatWidget { position:fixed; bottom:1.5rem; right:1.5rem; z-index:9002; }
@media(max-width:768px) { #chatWidget { bottom:5rem; } }

#chatPanel {
  display:none; flex-direction:column;
  width:400px; max-width:calc(100vw - 2rem);
  height:520px; max-height:calc(100vh - 6rem);
  /* Glass canopy — barely visible, like the jet fuselage */
  background:rgba(10,22,40,0.82);
  backdrop-filter:blur(20px) saturate(1.4);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);
  border-radius:14px 14px 10px 10px;
  /* Ice-blue edge glow — the jet outline */
  border:1px solid rgba(150,220,255,0.14);
  box-shadow:
    0 0 0 1px rgba(150,220,255,0.06),
    0 24px 60px rgba(0,0,0,.55),
    0 0 40px rgba(26,86,219,.12),
    inset 0 1px 0 rgba(150,220,255,0.12),
    inset 0 0 80px rgba(10,22,40,.35);
  overflow:hidden;
}

/* Bloom HUD header — chalkboard warm accent */
#chatHud {
  background:linear-gradient(135deg,rgba(61,90,62,.55) 0%,rgba(10,22,40,.9) 100%);
  border-bottom:1px solid rgba(245,240,232,.12);
  padding:.65rem 1rem;
  display:flex; align-items:center; justify-content:space-between;
  flex-shrink:0;
  position:relative;
}
#chatHud::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,200,96,.5),rgba(245,240,232,.3),rgba(240,200,96,.5),transparent);
}
.hud-left { display:flex; align-items:center; gap:.65rem; }
.hud-wingmark {
  width:28px; height:28px; flex-shrink:0;
  opacity:.85;
}
.hud-title { font-family:'Caveat','Patrick Hand','JetBrains Mono',cursive,monospace; font-size:.95rem; font-weight:700; color:#f5f0e8; letter-spacing:.03em; text-transform:none; line-height:1; }
.hud-sub { font-family:'JetBrains Mono',monospace; font-size:.55rem; color:rgba(150,220,130,.55); letter-spacing:.12em; margin-top:2px; }
.hud-status { display:flex; align-items:center; gap:.35rem; }
.hud-dot { width:6px; height:6px; border-radius:50%; background:#10b981; box-shadow:0 0 6px rgba(16,185,129,.7); animation:hudPulse 2.5s ease-in-out infinite; }
@keyframes hudPulse { 0%,100%{opacity:1;box-shadow:0 0 6px rgba(16,185,129,.7)} 50%{opacity:.5;box-shadow:0 0 10px rgba(16,185,129,.5)} }
.hud-close { background:none; border:none; color:rgba(150,220,255,.4); font-size:1rem; cursor:pointer; padding:.2rem; line-height:1; transition:color .2s; }
.hud-close:hover { color:rgba(230,57,70,.8); }

/* Messages — cockpit interior */
#agentMessages {
  flex:1; overflow-y:auto; padding:.85rem;
  display:flex; flex-direction:column; gap:.65rem;
  scrollbar-width:thin; scrollbar-color:rgba(240,200,96,.3) transparent;
}
#agentMessages::-webkit-scrollbar { width:4px; }
#agentMessages::-webkit-scrollbar-thumb { background:rgba(240,200,96,.25); border-radius:2px; }
.jet-msg-ai {
  background:rgba(26,52,86,.55);
  border:1px solid rgba(150,220,255,.1);
  border-radius:2px 10px 10px 10px;
  padding:.65rem .85rem; font-size:.83rem;
  color:rgba(240,245,255,.88); line-height:1.5;
  max-width:88%;
  box-shadow:inset 0 1px 0 rgba(150,220,255,.06);
}
.jet-msg-user {
  background:rgba(240,200,96,.15);
  border:1px solid rgba(240,200,96,.25);
  border-radius:10px 2px 10px 10px;
  padding:.65rem .85rem; font-size:.83rem;
  color:rgba(240,245,255,.9); line-height:1.5;
  max-width:88%; align-self:flex-end;
}

/* Input bay — cockpit controls */
#chatInputBay {
  padding:.65rem .85rem;
  border-top:1px solid rgba(150,220,255,.1);
  background:rgba(10,22,40,.4);
  display:flex; gap:.5rem; align-items:center;
  flex-shrink:0;
}
#agentInput {
  flex:1; background:rgba(26,52,86,.45);
  border:1px solid rgba(150,220,255,.15);
  border-radius:6px; color:rgba(240,245,255,.9);
  font-size:.82rem; padding:.55rem .8rem;
  outline:none; font-family:'Inter',sans-serif;
  transition:border-color .2s;
}
#agentInput::placeholder { color:rgba(150,220,255,.3); font-size:.78rem; }
#agentInput:focus { border-color:rgba(240,200,96,.5); background:rgba(26,52,86,.65); }
#chatSendBtn {
  background:linear-gradient(135deg,rgba(240,200,96,.9),rgba(240,200,96,.7));
  border:1px solid rgba(240,200,96,.5); border-radius:6px;
  color:#1a3a6e; font-size:.75rem; font-weight:700;
  padding:.55rem .85rem; cursor:pointer;
  font-family:'JetBrains Mono',monospace; letter-spacing:.04em;
  transition:all .2s; flex-shrink:0;
}
#chatSendBtn:hover { background:linear-gradient(135deg,#f0c860,#b07820); box-shadow:0 0 12px rgba(240,200,96,.3); }

/* FAB — canopy button */
#chatToggleBtn {
  width:50px; height:50px; border-radius:50%;
  background:rgba(10,22,40,.85);
  backdrop-filter:blur(12px);
  border:1px solid rgba(150,220,255,.2);
  color:rgba(150,220,255,.8); cursor:pointer;
  box-shadow:0 4px 20px rgba(0,0,0,.4), 0 0 20px rgba(26,86,219,.2), inset 0 1px 0 rgba(150,220,255,.15);
  display:flex; align-items:center; justify-content:center;
  margin-left:auto; transition:all .25s;
}
#chatToggleBtn:hover {
  border-color:rgba(240,200,96,.5);
  box-shadow:0 4px 24px rgba(0,0,0,.5), 0 0 24px rgba(240,200,96,.25);
  color:#f0c860;
}


/* === Block 3 === */
/* Vendor Submission Portal Styles */
.form-section { background:var(--white); border:1px solid var(--border); border-radius:8px; padding:1.5rem; }
.form-section h3 { display:flex; align-items:center; gap:0.5rem; margin:0 0 1rem 0; color:var(--primary); font-size:1.1rem; }
.checkbox-group label { display:flex; align-items:center; gap:0.5rem; font-size:0.9rem; }
.checkbox-label input[type="checkbox"] { margin-right:0.5rem; }
.file-upload-area:hover { border-color:var(--primary); background:rgba(59, 130, 246, 0.05); }
.file-upload-area.dragover { border-color:var(--primary); background:rgba(59, 130, 246, 0.1); }
.uploaded-file { display:flex; align-items:center; justify-content:space-between; padding:0.75rem; background:var(--gray-50); border-radius:6px; margin-top:0.5rem; }
.uploaded-file-name { display:flex; align-items:center; gap:0.5rem; }
.uploaded-file-remove { color:var(--red); cursor:pointer; padding:0.25rem; }
.tier-selection { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; }
.tier-card { border:2px solid var(--border); border-radius:8px; padding:1.5rem; cursor:pointer; transition:all 0.2s; }
.tier-card:hover { border-color:var(--primary); }
.tier-card.selected { border-color:var(--primary); background:rgba(59, 130, 246, 0.05); }
.tier-card.tier-popular { position:relative; border-color:var(--primary); }
.tier-header { margin-bottom:1rem; }
.tier-header h4 { margin:0 0 0.5rem 0; font-size:1.1rem; }
.tier-price { font-size:1.25rem; font-weight:700; color:var(--primary); }
.popular-badge { position:absolute; top:-12px; right:-12px; background:var(--primary); color:white; padding:0.25rem 0.75rem; border-radius:12px; font-size:0.75rem; font-weight:600; }
.tier-features p { margin:0.25rem 0; font-size:0.9rem; color:var(--text-muted); }
.tier-billing { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border); }
.tier-checkout-btn { width:100%; justify-content:center; gap:0.5rem; }
.tier-checkout-btn:disabled { opacity:0.6; cursor:not-allowed; }
.billing-note { border-radius:8px; }
.info-banner { border-radius:8px; }
[data-theme="dark"] .form-section, .dark .form-section { background:var(--gray-800); border-color:var(--gray-700); }
[data-theme="dark"] .tier-card, .dark .tier-card { background:var(--gray-800); border-color:var(--gray-700); }
[data-theme="dark"] .tier-card.selected, .dark .tier-card.selected { background:rgba(59, 130, 246, 0.1); }
[data-theme="dark"] .uploaded-file, .dark .uploaded-file { background:var(--gray-700); }
@media(max-width:768px) { .tier-selection { grid-template-columns:1fr; } }




/* ═══════════════════════════════════════════════════════════
   PL-05 — Native Feature Voting UI
   ═══════════════════════════════════════════════════════════ */

/* ── Filter bar ─────────────────────────────────────────── */
.fv-filter-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.25rem 1.75rem;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.fv-filter-pill {
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  border: 1.5px solid var(--border);
  background: var(--white);
  color: var(--text-light);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}
.fv-filter-pill:hover { border-color: var(--accent); color: var(--accent); }
.fv-filter-pill.active { background: var(--accent); color: var(--white); border-color: var(--accent); }
.fv-sort-select {
  margin-left: auto;
  padding: 0.35rem 0.75rem;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 500;
  background: var(--white);
  color: var(--text);
  cursor: pointer;
}
.fv-submit-btn {
  padding: 0.4rem 1rem;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  background: var(--navy);
  color: var(--white);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  transition: filter 0.15s;
}
.fv-submit-btn:hover { filter: brightness(1.15); }

/* ── Feature grid ───────────────────────────────────────── */
.fv-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.fv-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.1rem 1.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--white);
  transition: background 0.12s;
}
.fv-card:hover { background: #fafbfc; }
.fv-card:last-child { border-bottom: none; }

/* Vote button */
.fv-vote {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  min-width: 44px;
  padding: 0.5rem 0.4rem;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  background: var(--white);
  cursor: pointer;
  transition: all 0.15s;
  flex-shrink: 0;
}
.fv-vote:hover { border-color: var(--accent); color: var(--accent); }
.fv-vote.voted {
  border-color: var(--accent);
  background: rgba(201, 146, 42, 0.07);
  color: var(--accent);
}
.fv-vote-arrow { width: 16px; height: 16px; }
.fv-vote-count { font-size: 0.82rem; font-weight: 700; line-height: 1; }

/* Content */
.fv-content { flex: 1; min-width: 0; }
.fv-title-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 0.3rem;
}
.fv-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.fv-desc {
  font-size: 0.8rem;
  color: var(--text-light);
  line-height: 1.5;
  margin-bottom: 0.5rem;
}
.fv-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* Status badges */
.fv-status {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.18rem 0.55rem;
  border-radius: 4px;
}
.fv-status-review   { background: rgba(99,102,241,0.1);  color: #6366f1; }
.fv-status-planned  { background: rgba(59,130,246,0.1);  color: #3b82f6; }
.fv-status-progress { background: rgba(245,158,11,0.12); color: #d97706; }
.fv-status-done     { background: rgba(16,185,129,0.1);  color: #059669; }

/* Category tag */
.fv-cat {
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--text-muted);
  background: var(--bg);
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  border: 1px solid var(--border);
}

/* Empty state */
.fv-empty {
  text-align: center;
  padding: 3rem 2rem;
  color: var(--text-muted);
}
.fv-empty-icon {
  width: 48px; height: 48px;
  margin: 0 auto 1rem;
  opacity: 0.3;
}

/* ── Submit modal ───────────────────────────────────────── */
.fv-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10,22,40,0.55);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.fv-modal-backdrop.open {
  opacity: 1;
  pointer-events: all;
}
.fv-modal {
  background: var(--white);
  border-radius: 16px;
  padding: 2rem;
  width: 100%;
  max-width: 520px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.18);
  transform: translateY(12px);
  transition: transform 0.2s;
}
.fv-modal-backdrop.open .fv-modal { transform: translateY(0); }
.fv-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.fv-modal-title { font-size: 1.1rem; font-weight: 800; color: var(--text); }
.fv-modal-close {
  width: 32px; height: 32px;
  border: none; background: var(--bg);
  border-radius: 8px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-muted);
  transition: background 0.15s;
}
.fv-modal-close:hover { background: var(--border); }
.fv-form-group { margin-bottom: 1.1rem; }
.fv-form-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 0.4rem;
}
.fv-form-input, .fv-form-textarea, .fv-form-select {
  width: 100%;
  padding: 0.6rem 0.85rem;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 0.88rem;
  color: var(--text);
  background: var(--white);
  transition: border-color 0.15s;
  font-family: inherit;
}
.fv-form-input:focus, .fv-form-textarea:focus, .fv-form-select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(201,146,42,0.12);
}
.fv-form-textarea { min-height: 90px; resize: vertical; }
.fv-form-submit {
  width: 100%;
  padding: 0.75rem;
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 700;
  background: var(--accent);
  color: var(--white);
  border: none;
  cursor: pointer;
  transition: filter 0.15s;
  margin-top: 0.5rem;
}
.fv-form-submit:hover { filter: brightness(1.08); }
.fv-form-submit:disabled { opacity: 0.6; cursor: not-allowed; filter: none; }

@media (max-width: 640px) {
  .fv-filter-bar { padding: 1rem; }
  .fv-card { padding: 1rem; }
  .fv-sort-select { margin-left: 0; width: 100%; }
}

/* ====================== NEO AURA TERRITORY MAP ====================== */
#page-territory-map.active {
  display: flex;
  height: calc(100vh - 64px);
  width: 100%;
  background-color: #0F172A;
  font-family: 'Inter', sans-serif;
  color: white;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.hidden { display: none !important; }

.neo-terminal {
  position: absolute;
  top: 20px;
  left: 400px;
  width: 440px;
  max-height: 520px;
  background: rgba(8, 16, 32, 0.98);
  border: 1px solid rgba(240, 200, 96, 0.4);
  padding: 20px;
  border-radius: 12px;
  z-index: 3000;
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-size: 10px;
  color: #F5A623;
  overflow-y: auto;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6);
  transition: opacity 1s ease, transform 1s ease;
  pointer-events: none;
}

.neo-terminal.closing {
  opacity: 0;
  transform: translateY(-40px);
}

.terminal-line {
  margin-bottom: 6px;
  opacity: 0;
  animation: fadeInLine 0.1s forwards;
  line-height: 1.5;
}

.terminal-line.complete {
  color: #4ADE80;
  font-weight: 900;
  border: 1px solid #4ADE80;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-block;
  margin: 10px 0;
}

.terminal-line.definition {
  color: #CBD5E1;
  font-style: italic;
  border-left: 2px solid #F5A623;
  padding-left: 12px;
  margin: 12px 0;
  font-size: 11px;
}

.terminal-line.header {
  font-weight: 900;
  border-bottom: 1px solid rgba(245, 166, 35, 0.2);
  padding-bottom: 10px;
  margin-bottom: 15px;
  font-size: 11px;
  letter-spacing: 1px;
}

@keyframes fadeInLine {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}

.terminal-progress-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 10px;
  opacity: 1 !important;
  animation: none !important;
}
.terminal-progress-track {
  flex: 1;
  height: 5px;
  background: rgba(240,200,96,0.15);
  border-radius: 3px;
  overflow: hidden;
}
.terminal-progress-fill {
  height: 100%;
  background: linear-gradient(to right, #c9922a, #f0c860);
  border-radius: 3px;
  transition: width 0.05s linear;
}
.terminal-progress-pct {
  width: 32px;
  text-align: right;
  font-size: 9px;
  color: rgba(240,200,96,0.7);
  flex-shrink: 0;
}

.neo-sidebar {
  width: 380px;
  flex-shrink: 0;
  background: rgba(15, 23, 42, 0.98);
  border-right: 1px solid rgba(245, 166, 35, 0.5);
  display: flex;
  flex-direction: column;
  z-index: 2000;
  backdrop-filter: blur(20px);
  padding: 2rem;
  overflow-y: auto;
  opacity: 0;
  transform: translateX(-40px);
  transition: all 1.2s cubic-bezier(0.2, 0, 0.2, 1);
}

.neo-sidebar.revealed { opacity: 1; transform: translateX(0); }

.neo-map-wrapper {
  flex-grow: 1;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 4000px;
}


#neoTerritoryMap { width: 100%; height: auto; overflow: visible; }

.neo-state {
  fill: url(#silkGoldGradient);
  fill-opacity: 0;
  stroke: #FDE047;
  stroke-width: 0.5px;
  stroke-opacity: 0;
  transition: fill-opacity 2.5s ease-in-out;
  cursor: pointer;
}

.neo-state.traced {
  stroke-opacity: 0.6;
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  animation: draw-line 8s forwards ease-in-out;
}

@keyframes draw-line { to { stroke-dashoffset: 0; } }

.neo-state.revealed { fill-opacity: 0.1; stroke-opacity: 0.4; }

.node-base { fill: #F5A623; opacity: 0; transition: all 0.5s ease; }

.node-uplinked {
  opacity: 1 !important;
  fill: #FFFFFF !important;
  filter: drop-shadow(0 0 10px #F5A623);
}

.hq-node {
  fill: #FFFFFF;
  stroke: #F5A623;
  stroke-width: 4;
  filter: drop-shadow(0 0 20px #F5A623);
}

.bright-spot-core {
  fill: #FFFFFF;
  stroke: #F5A623;
  stroke-width: 3.5;
  filter: drop-shadow(0 0 18px #FDE047);
  cursor: pointer;
}

.data-arch {
  fill: none;
  stroke: url(#archGradient);
  stroke-width: 1.5px;
  stroke-dasharray: 3000;
  stroke-dashoffset: 3000;
  opacity: 0.9;
  filter: blur(0.5px);
  transition: opacity 1s ease;
}

/* ========== PERSONA SELECTOR ========== */
.persona-selector {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  text-align: center;
  margin: 1.5rem 2rem;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.persona-selector-inner {
  max-width: 860px;
  margin: 0 auto;
}
.persona-selector-label {
  font-size: .82rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .85rem;
}
.persona-cards {
  display: flex;
  gap: .75rem;
  justify-content: center;
  flex-wrap: nowrap;
}
@media (max-width: 640px) { .persona-cards { flex-wrap: wrap; } }
.persona-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  padding: .85rem 1.25rem;
  border: 1.5px solid var(--border);
  border-radius: 12px;
  background: white;
  cursor: pointer;
  transition: all .2s;
  min-width: 130px;
  font-family: inherit;
}
.persona-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(201,146,42,.15);
}
.persona-card.active {
  border-color: var(--accent);
  background: rgba(201,146,42,.06);
  box-shadow: 0 4px 16px rgba(201,146,42,.2);
}
.persona-title { font-size: .875rem; font-weight: 700; color: var(--text); }
.persona-sub { font-size: .72rem; color: var(--text-muted); }

/* Recommendation banner */
.persona-recommendation {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem 2rem 0;
  background: rgba(201,146,42,.06);
  border: 1px solid rgba(201,146,42,.2);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  animation: fadeIn .3s ease;
}
.persona-rec-inner { display: flex; flex-direction: column; gap: .6rem; }
.persona-rec-text { font-size: .875rem; color: var(--text-mid); line-height: 1.5; }
.persona-rec-tools { display: flex; flex-wrap: wrap; gap: .4rem; }
.persona-tool-tag {
  font-size: .72rem;
  font-weight: 600;
  padding: .2rem .55rem;
  background: var(--navy);
  color: var(--accent);
  border-radius: 5px;
  letter-spacing: .02em;
}

/* Recommended pricing card highlight */
.persona-recommended {
  border-color: var(--accent) !important;
  box-shadow: 0 8px 32px rgba(201,146,42,.2) !important;
  transform: translateY(-4px);
  position: relative;
  z-index: 2;
}
.persona-dimmed {
  opacity: .65;
}

/* Best for you ribbon */
.persona-ribbon {
  background: var(--accent);
  color: var(--navy);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .25rem .75rem;
  text-align: center;
  margin: -1px -1px .75rem;
  border-radius: 10px 10px 0 0;
}

/* Dashboard persona badge */
.persona-badge-display {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .7rem;
  font-weight: 700;
  padding: .2rem .55rem;
  background: rgba(201,146,42,.12);
  color: var(--accent);
  border-radius: 20px;
  margin-left: .5rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════════════════════════
   PL-03 — Universal Tool Chrome Components
   ═══════════════════════════════════════════════════════════════ */

.tk-seeded-preview {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin: 1rem 0;
  background: #fafbfc;
}
.tk-preview-label {
  font-size: .78rem;
  font-weight: 600;
  color: var(--text-light);
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .5rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.tk-preview-label svg { width: 14px; height: 14px; }

.tk-teaser-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: linear-gradient(135deg, #f8f6ff 0%, #fff9f0 100%);
  border: 1px solid rgba(124,58,237,.15);
  border-radius: 12px;
  padding: 1.25rem;
  margin: 1.5rem 0;
  overflow: hidden;
}
.tk-teaser-lock {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(124,58,237,.1);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #7c3aed;
}
.tk-teaser-lock svg { width: 16px; height: 16px; }
.tk-teaser-content { flex: 1; }
.tk-teaser-blurred {
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
  margin-bottom: .75rem;
}
.tk-teaser-fake-row {
  height: 11px;
  background: linear-gradient(90deg, #d1d5db 0%, #e5e7eb 50%, #d1d5db 100%);
  border-radius: 4px;
  margin-bottom: .45rem;
  width: 100%;
}
.tk-teaser-fake-row.short { width: 55%; }
.tk-teaser-fake-row.medium { width: 78%; }
.tk-teaser-cta { font-size: .85rem; color: var(--text-mid); line-height: 1.5; }
.tk-teaser-cta strong { color: #7c3aed; }
.tk-teaser-cta a { color: var(--accent); text-decoration: none; font-weight: 600; }
.tk-teaser-cta a:hover { text-decoration: underline; }

/* ===== Redact Pattern — locked premium sections ===== */
.tk-redact-panel {
  position: relative;
  border-radius: 12px;
  background: #0d1117;
  border: 1px solid rgba(255,255,255,.06);
  padding: 1.75rem 1.5rem 1.5rem;
  overflow: hidden;
  margin-top: 1.5rem;
}
.tk-redact-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 12px,
    rgba(255,255,255,.015) 12px,
    rgba(255,255,255,.015) 13px
  );
  pointer-events: none;
}
.tk-redact-lock {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.35);
  margin-bottom: 1.25rem;
}
.tk-redact-lock svg { width: 13px; height: 13px; flex-shrink: 0; }
.tk-redact-bars { display: flex; flex-direction: column; gap: .6rem; margin-bottom: 1.5rem; }
.tk-redact-bar {
  height: 10px;
  border-radius: 4px;
  background: rgba(255,255,255,.07);
  filter: blur(1.5px);
}
.tk-redact-bar.wide  { width: 92%; }
.tk-redact-bar.med   { width: 74%; }
.tk-redact-bar.short { width: 55%; }
.tk-redact-bar.xs    { width: 38%; }
.tk-redact-cta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1rem 1.25rem;
  border-radius: 10px;
  background: rgba(240,200,96,.06);
  border: 1px solid rgba(240,200,96,.2);
}
.tk-redact-cta-text { flex: 1; }
.tk-redact-cta-text strong {
  display: block;
  font-size: .88rem;
  font-weight: 700;
  color: white;
  margin-bottom: .2rem;
}
.tk-redact-cta-text span {
  font-size: .78rem;
  color: rgba(255,255,255,.45);
  line-height: 1.4;
}
.tk-redact-btn {
  flex-shrink: 0;
  font-size: .78rem;
  font-weight: 700;
  padding: .5rem 1.1rem;
  border-radius: 7px;
  background: #f0c860;
  color: #1a3a6e;
  border: none;
  cursor: pointer;
  transition: background .15s, transform .1s;
  white-space: nowrap;
}
.tk-redact-btn:hover { background: #f5d47a; transform: translateY(-1px); }

/* ===== Suite Context Bar — shows when inside a suite ===== */
#suite-context-bar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 200;
  background: var(--navy);
  border-bottom: 1px solid rgba(240,200,96,.15);
  padding: .6rem 1.25rem;
  align-items: center;
  gap: 1rem;
  font-size: .8rem;
}
#suite-context-bar.visible { display: flex; }
.suite-ctx-label {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.4);
  white-space: nowrap;
}
.suite-ctx-name {
  font-weight: 700;
  color: white;
  white-space: nowrap;
}
.suite-ctx-steps {
  display: flex;
  align-items: center;
  gap: .3rem;
  flex: 1;
}
.suite-ctx-step {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .72rem;
  color: rgba(255,255,255,.35);
  white-space: nowrap;
  padding: .2rem .55rem;
  border-radius: 5px;
  cursor: pointer;
  transition: all .15s;
}
.suite-ctx-step.active { color: white; background: rgba(255,255,255,.08); }
.suite-ctx-step.done { color: rgba(255,255,255,.55); }
.suite-ctx-step .step-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}
.suite-ctx-arrow { color: rgba(255,255,255,.2); font-size: .75rem; }
.suite-ctx-back {
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  background: none;
  border: none;
  cursor: pointer;
  padding: .25rem .5rem;
  border-radius: 5px;
  transition: color .15s;
  display: flex;
  align-items: center;
  gap: .3rem;
  flex-shrink: 0;
}
.suite-ctx-back:hover { color: white; background: rgba(255,255,255,.07); }

/* ===== Suite Rail Tabs ===== */
.suite-rail-tab {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  font-weight: 600;
  color: rgba(255,255,255,.45);
  background: none;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: .35rem .75rem;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
  font-family: var(--font-ui, 'DM Sans', sans-serif);
}
.suite-rail-tab:hover { color: rgba(255,255,255,.75); background: rgba(255,255,255,.06); }
.suite-rail-tab.active { color: white; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.12); }
.suite-tab-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }

/* ===== Suite Step Cards (workflow map) ===== */
.suite-step-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  cursor: pointer;
  transition: all .18s;
}
.suite-step-card:hover { transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0,0,0,.07); }
.suite-step-card.active { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,.08); }
.suite-step-card.done { border-color: #10b981; background: rgba(16,185,129,.02); }
.suite-step-num {
  width: 32px; height: 32px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700;
  flex-shrink: 0;
}
.suite-step-arrow {
  margin-left: auto;
  flex-shrink: 0;
  color: var(--text-light);
}

.tk-cross-tools {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  padding: 1.25rem 0;
  border-top: 1px solid var(--border);
  margin-top: 1.5rem;
}
.tk-cross-label {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-light);
  white-space: nowrap;
}
.tk-cross-btns { display: flex; gap: .5rem; flex-wrap: wrap; }
.tk-cross-btn {
  font-size: .78rem;
  font-weight: 600;
  padding: .35rem .85rem;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--white);
  color: var(--text-mid);
  cursor: pointer;
  transition: all .15s;
}
.tk-cross-btn:hover { border-color: var(--accent); color: var(--accent); background: rgba(201,146,42,.05); }

.tk-history-rail {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem 0;
  font-size: .8rem;
  color: var(--text-light);
  flex-wrap: wrap;
}
.tk-history-label { font-weight: 600; white-space: nowrap; }
.tk-history-items { display: flex; gap: .35rem; flex-wrap: wrap; }
.tk-history-chip {
  padding: .2rem .65rem;
  border-radius: 20px;
  background: var(--border);
  color: var(--text-mid);
  cursor: pointer;
  font-size: .75rem;
  transition: all .15s;
}
.tk-history-chip:hover { background: var(--accent); color: white; }

.tk-ai-narrative {
  display: flex;
  gap: 1rem;
  background: linear-gradient(135deg, #f5f3ff 0%, #faf5ff 100%);
  border: 1px solid rgba(124,58,237,.2);
  border-radius: 12px;
  padding: 1.25rem;
  margin: 1.5rem 0;
}
.tk-ai-narrative.hidden { display: none; }
.tk-narrative-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: rgba(124,58,237,.12);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #7c3aed;
}
.tk-narrative-icon svg { width: 18px; height: 18px; }
.tk-narrative-text { font-size: .9rem; color: var(--text-mid); line-height: 1.6; }

.tk-export-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  font-weight: 600;
  padding: .6rem 1.25rem;
  border-radius: 8px;
  background: var(--accent);
  color: var(--navy);
  border: none;
  cursor: pointer;
  transition: all .15s;
  margin-top: 1rem;
}
.tk-export-btn:hover { background: var(--accent-hover); transform: translateY(-1px); }
.tk-export-btn svg { width: 15px; height: 15px; }

.tk-wizard-steps {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 1.5rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: .875rem 1.25rem;
}
.tk-step {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  color: var(--text-light);
  flex: 1;
}
.tk-step.active { color: var(--accent); font-weight: 700; }
.tk-step.done { color: var(--text-light); }
.tk-step-num {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem;
  font-weight: 800;
  flex-shrink: 0;
}
.tk-step.active .tk-step-num { background: var(--accent); color: var(--navy); }
.tk-step.done .tk-step-num { background: #059669; color: white; }
.tk-step-arrow { color: var(--text-muted); font-size: .85rem; margin: 0 .5rem; }

.tk-ai-rec-panel {
  background: linear-gradient(135deg, #0f172a 0%, #1a1040 100%);
  border-radius: 14px;
  padding: 1.25rem;
  color: white;
  min-width: 200px;
  margin-top: 1rem;
}
.tk-rec-header {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #a78bfa;
  margin-bottom: 1rem;
}
.tk-rec-header svg { width: 14px; height: 14px; }
.tk-rec-item {
  padding: .7rem;
  border-radius: 8px;
  background: rgba(255,255,255,.05);
  margin-bottom: .5rem;
  font-size: .82rem;
  line-height: 1.5;
  border-left: 2px solid #7c3aed;
}
.tk-rec-loading { font-size: .82rem; color: rgba(255,255,255,.4); font-style: italic; }

.tk-anomaly-flag {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .72rem;
  font-weight: 600;
  color: #d97706;
  background: rgba(217,119,6,.1);
  border-radius: 4px;
  padding: .15rem .45rem;
  margin-left: .4rem;
  vertical-align: middle;
}
.tk-anomaly-flag svg { width: 12px; height: 12px; }

.tk-bulk-toolbar {
  display: flex;
  align-items: center;
  gap: .75rem;
  background: var(--navy);
  color: white;
  padding: .7rem 1.25rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  font-size: .85rem;
  flex-wrap: wrap;
}
.tk-bulk-count { font-weight: 700; margin-right: .25rem; }
.tk-bulk-toolbar button {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .4rem .9rem;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  color: white;
  font-size: .8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.tk-bulk-toolbar button:hover { background: rgba(255,255,255,.15); }
.tk-bulk-toolbar button svg { width: 13px; height: 13px; }

.tk-share-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .8rem;
  font-weight: 600;
  padding: .4rem .9rem;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--white);
  color: var(--text-mid);
  cursor: pointer;
  transition: all .15s;
}
.tk-share-btn:hover { border-color: var(--accent); color: var(--accent); }
.tk-share-btn svg { width: 14px; height: 14px; }

@media print {
  .tk-print-export { display: block !important; }
  .nav, .sidebar, .tool-help, .tk-teaser-row, .tk-cross-tools, .tk-history-rail { display: none !important; }
}
#global-breadcrumb-bar { display: none !important; }
