
:root{
  --bg:#f6f8fc; --card:#ffffff; --line:#e6eaf2; --text:#0f172a; --muted:#64748b;
  --navy:#081a46; --blue:#2563eb; --blue-2:#4f8bff; --success:#16a34a; --warning:#f59e0b; --danger:#dc2626;
  --shadow:0 10px 30px rgba(15,23,42,.06);
  --radius:18px;
}
*{box-sizing:border-box} html,body{margin:0;padding:0} body{font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Arial, sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:24px}
.page-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:26px}
.auth-card{width:min(460px,100%);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:28px}
.auth-logo{width:220px;margin:0 auto 18px auto}.auth-card h1,.auth-card h2{margin:0 0 8px}.auth-card p{margin:0 0 18px;color:var(--muted)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 22px}
.brand-top{display:flex;align-items:center;gap:12px}.top-logo{width:210px}
.hero{padding:42px 0 34px}.hero-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:22px;align-items:center}
.hero h1{font-size:52px;line-height:1.05;margin:12px 0 14px}.hero p{color:var(--muted);font-size:18px;max-width:760px}
.badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;border:1px solid transparent}
.badge.soft{background:#eef4ff;color:#1948a4;border-color:#d7e3ff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:0;border-radius:14px;padding:12px 18px;font-weight:800;font-size:15px;background:var(--navy);color:#fff;box-shadow:0 10px 20px rgba(8,26,70,.12)}
.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.btn.ghost{background:#eff5ff;color:var(--navy);box-shadow:none}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric .k{font-size:13px;color:var(--muted);font-weight:700}.metric .v{font-size:22px;font-weight:900;margin-top:8px;line-height:1.1}.metric .v.good{color:var(--success)}.metric .v.warn{color:var(--warning)}.metric .v.bad{color:var(--danger)}
label{display:block;font-weight:800;font-size:14px;margin:14px 0 8px} input,select{width:100%;height:48px;border-radius:13px;border:1px solid #d4dae5;background:#fff;padding:0 14px;font-size:15px;color:var(--text)} input[type=checkbox]{width:auto;height:auto;accent-color:var(--navy)}
.help{font-size:12px;color:var(--muted);margin-top:6px}.muted{color:var(--muted)} .good{color:var(--success)} .bad{color:var(--danger)} .warn{color:var(--warning)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;background:#fff;border-right:1px solid var(--line);padding:24px 18px 20px;display:flex;flex-direction:column;gap:20px}
.sidebar-brand{padding:8px 8px 18px;border-bottom:1px solid var(--line)} .sidebar-logo{width:185px}
.side-nav{display:flex;flex-direction:column;gap:8px} .side-link{display:flex;align-items:center;padding:12px 14px;border-radius:14px;color:#233252;font-weight:700} .side-link:hover{background:#f2f6ff} .side-link.active{background:#edf3ff;color:#0b2668}
.side-spacer{flex:1}
.main{margin-left:270px;padding:26px} .topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px} .topbar h1{margin:6px 0 0;font-size:34px}.eyebrow{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.verdict{background:linear-gradient(135deg,#071735 0%,#081f4b 100%);color:#fff;border-radius:24px;padding:28px 28px 24px;box-shadow:0 20px 40px rgba(8,26,70,.18)} .verdict .label{font-size:14px;opacity:.92;letter-spacing:.04em}.verdict-body{display:flex;align-items:center;gap:18px;margin:10px 0 16px}.status-dot{width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08)} .status-dot.scale{background:#22c55e}.status-dot.hold{background:#facc15}.status-dot.optimize{background:#fb923c}.status-dot.kill{background:#ef4444}.verdict h2{margin:0;font-size:58px;line-height:1}
.verdict p{margin:0;color:rgba(255,255,255,.88);font-size:18px;max-width:800px}
.context-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.context-pill{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.18)} .pill-objective{background:rgba(59,130,246,.2);color:#e9f1ff;border-color:rgba(147,197,253,.28)} .pill-market{background:rgba(255,255,255,.14);color:#fff} .pill-funnel{background:rgba(168,85,247,.2);color:#f4ebff;border-color:rgba(216,180,254,.32)}
.health-row{display:grid;grid-template-columns:130px 1fr 110px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)} .health-row:last-child{border-bottom:0}.bar{height:8px;background:#e7edf7;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#4f8bff,#091a48)}
.table{width:100%;border-collapse:collapse} .table th,.table td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top} .table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f8fafc;padding:2px 7px;border-radius:8px;border:1px solid var(--line)}
.notice{padding:16px;border-radius:16px;background:#f8fbff;border:1px solid #dce7ff}.notice b{display:block;margin-bottom:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quick-actions p, .dont-actions p, .recheck p{margin:0;line-height:1.7}
.hero-preview{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.hero-mini-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mini-logo{width:150px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap}.hero-tags span{font-size:11px;font-weight:800;background:#eef4ff;color:#214c9d;padding:7px 10px;border-radius:999px}
.result-mini{border-radius:18px;background:linear-gradient(135deg,#071735 0%,#0c295e 100%);padding:18px;color:#fff}.result-mini h3{font-size:36px;margin:0 0 10px}.result-mini p{margin:0;color:rgba(255,255,255,.85)}
.actions-inline{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.text-center{text-align:center}
@media (max-width:1050px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr}.main{margin-left:0}.sidebar{position:relative;width:auto;height:auto;min-height:auto}.page-shell{display:block}}
@media (max-width:760px){.g2,.g3,.g4,.split{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch}.verdict h2{font-size:44px}.hero h1{font-size:38px}.auth-logo{width:180px}.sidebar-logo{width:160px}}


/* Phase 2.6 — comparison & improvement tracking */
.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}.compare-side{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.compare-vs{display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:900}.delta{font-size:12px;font-weight:900;border-radius:999px;padding:6px 9px;display:inline-flex;align-items:center;gap:4px}.delta.up{background:#ecfdf3;color:#067647}.delta.down{background:#fef3f2;color:#b42318}.delta.flat{background:#f2f4f7;color:#475467}.delta.neutral{background:#eff4ff;color:#3153a4}.comparison-table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.comparison-table th{font-size:12px;color:var(--muted);text-transform:uppercase}.progression{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.verdict-chip{display:inline-flex;padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px}.verdict-chip.scale{background:#ecfdf3;color:#067647}.verdict-chip.hold{background:#fffaeb;color:#b54708}.verdict-chip.optimize{background:#fff4ed;color:#c4320a}.verdict-chip.kill{background:#fef3f2;color:#b42318}.arrow-mid{color:#98a2b3;font-weight:900}.improvement-hero{background:linear-gradient(135deg,#eff6ff,#f8fbff);border:1px solid #dbe7ff;border-radius:20px;padding:20px}.improvement-score{font-size:42px;font-weight:950;line-height:1}.select-compact{height:42px;min-width:220px}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}
@media(max-width:760px){.compare-grid{grid-template-columns:1fr}.compare-vs{padding:0}.timeline-item{grid-template-columns:1fr}}


/* Phase 2.7 — Action Playbook */
.playbook-hero{background:linear-gradient(135deg,#f8fbff,#eef4ff);border:1px solid #dce7ff;border-radius:22px;padding:24px}.playbook-hero h2{font-size:32px;margin:8px 0}.playbook-icon{font-size:34px}.playbook-progress{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-top:18px}.progress-track{height:10px;background:#e7edf7;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#081a46);border-radius:99px}.checklist{display:flex;flex-direction:column;gap:12px}.check-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:.2s}.check-item.done{background:#f5fbf7;border-color:#ccebd8}.check-item input{width:19px;height:19px;margin-top:3px}.check-item h4{margin:0 0 5px}.check-item p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}.playbook-list{margin:0;padding-left:20px}.playbook-list li{margin:10px 0;line-height:1.55}.signal{display:flex;gap:9px;align-items:flex-start;margin:10px 0}.signal:before{content:'✓';width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ecfdf3;color:#067647;font-weight:900;flex:0 0 22px}.sticky-playbook-actions{position:sticky;bottom:16px;margin-top:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 16px 36px rgba(15,23,42,.12);display:flex;justify-content:space-between;gap:12px;align-items:center}.playbook-cta{margin-top:14px;padding:16px;background:linear-gradient(135deg,#071735,#0c295e);color:#fff;border-radius:18px}.playbook-cta p{color:rgba(255,255,255,.8)}
@media(max-width:760px){.sticky-playbook-actions{position:relative;flex-direction:column;align-items:stretch}.playbook-progress{grid-template-columns:1fr}.playbook-hero h2{font-size:26px}}

/* Phase 2.8 — Campaign Health Score + Priority System */
.health-score-card{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;background:linear-gradient(135deg,#fff,#f7faff)}
.score-ring{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;background:conic-gradient(#2563eb var(--score-deg),#e8eef8 0)}
.score-ring:after{content:'';position:absolute;width:118px;height:118px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf0f5}
.score-ring-inner{position:relative;z-index:1;text-align:center}.score-ring-number{font-size:38px;font-weight:950;line-height:1}.score-ring-denom{font-size:12px;color:var(--muted);font-weight:800}.health-grade{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.health-good{color:#067647}.health-ok{color:#2563eb}.health-watch{color:#b54708}.health-critical{color:#b42318}
.priority-stack{display:flex;flex-direction:column;gap:12px}.priority-item{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.priority-rank{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:950;background:#edf3ff;color:#0b3c93}.priority-item h4{margin:0 0 5px}.priority-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.priority-score{font-weight:900;font-size:13px;padding:7px 10px;border-radius:999px;background:#f4f6f9}
.score-explain{padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.6}
.mini-health{display:flex;align-items:center;gap:10px}.mini-health-value{font-size:24px;font-weight:950}.mini-grade{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px;background:#eef4ff;color:#1948a4}
@media(max-width:760px){.health-score-card{grid-template-columns:1fr}.score-ring{margin:auto}.priority-item{grid-template-columns:42px 1fr}.priority-score{grid-column:2}}

/* Phase 2.9 — Portfolio Dashboard */
.command-hero{background:linear-gradient(135deg,#071735,#0b2e68);color:#fff;border-radius:24px;padding:24px;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:0 20px 40px rgba(8,26,70,.16)}
.command-hero h2{margin:4px 0 6px;font-size:30px}.command-hero p{margin:0;color:rgba(255,255,255,.78)}
.command-range{display:flex;gap:8px;flex-wrap:wrap}.range-btn{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;padding:8px 12px;border-radius:999px;font-weight:800;cursor:pointer}.range-btn.active{background:#fff;color:#0b2e68}
.portfolio-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:18px}.portfolio-kpis .card{padding:17px}.portfolio-kpis .v{font-size:24px}
.verdict-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.verdict-chip{padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff}.verdict-chip .n{font-size:26px;font-weight:950}.verdict-chip .t{font-size:12px;color:var(--muted);font-weight:800;margin-top:4px}
.attention-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}
.attention-list{display:flex;flex-direction:column;gap:12px}.attention-item{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.attention-item h4{margin:0 0 6px}.attention-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.attention-score{font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px;background:#fff1f0;color:#b42318}
.command-table-wrap{overflow:auto}.command-table{width:100%;border-collapse:collapse;min-width:960px}.command-table th,.command-table td{padding:13px 10px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.command-table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.command-table tr:hover{background:#f8fbff}
.health-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900;background:#f3f6fb}.health-dot{width:8px;height:8px;border-radius:50%}.dot-good{background:#16a34a}.dot-ok{background:#2563eb}.dot-watch{background:#f59e0b}.dot-bad{background:#dc2626}
.priority-label{font-weight:800}.status-mini{font-weight:900}.status-scale{color:#067647}.status-hold{color:#b54708}.status-optimize{color:#c2410c}.status-kill{color:#b42318}
.empty-state{padding:26px;text-align:center;color:var(--muted)}
@media(max-width:1200px){.portfolio-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.attention-grid{grid-template-columns:1fr}.portfolio-kpis{grid-template-columns:repeat(2,1fr)}.verdict-strip{grid-template-columns:repeat(2,1fr)}.command-hero{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.portfolio-kpis{grid-template-columns:1fr}.verdict-strip{grid-template-columns:1fr}}

/* Phase 3 — Subscription */
.plan-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:950;letter-spacing:.06em}
.plan-pill.free{background:#f2f4f7;color:#475467}.plan-pill.pro{background:#e8f0ff;color:#1646a2;border:1px solid #cddcff}
.pro-lock{border:1px dashed #c7d4ec;background:linear-gradient(135deg,#f8fbff,#fff);border-radius:18px;padding:20px;text-align:center}
.pro-lock h3{margin:5px 0}.lock-icon{font-size:27px}.pricing-wrap{max-width:940px;margin:auto}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.pricing-card{position:relative}.pricing-card.featured{border:2px solid #1f5ed6;box-shadow:0 22px 46px rgba(37,99,235,.14)}.popular{position:absolute;right:18px;top:18px;background:#0b2e68;color:#fff;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900}.price{font-size:44px;font-weight:950;letter-spacing:-.04em}.price small{font-size:14px;color:var(--muted);font-weight:700}.feature-list{list-style:none;padding:0;margin:20px 0}.feature-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.feature-list li:before{content:'✓';font-weight:950;color:#16a34a;margin-right:9px}
.billing-box{display:flex;justify-content:space-between;gap:16px;align-items:center}.checkout-loading{opacity:.65;pointer-events:none}
@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}.billing-box{flex-direction:column;align-items:flex-start}}

.plan-pill.pending{background:#fff7e8;color:#b54708;border:1px solid #fedf89}.plan-pill.expired{background:#fff1f0;color:#b42318;border:1px solid #fecdca}
.billing-summary{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.billing-plan-hero{background:linear-gradient(135deg,#071735,#0b2e68);color:#fff}.billing-plan-hero p{color:rgba(255,255,255,.72)}
.status-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-dot-sm{width:10px;height:10px;border-radius:50%}.status-dot-sm.active{background:#22c55e}.status-dot-sm.pending_payment{background:#f59e0b}.status-dot-sm.expired,.status-dot-sm.cancelled{background:#ef4444}.status-dot-sm.free{background:#98a2b3}
.tx-table-wrap{overflow:auto}.tx-table{width:100%;border-collapse:collapse;min-width:850px}.tx-table th,.tx-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.tx-table th{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-user{border:1px solid var(--line);border-radius:15px;padding:14px;margin-top:10px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.btn.small{padding:8px 11px;font-size:12px;border-radius:10px}
.expired-banner{border:1px solid #fecdca;background:#fff7f6;border-radius:18px;padding:18px}.pending-banner{border:1px solid #fedf89;background:#fffaeb;border-radius:18px;padding:18px}.ref-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;background:#f2f4f7;padding:5px 8px;border-radius:8px}
@media(max-width:850px){.billing-summary,.admin-grid{grid-template-columns:1fr}}

/* Phase 3.2 — Direct Payment */
.payment-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#f8fbff,#fff)}.payment-hero h2{font-size:32px;margin:5px 0}.amount-highlight{color:#174ea6}.pay-ref{text-align:right;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.pay-ref b{display:block;font-size:18px;letter-spacing:.05em}.copy-mini{border:0;background:none;color:#175cd3;font-weight:800;cursor:pointer}.bank-card h3{font-size:24px;margin:5px 0}.bank-number{font-size:25px;font-weight:950;letter-spacing:.04em;margin:12px 0 4px;word-break:break-all}.pay-exact{margin-top:15px;padding:11px;border-radius:12px;background:#eef4ff;color:#174ea6}.qris-card{text-align:center}.qris-img{width:min(360px,100%);margin:14px auto;border-radius:13px;border:1px solid var(--line)}.payment-steps{display:grid;grid-template-columns:34px 1fr;gap:10px 12px;align-items:center}.payment-steps span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0b2e68;color:#fff;font-weight:900}.payment-steps p{margin:0}.payment-admin-card{background:#fbfdff}.payment-admin-amount{font-size:28px;font-weight:950;margin:9px 0;color:#174ea6}@media(max-width:760px){.payment-hero{flex-direction:column;align-items:flex-start}.pay-ref{text-align:left;width:100%}}

/* Phase 3.3 — Beta Analytics */
.beta-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.funnel-stack{display:flex;flex-direction:column;gap:13px;margin-top:18px}
.funnel-row{display:grid;grid-template-columns:145px 1fr 58px;gap:12px;align-items:center}
.funnel-label{display:flex;flex-direction:column;gap:2px;font-size:13px}.funnel-label span{font-size:11px;color:var(--muted)}
.funnel-bar{height:13px;background:#eef2f7;border-radius:999px;overflow:hidden}.funnel-bar span{height:100%;display:block;background:linear-gradient(90deg,#2563eb,#0b2e68);border-radius:999px}
.funnel-conv{text-align:right;font-size:12px;font-weight:900;color:#475467}
.beta-signal{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.beta-signal:last-child{border-bottom:0}
.beta-signal-value{font-size:23px;font-weight:950}
.validation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.validation-card{border:1px solid var(--line);background:#fbfcfe;border-radius:16px;padding:16px}.validation-card .goal-value{font-size:27px;font-weight:950;margin:5px 0}.validation-card p{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:0}
.signal-feed{display:flex;flex-direction:column}.signal-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.signal-row:last-child{border-bottom:0}
@media(max-width:1050px){.beta-kpis{grid-template-columns:repeat(2,1fr)}.validation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.beta-kpis,.validation-grid{grid-template-columns:1fr}.funnel-row{grid-template-columns:110px 1fr 45px}}
