/* ================================================
   Brain Control Panel — Premium Dark Dashboard
   ================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-card: #1e293b;
    --bg-hover: #263348;
    --border: #334155;
    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --accent: #10b981;
    --accent-dim: #064e3b;
    --amber: #f59e0b;
    --amber-dim: #451a03;
    --red: #ef4444;
    --red-dim: #450a0a;
    --blue: #3b82f6;
    --sidebar-width: 230px;
    --log-width: 280px;
    /* Semantic status colors */
    --success: #10b981;
    --success-bg: rgba(16, 185, 129, 0.15);
    --warning: #f59e0b;
    --warning-bg: rgba(245, 158, 11, 0.15);
    --danger: #ef4444;
    --danger-bg: rgba(239, 68, 68, 0.15);
    --info: #3b82f6;
    --info-bg: rgba(59, 130, 246, 0.15);
    /* Spacing scale */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    /* Border radius scale */
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --radius-xl: 12px;
}

body {
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    display: flex;
    min-height: 100vh;
    font-size: 14px;
    line-height: 1.5;
}

/* ── Shared Tool Utilities ─────────────────────────────────────────
   Consolidated from duplicate per-tool definitions (R51-R110).
   Individual tool selectors below still work for backwards compat. */

/* Shared save button (green accent, used by 30+ tools) */
.bmr-save-btn,.amc-save-btn,.scs-save-btn,.clm-save-btn,
.psp-save-btn,.cfd-save-btn,.ffr-save-btn,.pmc-save-btn,
.abh-save-btn,.ama-save-btn,.fpd-save-btn,.apb-save-btn,
.bst-save-btn,.dgp-save-btn,.lpt-save-btn,.ams-save-btn,
.ca-save-btn,.prb-save-btn,.sp-save-btn,.cf-save-btn,
.cab-save-btn,.gp-save-btn,.reg-save-btn,.al-save-btn,
.vbb-save-btn,.aat-save-btn,.waf-save-btn,.sbs-save-btn,
.ecg-save-btn,.bve-save-btn,.uro-save-btn,.kwd-save-btn,
.awf-save-btn,.dgd-save-btn,.grg-save-btn,
.rsm-save-btn,.ltr-save-btn,.cva-save-btn,.ors-save-btn,
.asb2-save-btn,.qs25-save-btn,.csw-save-btn,.chm-save-btn,
.cjt-save-btn,.iso-save-btn,.brm-save-btn,.cca-save-btn,
.bsa-save-btn,.aeg-save-btn,.wwn-save-btn,.tma-save-btn,
.psi-save-btn,.mss-save-btn,.ptp-save-btn {
    padding: 8px 20px;
    border-radius: var(--radius-md);
    border: none;
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

/* Shared clear/reset button (used by 30+ tools) */
.bmr-clear,.amc-clear,.scs-clear,.clm-clear,
.psp-clear,.cfd-clear,.ffr-clear,.pmc-clear,
.abh-clear,.ama-clear,.fpd-clear,.apb-clear,
.bst-clear,.dgp-clear,.lpt-clear,.ams-clear {
    padding: 8px 16px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    cursor: pointer;
}

/* Shared button row (used by 30+ tools) */
.bmr-btns,.amc-btns,.scs-btns,.clm-btns,
.psp-btns,.cfd-btns,.ffr-btns,.pmc-btns,
.abh-btns,.ama-btns,.fpd-btns,.apb-btns,
.bst-btns,.dgp-btns,.lpt-btns,.ams-btns {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

/* Shared checklist item (used by 15+ tools) */
.bmr-check,.amc-check,.clm-check,.ffr-check,
.pmc-check,.fpd-check,.bst-check,.dgp-check,
.lpt-check,.ams-check {
    display: block;
    padding: 5px 8px;
    border-radius: var(--radius-sm);
    font-size: 12px;
    cursor: pointer;
    color: var(--text-secondary);
    margin: 3px 0;
}
.bmr-check:hover,.amc-check:hover,.clm-check:hover,.ffr-check:hover,
.pmc-check:hover,.fpd-check:hover,.bst-check:hover,.dgp-check:hover,
.lpt-check:hover,.ams-check:hover { background: rgba(99,102,241,.04); }
.bmr-check-done,.amc-check-done,.clm-check-done,.ffr-check-done,
.pmc-check-done,.fpd-check-done,.bst-check-done,.dgp-check-done,
.lpt-check-done,.ams-check-done { opacity: .5; text-decoration: line-through; }

/* Shared tool container (max-width 800px center, used by most tools) */
.bmr-container,.amc-container,.abh-container,.ama-container,
.fpd-container,.bst-container,.lpt-container,.ams-container,
.clm-container,.cfd-container {
    max-width: 800px;
    margin: 0 auto;
}

/* ── Status badge utilities ──────────────────────────────────── */
.status-success { color: var(--success); }
.status-warning { color: var(--warning); }
.status-danger  { color: var(--danger); }
.status-info    { color: var(--info); }
.bg-success { background: var(--success-bg); }
.bg-warning { background: var(--warning-bg); }
.bg-danger  { background: var(--danger-bg); }
.bg-info    { background: var(--info-bg); }

/* ---- SIDEBAR ---- */
.sidebar {
    width: var(--sidebar-width);
    background: var(--bg-secondary);
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    overflow-y: auto;
    z-index: 100;
}

.sidebar-header { padding: 20px 16px 16px; }

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 15px;
    color: var(--text-primary);
}

.sidebar-section-title {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    padding: 16px 16px 6px;
}

.account-list { padding: 0 8px 8px; }

.account-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
    color: var(--text-secondary);
    font-size: 13px;
}
.account-item:hover { background: var(--bg-hover); color: var(--text-primary); }
.account-item.active { background: var(--accent-dim); color: var(--accent); }

.account-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    flex-shrink: 0;
}
.account-dot.amber { background: var(--amber); }
.account-dot.red { background: var(--red); }

.account-count {
    margin-left: auto;
    background: var(--bg-primary);
    color: var(--text-muted);
    border-radius: 10px;
    padding: 1px 7px;
    font-size: 11px;
}

.sidebar-footer {
    margin-top: auto;
    padding: 16px;
    border-top: 1px solid var(--border);
}

.last-sync {
    font-size: 11px;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.btn-refresh {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 8px 12px;
    background: var(--bg-hover);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 12px;
    font-family: inherit;
    transition: all 0.15s;
}
.btn-refresh:hover { background: var(--accent-dim); color: var(--accent); border-color: var(--accent); }

/* ---- MAIN ---- */
.main {
    margin-left: var(--sidebar-width);
    flex: 1;
    min-height: 100vh;
}

/* ---- TOP BAR ---- */
.top-bar {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 50;
    flex-wrap: wrap;
}

.top-bar-left { display: flex; align-items: center; gap: 10px; }

.top-bar-left h1 { font-size: 18px; font-weight: 600; }

.account-badge {
    background: var(--accent-dim);
    color: var(--accent);
    border-radius: 20px;
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 600;
}

.metrics-bar {
    display: flex;
    gap: 12px;
    flex: 1;
    justify-content: center;
    flex-wrap: wrap;
}

.metric-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px 14px;
    min-width: 90px;
}
.metric-chip .label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.metric-chip .value { font-size: 17px; font-weight: 700; margin-top: 2px; }
.metric-chip .value.green { color: var(--accent); }
.metric-chip .value.amber { color: var(--amber); }
.metric-chip .value.red { color: var(--red); }

.top-bar-right select, .date-dropdown {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    padding: 7px 12px;
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}

/* ---- FILTER TABS ---- */
.filter-tabs {
    display: flex;
    gap: 4px;
    padding: 14px 24px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
    overflow-x: auto;
}

.tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid transparent;
    background: none;
    color: var(--text-secondary);
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.15s;
}
.tab:hover { background: var(--bg-hover); color: var(--text-primary); }
.tab.active { background: var(--accent-dim); color: var(--accent); border-color: var(--accent); }

.badge {
    background: var(--accent);
    color: #000;
    border-radius: 10px;
    padding: 0 6px;
    font-size: 10px;
    font-weight: 700;
}
.badge.badge-red { background: var(--red); color: white; }
.badge.badge-amber { background: var(--amber); color: #000; }
.badge.badge-green { background: var(--green, #27ae60); color: white; }
.badge.badge-yellow { background: var(--amber, #f39c12); color: #000; }
.badge.badge-blue { background: var(--accent, #3498db); color: white; }

/* ---- BULK BAR ---- */
.bulk-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    background: var(--accent-dim);
    border-bottom: 1px solid var(--accent);
    font-size: 13px;
    color: var(--text-primary);
}

.perf-table th.num-header {
    text-align: right;
}


.btn-approve-bulk, .btn-dismiss-bulk, .btn-ghost {
    padding: 6px 14px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.15s;
}
.btn-approve-bulk { background: var(--accent); color: #000; }
.btn-approve-bulk:hover { background: #059669; }
.btn-dismiss-bulk { background: var(--bg-hover); color: var(--text-secondary); border: 1px solid var(--border); }
.btn-ghost { background: none; color: var(--text-muted); }
.btn-ghost:hover { color: var(--text-primary); }

/* ---- FEED ---- */
.feed {
    padding: 20px 24px;
    flex: 1;
}

.feed-section { margin-bottom: 28px; }

.feed-section-title {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.feed-section-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border);
}

.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 12px;
}

/* ---- RECOMMENDATION CARD ---- */
.rec-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px;
    transition: border-color 0.15s, transform 0.1s;
    position: relative;
    cursor: default;
}
.rec-card:hover { border-color: #475569; transform: translateY(-1px); }
.rec-card.selected { border-color: var(--accent); }
.rec-card.applying { opacity: 0.6; pointer-events: none; }
.rec-card.approved { border-color: var(--accent); background: var(--accent-dim); }
.rec-card.dismissed { opacity: 0.3; transform: scale(0.98); pointer-events: none; }

.card-type-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 12px;
    padding: 2px 10px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}
.type-negative { background: var(--red-dim); color: var(--red); }
.type-keyword { background: var(--accent-dim); color: var(--accent); }
.type-wasted { background: var(--amber-dim); color: var(--amber); }
.type-anomaly { background: #1e1b4b; color: #818cf8; }
.type-health { background: #162032; color: var(--blue); }

.card-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--text-primary);
}

.card-path {
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.card-stats {
    display: flex;
    gap: 14px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.stat {
    display: flex;
    flex-direction: column;
}
.stat .stat-label { font-size: 10px; color: var(--text-muted); }
.stat .stat-value { font-size: 13px; font-weight: 600; }
.stat .stat-value.red { color: var(--red); }
.stat .stat-value.green { color: var(--accent); }
.stat .stat-value.amber { color: var(--amber); }

.card-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.btn-approve {
    flex: 1;
    padding: 8px;
    background: var(--accent);
    color: #000;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    transition: background 0.15s;
}
.btn-approve:hover { background: #059669; }

.btn-dismiss {
    padding: 8px 14px;
    background: var(--bg-hover);
    color: var(--text-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    transition: all 0.15s;
}
.btn-dismiss:hover { border-color: var(--red); color: var(--red); }

.dismiss-dropdown { position: relative; display: inline-flex; }
.btn-dismiss-arrow {
    padding: 8px 6px; background: var(--bg-hover); color: var(--text-secondary);
    border: 1px solid var(--border); border-left: none; border-radius: 0 8px 8px 0;
    cursor: pointer; font-family: inherit; font-size: 11px; transition: all 0.15s;
}
.dismiss-dropdown .btn-dismiss { border-radius: 8px 0 0 8px; }
.btn-dismiss-arrow:hover { border-color: var(--red); color: var(--red); }
.dismiss-menu {
    position: absolute; top: 100%; right: 0; z-index: 100;
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px;
    padding: 4px 0; min-width: 180px; box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.dismiss-menu button {
    display: block; width: 100%; padding: 8px 14px; background: none; border: none;
    color: var(--text-secondary); font-family: inherit; font-size: 12px;
    text-align: left; cursor: pointer; transition: all 0.1s;
}
.dismiss-menu button:hover { background: var(--bg-hover); color: var(--text-primary); }

/* Account Optimizer (Opteo-style) */
.optimizer-container { max-width: 800px; }
.optimizer-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px 24px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 12px; margin-bottom: 16px;
}
.optimizer-account-name { font-size: 20px; font-weight: 700; color: var(--text-primary); margin-bottom: 8px; }
.optimizer-metrics { display: flex; gap: 16px; flex-wrap: wrap; }
.optimizer-metric { font-size: 13px; color: var(--text-secondary); }
.optimizer-metric .green { color: var(--green); }
.optimizer-metric .amber { color: var(--warning); }
.optimizer-metric .red { color: var(--red); }
.optimizer-progress { text-align: center; min-width: 80px; }
.optimizer-count { font-size: 36px; font-weight: 800; color: var(--accent); line-height: 1; }
.optimizer-count-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.optimizer-empty {
    text-align: center; padding: 60px 20px; background: var(--bg-card);
    border: 1px solid var(--border); border-radius: 12px; margin-top: 16px;
}
.optimizer-empty h3 { font-size: 18px; color: var(--text-primary); margin-bottom: 8px; }
.optimizer-empty p { color: var(--text-muted); }
.optimizer-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.optimizer-chip {
    padding: 6px 14px; border-radius: 20px; border: 1px solid var(--border);
    background: var(--bg-card); color: var(--text-secondary); font-size: 12px;
    cursor: pointer; transition: all 0.15s; font-family: inherit;
}
.optimizer-chip:hover { border-color: var(--accent); color: var(--accent); }
.optimizer-chip.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.optimizer-card {
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px;
    padding: 20px 24px; margin-bottom: 12px; transition: border-color 0.15s;
}
.optimizer-card:hover { border-color: var(--accent); }
.optimizer-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.optimizer-card-num { font-size: 11px; color: var(--text-muted); font-weight: 500; }
.optimizer-card-title { font-size: 15px; font-weight: 600; color: var(--text-primary); margin-bottom: 6px; }
.optimizer-card-desc { font-size: 13px; color: var(--text-secondary); margin-bottom: 10px; }
.optimizer-card-metrics { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--text-secondary); margin-bottom: 10px; }
.optimizer-card-recommendation {
    font-size: 12px; color: var(--accent); padding: 8px 12px;
    background: rgba(99, 102, 241, 0.08); border-radius: 6px; margin-bottom: 12px;
}
.optimizer-card-actions { display: flex; gap: 8px; align-items: center; }
.optimizer-quicklinks { margin-top: 24px; }
.optimizer-quicklinks-title { font-size: 14px; font-weight: 600; color: var(--text-secondary); margin-bottom: 12px; }
.optimizer-quicklinks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.optimizer-quicklink {
    padding: 12px 16px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 8px; color: var(--text-secondary); font-family: inherit;
    font-size: 13px; cursor: pointer; transition: all 0.15s; text-align: left;
}
.optimizer-quicklink:hover { border-color: var(--accent); color: var(--text-primary); }

.card-select {
    position: absolute;
    top: 12px;
    right: 12px;
    accent-color: var(--accent);
}

/* ---- SKELETON LOADERS ---- */
@keyframes skeleton-pulse {
    0% { opacity: 0.6; }
    50% { opacity: 0.3; }
    100% { opacity: 0.6; }
}
.skeleton { animation: skeleton-pulse 1.5s ease-in-out infinite; background: var(--bg-hover); border-radius: 6px; }
.skeleton-row { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.skeleton-cell { height: 16px; background: var(--bg-hover); border-radius: 4px; animation: skeleton-pulse 1.5s ease-in-out infinite; }
.skeleton-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 20px; margin-bottom: 12px; }
.skeleton-card .skeleton-line { height: 14px; margin-bottom: 10px; }
.skeleton-card .skeleton-line:first-child { width: 40%; height: 18px; }
.skeleton-card .skeleton-line:nth-child(2) { width: 80%; }
.skeleton-card .skeleton-line:last-child { width: 60%; }
.skeleton-line { background: var(--bg-hover); border-radius: 4px; animation: skeleton-pulse 1.5s ease-in-out infinite; }

/* Tool panel loading state */
.tool-loading {
    display: flex; flex-direction: column; gap: 12px; padding: 20px 0;
}

/* ---- DATA FRESHNESS ---- */
.freshness-badge {
    display: inline-block; padding: 2px 8px; border-radius: 10px;
    font-size: 10px; font-weight: 600; margin-left: 6px;
}
.freshness-fresh { background: rgba(16,185,129,0.15); color: var(--green); }
.freshness-stale { background: rgba(245,158,11,0.15); color: var(--warning); }
.freshness-old { background: rgba(239,68,68,0.15); color: var(--red); }

/* Stale Data Warning Banner */
.stale-data-banner { display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:8px; margin-bottom:12px; font-size:13px; }
.stale-info { background:rgba(99,102,241,0.1); border:1px solid rgba(99,102,241,0.3); color:var(--accent); }
.stale-warning { background:rgba(245,158,11,0.12); border:1px solid rgba(245,158,11,0.3); color:#f59e0b; }
.stale-critical { background:rgba(239,68,68,0.12); border:1px solid rgba(239,68,68,0.3); color:#ef4444; }
.stale-icon { font-weight:800; font-size:14px; flex-shrink:0; }
.stale-refresh-btn { background:rgba(255,255,255,0.15); border:1px solid currentColor; color:inherit; cursor:pointer; font-size:12px; font-weight:600; padding:4px 12px; border-radius:4px; white-space:nowrap; }
.stale-refresh-btn:hover { background:rgba(255,255,255,0.25); }
.stale-refresh-btn:disabled { cursor:wait; }
.stale-dismiss { background:none; border:none; color:inherit; cursor:pointer; font-size:16px; margin-left:auto; opacity:0.6; padding:4px 8px; }
.stale-dismiss:hover { opacity:1; }

/* Fuzzy search highlight */
.fuzzy-hl { color:var(--accent); font-weight:700; }

/* Sidebar Favourites & Pin */
.nav-section-favourites { border-bottom:1px solid var(--border); margin-bottom:4px; padding-bottom:4px; }
.nav-fav-header { color:var(--accent) !important; font-size:11px !important; font-weight:600; }
.nav-fav-item { display:flex; align-items:center; gap:6px; }
.nav-fav-icon { font-size:12px; flex-shrink:0; }
.nav-pin { display:none; margin-left:auto; font-size:12px; color:var(--text-muted); cursor:pointer; padding:2px 4px; opacity:0.4; flex-shrink:0; }
.nav-item:hover .nav-pin { display:inline; }
.nav-pin.pinned { display:inline; color:var(--accent); opacity:1; }
.nav-pin:hover { opacity:1; color:var(--accent); }

/* ---- TABLE FILTER ---- */
.table-filter-input {
    width: 100%; max-width: 300px; padding: 8px 12px; margin-bottom: 12px;
    background: var(--bg-hover); border: 1px solid var(--border); border-radius: 8px;
    color: var(--text-primary); font-family: inherit; font-size: 13px;
    transition: border-color 0.15s;
}
.table-filter-input:focus { outline: none; border-color: var(--accent); }
.table-filter-input::placeholder { color: var(--text-muted); }
.table-row-count { font-size: 11px; color: var(--text-muted); margin-left: 8px; }

/* ---- APPLIED LOG ---- */
.applied-log {
    position: fixed;
    top: 0;
    right: 0;
    width: var(--log-width);
    height: 100vh;
    background: var(--bg-secondary);
    border-left: 1px solid var(--border);
    padding: 20px 16px;
    overflow-y: auto;
}

.applied-log h3 {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-bottom: 14px;
}

.log-empty { color: var(--text-muted); font-size: 12px; }

.log-item {
    padding: 10px;
    border-radius: 8px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    margin-bottom: 8px;
    font-size: 12px;
}
.log-item .log-time { color: var(--text-muted); font-size: 10px; margin-bottom: 3px; }
.log-item .log-action { color: var(--text-primary); font-weight: 500; }
.log-item .log-account { color: var(--accent); font-size: 11px; margin-top: 2px; }
.log-item.log-pending .log-action { color: var(--amber); }
.log-item.log-done .log-action { color: var(--accent); }
.log-item.log-error .log-action { color: var(--red); }

/* ---- EMPTY STATE ---- */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
    text-align: center;
    color: var(--text-muted);
}
.empty-icon { font-size: 48px; margin-bottom: 16px; }
.empty-state h3 { color: var(--text-secondary); margin-bottom: 8px; }
.empty-state p { font-size: 13px; }

/* ---- TOAST ---- */
.toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(80px);
    background: var(--accent);
    color: #000;
    padding: 10px 20px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 13px;
    z-index: 999;
    transition: transform 0.3s ease;
    pointer-events: none;
}
.toast.show { transform: translateX(-50%) translateY(0); pointer-events: auto; }
.toast.error { background: var(--red); color: white; }
.toast.toast-info { background: var(--bg-card); color: var(--text-primary); border: 1px solid var(--border); }
.toast-action-btn {
    background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.3);
    color: inherit; padding: 3px 12px; border-radius: 12px; font-size: 11px;
    font-weight: 600; cursor: pointer; margin-left: 12px; transition: all 0.2s;
}
.toast-action-btn:hover { background: rgba(255,255,255,0.4); }
.toast.toast-info .toast-action-btn { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-safe-mode {
    background: rgba(255,255,255,0.05); border: 1px solid var(--border); color: var(--text-muted);
    padding: 6px 12px; border-radius: 6px; font-size: 10px; font-weight: 600;
    cursor: pointer; transition: all 0.2s; white-space: nowrap;
}
.btn-safe-mode:hover { border-color: var(--accent); color: var(--accent); }
.safe-mode-badge {
    display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 4px;
    background: rgba(16,185,129,0.15); color: var(--accent); font-size: 9px;
    font-weight: 700; letter-spacing: 0.1em; margin-left: 4px;
}

/* ---- MODAL ---- */
.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 500;
    backdrop-filter: blur(4px);
}

.modal {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 28px;
    max-width: 420px;
    width: 90%;
}
.modal h3 { font-size: 17px; margin-bottom: 10px; }
.modal p { color: var(--text-secondary); font-size: 14px; margin-bottom: 20px; }

.modal-actions { display: flex; gap: 10px; justify-content: flex-end; }

/* ---- SCROLL ---- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
    .applied-log { display: none; }
    .main { margin-right: 0; }
}
/* Mobile sidebar backdrop */
.sidebar-backdrop { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:99; }

@media (max-width: 768px) {
    .sidebar { transform: translateX(-100%); transition: transform 0.25s ease; }
    .sidebar.sidebar-open { transform: translateX(0); }
    .main { margin-left: 0 !important; }
    .hamburger-btn { display: block; }
    .cards-grid { grid-template-columns: 1fr; }
    .tool-page-header { flex-direction: column; }

    /* Fix iOS input zoom — inputs below 16px cause Safari to zoom the viewport */
    input, select, textarea { font-size: max(16px, 1em) !important; }

    /* Minimum touch targets (44px per Apple HIG) */
    .filter-btn, .nav-item, .btn-refresh, .date-dropdown { min-height: 44px; }

    /* Sticky first column on performance table */
    .perf-table th:first-child, .perf-table td:first-child {
        position: sticky; left: 0; z-index: 1; background: var(--bg-secondary);
    }

    /* Rec improvements mobile */
    .rec-search-wrap { flex-wrap: wrap; }
    .rec-search-input { width: 100%; }
    .rec-sort-select { flex: 1; min-width: 100px; }
    .btn-collapse-groups { display: none; }
    .rec-search-hint { display: none; }
    .rec-summary-bar { flex-wrap: wrap; gap: 4px; }
    .rsb-stat { font-size: 10px; }
    .account-health-row { flex-wrap: wrap; }
    .health-chip { font-size: 10px; padding: 4px 8px; }
    .rec-card-header { flex-wrap: wrap; gap: 4px; }
    .confidence-badge { display: none; } /* Too noisy on mobile */
    .rec-group-actions { display: none; } /* Use individual card actions on mobile */
    .shortcut-grid { grid-template-columns: 1fr; }
    .rec-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .stat-bar-label { width: 80px; font-size: 10px; }
    .saved-filters-bar { gap: 4px; }
    .rec-aging-banner { font-size: 11px; flex-wrap: wrap; }
    .rec-correlations .correlation-item { flex-wrap: wrap; }
    .btn-morning-mode, .btn-safe-mode, .btn-editor-export { font-size: 10px; padding: 4px 8px; }
}

/* ---- LOADING SKELETON ---- */
.skeleton {
    background: linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-card) 50%, var(--bg-hover) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 6px;
}
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ---- SIDEBAR LOGO ---- */
.sidebar-logo {
    display: flex; align-items: center; gap: 10px;
    padding: 20px 16px 16px;
    border-bottom: 1px solid var(--border);
}
.logo-icon { font-size: 22px; }
.logo-title { font-size: 15px; font-weight: 700; color: var(--text-primary); }
.logo-sub { font-size: 11px; color: var(--text-muted); }

/* ---- SIDEBAR NAV (scrollable body) ---- */
.sidebar-nav-scroll {
    flex: 1; overflow-y: auto; padding: 8px 0;
}

/* ---- NAV SECTIONS ---- */
.nav-section { margin-bottom: 2px; }
.nav-section-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 16px; cursor: pointer;
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.08em; color: var(--text-muted);
    transition: color 0.15s; user-select: none;
}
.nav-section-header:hover { color: var(--text-secondary); }
.nav-chevron { font-size: 12px; transition: transform 0.15s; }
.nav-section-items { padding: 0 8px 4px; }

/* ---- NAV ITEMS (inside sections) ---- */
.nav-item {
    display: flex; align-items: center; gap: 10px;
    padding: 6px 12px 6px 20px; border-radius: 8px;
    color: var(--text-secondary); font-size: 13px; font-weight: 500;
    text-decoration: none; transition: all 0.15s; position: relative;
    margin-bottom: 1px;
}
.nav-item:hover { background: var(--bg-hover); color: var(--text-primary); }
.nav-item.active { background: var(--accent-dim); color: var(--accent); }

/* ---- SIDEBAR FOOTER ---- */
.sidebar-footer { padding: 12px 16px; border-top: 1px solid var(--border); }
.footer-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.version-tag { font-size: 10px; font-weight: 700; color: var(--accent); opacity: 0.6; letter-spacing: 0.05em; border: 1px solid rgba(59, 130, 246, 0.3); padding: 2px 6px; border-radius: 4px; }
.last-updated { font-size: 11px; color: var(--text-muted); }
.logout-link { font-size: 12px; color: var(--text-muted); text-decoration: none; transition: color 0.2s; }
.logout-link:hover { color: var(--red); }

/* ---- BADGE ON NAV ---- */
.nav-item .badge {
    margin-left: auto; font-size: 10px; padding: 2px 7px;
    border-radius: 10px; background: var(--accent); color: #000; font-weight: 700;
}

/* ---- TOOL PAGE HEADER (account selector) ---- */
.tool-page-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.tool-account-selector {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--text-secondary);
}
.tool-account-selector select { min-width: 200px; }

/* ---- MOBILE HAMBURGER ---- */
.hamburger-btn {
    display: none; position: fixed; top: 12px; left: 12px; z-index: 200;
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 8px; padding: 8px 12px; color: var(--text-primary);
    font-size: 18px; cursor: pointer; line-height: 1;
}

/* ---- TAB PANELS ---- */
.tab-panel { display: none; padding: 24px; }
.tab-panel.active { display: block; }
@keyframes panelFadeIn { from { opacity: 0; } to { opacity: 1; } }
.tab-panel[style*="display: block"], .tab-panel[style*="display:block"] {
    animation: panelFadeIn 120ms ease-out;
}

/* ---- PAGE HEADER ---- */
.page-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
.page-title { font-size: 22px; font-weight: 700; }
.page-sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.header-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* ---- FILTER BUTTONS ---- */
.filter-btn {
    padding: 6px 14px; border-radius: 20px; border: 1px solid var(--border);
    background: none; color: var(--text-secondary); cursor: pointer; font-family: inherit;
    font-size: 12px; font-weight: 500; transition: all 0.15s;
}
.filter-btn:hover { background: var(--bg-hover); color: var(--text-primary); }
.filter-btn.active { background: var(--accent-dim); color: var(--accent); border-color: var(--accent); }

/* ---- PERFORMANCE TABLE ---- */
.perf-table-wrap { overflow-x: auto; border-radius: 12px; border: 1px solid var(--border); }

.perf-table {
    width: 100%; border-collapse: collapse; font-size: 13px; min-width: 700px;
}
.perf-table thead { background: var(--bg-secondary); }
.perf-table th {
    padding: 11px 14px; text-align: left; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted);
    border-bottom: 1px solid var(--border); white-space: nowrap;
    user-select: none;
}
.perf-table th.sortable { cursor: pointer; }
.perf-table th.sortable:hover { color: var(--text-primary); }
.perf-table th.sorted { color: var(--accent); }
.sort-arrow { font-size: 10px; opacity: 0.7; margin-left: 3px; }

.perf-table tbody tr { border-bottom: 1px solid var(--border); transition: background 0.1s; }
.perf-table tbody tr:last-child { border-bottom: none; }
.perf-table tbody tr:hover { background: var(--bg-hover); }
.perf-table td { padding: 11px 14px; color: var(--text-primary); }

.acc-name-cell {
    display: flex; flex-direction: column; gap: 2px; cursor: pointer;
    transition: background 0.2s ease;
}
.acc-name-cell:hover { background: rgba(59, 130, 246, 0.1); }
.acc-name { font-weight: 600; color: var(--text-primary); }
.acc-key { font-size: 11px; color: var(--text-muted); }

.num-cell { text-align: right; font-variant-numeric: tabular-nums; }
.signal-cell { text-align: left; }

.roas-great { color: #4ade80; font-weight: 600; }
.roas-good  { color: var(--accent); }
.roas-bad   { color: var(--red); font-weight: 600; }
.has-suggestions { color: var(--amber); font-weight: 600; }

/* Signal badges */
.signal-badge {
    display: inline-flex; align-items: center; gap: 3px;
    padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; white-space: nowrap;
}
.signal-stable  { background: rgba(148,163,184,0.15); color: var(--text-secondary); }
.signal-warn    { background: var(--amber-dim); color: var(--amber); }
.signal-danger  { background: var(--red-dim); color: var(--red); }
.signal-good    { background: var(--accent-dim); color: var(--accent); }
.signal-great   { background: rgba(168,85,247,0.15); color: #c084fc; }

/* Totals footer */
.perf-totals { background: var(--bg-secondary); border-top: 2px solid var(--border); }
.perf-totals td { padding: 12px 14px; color: var(--text-secondary); }
.perf-totals .acc-key { color: var(--text-muted); }

.loading-cell { padding: 40px; text-align: center; color: var(--text-muted); }
.error-cell { color: var(--red); }

/* ---- RECOMMENDATIONS NEW LAYOUT ---- */
.rec-layout { display: flex; gap: 24px; }
.rec-feed { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.applied-sidebar { width: 260px; flex-shrink: 0; }

.rec-card {
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px;
    padding: 16px; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative; overflow: hidden;
    animation: slideUp 0.3s ease-out;
}
.rec-card:hover { 
    border-color: var(--accent); 
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
@keyframes slideUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.rec-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.btn-clear {
    background: rgba(255,255,255,0.05); border: 1px solid var(--border); color: var(--text-secondary);
    padding: 4px 12px; border-radius: 6px; font-size: 11px; cursor: pointer;
    margin-left: 15px; transition: all 0.2s;
}
.btn-clear:hover { background: var(--border); color: var(--text-primary); border-color: var(--text-secondary); }
.btn-editor-export {
    background: rgba(108,99,255,0.12); border: 1px solid var(--accent); color: var(--accent);
    padding: 6px 14px; border-radius: 6px; font-size: 11px; font-weight: 600; cursor: pointer;
    margin-left: 8px; transition: all 0.2s; white-space: nowrap;
}
.btn-editor-export:hover { background: var(--accent); color: #fff; }
.batch-action-bar {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
    background: var(--bg-card, #1e1e3a); border-top: 2px solid var(--accent);
    padding: 12px 24px; display: flex; align-items: center; gap: 12px;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.3);
}
.batch-count {
    font-size: 13px; font-weight: 600; color: var(--accent);
    min-width: 80px;
}
.rec-select-wrap {
    display: inline-flex; align-items: center; margin-right: 4px; cursor: pointer;
}
.rec-select-cb {
    width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer;
}
/* ── Rec Summary Bar ── */
.rec-summary-bar {
    display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 12px;
    background: var(--bg-secondary); border-radius: 8px; margin-bottom: 12px;
    align-items: center;
}
.rsb-stat {
    font-size: 11px; color: var(--text-secondary); padding: 2px 8px;
    border-right: 1px solid var(--border);
}
.rsb-stat:last-child { border-right: none; }
.rsb-stat strong { color: var(--accent); }
.rsb-savings { color: var(--red); }
.rsb-warn { color: var(--amber); font-weight: 600; }
.rsb-filtered { color: var(--text-muted); font-style: italic; }

/* ── High-Spend Guard Badge ── */
.high-spend-badge {
    font-size: 8px; font-weight: 700; letter-spacing: 0.05em;
    background: rgba(239,68,68,0.15); color: var(--red);
    padding: 1px 6px; border-radius: 3px; margin-right: 4px;
}
.rec-high-spend { border-left: 3px solid var(--red); }

/* ── Staleness Badge ── */
.stale-badge {
    font-size: 8px; font-weight: 600;
    background: rgba(249,168,37,0.15); color: var(--amber);
    padding: 1px 6px; border-radius: 3px; margin-right: 4px;
}
.rec-stale { opacity: 0.8; }

/* ── Recently Dismissed Sidebar ── */
.dismissed-item {
    display: flex; align-items: center; justify-content: space-between;
    padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,0.04);
}
.dismissed-title {
    font-size: 11px; color: var(--text-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    flex: 1; margin-right: 8px;
}
.dismissed-restore-btn {
    font-size: 9px; padding: 2px 8px; border-radius: 4px;
    background: rgba(108,99,255,0.1); color: var(--accent);
    border: 1px solid rgba(108,99,255,0.2); cursor: pointer;
    white-space: nowrap;
}
.dismissed-restore-btn:hover { background: var(--accent); color: #fff; }

/* ── Change Timeline ── */
.tl-date-sep {
    font-size: 11px; font-weight: 600; color: var(--text-muted);
    padding: 12px 0 4px; border-bottom: 1px solid var(--border);
    margin-bottom: 4px;
}
.tl-event {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 12px; border-radius: 6px; margin-bottom: 3px;
}
.tl-event-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.tl-icon { font-size: 16px; flex-shrink: 0; }
.tl-label { font-size: 12px; font-weight: 600; color: var(--text-primary); }
.tl-detail { font-size: 11px; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tl-event-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.tl-account { font-size: 10px; color: var(--text-muted); max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tl-time { font-size: 10px; color: var(--text-muted); }

/* ── Filter Badge Counts ── */
.filter-count {
    font-size: 9px; font-weight: 700; background: rgba(108,99,255,0.2);
    color: var(--accent); padding: 1px 5px; border-radius: 8px;
    margin-left: 2px; min-width: 14px; text-align: center; display: inline-block;
}
.filter-btn.active .filter-count { background: rgba(108,99,255,0.4); }

/* ── Rec Search ── */
.rec-search-wrap {
    display: flex; align-items: center; gap: 12px; margin-bottom: 8px;
}
.rec-search-input {
    flex: 1; padding: 8px 14px; border: 1px solid var(--border);
    background: var(--bg-secondary); color: var(--text-primary);
    border-radius: 8px; font-size: 12px; outline: none; transition: border 0.2s;
}
.rec-search-input:focus { border-color: var(--accent); }
.rec-search-input::placeholder { color: var(--text-muted); }
.rec-search-hint {
    font-size: 9px; color: var(--text-muted); white-space: nowrap;
    letter-spacing: 0.02em;
}

/* ── Rec Focus (Keyboard Nav) ── */
.rec-focused { outline: 2px solid var(--accent); outline-offset: -2px; }

/* ── Quick Approve Button ── */
.btn-quick-approve {
    background: rgba(16,185,129,0.1); border: 1px solid rgba(16,185,129,0.3);
    color: var(--accent); padding: 4px 10px; border-radius: 6px;
    font-size: 11px; font-weight: 600; cursor: pointer; transition: all 0.2s;
}
.btn-quick-approve:hover { background: var(--accent); color: #fff; }

/* ── Duplicate Badge ── */
.dupe-badge {
    background: rgba(168,85,247,0.15); color: #c084fc;
    padding: 2px 8px; border-radius: 6px; font-size: 9px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.05em;
}

/* ── Account Link ── */
.rec-account-link {
    cursor: pointer; transition: color 0.15s;
}
.rec-account-link:hover {
    color: var(--accent); text-decoration: underline;
}

/* ── Saved Filters Bar ── */
.saved-filters-bar {
    display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0;
    align-items: center;
}
.saved-filter-btn {
    background: var(--bg-secondary); border: 1px solid var(--border);
    color: var(--text-secondary); padding: 4px 12px; border-radius: 6px;
    font-size: 11px; cursor: pointer; transition: all 0.15s;
    display: inline-flex; align-items: center; gap: 6px;
}
.saved-filter-btn:hover { background: var(--bg-hover); color: var(--text-primary); border-color: var(--accent); }
.saved-filter-add { border-style: dashed; }
.saved-filter-x {
    font-size: 13px; line-height: 1; opacity: 0.5; cursor: pointer;
}
.saved-filter-x:hover { opacity: 1; color: var(--red); }

/* ── Campaign Group Headers ── */
.rec-group-header {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 16px; margin: 12px 0 4px;
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 8px; cursor: pointer; transition: background 0.15s;
    font-size: 13px; color: var(--text-primary);
}
.rec-group-header:hover { background: var(--bg-hover); }
.rec-group-toggle { font-size: 10px; color: var(--text-muted); transition: transform 0.2s; }
.rec-group-account { color: var(--text-muted); font-size: 11px; margin-left: auto; }
.rec-group-count {
    background: var(--accent-dim); color: var(--accent);
    padding: 2px 8px; border-radius: 10px; font-size: 10px; font-weight: 600;
}
.rec-group-body { padding-left: 12px; border-left: 2px solid var(--border); margin-left: 8px; }

/* ── Card Animations ── */
.rec-card {
    transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.4s ease;
}
.rec-card.card-dismissing {
    opacity: 0; transform: translateX(60px); max-height: 0; overflow: hidden;
    margin: 0; padding: 0; border: 0;
}
.rec-card.card-approving {
    opacity: 0; transform: translateX(-60px) scale(0.95); max-height: 0; overflow: hidden;
    margin: 0; padding: 0; border: 0;
}

/* ── Copy Rec Button ── */
.btn-copy-rec {
    background: transparent; border: 1px solid var(--border);
    padding: 4px 8px; border-radius: 6px; cursor: pointer;
    font-size: 12px; transition: all 0.15s; line-height: 1;
}
.btn-copy-rec:hover { background: var(--bg-hover); border-color: var(--accent); }

/* ── Keyboard Shortcut Overlay ── */
.shortcut-overlay {
    position: fixed; inset: 0; z-index: 10000;
    background: rgba(0,0,0,0.6); display: flex;
    align-items: center; justify-content: center;
    backdrop-filter: blur(4px);
}
.shortcut-overlay-content {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 12px; padding: 24px 32px; max-width: 480px; width: 90%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}
.shortcut-overlay-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 20px;
}
.shortcut-overlay-header h3 { color: var(--text-primary); font-size: 16px; }
.shortcut-close {
    background: transparent; border: none; color: var(--text-muted);
    font-size: 20px; cursor: pointer; padding: 4px 8px;
}
.shortcut-close:hover { color: var(--text-primary); }
.shortcut-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.shortcut-section h4 {
    color: var(--text-secondary); font-size: 11px; text-transform: uppercase;
    letter-spacing: 0.05em; margin-bottom: 10px;
}
.shortcut-row {
    display: flex; align-items: center; gap: 12px;
    padding: 4px 0; font-size: 13px; color: var(--text-secondary);
}
.shortcut-row kbd {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 4px; padding: 2px 8px; font-family: inherit;
    font-size: 11px; font-weight: 600; color: var(--text-primary);
    min-width: 28px; text-align: center;
}

/* ── Account Health Scores ── */
.account-health-bar { padding: 8px 0; }
.account-health-row {
    display: flex; flex-wrap: wrap; gap: 8px;
}
.health-chip {
    display: flex; align-items: center; gap: 6px;
    padding: 6px 12px; border-radius: 8px;
    background: var(--bg-secondary); border: 1px solid;
    cursor: pointer; transition: all 0.15s; font-size: 12px;
}
.health-chip:hover { background: var(--bg-hover); }
.health-score { font-weight: 700; font-size: 14px; }
.health-name { color: var(--text-secondary); font-size: 11px; }

/* ── Sparklines ── */
.sparkline { vertical-align: middle; margin-left: 4px; }

/* ── Sort Selector ── */
.rec-sort-select {
    background: var(--bg-secondary); border: 1px solid var(--border);
    color: var(--text-secondary); padding: 6px 10px; border-radius: 6px;
    font-size: 11px; cursor: pointer; outline: none;
}
.rec-sort-select:hover { border-color: var(--accent); }
.rec-sort-select:focus { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(16,185,129,0.15); }

/* ── Collapse Groups Button ── */
.btn-collapse-groups {
    background: var(--bg-secondary); border: 1px solid var(--border);
    color: var(--text-secondary); padding: 6px 10px; border-radius: 6px;
    font-size: 11px; cursor: pointer; transition: all 0.15s; white-space: nowrap;
}
.btn-collapse-groups:hover { background: var(--bg-hover); border-color: var(--accent); color: var(--text-primary); }

/* ── Rec Tab Badge ── */
.rec-tab-badge {
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--accent); color: #fff;
    font-size: 9px; font-weight: 700; min-width: 18px; height: 18px;
    border-radius: 9px; padding: 0 5px; margin-left: 6px;
}

/* ── Morning Mode Button ── */
.btn-morning-mode {
    background: var(--bg-secondary); border: 1px solid var(--border);
    color: var(--text-secondary); padding: 6px 12px; border-radius: 6px;
    font-size: 11px; cursor: pointer; transition: all 0.15s;
}
.btn-morning-mode:hover { background: var(--bg-hover); border-color: var(--amber); }
.btn-morning-mode.active {
    background: rgba(245,158,11,0.15); border-color: var(--amber);
    color: var(--amber); font-weight: 600;
}

/* ── Rec Notes ── */
.btn-rec-note {
    background: transparent; border: 1px solid var(--border);
    padding: 4px 8px; border-radius: 6px; cursor: pointer;
    font-size: 12px; transition: all 0.15s; line-height: 1;
}
.btn-rec-note:hover { background: var(--bg-hover); border-color: var(--accent); }
.rec-note-panel {
    padding: 10px 16px; border-top: 1px solid var(--border);
    background: var(--bg-secondary);
}
.rec-note-textarea {
    width: 100%; background: var(--bg-primary); border: 1px solid var(--border);
    color: var(--text-primary); padding: 8px; border-radius: 6px;
    font-size: 12px; resize: vertical; min-height: 48px;
    font-family: inherit;
}
.rec-note-textarea:focus { border-color: var(--accent); outline: none; }
.rec-note-actions {
    display: flex; align-items: center; gap: 10px; margin-top: 6px;
}
.rec-note-date { color: var(--text-muted); font-size: 10px; }

/* ── Aging Warning Banner ── */
.rec-aging-banner {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 16px; border-radius: 8px; margin-bottom: 8px;
    font-size: 12px;
}
.aging-warn {
    background: rgba(245,158,11,0.1); border: 1px solid rgba(245,158,11,0.3);
    color: var(--amber);
}
.aging-critical {
    background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.3);
    color: var(--red);
}
.btn-aging-sort {
    background: transparent; border: 1px solid currentColor;
    color: inherit; padding: 3px 8px; border-radius: 4px;
    font-size: 11px; cursor: pointer; margin-left: auto;
}
.btn-aging-sort:hover { background: rgba(255,255,255,0.1); }

/* ── Correlation Insights ── */
.rec-correlations {
    padding: 8px 0; margin-bottom: 4px;
}
.correlation-header {
    font-size: 12px; font-weight: 600; color: var(--text-secondary);
    margin-bottom: 6px;
}
.correlation-item {
    display: flex; align-items: center; gap: 8px;
    padding: 5px 12px; font-size: 11px; color: var(--text-secondary);
    background: var(--bg-secondary); border-radius: 6px; margin-bottom: 4px;
}
.correlation-query { color: var(--accent); font-weight: 600; }
.correlation-types { display: flex; gap: 4px; }
.correlation-type {
    background: var(--bg-hover); padding: 1px 6px; border-radius: 4px;
    font-size: 10px; text-transform: uppercase;
}
.correlation-count { margin-left: auto; color: var(--text-muted); }

/* ── Streak Badge ── */
.streak-badge {
    display: inline-flex; align-items: center; gap: 4px;
    background: rgba(245,158,11,0.1); border: 1px solid rgba(245,158,11,0.3);
    color: var(--amber); padding: 3px 10px; border-radius: 10px;
    font-size: 11px; font-weight: 600;
}

/* ── Confidence Badge ── */
.confidence-badge {
    padding: 2px 7px; border-radius: 6px; font-size: 9px; font-weight: 600;
    letter-spacing: 0.02em;
}
.conf-high { background: rgba(16,185,129,0.1); color: var(--accent); }
.conf-medium { background: rgba(245,158,11,0.1); color: var(--amber); }
.conf-low { background: rgba(249,115,22,0.1); color: #f97316; }
.conf-very-low { background: rgba(239,68,68,0.1); color: var(--red); }

/* ── Group Action Buttons ── */
.rec-group-actions { display: flex; gap: 4px; margin-left: 8px; }
.btn-group-action {
    background: transparent; border: 1px solid var(--border);
    color: var(--text-muted); padding: 2px 8px; border-radius: 4px;
    font-size: 10px; cursor: pointer; transition: all 0.15s;
}
.btn-group-action:hover { background: var(--bg-hover); color: var(--text-primary); border-color: var(--accent); }
.btn-group-dismiss:hover { border-color: var(--red); color: var(--red); }

/* ── Rec Stats Dashboard ── */
.rec-stats-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px; margin-bottom: 24px;
}
.stat-card {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 10px; padding: 16px; text-align: center;
}
.stat-number { font-size: 24px; font-weight: 700; color: var(--text-primary); }
.stat-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.stat-section-title {
    font-size: 13px; font-weight: 600; color: var(--text-secondary);
    margin: 20px 0 10px; text-transform: uppercase; letter-spacing: 0.05em;
}
.stat-bar-chart { display: flex; flex-direction: column; gap: 6px; }
.stat-bar-row { display: flex; align-items: center; gap: 8px; }
.stat-bar-label {
    width: 120px; font-size: 11px; color: var(--text-secondary);
    text-align: right; text-transform: capitalize; flex-shrink: 0;
}
.stat-bar-track {
    flex: 1; height: 16px; background: var(--bg-secondary);
    border-radius: 4px; overflow: hidden;
}
.stat-bar-fill {
    height: 100%; background: var(--accent); border-radius: 4px;
    transition: width 0.3s ease;
}
.stat-bar-value { font-size: 11px; font-weight: 600; color: var(--text-primary); width: 30px; }
.stat-conf-grid { display: flex; gap: 12px; flex-wrap: wrap; }
.conf-bucket {
    padding: 12px 20px; border-radius: 8px; font-size: 12px; text-align: center;
}
.conf-bucket.conf-high { background: rgba(16,185,129,0.1); color: var(--accent); }
.conf-bucket.conf-med { background: rgba(245,158,11,0.1); color: var(--amber); }
.conf-bucket.conf-low { background: rgba(249,115,22,0.1); color: #f97316; }
.conf-bucket.conf-vlow { background: rgba(239,68,68,0.1); color: var(--red); }

/* ── Pin Button ── */
.btn-pin-rec {
    background: transparent; border: 1px solid var(--border);
    padding: 4px 8px; border-radius: 6px; cursor: pointer;
    font-size: 12px; transition: all 0.15s; line-height: 1;
    opacity: 0.5;
}
.btn-pin-rec:hover { opacity: 1; border-color: var(--accent); }
.btn-pin-rec.pinned { opacity: 1; background: rgba(16,185,129,0.1); border-color: var(--accent); }

/* ── Pinned Card ── */
.rec-pinned {
    border-left: 3px solid var(--accent) !important;
    background: rgba(16,185,129,0.03);
}

/* ── Swipe hint on mobile ── */
@media (max-width: 768px) {
    .rec-card { touch-action: pan-y; }
}

/* ── Smart Suggestions ── */
.smart-suggestions { padding: 8px 0; }
.suggestion-header {
    font-size: 12px; font-weight: 600; color: var(--text-secondary);
    margin-bottom: 6px;
}
.suggestion-item {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 12px; font-size: 12px; color: var(--text-secondary);
    background: rgba(99,102,241,0.06); border: 1px solid rgba(99,102,241,0.15);
    border-radius: 6px; margin-bottom: 4px;
}
.suggestion-icon { font-size: 14px; }
.suggestion-text { flex: 1; }
.btn-suggestion {
    background: rgba(99,102,241,0.15); border: 1px solid rgba(99,102,241,0.3);
    color: #818cf8; padding: 3px 10px; border-radius: 4px;
    font-size: 11px; font-weight: 600; cursor: pointer;
}
.btn-suggestion:hover { background: rgba(99,102,241,0.25); }

/* ── Compare Table ── */
.compare-table {
    width: 100%; border-collapse: collapse; font-size: 12px;
}
.compare-table th, .compare-table td {
    padding: 6px 12px; border-bottom: 1px solid var(--border);
    text-align: left; color: var(--text-secondary);
}
.compare-table th { font-weight: 600; color: var(--text-primary); }
.compare-label { color: var(--text-muted); text-transform: capitalize; }

/* ── Load More ── */
.load-more-wrap { text-align: center; padding: 16px 0; }
.btn-load-more {
    background: var(--bg-secondary); border: 1px solid var(--border);
    color: var(--text-secondary); padding: 10px 28px; border-radius: 8px;
    font-size: 12px; cursor: pointer; transition: all 0.15s;
}
.btn-load-more:hover { background: var(--bg-hover); color: var(--text-primary); border-color: var(--accent); }

/* ── Rec Tooltip ── */
.rec-tooltip {
    position: absolute; z-index: 1000;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 8px; padding: 10px 14px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
    font-size: 11px; color: var(--text-secondary);
    pointer-events: none; display: none; max-width: 260px;
}
.rec-tooltip div { padding: 1px 0; }

/* ── Sticky Batch Bar ── */
.batch-action-bar {
    position: sticky; bottom: 0; z-index: 50;
    backdrop-filter: blur(8px); background: rgba(15,23,42,0.9);
    border-top: 1px solid var(--border);
}

/* ── Quick Stats Ribbon ── */
.quick-stats-ribbon {
    display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 0;
}
.qsr-chip {
    background: var(--bg-secondary); border: 1px solid var(--border);
    color: var(--text-secondary); padding: 4px 10px; border-radius: 6px;
    font-size: 11px; cursor: pointer; transition: all 0.15s;
    text-transform: capitalize;
}
.qsr-chip:hover { border-color: var(--accent); color: var(--text-primary); }
.qsr-chip.active { background: rgba(16,185,129,0.1); border-color: var(--accent); color: var(--accent); }
.qsr-count {
    background: var(--bg-hover); padding: 1px 5px; border-radius: 4px;
    font-size: 10px; font-weight: 600; margin-left: 4px;
}

/* ── Status Line ── */
.rec-status-line {
    position: sticky; bottom: 0; z-index: 40;
    padding: 6px 16px; font-size: 10px;
    color: var(--text-muted); background: var(--bg-primary);
    border-top: 1px solid var(--border);
    text-align: center; letter-spacing: 0.02em;
}

/* ── Workflow Panel ── */
.workflow-panel {
    display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0;
}
.workflow-btn {
    background: var(--bg-secondary); border: 1px solid var(--border);
    color: var(--text-secondary); padding: 6px 14px; border-radius: 8px;
    font-size: 11px; cursor: pointer; transition: all 0.15s;
    white-space: nowrap;
}
.workflow-btn:hover { background: var(--bg-hover); border-color: var(--accent); color: var(--text-primary); }

/* ── Onboarding ── */
.onboarding-steps { display: flex; flex-direction: column; gap: 12px; }
.onboarding-step {
    display: flex; align-items: flex-start; gap: 12px;
    font-size: 13px; color: var(--text-secondary);
}
.onboarding-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; border-radius: 50%;
    background: var(--accent); color: #fff;
    font-size: 12px; font-weight: 700; flex-shrink: 0;
}

/* ── Diff View ── */
.rec-diff-view {
    padding: 10px 16px; border-bottom: 1px solid var(--border);
    background: rgba(0,0,0,0.15);
}
.diff-row { padding: 4px 0; font-size: 12px; }
.diff-label { font-weight: 600; margin-right: 4px; }
.diff-remove { color: var(--red); }
.diff-add { color: var(--accent); }
.diff-impact { color: var(--amber); font-style: italic; }

@media (max-width: 768px) {
    .workflow-panel { gap: 4px; }
    .workflow-btn { font-size: 10px; padding: 5px 10px; }
}

/* ── Heatmap ── */
.heatmap-grid { display: flex; gap: 2px; overflow-x: auto; padding: 8px 0; }
.heatmap-labels { display: flex; flex-direction: column; gap: 2px; font-size: 9px; color: var(--text-muted); padding-right: 4px; }
.heatmap-labels span { height: 12px; line-height: 12px; }
.heatmap-week { display: flex; flex-direction: column; gap: 2px; }
.heatmap-cell { width: 12px; height: 12px; border-radius: 2px; }
.heatmap-empty { background: transparent; }
.heatmap-l0 { background: var(--bg-secondary); }
.heatmap-l1 { background: rgba(16,185,129,0.2); }
.heatmap-l2 { background: rgba(16,185,129,0.4); }
.heatmap-l3 { background: rgba(16,185,129,0.6); }
.heatmap-l4 { background: rgba(16,185,129,0.9); }
.heatmap-legend { display: flex; align-items: center; gap: 3px; font-size: 10px; color: var(--text-muted); padding-top: 4px; }

/* ── Effectiveness Report ── */
.effectiveness-weeks { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; }
.eff-week { display: flex; align-items: center; gap: 12px; }
.eff-week-label { width: 100px; font-size: 11px; color: var(--text-secondary); text-align: right; }
.eff-week-bars { display: flex; gap: 2px; align-items: center; flex: 1; }
.eff-bar { height: 16px; border-radius: 3px; min-width: 4px; }
.eff-bar.eff-approved { background: var(--accent); }
.eff-bar.eff-dismissed { background: var(--text-muted); }
.eff-bar.eff-exported { background: #818cf8; }
.eff-week-total { font-size: 11px; color: var(--text-muted); width: 30px; }
.eff-legend { display: flex; gap: 12px; font-size: 10px; color: var(--text-muted); padding: 6px 0; }
.eff-dot { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 3px; vertical-align: middle; }
.eff-dot.eff-approved { background: var(--accent); }
.eff-dot.eff-dismissed { background: var(--text-muted); }
.eff-dot.eff-exported { background: #818cf8; }

/* ── Trend Chart ── */
.trend-chart { display: flex; align-items: flex-end; gap: 4px; height: 100px; padding: 8px 0; }
.trend-bar-wrap { display: flex; flex-direction: column; align-items: center; flex: 1; }
.trend-bar { width: 100%; max-width: 24px; background: var(--accent); border-radius: 3px 3px 0 0; transition: height 0.3s; }
.trend-date { font-size: 8px; color: var(--text-muted); margin-top: 4px; }

/* ── Cross-Account Table ── */
.cross-account-table {
    width: 100%; border-collapse: collapse; font-size: 12px;
    margin: 8px 0;
}
.cross-account-table th {
    text-align: left; padding: 8px 10px; font-size: 10px;
    text-transform: uppercase; letter-spacing: 0.05em;
    color: var(--text-muted); border-bottom: 2px solid var(--border);
}
.cross-account-table td {
    padding: 8px 10px; border-bottom: 1px solid var(--border);
    color: var(--text-secondary);
}
.cross-account-table tr:hover td { background: var(--bg-hover); }
.btn-link {
    background: transparent; border: none; color: var(--accent);
    cursor: pointer; font-size: 12px; text-decoration: underline;
    padding: 0;
}
.btn-link:hover { color: var(--text-primary); }

/* ── Dependencies ── */
.rec-dependencies { padding: 4px 0; }

/* ── Settings Panel ── */
.settings-grid { display: flex; flex-direction: column; gap: 1px; }
.setting-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px; background: var(--bg-secondary);
    border-radius: 0; gap: 16px;
}
.setting-row:first-child { border-radius: 8px 8px 0 0; }
.setting-row:last-child { border-radius: 0 0 8px 8px; }
.setting-info { flex: 1; font-size: 13px; color: var(--text-primary); }
.setting-desc { font-size: 11px; color: var(--text-muted); }

@media (max-width: 768px) {
    .setting-row { flex-direction: column; align-items: flex-start; gap: 8px; }
    .cross-account-table { font-size: 10px; }
    .cross-account-table th, .cross-account-table td { padding: 6px 4px; }
}

/* ── Priority Legend ── */
.priority-legend {
    display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
    padding: 6px 0; font-size: 10px; color: var(--text-muted);
}
.pl-item { display: inline-flex; align-items: center; gap: 4px; }
.pl-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

/* ── Clickable rec title ── */
.rec-title { cursor: pointer; transition: color 0.15s; }
.rec-title:hover { color: var(--accent); }

.accent-text { color: var(--accent); font-weight: bold; }
.rec-type-badge {
    padding: 2px 10px; border-radius: 10px; font-size: 10px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.05em;
}
.type-negative { background: var(--red-dim); color: var(--red); }
.type-keyword  { background: var(--accent-dim); color: var(--accent); }
.type-wasted   { background: var(--amber-dim); color: var(--amber); }
.type-anomaly  { background: #1e1b4b; color: #818cf8; }
.type-low-quality-score { background: rgba(168,85,247,0.15); color: #c084fc; }
.type-budget-constrained { background: var(--amber-dim); color: var(--amber); }
.type-inefficient-budget { background: var(--bg-hover); color: var(--text-secondary); }
.type-disapproved-ad { background: var(--red-dim); color: var(--red); }
.type-other    { background: var(--bg-hover); color: var(--text-muted); }

/* Gap Analysis type badges */
.type-gap-impression-share { background: rgba(59,130,246,0.15); color: #60a5fa; }
.type-gap-search-query     { background: rgba(16,185,129,0.15); color: #34d399; }
.type-gap-device           { background: rgba(168,85,247,0.15); color: #c084fc; }
.type-gap-schedule         { background: rgba(245,158,11,0.15); color: #fbbf24; }
.type-gap-quality-score    { background: rgba(236,72,153,0.15); color: #f472b6; }
.type-gap-conversion       { background: rgba(239,68,68,0.15); color: #f87171; }
.type-gap-budget           { background: rgba(251,146,60,0.15); color: #fb923c; }
.type-gap-position         { background: rgba(56,189,248,0.15); color: #38bdf8; }
.type-gap-extensions       { background: rgba(74,222,128,0.15); color: #4ade80; }
.type-gap-match-type       { background: rgba(129,140,248,0.15); color: #818cf8; }
.type-gap-geographic       { background: rgba(45,212,191,0.15); color: #2dd4bf; }
.type-gap-product          { background: rgba(253,186,116,0.15); color: #fdba74; }
.type-gap-feed-quality     { background: rgba(163,163,163,0.15); color: #a3a3a3; }
.type-gap-action           { background: rgba(16,185,129,0.15); color: var(--accent); border: 1px dashed var(--accent); }

/* Severity badges */
.severity-badge {
    padding: 1px 8px; border-radius: 8px; font-size: 9px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.05em;
}
.severity-high   { background: rgba(239,68,68,0.2); color: #f87171; }
.severity-medium { background: rgba(245,158,11,0.2); color: #fbbf24; }
.severity-low    { background: rgba(16,185,129,0.2); color: #34d399; }

/* Gap metrics row */
.gap-metrics {
    display: flex; gap: 16px; font-size: 12px; color: var(--text-secondary);
    margin-bottom: 6px; padding: 4px 0;
}
.gap-metric strong { color: var(--text-primary); }
.gap-recommendation {
    font-size: 12px; color: var(--accent); margin-bottom: 10px;
    padding: 4px 8px; background: var(--accent-dim); border-radius: 6px;
}

/* Gap action item detail */
.gap-action-detail {
    display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px;
    color: var(--text-secondary); margin-bottom: 10px;
    padding: 6px 8px; background: var(--bg-primary); border-radius: 6px;
}
.gap-action-detail strong { color: var(--text-primary); }

/* Gap filter dropdown */
.gap-filter-wrap { position: relative; display: inline-block; }
.filter-btn-gap { position: relative; }
.gap-dropdown {
    display: none; position: absolute; top: 100%; left: 0; z-index: 50;
    margin-top: 4px; padding: 6px; min-width: 180px;
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.gap-dropdown.open { display: flex; flex-direction: column; gap: 2px; }
.gap-sub-btn {
    padding: 5px 10px; border: none; border-radius: 6px; cursor: pointer;
    font-size: 11px; text-align: left; color: var(--text-secondary);
    background: transparent; transition: all 0.15s;
}
.gap-sub-btn:hover { background: var(--bg-hover); color: var(--text-primary); }
.gap-sub-btn.active { background: var(--accent-dim); color: var(--accent); font-weight: 600; }

/* Account filter dropdown */
.account-filter-select {
    background: var(--bg-primary); color: var(--text-primary);
    border: 1px solid var(--border); border-radius: 8px;
    padding: 5px 12px; font-size: 12px; cursor: pointer;
    min-width: 160px; margin-left: 8px;
}
.account-filter-select:focus { outline: none; border-color: var(--accent); }

.rec-account { font-size: 11px; color: var(--text-muted); margin-left: auto; }
.rec-title { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.rec-desc { font-size: 13px; color: var(--text-secondary); margin-bottom: 8px; }
.rec-impact { font-size: 12px; color: var(--amber); margin-bottom: 10px; }
.rec-actions { display: flex; gap: 8px; }

/* Approval preview panel */
.rec-preview {
    margin-top: 10px; padding: 12px;
    background: var(--bg-primary); border: 1px solid var(--border); border-radius: 8px;
    animation: slideDown 0.15s ease-out;
}
@keyframes slideDown { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.preview-header {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--accent); margin-bottom: 8px;
}
.preview-table { width: 100%; font-size: 12px; border-collapse: collapse; }
.preview-table td { padding: 4px 8px; border-bottom: 1px solid rgba(51,65,85,0.5); }
.preview-label { color: var(--text-muted); white-space: nowrap; width: 140px; font-weight: 500; }
.preview-value { color: var(--text-primary); word-break: break-word; }
.preview-actions { display: flex; gap: 8px; margin-top: 10px; }
.btn-confirm {
    background: var(--accent); color: #000; border: none; border-radius: 6px;
    padding: 6px 16px; font-size: 12px; font-weight: 700; cursor: pointer;
}
.btn-confirm:hover { filter: brightness(1.1); }
.btn-confirm:disabled { opacity: 0.6; cursor: not-allowed; }
.btn-cancel-preview {
    background: transparent; color: var(--text-muted); border: 1px solid var(--border);
    border-radius: 6px; padding: 6px 16px; font-size: 12px; cursor: pointer;
}
.btn-cancel-preview:hover { color: var(--text-primary); border-color: var(--text-muted); }

/* Negative rec metrics */
.neg-metrics {
    display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px;
    color: var(--text-secondary); margin-bottom: 8px; padding: 6px 8px;
    background: var(--bg-primary); border-radius: 6px;
}
.neg-metric strong { color: var(--text-primary); }
.neg-cpa-benchmark { color: var(--blue); }
.neg-cpa-benchmark strong { color: var(--blue); }

/* Negative level selector in preview */
.neg-level-select {
    background: var(--bg-secondary); color: var(--text-primary);
    border: 1px solid var(--border); border-radius: 6px;
    padding: 4px 8px; font-size: 12px; cursor: pointer;
}
.neg-level-select:focus { outline: none; border-color: var(--accent); }

.empty-state { text-align: center; padding: 60px 24px; color: var(--text-muted); }

/* Applied sidebar */
.applied-entry { padding: 8px 10px; border-radius: 8px; background: var(--bg-primary); border: 1px solid var(--border); margin-bottom: 6px; font-size: 12px; display: flex; justify-content: space-between; }
.applied-action { color: var(--text-primary); font-weight: 500; }
.applied-time { color: var(--text-muted); font-size: 11px; }
.applied-error .applied-action { color: var(--red); }
.empty-applied { color: var(--text-muted); font-size: 12px; }

/* Applied full log */
.applied-log-full { overflow-x: auto; }

/* ---- PACING BAR ---- */
.pacing-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 80px;
}
.pacing-bar {
    height: 8px;
    background: #2a2a2a;
    border-radius: 4px;
    overflow: hidden;
}
.pacing-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}
.pacing-text {
    font-size: 11px;
    color: var(--text-muted);
}
.pacing-over { background: var(--red); }
.pacing-limit { background: var(--amber); }
.pacing-on-track { background: var(--accent); }
.pacing-low { background: #444; }

.clickable-setting {
    cursor: pointer;
    text-decoration: underline dotted #444;
}
.clickable-setting:hover {
    color: var(--accent);
    background: rgba(100, 255, 218, 0.05);
}
.mute { color: var(--text-muted); font-size: 12px; }

/* ---- QUERY MINING ---- */
.qm-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding: 16px;
    background: var(--bg-secondary);
    border-radius: 12px;
    border: 1px solid var(--border);
}

.qm-mode-tabs, .qm-filter-tabs {
    display: flex;
    background: var(--bg-primary);
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--border);
}

.qm-mode-btn, .qm-filter-btn {
    padding: 7px 14px;
    border: none;
    background: none;
    color: var(--text-secondary);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}
.qm-mode-btn:hover, .qm-filter-btn:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}
.qm-mode-btn.active {
    background: var(--accent-dim);
    color: var(--accent);
}
.qm-filter-btn.active {
    background: var(--accent-dim);
    color: var(--accent);
}

.qm-summary {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.qm-chip {
    flex: 1;
    min-width: 120px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.qm-chip.waste  { border-color: var(--red); }
.qm-chip.opp    { border-color: var(--accent); }
.qm-chip-label  { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.qm-chip-val    { font-size: 18px; font-weight: 700; color: var(--text-primary); }
.qm-chip.waste .qm-chip-val  { color: var(--red); }
.qm-chip.opp   .qm-chip-val  { color: var(--accent); }

.qm-row.qm-waste { border-left: 3px solid var(--red); }
.qm-row.qm-opportunity { border-left: 3px solid var(--accent); }

.btn-neg {
    padding: 5px 10px;
    background: var(--red-dim);
    color: var(--red);
    border: 1px solid var(--red);
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    transition: all 0.15s;
    white-space: nowrap;
}
.btn-neg:hover { background: var(--red); color: #fff; }
.btn-neg:disabled { opacity: 0.5; cursor: default; }

/* ---- CREATIVE ASSET PANEL ---- */
.creative-meta {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
    margin-bottom: 8px; font-size: 12px;
}
.creative-url {
    color: var(--blue); text-decoration: none; font-size: 11px;
    padding: 2px 8px; background: rgba(59,130,246,0.1); border-radius: 4px;
    transition: all 0.15s;
}
.creative-url:hover { background: rgba(59,130,246,0.2); }
.creative-suggestions-count {
    color: var(--accent); font-size: 11px; font-weight: 600;
    padding: 2px 8px; background: var(--accent-dim); border-radius: 4px;
}

.asset-panel { margin-top: 12px; }
.asset-section { margin-bottom: 12px; }
.asset-section-title {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--text-muted); margin-bottom: 6px;
    display: flex; align-items: center; justify-content: space-between;
}
.asset-list { display: flex; flex-direction: column; gap: 4px; }
.asset-item {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 8px; border-radius: 6px; font-size: 12px;
}
.asset-item.existing {
    background: rgba(148,163,184,0.08); color: var(--text-muted);
}
.asset-item.suggested {
    background: rgba(16,185,129,0.08); color: var(--text-primary);
    border: 1px solid rgba(16,185,129,0.2);
}
.asset-label {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 4px; font-size: 10px;
    font-weight: 700; background: var(--blue); color: #fff; flex-shrink: 0;
}
.asset-label.desc { background: var(--amber); color: #000; }
.asset-text { flex: 1; word-break: break-word; }
.asset-check { accent-color: var(--accent); flex-shrink: 0; cursor: pointer; }

.char-badge {
    font-size: 10px; font-weight: 600; padding: 1px 6px;
    border-radius: 8px; background: rgba(16,185,129,0.15); color: var(--accent);
    white-space: nowrap; flex-shrink: 0;
}
.char-badge.over-limit { background: rgba(239,68,68,0.2); color: var(--red); }

.select-all-toggle {
    font-size: 11px; font-weight: 500; color: var(--text-secondary);
    cursor: pointer; display: flex; align-items: center; gap: 4px;
    text-transform: none; letter-spacing: 0;
}
.select-all-toggle input { accent-color: var(--accent); cursor: pointer; }

.asset-empty { font-size: 12px; color: var(--text-muted); padding: 8px 0; }

/* Creative type badge */
.type-creative { background: rgba(59,130,246,0.15); color: #60a5fa; }

.num-header { text-align: right; }

/* ---- SETTINGS GRID ---- */
.settings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 24px; padding: 20px 0; }
.settings-card { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px; padding: 24px; }
.settings-card h3 { font-size: 16px; font-weight: 600; margin-bottom: 20px; color: var(--accent); display: flex; align-items: center; gap: 10px; }
.setting-item { margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; }
.setting-label { font-size: 13px; color: var(--text-secondary); }
.setting-input { background: var(--bg-main); border: 1px solid var(--border); border-radius: 6px; color: var(--text-main); padding: 6px 10px; width: 80px; text-align: right; font-family: inherit; font-size: 13px; }
.setting-input:focus { border-color: var(--accent); outline: none; }

/* ================================================
   FEATURE 1: Health Score Badge
   ================================================ */
.health-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 22px; border-radius: 6px;
    font-size: 11px; font-weight: 700; letter-spacing: -0.02em;
}
.hs-green { background: rgba(16,185,129,0.2); color: #4ade80; }
.hs-yellow { background: rgba(245,158,11,0.2); color: #fbbf24; }
.hs-red { background: rgba(239,68,68,0.2); color: #f87171; }

/* ================================================
   DD-TABLE (used by all tool render functions)
   ================================================ */
.dd-table {
    width: 100%; border-collapse: collapse; font-size: 13px;
}
.dd-table th {
    padding: 8px 10px; text-align: left; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted);
    border-bottom: 1px solid var(--border);
}
.dd-table td {
    padding: 8px 10px; border-bottom: 1px solid rgba(51,65,85,0.3);
    color: var(--text-primary); font-size: 13px;
}
.dd-table tbody tr:hover { background: var(--bg-hover); }

/* ================================================
   FEATURE 2: Device Split
   ================================================ */
.dd-device-bars { display: flex; flex-direction: column; gap: 16px; }
.dd-device-row { display: flex; flex-direction: column; gap: 6px; }
.dd-device-label { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.dd-device-bar-wrap {
    display: flex; align-items: center; gap: 8px;
    height: 24px; background: var(--bg-primary); border-radius: 6px; overflow: hidden;
    position: relative;
}
.dd-device-bar { height: 100%; border-radius: 6px; min-width: 2px; transition: width 0.3s; }
.dd-device-pct {
    position: absolute; right: 8px; font-size: 11px; font-weight: 600; color: var(--text-primary);
}
.dd-device-stats {
    display: flex; gap: 12px; font-size: 12px; color: var(--text-secondary);
}

/* ================================================
   FEATURE 3: Quality Score
   ================================================ */
.qs-summary {
    display: flex; gap: 16px; align-items: center; margin-bottom: 16px;
    font-size: 13px; color: var(--text-secondary);
}
.qs-avg { font-size: 15px; }
.qs-avg strong { color: var(--text-primary); font-size: 18px; }

.qs-chart {
    display: flex; align-items: flex-end; gap: 6px; height: 100px;
    padding: 10px 0; border-bottom: 1px solid var(--border); margin-bottom: 12px;
}
.qs-bar-col {
    display: flex; flex-direction: column; align-items: center; flex: 1; gap: 4px;
}
.qs-bar { width: 100%; border-radius: 3px 3px 0 0; min-height: 2px; }
.qs-label { font-size: 11px; color: var(--text-muted); font-weight: 600; }
.qs-count { font-size: 10px; color: var(--text-secondary); }

.qs-score-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 18px; border-radius: 4px; font-size: 11px; font-weight: 700;
}
.qs-bad { background: rgba(239,68,68,0.2); color: var(--red); }
.qs-med { background: rgba(245,158,11,0.2); color: var(--amber); }

/* ================================================
   FEATURE 4: Ad Schedule Heatmap
   ================================================ */
.heatmap-grid {
    display: grid;
    grid-template-columns: 40px repeat(12, 1fr);
    gap: 2px;
    font-size: 10px;
}
.hm-corner { }
.hm-hour {
    text-align: center; color: var(--text-muted); font-weight: 600;
    padding: 2px 0;
}
.hm-day {
    display: flex; align-items: center; color: var(--text-muted); font-weight: 600;
    padding-right: 6px;
}
.hm-cell {
    border-radius: 3px; min-height: 20px; cursor: default;
    transition: transform 0.1s;
}
.hm-cell:hover { transform: scale(1.1); z-index: 1; }
.hm-legend {
    font-size: 11px; color: var(--text-muted); margin-bottom: 10px;
}

/* ================================================
   FEATURE 5: Close Variants
   ================================================ */
.variant-badge {
    display: inline-flex; padding: 2px 10px; border-radius: 8px;
    font-size: 11px; font-weight: 600;
}
.variant-exact { background: rgba(16,185,129,0.15); color: #34d399; }
.variant-close { background: rgba(245,158,11,0.15); color: #fbbf24; }
.variant-broad_variant { background: rgba(239,68,68,0.15); color: #f87171; }

/* ================================================
   FEATURE 6: Landing Pages
   ================================================ */
.lp-url {
    color: var(--blue); text-decoration: none; font-size: 12px;
    word-break: break-all;
}
.lp-url:hover { text-decoration: underline; }
.lp-status {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 2px 8px; border-radius: 8px; font-size: 11px; font-weight: 600;
}
.lp-ok { background: rgba(16,185,129,0.2); color: #4ade80; }
.lp-error { background: rgba(239,68,68,0.2); color: #f87171; }
.lp-redirect { background: rgba(245,158,11,0.2); color: #fbbf24; }
.lp-unknown { background: rgba(148,163,184,0.15); color: var(--text-muted); }

/* ================================================
   FEATURE 7: Change History
   ================================================ */
.change-timeline { display: flex; flex-direction: column; gap: 8px; }
.change-item {
    display: flex; gap: 12px; align-items: center;
    padding: 8px 10px; border-radius: 8px; background: var(--bg-primary);
    border: 1px solid rgba(51,65,85,0.3);
}
.change-date { font-size: 11px; color: var(--text-muted); white-space: nowrap; min-width: 100px; }
.change-detail { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.change-type-badge {
    padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 600;
    background: rgba(59,130,246,0.15); color: #60a5fa; text-transform: capitalize;
}
.change-user { font-size: 12px; color: var(--text-secondary); }

/* ================================================
   FEATURE 8: Product Analysis
   ================================================ */
.product-summary {
    display: flex; gap: 16px; align-items: center; margin-bottom: 12px;
    font-size: 13px; color: var(--text-secondary);
}
.product-tabs {
    display: flex; gap: 4px; margin-bottom: 12px;
}
.prod-tab {
    padding: 5px 14px; border-radius: 6px; border: 1px solid var(--border);
    background: none; color: var(--text-secondary); cursor: pointer;
    font-family: inherit; font-size: 12px; font-weight: 500; transition: all 0.15s;
}
.prod-tab:hover { background: var(--bg-hover); color: var(--text-primary); }
.prod-tab.active { background: var(--accent-dim); color: var(--accent); border-color: var(--accent); }

/* ================================================
   FEATURE 14: RSA Grading
   ================================================ */
.rsa-grade-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 10px;
    font-size: 20px; font-weight: 800; letter-spacing: -0.02em;
}
.rsa-A { background: rgba(16,185,129,0.2); color: #4ade80; }
.rsa-B { background: rgba(59,130,246,0.2); color: #60a5fa; }
.rsa-C { background: rgba(245,158,11,0.2); color: #fbbf24; }
.rsa-D { background: rgba(239,68,68,0.2); color: #f87171; }
.rsa-F { background: rgba(239,68,68,0.3); color: #ef4444; }

.rsa-summary-grid {
    display: flex; gap: 16px; margin-bottom: 16px; flex-wrap: wrap;
}
.rsa-stat {
    flex: 1; min-width: 100px; background: var(--bg-primary);
    border: 1px solid var(--border); border-radius: 8px; padding: 12px;
    text-align: center;
}
.rsa-stat-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.rsa-stat-value { font-size: 18px; font-weight: 700; color: var(--text-primary); margin-top: 4px; }

.strength-bar {
    display: flex; height: 8px; border-radius: 4px; overflow: hidden; gap: 1px;
    margin-top: 8px;
}
.strength-segment { height: 100%; transition: width 0.3s; }

/* ================================================
   FEATURE 12: What-If Budget Scenarios
   ================================================ */
.scenario-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.scenario-table th {
    padding: 10px 12px; text-align: right; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted);
    border-bottom: 1px solid var(--border);
}
.scenario-table th:first-child { text-align: left; }
.scenario-table td {
    padding: 10px 12px; border-bottom: 1px solid rgba(51,65,85,0.3);
    text-align: right; color: var(--text-primary);
}
.scenario-table td:first-child { text-align: left; font-weight: 500; }
.scenario-current { background: var(--accent-dim) !important; }
.scenario-current td { color: var(--accent) !important; font-weight: 600; }
.scenario-positive { color: #4ade80 !important; }
.scenario-negative { color: #f87171 !important; }

/* ================================================
   FEATURE 11: Rules Engine
   ================================================ */
.rules-grid { display: flex; flex-direction: column; gap: 12px; }
.rule-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px;
    padding: 16px; display: flex; align-items: center; gap: 16px;
    transition: border-color 0.15s;
}
.rule-card:hover { border-color: var(--accent); }
.rule-card.rule-disabled { opacity: 0.5; }

.rule-toggle {
    width: 40px; height: 22px; border-radius: 11px; border: none;
    background: var(--border); cursor: pointer; position: relative;
    transition: background 0.2s; flex-shrink: 0;
}
.rule-toggle::after {
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 16px; height: 16px; border-radius: 50%;
    background: var(--text-primary); transition: transform 0.2s;
}
.rule-toggle.active { background: var(--accent); }
.rule-toggle.active::after { transform: translateX(18px); }

.rule-info { flex: 1; }
.rule-name { font-size: 14px; font-weight: 600; color: var(--text-primary); margin-bottom: 4px; }
.rule-conditions { font-size: 12px; color: var(--text-secondary); }
.rule-last-triggered { font-size: 11px; color: var(--text-muted); margin-top: 2px; }

.rule-actions { display: flex; gap: 6px; flex-shrink: 0; }
.rule-delete {
    padding: 4px 10px; border-radius: 6px; border: 1px solid var(--border);
    background: none; color: var(--text-muted); cursor: pointer; font-size: 12px;
    transition: all 0.15s;
}
.rule-delete:hover { border-color: var(--red); color: var(--red); }

.rule-alert-card {
    background: var(--amber-dim); border: 1px solid rgba(245,158,11,0.3);
    border-radius: 10px; padding: 12px 16px; margin-bottom: 8px;
    display: flex; align-items: center; gap: 12px;
}
.rule-alert-icon { font-size: 18px; }
.rule-alert-info { flex: 1; }
.rule-alert-title { font-size: 13px; font-weight: 600; color: var(--amber); }
.rule-alert-detail { font-size: 12px; color: var(--text-secondary); }

.add-rule-container {
    background: var(--bg-secondary); border: 1px solid var(--accent);
    border-radius: 12px; padding: 20px; margin-top: 16px;
}
.add-rule-row {
    display: flex; gap: 10px; align-items: center; margin-bottom: 12px; flex-wrap: wrap;
}
.add-rule-row label { font-size: 13px; color: var(--text-secondary); min-width: 80px; }
.add-rule-row input, .add-rule-row select {
    background: var(--bg-primary); border: 1px solid var(--border); border-radius: 6px;
    color: var(--text-primary); padding: 6px 10px; font-family: inherit; font-size: 13px;
}
.add-rule-row input:focus, .add-rule-row select:focus { border-color: var(--accent); outline: none; }

/* ================================================
   FEATURE 13: Email Digest Settings
   ================================================ */
.digest-settings {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 12px; padding: 24px; margin-top: 16px;
}
.digest-toggle-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 0; border-bottom: 1px solid rgba(51,65,85,0.3);
}
.digest-toggle-row:last-child { border-bottom: none; }
.digest-label { font-size: 14px; color: var(--text-primary); }
.digest-desc { font-size: 12px; color: var(--text-muted); }

/* ================================================
   FEATURE 15: Placement Exclusion Manager
   ================================================ */
.placement-summary {
    display: flex; gap: 16px; margin-bottom: 16px; flex-wrap: wrap;
}
.placement-stat {
    flex: 1; min-width: 100px; background: var(--bg-primary);
    border: 1px solid var(--border); border-radius: 8px; padding: 12px;
    text-align: center;
}
.placement-stat-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.placement-stat-value { font-size: 18px; font-weight: 700; color: var(--text-primary); margin-top: 4px; }
.placement-stat-value.waste { color: var(--red); }

.placement-badge {
    display: inline-flex; padding: 2px 10px; border-radius: 8px;
    font-size: 11px; font-weight: 600;
}
.placement-exclude { background: rgba(239,68,68,0.15); color: #f87171; }
.placement-watch { background: rgba(245,158,11,0.15); color: #fbbf24; }
.placement-ok { background: rgba(16,185,129,0.15); color: #34d399; }

.type-cat-badge {
    display: inline-flex; padding: 2px 8px; border-radius: 6px;
    font-size: 10px; font-weight: 600; text-transform: uppercase;
}
.type-cat-website { background: rgba(59,130,246,0.15); color: #60a5fa; }
.type-cat-app { background: rgba(168,85,247,0.15); color: #c084fc; }
.type-cat-youtube { background: rgba(239,68,68,0.15); color: #f87171; }

.btn-exclude {
    padding: 4px 10px; border-radius: 6px; border: 1px solid var(--red);
    background: var(--red-dim); color: var(--red); cursor: pointer;
    font-family: inherit; font-size: 11px; font-weight: 600; transition: all 0.15s;
}
.btn-exclude:hover { background: var(--red); color: #fff; }
.btn-exclude:disabled { opacity: 0.5; cursor: default; }

/* ================================================
   FEATURE 16: Product Labels
   ================================================ */
.label-dist {
    display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap;
}
.label-bar {
    flex: 1; min-width: 80px; border-radius: 8px; padding: 10px 12px;
    text-align: center; border: 1px solid var(--border);
}
.label-bar-name { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.label-bar-count { font-size: 18px; font-weight: 700; margin-top: 2px; }
.label-bar-pct { font-size: 11px; color: var(--text-muted); }

.label-hero { background: rgba(16,185,129,0.1); }
.label-hero .label-bar-name { color: #4ade80; }
.label-hero .label-bar-count { color: #4ade80; }
.label-sidekick { background: rgba(59,130,246,0.1); }
.label-sidekick .label-bar-name { color: #60a5fa; }
.label-sidekick .label-bar-count { color: #60a5fa; }
.label-villain { background: rgba(239,68,68,0.1); }
.label-villain .label-bar-name { color: #f87171; }
.label-villain .label-bar-count { color: #f87171; }
.label-zombie { background: rgba(148,163,184,0.1); }
.label-zombie .label-bar-name { color: #94a3b8; }
.label-zombie .label-bar-count { color: #94a3b8; }
.label-new { background: rgba(168,85,247,0.1); }
.label-new .label-bar-name { color: #c084fc; }
.label-new .label-bar-count { color: #c084fc; }

/* ================================================
   FEATURE 17: PMax Asset Group Analyzer
   ================================================ */
.pmax-campaign-card {
    background: var(--bg-primary); border: 1px solid var(--border);
    border-radius: 10px; padding: 14px; margin-bottom: 12px;
}
.pmax-campaign-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 10px; font-weight: 600; color: var(--text-primary);
}
.pmax-ag-row {
    display: flex; align-items: center; gap: 12px; padding: 8px 10px;
    border-radius: 6px; margin-bottom: 4px; font-size: 13px;
    background: rgba(255,255,255,0.02);
}
.pmax-ag-row:hover { background: var(--bg-hover); }
.pmax-ag-name { flex: 1; font-weight: 500; }
.pmax-ag-stats { display: flex; gap: 12px; font-size: 12px; color: var(--text-secondary); }
.pmax-issue-badge {
    display: inline-flex; padding: 2px 8px; border-radius: 6px;
    font-size: 10px; font-weight: 600;
}
.pmax-issue-wasted { background: rgba(239,68,68,0.15); color: #f87171; }
.pmax-issue-low-roas { background: rgba(245,158,11,0.15); color: #fbbf24; }
.pmax-issue-missing { background: rgba(168,85,247,0.15); color: #c084fc; }
.pmax-issue-no-feed { background: rgba(148,163,184,0.15); color: #94a3b8; }
.pmax-asset-indicator {
    display: inline-flex; gap: 4px; font-size: 10px; color: var(--text-muted);
}
.pmax-asset-count { padding: 1px 5px; border-radius: 4px; font-weight: 600; }
.pmax-asset-ok { background: rgba(16,185,129,0.15); color: #34d399; }
.pmax-asset-low { background: rgba(239,68,68,0.15); color: #f87171; }

/* ================================================
   FEATURE 18: Feed Health
   ================================================ */
.feed-health-score {
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px; border-radius: 12px;
    font-size: 22px; font-weight: 800;
}
.fh-good { background: rgba(16,185,129,0.2); color: #4ade80; }
.fh-fair { background: rgba(245,158,11,0.2); color: #fbbf24; }
.fh-poor { background: rgba(239,68,68,0.2); color: #f87171; }

.coverage-bars { display: flex; flex-direction: column; gap: 10px; margin: 16px 0; }
.coverage-row { display: flex; align-items: center; gap: 10px; }
.coverage-label { font-size: 12px; font-weight: 500; color: var(--text-secondary); min-width: 120px; }
.coverage-bar-wrap {
    flex: 1; height: 20px; background: var(--bg-primary);
    border-radius: 6px; overflow: hidden; position: relative;
}
.coverage-bar { height: 100%; border-radius: 6px; transition: width 0.3s; }
.coverage-pct {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    font-size: 11px; font-weight: 600; color: var(--text-primary);
}

/* ================================================
   FEATURE 19: Product Group Refresher
   ================================================ */
.ee-highlight {
    background: var(--amber-dim); border: 1px solid rgba(245,158,11,0.3);
    border-radius: 10px; padding: 14px; margin-bottom: 16px;
    display: flex; align-items: center; gap: 14px;
}
.ee-pct { font-size: 24px; font-weight: 800; color: var(--amber); }
.ee-detail { font-size: 13px; color: var(--text-secondary); }
.ee-detail strong { color: var(--text-primary); }

/* ================================================
   FEATURE 20: Root Cause / Investigate
   ================================================ */
.rca-overall {
    display: flex; gap: 16px; margin-bottom: 16px; padding: 14px;
    background: var(--bg-primary); border: 1px solid var(--border); border-radius: 10px;
    flex-wrap: wrap; align-items: center;
}
.rca-metric { text-align: center; min-width: 80px; }
.rca-metric-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; }
.rca-metric-value { font-size: 16px; font-weight: 700; }
.rca-arrow { font-size: 20px; color: var(--text-muted); }
.rca-delta-positive { color: #4ade80; }
.rca-delta-negative { color: #f87171; }
.rca-section-title {
    font-size: 12px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--text-muted); margin: 16px 0 8px;
}

/* ================================================
   FEATURE 21: Duplicate Keywords
   ================================================ */
.dup-group {
    background: var(--bg-primary); border: 1px solid var(--border);
    border-radius: 8px; padding: 12px; margin-bottom: 8px;
}
.dup-keyword {
    font-weight: 600; color: var(--text-primary); margin-bottom: 6px;
    display: flex; align-items: center; gap: 8px;
}
.dup-match-badge {
    padding: 1px 8px; border-radius: 6px; font-size: 10px; font-weight: 600;
    background: rgba(59,130,246,0.15); color: #60a5fa;
}
.dup-instance {
    display: flex; gap: 12px; font-size: 12px; color: var(--text-secondary);
    padding: 4px 8px; border-radius: 4px;
}
.dup-instance:nth-child(odd) { background: rgba(255,255,255,0.02); }
.dup-waste-badge {
    padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 600;
    background: rgba(239,68,68,0.15); color: #f87171;
}

/* ================================================
   FEATURE 22: Account Hygiene
   ================================================ */
.hygiene-score-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px; border-radius: 12px;
    font-size: 22px; font-weight: 800;
}
.hygiene-issue-row {
    display: flex; gap: 10px; align-items: center; padding: 8px 10px;
    border-radius: 6px; margin-bottom: 4px; font-size: 13px;
}
.hygiene-issue-row:nth-child(odd) { background: rgba(255,255,255,0.02); }
.hygiene-type-badge {
    padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 600;
    text-transform: capitalize; min-width: 100px; text-align: center;
}
.hygiene-disapproved { background: rgba(239,68,68,0.15); color: #f87171; }
.hygiene-no-ads { background: rgba(245,158,11,0.15); color: #fbbf24; }
.hygiene-http { background: rgba(168,85,247,0.15); color: #c084fc; }
.hygiene-poor-strength { background: rgba(59,130,246,0.15); color: #60a5fa; }

/* ================================================
   FEATURE 23: Search Partners
   ================================================ */
.partner-comparison {
    display: flex; gap: 16px; margin-bottom: 16px; flex-wrap: wrap;
}
.partner-card {
    flex: 1; min-width: 200px; padding: 14px;
    background: var(--bg-primary); border: 1px solid var(--border); border-radius: 10px;
}
.partner-card-title {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--text-muted); margin-bottom: 8px;
}
.partner-flagged {
    background: var(--red-dim); border: 1px solid rgba(239,68,68,0.3);
    border-radius: 8px; padding: 10px; margin-bottom: 6px;
    display: flex; justify-content: space-between; align-items: center; font-size: 13px;
}

/* ================================================
   FEATURE 24: Geographic Performance
   ================================================ */
.geo-region-bar {
    display: flex; align-items: center; gap: 8px; padding: 6px 0;
    border-bottom: 1px solid rgba(51,65,85,0.2);
}
.geo-region-name { min-width: 120px; font-size: 13px; font-weight: 500; }
.geo-bar-wrap { flex: 1; height: 16px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; }
.geo-bar { height: 100%; border-radius: 4px; }

/* ================================================
   FEATURE 25: Audience Performance
   ================================================ */
.audience-type-badge {
    padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 600;
    background: rgba(168,85,247,0.15); color: #c084fc; text-transform: capitalize;
}

/* ================================================
   ACCOUNT SETTINGS PAGE
   ================================================ */
.acct-settings-layout {
    display: flex;
    gap: 0;
    min-height: calc(100vh - 120px);
}

/* Left sidebar nav */
.acct-settings-nav {
    width: 200px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    padding: 16px 0;
    position: sticky;
    top: 0;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}
.acct-settings-nav .as-nav-section {
    padding: 0 12px;
    margin-bottom: 4px;
}
.acct-settings-nav .as-nav-header {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    padding: 12px 8px 6px;
}
.acct-settings-nav .as-nav-item {
    display: block;
    padding: 7px 10px;
    font-size: 13px;
    color: var(--text-secondary);
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.acct-settings-nav .as-nav-item:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}
.acct-settings-nav .as-nav-item.active {
    background: var(--accent-dim);
    color: var(--accent);
    font-weight: 600;
}

/* Right content area */
.acct-settings-content {
    flex: 1;
    padding: 24px 32px;
    max-width: 680px;
    overflow-y: auto;
}
.acct-settings-content .as-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--border);
}
.acct-settings-content .as-section:last-child {
    border-bottom: none;
}
.as-section-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 6px;
}
.as-section-desc {
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 16px;
    line-height: 1.5;
}

/* Form fields */
.as-field {
    margin-bottom: 16px;
}
.as-field-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 6px;
}
.as-field-hint {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 4px;
}
.as-input {
    width: 100%;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13px;
    transition: border-color 0.15s;
}
.as-input:focus {
    border-color: var(--accent);
    outline: none;
}
.as-input-sm { max-width: 200px; }
.as-input-md { max-width: 360px; }
.as-textarea {
    width: 100%;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13px;
    resize: vertical;
    min-height: 80px;
}
.as-textarea:focus {
    border-color: var(--accent);
    outline: none;
}
.as-select {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13px;
    appearance: auto;
}
.as-select:focus {
    border-color: var(--accent);
    outline: none;
}

/* Save button */
.as-save-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: var(--accent);
    color: #000;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s;
}
.as-save-btn:hover { opacity: 0.9; }
.as-save-btn:disabled { opacity: 0.5; cursor: default; }

/* Toggle switch */
.as-toggle {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}
.as-toggle input { opacity: 0; width: 0; height: 0; }
.as-toggle-slider {
    position: absolute;
    inset: 0;
    background: var(--border);
    border-radius: 22px;
    cursor: pointer;
    transition: background 0.2s;
}
.as-toggle-slider::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
}
.as-toggle input:checked + .as-toggle-slider {
    background: var(--accent);
}
.as-toggle input:checked + .as-toggle-slider::before {
    transform: translateX(18px);
}

/* Toggle row (label + toggle) */
.as-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(51,65,85,0.3);
}
.as-toggle-row:last-child { border-bottom: none; }
.as-toggle-row-label {
    font-size: 13px;
    color: var(--text-primary);
}
.as-toggle-row-desc {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 2px;
}

/* Connection card (GA4, GMC) */
.as-connect-card {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.as-connect-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.as-connect-icon.ga4 { background: rgba(245,158,11,0.15); }
.as-connect-icon.gmc { background: rgba(59,130,246,0.15); }
.as-connect-details { flex: 1; }
.as-connect-title { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.as-connect-status { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.as-connect-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
}
.as-connect-badge.connected { background: rgba(16,185,129,0.15); color: var(--accent); }
.as-connect-badge.disconnected { background: rgba(239,68,68,0.15); color: var(--red); }

/* Automation checklist */
.as-auto-group {
    margin-bottom: 16px;
}
.as-auto-group-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--accent);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.as-auto-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    font-size: 13px;
    color: var(--text-primary);
}
.as-auto-item input[type="checkbox"] {
    accent-color: var(--accent);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Read-only info row */
.as-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(51,65,85,0.2);
}
.as-info-row:last-child { border-bottom: none; }
.as-info-key { font-size: 12px; color: var(--text-muted); }
.as-info-val { font-size: 13px; color: var(--text-primary); font-weight: 500; font-family: 'SF Mono', 'Consolas', monospace; }

/* Profile avatar */
.as-avatar {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: var(--accent-dim);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    flex-shrink: 0;
}

/* Responsive: collapse sidebar on small screens */
@media (max-width: 800px) {
    .acct-settings-layout { flex-direction: column; }
    .acct-settings-nav {
        width: 100%;
        position: static;
        max-height: none;
        border-right: none;
        border-bottom: 1px solid var(--border);
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        padding: 12px;
    }
    .acct-settings-nav .as-nav-header { display: none; }
    .acct-settings-nav .as-nav-section { display: contents; }
    .acct-settings-content { padding: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════
   NEW FEATURES 26-40 STYLES
   ═══════════════════════════════════════════════════════════════════ */

/* ── Deep Linking ── */
.deep-link {
    color: var(--accent);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    transition: background 0.15s;
}
.deep-link:hover { background: var(--accent-dim); }
.deep-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: var(--bg-hover);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--accent);
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    transition: background 0.15s;
}
.deep-link-btn:hover { background: var(--accent-dim); }

/* ── Account Scorecard ── */
.scorecard-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}
.scorecard-overall {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.scorecard-overall.sc-excellent { background: rgba(16,185,129,0.15); border: 3px solid var(--accent); }
.scorecard-overall.sc-good { background: rgba(59,130,246,0.15); border: 3px solid var(--blue); }
.scorecard-overall.sc-fair { background: rgba(245,158,11,0.15); border: 3px solid var(--amber); }
.scorecard-overall.sc-poor { background: rgba(239,68,68,0.15); border: 3px solid var(--red); }
.scorecard-overall-score { font-size: 28px; font-weight: 800; line-height: 1; }
.scorecard-overall-label { font-size: 10px; font-weight: 600; color: var(--text-muted); }
.sc-excellent .scorecard-overall-score { color: var(--accent); }
.sc-good .scorecard-overall-score { color: var(--blue); }
.sc-fair .scorecard-overall-score { color: var(--amber); }
.sc-poor .scorecard-overall-score { color: var(--red); }

.scorecard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}
.scorecard-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
    text-align: center;
}
.scorecard-ring {
    position: relative;
    width: 64px;
    height: 64px;
    margin: 0 auto 8px;
}
.scorecard-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.ring-bg { fill: none; stroke: var(--border); stroke-width: 6; }
.ring-fg { fill: none; stroke-width: 6; stroke-linecap: round; transition: stroke-dasharray 0.6s; }
.sc-excellent .ring-fg { stroke: var(--accent); }
.sc-good .ring-fg { stroke: var(--blue); }
.sc-fair .ring-fg { stroke: var(--amber); }
.sc-poor .ring-fg { stroke: var(--red); }
.scorecard-score {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: 800;
    color: var(--text-primary);
}
.scorecard-card-title { font-size: 12px; font-weight: 600; color: var(--text-primary); margin-bottom: 2px; }
.scorecard-card-desc { font-size: 10px; color: var(--text-muted); }

/* ── RSA Writer ── */
.rsa-writer-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
}
@media (max-width: 900px) { .rsa-writer-layout { grid-template-columns: 1fr; } }
.rsa-writer-section { margin-bottom: 20px; }
.rsa-writer-section-title { font-size: 12px; font-weight: 700; color: var(--accent); margin-bottom: 8px; }
.rsa-input-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.rsa-char-count { font-size: 11px; color: var(--text-muted); white-space: nowrap; min-width: 40px; text-align: right; }
.serp-preview {
    background: #fff;
    border-radius: 10px;
    padding: 16px;
    max-width: 300px;
}
.serp-title { font-size: 18px; color: #1a0dab; line-height: 1.3; margin-bottom: 4px; }
.serp-url { font-size: 13px; color: #006621; margin-bottom: 4px; }
.serp-desc { font-size: 13px; color: #545454; line-height: 1.4; }

/* ── Campaign Groups ── */
.campaign-group-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 12px;
}
.campaign-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.campaign-group-name { font-size: 15px; font-weight: 700; color: var(--text-primary); }
.campaign-group-target {
    font-size: 11px;
    background: var(--accent-dim);
    color: var(--accent);
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
}

/* ── Bidding Strategy ── */
.bidding-recs { display: flex; flex-direction: column; gap: 12px; }
.bidding-rec-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
}
.bidding-rec-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.bidding-strategy-name { font-size: 15px; font-weight: 700; color: var(--text-primary); }
.bidding-confidence {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
}
.confidence-high { background: rgba(16,185,129,0.15); color: var(--accent); }
.confidence-medium { background: rgba(245,158,11,0.15); color: var(--amber); }
.confidence-low { background: rgba(239,68,68,0.15); color: var(--red); }
.bidding-rec-reason { font-size: 13px; color: var(--text-secondary); margin-bottom: 8px; line-height: 1.5; }
.bidding-rec-target { font-size: 12px; color: var(--text-muted); }
.bidding-badge {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--bg-hover);
    color: var(--text-secondary);
}
.bidding-badge.recommended { background: var(--accent-dim); color: var(--accent); font-weight: 600; }

/* ── Experiments ── */
.experiment-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 12px;
}
.experiment-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.experiment-name { font-size: 15px; font-weight: 700; color: var(--text-primary); }
.experiment-status {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
}
.experiment-status.running { background: rgba(59,130,246,0.15); color: var(--blue); }
.experiment-status.completed { background: rgba(16,185,129,0.15); color: var(--accent); }
.experiment-status.draft { background: rgba(100,116,139,0.15); color: var(--text-muted); }
.experiment-details {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 12px;
}
.experiment-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 8px;
}
.experiment-metric {
    background: var(--bg-primary);
    border-radius: 6px;
    padding: 8px 12px;
    text-align: center;
}
.experiment-metric span { display: block; font-size: 10px; color: var(--text-muted); margin-bottom: 2px; }
.experiment-metric strong { font-size: 14px; color: var(--text-primary); }
.exp-significant { color: var(--accent) !important; }
.exp-promising { color: var(--blue) !important; }
.exp-inconclusive { color: var(--amber) !important; }

/* ── AI Insights ── */
.ai-insight-form {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 20px;
}
.ai-response-card {
    background: var(--bg-secondary);
    border: 1px solid var(--accent);
    border-radius: 10px;
    padding: 20px;
}
.ai-response-header { font-size: 14px; font-weight: 700; color: var(--accent); margin-bottom: 8px; }
.ai-history-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 8px;
}
.ai-history-question { font-size: 13px; font-weight: 600; color: var(--text-primary); margin-bottom: 4px; }
.ai-history-answer { font-size: 12px; color: var(--text-secondary); line-height: 1.4; }
.ai-history-date { font-size: 10px; color: var(--text-muted); margin-top: 4px; }

/* ── Demographic Exclusions ── */
.btn-exclude {
    padding: 3px 10px;
    background: var(--red);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}
.btn-exclude:hover { opacity: 0.8; }

/* ══════════════════════════════════════════════════════════════════════
   OPTMYZR FEATURE GAP STYLES
   ══════════════════════════════════════════════════════════════════════ */

/* ── Budget Pacing ── */
.bp-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.bp-header h3 { font-size: 16px; font-weight: 700; color: var(--text-primary); }
.bp-day-counter { font-size: 12px; color: var(--text-muted); background: var(--bg-secondary); padding: 4px 12px; border-radius: 20px; }
.bp-portfolio-bar {
    display: flex; gap: 24px; padding: 16px 20px; background: var(--bg-secondary);
    border: 1px solid var(--border); border-radius: 10px; margin-bottom: 20px; flex-wrap: wrap;
}
.bp-portfolio-stat { display: flex; flex-direction: column; }
.bp-portfolio-stat span { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.bp-portfolio-stat strong { font-size: 18px; font-weight: 700; }
.bp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }
.bp-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px; padding: 16px;
    transition: border-color 0.15s;
}
.bp-card:hover { border-color: #475569; }
.bp-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.bp-acc-name { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.bp-status {
    font-size: 11px; font-weight: 700; padding: 2px 10px; border-radius: 4px;
}
.pacing-ok { background: rgba(16,185,129,0.15); color: var(--accent); }
.pacing-warn { background: rgba(245,158,11,0.15); color: var(--amber); }
.pacing-critical { background: rgba(239,68,68,0.15); color: var(--red); }
.bp-ring-row { display: flex; gap: 20px; align-items: center; }
.bp-ring { width: 90px; height: 90px; flex-shrink: 0; }
.bp-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; flex: 1; }
.bp-stat { display: flex; flex-direction: column; }
.bp-stat .bp-stat-label { font-size: 10px; color: var(--text-muted); }
.bp-stat .bp-stat-value { font-size: 13px; font-weight: 600; color: var(--text-primary); }

/* ── Spend Projection ── */
.sp-summary {
    display: flex; gap: 16px; padding: 16px; background: var(--bg-secondary);
    border: 1px solid var(--border); border-radius: 10px; margin-bottom: 20px; flex-wrap: wrap;
}
.sp-stat { display: flex; flex-direction: column; }
.sp-stat span { font-size: 10px; color: var(--text-muted); text-transform: uppercase; }
.sp-stat strong { font-size: 15px; font-weight: 700; }
.sp-chart-container {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px;
    padding: 20px; margin-bottom: 20px; position: relative;
}
.sp-chart-container h4 { font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; }
.sp-chart { display: flex; align-items: flex-end; gap: 2px; height: 120px; }
.sp-bar { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.sp-bar-fill { width: 100%; border-radius: 2px 2px 0 0; transition: height 0.3s; }
.sp-actual { background: var(--accent); }
.sp-projected { background: rgba(59, 130, 246, 0.4); border: 1px dashed var(--blue); }
.sp-bar-label { font-size: 8px; color: var(--text-muted); margin-top: 2px; }
.sp-budget-line {
    position: absolute; left: 20px; right: 20px; border-top: 2px dashed var(--red);
    font-size: 10px; color: var(--red); text-align: right; padding-top: 2px;
}
.sp-dow-section { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px; padding: 20px; }
.sp-dow-section h4 { font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; }
.sp-dow-grid { display: flex; gap: 12px; align-items: flex-end; }
.sp-dow-bar { display: flex; flex-direction: column; align-items: center; flex: 1; }
.sp-dow-fill { width: 100%; background: var(--blue); border-radius: 3px 3px 0 0; }
.sp-dow-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.sp-dow-val { font-size: 10px; color: var(--text-secondary); }

/* ── Cause Charts ── */
.cc-flow { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; justify-content: center; }
.cc-node {
    background: var(--bg-secondary); border: 2px solid var(--border); border-radius: 12px;
    padding: 16px 20px; text-align: center; min-width: 120px; position: relative;
    transition: border-color 0.2s;
}
.cc-root-cause { border-color: var(--red); box-shadow: 0 0 12px rgba(239,68,68,0.2); }
.cc-icon { font-size: 24px; margin-bottom: 4px; }
.cc-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.cc-value { font-size: 18px; font-weight: 700; color: var(--text-primary); }
.cc-change { font-size: 13px; font-weight: 600; }
.cc-root-badge {
    position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
    background: var(--red); color: #fff; font-size: 9px; font-weight: 700;
    padding: 2px 8px; border-radius: 10px; white-space: nowrap;
}
.cc-arrow { font-size: 24px; color: var(--text-muted); }
.cc-derived { margin-top: 8px; }
.cc-derived h4 { font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; }
.cc-derived-grid { display: flex; gap: 12px; flex-wrap: wrap; }
.cc-derived-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
    padding: 12px 16px; display: flex; flex-direction: column; align-items: center; min-width: 100px;
}
.cc-derived-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; }
.cc-derived-value { font-size: 16px; font-weight: 700; color: var(--text-primary); }
.cc-derived-change { font-size: 12px; font-weight: 600; }
.cc-derived-change.green { color: var(--accent); }
.cc-derived-change.red { color: var(--red); }

/* ── Seasonal Trends ── */
.st-months { display: flex; gap: 4px; align-items: flex-end; margin-bottom: 24px; min-height: 120px; }
.st-month-bar { display: flex; flex-direction: column; align-items: center; flex: 1; }
.st-month-fill { width: 100%; background: var(--blue); border-radius: 3px 3px 0 0; }
.st-month-label { font-size: 9px; color: var(--text-muted); margin-top: 4px; }
.st-month-val { font-size: 9px; color: var(--text-secondary); }
.st-month-change { font-size: 9px; font-weight: 600; }
.st-month-change.green { color: var(--accent); }
.st-month-change.red { color: var(--red); }
.st-dow-grid { display: flex; gap: 12px; align-items: flex-end; }
.st-dow-col { display: flex; flex-direction: column; align-items: center; flex: 1; }
.st-dow-bar { width: 100%; background: var(--accent); border-radius: 3px 3px 0 0; }
.st-dow-name { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.st-dow-val { font-size: 10px; color: var(--text-secondary); }
.st-dow-conv { font-size: 9px; color: var(--text-muted); }

/* ── QS History ── */
.qs-hist-summary { display: flex; gap: 24px; margin-bottom: 16px; flex-wrap: wrap; }
.qs-hist-chart { display: flex; gap: 3px; align-items: flex-end; min-height: 100px; margin-bottom: 16px; }
.qs-hist-bar { display: flex; flex-direction: column; align-items: center; flex: 1; }
.qs-hist-fill { width: 100%; border-radius: 2px 2px 0 0; }
.qs-hist-label { font-size: 8px; color: var(--text-muted); margin-top: 2px; }

/* ── Product Labeler ── */
.pl-distribution { margin-bottom: 20px; }
.pl-tier { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.pl-tier-bar { height: 24px; border-radius: 4px; min-width: 4px; transition: width 0.3s; }
.pl-tier-name { font-size: 13px; font-weight: 600; min-width: 80px; }
.pl-tier-count { font-size: 12px; color: var(--text-secondary); min-width: 80px; }
.pl-tier-desc { font-size: 11px; color: var(--text-muted); }
.pl-tabs { display: flex; gap: 4px; margin-bottom: 16px; flex-wrap: wrap; }

/* ── Account Blueprints ── */
.bp-progress-header { display: flex; gap: 20px; align-items: center; margin-bottom: 20px; }
.bp-progress-ring svg { width: 90px; height: 90px; }
.bp-checklist { display: flex; flex-direction: column; gap: 4px; }
.bp-check-item {
    display: flex; align-items: center; gap: 12px; padding: 10px 14px;
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
    transition: border-color 0.15s;
}
.bp-passed { border-left: 3px solid var(--accent); }
.bp-failed { border-left: 3px solid var(--border); opacity: 0.7; }
.bp-check-icon { font-size: 16px; flex-shrink: 0; }
.bp-check-content { flex: 1; }
.bp-check-name { font-size: 13px; font-weight: 600; color: var(--text-primary); display: block; }
.bp-check-desc { font-size: 11px; color: var(--text-muted); }
.bp-check-category {
    font-size: 10px; background: var(--bg-primary); color: var(--text-muted);
    padding: 2px 8px; border-radius: 4px; white-space: nowrap;
}

/* ── IS Recovery ── */
.is-recovery-section {
    background: var(--bg-secondary); border: 1px solid var(--accent); border-radius: 10px;
    padding: 16px; margin-bottom: 20px;
}

/* ── Portfolio Budget Optimizer ── */
.portfolio-optimizer {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px;
    padding: 20px; margin-top: 20px;
}
.po-suggestion {
    display: flex; align-items: center; gap: 10px; padding: 10px 14px;
    background: var(--bg-primary); border: 1px solid var(--border); border-radius: 8px; margin-bottom: 8px;
    flex-wrap: wrap;
}
.po-shift { font-weight: 700; color: var(--accent); font-size: 13px; }
.po-from { color: var(--red); font-size: 13px; }
.po-arrow { color: var(--text-muted); font-size: 16px; }
.po-to { color: var(--accent); font-size: 13px; }
.po-reason { font-size: 11px; color: var(--text-muted); flex-basis: 100%; margin-top: 4px; }

/* ── Sale Day Banner ── */
.sale-day-banner {
    background: linear-gradient(90deg, #ef4444, #f59e0b); color: #000; font-size: 14px;
    font-weight: 700; text-align: center; padding: 10px 20px;
    animation: pulse-banner 2s ease-in-out infinite;
}
@keyframes pulse-banner { 0%, 100% { opacity: 1; } 50% { opacity: 0.85; } }

/* ── Traffic Sculptor ── */
/* Uses existing dd-table styles */

/* ══════════════════════════════════════════════════════════════
   OPTMYZR ROUND 2 — STYLES
   ══════════════════════════════════════════════════════════════ */

/* ── Enhanced Investigator ── */
.inv-summary-card {
    background: var(--bg-secondary); border: 1px solid var(--accent); border-radius: 10px;
    padding: 14px 18px; margin-bottom: 16px;
}
.inv-summary-title { font-size: 14px; font-weight: 700; color: var(--accent); margin-bottom: 4px; }
.inv-summary-text { font-size: 13px; color: var(--text-secondary); line-height: 1.5; }

.inv-movers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0; }
.inv-movers-title { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.inv-mover-row {
    display: flex; align-items: center; gap: 8px; padding: 8px 12px;
    background: var(--bg-secondary); border-radius: 6px; margin-bottom: 4px; font-size: 12px;
}
.inv-mover-positive { border-left: 3px solid var(--accent); }
.inv-mover-negative { border-left: 3px solid var(--red); }
.inv-mover-name { flex: 1; color: var(--text-primary); font-weight: 500; }
.inv-mover-attr { color: var(--text-muted); font-size: 11px; }
.inv-mover-delta { font-weight: 600; white-space: nowrap; }
.inv-mover-positive .inv-mover-delta { color: var(--accent); }
.inv-mover-negative .inv-mover-delta { color: var(--red); }

.inv-drill-btn {
    background: var(--bg-hover); border: 1px solid var(--border); border-radius: 4px;
    color: var(--text-secondary); padding: 3px 10px; font-size: 11px; cursor: pointer;
    font-family: inherit; transition: all 0.15s;
}
.inv-drill-btn:hover { border-color: var(--accent); color: var(--accent); }

.inv-drilldown-panel {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
    padding: 16px; margin: 12px 0;
}

.inv-combo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.inv-combo-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 10px;
}
.inv-combo-label { font-size: 11px; font-weight: 600; color: var(--text-primary); margin-bottom: 4px; }
.inv-combo-metric { font-size: 11px; color: var(--text-secondary); }

/* ── Express (AI To-Do) ── */
.express-empty { text-align: center; padding: 60px 24px; }
.express-header {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 16px;
}
.express-header h3 { font-size: 16px; font-weight: 600; color: var(--text-primary); }

/* Guided Optimization Workflow */
.guided-container { max-width: 700px; }
.guided-topbar {
    display: flex; align-items: center; gap: 16px; padding: 12px 20px;
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
    margin-bottom: 20px;
}
.guided-timer {
    font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums;
    color: var(--accent); min-width: 60px;
}
.guided-progress-wrap { flex: 1; }
.guided-progress-bar {
    height: 6px; background: var(--bg-hover); border-radius: 3px; overflow: hidden;
}
.guided-progress-fill {
    height: 100%; background: var(--accent); border-radius: 3px;
    transition: width 0.3s ease;
}
.guided-progress-text { font-size: 11px; color: var(--text-muted); margin-top: 4px; display: block; }
.guided-card {
    background: var(--bg-card); border: 2px solid var(--accent); border-radius: 16px;
    padding: 32px; margin-bottom: 20px;
}
.guided-card-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.guided-card-desc { font-size: 18px; font-weight: 600; color: var(--text-primary); margin-bottom: 24px; line-height: 1.4; }
.guided-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.guided-upcoming {
    padding: 16px 20px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px;
}
.guided-upcoming-item {
    font-size: 12px; color: var(--text-secondary); padding: 6px 0;
    border-bottom: 1px solid var(--border);
}
.guided-upcoming-item:last-child { border-bottom: none; }
.guided-summary { text-align: center; padding: 60px 20px; }
.guided-summary h2 { font-size: 24px; color: var(--text-primary); margin-bottom: 24px; }
.guided-stats { display: flex; justify-content: center; gap: 40px; }
.guided-stat { text-align: center; }
.guided-stat-value { font-size: 32px; font-weight: 800; color: var(--accent); }
.guided-stat-label { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.express-count { font-size: 12px; color: var(--text-muted); }

.express-filters { display: flex; gap: 4px; margin-bottom: 12px; }

.express-list { display: flex; flex-direction: column; gap: 6px; }
.express-card {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px;
    padding: 12px 16px; transition: border-color 0.15s;
}
.express-card:hover { border-color: #475569; }
.express-priority-high { border-left: 3px solid var(--red); }
.express-priority-medium { border-left: 3px solid var(--amber); }
.express-priority-low { border-left: 3px solid var(--accent); }

.express-card-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.express-type-icon { font-size: 20px; flex-shrink: 0; }
.express-card-account { font-size: 12px; font-weight: 600; color: var(--accent); }
.express-card-desc { font-size: 13px; color: var(--text-secondary); line-height: 1.4; }

.express-card-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.express-priority-badge {
    font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 12px;
}
.express-badge-high { background: var(--red-dim); color: var(--red); }
.express-badge-medium { background: var(--amber-dim); color: var(--amber); }
.express-badge-low { background: var(--accent-dim); color: var(--accent); }

.express-go-btn {
    background: var(--bg-hover); border: 1px solid var(--border); border-radius: 6px;
    color: var(--text-secondary); padding: 4px 12px; font-size: 12px; cursor: pointer;
    font-family: inherit; transition: all 0.15s; white-space: nowrap;
}
.express-go-btn:hover { border-color: var(--accent); color: var(--accent); }

/* ── Smart Placement Exclusions ── */
.sp-smart-toggle {
    background: var(--bg-hover); border: 1px solid var(--border); border-radius: 6px;
    color: var(--text-secondary); padding: 6px 14px; font-size: 12px; cursor: pointer;
    font-family: inherit; font-weight: 600; transition: all 0.15s;
}
.sp-smart-toggle:hover { border-color: var(--accent); color: var(--accent); }
.sp-smart-active { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }

.sp-score {
    display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700;
}
.sp-score-good { background: var(--accent-dim); color: var(--accent); }
.sp-score-watch { background: var(--amber-dim); color: var(--amber); }
.sp-score-bad { background: var(--red-dim); color: var(--red); }

.sp-flagged-row { background: rgba(239, 68, 68, 0.05); }
.sp-good-row { background: rgba(16, 185, 129, 0.03); }

/* ── Bid Adjustment Columns ── */
.bid-adj-up { color: var(--accent); font-weight: 700; }
.bid-adj-down { color: var(--red); font-weight: 700; }

/* ── Vertical Benchmarks ── */
.bench-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.bench-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px; padding: 16px;
}
.bench-card-header {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;
}
.bench-metric-name { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.bench-status {
    font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 10px;
}
.bench-above { background: var(--accent-dim); color: var(--accent); }
.bench-below { background: var(--red-dim); color: var(--red); }

.bench-bars { display: flex; flex-direction: column; gap: 6px; }
.bench-bar-row { display: flex; align-items: center; gap: 8px; }
.bench-bar-label { font-size: 11px; color: var(--text-muted); width: 28px; }
.bench-bar-wrap { flex: 1; background: var(--bg-primary); border-radius: 4px; height: 20px; overflow: hidden; }
.bench-bar { height: 100%; border-radius: 4px; transition: width 0.3s; }
.bench-bar-you { background: var(--accent); }
.bench-bar-avg { background: var(--text-muted); opacity: 0.5; }
.bench-bar-value { font-size: 12px; font-weight: 600; color: var(--text-secondary); min-width: 60px; text-align: right; }

/* ── AI Performance Narrative ── */
.ai-narrative-card {
    background: var(--bg-secondary); border: 1px solid var(--accent); border-radius: 12px;
    padding: 20px;
}
.ai-narrative-headline { font-size: 18px; font-weight: 700; margin-bottom: 12px; }
.ai-narrative-body p { font-size: 13px; color: var(--text-secondary); line-height: 1.6; margin-bottom: 6px; }

/* ── PMax Network Distribution ── */
.pmax-network-section {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px;
    padding: 16px; margin-bottom: 16px;
}
.pmax-net-bar {
    display: flex; height: 28px; border-radius: 6px; overflow: hidden; margin-bottom: 8px;
}
.pmax-net-bar-seg { transition: width 0.3s; }
.pmax-net-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--text-secondary); }
.pmax-net-legend-item { display: flex; align-items: center; gap: 4px; }
.pmax-net-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0; }

/* ── Value color helpers ── */
.bp-stat-value.green, .sp-stat strong.green, .cc-derived-change.green, .st-month-change.green { color: var(--accent); }
.bp-stat-value.red, .sp-stat strong.red, .cc-derived-change.red, .st-month-change.red { color: var(--red); }
.bp-stat-value.amber, .sp-stat strong.amber { color: var(--amber); }
.waste { color: var(--red); }

/* ══════════════════════════════════════════════════════════════════════════
   TOP 10 IMPROVEMENTS — STYLES
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Command Palette (Cmd+K) ── */
.cmd-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(4px);
    display: none; align-items: flex-start; justify-content: center; padding-top: 15vh; z-index: 1000;
}
.cmd-palette {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 14px;
    width: 560px; max-width: 90vw; box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    overflow: hidden;
}
.cmd-input-wrap {
    display: flex; align-items: center; gap: 10px; padding: 14px 18px;
    border-bottom: 1px solid var(--border);
}
.cmd-icon { font-size: 16px; color: var(--text-muted); }
.cmd-input {
    flex: 1; background: transparent; border: none; outline: none;
    color: var(--text-primary); font-family: inherit; font-size: 15px;
}
.cmd-input::placeholder { color: var(--text-muted); }
.cmd-kbd {
    font-size: 10px; padding: 2px 6px; border-radius: 4px; border: 1px solid var(--border);
    color: var(--text-muted); background: var(--bg-primary);
}
.cmd-results { max-height: 400px; overflow-y: auto; padding: 6px 0; }
.cmd-group-label {
    font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;
    color: var(--text-muted); padding: 8px 18px 4px;
}
.cmd-result-item {
    display: flex; align-items: center; gap: 12px; padding: 10px 18px;
    cursor: pointer; transition: background 0.1s;
}
.cmd-result-item:hover, .cmd-result-item.cmd-selected { background: var(--bg-hover); }
.cmd-result-icon { font-size: 18px; width: 28px; text-align: center; flex-shrink: 0; }
.cmd-result-text { display: flex; flex-direction: column; }
.cmd-result-label { font-size: 14px; font-weight: 500; color: var(--text-primary); }
.cmd-result-sub { font-size: 11px; color: var(--text-muted); }
.cmd-empty { padding: 30px; text-align: center; color: var(--text-muted); font-size: 13px; }

/* ── 2. Data Freshness Indicators ── */
.freshness-badge {
    display: inline-flex; align-items: center; padding: 1px 8px; border-radius: 8px;
    font-size: 10px; font-weight: 600;
}
.freshness-green { background: rgba(16,185,129,0.15); color: #34d399; }
.freshness-amber { background: rgba(245,158,11,0.15); color: #fbbf24; }
.freshness-red { background: rgba(239,68,68,0.15); color: #f87171; }

/* ── 3. Quick Table Filter ── */
.table-filter-bar {
    display: flex; align-items: center; gap: 10px; padding: 8px 12px;
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
    margin-bottom: 8px;
}
.table-filter-input {
    flex: 1; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 6px;
    color: var(--text-primary); padding: 6px 12px; font-family: inherit; font-size: 13px;
}
.table-filter-input:focus { border-color: var(--accent); outline: none; }
.table-filter-input::placeholder { color: var(--text-muted); }
.table-filter-count { font-size: 11px; color: var(--text-muted); white-space: nowrap; }

/* ── 4. Skeleton Loading ── */
.skeleton-table, .skeleton-cards, .skeleton-stats { padding: 16px; }
.skeleton-header { width: 100%; }
.skeleton-row { width: 100%; }
.skeleton-card { width: 100%; }

/* ── 5. Collapsible Sections ── */
.collapse-chevron {
    font-size: 12px; color: var(--text-muted); margin-left: 6px; transition: transform 0.15s;
}

/* ── 6. Cross-Account Comparison ── */
.compare-controls { margin-bottom: 20px; }
.compare-account-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.compare-chip {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px;
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 20px;
    color: var(--text-secondary); font-size: 12px; cursor: pointer; transition: all 0.15s;
}
.compare-chip:hover { border-color: var(--text-muted); color: var(--text-primary); }
.compare-chip-active { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }
.compare-chip input { display: none; }
.compare-table-wrap { overflow-x: auto; border-radius: 10px; border: 1px solid var(--border); }
.compare-best { color: var(--accent); font-weight: 700; }

.compare-index-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.compare-index-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px; padding: 14px;
}
.compare-index-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
    color: var(--text-muted); margin-bottom: 10px;
}
.compare-index-bars { display: flex; flex-direction: column; gap: 8px; }
.compare-index-row { display: flex; align-items: center; gap: 8px; }
.compare-index-name { font-size: 12px; color: var(--text-secondary); min-width: 80px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.compare-index-bar-track { flex: 1; height: 12px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; }
.compare-index-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.compare-index-val { font-size: 12px; font-weight: 700; min-width: 30px; text-align: right; }

/* ── 7. Guided Optimization Workflow ── */
.guided-start-screen { text-align: center; padding: 60px 24px; }
.guided-start-icon { font-size: 64px; margin-bottom: 16px; }
.guided-start-screen h3 { font-size: 22px; font-weight: 700; color: var(--text-primary); }

.guided-progress-bar {
    height: 6px; background: var(--bg-hover); border-radius: 3px; margin-bottom: 12px; overflow: hidden;
}
.guided-progress-fill {
    height: 100%; background: var(--accent); border-radius: 3px; transition: width 0.3s;
}
.guided-status-bar {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;
    font-size: 13px; color: var(--text-muted);
}
.guided-task-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px;
    padding: 24px; text-align: center;
}
.guided-task-header {
    display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 16px;
}
.guided-task-desc {
    font-size: 15px; color: var(--text-secondary); margin-bottom: 24px; line-height: 1.5;
}
.guided-task-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.guided-summary-card { text-align: center; padding: 40px 24px; }
.guided-summary-stats { display: flex; justify-content: center; gap: 24px; margin-top: 20px; }
.guided-summary-stat { display: flex; flex-direction: column; align-items: center; }
.guided-summary-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; }
.guided-summary-value { font-size: 28px; font-weight: 800; color: var(--text-primary); }
.guided-empty { text-align: center; padding: 60px 24px; }

/* ── Product Labeler Overhaul ── */
.pl-header {
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.pl-header-left { display: flex; gap: 20px; flex-wrap: wrap; }
.pl-header-stat { display: flex; flex-direction: column; }
.pl-stat-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.pl-stat-value { font-size: 18px; font-weight: 700; color: var(--text-primary); }
.pl-view-tabs { display: flex; gap: 4px; }

.pl-tier-cards {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px;
    margin-bottom: 20px;
}
.pl-tier-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px;
    padding: 14px; cursor: pointer; transition: all 0.15s;
}
.pl-tier-card:hover { border-color: #475569; transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
.pl-tier-card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.pl-tier-icon { font-size: 18px; }
.pl-tier-name { font-size: 14px; font-weight: 700; }
.pl-tier-count { margin-left: auto; font-size: 20px; font-weight: 800; color: var(--text-primary); }
.pl-tier-pct { font-size: 12px; color: var(--text-muted); }
.pl-tier-card-bar { height: 6px; background: var(--bg-primary); border-radius: 3px; overflow: hidden; margin-bottom: 8px; }
.pl-tier-fill { height: 100%; border-radius: 3px; transition: width 0.3s; }
.pl-tier-card-stats { display: flex; gap: 16px; font-size: 12px; color: var(--text-secondary); margin-bottom: 4px; }
.pl-tier-desc { font-size: 11px; color: var(--text-muted); }

/* Rule builder */
.pl-rules-header { margin-bottom: 16px; }
.pl-rules-header h4 { font-size: 16px; font-weight: 600; color: var(--text-primary); margin-bottom: 4px; }
.pl-rule-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
    padding: 12px 16px; margin-bottom: 8px;
}
.pl-rule-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }
.pl-rule-number { font-size: 12px; font-weight: 700; color: var(--accent); }
.pl-rule-label-target { font-size: 13px; font-weight: 600; color: var(--text-primary); flex: 1; }
.pl-rule-conditions { font-size: 12px; color: var(--text-secondary); }
.pl-rule-match-count { font-size: 11px; color: var(--text-muted); margin-top: 4px; }

.pl-preview-box {
    background: var(--bg-secondary); border: 1px solid var(--accent); border-radius: 8px;
    padding: 12px 16px; margin-top: 8px; font-size: 13px; color: var(--text-primary);
}

/* Budget recommendations */
.pl-budget-grid { display: flex; flex-direction: column; gap: 12px; }
.pl-budget-row {
    display: flex; align-items: center; gap: 16px; padding: 12px 16px;
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
}
.pl-budget-tier { font-size: 14px; font-weight: 600; min-width: 120px; }
.pl-budget-bars { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.pl-budget-bar-group { display: flex; align-items: center; gap: 8px; }
.pl-budget-bar-label { font-size: 11px; color: var(--text-muted); min-width: 120px; }
.pl-budget-bar-track { flex: 1; height: 10px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; }
.pl-budget-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.pl-budget-diff { font-size: 13px; font-weight: 700; min-width: 60px; text-align: right; color: var(--text-secondary); }
.pl-over { color: var(--red); }
.pl-under { color: var(--accent); }
.pl-budget-action { font-size: 12px; color: var(--text-muted); min-width: 130px; }

/* Structure suggestions */
.pl-structure-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.pl-structure-card {
    background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px;
    padding: 12px; display: flex; flex-direction: column; gap: 4px;
}
.pl-structure-icon { font-size: 20px; }
.pl-structure-label { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.pl-structure-desc { font-size: 11px; color: var(--text-muted); }

/* Drill-down */
.pl-drill-header { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.pl-drill-filter { display: flex; gap: 10px; margin-bottom: 12px; }

/* Price bracket badges */
.pl-price-badge {
    display: inline-flex; padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 600;
}
.pl-price-budget { background: rgba(16,185,129,0.15); color: #34d399; }
.pl-price-midrange { background: rgba(59,130,246,0.15); color: #60a5fa; }
.pl-price-premium { background: rgba(168,85,247,0.15); color: #c084fc; }

/* Export bar */
.pl-export-bar {
    display: flex; gap: 10px; margin-top: 16px; padding-top: 16px;
    border-top: 1px solid var(--border);
}

/* ═══════════════════════════════════════════════════════════════ */
/* AI Summary Banner                                              */
/* ═══════════════════════════════════════════════════════════════ */
.ai-summary-banner {
    background: linear-gradient(135deg, rgba(59,130,246,0.08), rgba(168,85,247,0.08));
    border: 1px solid rgba(59,130,246,0.2);
    border-radius: 12px; padding: 14px 18px; margin-bottom: 20px;
}
.ai-banner-header {
    display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
}
.ai-banner-icon { font-size: 18px; }
.ai-banner-title { font-size: 13px; font-weight: 700; color: var(--text-secondary); flex: 1; }
.ai-banner-dismiss {
    background: none; border: none; color: var(--text-muted); font-size: 18px;
    cursor: pointer; padding: 0 4px; line-height: 1;
}
.ai-banner-dismiss:hover { color: var(--text-primary); }
.ai-banner-insights { display: flex; flex-wrap: wrap; gap: 8px; }
.ai-insight {
    display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 20px;
    font-size: 12px; font-weight: 500;
}
.ai-insight.ai-neutral { background: rgba(100,116,139,0.15); color: #94a3b8; }
.ai-insight.ai-good { background: rgba(16,185,129,0.15); color: #34d399; }
.ai-insight.ai-info { background: rgba(59,130,246,0.15); color: #60a5fa; }
.ai-insight.ai-warn { background: rgba(245,158,11,0.15); color: #fbbf24; }
.ai-insight.ai-alert { background: rgba(239,68,68,0.15); color: #f87171; }

/* ═══════════════════════════════════════════════════════════════ */
/* Budget Pacing Traffic Lights                                   */
/* ═══════════════════════════════════════════════════════════════ */
.pacing-traffic-lights {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 12px; padding: 14px 18px; margin-bottom: 20px;
}
.tl-header {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;
}
.tl-title { font-size: 13px; font-weight: 700; color: var(--text-secondary); }
.tl-legend { font-size: 10px; color: var(--text-muted); display: flex; align-items: center; gap: 4px; }
.tl-dots { display: flex; flex-wrap: wrap; gap: 12px; }
.tl-dot-wrap {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    cursor: pointer; transition: transform 0.15s;
}
.tl-dot-wrap:hover { transform: scale(1.15); }
.tl-dot {
    width: 14px; height: 14px; border-radius: 50%;
    box-shadow: 0 0 6px rgba(0,0,0,0.3);
}
.tl-dot.tl-green { background: #22c55e; box-shadow: 0 0 8px rgba(34,197,94,0.4); }
.tl-dot.tl-amber { background: #f59e0b; box-shadow: 0 0 8px rgba(245,158,11,0.4); }
.tl-dot.tl-red { background: #ef4444; box-shadow: 0 0 8px rgba(239,68,68,0.4); }
.tl-name { font-size: 9px; color: var(--text-muted); max-width: 60px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════ */
/* Pinned Favourites                                              */
/* ═══════════════════════════════════════════════════════════════ */
.nav-section-favs .nav-section-header { background: linear-gradient(135deg, rgba(245,158,11,0.1), rgba(245,158,11,0.05)); }
.fav-star {
    font-size: 12px; margin-left: auto; color: var(--text-muted); cursor: pointer;
    opacity: 0; transition: opacity 0.15s, color 0.15s;
}
.nav-item:hover .fav-star { opacity: 1; }
.fav-star.active { opacity: 1; color: #f59e0b; }
.fav-star:hover { color: #fbbf24 !important; }

/* ═══════════════════════════════════════════════════════════════ */
/* Keyboard Shortcut Legend                                       */
/* ═══════════════════════════════════════════════════════════════ */
.shortcut-legend {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 16px; padding: 24px; max-width: 480px; width: 90%;
}
.shortcut-legend-header {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;
}
.shortcut-legend-header h3 { margin: 0; color: var(--text-primary); font-size: 16px; }
.shortcut-legend-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.shortcut-item { display: flex; align-items: center; gap: 10px; }
.shortcut-item kbd {
    display: inline-block; background: var(--bg-primary); border: 1px solid var(--border);
    border-radius: 6px; padding: 3px 8px; font-size: 12px; font-family: inherit;
    color: var(--accent); min-width: 80px; text-align: center;
}
.shortcut-item span { font-size: 12px; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════ */
/* Recommendation ROI Estimator                                   */
/* ═══════════════════════════════════════════════════════════════ */
.rec-impact-badge {
    display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 12px;
    font-size: 10px; font-weight: 600; margin-left: auto;
}
.rec-impact-badge.impact-save { background: rgba(16,185,129,0.15); color: #34d399; }
.rec-impact-badge.impact-invest { background: rgba(59,130,246,0.15); color: #60a5fa; }
.rec-impact-badge.impact-quality { background: rgba(168,85,247,0.15); color: #c084fc; }
.optimizer-savings {
    font-size: 1.5rem; font-weight: 700; color: #34d399; line-height: 1;
}

/* ═══════════════════════════════════════════════════════════════ */
/* Search Term Intent Classifier                                  */
/* ═══════════════════════════════════════════════════════════════ */
.intent-badge {
    display: inline-flex; padding: 2px 8px; border-radius: 10px;
    font-size: 10px; font-weight: 600;
}
.intent-badge.intent-transactional { background: rgba(16,185,129,0.15); color: #34d399; }
.intent-badge.intent-info { background: rgba(59,130,246,0.15); color: #60a5fa; }
.intent-badge.intent-nav { background: rgba(168,85,247,0.15); color: #c084fc; }
.intent-badge.intent-competitor { background: rgba(245,158,11,0.15); color: #fbbf24; }
.intent-badge.intent-brand { background: rgba(239,68,68,0.15); color: #f87171; }
.intent-badge.intent-unknown { color: var(--text-muted); }
.qm-intent-filter {
    display: flex; align-items: center; margin: 10px 0;
}

/* ═══════════════════════════════════════════════════════════════ */
/* KPI Tracker                                                    */
/* ═══════════════════════════════════════════════════════════════ */
.kpi-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 20px;
}
.kpi-header h3 { margin: 0; color: var(--text-primary); }
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }
.kpi-card {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 12px; padding: 16px;
}
.kpi-card-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 12px;
}
.kpi-acc-name { font-weight: 600; color: var(--text-primary); font-size: 14px; }
.kpi-edit-panel {
    background: var(--bg-primary); border: 1px solid var(--border); border-radius: 8px;
    padding: 12px; margin-bottom: 12px;
}
.kpi-edit-row {
    display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
}
.kpi-edit-row label { font-size: 12px; color: var(--text-secondary); min-width: 100px; }
.kpi-metrics { display: flex; flex-direction: column; gap: 12px; }
.kpi-metric-row { }
.kpi-metric-label {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 4px;
}
.kpi-metric-label span:first-child { font-size: 12px; font-weight: 600; color: var(--text-secondary); }
.kpi-metric-status {
    font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 10px;
}
.kpi-metric-status.kpi-on-track { background: rgba(16,185,129,0.15); color: #34d399; }
.kpi-metric-status.kpi-behind { background: rgba(239,68,68,0.15); color: #f87171; }
.kpi-progress-bar {
    position: relative; height: 8px; background: var(--bg-primary);
    border-radius: 4px; overflow: visible; margin-bottom: 6px;
}
.kpi-progress-fill {
    height: 100%; border-radius: 4px; transition: width 0.3s;
}
.kpi-progress-fill.kpi-on-track { background: linear-gradient(90deg, #10b981, #34d399); }
.kpi-progress-fill.kpi-behind { background: linear-gradient(90deg, #ef4444, #f87171); }
.kpi-progress-marker {
    position: absolute; top: -3px; width: 2px; height: 14px;
    background: var(--text-muted); border-radius: 1px;
}
.kpi-metric-values {
    display: flex; gap: 16px; font-size: 11px; color: var(--text-muted);
}
.kpi-metric-values strong { color: var(--text-primary); }
.kpi-no-goals {
    font-size: 12px; color: var(--text-muted); text-align: center;
    padding: 20px; font-style: italic;
}

/* ═══════════════════════════════════════════════════════════════ */
/* Chart Annotations                                              */
/* ═══════════════════════════════════════════════════════════════ */
.annotation-bar {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 12px; padding: 12px 16px; margin-bottom: 20px;
}
.ann-header {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;
}
.ann-title { font-size: 12px; font-weight: 700; color: var(--text-secondary); }
.ann-add-btn {
    font-size: 11px; padding: 3px 10px; background: var(--accent); color: #fff;
    border: none; border-radius: 6px; cursor: pointer;
}
.ann-add-btn:hover { opacity: 0.85; }
.ann-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ann-tag {
    display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px;
    background: rgba(245,158,11,0.12); border: 1px solid rgba(245,158,11,0.3);
    border-radius: 6px; font-size: 11px; color: #fbbf24;
}
.ann-tag-date { font-weight: 700; margin-right: 2px; }
.ann-tag-remove { cursor: pointer; font-size: 14px; opacity: 0.6; }
.ann-tag-remove:hover { opacity: 1; }
.ann-empty { font-size: 11px; color: var(--text-muted); font-style: italic; }

/* ═══════════════════════════════════════════════════════════════ */
/* IS Leaderboard                                                 */
/* ═══════════════════════════════════════════════════════════════ */
.is-lb-chart { display: flex; flex-direction: column; gap: 6px; }
.is-lb-row {
    display: flex; align-items: center; gap: 10px; cursor: pointer;
    padding: 4px 0; transition: background 0.1s;
}
.is-lb-row:hover { background: rgba(255,255,255,0.03); }
.is-lb-name { min-width: 140px; font-size: 12px; color: var(--text-primary); font-weight: 500; }
.is-lb-bar-wrap {
    flex: 1; display: flex; height: 16px; background: var(--bg-primary);
    border-radius: 4px; overflow: hidden;
}
.is-lb-bar { height: 100%; transition: width 0.3s; }
.is-lb-shown { background: #3b82f6; }
.is-lb-lost-budget { background: #f59e0b; }
.is-lb-lost-rank { background: #ef4444; }
.is-lb-pct { min-width: 40px; text-align: right; font-size: 12px; font-weight: 700; color: var(--text-primary); }
.is-lb-legend { display: flex; gap: 16px; margin-top: 8px; font-size: 11px; color: var(--text-muted); }
.is-lb-dot { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 4px; vertical-align: middle; }

/* ═══════════════════════════════════════════════════════════════ */
/* Campaign Launch Checklist                                      */
/* ═══════════════════════════════════════════════════════════════ */
.cl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 16px; }
.cl-card {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 12px; padding: 16px;
}
.cl-card.cl-complete { border-color: rgba(16,185,129,0.4); }
.cl-card-header { display: flex; justify-content: space-between; align-items: flex-start; }
.cl-card-name { font-weight: 700; color: var(--text-primary); font-size: 14px; }
.cl-card-date { display: block; font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.cl-steps { display: flex; flex-direction: column; gap: 2px; }
.cl-step {
    display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px;
    border-radius: 6px; cursor: pointer; transition: background 0.1s;
}
.cl-step:hover { background: rgba(255,255,255,0.03); }
.cl-step-done { opacity: 0.5; }
.cl-step-done .cl-step-label { text-decoration: line-through; }
.cl-checkbox { font-size: 16px; line-height: 1; margin-top: 1px; }
.cl-step-info { display: flex; flex-direction: column; }
.cl-step-label { font-size: 12px; font-weight: 600; color: var(--text-primary); }
.cl-step-desc { font-size: 10px; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════ */
/* Day/Hour Performance Heatmap                                   */
/* ═══════════════════════════════════════════════════════════════ */
.hm-table {
    border-collapse: collapse; width: 100%; font-size: 10px;
}
.hm-table th {
    padding: 3px 2px; font-size: 9px; color: var(--text-muted);
    font-weight: 600; text-align: center;
}
.hm-day { font-weight: 700; color: var(--text-secondary); padding-right: 8px; text-align: left; }
.hm-cell {
    text-align: center; padding: 4px 2px; min-width: 28px;
    border-radius: 2px; color: var(--text-primary); font-size: 9px;
    border: 1px solid var(--bg-primary);
}
.hm-color-scale {
    display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
    font-size: 10px; color: var(--text-muted);
}
.hm-scale-bar {
    flex: 1; max-width: 200px; height: 8px; border-radius: 4px;
    background: linear-gradient(90deg, rgba(30,41,53,1), rgba(16,185,129,0.3), rgba(16,185,129,0.6), rgba(239,68,68,0.6), rgba(239,68,68,0.9));
}

/* ═══════════════════════════════════════════════════════════════ */
/* Anomaly Detection Panel                                        */
/* ═══════════════════════════════════════════════════════════════ */
.anomaly-panel {
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 16px; padding: 24px; max-width: 560px; width: 90%;
    max-height: 80vh; overflow-y: auto;
}
.anomaly-panel-header {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;
}
.anomaly-panel-header h3 { margin: 0; color: var(--text-primary); font-size: 16px; }
.anomaly-list { display: flex; flex-direction: column; gap: 8px; }
.anomaly-item {
    display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
    border-radius: 8px; cursor: pointer; transition: background 0.1s;
    border: 1px solid var(--border);
}
.anomaly-item:hover { background: var(--bg-hover); }
.anomaly-item.anomaly-critical { border-left: 3px solid #ef4444; }
.anomaly-item.anomaly-high { border-left: 3px solid #f59e0b; }
.anomaly-item.anomaly-medium { border-left: 3px solid #3b82f6; }
.anomaly-sev { font-size: 16px; margin-top: 2px; }
.anomaly-info { flex: 1; }
.anomaly-account { font-weight: 700; font-size: 13px; color: var(--text-primary); }
.anomaly-msg { font-size: 12px; color: var(--accent); margin-top: 2px; }
.anomaly-detail { font-size: 11px; color: var(--text-muted); margin-top: 2px; }

/* ═══════════════════════════════════════════════════════════════ */
/* Account Notes                                                  */
/* ═══════════════════════════════════════════════════════════════ */
.acct-notes-list { display: flex; flex-direction: column; gap: 8px; }
.acct-note {
    background: var(--bg-primary); border: 1px solid var(--border);
    border-radius: 8px; padding: 10px 12px;
}
.acct-note-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.acct-note-date { font-size: 11px; color: var(--text-muted); }
.acct-note-text { font-size: 12px; color: var(--text-primary); line-height: 1.4; white-space: pre-wrap; }

/* ═══════════════════════════════════════════════════════════════ */
/* Universal CSV Export                                           */
/* ═══════════════════════════════════════════════════════════════ */
.csv-export-btn {
    display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px;
    font-size: 11px; background: var(--bg-secondary); color: var(--text-muted);
    border: 1px solid var(--border); border-radius: 6px; cursor: pointer;
    margin-bottom: 6px; transition: all 0.15s;
}
.csv-export-btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ═══════════════════════════════════════════════════════════════ */
/* Dark/Light Theme Toggle                                        */
/* ═══════════════════════════════════════════════════════════════ */
.theme-toggle-btn {
    display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 8px; font-size: 16px;
    background: var(--bg-primary); border: 1px solid var(--border);
    cursor: pointer; transition: all 0.2s;
}
.theme-toggle-btn:hover { background: var(--bg-hover); border-color: var(--accent); }
body.theme-light .sidebar { box-shadow: 2px 0 8px rgba(0,0,0,0.05); }
body.theme-light .perf-table th { background: #f1f5f9; }
body.theme-light .rec-card { box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
body.theme-light .hm-scale-bar {
    background: linear-gradient(90deg, #f1f5f9, rgba(16,185,129,0.3), rgba(16,185,129,0.6), rgba(239,68,68,0.6), rgba(239,68,68,0.9));
}

/* ═══════════════════════════════════════════════════════════════ */
/* WoW/MoM Change Indicators                                     */
/* ═══════════════════════════════════════════════════════════════ */
.change-indicator {
    display: inline-block; font-size: 9px; font-weight: 700; margin-left: 3px;
    padding: 1px 4px; border-radius: 4px;
}
.change-indicator.change-up { color: #34d399; background: rgba(16,185,129,0.12); }
.change-indicator.change-down { color: #f87171; background: rgba(239,68,68,0.12); }


/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 6 — Alert Center                                        */
/* ═══════════════════════════════════════════════════════════════ */
.alert-bell {
    background: none; border: none; cursor: pointer; font-size: 18px;
    position: relative; padding: 4px; margin-left: auto;
}
.alert-bell-badge {
    position: absolute; top: -2px; right: -4px; background: #ef4444;
    color: #fff; font-size: 9px; font-weight: 700; min-width: 16px;
    height: 16px; border-radius: 8px; display: inline-flex;
    align-items: center; justify-content: center; padding: 0 4px;
}
.alert-center { padding: 0 4px; }
.alert-center-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 8px;
}
.alert-center-summary { display: flex; gap: 6px; flex-wrap: wrap; }
.alert-chip {
    font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 12px;
}
.alert-chip-critical { background: rgba(239,68,68,0.15); color: #f87171; }
.alert-chip-high { background: rgba(251,146,60,0.15); color: #fb923c; }
.alert-chip-medium { background: rgba(250,204,21,0.15); color: #fbbf24; }
.alert-chip-info { background: rgba(96,165,250,0.15); color: #60a5fa; }
.alert-center-empty {
    text-align: center; padding: 48px 20px;
    background: var(--bg-card); border-radius: 10px;
    border: 1px solid var(--border);
}
.alert-item {
    display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px;
    background: var(--bg-card); border-radius: 8px; margin-bottom: 6px;
    border-left: 3px solid var(--border); transition: background 0.15s;
}
.alert-item:hover { background: var(--bg-hover); }
.alert-item-critical { border-left-color: #ef4444; }
.alert-item-high { border-left-color: #f97316; }
.alert-item-medium { border-left-color: #eab308; }
.alert-item-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.alert-item-body { flex: 1; min-width: 0; }
.alert-item-account { font-size: 11px; color: var(--text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.alert-item-msg { font-size: 13px; font-weight: 500; color: var(--text-primary); margin-top: 2px; }
.alert-item-detail { font-size: 11px; color: var(--text-muted); margin-top: 3px; }
.alert-item-actions { display: flex; gap: 4px; flex-shrink: 0; }
.alert-action-btn {
    background: none; border: 1px solid var(--border); border-radius: 4px;
    cursor: pointer; font-size: 12px; padding: 4px 8px; color: var(--text-muted);
    transition: all 0.15s;
}
.alert-action-btn:hover { background: var(--bg-hover); color: var(--text-primary); border-color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 6 — Variance Explainer                                  */
/* ═══════════════════════════════════════════════════════════════ */
.variance-panel {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px; margin: 12px 0; overflow: hidden;
}
.variance-panel.collapsed .variance-body { display: none; }
.variance-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; cursor: pointer; border-bottom: 1px solid var(--border);
}
.variance-header:hover { background: var(--bg-hover); }
.variance-body { padding: 8px; }
.variance-card {
    display: flex; align-items: flex-start; gap: 8px; padding: 8px 10px;
    border-radius: 6px; cursor: pointer; font-size: 12px;
    line-height: 1.5; color: var(--text-secondary); transition: background 0.15s;
}
.variance-card:hover { background: var(--bg-hover); }
.variance-tag {
    font-size: 9px; font-weight: 700; text-transform: uppercase;
    padding: 2px 6px; border: 1px solid; border-radius: 4px;
    white-space: nowrap; flex-shrink: 0; margin-top: 1px;
}
.variance-sentence { flex: 1; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 6 — Sparkboard                                          */
/* ═══════════════════════════════════════════════════════════════ */
.sparkboard { overflow-x: auto; }
.sb-filter { margin-bottom: 10px; display: flex; align-items: center; }
.sb-table {
    width: 100%; border-collapse: collapse;
    background: var(--bg-card); border-radius: 10px;
    overflow: hidden; border: 1px solid var(--border);
}
.sb-table th {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.5px; color: var(--text-muted);
    padding: 8px 10px; text-align: center; border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
}
.sb-acct-col { text-align: left !important; width: 140px; }
.sb-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.sb-acct-cell { width: 140px; }
.sb-cell { text-align: center; }
.sb-cell-inner { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.sb-spark { line-height: 0; }
.sb-val { font-size: 11px; font-weight: 600; color: var(--text-primary); }
.sb-delta { font-size: 9px; font-weight: 700; }
.sb-row { transition: opacity 0.2s; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 6 — Client Mode                                         */
/* ═══════════════════════════════════════════════════════════════ */
.client-mode-toggle {
    display: block; width: 100%; padding: 6px 10px; margin-bottom: 6px;
    background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 6px; color: var(--text-muted); font-size: 11px;
    cursor: pointer; text-align: center; transition: all 0.15s;
}
.client-mode-toggle:hover { background: var(--bg-hover); color: var(--text-primary); }
.client-banner {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px; margin-bottom: 16px;
}
.client-banner-actions { display: flex; gap: 6px; }
body.client-mode .alert-bell,
body.client-mode .fav-star,
body.client-mode .cmd-palette-trigger,
body.client-mode .theme-toggle-btn,
body.client-mode #smart-switcher,
body.client-mode .search-container,
body.client-mode .ai-summary-banner,
body.client-mode #pacing-traffic-lights,
body.client-mode #portfolio-summary-card,
body.client-mode #variance-explainer,
body.client-mode #portfolio-optimizer-container,
body.client-mode #portfolioTrendChart,
body.client-mode .chart-annotations-container,
body.client-mode .page-subtitle { display: none !important; }

/* Print styles for client mode */
@media print {
    .sidebar, .hamburger-btn, .client-banner-actions,
    .alert-bell, .fav-star, .theme-toggle-btn { display: none !important; }
    .main { margin-left: 0 !important; padding: 20px !important; }
    .client-banner { border: none; background: white; }
    body { background: white !important; }
    .page-header, .tab-panel { background: white !important; }
}

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 7 — Task Queue                                          */
/* ═══════════════════════════════════════════════════════════════ */
.tq-container { max-width: 800px; }
.tq-summary {
    display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap;
}
.tq-stat {
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px;
    padding: 12px 16px; text-align: center; flex: 1; min-width: 80px;
}
.tq-stat-val { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.tq-stat-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 2px; }
.tq-due-today { color: #fbbf24 !important; }
.tq-add-form {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 8px; padding: 12px 14px; margin-bottom: 12px;
}
.tq-templates { margin-bottom: 16px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.tq-template-btn {
    font-size: 10px; padding: 3px 8px; background: var(--bg-secondary);
    border: 1px solid var(--border); border-radius: 4px; color: var(--text-muted);
    cursor: pointer; transition: all 0.15s;
}
.tq-template-btn:hover { background: var(--bg-hover); color: var(--text-primary); }
.tq-list { margin-bottom: 16px; }
.tq-day-group { margin-bottom: 12px; }
.tq-day-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.5px; color: var(--text-muted); margin-bottom: 6px;
    padding-left: 4px;
}
.tq-day-today .tq-day-label { color: #fbbf24; }
.tq-day-overdue .tq-day-label { color: #f87171; }
.tq-task {
    display: flex; align-items: center; gap: 8px; padding: 8px 10px;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 6px; margin-bottom: 3px;
}
.tq-task-overdue { border-left: 3px solid #f87171; }
.tq-task-done { opacity: 0.5; }
.tq-task-check { flex-shrink: 0; }
.tq-task-check input[type="checkbox"] { width: 14px; height: 14px; cursor: pointer; }
.tq-task-body { flex: 1; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tq-task-type {
    font-size: 9px; font-weight: 700; text-transform: uppercase;
    padding: 2px 6px; border-radius: 3px; flex-shrink: 0;
}
.tq-type-budget { background: rgba(96,165,250,0.15); color: #60a5fa; }
.tq-type-bidding { background: rgba(167,139,250,0.15); color: #a78bfa; }
.tq-type-campaign { background: rgba(251,146,60,0.15); color: #fb923c; }
.tq-type-keywords { background: rgba(52,211,153,0.15); color: #34d399; }
.tq-type-creative { background: rgba(244,114,182,0.15); color: #f472b6; }
.tq-type-extension { background: rgba(250,204,21,0.15); color: #fbbf24; }
.tq-type-monitor { background: rgba(148,163,184,0.15); color: #94a3b8; }
.tq-type-other { background: rgba(148,163,184,0.15); color: #94a3b8; }
.tq-task-account { font-size: 10px; color: var(--text-muted); font-weight: 600; }
.tq-task-action { font-size: 12px; color: var(--text-primary); }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 7 — Statistical Significance                            */
/* ═══════════════════════════════════════════════════════════════ */
.stat-sig-panel {
    margin-top: 12px; padding: 12px; background: var(--bg-secondary);
    border-radius: 8px; border: 1px solid var(--border);
}
.stat-sig-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 10px;
}
.stat-sig-metric {
    display: flex; flex-direction: column; gap: 2px; font-size: 11px;
}
.stat-sig-metric span { color: var(--text-muted); font-size: 10px; }
.stat-sig-metric strong { color: var(--text-primary); }
.stat-sig-progress {
    height: 6px; background: var(--bg-card); border-radius: 3px;
    position: relative; margin-bottom: 8px; overflow: visible;
}
.stat-sig-bar {
    height: 100%; border-radius: 3px; transition: width 0.3s;
}
.stat-sig-markers { position: relative; }
.stat-sig-markers span {
    position: absolute; top: -14px; font-size: 8px; color: var(--text-muted);
    transform: translateX(-50%);
}
.stat-sig-verdict {
    font-size: 12px; font-weight: 600; padding: 6px 10px; border-radius: 6px;
}
.stat-winner { background: rgba(16,185,129,0.1); color: #34d399; }
.stat-loser { background: rgba(239,68,68,0.1); color: #f87171; }
.stat-promising { background: rgba(250,204,21,0.1); color: #fbbf24; }
.stat-inconclusive { background: rgba(148,163,184,0.1); color: #94a3b8; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 7 — Portfolio Budget Planner                            */
/* ═══════════════════════════════════════════════════════════════ */
.pb-container { max-width: 900px; }
.pb-total {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px; padding: 16px; margin-bottom: 16px;
}
.pb-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 10px; margin-bottom: 16px;
}
.pb-account {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 8px; padding: 12px;
}
.pb-account-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 6px;
}
.pb-account-name { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.pb-account-pct { font-size: 14px; font-weight: 700; color: var(--accent); }
.pb-slider {
    width: 100%; height: 4px; -webkit-appearance: none; appearance: none;
    background: var(--border); border-radius: 2px; outline: none;
    margin: 6px 0;
}
.pb-slider::-webkit-slider-thumb {
    -webkit-appearance: none; width: 14px; height: 14px;
    border-radius: 50%; background: var(--accent); cursor: pointer;
}
.pb-account-detail {
    display: flex; justify-content: space-between; font-size: 11px;
    color: var(--text-muted); margin-top: 4px;
}
.pb-account-metrics {
    display: flex; gap: 10px; font-size: 10px; color: var(--text-muted);
    margin-top: 6px;
}
.pb-projection {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px; padding: 16px; margin-bottom: 16px;
}
.pb-proj-grid { display: flex; gap: 12px; flex-wrap: wrap; }
.pb-scenarios {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px; padding: 16px;
}
.pb-scenario-item {
    display: flex; align-items: center; gap: 8px; padding: 6px 0;
    border-bottom: 1px solid var(--border);
}

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 7 — Negative Gap Matrix                                 */
/* ═══════════════════════════════════════════════════════════════ */
.neg-gap { overflow-x: auto; }
.neg-gap-summary { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.neg-matrix th { font-size: 9px !important; padding: 4px !important; }
.neg-matrix td { padding: 4px 6px !important; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 8 — Creative Matrix                                     */
/* ═══════════════════════════════════════════════════════════════ */
.creative-matrix { margin-top: 20px; }
.creative-flag {
    font-size: 8px; font-weight: 700; text-transform: uppercase;
    padding: 2px 5px; border-radius: 3px; margin-right: 3px;
}
.creative-flag-fatigue { background: rgba(251,146,60,0.15); color: #fb923c; }
.creative-flag-dupe { background: rgba(167,139,250,0.15); color: #a78bfa; }
.creative-flag-winner { background: rgba(52,211,153,0.15); color: #34d399; }

/* Task Queue nav badge */
.tq-nav-badge {
    display: inline-flex; align-items: center; justify-content: center;
    background: #fbbf24; color: #000; font-size: 9px; font-weight: 700;
    min-width: 16px; height: 16px; border-radius: 8px; padding: 0 4px;
    margin-left: 4px;
}

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 9 — Quick Wins                                          */
/* ═══════════════════════════════════════════════════════════════ */
.qw-card {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 8px; margin-bottom: 4px; cursor: pointer;
    transition: all 0.15s;
}
.qw-card:hover { background: var(--bg-hover); border-color: var(--accent); }
.qw-rank {
    font-size: 14px; font-weight: 800; color: var(--text-muted);
    min-width: 24px; text-align: center;
}
.qw-card:nth-child(-n+3) .qw-rank { color: var(--accent); }
.qw-icon { font-size: 18px; flex-shrink: 0; }
.qw-body { flex: 1; min-width: 0; }
.qw-account { font-size: 10px; color: var(--text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.qw-desc { font-size: 12px; color: var(--text-primary); margin-top: 2px; }
.qw-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex-shrink: 0; }
.qw-effort { font-size: 10px; font-weight: 700; }
.qw-impact { font-size: 9px; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 9 — Wasted Spend                                        */
/* ═══════════════════════════════════════════════════════════════ */
.waste-calc { max-width: 900px; }
.waste-chart { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; padding: 14px; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 10 — Auction Insights                                   */
/* ═══════════════════════════════════════════════════════════════ */
.auction-insights { max-width: 900px; }
.ai-campaign-row {
    display: flex; align-items: center; gap: 8px; margin-bottom: 4px;
}
.ai-campaign-name {
    width: 180px; font-size: 11px; color: var(--text-secondary);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex-shrink: 0;
}
.ai-is-bar {
    flex: 1; height: 16px; display: flex; border-radius: 3px; overflow: hidden;
    background: var(--bg-secondary);
}
.ai-bar-segment { height: 100%; transition: width 0.3s; }
.ai-is-pct {
    font-size: 11px; font-weight: 700; color: var(--text-primary);
    min-width: 36px; text-align: right;
}

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 10 — Radar Compare                                      */
/* ═══════════════════════════════════════════════════════════════ */
.radar-compare { max-width: 800px; }
.radar-check {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px; color: var(--text-secondary); cursor: pointer;
    padding: 3px 8px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 4px;
}
.radar-check input { width: 12px; height: 12px; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 10 — Digest Preview                                     */
/* ═══════════════════════════════════════════════════════════════ */
.digest-preview { max-width: 700px; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 11 — Conversion Funnel                                  */
/* ═══════════════════════════════════════════════════════════════ */
.funnel-viz { max-width: 800px; }
.funnel-chart { margin: 16px 0; }
.funnel-stage { margin-bottom: 2px; }
.funnel-bar {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 14px; border-radius: 6px; margin: 0 auto;
    transition: width 0.3s;
}
.funnel-bar-label { font-size: 12px; font-weight: 600; color: #fff; }
.funnel-bar-value { font-size: 13px; font-weight: 700; color: #fff; }
.funnel-rate {
    text-align: center; font-size: 10px; color: var(--text-muted);
    padding: 4px 0; font-weight: 600;
}
.funnel-bottleneck {
    padding: 12px 16px; border-radius: 8px; border: 1px solid;
    background: var(--bg-card); margin-top: 16px;
}

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 11 — Activity Log                                       */
/* ═══════════════════════════════════════════════════════════════ */
.activity-log { max-width: 700px; }
.activity-entry {
    display: flex; gap: 10px; padding: 8px 10px;
    border-bottom: 1px solid var(--border);
}
.activity-icon { font-size: 16px; flex-shrink: 0; margin-top: 2px; }
.activity-body { flex: 1; }
.activity-desc { font-size: 12px; color: var(--text-primary); }
.activity-meta {
    display: flex; gap: 12px; font-size: 10px; color: var(--text-muted); margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 12 — Time Machine, Sidebar Search, Smart Stubs,         */
/*            Keyboard Nav, Pacing Overview                       */
/* ═══════════════════════════════════════════════════════════════ */

/* Sidebar Search */
.sidebar-search { padding: 8px 12px 4px; }
.sidebar-search input {
    width: 100%; padding: 6px 10px; border: 1px solid var(--border);
    border-radius: 6px; background: var(--bg-card); color: var(--text-primary);
    font-size: 11px; outline: none;
}
.sidebar-search input:focus { border-color: var(--accent); }
.sidebar-search input::placeholder { color: var(--text-muted); }

/* Time Machine */
.tm-container { max-width: 800px; }
.tm-metric { margin-bottom: 16px; }
.tm-metric-label { font-size: 12px; font-weight: 600; margin-bottom: 6px; color: var(--text-primary); }
.tm-bar-row { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.tm-tf-label { font-size: 10px; color: var(--text-muted); width: 60px; text-align: right; flex-shrink: 0; }
.tm-bar-track { flex: 1; height: 16px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.tm-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; min-width: 2px; }
.tm-bar-value { font-size: 11px; font-weight: 600; width: 80px; text-align: right; color: var(--text-primary); }
.tm-table { width: 100%; font-size: 12px; border-collapse: collapse; }
.tm-table th { text-align: left; padding: 6px 10px; border-bottom: 1px solid var(--border); color: var(--text-muted); font-weight: 500; }
.tm-table td { padding: 6px 10px; border-bottom: 1px solid var(--border); }

/* Smart Empty States */
.smart-empty { text-align: center; padding: 48px 24px; max-width: 480px; margin: 0 auto; }
.smart-empty-icon { font-size: 40px; margin-bottom: 12px; }
.smart-empty-title { font-size: 16px; font-weight: 600; margin-bottom: 8px; color: var(--text-primary); }
.smart-empty-desc { font-size: 13px; color: var(--text-muted); margin-bottom: 16px; line-height: 1.5; }
.smart-empty-req { text-align: left; padding: 12px 16px; background: var(--bg-secondary); border-radius: 8px; font-size: 12px; color: var(--text-primary); }
.smart-empty-req strong { display: block; margin-bottom: 4px; }
.smart-empty-req p { margin: 0; color: var(--text-muted); }
.smart-empty-cmd { display: block; margin-top: 8px; padding: 6px 10px; background: var(--bg-primary); border-radius: 4px; font-size: 11px; color: var(--accent); }

/* Keyboard Navigation */
#perf-body tr.kb-selected { outline: 2px solid var(--accent); outline-offset: -2px; background: rgba(99, 102, 241, 0.08); }

/* Command Palette (Cmd+K) */
.cmd-palette-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.55); z-index:10000; justify-content:center; align-items:flex-start; padding-top:min(20vh, 160px); }
.cmd-palette { background:var(--card-bg); border:1px solid var(--border); border-radius:12px; width:min(560px, 90vw); max-height:70vh; display:flex; flex-direction:column; box-shadow:0 16px 48px rgba(0,0,0,0.4); }
.cmd-palette-input { background:transparent; border:none; border-bottom:1px solid var(--border); color:var(--text); font-size:16px; padding:16px 20px; outline:none; width:100%; box-sizing:border-box; }
.cmd-palette-input::placeholder { color:var(--text-muted); }
.cmd-palette-results { overflow-y:auto; max-height:calc(70vh - 100px); padding:8px; }
.cmd-palette-item { display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:6px; cursor:pointer; color:var(--text); }
.cmd-palette-item:hover, .cmd-palette-selected { background:rgba(99,102,241,0.12); }
.cmd-palette-icon { font-size:16px; flex-shrink:0; width:24px; text-align:center; }
.cmd-palette-label { flex:1; font-size:14px; font-weight:500; }
.cmd-palette-section { font-size:11px; color:var(--text-muted); flex-shrink:0; }
.cmd-palette-empty { padding:24px; text-align:center; color:var(--text-muted); font-size:13px; }
.cmd-palette-footer { border-top:1px solid var(--border); padding:8px 16px; display:flex; gap:16px; align-items:center; font-size:11px; color:var(--text-muted); }
.cmd-palette-footer kbd { background:var(--bg); border:1px solid var(--border); border-radius:3px; padding:1px 5px; font-size:10px; font-family:inherit; }

/* Portfolio Pacing Overview */
.pacing-overview { max-width: 800px; }
.po-summary {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px;
    margin-bottom: 20px; padding: 16px; background: var(--bg-card); border-radius: 10px; border: 1px solid var(--border);
}
.po-stat-label { display: block; font-size: 10px; color: var(--text-muted); margin-bottom: 2px; }
.po-stat-value { font-size: 16px; font-weight: 700; color: var(--text-primary); }
.po-account { padding: 12px 0; border-bottom: 1px solid var(--border); }
.po-account:last-child { border-bottom: none; }
.po-account-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.po-account-name { font-size: 13px; font-weight: 600; color: var(--accent); }
.po-account-name:hover { text-decoration: underline; }
.po-account-nums { font-size: 11px; color: var(--text-muted); }
.po-bar-container { display: flex; align-items: center; gap: 10px; }
.po-bar-track { flex: 1; height: 20px; background: var(--bg-secondary); border-radius: 6px; overflow: visible; position: relative; }
.po-bar-fill { height: 100%; border-radius: 6px; transition: width 0.4s ease; }
.po-ideal-marker { position: absolute; top: -2px; width: 2px; height: 24px; background: var(--text-muted); opacity: 0.6; }
.po-pacing-pct { font-size: 13px; font-weight: 700; width: 40px; text-align: right; }
.po-account-footer { display: flex; justify-content: space-between; font-size: 10px; color: var(--text-muted); margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 13 — Heatmap, Top Movers, Perf Filter, Matrix, Print    */
/* ═══════════════════════════════════════════════════════════════ */

/* Metric Heatmap */
.hm-container { max-width: 900px; }
.hm-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.hm-table th { padding: 6px 10px; text-align: center; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid var(--border); font-size: 10px; }
.hm-table th:first-child { text-align: left; }
.hm-cell { padding: 6px 10px; text-align: center; font-weight: 600; font-size: 11px; border-bottom: 1px solid var(--border); }
.hm-account { padding: 6px 10px; font-weight: 600; color: var(--accent); cursor: pointer; border-bottom: 1px solid var(--border); white-space: nowrap; }
.hm-account:hover { text-decoration: underline; }

/* Top Movers */
.movers-container { max-width: 700px; }
.movers-metric { margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.movers-metric:last-child { border-bottom: none; }
.mover-item { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.mover-name { font-size: 12px; font-weight: 600; width: 140px; flex-shrink: 0; color: var(--accent); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mover-name:hover { text-decoration: underline; }
.mover-bar-track { flex: 1; height: 14px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.mover-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.mover-change { font-size: 12px; font-weight: 700; width: 60px; text-align: right; flex-shrink: 0; }
.mover-values { font-size: 10px; color: var(--text-muted); width: 110px; text-align: right; flex-shrink: 0; }

/* Performance Table Filter */
.perf-filter-bar { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.perf-filter-bar input {
    padding: 6px 12px; border: 1px solid var(--border); border-radius: 6px;
    background: var(--bg-card); color: var(--text-primary); font-size: 12px; width: 220px; outline: none;
}
.perf-filter-bar input:focus { border-color: var(--accent); }
.perf-filter-count { font-size: 11px; color: var(--text-muted); }

/* Account Matrix */
.am-container { max-width: 900px; }
.am-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.am-table th { padding: 6px 10px; text-align: right; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid var(--border); cursor: pointer; font-size: 10px; }
.am-table th:first-child { text-align: left; }
.am-table th:hover { color: var(--accent); }
.am-sortable { user-select: none; }
.am-account { padding: 6px 10px; font-weight: 600; color: var(--accent); cursor: pointer; white-space: nowrap; }
.am-account:hover { text-decoration: underline; }
.am-value { padding: 6px 10px; text-align: right; border-bottom: 1px solid var(--border); }
.am-totals td { font-weight: 700 !important; border-top: 2px solid var(--border); }

/* Print Report Button */
.print-report-btn {
    padding: 5px 12px; border: 1px solid var(--border); border-radius: 6px;
    background: var(--bg-card); color: var(--text-primary); font-size: 11px;
    cursor: pointer; float: right; margin-bottom: 8px;
}
.print-report-btn:hover { border-color: var(--accent); color: var(--accent); }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 14 — Opportunity Cost, Spend Dist, Notif Prefs,         */
/*            Goal Tracker, Dashboard Stats                       */
/* ═══════════════════════════════════════════════════════════════ */

/* Opportunity Cost */
.oc-container { max-width: 800px; }
.oc-summary { display: flex; gap: 20px; margin-bottom: 20px; flex-wrap: wrap; }
.oc-big-stat { display: flex; flex-direction: column; }
.oc-big-label { font-size: 10px; color: var(--text-muted); }
.oc-big-value { font-size: 22px; font-weight: 700; }
.oc-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.oc-table th { text-align: left; padding: 6px 10px; border-bottom: 2px solid var(--border); font-weight: 600; color: var(--text-muted); font-size: 10px; }
.oc-table td { padding: 6px 10px; border-bottom: 1px solid var(--border); }
.oc-account { font-weight: 600; color: var(--accent); cursor: pointer; }
.oc-account:hover { text-decoration: underline; }

/* Spend Distribution */
.sd-container { max-width: 700px; }
.sd-layout { display: flex; gap: 24px; align-items: flex-start; flex-wrap: wrap; }
.sd-chart-wrap { flex-shrink: 0; }
.sd-legend { flex: 1; }
.sd-legend-item { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.sd-swatch { width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0; }
.sd-legend-name { font-size: 12px; font-weight: 600; flex: 1; }
.sd-legend-value { font-size: 11px; color: var(--text-muted); }

/* Notification Preferences */
.notif-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.notif-grid label { display: flex; flex-direction: column; font-size: 11px; color: var(--text-muted); gap: 3px; }
.notif-grid input {
    padding: 5px 8px; border: 1px solid var(--border); border-radius: 4px;
    background: var(--bg-secondary); color: var(--text-primary); font-size: 12px;
}

/* Goal Tracker */
.gt-container { max-width: 700px; }
.gt-account { padding: 16px 0; border-bottom: 1px solid var(--border); }
.gt-account:last-child { border-bottom: none; }
.gt-account-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.gt-edit-btn { padding: 3px 10px; border: 1px solid var(--border); border-radius: 4px; background: transparent; color: var(--text-muted); font-size: 10px; cursor: pointer; }
.gt-edit-btn:hover { color: var(--accent); border-color: var(--accent); }
.gt-edit-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 10px; }
.gt-edit-form label { font-size: 10px; color: var(--text-muted); display: flex; flex-direction: column; gap: 2px; }
.gt-edit-form input { padding: 4px 8px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; width: 100px; }
.gt-metric { margin-bottom: 10px; }
.gt-metric-header { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 4px; }
.gt-bar-track { height: 16px; background: var(--bg-secondary); border-radius: 4px; overflow: visible; position: relative; }
.gt-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.gt-month-marker { position: absolute; top: -2px; width: 2px; height: 20px; background: var(--text-muted); opacity: 0.5; }
.gt-metric-footer { font-size: 10px; font-weight: 600; margin-top: 2px; }

/* Dashboard Stats */
.ds-container { max-width: 600px; }
.ds-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.ds-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; padding: 16px; text-align: center; }
.ds-card-val { display: block; font-size: 28px; font-weight: 700; color: var(--accent); }
.ds-card-label { display: block; font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.ds-section-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 12px; }
.ds-ls-list { max-height: 200px; overflow-y: auto; }
.ds-ls-item { display: flex; justify-content: space-between; padding: 3px 0; font-size: 11px; border-bottom: 1px solid var(--border); }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 15 — Rankings, Export Hub, Bookmarks, Memo Pad,         */
/*            Efficiency Score                                    */
/* ═══════════════════════════════════════════════════════════════ */

/* Account Rankings */
.rank-container { max-width: 600px; }
.rank-metrics { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 16px; }
.rank-metric-btn {
    padding: 4px 12px; border: 1px solid var(--border); border-radius: 16px;
    background: transparent; color: var(--text-muted); font-size: 11px; cursor: pointer;
}
.rank-metric-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.rank-metric-btn:hover { border-color: var(--accent); }
.rank-tbl { width: 100%; border-collapse: collapse; font-size: 12px; }
.rank-tbl th { text-align: left; padding: 6px 10px; border-bottom: 2px solid var(--border); font-weight: 600; color: var(--text-muted); font-size: 10px; }
.rank-tbl td { padding: 8px 10px; border-bottom: 1px solid var(--border); }
.rank-account { font-weight: 600; color: var(--accent); cursor: pointer; }
.rank-account:hover { text-decoration: underline; }

/* Export Hub */
.export-container { max-width: 700px; }
.export-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.export-card {
    padding: 16px; border: 1px solid var(--border); border-radius: 10px;
    background: var(--bg-card); cursor: pointer; transition: border-color 0.2s;
}
.export-card:hover { border-color: var(--accent); }
.export-card-icon { font-size: 24px; margin-bottom: 8px; }
.export-card-label { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.export-card-desc { font-size: 11px; color: var(--text-muted); }

/* Favorites */
.fav-section { border-bottom: 1px solid var(--border); margin-bottom: 4px; padding-bottom: 4px; }

/* Memo Pad */
.memo-container { max-width: 700px; }
.memo-account { padding: 12px 0; border-bottom: 1px solid var(--border); }
.memo-account:last-child { border-bottom: none; }
.memo-account-name { font-size: 13px; font-weight: 600; color: var(--accent); margin-bottom: 6px; }
.memo-account-name:hover { text-decoration: underline; }
.memo-note { display: flex; gap: 10px; padding: 3px 0; }
.memo-time { font-size: 10px; color: var(--text-muted); flex-shrink: 0; width: 60px; }
.memo-text { font-size: 12px; color: var(--text-primary); }

/* Efficiency Score */
.eff-container { max-width: 700px; }
.eff-list { display: flex; flex-direction: column; gap: 6px; }
.eff-row { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--border); }
.eff-rank { font-size: 12px; font-weight: 700; width: 24px; text-align: center; color: var(--text-muted); }
.eff-name { font-size: 12px; font-weight: 600; width: 140px; flex-shrink: 0; color: var(--accent); cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eff-name:hover { text-decoration: underline; }
.eff-score-bar { flex: 1; height: 16px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.eff-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.eff-total { font-size: 14px; font-weight: 700; width: 32px; text-align: right; }
.eff-breakdown { display: flex; gap: 4px; font-size: 9px; color: var(--text-muted); flex-shrink: 0; }
.eff-breakdown span { cursor: help; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 16 — Campaign Types, Calculator, Summary Card,          */
/*            Conversion Lag, MCC Overview                        */
/* ═══════════════════════════════════════════════════════════════ */

/* Campaign Type Breakdown */
.ct-container { max-width: 700px; }
.ct-stacked { display: flex; height: 32px; border-radius: 6px; overflow: hidden; margin-bottom: 16px; }
.ct-bar-segment { transition: width 0.3s; min-width: 2px; }
.ct-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
.ct-card { padding: 12px; background: var(--bg-card); border-radius: 8px; border: 1px solid var(--border); }
.ct-card-title { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.ct-card-metrics { display: flex; flex-direction: column; gap: 4px; }
.ct-card-metrics div { display: flex; justify-content: space-between; }
.ct-metric-label { font-size: 10px; color: var(--text-muted); }
.ct-metric-val { font-size: 11px; font-weight: 600; }

/* PPC Calculator */
.calc-container { max-width: 700px; }
.calc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.calc-card { padding: 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; }
.calc-card-label { font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.calc-inputs { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.calc-inputs input {
    flex: 1; padding: 5px 8px; border: 1px solid var(--border); border-radius: 4px;
    background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; width: 80px;
}
.calc-divider { font-size: 14px; color: var(--text-muted); }
.calc-result { font-size: 18px; font-weight: 700; color: var(--accent); }

/* Portfolio Summary Card */
.ps-card { padding: 16px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; margin-bottom: 12px; }
.ps-metrics { display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; }
.ps-metric { text-align: center; }
.ps-val { display: block; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.ps-val.ps-warn { color: #f59e0b; }
.ps-label { font-size: 10px; color: var(--text-muted); }

/* Conversion Lag */
.lag-container { max-width: 900px; }
.lag-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.lag-table th { padding: 6px 8px; text-align: right; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid var(--border); font-size: 10px; }
.lag-table th:first-child { text-align: left; }
.lag-table td { padding: 6px 8px; text-align: right; border-bottom: 1px solid var(--border); }
.lag-table td:first-child { text-align: left; }

/* MCC Quick View */
.mcc-container { max-width: 900px; }
.mcc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.mcc-card {
    padding: 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
    cursor: pointer; transition: border-color 0.2s, transform 0.1s;
}
.mcc-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.mcc-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.mcc-card-name { font-size: 12px; font-weight: 600; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcc-health { font-size: 14px; font-weight: 700; }
.mcc-card-metrics { display: flex; gap: 12px; }
.mcc-card-metrics div { display: flex; flex-direction: column; }
.mcc-label { font-size: 9px; color: var(--text-muted); }
.mcc-val { font-size: 13px; font-weight: 600; }
.mcc-signal { font-size: 10px; color: var(--text-muted); margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 17 — Tags, Budget Forecast, Account Compare,            */
/*            Correlations, Custom Dashboard                      */
/* ═══════════════════════════════════════════════════════════════ */

/* Account Tags */
.tags-container { max-width: 700px; }
.tag-preset {
    display: inline-block; padding: 2px 10px; border: 1px solid var(--border); border-radius: 12px;
    font-size: 10px; color: var(--text-muted); cursor: pointer; margin: 2px;
}
.tag-preset:hover { border-color: var(--accent); color: var(--accent); }
.tag-filter-btn {
    padding: 3px 10px; border: 1px solid var(--border); border-radius: 12px;
    background: transparent; color: var(--text-muted); font-size: 10px; cursor: pointer; margin: 2px;
}
.tag-filter-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.tags-account { padding: 10px 0; border-bottom: 1px solid var(--border); }
.tags-account-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.tags-account-name { font-size: 13px; font-weight: 600; }
.tags-input { padding: 3px 8px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; width: 120px; }
.tag-chip {
    display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px;
    background: rgba(99,102,241,0.15); border-radius: 10px; font-size: 10px; color: var(--accent); margin: 2px;
}
.tag-remove { cursor: pointer; font-size: 12px; color: var(--text-muted); }
.tag-remove:hover { color: #ef4444; }

/* Budget Forecast */
.bf-container { max-width: 800px; }
.bf-tbl { width: 100%; border-collapse: collapse; font-size: 11px; }
.bf-tbl th { padding: 6px 8px; text-align: left; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid var(--border); font-size: 10px; }
.bf-tbl td { padding: 6px 8px; border-bottom: 1px solid var(--border); }

/* Account Compare */
.ac-container { max-width: 600px; }
.ac-selectors { display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.ac-selectors select {
    padding: 6px 12px; border: 1px solid var(--border); border-radius: 6px;
    background: var(--bg-card); color: var(--text-primary); font-size: 12px; min-width: 160px;
}
.ac-table { width: 100%; border-collapse: collapse; }
.ac-table th { padding: 8px 12px; font-size: 12px; font-weight: 600; border-bottom: 2px solid var(--border); }
.ac-table th:first-child { text-align: left; }
.ac-table th:last-child { text-align: right; }
.ac-val { padding: 8px 12px; font-size: 13px; border-bottom: 1px solid var(--border); }
.ac-metric { padding: 8px 12px; text-align: center; font-size: 11px; font-weight: 600; color: var(--text-muted); border-bottom: 1px solid var(--border); }

/* Correlation Matrix */
.corr-container { max-width: 700px; }
.corr-table { border-collapse: collapse; font-size: 11px; }
.corr-table th { padding: 6px 10px; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid var(--border); font-size: 10px; }
.corr-cell { padding: 6px 10px; text-align: center; font-weight: 600; border-bottom: 1px solid var(--border); font-size: 11px; }

/* Custom Dashboard */
.cd-container { max-width: 800px; }
.cd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.cd-widget {
    padding: 20px 16px; background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 12px; text-align: center;
}
.cd-big { font-size: 28px; font-weight: 800; color: var(--text-primary); }
.cd-sub { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.cd-edit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px; }
.cd-edit-item { font-size: 12px; display: flex; align-items: center; gap: 6px; cursor: pointer; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 18 — Scenario Planner, Annotations, Diminishing Returns */
/*            Status Badges, Shortcuts Help                       */
/* ═══════════════════════════════════════════════════════════════ */

/* Scenario Planner */
.sp-container { max-width: 1100px; }
.sp-baseline { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; padding: 12px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; }
.sp-base-item { display: flex; flex-direction: column; }
.sp-base-label { font-size: 10px; color: var(--text-muted); }
.sp-base-val { font-size: 16px; font-weight: 700; }
.sp-slider-wrap { margin-bottom: 20px; }
.sp-slider { width: 100%; margin: 8px 0; accent-color: var(--accent); }
.sp-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.sp-table th { text-align: left; padding: 6px 10px; border-bottom: 2px solid var(--border); font-weight: 600; color: var(--text-muted); font-size: 10px; }
.sp-table td { padding: 8px 10px; border-bottom: 1px solid var(--border); }
.sp-presets { display: flex; gap: 8px; flex-wrap: wrap; }
.sp-preset-btn {
    padding: 8px 14px; border: 1px solid var(--border); border-radius: 8px;
    background: var(--bg-card); color: var(--text-primary); font-size: 12px; font-weight: 600;
    cursor: pointer; display: flex; flex-direction: column; align-items: center;
}
.sp-preset-btn small { font-size: 9px; font-weight: 400; color: var(--text-muted); }
.sp-preset-btn:hover { border-color: var(--accent); }

/* Annotations Timeline */
.ann-container { max-width: 600px; }
.ann-form { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; align-items: center; }
.ann-input-date, .ann-select, .ann-input-text {
    padding: 5px 8px; border: 1px solid var(--border); border-radius: 4px;
    background: var(--bg-secondary); color: var(--text-primary); font-size: 12px;
}
.ann-input-text { flex: 1; min-width: 180px; }
.ann-add-btn { padding: 5px 14px; border: none; border-radius: 4px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; }
.ann-timeline { border-left: 2px solid var(--border); margin-left: 12px; padding-left: 16px; }
.ann-item { padding: 8px 0 12px; border-left: 3px solid; margin-left: -18px; padding-left: 16px; margin-bottom: 4px; }
.ann-item-header { display: flex; align-items: center; gap: 8px; font-size: 11px; margin-bottom: 4px; }
.ann-type-chip { padding: 1px 6px; border-radius: 8px; color: #fff; font-size: 9px; font-weight: 600; }
.ann-delete { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 14px; margin-left: auto; }
.ann-delete:hover { color: #ef4444; }
.ann-item-text { font-size: 12px; color: var(--text-primary); }

/* Diminishing Returns */
.dr-container { max-width: 750px; }
.dr-insights { display: flex; flex-direction: column; gap: 6px; }
.dr-insight { font-size: 12px; }

/* Shortcuts Help Panel */
.shortcuts-panel { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000; display: flex; align-items: center; justify-content: center; }
.shortcuts-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); }
.shortcuts-content {
    position: relative; background: var(--bg-primary); border: 1px solid var(--border);
    border-radius: 12px; padding: 24px; max-width: 400px; width: 90%;
}
.shortcuts-grid { display: flex; flex-direction: column; gap: 6px; }
.shortcut-item { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.shortcut-item kbd {
    display: inline-block; padding: 2px 8px; background: var(--bg-secondary); border: 1px solid var(--border);
    border-radius: 4px; font-family: monospace; font-size: 11px; min-width: 24px; text-align: center;
}

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 19 — ROI Tracker, Checklist, Anomaly Deep Dive,         */
/*            Share of Voice, Changes Feed                        */
/* ═══════════════════════════════════════════════════════════════ */

/* ROI Tracker */
.roi-container { max-width: 750px; }
.roi-table { width: 100%; border-collapse: collapse; font-size: 11px; margin-top: 8px; }
.roi-table th { padding: 6px 8px; text-align: center; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid var(--border); font-size: 10px; }
.roi-table th:first-child { text-align: left; }
.roi-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.roi-account { font-weight: 600; color: var(--accent); cursor: pointer; }
.roi-account:hover { text-decoration: underline; }

/* Account Checklist */
.cl-container { max-width: 600px; }
.cl-progress { height: 20px; background: var(--bg-secondary); border-radius: 6px; overflow: hidden; margin-bottom: 6px; }
.cl-progress-fill { height: 100%; border-radius: 6px; transition: width 0.3s; }
.cl-category { margin-bottom: 16px; }
.cl-item { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 12px; cursor: pointer; border-bottom: 1px solid var(--border); }
.cl-item input { accent-color: var(--accent); }
.cl-done span { text-decoration: line-through; color: var(--text-muted); }

/* Anomaly Deep Dive */
.add-container { max-width: 700px; }
.add-anomaly { padding: 12px 16px; border-left: 3px solid; margin-bottom: 12px; background: var(--bg-card); border-radius: 0 8px 8px 0; }
.add-anomaly-header { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 13px; }
.add-anomaly-vals { display: flex; gap: 16px; font-size: 11px; color: var(--text-muted); margin-bottom: 8px; }
.add-causes { font-size: 11px; }
.add-causes ul { margin: 4px 0 0 16px; padding: 0; }
.add-causes li { margin-bottom: 2px; color: var(--text-muted); }

/* Share of Voice */
.sov-container { max-width: 700px; }
.sov-item { padding: 10px 0; border-bottom: 1px solid var(--border); }
.sov-item:last-child { border-bottom: none; }
.sov-item-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.sov-name { font-size: 13px; font-weight: 600; color: var(--accent); cursor: pointer; }
.sov-name:hover { text-decoration: underline; }
.sov-value { font-size: 14px; font-weight: 700; }
.sov-bar-track { height: 20px; background: var(--bg-secondary); border-radius: 6px; position: relative; overflow: hidden; }
.sov-bar-fill { height: 100%; border-radius: 6px; transition: width 0.3s; position: absolute; left: 0; top: 0; }
.sov-bar-lost { height: 100%; position: absolute; top: 0; }
.sov-item-footer { display: flex; gap: 12px; font-size: 10px; color: var(--text-muted); margin-top: 4px; }

/* Changes Feed */
.cf-container { max-width: 700px; }
.cf-item { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.cf-icon { font-size: 16px; flex-shrink: 0; margin-top: 2px; }
.cf-body { flex: 1; }
.cf-desc { font-size: 12px; color: var(--text-primary); }
.cf-meta { display: flex; gap: 12px; font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.cf-source { padding: 0 6px; background: var(--bg-secondary); border-radius: 8px; font-size: 9px; }

/* ═══════════════════════════════════════════════════════════════ */
/* ROUND 20 — Spend Velocity, Maturity Score, Priority Matrix,   */
/*            Session Timer, Saved Views                          */
/* ═══════════════════════════════════════════════════════════════ */

/* Spend Velocity */
.sv-container { max-width: 800px; }
.sv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.sv-card { padding: 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; }
.sv-card-name { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.sv-gauge { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; }
.sv-gauge-label { font-size: 9px; color: var(--text-muted); width: 42px; text-align: right; flex-shrink: 0; }
.sv-gauge-bar { flex: 1; height: 10px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.sv-gauge-fill { height: 100%; border-radius: 3px; transition: width 0.3s; }
.sv-gauge-val { font-size: 10px; font-weight: 600; width: 54px; text-align: right; flex-shrink: 0; }
.sv-accel { font-size: 11px; font-weight: 600; margin-top: 6px; }

/* Maturity Score */
.ms-container { max-width: 700px; }
.ms-account { padding: 12px 0; border-bottom: 1px solid var(--border); }
.ms-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.ms-name { font-size: 13px; font-weight: 600; }
.ms-level { font-size: 12px; font-weight: 700; }
.ms-bar { height: 14px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; margin-bottom: 4px; }
.ms-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.ms-checks { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.ms-pass { font-size: 10px; color: #34d399; }
.ms-fail { font-size: 10px; color: #ef4444; }

/* Priority Matrix */
.pm-container { max-width: 700px; }
.pm-item { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); border-left: 3px solid; padding-left: 12px; }
.pm-rank { font-size: 14px; font-weight: 700; color: var(--text-muted); width: 24px; flex-shrink: 0; }
.pm-body { flex: 1; }
.pm-action { font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.pm-meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.pm-account { font-size: 11px; color: var(--accent); cursor: pointer; }
.pm-account:hover { text-decoration: underline; }
.pm-tag { font-size: 9px; padding: 1px 6px; border-radius: 8px; font-weight: 600; }
.pm-impact-high { background: rgba(239,68,68,0.15); color: #ef4444; }
.pm-impact-medium { background: rgba(245,158,11,0.15); color: #f59e0b; }
.pm-impact-low { background: rgba(99,102,241,0.15); color: #6366f1; }
.pm-effort-low { background: rgba(52,211,153,0.15); color: #34d399; }
.pm-effort-medium { background: rgba(245,158,11,0.15); color: #f59e0b; }
.pm-effort-high { background: rgba(239,68,68,0.15); color: #ef4444; }
.pm-urgency { font-size: 10px; color: var(--text-muted); }

/* Session Timer */
.session-timer {
    padding: 10px 16px; border-top: 1px solid var(--border); display: flex;
    justify-content: space-between; align-items: center; font-size: 11px;
}
#session-time { font-weight: 700; font-size: 14px; color: var(--accent); font-family: monospace; }
.session-label { color: var(--text-muted); font-size: 10px; }

/* Saved Views */
.svw-container { max-width: 600px; }
.svw-save { display: flex; gap: 8px; margin-bottom: 20px; }
.svw-input { flex: 1; padding: 6px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; }
.svw-save-btn { padding: 6px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; white-space: nowrap; }
.svw-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); }
.svw-item-name { font-size: 13px; font-weight: 600; display: block; }
.svw-item-meta { font-size: 10px; color: var(--text-muted); }
.svw-item-actions { display: flex; gap: 6px; }
.svw-load-btn { padding: 3px 10px; border: 1px solid var(--accent); border-radius: 4px; background: transparent; color: var(--accent); font-size: 10px; cursor: pointer; }
.svw-delete-btn { padding: 3px 8px; border: 1px solid var(--border); border-radius: 4px; background: transparent; color: var(--text-muted); font-size: 12px; cursor: pointer; }
.svw-delete-btn:hover { color: #ef4444; border-color: #ef4444; }

/* ============ Round 21 ============ */

/* Profit Waterfall */
.pw-container { max-width: 600px; }
.pw-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.pw-label { width: 100px; font-size: 11px; font-weight: 600; text-align: right; color: var(--text-muted); }
.pw-bar-track { flex: 1; height: 28px; background: var(--bg-secondary); border-radius: 6px; position: relative; overflow: hidden; }
.pw-bar-fill { height: 100%; border-radius: 6px; display: flex; align-items: center; padding: 0 8px; font-size: 11px; font-weight: 700; color: #fff; min-width: 40px; }
.pw-bar-fill.pw-positive { background: linear-gradient(90deg, #34d399, #10b981); }
.pw-bar-fill.pw-negative { background: linear-gradient(90deg, #f87171, #ef4444); }
.pw-bar-fill.pw-neutral { background: linear-gradient(90deg, #60a5fa, #3b82f6); }
.pw-summary { margin-top: 16px; display: flex; gap: 12px; flex-wrap: wrap; }
.pw-summary-card { padding: 10px 16px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; flex: 1; min-width: 100px; }
.pw-summary-label { font-size: 10px; color: var(--text-muted); margin-bottom: 2px; }
.pw-summary-val { font-size: 16px; font-weight: 700; }

/* Campaign Grader */
.cg-container { max-width: 700px; }
.cg-card { display: flex; align-items: center; gap: 14px; padding: 12px 16px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.cg-grade { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; color: #fff; flex-shrink: 0; }
.cg-grade-A { background: #10b981; } .cg-grade-B { background: #34d399; }
.cg-grade-C { background: #f59e0b; } .cg-grade-D { background: #f97316; }
.cg-grade-F { background: #ef4444; }
.cg-info { flex: 1; }
.cg-name { font-size: 13px; font-weight: 600; margin-bottom: 2px; }
.cg-metrics { display: flex; gap: 12px; flex-wrap: wrap; }
.cg-metric { font-size: 10px; color: var(--text-muted); }
.cg-metric span { font-weight: 700; color: var(--text-primary); }
.cg-overall { text-align: center; padding: 16px; margin-bottom: 16px; border-radius: 10px; background: var(--bg-secondary); border: 1px solid var(--border); }
.cg-overall-grade { font-size: 36px; font-weight: 800; }
.cg-overall-label { font-size: 11px; color: var(--text-muted); }

/* Competitor Spend Estimator */
.ces-container { max-width: 600px; }
.ces-pie { width: 160px; height: 160px; border-radius: 50%; margin: 0 auto 16px; }
.ces-legend { display: flex; gap: 16px; justify-content: center; margin-bottom: 16px; flex-wrap: wrap; }
.ces-legend-item { display: flex; align-items: center; gap: 6px; font-size: 11px; }
.ces-legend-dot { width: 10px; height: 10px; border-radius: 50%; }
.ces-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ces-table th { text-align: left; padding: 6px 8px; border-bottom: 2px solid var(--border); font-weight: 600; color: var(--text-muted); font-size: 10px; text-transform: uppercase; }
.ces-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }

/* Pivot Table */
.pv-container { max-width: 800px; }
.pv-controls { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.pv-select { padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; }
.pv-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.pv-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); cursor: pointer; }
.pv-table th:hover { color: var(--accent); }
.pv-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.pv-group-header { font-weight: 700; background: var(--bg-secondary); }

/* Metric Glossary */
.gl-container { max-width: 600px; }
.gl-search { width: 100%; padding: 8px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; margin-bottom: 16px; }
.gl-item { padding: 12px 0; border-bottom: 1px solid var(--border); }
.gl-term { font-size: 14px; font-weight: 700; margin-bottom: 4px; color: var(--accent); }
.gl-def { font-size: 12px; color: var(--text-secondary); line-height: 1.5; }
.gl-formula { font-size: 11px; color: var(--text-muted); font-family: monospace; margin-top: 4px; background: var(--bg-secondary); padding: 4px 8px; border-radius: 4px; display: inline-block; }

/* ============ Round 22 ============ */

/* Weekly Snapshot */
.ws-container { max-width: 700px; }
.ws-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin-bottom: 20px; }
.ws-card { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.ws-card-label { font-size: 10px; color: var(--text-muted); margin-bottom: 4px; text-transform: uppercase; }
.ws-card-val { font-size: 18px; font-weight: 700; }
.ws-card-change { font-size: 11px; margin-top: 2px; }
.ws-highlights { margin-top: 16px; }
.ws-highlight { display: flex; align-items: center; gap: 8px; padding: 8px 12px; margin-bottom: 6px; border-radius: 6px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 12px; }
.ws-highlight-icon { font-size: 16px; }

/* Spend Optimizer */
.so-container { max-width: 700px; }
.so-summary { text-align: center; padding: 16px; margin-bottom: 16px; border-radius: 10px; background: var(--bg-secondary); border: 1px solid var(--border); }
.so-lift { font-size: 24px; font-weight: 800; color: #10b981; }
.so-lift-label { font-size: 11px; color: var(--text-muted); }
.so-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.so-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.so-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.so-increase { color: #10b981; font-weight: 600; }
.so-decrease { color: #ef4444; font-weight: 600; }
.so-neutral { color: var(--text-muted); }

/* Quick Notes Widget */
.qn-widget { position: fixed; bottom: 20px; right: 20px; width: 300px; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,0.2); z-index: 9999; overflow: hidden; display: none; }
.qn-header { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; background: var(--bg-secondary); border-bottom: 1px solid var(--border); }
.qn-title { font-size: 12px; font-weight: 700; }
.qn-close { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 16px; }
.qn-body textarea { width: 100%; height: 180px; border: none; padding: 10px 12px; font-size: 12px; background: var(--bg-primary); color: var(--text-primary); resize: none; font-family: inherit; box-sizing: border-box; }
.qn-footer { padding: 6px 12px; font-size: 9px; color: var(--text-muted); text-align: right; border-top: 1px solid var(--border); }

/* Account Radar */
.ar-container { max-width: 500px; margin: 0 auto; }
.ar-chart-wrap { width: 100%; max-width: 350px; margin: 0 auto 16px; }
.ar-breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ar-dim { padding: 8px 12px; border-radius: 6px; background: var(--bg-secondary); border: 1px solid var(--border); }
.ar-dim-name { font-size: 11px; font-weight: 600; margin-bottom: 2px; }
.ar-dim-score { font-size: 16px; font-weight: 700; }
.ar-dim-label { font-size: 9px; color: var(--text-muted); }

/* Data Freshness */
.df-container { max-width: 600px; }
.df-card { display: flex; align-items: center; gap: 12px; padding: 10px 14px; margin-bottom: 6px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.df-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.df-dot-fresh { background: #10b981; }
.df-dot-recent { background: #f59e0b; }
.df-dot-stale { background: #ef4444; }
.df-name { font-size: 13px; font-weight: 600; flex: 1; }
.df-status { font-size: 11px; font-weight: 600; }
.df-meta { font-size: 10px; color: var(--text-muted); }

/* ============ Round 23 ============ */

/* Wasted Spend Analyzer */
.wsa-container { max-width: 700px; }
.wsa-summary { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.wsa-summary-card { flex: 1; min-width: 120px; padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.wsa-summary-label { font-size: 10px; color: var(--text-muted); margin-bottom: 2px; }
.wsa-summary-val { font-size: 18px; font-weight: 700; }
.wsa-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--border); }
.wsa-name { width: 120px; font-size: 11px; font-weight: 600; flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wsa-bar-track { flex: 1; height: 16px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.wsa-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.wsa-amount { font-size: 11px; font-weight: 700; width: 80px; text-align: right; }
.wsa-ratio { font-size: 10px; color: var(--text-muted); width: 40px; text-align: right; }

/* Performance Alerts */
.pa-container { max-width: 700px; }
.pa-summary { display: flex; gap: 12px; margin-bottom: 16px; }
.pa-count { padding: 12px 20px; border-radius: 8px; text-align: center; font-size: 24px; font-weight: 800; flex: 1; }
.pa-count span { display: block; font-size: 10px; font-weight: 400; margin-top: 2px; }
.pa-critical { background: rgba(239,68,68,0.15); color: #ef4444; }
.pa-warning { background: rgba(245,158,11,0.15); color: #f59e0b; }
.pa-info { background: rgba(59,130,246,0.15); color: #3b82f6; }
.pa-alert { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 6px; border-radius: 8px; border-left: 3px solid; }
.pa-alert-critical { border-color: #ef4444; background: rgba(239,68,68,0.06); }
.pa-alert-warning { border-color: #f59e0b; background: rgba(245,158,11,0.06); }
.pa-alert-info { border-color: #3b82f6; background: rgba(59,130,246,0.06); }
.pa-icon { font-size: 16px; }
.pa-alert-body { flex: 1; }
.pa-alert-account { font-size: 12px; font-weight: 700; }
.pa-alert-msg { font-size: 11px; color: var(--text-secondary); }
.pa-metric-badge { font-size: 9px; padding: 2px 8px; border-radius: 10px; background: var(--bg-secondary); color: var(--text-muted); font-weight: 600; }

/* Metric Forecaster */
.mf-container { max-width: 700px; }
.mf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.mf-card { padding: 14px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.mf-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; }
.mf-current { font-size: 12px; margin-bottom: 4px; }
.mf-trend { font-size: 11px; font-weight: 600; margin-bottom: 8px; }
.mf-projections { display: flex; gap: 12px; border-top: 1px solid var(--border); padding-top: 8px; }
.mf-proj { flex: 1; }
.mf-proj span { font-size: 9px; color: var(--text-muted); display: block; }
.mf-proj strong { font-size: 13px; }

/* Day Parting */
.dp-container { max-width: 700px; }
.dp-heatmap { margin-bottom: 16px; }
.dp-header { display: flex; gap: 8px; padding: 4px 0; border-bottom: 1px solid var(--border); font-size: 10px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; }
.dp-hour-label { width: 50px; }
.dp-bar-label { flex: 1; }
.dp-stats { width: 180px; text-align: right; }
.dp-row { display: flex; align-items: center; gap: 8px; padding: 2px 0; }
.dp-hour { width: 50px; font-size: 11px; font-weight: 600; color: var(--text-muted); font-family: monospace; }
.dp-bar-track { flex: 1; height: 14px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.dp-bar-fill { height: 100%; border-radius: 3px; transition: width 0.3s; }
.dp-stat { width: 180px; font-size: 10px; color: var(--text-muted); text-align: right; font-family: monospace; }
.dp-insights { padding: 12px; background: var(--bg-secondary); border-radius: 8px; border: 1px solid var(--border); }
.dp-insight { font-size: 11px; padding: 4px 0; }

/* Achievement Badges */
.ab-container { max-width: 700px; }
.ab-progress { text-align: center; font-size: 14px; margin-bottom: 16px; color: var(--text-muted); }
.ab-earned { font-size: 24px; font-weight: 800; color: var(--accent); }
.ab-total { font-size: 16px; font-weight: 600; }
.ab-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.ab-badge { padding: 16px 12px; border-radius: 10px; text-align: center; border: 1px solid var(--border); transition: transform 0.2s; }
.ab-badge:hover { transform: translateY(-2px); }
.ab-earned-badge { background: var(--bg-secondary); border-color: var(--accent); }
.ab-locked { background: var(--bg-secondary); opacity: 0.4; filter: grayscale(1); }
.ab-icon { font-size: 28px; margin-bottom: 6px; }
.ab-name { font-size: 11px; font-weight: 700; margin-bottom: 2px; }
.ab-desc { font-size: 9px; color: var(--text-muted); }

/* ============ Round 24 ============ */

/* Budget Calendar */
.bc-container { max-width: 600px; }
.bc-legend { display: flex; gap: 16px; margin-bottom: 12px; justify-content: center; }
.bc-legend-item { display: flex; align-items: center; gap: 6px; font-size: 11px; }
.bc-swatch { width: 12px; height: 12px; border-radius: 3px; }
.bc-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; margin-bottom: 16px; }
.bc-day-header { text-align: center; font-size: 10px; font-weight: 600; color: var(--text-muted); padding: 4px; }
.bc-cell { border-radius: 4px; padding: 4px; text-align: center; min-height: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: default; }
.bc-empty { background: transparent; }
.bc-date { font-size: 10px; font-weight: 600; color: #fff; }
.bc-spend { font-size: 8px; color: rgba(255,255,255,0.8); }
.bc-stats { display: flex; gap: 10px; }
.bc-stat { flex: 1; padding: 10px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.bc-stat-label { font-size: 10px; color: var(--text-muted); }
.bc-stat-val { font-size: 16px; font-weight: 700; }

/* Conversion Quality */
.cq-container { max-width: 700px; }
.cq-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.cq-card { padding: 16px; border-radius: 10px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.cq-period { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
.cq-score { font-size: 32px; font-weight: 800; }
.cq-score-label { font-size: 10px; color: var(--text-muted); margin-bottom: 10px; }
.cq-metrics { text-align: left; }
.cq-metric { display: flex; justify-content: space-between; font-size: 11px; padding: 3px 0; border-bottom: 1px solid var(--border); }
.cq-metric span { color: var(--text-muted); }
.cq-insights { margin-top: 16px; }
.cq-insight { padding: 8px 12px; border-radius: 6px; font-size: 11px; margin-bottom: 6px; }
.cq-good { background: rgba(16,185,129,0.1); border-left: 3px solid #10b981; }
.cq-bad { background: rgba(239,68,68,0.1); border-left: 3px solid #ef4444; }

/* Notes Export */
.ne-container { max-width: 700px; }
.ne-export-btn { padding: 6px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; }
.ne-entry { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.ne-icon { font-size: 16px; flex-shrink: 0; }
.ne-body { flex: 1; }
.ne-header { font-size: 12px; margin-bottom: 4px; }
.ne-type { font-size: 9px; padding: 1px 6px; border-radius: 8px; background: var(--bg-secondary); color: var(--text-muted); margin-left: 4px; }
.ne-date { font-size: 10px; color: var(--text-muted); margin-left: 4px; }
.ne-content { font-size: 11px; color: var(--text-secondary); line-height: 1.4; }

/* Scatter Plot */
.sc-container { max-width: 700px; }
.sc-controls { display: flex; gap: 16px; margin-bottom: 8px; flex-wrap: wrap; }
.sc-controls select { padding: 4px 8px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }

/* Audit Readiness */
.ard-container { max-width: 600px; }
.ard-score { text-align: center; padding: 20px; margin-bottom: 16px; border-radius: 12px; background: var(--bg-secondary); border: 2px solid; }
.ard-pct { font-size: 36px; font-weight: 800; }
.ard-label { font-size: 12px; color: var(--text-muted); }
.ard-ratio { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.ard-category { margin-bottom: 16px; }
.ard-cat-name { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); padding-bottom: 6px; border-bottom: 1px solid var(--border); margin-bottom: 8px; }
.ard-check { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 12px; }
.ard-icon { font-size: 14px; }

/* ============ Round 25 ============ */

/* IS Gap Analysis */
.isg-container { max-width: 600px; }
.isg-channel { margin-bottom: 20px; padding: 14px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.isg-channel-name { font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.isg-bar-wrap { margin-bottom: 10px; }
.isg-bar { display: flex; height: 28px; border-radius: 6px; overflow: hidden; }
.isg-bar-is { background: #10b981; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; }
.isg-bar-rank { background: #f59e0b; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; }
.isg-bar-budget { background: #ef4444; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; }
.isg-metrics { display: flex; gap: 12px; flex-wrap: wrap; }
.isg-metric { font-size: 11px; }
.isg-metric span { color: var(--text-muted); display: block; font-size: 9px; }
.isg-legend { display: flex; gap: 14px; align-items: center; font-size: 10px; color: var(--text-muted); margin-top: 12px; }
.isg-swatch { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; }

/* Revenue Attribution */
.ra-container { max-width: 700px; }
.ra-table { width: 100%; border-collapse: collapse; font-size: 11px; margin-top: 16px; }
.ra-table th { text-align: left; padding: 6px 8px; border-bottom: 2px solid var(--border); font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.ra-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }

/* Health Timeline */
.ht-container { max-width: 500px; }
.ht-timeline { padding-left: 20px; }
.ht-node { display: flex; align-items: flex-start; gap: 12px; position: relative; padding-bottom: 20px; }
.ht-dot { width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0; margin-top: 2px; z-index: 1; }
.ht-line { position: absolute; left: 6px; top: 16px; width: 2px; height: calc(100% - 6px); background: var(--border); }
.ht-info { flex: 1; }
.ht-period { font-size: 12px; font-weight: 700; }
.ht-roas { font-size: 14px; font-weight: 700; }
.ht-detail { font-size: 10px; color: var(--text-muted); }

/* Quick Compare */
.qc-container { max-width: 100%; overflow-x: auto; }
.qc-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.qc-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }
.qc-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.qc-metric-name { font-weight: 600; white-space: nowrap; }

/* MCC Report */
.mr-container { max-width: 800px; }
.mr-print-btn { padding: 6px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; margin-bottom: 16px; }
.mr-kpis { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.mr-kpi { flex: 1; min-width: 100px; padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.mr-kpi-label { font-size: 10px; color: var(--text-muted); margin-bottom: 2px; }
.mr-kpi-val { font-size: 16px; font-weight: 700; }
.mr-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.mr-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.mr-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }

/* ============ Round 26 ============ */

/* LP Quality Scores */
.lps-container { max-width: 500px; }
.lps-score { text-align: center; padding: 20px; margin-bottom: 16px; border-radius: 12px; background: var(--bg-secondary); border: 2px solid; }
.lps-score-val { font-size: 42px; font-weight: 800; }
.lps-score-label { font-size: 11px; color: var(--text-muted); }
.lps-factors { margin-bottom: 16px; }
.lps-factor { margin-bottom: 10px; }
.lps-factor-header { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 4px; }
.lps-bar-track { height: 8px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; }
.lps-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.lps-recs { padding: 12px; background: var(--bg-secondary); border-radius: 8px; border: 1px solid var(--border); }
.lps-rec { font-size: 11px; padding: 4px 0; }

/* Budget Alerts */
.ba-container { max-width: 500px; }
.ba-current { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.ba-stat { flex: 1; min-width: 100px; padding: 10px; border-radius: 6px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.ba-stat span { font-size: 9px; color: var(--text-muted); display: block; }
.ba-stat strong { font-size: 14px; }
.ba-add { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.ba-add select { padding: 4px 8px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }
.ba-add-btn { padding: 4px 12px; border: none; border-radius: 4px; background: var(--accent); color: #fff; font-size: 11px; cursor: pointer; }
.ba-rules { margin-bottom: 16px; }
.ba-rule { display: flex; justify-content: space-between; align-items: center; padding: 6px 10px; margin-bottom: 4px; border-radius: 4px; background: var(--bg-secondary); font-size: 11px; }
.ba-remove { background: none; border: none; color: #ef4444; cursor: pointer; font-size: 14px; }
.ba-status { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.ba-warning { font-size: 11px; padding: 4px 0; color: #f59e0b; }
.ba-info { font-size: 11px; color: var(--text-muted); }

/* Click Fraud Estimator */
.cfr-container { max-width: 500px; }
.cfr-risk { text-align: center; padding: 16px; margin-bottom: 16px; border-radius: 10px; background: var(--bg-secondary); border: 2px solid; }
.cfr-risk-level { font-size: 24px; font-weight: 800; }
.cfr-risk-label { font-size: 11px; color: var(--text-muted); }
.cfr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; margin-bottom: 16px; }
.cfr-stat { padding: 10px; border-radius: 6px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.cfr-stat span { font-size: 9px; color: var(--text-muted); display: block; margin-bottom: 2px; }
.cfr-stat strong { font-size: 13px; }
.cfr-recs { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.cfr-rec { font-size: 11px; padding: 4px 0; border-bottom: 1px solid var(--border); }

/* Margin Analysis */
.ma-container { max-width: 700px; }
.ma-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ma-table th { text-align: left; padding: 6px 8px; border-bottom: 2px solid var(--border); font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.ma-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.ma-breakeven { margin-top: 16px; padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); font-size: 12px; text-align: center; }

/* Seasonal Calendar */
.sca-container { max-width: 600px; }
.sca-timeline { padding-left: 10px; }
.sca-event { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.sca-current { background: rgba(99,102,241,0.08); margin: 0 -10px; padding: 10px; border-radius: 8px; border: 1px solid var(--accent); }
.sca-month { width: 32px; font-size: 11px; font-weight: 700; color: var(--text-muted); flex-shrink: 0; }
.sca-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-top: 3px; }
.sca-info { flex: 1; }
.sca-name { font-size: 12px; font-weight: 600; }
.sca-impact { font-size: 9px; font-weight: 700; }
.sca-notes { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.sca-prep { font-size: 9px; color: var(--text-muted); }

/* ============ Round 27 ============ */

/* Account Snapshot Cards */
.asc-container { max-width: 100%; }
.asc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.asc-card { padding: 14px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.asc-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.asc-name { font-size: 12px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 140px; }
.asc-status { font-size: 9px; font-weight: 700; }
.asc-roas { font-size: 22px; font-weight: 800; margin-bottom: 6px; }
.asc-trend { font-size: 11px; font-weight: 600; margin-left: 4px; }
.asc-metrics { display: flex; gap: 8px; font-size: 10px; color: var(--text-muted); flex-wrap: wrap; }

/* Trend Sparklines */
.tsd-container { max-width: 100%; overflow-x: auto; }
.tsd-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.tsd-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.tsd-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.tsd-name { font-weight: 600; white-space: nowrap; }
.tsd-spark { vertical-align: middle; }

/* Portfolio Risk Score */
.prs-container { max-width: 500px; }
.prs-score { text-align: center; padding: 20px; margin-bottom: 16px; border-radius: 12px; background: var(--bg-secondary); border: 2px solid; }
.prs-val { font-size: 42px; font-weight: 800; }
.prs-label { font-size: 12px; color: var(--text-muted); }
.prs-factors { margin-top: 16px; }
.prs-factor { margin-bottom: 12px; }
.prs-factor-header { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 4px; }
.prs-bar-track { height: 8px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; }
.prs-bar-fill { height: 100%; border-radius: 4px; }
.prs-factor-desc { font-size: 10px; color: var(--text-muted); margin-top: 2px; }

/* ROAS Distribution */
.rd-container { max-width: 600px; }
.rd-chart { display: flex; align-items: flex-end; gap: 8px; height: 150px; margin-bottom: 16px; padding: 0 10px; }
.rd-bar-group { flex: 1; text-align: center; display: flex; flex-direction: column; align-items: center; }
.rd-count { font-size: 12px; font-weight: 700; margin-bottom: 4px; }
.rd-bar { width: 100%; max-width: 50px; border-radius: 4px 4px 0 0; transition: height 0.3s; }
.rd-label { font-size: 10px; color: var(--text-muted); margin-top: 4px; }
.rd-details { margin-top: 12px; }
.rd-bucket { margin-bottom: 10px; }
.rd-bucket-header { font-size: 12px; font-weight: 700; padding: 4px 0 4px 10px; margin-bottom: 4px; }
.rd-account { font-size: 11px; padding: 2px 0 2px 16px; color: var(--text-secondary); }

/* Task Timer */
.tt-container { max-width: 400px; text-align: center; }
.tt-display { padding: 24px; margin-bottom: 16px; }
.tt-time { font-size: 64px; font-weight: 800; font-family: monospace; color: var(--accent); }
.tt-status { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.tt-controls { display: flex; gap: 8px; justify-content: center; margin-bottom: 20px; }
.tt-btn { padding: 8px 16px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; cursor: pointer; }
.tt-start { background: var(--accent); color: #fff; border: none; }
.tt-stop { background: #ef4444; color: #fff; border: none; }
.tt-today { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); margin-bottom: 16px; }
.tt-today-label { font-size: 10px; color: var(--text-muted); }
.tt-today-val { font-size: 14px; font-weight: 700; }
.tt-history { text-align: left; padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.tt-hist-item { display: flex; justify-content: space-between; font-size: 11px; padding: 3px 0; border-bottom: 1px solid var(--border); }

/* ============ Round 28 ============ */

/* Smart Switcher */
.ss-container { padding: 10px 16px 12px; border-bottom: 1px solid var(--border); }
.ss-label { font-size: 9px; text-transform: uppercase; color: var(--text-muted); font-weight: 600; margin-bottom: 4px; }
.ss-select { width: 100%; padding: 6px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }

/* Target Visualizer */
.mtv-container { max-width: 600px; }
.mtv-grid { display: grid; gap: 16px; }
.mtv-card { padding: 14px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.mtv-label { font-size: 13px; font-weight: 700; margin-bottom: 2px; }
.mtv-target { font-size: 10px; color: var(--text-muted); margin-bottom: 10px; }
.mtv-bar-group { margin-bottom: 8px; }
.mtv-bar-label { font-size: 11px; margin-bottom: 3px; }
.mtv-bar-track { height: 16px; background: var(--bg-primary); border-radius: 4px; overflow: visible; position: relative; }
.mtv-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.mtv-target-line { position: absolute; top: -2px; width: 2px; height: 20px; background: var(--text-primary); }

/* Campaign Mix */
.cmx-container { max-width: 500px; text-align: center; }
.cmx-chart-wrap { max-width: 250px; margin: 0 auto 16px; }
.cmx-legend { text-align: left; }
.cmx-legend-item { display: flex; align-items: center; gap: 8px; font-size: 11px; padding: 4px 0; }
.cmx-swatch { width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0; }

/* Performance Bands */
.pb-container { max-width: 600px; }
.pb-band { padding: 12px; margin-bottom: 10px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.pb-header { margin-bottom: 8px; }
.pb-band-name { font-size: 13px; font-weight: 700; }
.pb-desc { font-size: 10px; color: var(--text-muted); margin-left: 8px; }
.pb-account { display: flex; justify-content: space-between; font-size: 11px; padding: 3px 0; border-bottom: 1px solid var(--border); }
.pb-acct-name { font-weight: 600; }
.pb-acct-roas { font-weight: 700; }
.pb-acct-spend { color: var(--text-muted); }
.pb-empty { font-size: 10px; color: var(--text-muted); font-style: italic; }

/* Changelog */
.dcl-container { max-width: 600px; }
.dcl-entry { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.dcl-version { font-size: 14px; font-weight: 700; }
.dcl-date { font-size: 11px; color: var(--text-muted); font-weight: 400; }
.dcl-changes { margin: 6px 0 0 20px; font-size: 11px; color: var(--text-secondary); }
.dcl-changes li { padding: 2px 0; }

/* ============ Round 29 ============ */

/* Bid Strategy Analyzer */
.bsa-container { max-width: 550px; }
.bsa-recommended { text-align: center; padding: 16px; margin-bottom: 16px; border-radius: 10px; background: var(--bg-secondary); border: 2px solid; }
.bsa-rec-label { font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.bsa-rec-name { font-size: 18px; font-weight: 800; margin: 4px 0; }
.bsa-rec-reason { font-size: 11px; color: var(--text-secondary); }
.bsa-context { display: flex; gap: 10px; margin-bottom: 16px; }
.bsa-ctx-item { flex: 1; padding: 8px; border-radius: 6px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; font-size: 10px; }
.bsa-ctx-item span { display: block; color: var(--text-muted); font-size: 9px; }
.bsa-ctx-item strong { font-size: 14px; }
.bsa-all { margin-top: 12px; }
.bsa-strategy { margin-bottom: 10px; }
.bsa-strat-header { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 3px; }
.bsa-fit { font-weight: 700; }
.bsa-bar-track { height: 6px; background: var(--bg-primary); border-radius: 3px; overflow: hidden; }
.bsa-bar-fill { height: 100%; border-radius: 3px; }
.bsa-reason { font-size: 10px; color: var(--text-muted); margin-top: 2px; }

/* Account Handoff Report */
.ahr-container { max-width: 700px; }
.ahr-print-btn { padding: 6px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; margin-bottom: 16px; }
.ahr-section { margin-bottom: 20px; }
.ahr-section-title { font-size: 13px; font-weight: 700; border-bottom: 2px solid var(--accent); padding-bottom: 4px; margin-bottom: 8px; }
.ahr-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.ahr-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.ahr-table td:first-child { color: var(--text-muted); width: 140px; }
.ahr-metrics { display: flex; gap: 8px; flex-wrap: wrap; }
.ahr-metric { flex: 1; min-width: 80px; padding: 8px; border-radius: 6px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.ahr-metric span { font-size: 9px; color: var(--text-muted); display: block; }
.ahr-metric strong { font-size: 14px; }
.ahr-activity { font-size: 11px; padding: 4px 0; border-bottom: 1px solid var(--border); }
.ahr-notes { font-size: 12px; line-height: 1.6; color: var(--text-secondary); }
.ahr-goal { font-size: 11px; padding: 3px 0; }

/* Metric Milestones */
.mm-container { max-width: 600px; }
.mm-grid { display: grid; gap: 8px; }
.mm-item { padding: 10px 14px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.mm-achieved { border-color: #10b981; }
.mm-name { font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.mm-progress-track { height: 8px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; margin-bottom: 4px; }
.mm-progress-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.mm-values { display: flex; justify-content: space-between; font-size: 10px; color: var(--text-muted); }

/* Search vs Shopping */
.svs-container { max-width: 600px; }
.svs-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.svs-channel { padding: 14px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.svs-ch-name { font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.svs-ch-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.svs-metric { font-size: 10px; }
.svs-metric span { color: var(--text-muted); display: block; font-size: 9px; }
.svs-metric strong { font-size: 12px; }
.svs-recs { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.svs-rec { font-size: 11px; padding: 4px 0; border-bottom: 1px solid var(--border); }

/* Dark Funnel Estimator */
.dfe-container { max-width: 550px; }
.dfe-visual { margin-bottom: 16px; }
.dfe-funnel-row { display: flex; height: 32px; border-radius: 6px; overflow: hidden; }
.dfe-funnel-bar { display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #fff; }
.dfe-tracked { background: #10b981; }
.dfe-dark { background: #6366f1; }
.dfe-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; margin-bottom: 16px; }
.dfe-stat { padding: 10px; border-radius: 6px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.dfe-stat span { font-size: 9px; color: var(--text-muted); display: block; margin-bottom: 2px; }
.dfe-stat strong { font-size: 13px; }
.dfe-breakdown { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.dfe-comp { display: flex; justify-content: space-between; font-size: 11px; padding: 4px 0; border-bottom: 1px solid var(--border); }

/* ============ Round 30 ============ */

/* Client Value Score */
.cvs-container { max-width: 600px; }
.cvs-list { margin-bottom: 12px; }
.cvs-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.cvs-rank { font-size: 16px; width: 28px; text-align: center; flex-shrink: 0; }
.cvs-info { flex: 1; }
.cvs-name { font-size: 13px; font-weight: 700; }
.cvs-meta { font-size: 10px; color: var(--text-muted); }
.cvs-score { font-size: 20px; font-weight: 800; width: 40px; text-align: center; }
.cvs-breakdown { display: flex; width: 100px; height: 6px; border-radius: 3px; overflow: hidden; }
.cvs-bar { height: 100%; }
.cvs-legend { display: flex; gap: 12px; font-size: 10px; font-weight: 600; }

/* Smart Suggestions */
.ssg-container { max-width: 700px; }
.ssg-item { padding: 10px 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.ssg-header { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.ssg-icon { font-size: 14px; }
.ssg-account { font-size: 12px; font-weight: 700; }
.ssg-category { font-size: 9px; padding: 1px 8px; border-radius: 10px; background: var(--bg-primary); color: var(--text-muted); font-weight: 600; margin-left: auto; }
.ssg-msg { font-size: 11px; color: var(--text-secondary); line-height: 1.4; }

/* Account DNA */
.dna-container { max-width: 500px; }
.dna-strands { margin-bottom: 16px; }
.dna-strand { margin-bottom: 10px; }
.dna-label { font-size: 11px; font-weight: 600; margin-bottom: 3px; }
.dna-bar-track { height: 10px; background: var(--bg-secondary); border-radius: 5px; overflow: visible; position: relative; }
.dna-bar-fill { height: 100%; border-radius: 5px; }
.dna-marker { position: absolute; top: -3px; width: 3px; height: 16px; background: var(--text-primary); border-radius: 2px; }
.dna-percentile { font-size: 10px; font-weight: 600; margin-top: 2px; }
.dna-personality { margin-top: 16px; padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); font-size: 13px; text-align: center; }
.dna-pers-label { font-size: 10px; color: var(--text-muted); display: block; margin-bottom: 2px; }

/* KPI Scorecard */
.ksc-container { max-width: 700px; }
.ksc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
.ksc-card { padding: 14px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.ksc-name { font-size: 10px; font-weight: 600; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; }
.ksc-actual { font-size: 22px; font-weight: 800; }
.ksc-target { font-size: 10px; color: var(--text-muted); margin-top: 4px; }
.ksc-status { font-size: 10px; font-weight: 700; margin-top: 4px; }

/* Correlation Insights */
.mci-container { max-width: 600px; }
.mci-item { padding: 10px 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.mci-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.mci-label { font-size: 12px; font-weight: 700; }
.mci-r { font-size: 11px; font-weight: 600; }
.mci-interp { font-size: 11px; color: var(--text-secondary); line-height: 1.4; }

/* ============ Round 31 ============ */

/* Neg Keyword Gaps */
.nkg-container { max-width: 600px; }
.nkg-category { padding: 10px 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.nkg-cat-header { display: flex; justify-content: space-between; margin-bottom: 4px; }
.nkg-cat-name { font-size: 13px; font-weight: 700; }
.nkg-risk { font-size: 10px; font-weight: 700; }
.nkg-reason { font-size: 10px; color: var(--text-muted); margin-bottom: 6px; }
.nkg-examples { display: flex; gap: 4px; flex-wrap: wrap; }
.nkg-keyword { font-size: 10px; padding: 2px 8px; border-radius: 10px; background: var(--bg-primary); color: var(--text-secondary); font-family: monospace; }
.nkg-action { margin-top: 16px; }
.nkg-export-btn { padding: 6px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; }

/* Ad Schedule Heatmap */
.ash-container { max-width: 700px; }
.ash-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.ash-table th { padding: 4px 6px; text-align: center; font-weight: 600; color: var(--text-muted); font-size: 9px; }
.ash-day { font-weight: 700; text-align: left; padding: 4px 8px; color: var(--text-muted); }
.ash-cell { padding: 4px; text-align: center; border-radius: 3px; }
.ash-val { font-size: 9px; font-weight: 600; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,0.3); }
.ash-legend { display: flex; align-items: center; gap: 6px; font-size: 10px; color: var(--text-muted); margin-top: 12px; justify-content: center; }
.ash-gradient { display: inline-block; width: 80px; height: 8px; background: linear-gradient(90deg, rgba(52,211,153,0.3), rgba(239,68,68,0.8)); border-radius: 4px; }
.ash-tip { font-size: 10px; color: var(--text-muted); text-align: center; margin-top: 8px; }

/* Revenue Leaderboard */
.rlb-container { max-width: 700px; }
.rlb-total { font-size: 12px; color: var(--text-muted); margin-bottom: 12px; }
.rlb-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.rlb-rank { width: 28px; text-align: center; font-size: 14px; flex-shrink: 0; }
.rlb-info { flex: 1; }
.rlb-name { font-size: 12px; font-weight: 600; margin-bottom: 3px; }
.rlb-bar-track { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.rlb-bar-fill { height: 100%; background: linear-gradient(90deg, #6366f1, #3b82f6); border-radius: 3px; }
.rlb-rev { font-size: 12px; font-weight: 700; width: 90px; text-align: right; }
.rlb-pct { font-size: 10px; color: var(--text-muted); width: 40px; text-align: right; }
.rlb-roas { font-size: 10px; color: var(--accent); width: 40px; text-align: right; }

/* Account Pulse */
.apc-container { max-width: 600px; }
.apc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin-bottom: 16px; }
.apc-vital { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.apc-pulse-strong { animation: pulse-glow 2s infinite; }
@keyframes pulse-glow { 0%, 100% { box-shadow: none; } 50% { box-shadow: 0 0 12px rgba(99,102,241,0.3); } }
.apc-icon { font-size: 18px; margin-bottom: 4px; }
.apc-name { font-size: 10px; color: var(--text-muted); font-weight: 600; }
.apc-value { font-size: 16px; font-weight: 800; margin: 4px 0; }
.apc-change { font-size: 10px; font-weight: 600; }
.apc-overall { margin-top: 12px; padding: 10px; border-radius: 8px; background: var(--bg-secondary); border: 2px solid; text-align: center; font-size: 12px; }

/* CPC Trends */
.cpc-container { max-width: 100%; overflow-x: auto; }
.cpc-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.cpc-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.cpc-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.cpc-avg { margin-top: 12px; font-size: 12px; padding: 10px; border-radius: 8px; background: var(--bg-secondary); text-align: center; }

/* ============ Round 32 ============ */

/* Attribution Window */
.aw-container { max-width: 700px; }
.aw-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.aw-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.aw-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.aw-insight { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Spend Parity */
.spa-container { max-width: 700px; }
.spa-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.spa-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.spa-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }

/* Account Age */
.aat-container { max-width: 600px; }
.aat-card { padding: 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.aat-header { display: flex; justify-content: space-between; margin-bottom: 8px; }
.aat-name { font-size: 13px; font-weight: 700; }
.aat-maturity { font-size: 10px; font-weight: 700; }
.aat-bars { display: flex; gap: 12px; margin-bottom: 6px; }
.aat-bar-item { text-align: center; font-size: 9px; color: var(--text-muted); }
.aat-dot { width: 14px; height: 14px; border-radius: 50%; margin: 3px auto 0; }
.aat-ai { font-size: 10px; font-weight: 600; }

/* Volatility Index */
.mvi-container { max-width: 600px; }
.mvi-row { padding: 10px 0; border-bottom: 1px solid var(--border); }
.mvi-name { font-size: 13px; font-weight: 700; margin-bottom: 2px; }
.mvi-score { font-size: 14px; font-weight: 700; }
.mvi-label { font-size: 10px; font-weight: 400; margin-left: 4px; }
.mvi-details { display: flex; gap: 10px; margin-top: 4px; }
.mvi-detail { font-size: 10px; font-weight: 600; }

/* Summary Email */
.pse-container { max-width: 700px; }
.pse-textarea { width: 100%; border: 1px solid var(--border); border-radius: 8px; padding: 12px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; font-family: monospace; line-height: 1.5; resize: vertical; box-sizing: border-box; }
.pse-actions { display: flex; gap: 8px; margin-top: 10px; }
.pse-btn { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; }
.pse-btn-secondary { background: var(--bg-secondary); color: var(--text-primary); border: 1px solid var(--border); }

/* ============ Round 33 ============ */

/* Conversion Funnel */
.cfv-container { max-width: 500px; }
.cfv-stage { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }
.cfv-bar { height: 32px; border-radius: 4px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0,0,0,0.3); min-width: 60px; transition: width 0.3s; }
.cfv-label { font-size: 11px; font-weight: 600; width: 90px; text-align: right; flex-shrink: 0; }
.cfv-value { font-size: 10px; color: var(--text-muted); width: 70px; }
.cfv-drop { text-align: center; font-size: 10px; color: var(--text-muted); margin: 2px 0 2px 102px; }
.cfv-summary { margin-top: 16px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* ROAS Heatmap */
.rhm-container { max-width: 100%; overflow-x: auto; }
.rhm-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.rhm-table th { padding: 8px; text-align: center; font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); border-bottom: 2px solid var(--border); }
.rhm-table th:first-child { text-align: left; }
.rhm-table td { padding: 6px 8px; text-align: center; border-bottom: 1px solid var(--border); }
.rhm-cell { padding: 4px 8px; border-radius: 4px; font-weight: 700; font-size: 11px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,0.3); }
.rhm-name { text-align: left; font-weight: 600; }
.rhm-legend { display: flex; align-items: center; gap: 6px; font-size: 10px; color: var(--text-muted); margin-top: 12px; justify-content: center; }
.rhm-gradient { display: inline-block; width: 100px; height: 8px; background: linear-gradient(90deg, #ef4444, #f59e0b, #22c55e, #10b981); border-radius: 4px; }

/* Spend Efficiency Quadrant */
.sem-container { max-width: 600px; }
.sem-quadrant { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 12px; border-radius: 8px; overflow: hidden; }
.sem-q { padding: 12px; }
.sem-q-title { font-size: 11px; font-weight: 700; margin-bottom: 6px; }
.sem-q-item { font-size: 10px; padding: 2px 0; }
.sem-q-stars { background: rgba(34,197,94,0.1); }
.sem-q-opps { background: rgba(59,130,246,0.1); }
.sem-q-drains { background: rgba(239,68,68,0.1); }
.sem-q-question { background: rgba(245,158,11,0.1); }
.sem-insight { padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Compare Radar */
.acr-container { max-width: 600px; }
.acr-controls { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.acr-select { padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }
.acr-canvas { max-width: 400px; margin: 0 auto; }

/* Portfolio Timeline */
.ppt-container { max-width: 700px; }
.ppt-canvas { width: 100%; max-height: 300px; }
.ppt-summary { margin-top: 12px; display: flex; gap: 16px; justify-content: center; font-size: 11px; }
.ppt-stat { text-align: center; }
.ppt-stat-value { font-size: 18px; font-weight: 800; }
.ppt-stat-label { font-size: 10px; color: var(--text-muted); }

/* ============ Round 34 ============ */

/* Revenue Forecast */
.rvf-container { max-width: 700px; }
.rvf-scenarios { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 16px; }
.rvf-scenario { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.rvf-name { font-size: 10px; font-weight: 700; text-transform: uppercase; margin-bottom: 6px; }
.rvf-value { font-size: 16px; font-weight: 800; }
.rvf-sub { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.rvf-table { width: 100%; border-collapse: collapse; font-size: 11px; margin-top: 12px; }
.rvf-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.rvf-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }

/* Competitor IS Gap */
.cig-container { max-width: 600px; }
.cig-pie { width: 180px; height: 180px; border-radius: 50%; margin: 0 auto 16px; }
.cig-legend { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 12px; }
.cig-legend-item { display: flex; align-items: center; gap: 4px; font-size: 10px; }
.cig-dot { width: 10px; height: 10px; border-radius: 50%; }
.cig-insight { padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Health Summary */
.ahs-container { max-width: 600px; }
.ahs-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.ahs-icon { font-size: 16px; width: 24px; text-align: center; }
.ahs-name { font-size: 12px; font-weight: 600; flex: 1; }
.ahs-status { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; }
.ahs-overall { margin-top: 12px; padding: 10px; border-radius: 8px; background: var(--bg-secondary); text-align: center; font-size: 13px; font-weight: 700; }

/* Quick Wins */
.qwf-container { max-width: 700px; }
.qwf-card { padding: 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.qwf-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.qwf-title { font-size: 12px; font-weight: 700; }
.qwf-impact { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 10px; }
.qwf-desc { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.qwf-account { font-size: 10px; color: var(--accent); font-weight: 600; }

/* Calculator Pro */
.mcp-container { max-width: 600px; }
.mcp-tabs { display: flex; gap: 4px; margin-bottom: 16px; flex-wrap: wrap; }
.mcp-tab { padding: 6px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; cursor: pointer; font-weight: 600; }
.mcp-tab.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.mcp-calc { padding: 16px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.mcp-field { margin-bottom: 10px; }
.mcp-field label { display: block; font-size: 10px; font-weight: 600; color: var(--text-muted); margin-bottom: 3px; text-transform: uppercase; }
.mcp-field input { width: 100%; padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-primary); color: var(--text-primary); font-size: 12px; box-sizing: border-box; }
.mcp-btn { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; font-weight: 600; }
.mcp-result { margin-top: 12px; padding: 12px; border-radius: 8px; background: var(--bg-primary); border: 2px solid var(--accent); }
.mcp-result-value { font-size: 20px; font-weight: 800; text-align: center; }
.mcp-result-label { font-size: 10px; color: var(--text-muted); text-align: center; }

/* ============ Round 35 ============ */

/* Device Breakdown */
.dvb-container { max-width: 600px; }
.dvb-device { padding: 12px; margin-bottom: 10px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.dvb-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.dvb-icon { font-size: 18px; }
.dvb-name { font-size: 13px; font-weight: 700; flex: 1; }
.dvb-pct { font-size: 16px; font-weight: 800; }
.dvb-bar-track { height: 6px; background: var(--bg-primary); border-radius: 3px; overflow: hidden; margin-bottom: 10px; }
.dvb-bar-fill { height: 100%; border-radius: 3px; }
.dvb-metrics { display: flex; gap: 12px; flex-wrap: wrap; }
.dvb-metric { text-align: center; }
.dvb-metric-val { font-size: 12px; font-weight: 700; display: block; }
.dvb-metric-lbl { font-size: 9px; color: var(--text-muted); text-transform: uppercase; }
.dvb-tip { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; color: var(--text-muted); }

/* Optimization Score */
.ops-container { max-width: 500px; }
.ops-score-ring { width: 120px; height: 120px; border-radius: 50%; border: 6px solid; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto 20px; }
.ops-score-num { font-size: 36px; font-weight: 900; }
.ops-score-label { font-size: 11px; font-weight: 600; }
.ops-dim { margin-bottom: 10px; }
.ops-dim-header { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 3px; }
.ops-dim-score { font-weight: 700; }
.ops-dim-bar { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.ops-dim-fill { height: 100%; border-radius: 3px; }

/* Budget Gauge */
.bgu-container { max-width: 500px; text-align: center; }
.bgu-gauge { max-width: 250px; margin: 0 auto; }
.bgu-svg { width: 100%; }
.bgu-stats { display: flex; justify-content: center; gap: 24px; margin: 16px 0; }
.bgu-stat { text-align: center; }
.bgu-stat-val { font-size: 16px; font-weight: 800; }
.bgu-stat-lbl { font-size: 10px; color: var(--text-muted); }
.bgu-footer { font-size: 11px; color: var(--text-muted); padding: 10px; border-radius: 8px; background: var(--bg-secondary); }

/* Revenue per Click */
.rpc-container { max-width: 500px; }
.rpc-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.rpc-label { width: 70px; font-size: 11px; font-weight: 600; color: var(--text-muted); }
.rpc-bar-track { flex: 1; height: 24px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.rpc-bar-fill { height: 100%; border-radius: 4px; }
.rpc-value { width: 60px; text-align: right; font-size: 12px; font-weight: 700; }
.rpc-insight { margin-top: 16px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Account Comparison Matrix */
.acm-container { max-width: 100%; overflow-x: auto; }
.acm-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.acm-table th { padding: 8px; text-align: center; font-weight: 600; font-size: 9px; text-transform: uppercase; color: var(--text-muted); border-bottom: 2px solid var(--border); }
.acm-table th:first-child { text-align: left; }
.acm-table td { padding: 6px 8px; text-align: center; border-bottom: 1px solid var(--border); }
.acm-metric-name { text-align: left; font-weight: 600; }
.acm-best { background: rgba(34,197,94,0.1); font-weight: 700; }

/* ============ Round 36 ============ */

/* Weekly Digest */
.wdb-container { max-width: 700px; }
.wdb-textarea { width: 100%; border: 1px solid var(--border); border-radius: 8px; padding: 12px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; font-family: monospace; line-height: 1.5; resize: vertical; box-sizing: border-box; }
.wdb-actions { display: flex; gap: 8px; margin-top: 10px; }
.wdb-btn { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; }
.wdb-btn-secondary { background: var(--bg-secondary); color: var(--text-primary); border: 1px solid var(--border); }

/* Goal Tracker */
.glt-container { max-width: 600px; }
.glt-goal { padding: 12px; margin-bottom: 10px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.glt-header { display: flex; justify-content: space-between; font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.glt-target { font-size: 10px; color: var(--text-muted); font-weight: 400; }
.glt-bar-track { height: 8px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; margin-bottom: 6px; }
.glt-bar-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
.glt-values { display: flex; justify-content: space-between; align-items: center; }
.glt-current { font-size: 12px; font-weight: 700; }
.glt-input { width: 100px; padding: 4px 8px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-primary); color: var(--text-primary); font-size: 11px; text-align: right; }

/* Anomaly Detector */
.amd-container { max-width: 600px; }
.amd-count { font-size: 12px; font-weight: 700; margin-bottom: 12px; color: #f59e0b; }
.amd-clean { padding: 20px; text-align: center; font-size: 13px; color: #22c55e; font-weight: 600; border-radius: 8px; background: rgba(34,197,94,0.05); }
.amd-card { padding: 10px 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.amd-header { font-size: 12px; margin-bottom: 3px; }
.amd-change { font-size: 14px; font-weight: 800; }

/* Campaign Type ROI */
.ctr-container { max-width: 600px; }
.ctr-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ctr-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.ctr-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.ctr-insight { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid #f59e0b; font-size: 11px; color: var(--text-muted); }

/* Portfolio Optimizer */
.pfo-container { max-width: 700px; }
.pfo-summary { display: flex; justify-content: center; gap: 32px; margin-bottom: 16px; }
.pfo-stat { text-align: center; }
.pfo-stat-val { font-size: 20px; font-weight: 800; }
.pfo-stat-lbl { font-size: 10px; color: var(--text-muted); }
.pfo-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.pfo-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.pfo-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.pfo-name { font-weight: 600; }
.pfo-note { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; color: var(--text-muted); }

/* ============ Round 37 ============ */

/* Trend Arrows */
.tad-container { max-width: 100%; overflow-x: auto; }
.tad-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.tad-table th { padding: 8px; text-align: center; font-weight: 600; font-size: 10px; text-transform: uppercase; color: var(--text-muted); border-bottom: 2px solid var(--border); }
.tad-table th:first-child { text-align: left; }
.tad-table td { padding: 6px 8px; text-align: center; border-bottom: 1px solid var(--border); }
.tad-name { text-align: left; font-weight: 600; }
.tad-arrow { font-size: 16px; font-weight: 700; }
.tad-legend { text-align: center; margin-top: 12px; font-size: 10px; color: var(--text-muted); }

/* ROI Calculator */
.ric-container { max-width: 500px; }
.ric-current { display: flex; justify-content: space-around; margin-bottom: 20px; padding: 12px; border-radius: 8px; background: var(--bg-secondary); }
.ric-stat { text-align: center; }
.ric-stat-val { font-size: 14px; font-weight: 800; display: block; }
.ric-stat-lbl { font-size: 10px; color: var(--text-muted); }
.ric-input-group { margin-bottom: 12px; }
.ric-label { display: block; font-size: 10px; font-weight: 600; color: var(--text-muted); margin-bottom: 4px; text-transform: uppercase; }
.ric-input { width: 100%; padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; box-sizing: border-box; }
.ric-results { margin-top: 16px; }
.ric-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ric-proj { padding: 12px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.ric-proj-val { font-size: 18px; font-weight: 800; }
.ric-proj-lbl { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.ric-proj-change { font-size: 11px; font-weight: 700; margin-top: 4px; }

/* Data Quality */
.dqs-container { max-width: 600px; }
.dqs-card { padding: 10px 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.dqs-header { display: flex; justify-content: space-between; margin-bottom: 6px; }
.dqs-name { font-size: 12px; font-weight: 700; }
.dqs-score { font-size: 11px; font-weight: 700; }
.dqs-bar-track { height: 6px; background: var(--bg-primary); border-radius: 3px; overflow: hidden; margin-bottom: 4px; }
.dqs-bar-fill { height: 100%; border-radius: 3px; }
.dqs-detail { font-size: 10px; color: var(--text-muted); }

/* Metric Correlator */
.mcr-container { max-width: 500px; }
.mcr-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.mcr-table th { padding: 8px; text-align: center; font-weight: 600; font-size: 10px; color: var(--text-muted); border-bottom: 2px solid var(--border); }
.mcr-table td { padding: 6px 8px; text-align: center; border-bottom: 1px solid var(--border); }
.mcr-label { font-weight: 600; text-align: left; }
.mcr-cell { font-weight: 600; border-radius: 4px; }
.mcr-tip { margin-top: 12px; font-size: 10px; color: var(--text-muted); text-align: center; }

/* Export Center */
.exc-container { max-width: 600px; }
.exc-card { display: flex; align-items: center; gap: 12px; padding: 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); cursor: pointer; transition: border-color 0.2s; }
.exc-card:hover { border-color: var(--accent); }
.exc-icon { font-size: 24px; }
.exc-info { flex: 1; }
.exc-name { font-size: 12px; font-weight: 700; }
.exc-desc { font-size: 10px; color: var(--text-muted); }
.exc-btn { padding: 6px 12px; border-radius: 6px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 600; }

/* ============ Round 38 ============ */

/* Notes Timeline */
.ntl-container { max-width: 600px; }
.ntl-add { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.ntl-input { flex: 1; min-width: 200px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; }
.ntl-type { padding: 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }
.ntl-btn { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; }
.ntl-timeline { border-left: 2px solid var(--border); padding-left: 16px; }
.ntl-entry { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; position: relative; }
.ntl-entry::before { content: ''; position: absolute; left: -21px; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); }
.ntl-dot { font-size: 14px; }
.ntl-content { flex: 1; }
.ntl-date { font-size: 10px; color: var(--text-muted); }
.ntl-text { font-size: 12px; margin-top: 2px; }
.ntl-delete { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 12px; padding: 2px 6px; }

/* Smart Alerts Config */
.sac-container { max-width: 600px; }
.sac-add { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.sac-select { padding: 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }
.sac-input { width: 100px; padding: 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }
.sac-btn { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; }
.sac-list { }
.sac-alert { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 6px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.sac-triggered { border-color: #ef4444; background: rgba(239,68,68,0.05); }
.sac-alert-icon { font-size: 14px; }
.sac-alert-text { flex: 1; font-size: 11px; font-weight: 600; }
.sac-alert-val { font-size: 10px; color: var(--text-muted); }
.sac-remove { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 12px; padding: 2px 6px; }

/* Revenue Breakdown */
.rvb-container { max-width: 600px; }
.rvb-total { font-size: 13px; margin-bottom: 16px; }
.rvb-source { margin-bottom: 10px; }
.rvb-source-header { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 4px; }
.rvb-source-val { font-weight: 700; }
.rvb-bar-track { height: 8px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.rvb-bar-fill { height: 100%; border-radius: 4px; }
.rvb-note { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid #f59e0b; font-size: 11px; color: var(--text-muted); }

/* Efficiency Frontier */
.eff-container { max-width: 700px; }
.eff-canvas { width: 100%; height: 300px; }
.eff-legend { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 12px; font-size: 10px; }
.eff-legend-item { display: flex; align-items: center; gap: 4px; }
.eff-dot { width: 8px; height: 8px; border-radius: 50%; }

/* Dashboard Settings */
.dsh-container { max-width: 500px; }
.dsh-section { margin-bottom: 20px; padding: 16px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); }
.dsh-section-title { font-size: 12px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; color: var(--text-muted); }
.dsh-field { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.dsh-field label { font-size: 12px; font-weight: 600; }
.dsh-select { padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-primary); color: var(--text-primary); font-size: 11px; }
.dsh-val { font-size: 11px; color: var(--text-muted); }
.dsh-danger-btn { padding: 6px 12px; border: 1px solid #ef4444; border-radius: 6px; background: transparent; color: #ef4444; font-size: 11px; cursor: pointer; }

/* ============ Round 39 ============ */

/* Conversion Lag */
.cle-container { max-width: 500px; }
.cle-window { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cle-label { width: 100px; font-size: 11px; font-weight: 600; }
.cle-bar-track { flex: 1; height: 20px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.cle-bar-fill { height: 100%; border-radius: 4px; }
.cle-val { width: 80px; text-align: right; font-size: 11px; font-weight: 700; }
.cle-insight { margin-top: 16px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Spend Heatmap (calendar) */
.ash2-container { max-width: 700px; }
.ash2-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.ash2-cell { padding: 6px 4px; border-radius: 4px; text-align: center; }
.ash2-day { font-size: 10px; font-weight: 700; }
.ash2-val { font-size: 9px; opacity: 0.8; }
.ash2-legend { text-align: center; margin-top: 12px; font-size: 10px; color: var(--text-muted); }

/* Portfolio Health Index */
.phi-container { max-width: 500px; }
.phi-score { width: 100px; height: 100px; border-radius: 50%; border: 5px solid; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto 20px; }
.phi-num { font-size: 32px; font-weight: 900; }
.phi-label { font-size: 10px; font-weight: 600; }
.phi-account { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.phi-acct-name { width: 120px; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phi-bar-track { flex: 1; height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.phi-bar-fill { height: 100%; border-radius: 3px; }
.phi-acct-score { width: 30px; text-align: right; font-size: 12px; font-weight: 800; }

/* Benchmark Comparison */
.bnc-container { max-width: 600px; }
.bnc-row { margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.bnc-metric { font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.bnc-bars { flex: 1; }
.bnc-bar-row { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.bnc-bar-label { width: 30px; font-size: 10px; color: var(--text-muted); }
.bnc-bar-track { flex: 1; height: 12px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.bnc-bar-fill { height: 100%; border-radius: 3px; }
.bnc-bar-val { width: 60px; text-align: right; font-size: 11px; font-weight: 700; }
.bnc-verdict { font-size: 11px; font-weight: 700; margin-top: 4px; }
.bnc-note { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); font-size: 10px; color: var(--text-muted); }

/* Quick Actions */
.qap-container { max-width: 600px; }
.qap-action { display: flex; gap: 12px; padding: 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.qap-icon { font-size: 20px; }
.qap-info { flex: 1; }
.qap-title { font-size: 12px; font-weight: 700; margin-bottom: 3px; }
.qap-priority { font-size: 9px; font-weight: 700; }
.qap-desc { font-size: 11px; color: var(--text-muted); }

/* ============ Round 40 ============ */

/* Attribution Model */
.ram-container { max-width: 700px; }
.ram-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ram-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.ram-table td { padding: 8px; border-bottom: 1px solid var(--border); }
.ram-note { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); font-size: 10px; color: var(--text-muted); }

/* Keyword Intent */
.kwi-container { max-width: 500px; }
.kwi-intent { margin-bottom: 12px; }
.kwi-header { display: flex; justify-content: space-between; font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.kwi-pct { font-size: 14px; font-weight: 800; }
.kwi-bar-track { height: 8px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; margin-bottom: 3px; }
.kwi-bar-fill { height: 100%; border-radius: 4px; }
.kwi-desc { font-size: 10px; color: var(--text-muted); }
.kwi-tip { margin-top: 16px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; color: var(--text-muted); }

/* Budget Pacing */
.bpa-container { max-width: 700px; }
.bpa-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; padding: 6px 0; border-bottom: 1px solid var(--border); }
.bpa-name { width: 120px; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bpa-bar-track { flex: 1; height: 16px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; position: relative; }
.bpa-bar-fill { height: 100%; border-radius: 4px; }
.bpa-expected { position: absolute; top: 0; width: 2px; height: 100%; background: var(--text-primary); opacity: 0.5; }
.bpa-status { width: 90px; font-size: 10px; font-weight: 700; text-align: center; }
.bpa-pct { width: 40px; text-align: right; font-size: 11px; font-weight: 700; }
.bpa-legend { text-align: center; margin-top: 12px; font-size: 10px; color: var(--text-muted); }

/* Account Maturity */
.amm-container { max-width: 500px; }
.amm-score { width: 100px; height: 100px; border-radius: 50%; border: 5px solid; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto 20px; }
.amm-level { font-size: 14px; font-weight: 800; }
.amm-num { font-size: 10px; color: var(--text-muted); }
.amm-dim { margin-bottom: 8px; }
.amm-dim-header { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 3px; }
.amm-dim-bar { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.amm-dim-fill { height: 100%; border-radius: 3px; }

/* Feature Directory */
.fdr-container { max-width: 600px; }
.fdr-search { width: 100%; padding: 10px 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-secondary); color: var(--text-primary); font-size: 13px; margin-bottom: 16px; box-sizing: border-box; }
.fdr-list { }
.fdr-section { margin-bottom: 16px; }
.fdr-section-title { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; padding-bottom: 4px; border-bottom: 1px solid var(--border); }
.fdr-item { display: flex; justify-content: space-between; padding: 6px 8px; border-radius: 4px; cursor: pointer; font-size: 12px; }
.fdr-item:hover { background: var(--bg-secondary); }
.fdr-item-name { font-weight: 600; }
.fdr-item-acct { font-size: 10px; color: var(--text-muted); }

/* ============ Round 41 ============ */

/* IS Waterfall */
.isw-container { max-width: 600px; }
.isw-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.isw-label { width: 140px; font-size: 11px; font-weight: 600; }
.isw-bar-track { flex: 1; height: 20px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.isw-bar-fill { height: 100%; border-radius: 4px; }
.isw-val { width: 50px; text-align: right; font-size: 12px; font-weight: 800; }
.isw-stacked { margin: 12px 0; }
.isw-stacked-track { display: flex; height: 12px; border-radius: 6px; overflow: hidden; }
.isw-stacked-fill { height: 100%; }
.isw-actions { margin-top: 12px; }
.isw-action { padding: 8px 12px; margin-bottom: 6px; border-radius: 8px; background: var(--bg-secondary); font-size: 11px; border-left: 3px solid var(--accent); }

/* CPA Trends */
.cpat-container { max-width: 500px; }
.cpat-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cpat-label { width: 70px; font-size: 11px; font-weight: 600; color: var(--text-muted); }
.cpat-bar-track { flex: 1; height: 20px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; position: relative; }
.cpat-bar-fill { height: 100%; border-radius: 4px; }
.cpat-target { position: absolute; top: 0; width: 2px; height: 100%; background: var(--text-primary); }
.cpat-val { width: 60px; text-align: right; font-size: 12px; font-weight: 700; }
.cpat-config { margin-top: 16px; display: flex; align-items: center; gap: 8px; font-size: 11px; }
.cpat-input { width: 80px; padding: 6px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; }

/* Account Scorecard */
.asc2-container { max-width: 600px; }
.asc2-print { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; margin-bottom: 16px; }
.asc2-card { padding: 24px; border-radius: 12px; background: var(--bg-secondary); border: 2px solid var(--border); }
.asc2-title { font-size: 18px; font-weight: 800; text-align: center; margin-bottom: 4px; }
.asc2-date { font-size: 11px; color: var(--text-muted); text-align: center; margin-bottom: 20px; }
.asc2-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.asc2-kpi { text-align: center; padding: 10px; border-radius: 8px; background: var(--bg-primary); }
.asc2-kpi-val { font-size: 18px; font-weight: 800; }
.asc2-kpi-lbl { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.asc2-trend { text-align: center; font-size: 12px; padding: 10px; border-radius: 8px; background: var(--bg-primary); }

/* Bid Strategy Simulator */
.bss-container { max-width: 700px; }
.bss-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.bss-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; text-transform: uppercase; color: var(--text-muted); }
.bss-table td { padding: 8px; border-bottom: 1px solid var(--border); }

/* Cross-Account Patterns */
.xst-container { max-width: 600px; }
.xst-group { padding: 12px; margin-bottom: 10px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.xst-group-title { font-size: 13px; font-weight: 700; margin-bottom: 3px; }
.xst-group-desc { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.xst-group-accts { font-size: 11px; font-weight: 600; }
.xst-patterns { margin-top: 16px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); font-size: 12px; }

/* ============ Round 42 ============ */

/* Revenue Velocity */
.rvv-container { max-width: 600px; }
.rvv-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; padding: 4px 0; border-bottom: 1px solid var(--border); }
.rvv-name { width: 120px; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rvv-bar-track { flex: 1; height: 12px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.rvv-bar-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, #6366f1, #3b82f6); }
.rvv-rate { width: 70px; text-align: right; font-size: 11px; font-weight: 700; }
.rvv-accel { width: 60px; text-align: right; font-size: 10px; font-weight: 700; }
.rvv-total { margin-top: 12px; padding: 10px; border-radius: 8px; background: var(--bg-secondary); text-align: center; font-size: 12px; }

/* Waste Watchdog */
.wwd-container { max-width: 600px; }
.wwd-clean { padding: 20px; text-align: center; font-size: 13px; color: #22c55e; font-weight: 600; border-radius: 8px; background: rgba(34,197,94,0.05); }
.wwd-summary { font-size: 13px; margin-bottom: 12px; }
.wwd-alert { padding: 10px 12px; margin-bottom: 8px; border-radius: 8px; border: 1px solid var(--border); }
.wwd-critical { background: rgba(239,68,68,0.05); border-color: rgba(239,68,68,0.2); }
.wwd-warning { background: rgba(245,158,11,0.05); border-color: rgba(245,158,11,0.2); }
.wwd-alert-header { font-size: 12px; margin-bottom: 3px; }
.wwd-alert-desc { font-size: 11px; color: var(--text-muted); }

/* Structure Advisor */
.csa-container { max-width: 600px; }
.csa-rec { padding: 12px; margin-bottom: 10px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.csa-header { font-size: 12px; margin-bottom: 4px; }
.csa-priority { font-size: 9px; font-weight: 700; margin-left: 6px; }
.csa-desc { font-size: 11px; margin-bottom: 4px; }
.csa-reason { font-size: 10px; color: var(--text-muted); font-style: italic; }

/* Performance Percentiles */
.ppc-container { max-width: 500px; }
.ppc-metric { margin-bottom: 12px; }
.ppc-header { display: flex; justify-content: space-between; font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.ppc-val { font-weight: 700; }
.ppc-bar-track { height: 8px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; margin-bottom: 3px; }
.ppc-bar-fill { height: 100%; border-radius: 4px; }
.ppc-percentile { font-size: 10px; font-weight: 600; }

/* Change Impact Log */
.cil-container { max-width: 600px; }
.cil-add { display: flex; gap: 8px; margin-bottom: 16px; }
.cil-input { flex: 1; padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; }
.cil-btn { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; white-space: nowrap; }
.cil-entry { padding: 10px 12px; margin-bottom: 8px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); position: relative; }
.cil-entry-header { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 6px; }
.cil-entry-date { font-size: 10px; color: var(--text-muted); }
.cil-snapshot { display: flex; gap: 12px; font-size: 10px; color: var(--text-muted); }
.cil-remove { position: absolute; top: 8px; right: 8px; background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 10px; }

/* ============ Round 43 ============ */

/* QS Estimator */
.qse-container { max-width: 500px; }
.qse-overall { display: flex; align-items: baseline; justify-content: center; gap: 4px; margin-bottom: 20px; padding: 16px; border-radius: 50%; width: 100px; height: 100px; border: 5px solid; margin-left: auto; margin-right: auto; flex-direction: column; text-align: center; }
.qse-num { font-size: 36px; font-weight: 900; line-height: 1; }
.qse-of { font-size: 14px; color: var(--text-muted); }
.qse-label { font-size: 10px; font-weight: 600; }
.qse-comp { margin-bottom: 10px; }
.qse-comp-header { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 3px; }
.qse-comp-bar { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; margin-bottom: 3px; }
.qse-comp-fill { height: 100%; border-radius: 3px; }
.qse-comp-desc { font-size: 10px; color: var(--text-muted); }
.qse-tip { margin-top: 16px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Spend Allocation Pie */
.sap-container { max-width: 500px; text-align: center; }
.sap-canvas { max-height: 250px; margin: 0 auto; }
.sap-legend { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 12px; }
.sap-legend-item { display: flex; align-items: center; gap: 4px; font-size: 10px; }
.sap-dot { width: 8px; height: 8px; border-radius: 50%; }
.sap-total { margin-top: 8px; font-size: 12px; font-weight: 700; }

/* AOV Distribution */
.aov-container { max-width: 500px; }
.aov-avg { font-size: 13px; margin-bottom: 16px; }
.aov-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.aov-label { width: 60px; font-size: 11px; font-weight: 600; }
.aov-bar-track { flex: 1; height: 20px; background: var(--bg-secondary); border-radius: 4px; overflow: hidden; }
.aov-bar-fill { height: 100%; border-radius: 4px; background: linear-gradient(90deg, #6366f1, #3b82f6); }
.aov-val { width: 80px; text-align: right; font-size: 11px; }

/* Risk Matrix */
.arm-container { max-width: 600px; }
.arm-matrix { position: relative; }
.arm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; border-radius: 8px; overflow: hidden; }
.arm-quad { padding: 14px; min-height: 80px; }
.arm-q-hr { background: rgba(245,158,11,0.1); }
.arm-q-lr { background: rgba(34,197,94,0.1); }
.arm-q-hl { background: rgba(239,68,68,0.1); }
.arm-q-ll { background: rgba(148,163,184,0.08); }
.arm-quad-title { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; }
.arm-quad-acct { font-size: 11px; font-weight: 600; margin-bottom: 2px; }
.arm-quad-empty { font-size: 10px; color: var(--text-muted); }
.arm-y-label { font-size: 9px; color: var(--text-muted); text-align: center; margin-bottom: 4px; }
.arm-x-label { font-size: 9px; color: var(--text-muted); text-align: center; margin-top: 4px; }

/* Alert Feed */
.paf-container { max-width: 600px; }
.paf-alert { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; margin-bottom: 6px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.paf-icon { font-size: 14px; }
.paf-content { font-size: 11px; flex: 1; }

/* ============ Round 44 ============ */

/* LP Insights */
.lpi-container { max-width: 500px; }
.lpi-overall { font-size: 24px; font-weight: 900; text-align: center; margin-bottom: 20px; }
.lpi-factor { margin-bottom: 12px; }
.lpi-header { display: flex; justify-content: space-between; font-size: 11px; font-weight: 600; margin-bottom: 3px; }
.lpi-bar { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; margin-bottom: 3px; }
.lpi-fill { height: 100%; border-radius: 3px; }
.lpi-tip { font-size: 10px; color: var(--text-muted); }

/* Audience Overlap */
.aoe-container { max-width: 100%; overflow-x: auto; }
.aoe-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.aoe-table th { padding: 6px; text-align: center; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid var(--border); }
.aoe-table td { padding: 5px; text-align: center; border-bottom: 1px solid var(--border); }
.aoe-name { text-align: left; font-weight: 600; font-size: 10px; }
.aoe-self { background: rgba(99,102,241,0.2); font-weight: 700; }
.aoe-note { margin-top: 12px; font-size: 10px; color: var(--text-muted); padding: 10px; border-radius: 8px; background: var(--bg-secondary); }

/* Monthly Trends */
.mtc-container { max-width: 700px; }
.mtc-canvas { width: 100%; height: 300px; }

/* Ad Copy Performance */
.acp-container { max-width: 500px; }
.acp-overall { font-size: 24px; font-weight: 900; text-align: center; margin-bottom: 20px; }
.acp-element { margin-bottom: 10px; }
.acp-el-header { display: flex; justify-content: space-between; font-size: 11px; font-weight: 600; margin-bottom: 3px; }
.acp-el-bar { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; margin-bottom: 3px; }
.acp-el-fill { height: 100%; border-radius: 3px; }
.acp-el-desc { font-size: 10px; color: var(--text-muted); }

/* Executive Dashboard */
.exd-container { max-width: 700px; }
.exd-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; }
.exd-kpi { text-align: center; padding: 14px; border-radius: 10px; background: var(--bg-secondary); border: 1px solid var(--border); }
.exd-kpi-val { font-size: 20px; font-weight: 900; }
.exd-kpi-lbl { font-size: 10px; font-weight: 600; margin-top: 2px; }
.exd-kpi-sub { font-size: 9px; color: var(--text-muted); }
.exd-performers { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.exd-perf-col { padding: 12px; border-radius: 8px; background: var(--bg-secondary); }
.exd-perf-title { font-size: 11px; font-weight: 700; margin-bottom: 8px; }
.exd-perf-item { font-size: 11px; margin-bottom: 4px; }

/* ============ Round 45 ============ */

/* Diminishing Returns */
.drc-container { max-width: 600px; }
.drc-chart { display: flex; align-items: flex-end; gap: 3px; height: 150px; padding: 0 10px; margin-bottom: 8px; }
.drc-bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; height: 100%; justify-content: flex-end; }
.drc-bar { width: 100%; border-radius: 3px 3px 0 0; min-height: 4px; transition: height 0.3s; }
.drc-label { font-size: 8px; color: var(--text-muted); margin-top: 3px; }
.drc-legend { text-align: center; font-size: 10px; color: var(--text-muted); margin-bottom: 12px; }
.drc-insight { padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Comparison Sparklines */
.csp-container { max-width: 100%; overflow-x: auto; }
.csp-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.csp-table th { padding: 6px 8px; text-align: center; font-weight: 600; font-size: 10px; color: var(--text-muted); border-bottom: 2px solid var(--border); }
.csp-table th:first-child { text-align: left; }
.csp-table td { padding: 4px 8px; border-bottom: 1px solid var(--border); text-align: center; }
.csp-name { text-align: left; font-weight: 600; }
.csp-spark { vertical-align: middle; }

/* Profitability Waterfall */
.pwf-container { max-width: 700px; }
.pwf-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; padding: 4px 0; border-bottom: 1px solid var(--border); }
.pwf-name { width: 110px; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pwf-bars { flex: 1; }
.pwf-bar { height: 14px; border-radius: 3px; font-size: 9px; color: #fff; padding: 0 6px; display: flex; align-items: center; margin-bottom: 2px; }
.pwf-rev { background: rgba(34,197,94,0.6); }
.pwf-cost { background: rgba(239,68,68,0.5); }
.pwf-profit { width: 80px; text-align: right; font-size: 12px; font-weight: 800; }
.pwf-total { margin-top: 12px; padding: 10px; border-radius: 8px; background: var(--bg-secondary); text-align: center; font-size: 13px; }

/* Metric Deep Dive */
.mdd-container { max-width: 600px; }
.mdd-select { width: 100%; padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 12px; margin-bottom: 16px; }
.mdd-avg { font-size: 12px; margin-bottom: 12px; padding: 8px; border-radius: 6px; background: var(--bg-secondary); }
.mdd-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.mdd-name { width: 120px; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mdd-bar-track { flex: 1; height: 12px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.mdd-bar-fill { height: 100%; border-radius: 3px; }
.mdd-val { width: 80px; text-align: right; font-size: 11px; font-weight: 700; }

/* Notification Center */
.ntc-container { max-width: 600px; }
.ntc-count { font-size: 12px; font-weight: 700; margin-bottom: 8px; }
.ntc-btn { padding: 6px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; cursor: pointer; margin-bottom: 12px; }
.ntc-notif { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 4px; border-radius: 8px; cursor: pointer; }
.ntc-unread { background: rgba(99,102,241,0.08); border: 1px solid rgba(99,102,241,0.2); font-weight: 600; }
.ntc-read { background: var(--bg-secondary); border: 1px solid var(--border); opacity: 0.6; }
.ntc-icon { font-size: 14px; }
.ntc-text { font-size: 11px; }

/* ============ Round 46 ============ */

/* Client Report */
.crt-container { max-width: 700px; }
.crt-print { padding: 8px 16px; border: none; border-radius: 6px; background: var(--accent); color: #fff; font-size: 12px; cursor: pointer; margin-bottom: 16px; }
.crt-report { padding: 24px; border-radius: 12px; background: var(--bg-secondary); border: 2px solid var(--border); }
.crt-header { text-align: center; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 2px solid var(--border); }
.crt-brand { font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: var(--text-muted); }
.crt-client { font-size: 22px; font-weight: 900; margin: 4px 0; }
.crt-date { font-size: 11px; color: var(--text-muted); }
.crt-section { margin-bottom: 16px; }
.crt-section-title { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.crt-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.crt-metric { text-align: center; padding: 10px; border-radius: 8px; background: var(--bg-primary); }
.crt-metric-val { font-size: 16px; font-weight: 800; }
.crt-metric-lbl { font-size: 9px; color: var(--text-muted); }
.crt-textarea { width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-primary); color: var(--text-primary); font-size: 11px; resize: vertical; box-sizing: border-box; }

/* Seasonality Planner */
.spl-container { max-width: 600px; }
.spl-base { font-size: 12px; margin-bottom: 12px; }
.spl-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.spl-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; color: var(--text-muted); }
.spl-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.spl-current { background: rgba(99,102,241,0.08); }
.spl-month { font-weight: 700; }
.spl-idx-input { width: 60px; padding: 4px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-primary); color: var(--text-primary); font-size: 11px; text-align: center; }
.spl-budget { font-weight: 700; }
.spl-note { font-size: 10px; color: var(--text-muted); }
.spl-total { margin-top: 12px; padding: 10px; border-radius: 8px; background: var(--bg-secondary); text-align: center; font-size: 12px; }

/* ROAS Sensitivity */
.rss-container { max-width: 700px; }
.rss-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.rss-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; color: var(--text-muted); }
.rss-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.rss-current { background: rgba(99,102,241,0.08); font-weight: 700; }
.rss-note { margin-top: 12px; font-size: 10px; color: var(--text-muted); padding: 10px; border-radius: 8px; background: var(--bg-secondary); }

/* Health Radar */
.ahr2-container { max-width: 500px; }
.ahr2-canvas { width: 100%; height: 300px; }

/* Dashboard Stats */
.dst-container { max-width: 600px; }
.dst-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.dst-stat { padding: 14px; border-radius: 10px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.dst-icon { font-size: 20px; margin-bottom: 4px; }
.dst-val { font-size: 16px; font-weight: 800; }
.dst-lbl { font-size: 10px; color: var(--text-muted); margin-top: 2px; }

/* ============ Round 47 ============ */

/* MER Calculator */
.mer-container { max-width: 500px; text-align: center; }
.mer-big { font-size: 48px; font-weight: 900; }
.mer-label { font-size: 14px; font-weight: 600; margin-bottom: 20px; }
.mer-breakdown { text-align: left; padding: 12px; border-radius: 8px; background: var(--bg-secondary); margin-bottom: 16px; }
.mer-item { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 12px; }
.mer-item-lbl { color: var(--text-muted); }
.mer-item-val { font-weight: 700; }
.mer-margin { text-align: left; padding: 12px; border-radius: 8px; background: var(--bg-secondary); font-size: 12px; }
.mer-input { width: 60px; padding: 4px 8px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-primary); color: var(--text-primary); font-size: 12px; }

/* Account Dependency */
.adm-container { max-width: 600px; }
.adm-risk { padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid; font-size: 12px; margin-bottom: 16px; }
.adm-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px solid var(--border); }
.adm-key { background: rgba(239,68,68,0.05); }
.adm-name { width: 120px; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-bar-track { flex: 1; height: 10px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; }
.adm-bar-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, #6366f1, #3b82f6); }
.adm-pct { width: 45px; text-align: right; font-size: 11px; font-weight: 700; }
.adm-cum { width: 55px; text-align: right; font-size: 10px; color: var(--text-muted); }

/* Conversion Path */
.cvp-container { max-width: 500px; }
.cvp-step { display: flex; gap: 12px; margin-bottom: 4px; }
.cvp-step-num { width: 24px; height: 24px; border-radius: 50%; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.cvp-step-content { flex: 1; }
.cvp-step-name { font-size: 12px; font-weight: 700; }
.cvp-step-channel { font-size: 10px; color: var(--text-muted); }
.cvp-step-bar { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; margin: 4px 0; }
.cvp-step-fill { height: 100%; background: linear-gradient(90deg, #6366f1, #3b82f6); border-radius: 3px; }
.cvp-step-pct { font-size: 10px; color: var(--text-muted); }
.cvp-arrow { text-align: center; font-size: 10px; color: var(--text-muted); margin: 2px 0 2px 36px; }
.cvp-insight { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); border-left: 3px solid var(--accent); font-size: 11px; }

/* Spend vs Revenue Scatter */
.srs-container { max-width: 700px; }
.srs-canvas { width: 100%; height: 300px; }

/* Daily Performance Log */
.dpl-container { max-width: 700px; }
.dpl-btn { padding: 6px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-secondary); color: var(--text-primary); font-size: 11px; cursor: pointer; margin-bottom: 12px; }
.dpl-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.dpl-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; color: var(--text-muted); }
.dpl-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.dpl-today { background: rgba(99,102,241,0.08); }

/* ============ Round 48 ============ */

/* Geo Performance */
.gpe-container { max-width: 600px; }
.gpe-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.gpe-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; color: var(--text-muted); }
.gpe-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.gpe-note { margin-top: 12px; font-size: 10px; color: var(--text-muted); padding: 10px; border-radius: 8px; background: var(--bg-secondary); }

/* Ad Schedule Optimizer */
.aso-container { max-width: 600px; }
.aso-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.aso-table th { text-align: left; padding: 8px; border-bottom: 2px solid var(--border); font-size: 10px; color: var(--text-muted); }
.aso-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); }
.aso-time { font-weight: 700; }
.aso-reason { font-size: 10px; color: var(--text-muted); }
.aso-days { margin-top: 16px; padding: 12px; border-radius: 8px; background: var(--bg-secondary); font-size: 12px; }
.aso-day-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 11px; }
.aso-day-note { color: var(--text-muted); font-size: 10px; }

/* Revenue at Risk */
.rar-container { max-width: 600px; }
.rar-summary { text-align: center; margin-bottom: 20px; }
.rar-big { font-size: 36px; font-weight: 900; }
.rar-pct { font-size: 12px; color: var(--text-muted); }
.rar-row { padding: 10px 12px; margin-bottom: 6px; border-radius: 8px; background: var(--bg-secondary); border: 1px solid var(--border); border-left: 3px solid; }
.rar-name { font-size: 12px; font-weight: 700; margin-bottom: 2px; }
.rar-detail { font-size: 11px; color: var(--text-muted); }

/* Portfolio Concentration */
.pco-container { max-width: 500px; }
.pco-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.pco-card { padding: 16px; border-radius: 10px; background: var(--bg-secondary); border: 1px solid var(--border); text-align: center; }
.pco-card-title { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.pco-card-val { font-size: 24px; font-weight: 900; }
.pco-card-label { font-size: 10px; margin-top: 2px; }
.pco-scale { margin-bottom: 12px; }
.pco-scale-bar { height: 8px; background: linear-gradient(90deg, #22c55e, #f59e0b, #ef4444); border-radius: 4px; position: relative; }
.pco-scale-marker { position: absolute; top: -4px; width: 4px; height: 16px; background: #fff; border-radius: 2px; }
.pco-scale-labels { display: flex; justify-content: space-between; font-size: 9px; color: var(--text-muted); margin-top: 2px; }
.pco-tip { padding: 10px 12px; border-radius: 8px; background: var(--bg-secondary); font-size: 11px; color: var(--text-muted); }

/* Optimization Checklist */
.och-container { max-width: 600px; }
.och-section { margin-bottom: 20px; }
.och-section-title { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.och-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; margin-bottom: 4px; border-radius: 6px; background: var(--bg-secondary); cursor: pointer; font-size: 12px; }
.och-done { opacity: 0.5; text-decoration: line-through; }
.och-item input { accent-color: var(--accent); }
.och-progress { font-size: 10px; color: var(--text-muted); margin-top: 6px; }

/* ============================================================
   ROUND 49 — Profit Margin, IS Opportunity, Lifecycle, Perf Bands, Quick Stats
   ============================================================ */
.pmc-wrap,.iso-wrap,.als-wrap,.pbt-wrap,.qsb-wrap{padding:1.5rem}
.pmc-slider-row{display:flex;align-items:center;gap:1rem;margin:1rem 0}
.pmc-slider-row input[type="range"]{flex:1}
.pmc-slider-row .pmc-val{font-weight:700;min-width:50px;text-align:right;color:var(--accent)}
.pmc-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem}
.pmc-card{background:var(--bg-card);border-radius:10px;padding:1.2rem;text-align:center;border:1px solid var(--border)}
.pmc-card-val{font-size:1.6rem;font-weight:700;color:var(--accent)}
.pmc-card-lbl{font-size:.8rem;color:var(--text-secondary);margin-top:.3rem}
.iso-table{width:100%;border-collapse:collapse;margin-top:1rem}
.iso-table th,.iso-table td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--border)}
.iso-table th{background:var(--bg-card);font-weight:600;font-size:.8rem;text-transform:uppercase}
.iso-highlight{color:var(--accent);font-weight:700}
.als-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.als-card{background:var(--bg-card);border-radius:10px;padding:1.2rem;border-left:4px solid var(--border)}
.als-card.als-launch{border-left-color:#6366f1}.als-card.als-growth{border-left-color:#22c55e}
.als-card.als-mature{border-left-color:#3b82f6}.als-card.als-plateau{border-left-color:#f59e0b}
.als-card.als-decline{border-left-color:#ef4444}
.als-stage{font-weight:700;font-size:1rem;margin-bottom:.3rem}
.als-name{font-size:.85rem;color:var(--text-secondary)}
.pbt-table{width:100%;border-collapse:collapse;margin-top:1rem}
.pbt-table th,.pbt-table td{padding:.5rem .7rem;text-align:center;border-bottom:1px solid var(--border);font-size:.85rem}
.pbt-table th{background:var(--bg-card);font-weight:600;font-size:.75rem;text-transform:uppercase}
.pbt-up{color:#22c55e}.pbt-down{color:#ef4444}.pbt-same{color:var(--text-secondary)}
.qsb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:1rem}
.qsb-card{background:var(--bg-card);border-radius:10px;padding:1.2rem;text-align:center;border:1px solid var(--border)}
.qsb-val{font-size:1.8rem;font-weight:700;color:var(--accent)}
.qsb-lbl{font-size:.8rem;color:var(--text-secondary);margin-top:.3rem}

/* ============================================================
   ROUND 50 — Milestone, Custom Dashboard, Intent Funnel, Rev Projection, About
   ============================================================ */
.mst-wrap{padding:1.5rem;text-align:center}
.mst-banner{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa);border-radius:16px;padding:3rem 2rem;margin-bottom:2rem;color:#fff}
.mst-number{font-size:5rem;font-weight:900;line-height:1}
.mst-label{font-size:1.5rem;font-weight:600;margin-top:.5rem}
.mst-sub{font-size:.9rem;opacity:.8;margin-top:.5rem}
.mst-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}
.mst-stat{background:var(--bg-card);border-radius:10px;padding:1.2rem;border:1px solid var(--border)}
.mst-stat-val{font-size:1.6rem;font-weight:700;color:var(--accent)}
.mst-stat-lbl{font-size:.8rem;color:var(--text-secondary);margin-top:.3rem}
.mst-timeline{text-align:left;max-width:600px;margin:0 auto}
.mst-timeline h3{margin-bottom:1rem}
.mst-tl-item{display:flex;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}
.mst-tl-rnd{font-weight:700;min-width:110px;color:var(--accent);font-size:.85rem}
.mst-tl-desc{font-size:.85rem;color:var(--text-secondary)}
.cdb-wrap{padding:1.5rem}
.cdb-pin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin:1rem 0}
.cdb-pin-card{background:var(--bg-card);border-radius:8px;padding:.8rem 1rem;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--accent)}
.cdb-pin-name{font-weight:600;font-size:.9rem}
.cdb-unpin{background:none;border:1px solid var(--border);border-radius:4px;padding:.2rem .6rem;cursor:pointer;font-size:.75rem;color:var(--text-secondary)}
.cdb-unpin:hover{border-color:#ef4444;color:#ef4444}
.cdb-search,.abt-search{width:100%;padding:.6rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);margin:1rem 0;font-size:.9rem}
.cdb-tool-list{max-height:400px;overflow-y:auto}
.cdb-tool-row{display:flex;align-items:center;gap:1rem;padding:.5rem .8rem;border-bottom:1px solid var(--border)}
.cdb-tool-row.cdb-already{opacity:.5}
.cdb-tool-sec{font-size:.7rem;color:var(--text-secondary);min-width:100px}
.cdb-tool-name{flex:1;font-size:.85rem}
.cdb-pin-btn{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:.3rem .8rem;cursor:pointer;font-size:.75rem}
.cdb-pinned-badge{font-size:.7rem;color:var(--accent);font-weight:600}
.sif-wrap{padding:1.5rem}
.sif-funnel{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1.5rem 0}
.sif-stage{border-radius:8px;padding:1rem;color:#fff;text-align:center;transition:width .3s}
.sif-stage-label{font-weight:700;font-size:.9rem}
.sif-stage-pct{font-size:1.5rem;font-weight:900}
.sif-stage-desc{font-size:.75rem;opacity:.8}
.sif-insight{background:var(--bg-card);border-radius:10px;padding:1rem;border-left:4px solid var(--accent)}
.rpj-wrap{padding:1.5rem}
.rpj-table{width:100%;border-collapse:collapse;margin-top:1rem}
.rpj-table th,.rpj-table td{padding:.6rem .8rem;text-align:right;border-bottom:1px solid var(--border);font-size:.85rem}
.rpj-table th{background:var(--bg-card);font-weight:600;text-align:right;font-size:.75rem;text-transform:uppercase}
.rpj-table td:first-child,.rpj-table th:first-child{text-align:left}
.rpj-current{background:rgba(99,102,241,.1)}
.rpj-note{font-size:.8rem;color:var(--text-secondary);margin-top:1rem}
.abt-wrap{padding:1.5rem}
.abt-header{text-align:center;margin-bottom:2rem}
.abt-version{font-size:1.2rem;color:var(--accent);font-weight:700;margin-top:.3rem}
.abt-sub{font-size:.85rem;color:var(--text-secondary)}
.abt-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}
.abt-stat{background:var(--bg-card);border-radius:10px;padding:1.2rem;text-align:center;border:1px solid var(--border)}
.abt-stat-val{font-size:1.8rem;font-weight:700;color:var(--accent)}
.abt-stat-lbl{font-size:.8rem;color:var(--text-secondary);margin-top:.3rem}
.abt-sections{margin-bottom:2rem}
.abt-sec-row{display:flex;justify-content:space-between;padding:.5rem .8rem;border-bottom:1px solid var(--border)}
.abt-sec-name{font-weight:600;font-size:.9rem}
.abt-sec-count{color:var(--text-secondary);font-size:.85rem}
.abt-list{max-height:400px;overflow-y:auto}
.abt-item{display:flex;align-items:center;gap:1rem;padding:.4rem .8rem;border-bottom:1px solid var(--border)}
.abt-idx{font-size:.7rem;color:var(--text-secondary);min-width:30px;text-align:right}
.abt-name{flex:1;font-size:.85rem;font-weight:500}
.abt-sec{font-size:.7rem;color:var(--text-secondary)}
.abt-footer{text-align:center;margin-top:2rem;padding:1.5rem;background:var(--bg-card);border-radius:10px}
.abt-footer p{font-size:.85rem;color:var(--text-secondary);font-style:italic}

/* ============================================================
   ENHANCED SCENARIO PLANNER
   ============================================================ */
.sp-controls{background:var(--bg-card);border-radius:10px;padding:16px;margin:16px 0;border:1px solid var(--border)}
.sp-control-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}
@media(max-width:900px){.sp-control-row{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.sp-control-row{grid-template-columns:1fr}}
.sp-field{display:flex;flex-direction:column;gap:4px}
.sp-field label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}
.sp-field select,.sp-field input[type="number"]{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:600}
.sp-field input[type="number"]{font-size:16px}
.sp-pacing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:600px){.sp-pacing-grid{grid-template-columns:repeat(2,1fr)}}
.sp-pace-card{background:var(--bg-card);border-radius:8px;padding:12px;text-align:center;border:1px solid var(--border)}
.sp-pace-val{font-size:18px;font-weight:700;color:var(--accent)}
.sp-pace-lbl{font-size:10px;color:var(--text-secondary);margin-top:2px;text-transform:uppercase}
.sp-insight{background:var(--bg-card);border-radius:8px;padding:12px 16px;margin-top:12px;border-left:4px solid var(--accent);font-size:12px;line-height:1.5}
.sp-strategy-list{display:flex;flex-direction:column;gap:10px}
.sp-strat-item{background:var(--bg-card);border-radius:8px;padding:12px 16px;border:1px solid var(--border);font-size:12px;line-height:1.5}
.sp-strat-item.sp-strat-warn{border-left:4px solid #f59e0b}
.sp-strat-item.sp-strat-info{border-left:4px solid #3b82f6}
.sp-download-btn{padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}
.sp-download-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ============================================================
   TIME METRICS BAR (injectable on all per-account tools)
   ============================================================ */
.tmb-bar{margin-top:20px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-card)}
.tmb-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;cursor:pointer;background:var(--bg-secondary);border-bottom:1px solid var(--border);user-select:none}
.tmb-header:hover{background:var(--bg-tertiary,var(--bg-secondary))}
.tmb-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}
.tmb-toggle{font-size:10px;color:var(--accent);font-weight:600}
.tmb-content{padding:12px 14px}
.tmb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.tmb-cell{text-align:center;padding:6px 4px;border-radius:6px;background:var(--bg-primary)}
.tmb-period{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px;letter-spacing:.3px}
.tmb-metric{display:flex;justify-content:space-between;padding:1px 6px}
.tmb-label{font-size:9px;color:var(--text-muted)}
.tmb-val{font-size:10px;font-weight:600}
.tmb-trend{display:flex;align-items:flex-end;gap:3px;margin-top:10px;padding:6px 0}
.tmb-trend-label{font-size:9px;color:var(--text-muted);margin-right:6px;align-self:center}
.tmb-trend-bar{width:20px;border-radius:2px;transition:height .3s}
@media(max-width:600px){.tmb-grid{grid-template-columns:repeat(3,1fr)}}

/* ============================================================
   PRINT / PDF STYLES
   Hide UI controls, show clean report layout
   ============================================================ */
@media print {
    /* Hide sidebar, header, navigation */
    .sidebar, .sidebar-nav, #sidebar-nav, .sidebar-toggle,
    .header-bar, .top-bar, .nav-toggle { display: none !important; }

    /* Hide account selector and tool controls */
    .tool-account-bar, #tool-account-select, .tool-controls,
    .account-select-wrap, select[id="tool-account-select"] { display: none !important; }

    /* Hide download/action buttons */
    .sp-downloads, .sp-download-btn, .sp-presets, .sp-preset-btn,
    .sp-slider-wrap, .sp-controls select, .sp-controls input[type="number"],
    .cdb-pin-btn, .cdb-unpin, .cdb-search, .abt-search,
    button[onclick*="print"], button[onclick*="download"] { display: none !important; }

    /* Hide collapsible toggles and metrics bar toggle */
    .tmb-header .tmb-toggle { display: none !important; }

    /* Hide command palette */
    .cmd-overlay, .cmd-palette { display: none !important; }

    /* Show account name prominently instead of selector */
    .sp-container::before {
        content: attr(data-account-name);
        display: block;
        font-size: 18px;
        font-weight: 700;
        margin-bottom: 12px;
    }

    /* Full width content */
    .main-content, .content-area, .tool-panel {
        margin: 0 !important;
        padding: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Clean backgrounds */
    body, .main-content, .content-area, .tool-panel, .sp-container {
        background: #fff !important;
        color: #000 !important;
    }

    /* Ensure tables print well */
    .sp-table { page-break-inside: avoid; }
    .sp-table th { background: #f3f4f6 !important; color: #000 !important; }
    .sp-table td { border-bottom: 1px solid #e5e7eb !important; }

    /* Cards and panels */
    .sp-baseline, .sp-pacing-grid, .sp-strategy-list,
    .sp-pace-card, .sp-strat-item, .sp-insight,
    .tmb-bar, .tmb-cell {
        background: #f9fafb !important;
        border-color: #e5e7eb !important;
        color: #000 !important;
    }

    /* Keep accent colors for data */
    .sp-pace-val, .tmb-val { color: inherit !important; }

    /* Copyright footer on all printed pages */
    .print-copyright {
        display: block !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 10px;
        color: #666;
        padding: 8px 0;
        border-top: 1px solid #e5e7eb;
    }
}

/* Hide print-only elements on screen */
.print-copyright { display: none; }

/* ============================================================
   ROUND 51: Enhanced Rules, What-If, Budget Monitor, Action Queue
   ============================================================ */

/* Rule Templates */
.rule-template-btn{padding:4px 10px;font-size:11px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}
.rule-template-btn:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}
.rule-stat-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px 14px;text-align:center;flex:1;min-width:80px}
.rule-stat-val{font-size:20px;font-weight:700;color:var(--text-primary);display:block}
.rule-stat-label{font-size:10px;color:var(--text-muted)}

/* What-If Interactive */
.wif-container{max-width:900px}
.wif-slider-wrap{margin-bottom:20px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}
.wif-slider{width:100%;margin:12px 0;-webkit-appearance:none;height:6px;border-radius:3px;background:var(--border);outline:none}
.wif-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-primary)}
.wif-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-primary)}
.wif-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.wif-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.wif-card-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.wif-card-value{font-size:18px;font-weight:700;color:var(--text-primary)}
.wif-card-delta{font-size:11px;margin-top:2px}

/* Digest Preview */
.digest-preview{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.digest-preview-header{background:var(--accent-dim);padding:12px 16px;font-size:13px;font-weight:600;color:var(--accent);border-bottom:1px solid var(--border)}
.digest-preview-body{padding:16px;font-size:12px;color:var(--text-secondary)}
.digest-preview-section{font-size:13px;color:var(--text-primary);margin-bottom:8px}
.digest-preview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
.digest-metric{background:var(--bg-primary);padding:8px;border-radius:6px;text-align:center}
.digest-metric span{display:block;font-size:10px;color:var(--text-muted)}
.digest-metric strong{font-size:14px}

/* Budget Monitor */
.bm-container{max-width:1000px}
.bm-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}
.bm-sum-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.bm-sum-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}
.bm-sum-val{font-size:18px;font-weight:700;color:var(--text-primary);margin-top:2px}
.bm-status-row{display:flex;gap:8px;margin-bottom:12px}
.bm-status-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600}
.bm-badge{padding:3px 10px;border-radius:12px;font-size:10px;font-weight:600;white-space:nowrap}
.bm-over,.bm-status-badge.bm-over{background:rgba(239,68,68,0.15);color:#f87171}
.bm-under,.bm-status-badge.bm-under{background:rgba(59,130,246,0.15);color:#60a5fa}
.bm-warn{background:rgba(245,158,11,0.15);color:#fbbf24}
.bm-ok{background:rgba(16,185,129,0.15);color:#34d399}

/* Action Queue */
.aq-container{max-width:800px}
.aq-stats{display:flex;gap:12px;margin-bottom:16px}
.aq-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 16px;text-align:center;flex:1}
.aq-stat-val{font-size:24px;font-weight:700}
.aq-stat-label{font-size:10px;color:var(--text-muted)}
.aq-list{display:flex;flex-direction:column;gap:4px}
.aq-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}
.aq-icon{font-size:16px;flex-shrink:0}
.aq-item-body{flex:1}
.aq-item-title{font-size:12px;font-weight:600;color:var(--text-primary)}
.aq-item-detail{font-size:11px;color:var(--text-muted)}
.aq-retry-btn{padding:4px 10px;font-size:10px;border-radius:4px;border:1px solid var(--amber);color:var(--amber);background:none;cursor:pointer}
.aq-retry-btn:hover{background:rgba(245,158,11,0.1)}
.aq-pending{border-left:3px solid var(--amber)}
.aq-done{border-left:3px solid var(--accent)}
.aq-error{border-left:3px solid var(--red)}

/* Cross-Account Benchmarks */
.cb-container{max-width:900px}
.cb-averages{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px}
.cb-avg{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center}
.cb-avg span{font-size:11px;color:var(--text-muted)}
.cb-avg strong{font-size:14px;color:var(--text-primary)}

/* Wasted Spend */
.ws-container{max-width:900px}
.ws-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.ws-sum-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.ws-sum-card.waste{border-color:rgba(239,68,68,0.3)}
.ws-sum-label{font-size:10px;color:var(--text-muted);text-transform:uppercase}
.ws-sum-val{font-size:20px;font-weight:700;color:var(--text-primary);margin-top:2px}
.ws-type-section{margin-bottom:16px}
.ws-type-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}
.ws-type-count{font-size:11px;color:var(--text-muted);font-weight:400}

/* Conversion Tracking Audit */
.ct-container{max-width:800px}

/* Account Compare */
.acmp-container{max-width:900px}

/* Scenario table improvements */
.scenario-positive{color:var(--accent);font-weight:600}
.scenario-negative{color:var(--red);font-weight:600}
.scenario-current{background:rgba(16,185,129,0.06) !important}
.scenario-table{width:100%;border-collapse:collapse;font-size:12px}
.scenario-table th{text-align:right;padding:8px 12px;border-bottom:2px solid var(--border);color:var(--text-secondary);font-size:11px}
.scenario-table td{text-align:right;padding:6px 12px;border-bottom:1px solid rgba(51,65,85,0.3)}

/* ============================================================
   ROUND 52: Adalysis-Inspired Features
   ============================================================ */

/* Negative Keyword Conflicts */
.nkc-container{max-width:900px}
.nkc-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.nkc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.nkc-card.conflict{border-color:rgba(239,68,68,0.3)}

/* PMax Cannibalization */
.pmc-container{max-width:900px}

/* Bid Adjustment Map */
.bam-container{max-width:900px}
.bam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:16px}
.bam-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px}
.bam-card-title{font-size:11px;color:var(--text-muted);margin-bottom:4px}
.bam-adj{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px}
.bam-adj-val{font-weight:600}

/* Root Cause */
.rca-container{max-width:900px}
.rca-factors{display:flex;flex-direction:column;gap:6px}
.rca-factor{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}
.rca-icon{font-size:18px;flex-shrink:0}
.rca-body{flex:1}
.rca-label{font-size:12px;font-weight:600;color:var(--text-primary)}
.rca-detail{font-size:11px;color:var(--text-secondary)}
.rca-impact{font-size:12px;font-weight:700;padding:2px 8px;border-radius:4px}
.rca-impact.positive{background:rgba(16,185,129,0.15);color:#34d399}
.rca-impact.negative{background:rgba(239,68,68,0.15);color:#f87171}
.rca-impact.neutral{background:rgba(100,116,139,0.15);color:#94a3b8}

/* ============================================================
   ROUND 53: Advanced Analytics & Monitoring
   ============================================================ */

/* N-Gram Analysis */
.ngram-container{max-width:950px}
.ngram-tabs{display:flex;gap:4px;flex-wrap:wrap}
.ngram-tab-btn{transition:all 0.15s}
.ngram-tab-btn:hover{border-color:var(--accent)}

/* QS History Detail */
.qsh-container{max-width:900px}
.qsh-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.qsh-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.qsh-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Period-over-Period */
.poc-container{max-width:1100px}

/* Budget Auto-Adjust */
.ba-container{max-width:900px}
.ba-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.ba-val{font-size:20px;font-weight:700;color:var(--text-primary)}
.ba-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Change History Correlation */
.chc-container{max-width:900px}

/* Landing Page Analyzer */
.lpa-container{max-width:950px}
.lpa-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.lpa-val{font-size:20px;font-weight:700;color:var(--text-primary)}
.lpa-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Audit Checklist */
.auc-container{max-width:800px}

/* Intent Classifier */
.ic-container{max-width:950px}

/* ============================================================
   ROUND 54: Deep Analysis Tools
   ============================================================ */

/* Campaign Type Breakdown */
.ctb-container{max-width:950px}

/* Match Type Analysis */
.mt-container{max-width:900px}

/* Negative Organizer */
.no-container{max-width:900px}
.no-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.no-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.no-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Portfolio Summary */
.ps-container{max-width:1100px}
.ps-metric{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.ps-metric-val{font-size:20px;font-weight:700;color:var(--text-primary)}
.ps-metric-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Ad Copy Testing */
.at-container{max-width:950px}
.at-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px;text-align:center}
.at-val{font-size:20px;font-weight:700;color:var(--text-primary)}
.at-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* ============================================================
   ROUND 55: Automation & Reporting
   ============================================================ */

/* IS Opportunity */
.iso-container{max-width:900px}
.iso-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.iso-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.iso-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Weekly Report */
.wr-container{max-width:700px}

/* Health Score */
.hs-container{max-width:800px}

/* Annotations */
.ann-container{max-width:800px}

/* Spend Allocator */
.sa-container{max-width:950px}
.sa-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.sa-val{font-size:20px;font-weight:700;color:var(--text-primary)}
.sa-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* ============================================================
   ROUND 56: Optmyzr-Inspired Features
   ============================================================ */

/* Anomaly Detector */
.anom-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.anom-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.anom-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Magic Quadrant */
.mq-container{max-width:750px}

/* PMax Network Distribution */
.pnd-container{max-width:900px}

/* ROAS Sensitivity */
.rs-container{max-width:900px}
.rs-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.rs-val{font-size:20px;font-weight:700;color:var(--text-primary)}
.rs-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Blueprint Manager */
.bp-container{max-width:700px}

/* Consolidation Advisor */
.con-container{max-width:900px}
.con-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.con-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.con-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* ============================================================
   ROUND 57: PPC Mastery-Inspired Features
   ============================================================ */

/* Unit Economics */
.ue-container{max-width:900px}
.ue-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px;text-align:center}
.ue-val{font-size:18px;font-weight:700;color:var(--text-primary)}
.ue-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Data Sufficiency */
.ds-container{max-width:900px}
.ds-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.ds-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.ds-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Profit Sweet Spot */
.pss-container{max-width:900px}

/* Fundamentals Scorecard */
.fund-container{max-width:800px}

/* ============================================================
   ROUND 58: PMax Strategy & Campaign Architecture
   ============================================================ */

/* PMax Segmentation Advisor */
.seg-container{max-width:1000px}
.seg-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.seg-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.seg-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Portfolio Bid Strategy */
.pbs-container{max-width:1100px}

/* RSA Testing Planner */
.rst-container{max-width:1000px}

/* Consolidation Score */
.cs-container{max-width:900px}
.cs-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.cs-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.cs-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* 80/20 Priority Matrix */
.pm-container{max-width:800px}

/* ============================================================
   ROUND 59: Feed, Mistakes, Testing & Routines
   ============================================================ */

/* Feed Optimization Checker */
.foc-container{max-width:800px}

/* Common Mistakes Detector */
.cmd-container{max-width:1000px}
.cmd-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.cmd-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.cmd-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Testing Roadmap */
.tr-container{max-width:1000px}

/* Optimization Routine */
.orp-container{max-width:800px}

/* Geo Analyzer */
.ga-container{max-width:900px}

/* ============================================================
   ROUND 60: Diagnostics, Bid Strategy & KPI Tracking
   ============================================================ */

/* Campaign Failure Diagnostic */
.cfd-container{max-width:800px}

/* Bid Strategy Advisor */
.bsa-container{max-width:1100px}

/* Brand Leakage Monitor */
.blm-container{max-width:900px}
.blm-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.blm-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.blm-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* KPI Deviation Tracker */
.kpi-container{max-width:1000px}

/* Ecommerce Maturity Model */
.emm-container{max-width:800px}

/* ============================================================
   ROUND 61: PMax Trust, Neg KW, CPC Outliers, AARs, Day Parting
   ============================================================ */

/* PMax Data Trust */
.pdt-container{max-width:900px}

/* Negative KW Health */
.nkh-container{max-width:800px}

/* CPC Outlier Detection */
.cpc-container{max-width:1000px}
.cpc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.cpc-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.cpc-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* AAR Audit */
.aar-container{max-width:800px}

/* Day Parting */
.dp-container{max-width:1000px}

/* ============================================================
   ROUND 62: Product Bucketing, Auction Insights, Budget Shifts
   ============================================================ */

/* Product Performance Bucketing */
.ppb-container{max-width:1000px}

/* Auction Insights Tracker */
.ai-container{max-width:900px}

/* Smart Bidding Ramp Plan */
.brp-container{max-width:900px}

/* Budget Shift Calculator */
.bsc-container{max-width:1000px}
.bsc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.bsc-val{font-size:22px;font-weight:700;color:var(--text-primary)}
.bsc-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* ============================================================
   ROUND 63: Strategic Readiness, Asset Tracking, Reporting
   ============================================================ */

/* 10 Commandments */
.cmd10-container{max-width:800px}

/* Asset Performance Tracker */
.apt-container{max-width:900px}
.apt-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.apt-val{font-size:22px;font-weight:700}
.apt-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* Conversion Quality Ladder */
.cql-container{max-width:800px}

/* Client Report Generator */
.crg-container{max-width:900px}
.crg-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.crg-val{font-size:18px;font-weight:700;color:var(--text-primary)}
.crg-label{font-size:10px;color:var(--text-muted);margin-top:2px}

/* ============================================================
   ROUND 64: Device, Journal, Audience, Seasonal
   ============================================================ */

/* Device Performance */
.dev-container{max-width:1000px}

/* Campaign Journal */
.cj-container{max-width:800px}

/* Audience Strategy */
.as-container{max-width:800px}

/* Seasonal Planner */
.sp-container{max-width:1000px}

/* ============================================================
   ROUND 65: Remarketing Funnel, Tracking Audit, Quality Score,
   Landing Page Scorecard, Expert Tips Library
   ============================================================ */

/* Remarketing Funnel */
.rmf-container{max-width:1000px}

/* Conversion Tracking Audit */
.cta2-container{max-width:900px}

/* Quality Score Optimizer */
.qso-container{max-width:900px}

/* Landing Page Scorecard */
.lps-container{max-width:900px}

/* Expert Tips Library */
.etl-container{max-width:1000px}
.etl-filter.active{background:var(--green)!important;color:#000!important}

/* ============================================================
   ROUND 66: Scripts Monitor, Branded Search, RSA Test Lab,
   Success Formula
   ============================================================ */

/* Scripts Monitor */
.gsm-container{max-width:1000px}

/* Branded Search Optimizer */
.bso-container{max-width:900px}

/* RSA Testing Lab */
.rtl-container{max-width:1000px}

/* Success Formula */
.gsf-container{max-width:1000px}

/* ============================================================
   ROUND 67: POAS Calculator, Metrics Beyond ROAS,
   Account Audit, Naming Convention
   ============================================================ */

/* POAS Calculator */
.poas-container{max-width:900px}

/* Metrics Beyond ROAS */
.mbr-container{max-width:1000px}

/* Account Audit */
.aat-container{max-width:1000px}

/* Naming Convention Builder */
.ncb-container{max-width:900px}

/* ============================================================
   ROUND 68: Tool Stack, Client Onboarding, Click Fraud, Competitor Intel
   ============================================================ */

/* PPC Tool Stack */
.pts-container{max-width:1000px}

/* Client Onboarding */
.cob-container{max-width:900px}

/* Click Fraud Monitor */
.cfm-container{max-width:900px}

/* Competitor Intelligence */
.cih-container{max-width:1000px}

/* ============================================================
   ROUND 69: Client Retention, Benchmarks, Campaign Types, Pricing
   ============================================================ */
.crs-container{max-width:900px}
.pib-container{max-width:1000px}
.cts-container{max-width:1000px}
.prc-container{max-width:900px}

/* ============================================================
   ROUND 70: Automation Rules, Value-Based Bidding
   ============================================================ */
.arb-container{max-width:1000px}
.vbb-container{max-width:900px}

/* ============================================================
   ROUND 71: AAR Guard, Feed Scorecard, Campaign Diagnostics, Demand Gen
   ============================================================ */
.aar-container{max-width:1000px}
.fos-container{max-width:1000px}
.cdg-container{max-width:1000px}
.dgp-container{max-width:900px}

/* ============================================================
   ROUND 72: Dayparting, Impression Share, Asset Health, Shopping Structure
   ============================================================ */
.dpo-container{max-width:1100px}
.isa-container{max-width:1000px}
.ahs-container{max-width:1000px}
.scs-container{max-width:1000px}

/* ============================================================
   ROUND 73: Consolidation, Ecom DTC, Lead Gen, Ad Copy Workshop
   ============================================================ */
.ccp-container{max-width:1000px}
.ecc-container{max-width:900px}
.lgo-container{max-width:900px}
.acw-container{max-width:900px}

/* ============================================================
   ROUND 74: Scaling Framework, Quality Score Lab, Budget Waste, Account Health
   ============================================================ */
.sfm-container{max-width:1000px}
.qsl-container{max-width:1000px}
.bwf-container{max-width:1000px}
.ahd-container{max-width:1000px}

/* ============================================================
   ROUND 75: Merchant Center, MER Calculator, Customer Match, Client Reporting
   ============================================================ */
.gmc-container{max-width:1000px}
.mer-container{max-width:900px}
.cmp-container{max-width:900px}
.crg-container{max-width:900px}

/* ============================================================
   ROUND 76: Video Script Builder, Experiment Planner, PPC Task Manager
   ============================================================ */
.vsb-container{max-width:1000px}
.vsb-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.vsb-textarea{width:100%;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:10px;font-family:inherit;font-size:13px;resize:vertical;min-height:80px}
.vsb-output{background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;padding:12px;margin-top:8px;white-space:pre-wrap;font-size:13px;line-height:1.6}
.vsb-prompt-box{background:var(--bg-input);border:1px solid var(--accent);border-radius:6px;padding:12px;margin-top:8px;font-size:12px;cursor:pointer;position:relative}
.vsb-prompt-box:hover{border-color:var(--accent-bright)}
.vsb-prompt-box .copy-hint{position:absolute;top:4px;right:8px;font-size:10px;color:var(--text-muted)}
.exp-container{max-width:1000px}
.exp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:10px}
.exp-score{display:inline-block;background:var(--accent);color:#000;font-weight:700;border-radius:4px;padding:2px 8px;font-size:13px}
.exp-status-running{color:#4fc3f7}
.exp-status-complete{color:#81c784}
.exp-status-planned{color:var(--text-muted)}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.exp-metric{text-align:center;padding:8px;background:var(--bg-hover);border-radius:6px}
.exp-metric-val{font-size:18px;font-weight:700;color:var(--text-primary)}
.exp-metric-label{font-size:10px;color:var(--text-muted)}
.ptm-container{max-width:1000px}
.ptm-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:12px}
.ptm-task{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}
.ptm-task:last-child{border-bottom:none}
.ptm-task input[type="checkbox"]{accent-color:var(--accent);width:16px;height:16px}
.ptm-task.done label{text-decoration:line-through;color:var(--text-muted)}
.ptm-progress{height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden;margin:8px 0}
.ptm-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}

/* ============================================================
   ROUND 77: Unit Economics, PMax Cannibalization, Seasonality, Product Segmentation
   ============================================================ */
.uec-container{max-width:1000px}
.uec-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.pmc-container{max-width:1100px}
.pmc-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.sea-container{max-width:1100px}
.sea-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.psg-container{max-width:1100px}
.psg-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}

/* ============================================================
   ROUND 78: PMax Launch, Exclusion Auditor, RSA Guide, Shopping Hero
   ============================================================ */
.plc-container{max-width:1000px}
.plc-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.exa-container{max-width:1000px}
.exa-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.rbp-container{max-width:1000px}
.rbp-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.shp-container{max-width:1100px}
.shp-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}

/* ============================================================
   ROUND 79: Peak Season, VBB Guide, Profit Quadrant, Bottleneck Finder
   ============================================================ */
.psp-container{max-width:1000px}
.psp-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.vbb-container{max-width:1000px}
.vbb-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.pqa-container{max-width:1100px}
.pqa-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.bnf-container{max-width:1000px}
.bnf-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}

/* ============================================================
   ROUND 80: PPC Skills Scorecard, Focus Prioritizer, MS Ads B2B, Automation Matrix
   ============================================================ */
.pss-container{max-width:1000px}
.fpr-container{max-width:1000px}
.mab-container{max-width:1000px}
.mab-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.amx-container{max-width:1000px}
.amx-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}

/* ============================================================
   ROUND 81: PPC News Tracker, Beyond ROAS, Budget Pacing, Reporting Stack
   ============================================================ */
.pnt-container{max-width:1000px}
.pnt-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.bro-container{max-width:1000px}
.bpm-container{max-width:1100px}
.bpm-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.rst-container{max-width:1100px}
.rst-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}

/* ============================================================
   ROUND 82: Competitive Landscape, Seasonality Adjustments, Manual Bidding, Broad Match
   ============================================================ */
.clm-container{max-width:1100px}
.clm-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.sad-container{max-width:1000px}
.sad-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.mbc-container{max-width:1000px}
.mbc-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.bmg-container{max-width:1100px}
.bmg-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}

/* ============================================================
   ROUND 83: BFCM Benchmarks, Audience Fit, Tool Stack, Account Alerts
   ============================================================ */
.bfb-container{max-width:1000px}
.bfb-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.afc-container{max-width:1000px}
.afc-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.tsp-container{max-width:1100px}
.tsp-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.aal-container{max-width:1000px}
.aal-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}

/* ============================================================
   ROUND 84: Ecom Mistakes, Quality Score, Attribution Model, STAG Migration
   ============================================================ */
.emc-container{max-width:1000px}
.emc-header{margin-bottom:20px}
.emc-subtitle{color:var(--text-secondary);margin-top:4px}
.emc-summary{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.emc-score-big{font-size:28px;font-weight:700}
.emc-grade-label{font-size:16px;font-weight:600}
.emc-grade-good{color:#4caf50}
.emc-grade-ok{color:#ff9800}
.emc-grade-warn{color:#f44336}
.emc-grade-bad{color:#d32f2f}
.emc-rated-count{color:var(--text-secondary);font-size:13px}
.emc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.emc-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.emc-card-header h3{margin:0;font-size:15px}
.emc-severity{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}
.emc-sev-high{background:rgba(244,67,54,.15);color:#f44336}
.emc-sev-med{background:rgba(255,152,0,.15);color:#ff9800}
.emc-sev-low{background:rgba(76,175,80,.15);color:#4caf50}
.emc-risk,.emc-diagnostic,.emc-fix{font-size:13px;margin-bottom:6px;color:var(--text-secondary)}
.emc-signs{font-size:13px;margin-bottom:8px}
.emc-signs ul{margin:4px 0 0 16px;padding:0}
.emc-signs li{margin-bottom:2px;color:var(--text-secondary)}
.emc-rating{display:flex;align-items:center;gap:8px;margin-top:8px}
.emc-rating-label{font-size:12px;color:var(--text-secondary)}
.emc-rating-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;font-weight:600}
.emc-rating-btn:hover{border-color:var(--accent)}
.emc-rating-active{background:var(--accent)!important;color:#fff;border-color:var(--accent)}
.emc-actions{margin-top:16px}
.emc-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.qso-container{max-width:1100px}
.qso-header{margin-bottom:20px}
.qso-subtitle{color:var(--text-secondary);margin-top:4px}
.qso-subtitle code{background:var(--bg-card);padding:2px 6px;border-radius:4px;font-size:12px}
.qso-guide{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.qso-guide h3{margin-top:0}
.qso-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.qso-guide-card{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.qso-guide-card h4{margin:0 0 6px;font-size:14px;color:var(--accent)}
.qso-guide-card p{font-size:12px;color:var(--text-secondary);margin:0 0 8px}
.qso-guide-card ul{margin:0;padding-left:16px;font-size:12px}
.qso-guide-card li{margin-bottom:2px;color:var(--text-secondary)}
.qso-tracker{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.qso-tracker h3{margin-top:0}
.qso-add-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.qso-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1;min-width:140px}
.qso-input-sm{max-width:80px;min-width:60px;flex:0}
.qso-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:130px}
.qso-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.qso-table{width:100%;border-collapse:collapse;font-size:13px}
.qso-table th{text-align:left;padding:8px;border-bottom:2px solid var(--border);font-size:12px;color:var(--text-secondary)}
.qso-table td{padding:8px;border-bottom:1px solid var(--border)}
.qso-below{color:#f44336}
.qso-above{color:#4caf50}
.qso-priority{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}
.qso-pri-high{background:rgba(244,67,54,.15);color:#f44336}
.qso-pri-med{background:rgba(255,152,0,.15);color:#ff9800}
.qso-pri-low{background:rgba(76,175,80,.15);color:#4caf50}
.qso-del-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.qso-summary{display:flex;gap:20px;margin-top:12px;font-size:13px;color:var(--text-secondary)}
.qso-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center}
.qso-actions{margin-top:16px}
.qso-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.amg-container{max-width:1100px}
.amg-header{margin-bottom:20px}
.amg-subtitle{color:var(--text-secondary);margin-top:4px}
.amg-decision{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.amg-decision h3{margin-top:0}
.amg-tree{padding:8px 0}
.amg-tree-node{padding:10px 14px;border-radius:6px;margin-bottom:8px;font-size:13px}
.amg-tree-q{background:rgba(33,150,243,.1);border:1px solid rgba(33,150,243,.3);color:#2196f3}
.amg-tree-a{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);color:#4caf50;font-weight:600}
.amg-tree-branches{padding-left:24px}
.amg-tree-branch{margin-bottom:8px}
.amg-tree-label{font-size:11px;font-weight:700;color:var(--text-secondary);margin-bottom:4px}
.amg-checklist{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.amg-checklist h3{margin-top:0}
.amg-check-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;cursor:pointer;color:var(--text-primary)}
.amg-check-item input[type="checkbox"]{accent-color:var(--accent)}
.amg-models{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.amg-models h3{margin-top:0}
.amg-table{width:100%;border-collapse:collapse;font-size:12px}
.amg-table th{text-align:left;padding:8px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.amg-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top}
.amg-recommended{background:rgba(76,175,80,.08)}
.amg-rec-badge{font-size:10px;background:var(--accent);color:#fff;padding:1px 6px;border-radius:3px}
.amg-current{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.amg-current h3{margin-top:0}
.amg-current-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.amg-current-form label{font-size:12px;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}
.amg-select,.amg-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px}
.amg-save-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:13px;align-self:end}
.amg-alert{margin-top:12px;padding:10px 14px;border-radius:6px;background:rgba(255,152,0,.1);border:1px solid rgba(255,152,0,.3);color:#ff9800;font-size:13px}

.stm-container{max-width:1100px}
.stm-header{margin-bottom:20px}
.stm-subtitle{color:var(--text-secondary);margin-top:4px}
.stm-why{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.stm-why h3{margin-top:0}
.stm-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stm-col{padding:12px;border-radius:6px}
.stm-col h4{margin:0 0 8px;font-size:14px}
.stm-col ul{margin:0;padding-left:16px;font-size:13px}
.stm-col li{margin-bottom:4px}
.stm-col-old{background:rgba(244,67,54,.06);border:1px solid rgba(244,67,54,.2)}
.stm-col-old h4{color:#f44336}
.stm-col-new{background:rgba(76,175,80,.06);border:1px solid rgba(76,175,80,.2)}
.stm-col-new h4{color:#4caf50}
.stm-steps{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.stm-steps h3{margin-top:0}
.stm-step{display:flex;gap:12px;padding:12px;border-radius:6px;margin-bottom:8px;border:1px solid var(--border);background:var(--bg-main)}
.stm-step-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.04)}
.stm-step-num{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.stm-step-done .stm-step-num{background:#4caf50}
.stm-step-content h4{margin:0 0 4px;font-size:14px}
.stm-step-content p{margin:0 0 6px;font-size:13px;color:var(--text-secondary)}
.stm-check{font-size:12px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px}
.stm-check input{accent-color:var(--accent)}
.stm-planner{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.stm-planner h3{margin-top:0}
.stm-planner>p{font-size:13px;color:var(--text-secondary);margin-top:0}
.stm-add-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.stm-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:140px}
.stm-input-wide{flex:2}
.stm-input-sm{max-width:100px;min-width:80px}
.stm-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.stm-table{width:100%;border-collapse:collapse;font-size:13px}
.stm-table th{text-align:left;padding:8px;border-bottom:2px solid var(--border);font-size:12px;color:var(--text-secondary)}
.stm-table td{padding:8px;border-bottom:1px solid var(--border)}
.stm-del-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.stm-summary{display:flex;gap:20px;margin-top:12px;font-size:13px;color:var(--text-secondary)}
.stm-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center}
.stm-actions{margin-top:16px}
.stm-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* ============================================================
   ROUND 85: Automation Maturity, Campaign Launcher, Performance Investigator, Magic Quadrant
   ============================================================ */
.amm-container{max-width:1100px}
.amm-header{margin-bottom:20px}
.amm-subtitle{color:var(--text-secondary);margin-top:4px}
.amm-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.amm-tier{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}
.amm-tier h3{margin:0 0 10px;font-size:15px}
.amm-best,.amm-risks,.amm-transition{font-size:12px;margin-bottom:6px;color:var(--text-secondary)}
.amm-criteria{font-size:12px;margin-bottom:6px}
.amm-criteria ul{margin:4px 0 0 16px;padding:0}
.amm-criteria li{margin-bottom:2px;color:var(--text-secondary)}
.amm-tracker{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.amm-tracker h3{margin-top:0}
.amm-tracker>p{font-size:13px;color:var(--text-secondary);margin-top:0}
.amm-add-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.amm-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:120px}
.amm-input-wide{flex:2}
.amm-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:120px}
.amm-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.amm-table{width:100%;border-collapse:collapse;font-size:13px}
.amm-table th{text-align:left;padding:8px;border-bottom:2px solid var(--border);font-size:12px;color:var(--text-secondary)}
.amm-table td{padding:8px;border-bottom:1px solid var(--border)}
.amm-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:capitalize}
.amm-st-active{background:rgba(76,175,80,.15);color:#4caf50}
.amm-st-upgrade{background:rgba(255,152,0,.15);color:#ff9800}
.amm-st-deprecated{background:rgba(158,158,158,.15);color:#9e9e9e}
.amm-del-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.amm-summary{display:flex;gap:20px;margin-top:12px;font-size:13px}
.amm-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center}
.amm-actions{margin-top:16px}
.amm-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.clt-container{max-width:1000px}
.clt-header{margin-bottom:20px}
.clt-subtitle{color:var(--text-secondary);margin-top:4px}
.clt-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.clt-tab{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px 16px;cursor:pointer;color:var(--text-primary);font-size:13px}
.clt-tab:hover{border-color:var(--accent)}
.clt-tab-active{border-color:var(--accent);background:rgba(var(--accent-rgb,99,102,241),.1)}
.clt-tab-icon{font-size:16px;font-weight:700;color:var(--accent)}
.clt-tab-progress{font-size:11px;color:var(--text-secondary)}
.clt-template{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.clt-template-header{margin-bottom:12px}
.clt-template-header h3{margin:0 0 8px}
.clt-progress-bar{height:6px;background:var(--border);border-radius:3px;margin-bottom:4px}
.clt-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.clt-progress-text{font-size:12px;color:var(--text-secondary)}
.clt-item{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;cursor:pointer;color:var(--text-primary);border-bottom:1px solid var(--border)}
.clt-item input[type="checkbox"]{accent-color:var(--accent)}
.clt-item-done span{text-decoration:line-through;color:var(--text-secondary)}
.clt-ready{margin-top:12px;padding:10px;border-radius:6px;background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);color:#4caf50;font-weight:600;text-align:center}
.clt-actions{display:flex;gap:8px;margin-top:16px}
.clt-reset-btn,.clt-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.pfi-container{max-width:1100px}
.pfi-header{margin-bottom:20px}
.pfi-subtitle{color:var(--text-secondary);margin-top:4px}
.pfi-framework{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pfi-framework h3{margin-top:0}
.pfi-causes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pfi-cause-card{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.pfi-cause-card h4{margin:0 0 6px;font-size:13px;color:var(--accent)}
.pfi-cause-card ul{margin:0;padding-left:16px;font-size:12px}
.pfi-cause-card li{margin-bottom:2px;color:var(--text-secondary)}
.pfi-new{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pfi-new h3{margin-top:0}
.pfi-form-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pfi-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:100px}
.pfi-input-sm{max-width:80px;min-width:60px}
.pfi-input-wide{flex:2;min-width:200px}
.pfi-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:110px}
.pfi-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.pfi-log{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pfi-log h3{margin-top:0}
.pfi-table{width:100%;border-collapse:collapse;font-size:13px}
.pfi-table th{text-align:left;padding:8px;border-bottom:2px solid var(--border);font-size:12px;color:var(--text-secondary)}
.pfi-table td{padding:8px;border-bottom:1px solid var(--border)}
.pfi-up{color:#4caf50;font-weight:600}
.pfi-down{color:#f44336;font-weight:600}
.pfi-resolution{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:capitalize}
.pfi-res-investigating{background:rgba(33,150,243,.15);color:#2196f3}
.pfi-res-resolved{background:rgba(76,175,80,.15);color:#4caf50}
.pfi-res-monitoring{background:rgba(255,152,0,.15);color:#ff9800}
.pfi-res-accepted{background:rgba(158,158,158,.15);color:#9e9e9e}
.pfi-del-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.pfi-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px}
.pfi-actions{margin-top:16px}
.pfi-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.mqp-container{max-width:1100px}
.mqp-header{margin-bottom:20px}
.mqp-subtitle{color:var(--text-secondary);margin-top:4px}
.mqp-config{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.mqp-config label{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}
.mqp-select{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:13px}
.mqp-update-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:12px}
.mqp-add{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.mqp-input{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:140px;flex:1}
.mqp-input-sm{max-width:120px;min-width:80px;flex:0}
.mqp-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.mqp-chart-wrap{margin-bottom:16px}
.mqp-chart{position:relative;width:100%;height:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.mqp-axis-x{position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--border)}
.mqp-axis-y{position:absolute;top:0;left:50%;width:1px;height:100%;background:var(--border)}
.mqp-q-label{position:absolute;font-size:11px;color:var(--text-secondary);padding:8px;opacity:.7}
.mqp-q-tl{top:4px;left:4px}
.mqp-q-tr{top:4px;right:4px;text-align:right}
.mqp-q-bl{bottom:4px;left:4px}
.mqp-q-br{bottom:4px;right:4px;text-align:right}
.mqp-dot{position:absolute;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;z-index:2}
.mqp-dot-star{background:#4caf50}
.mqp-dot-protect{background:#2196f3}
.mqp-dot-fix{background:#f44336}
.mqp-dot-test{background:#ff9800}
.mqp-dot-label{position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;color:var(--text-secondary)}
.mqp-axis-label-x{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--text-secondary)}
.mqp-axis-label-y{position:absolute;top:50%;left:8px;transform:translateY(-50%) rotate(-90deg);font-size:11px;color:var(--text-secondary)}
.mqp-data{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.mqp-table{width:100%;border-collapse:collapse;font-size:13px}
.mqp-table th{text-align:left;padding:8px;border-bottom:2px solid var(--border);font-size:12px;color:var(--text-secondary)}
.mqp-table td{padding:8px;border-bottom:1px solid var(--border)}
.mqp-del-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.mqp-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px}
.mqp-actions{margin-top:16px}
.mqp-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* ============================================================
   ROUND 86: Opt Score Fixer, Account Audit Wizard, LP Tester, Underrated Opts
   ============================================================ */
.osf-container{max-width:1000px}
.osf-header{margin-bottom:20px}
.osf-subtitle{color:var(--text-secondary);margin-top:4px}
.osf-score-input{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.osf-score-input label{font-size:14px;display:flex;align-items:center;gap:8px}
.osf-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:14px;width:80px;text-align:center}
.osf-save-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.osf-level{font-weight:700;font-size:14px}
.osf-level-good{color:#4caf50}
.osf-level-warn{color:#ff9800}
.osf-level-bad{color:#f44336}
.osf-fix{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:10px}
.osf-fix-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.04)}
.osf-fix h3{margin:0 0 6px;font-size:14px}
.osf-fix p{margin:0 0 8px;font-size:13px;color:var(--text-secondary)}
.osf-actions{display:flex;flex-direction:column;gap:4px}
.osf-action{font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:2px 0}
.osf-action input{accent-color:var(--accent)}
.osf-summary{font-size:14px;margin-top:12px;color:var(--text-secondary)}
.osf-btns{margin-top:16px}
.osf-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.aaw-container{max-width:1100px}
.aaw-header{margin-bottom:20px}
.aaw-subtitle{color:var(--text-secondary);margin-top:4px}
.aaw-overall{margin-bottom:16px}
.aaw-progress-bar{height:8px;background:var(--border);border-radius:4px;margin-bottom:6px}
.aaw-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.aaw-progress-text{font-size:13px;color:var(--text-secondary)}
.aaw-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.aaw-tab{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:8px 12px;cursor:pointer;min-width:90px;font-size:11px;color:var(--text-primary)}
.aaw-tab:hover{border-color:var(--accent)}
.aaw-tab-active{border-color:var(--accent);background:rgba(var(--accent-rgb,99,102,241),.1)}
.aaw-tab-complete{border-color:rgba(76,175,80,.5)}
.aaw-tab-name{font-weight:600;text-align:center}
.aaw-tab-pct{color:var(--text-secondary)}
.aaw-checklist{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.aaw-checklist h3{margin:0 0 12px}
.aaw-item{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border);color:var(--text-primary)}
.aaw-item input[type="checkbox"]{accent-color:var(--accent)}
.aaw-item-done span{text-decoration:line-through;color:var(--text-secondary)}
.aaw-ice{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.aaw-ice h3{margin:0 0 8px}
.aaw-ice p{font-size:13px;color:var(--text-secondary);margin:0 0 8px}
.aaw-ice ul{margin:0;padding-left:20px;font-size:13px}
.aaw-ice li{margin-bottom:4px}
.aaw-btns{margin-top:16px}
.aaw-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.lpt-container{max-width:1100px}
.lpt-header{margin-bottom:20px}
.lpt-subtitle{color:var(--text-secondary);margin-top:4px}
.lpt-guide{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.lpt-guide h3{margin:0 0 12px}
.lpt-guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lpt-guide-card{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:10px}
.lpt-guide-card h4{margin:0 0 4px;font-size:13px;color:var(--accent)}
.lpt-guide-card p{margin:0;font-size:12px;color:var(--text-secondary)}
.lpt-add{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.lpt-add h3{margin:0 0 12px}
.lpt-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.lpt-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:120px;flex:1}
.lpt-input-sm{max-width:100px;min-width:70px;flex:0}
.lpt-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:110px}
.lpt-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.lpt-log{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.lpt-log h3{margin:0 0 12px}
.lpt-table{width:100%;border-collapse:collapse;font-size:12px}
.lpt-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.lpt-table td{padding:6px;border-bottom:1px solid var(--border)}
.lpt-lift-up{color:#4caf50;font-weight:600}
.lpt-lift-down{color:#f44336;font-weight:600}
.lpt-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:capitalize}
.lpt-st-planning{background:rgba(158,158,158,.15);color:#9e9e9e}
.lpt-st-running{background:rgba(33,150,243,.15);color:#2196f3}
.lpt-st-winner-a{background:rgba(255,152,0,.15);color:#ff9800}
.lpt-st-winner-b{background:rgba(76,175,80,.15);color:#4caf50}
.lpt-st-no-diff{background:rgba(158,158,158,.15);color:#9e9e9e}
.lpt-del-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.lpt-summary{display:flex;gap:20px;margin-top:12px;font-size:13px;color:var(--text-secondary)}
.lpt-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px}
.lpt-btns{margin-top:16px}
.lpt-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.uro-container{max-width:1000px}
.uro-header{margin-bottom:20px}
.uro-subtitle{color:var(--text-secondary);margin-top:4px}
.uro-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.uro-card-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.04)}
.uro-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:8px}
.uro-card-header h3{margin:0;font-size:14px}
.uro-badges{display:flex;gap:6px}
.uro-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px}
.uro-imp-high{background:rgba(76,175,80,.15);color:#4caf50}
.uro-imp-med{background:rgba(255,152,0,.15);color:#ff9800}
.uro-imp-low{background:rgba(158,158,158,.15);color:#9e9e9e}
.uro-eff-high{background:rgba(244,67,54,.15);color:#f44336}
.uro-eff-med{background:rgba(255,152,0,.15);color:#ff9800}
.uro-eff-low{background:rgba(76,175,80,.15);color:#4caf50}
.uro-desc{font-size:13px;color:var(--text-secondary);margin:0 0 6px}
.uro-metric{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.uro-steps{margin-top:8px}
.uro-progress-bar{height:4px;background:var(--border);border-radius:2px;margin-bottom:6px}
.uro-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}
.uro-step{font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:3px 0}
.uro-step input{accent-color:var(--accent)}
.uro-btns{margin-top:16px}
.uro-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* ============================================================
   ROUND 87: Keyword Diagnostic, PMax 2025 Scorecard, OptiScore Analyzer, AI PPC Guide
   ============================================================ */
.kwd-container{max-width:1100px}
.kwd-header{margin-bottom:20px}
.kwd-subtitle{color:var(--text-secondary);margin-top:4px}
.kwd-thresholds{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.kwd-thresholds h3{margin:0 0 12px}
.kwd-thresh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kwd-thresh-card{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.kwd-thresh-card h4{margin:0 0 4px;font-size:13px;color:var(--accent)}
.kwd-thresh-card p{margin:0;font-size:12px;color:var(--text-secondary)}
.kwd-layers{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.kwd-layers h3{margin:0 0 12px}
.kwd-layer{margin-bottom:12px}
.kwd-layer h4{margin:0 0 6px;font-size:13px;color:var(--accent)}
.kwd-check{font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:2px 0}
.kwd-check input{accent-color:var(--accent)}
.kwd-tracker{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.kwd-tracker h3{margin:0 0 12px}
.kwd-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.kwd-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:100px;flex:1}
.kwd-input-sm{max-width:100px;min-width:70px;flex:0}
.kwd-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:110px}
.kwd-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.kwd-table{width:100%;border-collapse:collapse;font-size:13px}
.kwd-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.kwd-table td{padding:6px;border-bottom:1px solid var(--border)}
.kwd-ratio-bad{color:#f44336;font-weight:600}
.kwd-ratio-warn{color:#ff9800;font-weight:600}
.kwd-ratio-ok{color:#4caf50}
.kwd-decision{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:capitalize}
.kwd-dec-investigating{background:rgba(33,150,243,.15);color:#2196f3}
.kwd-dec-pause{background:rgba(244,67,54,.15);color:#f44336}
.kwd-dec-keep{background:rgba(76,175,80,.15);color:#4caf50}
.kwd-dec-adjust{background:rgba(255,152,0,.15);color:#ff9800}
.kwd-dec-rewrite-ad{background:rgba(156,39,176,.15);color:#9c27b0}
.kwd-dec-fix-lp{background:rgba(0,150,136,.15);color:#009688}
.kwd-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.kwd-alternatives{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.kwd-alternatives h3{margin:0 0 8px}
.kwd-alternatives ul{margin:0;padding-left:20px;font-size:13px}
.kwd-alternatives li{margin-bottom:4px;color:var(--text-secondary)}
.kwd-btns{margin-top:16px}
.kwd-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.pms-container{max-width:1100px}
.pms-header{margin-bottom:20px}
.pms-subtitle{color:var(--text-secondary);margin-top:4px}
.pms-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.pms-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.pms-stat-num{display:block;font-size:22px;font-weight:700;color:var(--accent)}
.pms-stat-label{display:block;font-size:11px;color:var(--text-secondary);margin-top:2px}
.pms-feature{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:10px}
.pms-feature-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.04)}
.pms-feature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.pms-feature-header h3{margin:0;font-size:14px}
.pms-feature-pct{font-size:12px;color:var(--text-secondary)}
.pms-stat-highlight{font-size:12px;background:rgba(33,150,243,.08);border:1px solid rgba(33,150,243,.2);padding:6px 10px;border-radius:4px;color:#2196f3;margin-bottom:6px}
.pms-problem,.pms-fix{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.pms-actions{margin-top:8px}
.pms-action{font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:2px 0}
.pms-action input{accent-color:var(--accent)}
.pms-summary{font-size:14px;margin-top:12px;color:var(--text-secondary)}
.pms-btns{margin-top:16px}
.pms-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.osa-container{max-width:1100px}
.osa-header{margin-bottom:20px}
.osa-subtitle{color:var(--text-secondary);margin-top:4px}
.osa-findings{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.osa-findings h3{margin:0 0 12px}
.osa-findings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.osa-finding{background:var(--bg-main);border-radius:6px;padding:12px}
.osa-finding-value{font-size:22px;font-weight:700}
.osa-finding-label{font-size:13px;font-weight:600;margin-top:2px}
.osa-finding-desc{font-size:11px;color:var(--text-secondary);margin-top:2px}
.osa-matrix{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.osa-matrix h3{margin:0 0 8px}
.osa-matrix-desc{font-size:13px;color:var(--text-secondary);margin:0 0 12px}
.osa-rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.osa-rec-card{border-radius:6px;padding:12px}
.osa-rec-card h4{margin:0 0 8px;font-size:13px}
.osa-rec-card ul{margin:0;padding-left:16px;font-size:12px}
.osa-rec-card li{margin-bottom:3px}
.osa-rec-accept{background:rgba(76,175,80,.06);border:1px solid rgba(76,175,80,.2)}
.osa-rec-accept h4{color:#4caf50}
.osa-rec-evaluate{background:rgba(255,152,0,.06);border:1px solid rgba(255,152,0,.2)}
.osa-rec-evaluate h4{color:#ff9800}
.osa-rec-dismiss{background:rgba(244,67,54,.06);border:1px solid rgba(244,67,54,.2)}
.osa-rec-dismiss h4{color:#f44336}
.osa-tracker{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.osa-tracker h3{margin:0 0 12px}
.osa-add-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.osa-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:100px}
.osa-input-sm{max-width:100px;min-width:70px}
.osa-input-wide{flex:2;min-width:200px}
.osa-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.osa-table{width:100%;border-collapse:collapse;font-size:13px}
.osa-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.osa-table td{padding:6px;border-bottom:1px solid var(--border)}
.osa-lvl-excellent{color:#4caf50;font-weight:600}
.osa-lvl-good{color:#8bc34a;font-weight:600}
.osa-lvl-ok{color:#ff9800;font-weight:600}
.osa-lvl-bad{color:#f44336;font-weight:600}
.osa-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.osa-takeaway{background:rgba(33,150,243,.08);border:1px solid rgba(33,150,243,.2);border-radius:8px;padding:14px;font-size:13px;color:var(--text-primary);margin-bottom:16px}
.osa-btns{margin-top:16px}
.osa-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.apg-container{max-width:1100px}
.apg-header{margin-bottom:20px}
.apg-subtitle{color:var(--text-secondary);margin-top:4px}
.apg-principles{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.apg-principles h3{margin:0 0 12px}
.apg-prin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.apg-prin{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:10px;font-size:12px;color:var(--text-secondary)}
.apg-prin strong{color:var(--text-primary);display:block;margin-bottom:4px}
.apg-comparison{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.apg-comparison h3{margin:0 0 12px}
.apg-table{width:100%;border-collapse:collapse;font-size:12px}
.apg-table th{text-align:left;padding:8px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.apg-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top}
.apg-winner{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px}
.apg-win-ai{background:rgba(76,175,80,.15);color:#4caf50}
.apg-win-manual{background:rgba(255,152,0,.15);color:#ff9800}
.apg-win-both{background:rgba(33,150,243,.15);color:#2196f3}
.apg-reason{font-size:11px;color:var(--text-secondary)}
.apg-limitations{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.apg-limitations h3{margin:0 0 8px}
.apg-limitations ul{margin:0;padding-left:20px;font-size:13px}
.apg-limitations li{margin-bottom:4px;color:var(--text-secondary)}
.apg-usage{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.apg-usage h3{margin:0 0 8px}
.apg-usage>p{font-size:12px;color:var(--text-secondary);margin:0 0 12px}
.apg-usage-row{display:flex;align-items:center;gap:8px;padding:4px 0}
.apg-usage-label{font-size:12px;min-width:200px;color:var(--text-primary)}
.apg-usage-btn{width:28px;height:28px;border-radius:4px;border:1px solid var(--border);background:var(--bg-main);color:var(--text-primary);cursor:pointer;font-weight:600;font-size:12px}
.apg-usage-btn:hover{border-color:var(--accent)}
.apg-usage-active{background:var(--accent)!important;color:#fff;border-color:var(--accent)}
.apg-btns{margin-top:16px}
.apg-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* ============================================================
   ROUND 88: Smart Bidding, Portfolio Bidding, Ecom Automation, Conv Volume
   ============================================================ */
.sbs-container{max-width:1100px}
.sbs-header{margin-bottom:20px}
.sbs-subtitle{color:var(--text-secondary);margin-top:4px}
.sbs-findings{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.sbs-findings h3{margin:0 0 12px}
.sbs-findings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sbs-finding{background:var(--bg-main);border-radius:6px;padding:10px}
.sbs-finding-stat{font-size:20px;font-weight:700}
.sbs-finding-label{font-size:11px;color:var(--text-secondary);margin-top:2px}
.sbs-strategies{margin-bottom:16px}
.sbs-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:10px}
.sbs-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.sbs-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sbs-card-header h3{margin:0;font-size:15px}
.sbs-min-conv{font-size:11px;color:var(--text-secondary);background:var(--bg-main);padding:2px 8px;border-radius:4px}
.sbs-when,.sbs-prereqs,.sbs-best{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.sbs-pros-cons{display:flex;gap:16px;margin-bottom:6px;font-size:12px}
.sbs-pro{color:#4caf50}
.sbs-con{color:#f44336}
.sbs-tip{font-size:12px;background:rgba(33,150,243,.06);border:1px solid rgba(33,150,243,.15);padding:6px 10px;border-radius:4px;color:var(--text-secondary);margin-bottom:8px}
.sbs-select-btn{background:var(--bg-main);border:1px solid var(--border);color:var(--text-primary);padding:4px 12px;border-radius:4px;cursor:pointer;font-size:11px}
.sbs-select-btn:hover{border-color:var(--accent)}
.sbs-practices{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.sbs-practices h3{margin:0 0 8px}
.sbs-practices ul{margin:0;padding-left:20px;font-size:13px}
.sbs-practices li{margin-bottom:4px;color:var(--text-secondary)}
.sbs-btns{margin-top:16px}
.sbs-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.pbd-container{max-width:1100px}
.pbd-header{margin-bottom:20px}
.pbd-subtitle{color:var(--text-secondary);margin-top:4px}
.pbd-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.pbd-col{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}
.pbd-col h3{margin:0 0 4px;font-size:15px}
.pbd-purpose{font-size:12px;color:var(--accent);margin:0 0 8px}
.pbd-col ul{margin:0;padding-left:16px;font-size:13px}
.pbd-col li{margin-bottom:4px;color:var(--text-secondary)}
.pbd-warning{font-size:11px;background:rgba(255,152,0,.08);border:1px solid rgba(255,152,0,.2);padding:6px 10px;border-radius:4px;color:#ff9800;margin-top:8px}
.pbd-planner{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pbd-planner h3{margin:0 0 12px}
.pbd-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pbd-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:100px;flex:1}
.pbd-input-sm{max-width:100px;flex:0}
.pbd-input-wide{flex:3}
.pbd-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:110px}
.pbd-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.pbd-table{width:100%;border-collapse:collapse;font-size:13px}
.pbd-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.pbd-table td{padding:6px;border-bottom:1px solid var(--border)}
.pbd-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.pbd-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center}
.pbd-mistakes{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pbd-mistakes h3{margin:0 0 8px}
.pbd-mistakes ul{margin:0;padding-left:20px;font-size:13px}
.pbd-mistakes li{margin-bottom:4px;color:var(--text-secondary)}
.pbd-btns{margin-top:16px}
.pbd-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.eap-container{max-width:1000px}
.eap-header{margin-bottom:20px}
.eap-subtitle{color:var(--text-secondary);margin-top:4px}
.eap-play{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.eap-play-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.04)}
.eap-play-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.eap-play-header h3{margin:0;font-size:14px}
.eap-pct{font-size:12px;color:var(--text-secondary)}
.eap-desc{font-size:13px;color:var(--text-secondary);margin:0 0 6px}
.eap-metric{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.eap-progress-bar{height:4px;background:var(--border);border-radius:2px;margin-bottom:6px}
.eap-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}
.eap-step{font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:3px 0}
.eap-step input{accent-color:var(--accent)}
.eap-btns{margin-top:16px}
.eap-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.cvc-container{max-width:1100px}
.cvc-header{margin-bottom:20px}
.cvc-subtitle{color:var(--text-secondary);margin-top:4px}
.cvc-thresholds{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.cvc-thresholds h3{margin:0 0 12px}
.cvc-thresh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cvc-thresh{background:var(--bg-main);border-radius:6px;padding:10px}
.cvc-thresh-label{font-weight:700;font-size:13px}
.cvc-thresh-strategies{font-size:12px;margin-top:4px}
.cvc-thresh-desc{font-size:11px;color:var(--text-secondary);margin-top:2px}
.cvc-calculator{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.cvc-calculator h3{margin:0 0 12px}
.cvc-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cvc-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:120px;flex:1}
.cvc-input-sm{max-width:100px;min-width:70px;flex:0}
.cvc-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:130px}
.cvc-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.cvc-table{width:100%;border-collapse:collapse;font-size:13px}
.cvc-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.cvc-table td{padding:6px;border-bottom:1px solid var(--border)}
.cvc-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.cvc-tip{margin-top:12px;padding:10px;border-radius:6px;background:rgba(255,152,0,.08);border:1px solid rgba(255,152,0,.2);color:#ff9800;font-size:13px}
.cvc-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center}
.cvc-btns{margin-top:16px}
.cvc-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* ============================================================
   ROUND 89: Offline Conversions, VBB Implementation, Conv Value Rules, Lead Funnel
   ============================================================ */
.ofc-container{max-width:1000px}
.ofc-header{margin-bottom:20px}
.ofc-subtitle{color:var(--text-secondary);margin-top:4px}
.ofc-why{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.ofc-why h3{margin:0 0 8px}
.ofc-why>p{font-size:13px;color:var(--text-secondary);margin:0 0 12px}
.ofc-example{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.ofc-funnel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.ofc-funnel-step{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:10px 16px;min-width:100px}
.ofc-funnel-final{border-color:var(--accent);background:rgba(var(--accent-rgb,99,102,241),.08)}
.ofc-funnel-num{display:block;font-size:20px;font-weight:700;color:var(--accent)}
.ofc-funnel-label{display:block;font-size:11px;color:var(--text-secondary)}
.ofc-funnel-arrow{font-size:18px;color:var(--text-secondary)}
.ofc-setup{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.ofc-setup h3{margin:0 0 8px}
.ofc-progress-bar{height:6px;background:var(--border);border-radius:3px;margin-bottom:4px}
.ofc-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.ofc-progress-text{font-size:12px;color:var(--text-secondary)}
.ofc-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border)}
.ofc-item input{accent-color:var(--accent)}
.ofc-item-done span{text-decoration:line-through;color:var(--text-secondary)}
.ofc-principle{background:rgba(33,150,243,.08);border:1px solid rgba(33,150,243,.2);border-radius:8px;padding:12px;font-size:13px;margin-bottom:16px}
.ofc-btns{margin-top:16px}
.ofc-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.vbi-container{max-width:1000px}
.vbi-header{margin-bottom:20px}
.vbi-subtitle{color:var(--text-secondary);margin-top:4px}
.vbi-overall{margin-bottom:16px}
.vbi-progress-bar{height:8px;background:var(--border);border-radius:4px;margin-bottom:4px}
.vbi-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.vbi-progress-text{font-size:12px;color:var(--text-secondary)}
.vbi-phase{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:10px}
.vbi-phase-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.04)}
.vbi-phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.vbi-phase-header h3{margin:0;font-size:14px}
.vbi-phase-header span{font-size:12px;color:var(--text-secondary)}
.vbi-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}
.vbi-item input{accent-color:var(--accent)}
.vbi-pitfalls{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.vbi-pitfalls h3{margin:0 0 12px}
.vbi-table{width:100%;border-collapse:collapse;font-size:13px}
.vbi-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.vbi-table td{padding:6px;border-bottom:1px solid var(--border)}
.vbi-impact{color:#f44336}
.vbi-btns{margin-top:16px}
.vbi-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.cvr-container{max-width:1100px}
.cvr-header{margin-bottom:20px}
.cvr-subtitle{color:var(--text-secondary);margin-top:4px}
.cvr-guidance{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.cvr-guidance h3{margin:0 0 12px}
.cvr-dos-donts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cvr-do{background:rgba(76,175,80,.04);border:1px solid rgba(76,175,80,.2);border-radius:6px;padding:12px}
.cvr-do h4{color:#4caf50;margin:0 0 6px;font-size:13px}
.cvr-dont{background:rgba(244,67,54,.04);border:1px solid rgba(244,67,54,.2);border-radius:6px;padding:12px}
.cvr-dont h4{color:#f44336;margin:0 0 6px;font-size:13px}
.cvr-do ul,.cvr-dont ul{margin:0;padding-left:16px;font-size:12px}
.cvr-do li,.cvr-dont li{margin-bottom:3px;color:var(--text-secondary)}
.cvr-planner{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.cvr-planner h3{margin:0 0 12px}
.cvr-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cvr-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:100px;flex:1}
.cvr-input-sm{max-width:100px;flex:0}
.cvr-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:110px}
.cvr-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.cvr-table{width:100%;border-collapse:collapse;font-size:12px}
.cvr-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.cvr-table td{padding:6px;border-bottom:1px solid var(--border)}
.cvr-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;background:rgba(33,150,243,.15);color:#2196f3}
.cvr-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.cvr-empty{color:var(--text-secondary);font-size:13px;padding:20px;text-align:center}
.cvr-protocol{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.cvr-protocol h3{margin:0 0 8px}
.cvr-protocol ol{margin:0;padding-left:20px;font-size:13px}
.cvr-protocol li{margin-bottom:4px;color:var(--text-secondary)}
.cvr-btns{margin-top:16px}
.cvr-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

.lfc-container{max-width:1000px}
.lfc-header{margin-bottom:20px}
.lfc-subtitle{color:var(--text-secondary);margin-top:4px}
.lfc-funnel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.lfc-funnel h3{margin:0 0 8px}
.lfc-instructions{font-size:12px;color:var(--text-secondary);margin:0 0 12px}
.lfc-stages{margin-bottom:12px}
.lfc-stage{display:flex;align-items:center;gap:12px;padding:10px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;margin-bottom:8px}
.lfc-stage-num{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}
.lfc-stage-content{flex:1}
.lfc-stage-name{background:transparent;border:none;color:var(--text-primary);font-size:14px;font-weight:600;width:100%;margin-bottom:6px;padding:2px 0;border-bottom:1px solid transparent}
.lfc-stage-name:focus{border-bottom-color:var(--accent);outline:none}
.lfc-stage-metrics{display:flex;gap:12px}
.lfc-stage-metrics label{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}
.lfc-input{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text-primary);font-size:13px;width:100px}
.lfc-stage-rate{font-size:11px;color:var(--accent);margin:0 0 0 40px;padding:2px 0}
.lfc-stage-actions{display:flex;gap:8px;margin-bottom:16px}
.lfc-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}
.lfc-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}
.lfc-results{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.lfc-results h3{margin:0 0 12px}
.lfc-table{width:100%;border-collapse:collapse;font-size:13px}
.lfc-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.lfc-table td{padding:6px;border-bottom:1px solid var(--border)}
.lfc-insight{margin-top:12px;padding:10px;border-radius:6px;background:rgba(76,175,80,.08);border:1px solid rgba(76,175,80,.2);color:#4caf50;font-size:13px}
.lfc-btns{margin-top:16px}
.lfc-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 90: Audience Strategy Builder (.asb-*) */
.asb-container{max-width:1000px}
.asb-header{margin-bottom:20px}
.asb-subtitle{color:var(--text-secondary);margin-top:4px}
.asb-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.asb-col{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}
.asb-col h3{margin:0 0 8px;color:var(--accent)}
.asb-how{font-size:13px;color:var(--text-secondary);margin:0 0 12px;font-style:italic}
.asb-use{font-size:13px;margin-bottom:10px}
.asb-use ul{margin:4px 0 0;padding-left:16px}
.asb-use li{margin-bottom:3px;color:var(--text-secondary)}
.asb-pro{font-size:12px;color:#4caf50;margin-bottom:4px}
.asb-con{font-size:12px;color:#f44336}
.asb-types{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asb-types h3{margin:0 0 12px}
.asb-table{width:100%;border-collapse:collapse;font-size:12px}
.asb-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.asb-table td{padding:6px;border-bottom:1px solid var(--border)}
.asb-priority{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.asb-pri-high{background:rgba(76,175,80,.15);color:#4caf50}
.asb-pri-med{background:rgba(255,152,0,.15);color:#ff9800}
.asb-pri-low{background:rgba(158,158,158,.15);color:#9e9e9e}
.asb-planner{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asb-planner h3{margin:0 0 12px}
.asb-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.asb-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:120px;flex:1}
.asb-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:120px}
.asb-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.asb-plan-table{width:100%;border-collapse:collapse;font-size:12px}
.asb-plan-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.asb-plan-table td{padding:6px;border-bottom:1px solid var(--border)}
.asb-mode{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.asb-mode-target{background:rgba(33,150,243,.15);color:#2196f3}
.asb-mode-observe{background:rgba(255,152,0,.15);color:#ff9800}
.asb-mode-exclude{background:rgba(244,67,54,.15);color:#f44336}
.asb-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.asb-btns{margin-top:16px}
.asb-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 90: Display Campaign Builder (.dcb-*) */
.dcb-container{max-width:1000px}
.dcb-header{margin-bottom:20px}
.dcb-subtitle{color:var(--text-secondary);margin-top:4px}
.dcb-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.dcb-progress-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.dcb-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.dcb-progress span{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}
.dcb-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.dcb-section-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.dcb-section h3{margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}
.dcb-sec-pct{font-size:12px;color:var(--text-secondary);font-weight:400}
.dcb-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.dcb-item input[type="checkbox"]{accent-color:var(--accent)}
.dcb-item input:checked+span,.dcb-item input:checked~*{text-decoration:line-through;opacity:.6}
.dcb-btns{margin-top:16px}
.dcb-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 90: Remarketing Segmentation (.rsg-*) */
.rsg-container{max-width:1000px}
.rsg-header{margin-bottom:20px}
.rsg-subtitle{color:var(--text-secondary);margin-top:4px}
.rsg-presets{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.rsg-presets h3{margin:0 0 12px}
.rsg-table{width:100%;border-collapse:collapse;font-size:12px}
.rsg-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.rsg-table td{padding:6px;border-bottom:1px solid var(--border)}
.rsg-priority{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.rsg-pri-crit{background:rgba(244,67,54,.15);color:#f44336}
.rsg-pri-high{background:rgba(76,175,80,.15);color:#4caf50}
.rsg-pri-med{background:rgba(255,152,0,.15);color:#ff9800}
.rsg-pri-low{background:rgba(158,158,158,.15);color:#9e9e9e}
.rsg-custom{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.rsg-custom h3{margin:0 0 12px}
.rsg-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.rsg-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:100px;flex:1}
.rsg-input-sm{max-width:130px;flex:0}
.rsg-input-wide{min-width:180px}
.rsg-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:90px}
.rsg-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.rsg-custom-table{width:100%;border-collapse:collapse;font-size:12px}
.rsg-custom-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.rsg-custom-table td{padding:6px;border-bottom:1px solid var(--border)}
.rsg-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.rsg-st-planned{background:rgba(33,150,243,.15);color:#2196f3}
.rsg-st-active{background:rgba(76,175,80,.15);color:#4caf50}
.rsg-st-paused{background:rgba(255,152,0,.15);color:#ff9800}
.rsg-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.rsg-principles{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.rsg-principles h3{margin:0 0 8px}
.rsg-principles ul{margin:0;padding-left:16px;font-size:13px}
.rsg-principles li{margin-bottom:6px;color:var(--text-secondary)}
.rsg-btns{margin-top:16px}
.rsg-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 90: Ecom Campaign Selector (.ecs-*) */
.ecs-container{max-width:1000px}
.ecs-header{margin-bottom:20px}
.ecs-subtitle{color:var(--text-secondary);margin-top:4px}
.ecs-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px;transition:border-color .2s}
.ecs-active{border-color:rgba(76,175,80,.4);background:rgba(76,175,80,.03)}
.ecs-card-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ecs-priority-num{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}
.ecs-card-header h3{margin:0}
.ecs-budget{font-size:12px;color:var(--text-secondary)}
.ecs-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-left:auto;cursor:pointer;white-space:nowrap}
.ecs-toggle input{accent-color:var(--accent)}
.ecs-goal,.ecs-when,.ecs-bidding,.ecs-tips{font-size:13px;color:var(--text-secondary);margin-bottom:4px}
.ecs-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px;text-align:center}
.ecs-btns{margin-top:16px}
.ecs-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 91: Budget Pacing Tracker (.bpt-*) */
.bpt-container{max-width:1000px}
.bpt-header{margin-bottom:20px}
.bpt-subtitle{color:var(--text-secondary);margin-top:4px}
.bpt-tactics{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.bpt-tactics h3{margin:0 0 12px}
.bpt-tactic{display:flex;align-items:flex-start;gap:10px;padding:10px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;margin-bottom:8px;cursor:pointer}
.bpt-tactic-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.bpt-tactic input{margin-top:3px;accent-color:var(--accent)}
.bpt-tactic strong{font-size:13px;display:block;margin-bottom:2px}
.bpt-tactic p{font-size:12px;color:var(--text-secondary);margin:0}
.bpt-dow{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.bpt-dow h3{margin:0 0 8px}
.bpt-dow-note{font-size:12px;color:var(--text-secondary);margin:0 0 12px}
.bpt-dow-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.bpt-dow-day{text-align:center}
.bpt-dow-day label{font-size:12px;font-weight:600;display:block;margin-bottom:4px}
.bpt-dow-input{width:100%;background:var(--bg-main);border:1px solid var(--border);border-radius:4px;padding:4px;color:var(--text-primary);font-size:13px;text-align:center}
.bpt-dow-bar{height:6px;background:var(--bg-main);border-radius:3px;margin-top:4px;overflow:hidden}
.bpt-dow-fill{height:100%;border-radius:3px;transition:width .3s}
.bpt-campaigns{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.bpt-campaigns h3{margin:0 0 12px}
.bpt-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.bpt-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1;min-width:100px}
.bpt-input-sm{max-width:120px;flex:0}
.bpt-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.bpt-table{width:100%;border-collapse:collapse;font-size:12px}
.bpt-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.bpt-table td{padding:6px;border-bottom:1px solid var(--border)}
.bpt-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.bpt-over{background:rgba(244,67,54,.15);color:#f44336}
.bpt-under{background:rgba(255,152,0,.15);color:#ff9800}
.bpt-ontrack{background:rgba(76,175,80,.15);color:#4caf50}
.bpt-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.bpt-btns{margin-top:16px}
.bpt-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 91: Negative Keyword Strategist (.nks-*) */
.nks-container{max-width:1000px}
.nks-header{margin-bottom:20px}
.nks-subtitle{color:var(--text-secondary);margin-top:4px}
.nks-match-types{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.nks-match-types h3{margin:0 0 12px}
.nks-mt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nks-mt-card{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.nks-mt-header{padding-left:10px;margin-bottom:8px}
.nks-mt-header h4{margin:0 0 4px}
.nks-mt-header code{font-size:12px;color:var(--accent)}
.nks-mt-card p{font-size:12px;color:var(--text-secondary);margin:0 0 8px}
.nks-mt-best,.nks-mt-risk{font-size:12px;margin-bottom:4px}
.nks-mt-best{color:#4caf50}
.nks-mt-risk{color:#ff9800}
.nks-levels{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.nks-levels h3{margin:0 0 12px}
.nks-table{width:100%;border-collapse:collapse;font-size:12px}
.nks-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.nks-table td{padding:6px;border-bottom:1px solid var(--border)}
.nks-mistakes{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.nks-mistakes h3{margin:0 0 12px}
.nks-mistake{display:flex;align-items:flex-start;gap:10px;padding:10px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;margin-bottom:8px;cursor:pointer}
.nks-mistake input{margin-top:3px;accent-color:var(--accent)}
.nks-mistake strong{font-size:13px;display:block;margin-bottom:2px}
.nks-mistake p{font-size:12px;color:var(--text-secondary);margin:0}
.nks-planner{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.nks-planner h3{margin:0 0 12px}
.nks-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.nks-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1;min-width:100px}
.nks-input-sm{max-width:90px;flex:0}
.nks-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:100px}
.nks-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.nks-list-table{width:100%;border-collapse:collapse;font-size:12px}
.nks-list-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.nks-list-table td{padding:6px;border-bottom:1px solid var(--border)}
.nks-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.nks-limit{font-size:11px;color:var(--text-secondary);margin-top:8px}
.nks-btns{margin-top:16px}
.nks-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 91: Match Type Analyzer (.mta-*) */
.mta-container{max-width:1000px}
.mta-header{margin-bottom:20px}
.mta-subtitle{color:var(--text-secondary);margin-top:4px}
.mta-benchmarks{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.mta-benchmarks h3{margin:0 0 12px}
.mta-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mta-stat-card{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:14px}
.mta-stat-card h4{margin:0 0 10px}
.mta-stat-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}
.mta-stat-row span{color:var(--text-secondary)}
.mta-share{border-top:1px solid var(--border);margin-top:6px;padding-top:8px}
.mta-trend{font-size:11px;color:var(--text-secondary);margin-top:6px;font-style:italic}
.mta-framework{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.mta-framework h3{margin:0 0 12px}
.mta-table{width:100%;border-collapse:collapse;font-size:12px}
.mta-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.mta-table td{padding:6px;border-bottom:1px solid var(--border)}
.mta-match{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.mta-match-exact{background:rgba(76,175,80,.15);color:#4caf50}
.mta-match-phrase{background:rgba(33,150,243,.15);color:#2196f3}
.mta-match-broad{background:rgba(255,152,0,.15);color:#ff9800}
.mta-match-mixed{background:rgba(156,39,176,.15);color:#9c27b0}
.mta-assessor{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.mta-assessor h3{margin:0 0 12px}
.mta-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.mta-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1;min-width:120px}
.mta-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:110px}
.mta-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.mta-kw-table{width:100%;border-collapse:collapse;font-size:12px}
.mta-kw-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.mta-kw-table td{padding:6px;border-bottom:1px solid var(--border)}
.mta-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.mta-btns{margin-top:16px}
.mta-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 91: Budget Waste Finder (.bwf-*) */
.bwf-container{max-width:1000px}
.bwf-header{margin-bottom:20px}
.bwf-subtitle{color:var(--text-secondary);margin-top:4px}
.bwf-score{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}
.bwf-grade{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}
.bwf-grade-a{background:rgba(76,175,80,.15);color:#4caf50}
.bwf-grade-b{background:rgba(33,150,243,.15);color:#2196f3}
.bwf-grade-c{background:rgba(255,152,0,.15);color:#ff9800}
.bwf-grade-d{background:rgba(244,67,54,.15);color:#f44336}
.bwf-grade-f{background:rgba(244,67,54,.25);color:#f44336}
.bwf-score>div{flex:1}
.bwf-score-bar{height:8px;background:var(--bg-main);border-radius:4px;overflow:hidden;margin-bottom:4px}
.bwf-score-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.bwf-score span{font-size:12px;color:var(--text-secondary)}
.bwf-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.bwf-card-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.bwf-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bwf-severity{font-size:10px;font-weight:600;padding:2px 8px;border-radius:3px;flex-shrink:0}
.bwf-sev-crit{background:rgba(244,67,54,.15);color:#f44336}
.bwf-sev-high{background:rgba(255,152,0,.15);color:#ff9800}
.bwf-sev-med{background:rgba(33,150,243,.15);color:#2196f3}
.bwf-card-header h4{margin:0;flex:1}
.bwf-card-pct{font-size:12px;color:var(--text-secondary)}
.bwf-problem,.bwf-fix{font-size:13px;color:var(--text-secondary);margin-bottom:6px}
.bwf-checks{margin-top:8px}
.bwf-check{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--text-secondary);cursor:pointer}
.bwf-check input{accent-color:var(--accent)}
.bwf-btns{margin-top:16px}
.bwf-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 92: Account Structure Planner (.asp-*) */
.asp-container{max-width:1000px}
.asp-header{margin-bottom:20px}
.asp-subtitle{color:var(--text-secondary);margin-top:4px}
.asp-essentials{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asp-essentials h3{margin:0 0 12px}
.asp-element{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:8px}
.asp-el-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.asp-el-header{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:6px}
.asp-el-header input{accent-color:var(--accent)}
.asp-element p{font-size:13px;color:var(--text-secondary);margin:0 0 6px}
.asp-tip{font-size:12px;color:var(--accent);padding:6px 10px;background:rgba(33,150,243,.05);border-radius:4px}
.asp-naming{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asp-naming h3{margin:0 0 8px}
.asp-naming-note{font-size:12px;color:var(--text-secondary);margin:0 0 12px}
.asp-naming-parts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.asp-naming-part{font-size:12px;padding:6px 12px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px}
.asp-part-active{border-color:var(--accent);background:rgba(33,150,243,.08)}
.asp-naming-part input{accent-color:var(--accent)}
.asp-preview{padding:10px;background:var(--bg-main);border-radius:6px;font-size:13px}
.asp-preview code{color:var(--accent);font-weight:600}
.asp-inventory{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asp-inventory h3{margin:0 0 12px}
.asp-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.asp-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1;min-width:120px}
.asp-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:100px}
.asp-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.asp-table{width:100%;border-collapse:collapse;font-size:12px}
.asp-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.asp-table td{padding:6px;border-bottom:1px solid var(--border)}
.asp-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.asp-warnings{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asp-warnings h3{margin:0 0 8px}
.asp-warnings ul{margin:0;padding-left:16px;font-size:13px}
.asp-warnings li{margin-bottom:6px;color:var(--text-secondary)}
.asp-btns{margin-top:16px}
.asp-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 92: Small Account Automations (.saa-*) */
.saa-container{max-width:1000px}
.saa-header{margin-bottom:20px}
.saa-subtitle{color:var(--text-secondary);margin-top:4px}
.saa-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.saa-progress-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.saa-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.saa-progress span{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}
.saa-category{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.saa-category h3{margin:0 0 10px;font-size:14px;color:var(--accent)}
.saa-item{display:flex;align-items:flex-start;gap:10px;padding:10px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;margin-bottom:8px;cursor:pointer}
.saa-item-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.saa-item input{margin-top:3px;accent-color:var(--accent)}
.saa-item strong{font-size:13px;display:block;margin-bottom:2px}
.saa-item p{font-size:12px;color:var(--text-secondary);margin:0}
.saa-priority{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px}
.saa-pri-high{background:rgba(76,175,80,.15);color:#4caf50}
.saa-pri-med{background:rgba(255,152,0,.15);color:#ff9800}
.saa-pri-low{background:rgba(158,158,158,.15);color:#9e9e9e}
.saa-btns{margin-top:16px}
.saa-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 92: Shopping Structure Advisor (.ssa-*) */
.ssa-container{max-width:1000px}
.ssa-header{margin-bottom:20px}
.ssa-subtitle{color:var(--text-secondary);margin-top:4px}
.ssa-selector{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.ssa-selector h3{margin:0 0 12px}
.ssa-choices{display:flex;flex-wrap:wrap;gap:8px}
.ssa-choice{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:8px 14px;cursor:pointer;font-size:12px;color:var(--text-primary)}
.ssa-choice-active{border-color:var(--accent);background:rgba(33,150,243,.1);color:var(--accent);font-weight:600}
.ssa-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.ssa-card-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.ssa-card h4{margin:0 0 8px}
.ssa-best{font-size:13px;margin-bottom:10px;color:var(--text-secondary)}
.ssa-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}
.ssa-pros h5{color:#4caf50;margin:0 0 6px;font-size:12px}
.ssa-cons h5{color:#f44336;margin:0 0 6px;font-size:12px}
.ssa-pros ul,.ssa-cons ul{margin:0;padding-left:16px;font-size:12px}
.ssa-pros li,.ssa-cons li{margin-bottom:3px;color:var(--text-secondary)}
.ssa-tip{font-size:12px;color:var(--accent);padding:8px 10px;background:rgba(33,150,243,.05);border-radius:4px}
.ssa-practices{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.ssa-practices h3{margin:0 0 12px}
.ssa-practice{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}
.ssa-practice:last-child{border-bottom:none}
.ssa-practice-done{text-decoration:line-through;opacity:.6}
.ssa-practice input{accent-color:var(--accent)}
.ssa-btns{margin-top:16px}
.ssa-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 92: Campaign Setup Checklist (.csc-*) */
.csc-container{max-width:1000px}
.csc-header{margin-bottom:20px}
.csc-subtitle{color:var(--text-secondary);margin-top:4px}
.csc-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.csc-progress-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.csc-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.csc-progress span{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}
.csc-step{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.csc-step-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.csc-step h3{margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}
.csc-step-pct{font-size:12px;color:var(--text-secondary);font-weight:400}
.csc-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.csc-item input{accent-color:var(--accent)}
.csc-btns{margin-top:16px}
.csc-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 93: No Conversions Diagnostic (.ncd-*) */
.ncd-container{max-width:1000px}
.ncd-header{margin-bottom:20px}
.ncd-subtitle{color:var(--text-secondary);margin-top:4px}
.ncd-score{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ncd-score-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.ncd-score-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.ncd-score span{font-size:13px;color:var(--text-secondary)}
.ncd-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.ncd-card-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.ncd-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ncd-icon{font-size:20px}
.ncd-card-title{flex:1;display:flex;align-items:center;gap:8px}
.ncd-card-title strong{font-size:14px}
.ncd-severity{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.ncd-sev-crit{background:rgba(244,67,54,.15);color:#f44336}
.ncd-sev-high{background:rgba(255,152,0,.15);color:#ff9800}
.ncd-sev-med{background:rgba(33,150,243,.15);color:#2196f3}
.ncd-sev-low{background:rgba(158,158,158,.15);color:#9e9e9e}
.ncd-card-pct{font-size:12px;color:var(--text-secondary)}
.ncd-diagnosis{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-style:italic}
.ncd-fixes{margin-top:6px}
.ncd-fix{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--text-secondary);cursor:pointer}
.ncd-fix input{accent-color:var(--accent)}
.ncd-btns{margin-top:16px}
.ncd-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 93: Ad Strength Reality Check (.asr-*) */
.asr-container{max-width:1000px}
.asr-header{margin-bottom:20px}
.asr-subtitle{color:var(--text-secondary);margin-top:4px}
.asr-findings{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asr-findings h3{margin:0 0 12px}
.asr-finding{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:8px}
.asr-finding-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.asr-finding-header strong{font-size:14px}
.asr-verdict{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px}
.asr-finding p{font-size:13px;color:var(--text-secondary);margin:0}
.asr-assess{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.asr-assess h3{margin:0 0 12px}
.asr-practice{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}
.asr-practice:last-of-type{border-bottom:none}
.asr-practice-done{text-decoration:line-through;opacity:.6}
.asr-practice input{accent-color:var(--accent)}
.asr-assess-score{margin-top:12px;font-size:13px;font-weight:600;color:var(--accent)}
.asr-btns{margin-top:16px}
.asr-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 93: RSA Performance Fixer (.rpf-*) */
.rpf-container{max-width:1000px}
.rpf-header{margin-bottom:20px}
.rpf-subtitle{color:var(--text-secondary);margin-top:4px}
.rpf-highlight{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.rpf-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}
.rpf-stat strong{font-size:24px;display:block;color:var(--accent)}
.rpf-stat span{font-size:12px;color:var(--text-secondary)}
.rpf-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.rpf-progress-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.rpf-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.rpf-progress span{font-size:13px;color:var(--text-secondary)}
.rpf-fix{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer}
.rpf-fix-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.rpf-fix input{margin-top:3px;accent-color:var(--accent)}
.rpf-fix strong{font-size:13px;display:block;margin-bottom:2px}
.rpf-fix p{font-size:12px;color:var(--text-secondary);margin:0}
.rpf-priority{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px}
.rpf-pri-high{background:rgba(76,175,80,.15);color:#4caf50}
.rpf-pri-med{background:rgba(255,152,0,.15);color:#ff9800}
.rpf-btns{margin-top:16px}
.rpf-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 93: Landing Page Scorecard (.lps-*) */
.lps-container{max-width:1000px}
.lps-header{margin-bottom:20px}
.lps-subtitle{color:var(--text-secondary);margin-top:4px}
.lps-pages{margin-bottom:16px}
.lps-pages h3{margin:0 0 12px}
.lps-page{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.lps-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.lps-page-header strong{font-size:14px}
.lps-page-grade{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;margin-left:8px}
.lps-grade-a{background:rgba(76,175,80,.15);color:#4caf50}
.lps-grade-b{background:rgba(33,150,243,.15);color:#2196f3}
.lps-grade-c{background:rgba(255,152,0,.15);color:#ff9800}
.lps-grade-d{background:rgba(244,67,54,.15);color:#f44336}
.lps-grade-f{background:rgba(244,67,54,.25);color:#f44336}
.lps-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.lps-criterion{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:12px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}
.lps-criterion:last-child{border-bottom:none}
.lps-criterion input{margin-top:2px;accent-color:var(--accent)}
.lps-add{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.lps-add h3{margin:0 0 12px}
.lps-form{display:flex;gap:8px}
.lps-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1}
.lps-add-action{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.lps-reference{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.lps-reference h3{margin:0 0 12px}
.lps-ref-item{padding:8px 0;border-bottom:1px solid var(--border)}
.lps-ref-item:last-child{border-bottom:none}
.lps-ref-item strong{font-size:13px}
.lps-ref-item p{font-size:12px;color:var(--text-secondary);margin:4px 0 0}
.lps-btns{margin-top:16px}
.lps-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 94: CPC Spike Investigator (.csi-*) */
.csi-container{max-width:1000px}
.csi-header{margin-bottom:20px}
.csi-subtitle{color:var(--text-secondary);margin-top:4px}
.csi-category{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.csi-category h3{margin:0 0 10px;color:var(--accent)}
.csi-cause{display:flex;align-items:center;justify-content:space-between;padding:8px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;margin-bottom:6px}
.csi-cause-text{font-size:13px;color:var(--text-secondary);flex:1;margin-right:12px}
.csi-cause-btns{display:flex;gap:4px}
.csi-cause-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:11px}
.csi-btn-clear{background:rgba(76,175,80,.15);color:#4caf50;border-color:rgba(76,175,80,.3)}
.csi-btn-issue{background:rgba(244,67,54,.15);color:#f44336;border-color:rgba(244,67,54,.3)}
.csi-prevention{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.csi-prevention h3{margin:0 0 12px}
.csi-prev-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}
.csi-prev-item:last-child{border-bottom:none}
.csi-prev-done{text-decoration:line-through;opacity:.6}
.csi-prev-item input{accent-color:var(--accent)}
.csi-log{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.csi-log h3{margin:0 0 12px}
.csi-log-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.csi-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;min-width:100px}
.csi-input-wide{flex:1;min-width:180px}
.csi-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.csi-table{width:100%;border-collapse:collapse;font-size:12px}
.csi-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.csi-table td{padding:6px;border-bottom:1px solid var(--border)}
.csi-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.csi-btns{margin-top:16px}
.csi-clear-all{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 94: Bid Management Guide (.bmg-*) */
.bmg-container{max-width:1000px}
.bmg-header{margin-bottom:20px}
.bmg-subtitle{color:var(--text-secondary);margin-top:4px}
.bmg-thresholds{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.bmg-thresholds h3{margin:0 0 12px}
.bmg-threshold-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bmg-threshold{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.bmg-th-metric{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.bmg-th-values{font-size:14px;margin-bottom:4px}
.bmg-th-note{font-size:11px;color:var(--text-secondary);font-style:italic}
.bmg-strategies{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.bmg-strategies h3{margin:0 0 12px}
.bmg-table{width:100%;border-collapse:collapse;font-size:12px}
.bmg-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.bmg-table td{padding:6px;border-bottom:1px solid var(--border)}
.bmg-diagnosis{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.bmg-diagnosis h3{margin:0 0 12px}
.bmg-diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bmg-diag-card{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:14px}
.bmg-diag-card h4{margin:0 0 8px}
.bmg-diag-card ul{margin:0 0 8px;padding-left:16px;font-size:12px}
.bmg-diag-card li{margin-bottom:3px;color:var(--text-secondary)}
.bmg-diag-card strong{font-size:12px;color:var(--text-secondary)}
.bmg-underbid{border-left:3px solid #ff9800}
.bmg-overbid{border-left:3px solid #f44336}
.bmg-assess{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.bmg-assess h3{margin:0 0 12px}
.bmg-check{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}
.bmg-check:last-of-type{border-bottom:none}
.bmg-check-done{text-decoration:line-through;opacity:.6}
.bmg-check input{accent-color:var(--accent)}
.bmg-btns{margin-top:16px}
.bmg-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 94: PPC Monitoring Planner (.pmp-*) */
.pmp-container{max-width:1000px}
.pmp-header{margin-bottom:20px}
.pmp-subtitle{color:var(--text-secondary);margin-top:4px}
.pmp-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.pmp-progress-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.pmp-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.pmp-progress span{font-size:13px;color:var(--text-secondary)}
.pmp-category{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.pmp-cat-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.pmp-category h3{margin:0 0 4px;display:flex;align-items:center;justify-content:space-between}
.pmp-cat-pct{font-size:12px;color:var(--text-secondary);font-weight:400}
.pmp-cat-desc{font-size:12px;color:var(--text-secondary);margin:0 0 10px}
.pmp-task{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}
.pmp-task:last-child{border-bottom:none}
.pmp-task-done{text-decoration:line-through;opacity:.6}
.pmp-task input{accent-color:var(--accent)}
.pmp-task span:first-of-type{flex:1}
.pmp-cadence{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;background:rgba(33,150,243,.1);color:var(--accent)}
.pmp-btns{margin-top:16px}
.pmp-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 94: Data Tracking Auditor (.dta-*) */
.dta-container{max-width:1000px}
.dta-header{margin-bottom:20px}
.dta-subtitle{color:var(--text-secondary);margin-top:4px}
.dta-score{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.dta-score-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.dta-score-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.dta-score span{font-size:13px;color:var(--text-secondary)}
.dta-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.dta-card-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.dta-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.dta-severity{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.dta-sev-high{background:rgba(255,152,0,.15);color:#ff9800}
.dta-sev-med{background:rgba(33,150,243,.15);color:#2196f3}
.dta-card-header strong{font-size:14px}
.dta-problem{font-size:13px;color:var(--text-secondary);margin-bottom:6px}
.dta-fix{font-size:13px;color:var(--text-secondary);margin-bottom:8px}
.dta-check{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--text-secondary);cursor:pointer}
.dta-check input{accent-color:var(--accent)}
.dta-btns{margin-top:16px}
.dta-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 95: Product Feed Optimizer (.pfo-*) */
.pfo-container{max-width:1000px}
.pfo-header{margin-bottom:20px}
.pfo-subtitle{color:var(--text-secondary);margin-top:4px}
.pfo-formula{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pfo-formula h3{margin:0 0 8px}
.pfo-formula-box{background:var(--bg-main);padding:12px;border-radius:6px;text-align:center;margin-bottom:8px}
.pfo-formula-box code{color:var(--accent);font-size:15px;font-weight:600}
.pfo-formula p{font-size:13px;color:var(--text-secondary);margin:0;text-align:center}
.pfo-formula em{color:var(--accent)}
.pfo-attributes{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pfo-attributes h3{margin:0 0 12px}
.pfo-attr{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:8px}
.pfo-attr-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.pfo-attr-header{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:6px}
.pfo-attr-header input{accent-color:var(--accent)}
.pfo-priority{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.pfo-pri-crit{background:rgba(244,67,54,.15);color:#f44336}
.pfo-pri-high{background:rgba(76,175,80,.15);color:#4caf50}
.pfo-pri-med{background:rgba(33,150,243,.15);color:#2196f3}
.pfo-attr-formula{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.pfo-attr-formula code{color:var(--accent)}
.pfo-attr p{font-size:12px;color:var(--text-secondary);margin:0}
.pfo-warnings{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.pfo-warnings h3{margin:0 0 8px}
.pfo-warnings ul{margin:0;padding-left:16px;font-size:13px}
.pfo-warnings li{margin-bottom:6px;color:var(--text-secondary)}
.pfo-btns{margin-top:16px}
.pfo-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 95: Shopping 12 Best Practices (.s12-*) */
.s12-container{max-width:1000px}
.s12-header{margin-bottom:20px}
.s12-subtitle{color:var(--text-secondary);margin-top:4px}
.s12-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.s12-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}
.s12-stat strong{font-size:24px;display:block;color:var(--accent)}
.s12-stat span{font-size:12px;color:var(--text-secondary)}
.s12-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.s12-progress-bar{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}
.s12-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.s12-progress span{font-size:13px;color:var(--text-secondary)}
.s12-practice{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer}
.s12-practice-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.s12-practice input{margin-top:3px;accent-color:var(--accent)}
.s12-practice strong{font-size:13px;display:block;margin-bottom:2px}
.s12-practice p{font-size:12px;color:var(--text-secondary);margin:0}
.s12-btns{margin-top:16px}
.s12-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 95: Product Segmentation Planner (.psg-*) */
.psg-container{max-width:1000px}
.psg-header{margin-bottom:20px}
.psg-subtitle{color:var(--text-secondary);margin-top:4px}
.psg-tiers{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.psg-tiers h3{margin:0 0 12px}
.psg-tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.psg-tier{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.psg-tier h4{margin:0 0 4px}
.psg-tier p{font-size:12px;color:var(--text-secondary);margin:0 0 6px}
.psg-budget{font-size:11px;font-weight:600;color:var(--accent)}
.psg-classifier{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.psg-classifier h3{margin:0 0 12px}
.psg-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.psg-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1;min-width:120px}
.psg-input-sm{max-width:90px;flex:0}
.psg-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:120px}
.psg-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.psg-table{width:100%;border-collapse:collapse;font-size:12px}
.psg-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.psg-table td{padding:6px;border-bottom:1px solid var(--border)}
.psg-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.psg-labels{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.psg-labels h3{margin:0 0 8px}
.psg-labels-note{font-size:12px;color:var(--text-secondary);margin:0 0 8px}
.psg-labels ul{margin:0;padding-left:16px;font-size:12px}
.psg-labels li{margin-bottom:4px;color:var(--text-secondary)}
.psg-btns{margin-top:16px}
.psg-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 95: Feed Audit Checklist (.fac-*) */
.fac-container{max-width:1000px}
.fac-header{margin-bottom:20px}
.fac-subtitle{color:var(--text-secondary);margin-top:4px}
.fac-score{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}
.fac-grade{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}
.fac-grade-a{background:rgba(76,175,80,.15);color:#4caf50}
.fac-grade-b{background:rgba(33,150,243,.15);color:#2196f3}
.fac-grade-c{background:rgba(255,152,0,.15);color:#ff9800}
.fac-grade-d{background:rgba(244,67,54,.15);color:#f44336}
.fac-grade-f{background:rgba(244,67,54,.25);color:#f44336}
.fac-score>div{flex:1}
.fac-score-bar{height:8px;background:var(--bg-main);border-radius:4px;overflow:hidden;margin-bottom:4px}
.fac-score-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.fac-score span{font-size:12px;color:var(--text-secondary)}
.fac-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}
.fac-section-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.fac-section h3{margin:0 0 10px;display:flex;align-items:center;justify-content:space-between}
.fac-sec-pct{font-size:12px;color:var(--text-secondary);font-weight:400}
.fac-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.fac-item input{accent-color:var(--accent)}
.fac-btns{margin-top:16px}
.fac-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 96: B2B Lead Gen Playbook (.blg-*) */
.blg-container{max-width:1000px}
.blg-header{margin-bottom:20px}
.blg-subtitle{color:var(--text-secondary);margin-top:4px}
.blg-differences{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.blg-differences h3{margin:0 0 12px}
.blg-diff-grid{display:grid;gap:8px}
.blg-diff{display:flex;align-items:center;gap:12px;padding:8px;background:var(--bg-main);border-radius:6px}
.blg-diff strong{min-width:130px;font-size:13px}
.blg-diff-vals{display:flex;gap:12px;flex:1}
.blg-b2b{font-size:12px;color:#2196f3;background:rgba(33,150,243,.08);padding:4px 8px;border-radius:4px;flex:1}
.blg-b2c{font-size:12px;color:#ff9800;background:rgba(255,152,0,.08);padding:4px 8px;border-radius:4px;flex:1}
.blg-funnel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.blg-funnel h3{margin:0 0 12px}
.blg-table{width:100%;border-collapse:collapse;font-size:12px}
.blg-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.blg-table td{padding:6px;border-bottom:1px solid var(--border)}
.blg-checklist{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.blg-checklist h3{margin:0 0 12px}
.blg-check{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border)}
.blg-check:last-child{border-bottom:none}
.blg-check-done{text-decoration:line-through;opacity:.6}
.blg-check input{accent-color:var(--accent)}
.blg-btns{margin-top:16px}
.blg-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 96: Quality Score Improver (.qsi-*) */
.qsi-container{max-width:1000px}
.qsi-header{margin-bottom:20px}
.qsi-subtitle{color:var(--text-secondary);margin-top:4px}
.qsi-components{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.qsi-components h3{margin:0 0 12px}
.qsi-comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.qsi-comp{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:12px}
.qsi-comp h4{margin:0 0 6px;color:var(--accent)}
.qsi-comp p{font-size:12px;color:var(--text-secondary);margin:0 0 8px}
.qsi-comp-improve{font-size:12px;color:var(--text-secondary);padding:6px;background:rgba(33,150,243,.05);border-radius:4px}
.qsi-strategies{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.qsi-strategies h3{margin:0 0 12px}
.qsi-progress{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.qsi-progress-bar{flex:1;height:6px;background:var(--bg-main);border-radius:3px;overflow:hidden}
.qsi-progress-fill{height:100%;background:var(--accent);border-radius:3px}
.qsi-progress span{font-size:12px;color:var(--text-secondary)}
.qsi-strategy{display:flex;align-items:flex-start;gap:10px;padding:10px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;margin-bottom:8px;cursor:pointer}
.qsi-strategy-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.qsi-strategy input{margin-top:3px;accent-color:var(--accent)}
.qsi-strategy strong{font-size:13px;display:block;margin-bottom:2px}
.qsi-strategy p{font-size:12px;color:var(--text-secondary);margin:0}
.qsi-priority{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px}
.qsi-pri-high{background:rgba(76,175,80,.15);color:#4caf50}
.qsi-pri-med{background:rgba(255,152,0,.15);color:#ff9800}
.qsi-tracker{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}
.qsi-tracker h3{margin:0 0 12px}
.qsi-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.qsi-input{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:13px;flex:1;min-width:100px}
.qsi-input-sm{max-width:80px;flex:0}
.qsi-select{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12px;min-width:100px}
.qsi-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:600;font-size:13px}
.qsi-table{width:100%;border-collapse:collapse;font-size:12px}
.qsi-table th{text-align:left;padding:6px;border-bottom:2px solid var(--border);font-size:11px;color:var(--text-secondary)}
.qsi-table td{padding:6px;border-bottom:1px solid var(--border)}
.qsi-qs-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}
.qsi-qs-good{background:rgba(76,175,80,.15);color:#4caf50}
.qsi-qs-avg{background:rgba(255,152,0,.15);color:#ff9800}
.qsi-qs-bad{background:rgba(244,67,54,.15);color:#f44336}
.qsi-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.qsi-btns{margin-top:16px}
.qsi-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 96: Account Health Score (.ahs-*) */
.ahs-container{max-width:1000px}
.ahs-header{margin-bottom:20px}
.ahs-subtitle{color:var(--text-secondary);margin-top:4px}
.ahs-overall{display:flex;align-items:center;gap:20px;margin-bottom:20px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}
.ahs-grade{text-align:center;min-width:70px}
.ahs-grade-letter{font-size:40px;font-weight:700;display:block;line-height:1}
.ahs-grade-pct{font-size:14px;display:block;margin-top:4px}
.ahs-grade-a .ahs-grade-letter,.ahs-grade-a .ahs-grade-pct{color:#4caf50}
.ahs-grade-b .ahs-grade-letter,.ahs-grade-b .ahs-grade-pct{color:#2196f3}
.ahs-grade-c .ahs-grade-letter,.ahs-grade-c .ahs-grade-pct{color:#ff9800}
.ahs-grade-d .ahs-grade-letter,.ahs-grade-d .ahs-grade-pct{color:#f44336}
.ahs-grade-f .ahs-grade-letter,.ahs-grade-f .ahs-grade-pct{color:#f44336}
.ahs-overall-bar{flex:1;height:10px;background:var(--bg-main);border-radius:5px;overflow:hidden}
.ahs-overall-fill{height:100%;background:var(--accent);border-radius:5px;transition:width .3s}
.ahs-area{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:10px}
.ahs-area-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.ahs-area-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ahs-area-header strong{font-size:14px}
.ahs-area-weight{font-size:11px;color:var(--text-secondary)}
.ahs-area-pct{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}
.ahs-pct-good{background:rgba(76,175,80,.15);color:#4caf50}
.ahs-pct-avg{background:rgba(255,152,0,.15);color:#ff9800}
.ahs-pct-bad{background:rgba(244,67,54,.15);color:#f44336}
.ahs-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.ahs-check input{accent-color:var(--accent)}
.ahs-btns{margin-top:16px}
.ahs-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Round 97: Competitive Analyzer (.ca-), PPC Report Builder (.prb-), Seasonal Planner (.sp-), Challenges Fixer (.cf-) */
.ca-container,.prb-container,.sp-container,.cf-container{padding:20px}
.ca-section,.prb-section,.sp-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.ca-insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.ca-insight-card{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);text-align:center}
.ca-status-good{border-color:rgba(76,175,80,.4);background:rgba(76,175,80,.05)}
.ca-status-avg{border-color:rgba(255,152,0,.4);background:rgba(255,152,0,.05)}
.ca-status-bad{border-color:rgba(244,67,54,.4);background:rgba(244,67,54,.05)}
.ca-insight-label{font-size:12px;font-weight:600;margin-bottom:6px}
.ca-insight-input{width:70px;padding:6px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);text-align:center;font-size:14px;font-weight:600}
.ca-ranges{display:flex;gap:4px;justify-content:center;margin-top:6px;font-size:10px}
.ca-good{color:#4caf50}.ca-warn{color:#ff9800}.ca-bad{color:#f44336}
.ca-add-row{display:flex;gap:8px;margin-bottom:12px}
.ca-input{flex:1;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px}
.ca-add-btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}
.ca-comp-list{display:flex;flex-direction:column;gap:6px}
.ca-comp-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.ca-comp-name{flex:1;font-size:13px;font-weight:500}
.ca-comp-metric{width:70px;padding:4px 6px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:12px;text-align:center}
.ca-rm-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.ca-empty{font-size:12px;color:var(--text-secondary);font-style:italic;padding:8px 0}
.ca-findings{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.ca-finding{padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary)}
.ca-impact-positive{border-left:3px solid #4caf50}.ca-impact-negative{border-left:3px solid #f44336}.ca-impact-neutral{border-left:3px solid #ff9800}
.ca-finding-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.ca-impact-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}
.ca-impact-badge.ca-impact-positive{background:rgba(76,175,80,.15);color:#4caf50}
.ca-impact-badge.ca-impact-negative{background:rgba(244,67,54,.15);color:#f44336}
.ca-impact-badge.ca-impact-neutral{background:rgba(255,152,0,.15);color:#ff9800}
.ca-finding-stats{font-size:12px;color:var(--accent);margin-bottom:4px;font-weight:500}
.ca-finding-lesson{font-size:12px;color:var(--text-secondary)}
.ca-bench-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.ca-bench-card{padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.ca-bench-card label{font-size:12px;font-weight:600;display:block;margin-bottom:4px}
.ca-bench-input{width:100%;padding:6px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;box-sizing:border-box}
.ca-bench-desc{font-size:11px;color:var(--text-secondary);margin-top:4px}
.ca-btns,.prb-btns,.sp-btns,.cf-btns{margin-top:16px;display:flex;gap:8px}
.ca-save-btn,.prb-save-btn,.sp-save-btn,.cf-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.ca-clear,.prb-clear,.sp-clear,.cf-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* PPC Report Builder */
.prb-goals{display:flex;flex-direction:column;gap:6px}
.prb-goal{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:6px;background:var(--bg-primary);border:1px solid var(--border);cursor:pointer}
.prb-goal.prb-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.prb-priority{font-size:10px;padding:1px 6px;border-radius:3px;font-weight:600;margin-left:6px}
.prb-p-essential{background:rgba(244,67,54,.15);color:#f44336}
.prb-p-important{background:rgba(255,152,0,.15);color:#ff9800}
.prb-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}
.prb-tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.prb-tip{padding:12px;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border)}
.prb-tip.prb-tip-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.prb-tip-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.prb-tip-icon{font-size:16px}
.prb-tip-desc{font-size:12px;color:var(--text-secondary)}
.prb-mistake{padding:12px;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border);margin-bottom:8px}
.prb-mistake.prb-mistake-clear{opacity:.6;border-color:rgba(76,175,80,.3)}
.prb-mistake-head{display:flex;align-items:center;justify-content:space-between}
.prb-mistake-head label{display:flex;align-items:center;gap:6px;cursor:pointer}
.prb-sev{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}
.prb-sev-high{background:rgba(244,67,54,.15);color:#f44336}
.prb-sev-medium{background:rgba(255,152,0,.15);color:#ff9800}
.prb-sev-low{background:rgba(33,150,243,.15);color:#2196f3}
.prb-mistake-desc{font-size:12px;color:var(--text-secondary);margin:4px 0}
.prb-fix{font-size:12px;color:#4caf50}
.prb-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.prb-kpi-cat{padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.prb-kpi-cat-label{font-size:11px;font-weight:600;color:var(--accent);margin-bottom:6px;text-transform:uppercase}
.prb-kpi{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.prb-kpi.prb-kpi-sel{color:var(--text-primary);font-weight:500}

/* Seasonal Planner */
.sp-table-wrap{overflow-x:auto;margin-bottom:12px}
.sp-table{width:100%;border-collapse:collapse;font-size:12px}
.sp-table th{background:var(--bg-primary);padding:8px;text-align:center;border:1px solid var(--border);font-size:11px}
.sp-table td{padding:8px;text-align:center;border:1px solid var(--border)}
.sp-good{color:#4caf50;font-weight:600}.sp-warn{color:#ff9800}.sp-bad{color:#f44336;font-weight:600}
.sp-verdict{padding:12px;background:rgba(33,150,243,.08);border-radius:8px;border:1px solid rgba(33,150,243,.2);font-size:13px;margin-top:8px}
.sp-seasons{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.sp-season{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.sp-season-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.sp-months{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:500}
.sp-season-notes{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.sp-plan-input{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-family:inherit;resize:vertical;min-height:50px;box-sizing:border-box}
.sp-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.sp-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.sp-progress-label{font-size:11px;color:var(--text-secondary);margin-bottom:12px}
.sp-action{display:flex;align-items:flex-start;gap:10px;padding:8px;border-radius:6px;background:var(--bg-primary);border:1px solid var(--border);margin-bottom:4px;cursor:pointer}
.sp-action.sp-action-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03);opacity:.7}
.sp-action-desc{font-size:12px;color:var(--text-secondary)}

/* 5 Challenges Fixer */
.cf-summary{margin-bottom:16px}
.cf-summary-bar{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}
.cf-summary-fill{height:100%;background:linear-gradient(90deg,var(--accent),#4caf50);border-radius:4px;transition:width .3s}
.cf-summary-label{font-size:12px;color:var(--text-secondary);margin-top:4px}
.cf-challenge{margin-bottom:16px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.cf-challenge.cf-resolved{border-color:rgba(76,175,80,.4);background:rgba(76,175,80,.03)}
.cf-challenge.cf-progress{border-color:rgba(255,152,0,.3)}
.cf-challenge-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.cf-icon{font-size:20px}
.cf-challenge-title{display:flex;align-items:center;gap:8px;flex:1}
.cf-ch-pct{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600}
.cf-problem{font-size:13px;color:var(--text-secondary);margin-bottom:10px;padding:8px;background:rgba(244,67,54,.05);border-radius:6px;border-left:3px solid rgba(244,67,54,.3)}
.cf-causes{font-size:12px;margin-bottom:10px}
.cf-causes ul{margin:4px 0 0 16px;padding:0}
.cf-causes li{color:var(--text-secondary);margin-bottom:2px}
.cf-fixes{font-size:12px}
.cf-fix{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;color:var(--text-secondary)}
.cf-fix.cf-fix-done{color:var(--text-primary);text-decoration:line-through;opacity:.6}
.cf-fix input{accent-color:var(--accent)}

/* Round 98: Competitor Audience (.cab-), Rule Engine Guide (.reg-), Glitch Protector (.gp-), Automation Layering (.al-) */
.cab-container,.reg-container,.gp-container,.al-container{padding:20px}
.cab-section,.gp-section,.al-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.cab-strats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cab-strat{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.cab-strat.cab-strat-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.cab-strat-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.cab-strat-desc{font-size:12px;color:var(--text-secondary)}
.cab-add-row{display:flex;gap:8px;margin-bottom:10px}
.cab-input{flex:1;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px}
.cab-add-btn,.gp-add-btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}
.cab-list{display:flex;flex-direction:column;gap:4px}
.cab-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.cab-url{flex:1;font-size:13px;font-weight:500;color:var(--accent)}
.cab-note{font-size:12px;color:var(--text-secondary)}
.cab-rm,.gp-rm{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px}
.cab-empty,.gp-empty{font-size:12px;color:var(--text-secondary);font-style:italic}
.cab-segments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cab-seg{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.cab-seg-name{font-size:13px;font-weight:500}
.cab-seg-type{font-size:10px;padding:2px 6px;border-radius:3px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600}
.cab-progress,.gp-progress,.reg-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.cab-progress-bar,.gp-bar,.reg-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.cab-progress-label,.gp-progress-label,.reg-label{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.cab-step,.gp-check{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.cab-step.cab-step-done,.gp-check.gp-check-done{color:var(--text-primary);opacity:.6}
.cab-btns,.gp-btns,.reg-btns,.al-btns{margin-top:16px;display:flex;gap:8px}
.cab-save-btn,.gp-save-btn,.reg-save-btn,.al-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.cab-clear,.gp-clear,.reg-clear,.al-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Rule Engine Guide */
.reg-rule{padding:14px;margin-bottom:10px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.reg-rule.reg-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03);opacity:.8}
.reg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.reg-head label{display:flex;align-items:center;gap:6px;cursor:pointer}
.reg-scope{font-size:10px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:500}
.reg-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.reg-logic{padding:8px 12px;background:var(--bg-primary);border-radius:6px;margin-bottom:6px;font-size:12px}
.reg-logic code{color:var(--accent);font-family:'Courier New',monospace}
.reg-benefit{font-size:12px;color:#4caf50}

/* Glitch Protector */
.gp-glitches{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.gp-glitch{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.gp-glitch.gp-sev-critical{border-left:3px solid #f44336}.gp-glitch.gp-sev-high{border-left:3px solid #ff9800}.gp-glitch.gp-sev-medium{border-left:3px solid #ffeb3b}
.gp-glitch-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.gp-sev-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}
.gp-sev-badge.gp-sev-critical{background:rgba(244,67,54,.15);color:#f44336}
.gp-sev-badge.gp-sev-high{background:rgba(255,152,0,.15);color:#ff9800}
.gp-sev-badge.gp-sev-medium{background:rgba(255,235,59,.15);color:#f9a825}
.gp-glitch-desc{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.gp-freq{font-size:11px;color:var(--text-secondary);font-style:italic}
.gp-cat{margin-bottom:8px}
.gp-cat-label{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;margin-bottom:4px}
.gp-add-row{display:flex;gap:8px;margin-bottom:10px}
.gp-input{flex:1;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px}
.gp-incident{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);margin-bottom:4px}
.gp-inc-date{font-size:11px;color:var(--text-secondary);white-space:nowrap}
.gp-inc-type{font-size:10px;padding:2px 6px;border-radius:3px;background:rgba(255,152,0,.1);color:#ff9800;font-weight:500}
.gp-inc-desc{flex:1;font-size:13px}

/* Automation Layering */
.al-framework{display:flex;flex-direction:column;gap:8px}
.al-level{padding:12px;background:var(--bg-primary);border-radius:8px}
.al-level-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.al-level-desc{font-size:12px;color:var(--text-secondary)}
.al-examples{display:flex;flex-wrap:wrap;gap:4px}
.al-example{font-size:11px;padding:3px 8px;border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary)}
.al-pct{font-size:12px;color:var(--accent);font-weight:normal}
.al-tools{font-size:11px;color:var(--accent);margin-bottom:8px}
.al-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.al-item.al-item-done{color:var(--text-primary);opacity:.6}
.al-item input{accent-color:var(--accent)}
.al-focus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.al-focus{padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.al-focus.al-focus-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.al-focus-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}

/* Round 99: Value-Based Bidding (.vbb-), Account Audit (.aat-), Why Ads Fail (.waf-), Smart Bidding (.sbs-) */
.vbb-container,.aat-container,.waf-container,.sbs-container{padding:20px}
.vbb-section,.waf-section,.sbs-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.vbb-prereq{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:6px;background:var(--bg-primary);border:1px solid var(--border);margin-bottom:4px}
.vbb-prereq.vbb-prereq-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.vbb-prereq label{display:flex;align-items:center;gap:6px;cursor:pointer}
.vbb-st-critical{border-left:3px solid #f44336}.vbb-st-important{border-left:3px solid #ff9800}
.vbb-threshold{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:500}
.vbb-rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.vbb-rule-card{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.vbb-rule-desc{font-size:12px;color:var(--text-secondary);margin:4px 0}
.vbb-rule-example{font-size:11px;color:var(--accent);font-style:italic}
.vbb-check{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.vbb-check.vbb-check-done{color:var(--text-primary);opacity:.6}
.vbb-pitfall{padding:10px;margin-bottom:6px;border-radius:6px;background:var(--bg-primary);border:1px solid var(--border)}
.vbb-pf-critical{border-left:3px solid #f44336}.vbb-pf-high{border-left:3px solid #ff9800}.vbb-pf-medium{border-left:3px solid #ffeb3b}
.vbb-pf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.vbb-pf-sev{font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(244,67,54,.15);color:#f44336;font-weight:600}
.vbb-pf-desc{font-size:12px;color:var(--text-secondary)}
.vbb-calc{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.vbb-calc-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.vbb-calc-row label{font-size:13px;min-width:160px}
.vbb-calc-row input{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;width:120px}
.vbb-calc-result{display:none;padding:10px;background:rgba(76,175,80,.08);border-radius:6px;margin:8px 0;font-size:14px}
.vbb-calc-btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}
.vbb-btns,.aat-btns,.waf-btns,.sbs-btns{margin-top:16px;display:flex;gap:8px}
.vbb-save-btn,.aat-save-btn,.waf-save-btn,.sbs-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.vbb-clear,.aat-clear,.waf-clear-btn,.sbs-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Account Audit */
.aat-overview{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.aat-grade{font-size:36px;font-weight:700;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px}
.aat-grade-a{background:rgba(76,175,80,.15);color:#4caf50}
.aat-grade-b{background:rgba(139,195,74,.15);color:#8bc34a}
.aat-grade-c{background:rgba(255,152,0,.15);color:#ff9800}
.aat-grade-d{background:rgba(255,87,34,.15);color:#ff5722}
.aat-grade-f{background:rgba(244,67,54,.15);color:#f44336}
.aat-progress{flex:1;height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden}
.aat-bar{height:100%;background:linear-gradient(90deg,var(--accent),#4caf50);border-radius:4px;transition:width .3s}
.aat-pct{font-size:13px;color:var(--text-secondary);white-space:nowrap}
.aat-section{margin-bottom:12px;padding:14px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.aat-section.aat-complete{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02)}
.aat-section-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.aat-spct{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600}
.aat-item{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.aat-item.aat-item-done{color:var(--text-primary);opacity:.6}
.aat-item input{accent-color:var(--accent)}

/* Why Ads Fail */
.waf-quick{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.waf-quick.waf-quick-done{opacity:.6}
.waf-issue{padding:12px;margin-bottom:8px;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border)}
.waf-issue.waf-issue-clear{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03);opacity:.7}
.waf-issue.waf-issue-problem{border-color:rgba(244,67,54,.3);background:rgba(244,67,54,.03)}
.waf-issue-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.waf-status-btns{display:flex;gap:4px}
.waf-btn{padding:3px 10px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer}
.waf-btn-clear.waf-active{background:rgba(76,175,80,.15);color:#4caf50;border-color:#4caf50}
.waf-btn-problem.waf-active{background:rgba(244,67,54,.15);color:#f44336;border-color:#f44336}
.waf-diagnostic{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.waf-fix{font-size:12px;color:#4caf50}

/* Smart Bidding Selector */
.sbs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.sbs-strategy{padding:16px;background:var(--bg-primary);border-radius:10px;border:1px solid var(--border);transition:border-color .2s}
.sbs-strategy.sbs-selected{border-color:var(--accent);background:rgba(33,150,243,.03)}
.sbs-strat-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.sbs-icon{font-size:20px}
.sbs-best-for{font-size:12px;color:var(--accent);margin-bottom:8px;font-weight:500}
.sbs-meta{display:flex;gap:12px;font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.sbs-pros ul,.sbs-cons ul,.sbs-prereqs ul{margin:4px 0 8px 16px;padding:0;font-size:12px}
.sbs-pro{color:#4caf50}.sbs-con{color:#f44336}
.sbs-prereqs li{color:var(--text-secondary)}
.sbs-select-btn{width:100%;padding:8px;border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:12px;cursor:pointer;margin-top:4px}
.sbs-strategy.sbs-selected .sbs-select-btn{background:var(--accent);color:#fff}
.sbs-bp{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.sbs-bp.sbs-bp-done{opacity:.6}

/* Round 100: Enhanced Conversions (.ecg-), Broad vs Exact (.bve-), Underrated Opts (.uro-), Keyword Diagnostic (.kwd-) */
.ecg-container,.bve-container,.uro-container,.kwd-container{padding:20px}
.ecg-section,.bve-section,.kwd-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.ecg-benefits{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.ecg-benefit{display:flex;gap:10px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.ecg-b-icon{font-size:20px;flex-shrink:0}
.ecg-b-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}
.ecg-progress,.kwd-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.ecg-bar,.kwd-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.ecg-plabel,.kwd-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.ecg-cat,.kwd-layer{margin-bottom:8px}
.ecg-cat-label{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;margin-bottom:4px}
.ecg-check,.kwd-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.ecg-check.ecg-check-done,.kwd-check.kwd-check-done{opacity:.6}
.ecg-flow{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.ecg-flow-step{padding:8px 14px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);font-size:12px;font-weight:500}
.ecg-arrow{color:var(--accent);font-size:16px;font-weight:700}
.ecg-btns,.bve-btns,.uro-btns,.kwd-btns{margin-top:16px;display:flex;gap:8px}
.ecg-save-btn,.bve-save-btn,.uro-save-btn,.kwd-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.ecg-clear,.bve-clear,.uro-clear,.kwd-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Broad vs Exact */
.bve-method{display:flex;flex-wrap:wrap;gap:8px}
.bve-method span{padding:6px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:12px}
.bve-table-wrap{overflow-x:auto}
.bve-table{width:100%;border-collapse:collapse;font-size:12px}
.bve-table th{background:var(--bg-primary);padding:8px;text-align:center;border:1px solid var(--border);font-size:11px}
.bve-table td{padding:8px;text-align:center;border:1px solid var(--border)}
.bve-win{color:#4caf50;font-weight:600}
.bve-winner{font-weight:600}
.bve-takeaway{padding:6px 0;font-size:13px;color:var(--text-secondary)}
.bve-assess{display:flex;flex-direction:column;gap:10px}
.bve-select{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px}
.bve-notes{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}

/* Underrated Optimisations */
.uro-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.uro-bar-wrap{flex:1;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}
.uro-bar{height:100%;background:linear-gradient(90deg,var(--accent),#4caf50);border-radius:4px;transition:width .3s}
.uro-opt{margin-bottom:16px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.uro-opt.uro-complete{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02)}
.uro-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.uro-icon{font-size:20px}
.uro-title{display:flex;align-items:center;gap:8px;flex:1}
.uro-pct{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600}
.uro-desc{font-size:12px;color:var(--text-secondary);margin-bottom:10px;padding:8px;background:var(--bg-primary);border-radius:6px}
.uro-step{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.uro-step.uro-step-done{opacity:.6}
.uro-step input{accent-color:var(--accent)}
.uro-impact{font-size:12px;color:#4caf50;margin-top:8px;font-style:italic}

/* Keyword Diagnostic */
.kwd-thresholds{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.kwd-threshold{display:flex;gap:8px;padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.kwd-threshold span{font-size:18px;flex-shrink:0}
.kwd-rule{font-size:12px;color:var(--text-secondary);margin-top:2px}
.kwd-layer{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);margin-bottom:6px}
.kwd-layer.kwd-layer-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.03)}
.kwd-layer-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.kwd-lpct{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600}
.kwd-fix{display:flex;align-items:center;justify-content:space-between;padding:8px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);margin-bottom:4px}
.kwd-fix.kwd-fix-done{border-color:rgba(76,175,80,.3);opacity:.7}
.kwd-fix label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.kwd-fix-target{font-size:10px;padding:2px 8px;border-radius:4px;background:rgba(255,152,0,.1);color:#ff9800;font-weight:500}

/* Round 101: Agency Workflows (.awf-), DemandGen vs Display (.dgd-), Google Reps (.grg-), PMax Cannibalization (.pmc-) */
.awf-container,.dgd-container,.grg-container,.pmc-container{padding:20px}
.awf-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.awf-bar-wrap{flex:1;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}
.awf-bar{height:100%;background:linear-gradient(90deg,var(--accent),#4caf50);border-radius:4px;transition:width .3s}
.awf-workflow{margin-bottom:16px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.awf-workflow.awf-complete{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02)}
.awf-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.awf-icon{font-size:20px}
.awf-title{display:flex;align-items:center;gap:8px;flex:1}
.awf-pct{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600}
.awf-desc{font-size:12px;color:var(--text-secondary);margin-bottom:10px;padding:8px;background:var(--bg-primary);border-radius:6px}
.awf-step{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.awf-step.awf-step-done{opacity:.6}
.awf-step input{accent-color:var(--accent)}
.awf-result{font-size:12px;color:#4caf50;margin-top:8px;font-style:italic}
.awf-btns,.dgd-btns,.grg-btns,.pmc-btns{margin-top:16px;display:flex;gap:8px}
.awf-save-btn,.dgd-save-btn,.grg-save-btn,.pmc-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.awf-clear,.dgd-clear,.grg-clear,.pmc-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Demand Gen vs Display */
.dgd-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.dgd-table-wrap{overflow-x:auto}
.dgd-table{width:100%;border-collapse:collapse;font-size:12px}
.dgd-table th{background:var(--bg-primary);padding:8px;text-align:center;border:1px solid var(--border);font-size:11px}
.dgd-table td{padding:8px;border:1px solid var(--border);font-size:12px}
.dgd-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dgd-col{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.dgd-col h5{margin:0 0 8px;font-size:13px}
.dgd-use{font-size:12px;color:var(--text-secondary);padding:3px 0}
.dgd-choices{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.dgd-choice{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer}
.dgd-choice.dgd-choice-active{background:var(--accent);color:#fff;border-color:var(--accent)}
.dgd-notes{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}

/* Google Reps Guide */
.grg-section{margin-bottom:20px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.grg-listen{border-left:3px solid #4caf50}
.grg-pushback{border-left:3px solid #f44336}
.grg-item{padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);margin-bottom:6px}
.grg-item.grg-item-done{opacity:.6}
.grg-item label{display:flex;align-items:center;gap:6px;cursor:pointer}
.grg-item-head{display:flex;align-items:center;justify-content:space-between}
.grg-tip{font-size:11px;color:var(--text-secondary);margin-top:4px;font-style:italic;margin-left:22px}
.grg-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}
.grg-badge-critical{background:rgba(244,67,54,.15);color:#f44336}
.grg-badge-high{background:rgba(255,152,0,.15);color:#ff9800}
.grg-badge-medium{background:rgba(33,150,243,.15);color:#2196f3}
.grg-mgmt{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.grg-mgmt.grg-mgmt-done{opacity:.6}

/* PMax Cannibalization */
.pmc-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.pmc-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.pmc-stat{padding:16px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);text-align:center}
.pmc-stat-num{font-size:24px;font-weight:700;color:var(--accent)}
.pmc-stat-label{font-size:11px;color:var(--text-secondary);margin-top:4px}
.pmc-results{display:flex;flex-direction:column;gap:8px}
.pmc-result{display:flex;align-items:center;gap:8px}
.pmc-result-bar{height:20px;border-radius:4px;min-width:2px;transition:width .5s}
.pmc-result-label{font-size:12px;color:var(--text-secondary);min-width:200px}
.pmc-result-pct{font-size:13px;font-weight:600}
.pmc-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.pmc-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.pmc-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.pmc-protect{display:flex;align-items:center;justify-content:space-between;padding:8px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);margin-bottom:4px}
.pmc-protect.pmc-protect-done{border-color:rgba(76,175,80,.3);opacity:.7}
.pmc-protect label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.pmc-pri{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}
.pmc-pri-critical{background:rgba(244,67,54,.15);color:#f44336}
.pmc-pri-high{background:rgba(255,152,0,.15);color:#ff9800}
.pmc-pri-medium{background:rgba(33,150,243,.15);color:#2196f3}
.pmc-select{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px}

/* Round 102: RSA Mastery (.rsm-), Lead Tracking (.ltr-), Conv Value Adj (.cva-), One RSA (.ors-) */
.rsm-container,.ltr-container,.cva-container,.ors-container{padding:20px}
.rsm-section,.ltr-section,.cva-section,.ors-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.rsm-specs{display:flex;flex-wrap:wrap;gap:10px}
.rsm-spec{padding:10px 16px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);display:flex;flex-direction:column;gap:2px}
.rsm-chars{font-size:11px;color:var(--accent)}
.rsm-tip,.rsm-opt,.ltr-check,.cva-step,.ors-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.rsm-tip.rsm-tip-done,.rsm-opt.rsm-opt-done,.ltr-check.ltr-check-done,.cva-step.cva-step-done,.ors-check.ors-check-done{opacity:.6}
.rsm-pin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.rsm-pin-card{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.rsm-pin-best{font-size:12px;color:#4caf50;margin-top:4px}
.rsm-pin-risk{font-size:12px;color:#ff9800;margin-top:2px}
.rsm-pin-perf{font-size:12px;color:var(--accent);margin-top:2px}
.rsm-progress,.ltr-progress,.cva-progress,.ors-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.rsm-bar,.ltr-bar,.cva-bar,.ors-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.rsm-plabel,.ltr-plabel,.cva-plabel,.ors-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.rsm-btns,.ltr-btns,.cva-btns,.ors-btns{margin-top:16px;display:flex;gap:8px}
.rsm-save-btn,.ltr-save-btn,.cva-save-btn,.ors-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.rsm-clear,.ltr-clear,.cva-clear,.ors-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Lead Tracking ROI */
.ltr-flow{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}
.ltr-step{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);min-width:140px;text-align:center}
.ltr-icon{font-size:20px}
.ltr-step-num{font-size:10px;color:var(--accent);text-transform:uppercase;font-weight:600;margin:4px 0}
.ltr-step-desc{font-size:11px;color:var(--text-secondary);margin-top:4px}
.ltr-arrow{font-size:18px;color:var(--accent);font-weight:700;padding-top:20px}
.ltr-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:10px}
.ltr-metric{padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.ltr-metric label{font-size:12px;font-weight:600;display:block;margin-bottom:4px}
.ltr-input{width:100%;padding:6px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;box-sizing:border-box}
.ltr-calcs{display:none;padding:12px;background:rgba(76,175,80,.08);border-radius:8px;margin-bottom:10px}
.ltr-calc-row{font-size:13px;padding:3px 0}
.ltr-calc-btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}

/* Conv Value Adjustments */
.cva-warning{padding:12px;background:rgba(244,67,54,.08);border-radius:8px;border:1px solid rgba(244,67,54,.2);font-size:13px;margin-bottom:16px}
.cva-scenarios{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.cva-scenario{display:flex;gap:10px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.cva-s-icon{font-size:20px;flex-shrink:0}
.cva-s-desc{font-size:12px;color:var(--text-secondary);margin:4px 0}
.cva-type-badge{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600}
.cva-type-badge.cva-type-restate{background:rgba(76,175,80,.15);color:#4caf50}
.cva-type-badge.cva-type-retract{background:rgba(244,67,54,.15);color:#f44336}
.cva-fields{display:flex;flex-direction:column;gap:6px}
.cva-field{display:flex;justify-content:space-between;padding:8px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:13px}
.cva-field span{color:var(--text-secondary);font-size:12px}

/* One RSA Strategy */
.ors-reasons{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ors-reason{display:flex;gap:10px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.ors-r-icon{font-size:20px;flex-shrink:0}
.ors-r-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}
.ors-structure{display:flex;flex-direction:column;gap:6px}
.ors-struct-item{padding:8px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:13px}

/* Round 103: Account Structure (.asb2-), QS 2025 (.qs25-), Campaign Setup (.csw-), Change Monitor (.chm-) */
.asb2-container,.qs25-container,.csw-container,.chm-container{padding:20px}
.asb2-section,.qs25-section,.csw-section,.chm-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.asb2-section.asb2-complete{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02)}

/* Account Structure Builder */
.asb2-naming{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.asb2-name-row{display:flex;align-items:center;gap:8px;font-size:13px}
.asb2-name-input{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px}
.asb2-preview{padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-family:monospace;font-size:14px;color:var(--accent);min-height:20px;margin-bottom:8px}
.asb2-preview-btn{background:var(--accent);color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}
.asb2-pct{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600;margin-left:8px}
.asb2-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.asb2-check.asb2-check-done{opacity:.6}
.asb2-check input{accent-color:var(--accent)}
.asb2-btns,.qs25-btns,.csw-btns,.chm-btns{margin-top:16px;display:flex;gap:8px}
.asb2-save-btn,.qs25-save-btn,.csw-save-btn,.chm-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.asb2-clear,.qs25-clear,.csw-clear,.chm-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Quality Score 2025 */
.qs25-comp{padding:14px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);margin-bottom:8px}
.qs25-comp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.qs25-score{padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:12px}
.qs25-desc{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.qs25-weight{font-size:11px;color:var(--accent);font-weight:600}
.qs25-actions{margin-top:6px;font-size:12px;color:var(--text-secondary)}
.qs25-actions ul{margin:4px 0 0 16px;padding:0}
.qs25-actions li{padding:2px 0}
.qs25-tracker{display:flex;flex-direction:column;gap:8px}
.qs25-input-row{display:flex;align-items:center;gap:8px;font-size:13px}
.qs25-input-row label{min-width:200px}
.qs25-input-row input{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px;width:120px}
.qs25-opt{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.qs25-opt.qs25-opt-done{opacity:.6}
.qs25-opt input{accent-color:var(--accent)}

/* Campaign Setup Wizard */
.csw-overview{margin-bottom:20px}
.csw-bar-wrap{height:10px;background:var(--bg-secondary);border-radius:5px;overflow:hidden;margin-bottom:6px}
.csw-bar{height:100%;background:linear-gradient(90deg,var(--accent),#4caf50);border-radius:5px;transition:width .3s}
.csw-step{padding:16px;background:var(--bg-primary);border-radius:10px;border:1px solid var(--border);margin-bottom:10px}
.csw-step.csw-step-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02)}
.csw-step-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.csw-icon{font-size:20px}
.csw-step-title{display:flex;align-items:center;gap:8px;flex:1}
.csw-spct{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(33,150,243,.1);color:#2196f3;font-weight:600}
.csw-desc{font-size:12px;color:var(--text-secondary);margin-bottom:10px}
.csw-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.csw-check.csw-check-done{opacity:.6}
.csw-check input{accent-color:var(--accent)}

/* Change Monitor */
.chm-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:10px}
.chm-area{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.chm-area.chm-sev-critical{border-left:3px solid #f44336}
.chm-area.chm-sev-high{border-left:3px solid #ff9800}
.chm-area.chm-sev-medium{border-left:3px solid #2196f3}
.chm-area-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.chm-sev-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;margin-left:auto}
.chm-sev-badge.chm-sev-critical{background:rgba(244,67,54,.15);color:#f44336}
.chm-sev-badge.chm-sev-high{background:rgba(255,152,0,.15);color:#ff9800}
.chm-sev-badge.chm-sev-medium{background:rgba(33,150,243,.15);color:#2196f3}
.chm-items{margin:0 0 0 16px;padding:0;font-size:12px;color:var(--text-secondary)}
.chm-items li{padding:2px 0}
.chm-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.chm-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.chm-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.chm-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.chm-check.chm-check-done{opacity:.6}
.chm-check input{accent-color:var(--accent)}
.chm-cadence{padding:8px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:13px;margin-bottom:4px}

/* Round 104: Customer Journey Tester (.cjt-), Impression Share Optimizer (.iso-), Beyond ROAS (.brm-), Consolidation Analyzer (.cca-) */
.cjt-container,.iso-container,.brm-container,.cca-container{padding:20px}
.cjt-section,.iso-section,.brm-section,.cca-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.cjt-btns,.iso-btns,.brm-btns,.cca-btns{margin-top:16px;display:flex;gap:8px}
.cjt-save-btn,.iso-save-btn,.brm-save-btn,.cca-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.cjt-clear,.iso-clear,.brm-clear,.cca-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Customer Journey Tester */
.cjt-explainer{display:flex;flex-direction:column;gap:8px}
.cjt-exp-item{padding:10px 14px;border-radius:8px;font-size:13px}
.cjt-exp-bad{background:rgba(244,67,54,.06);border:1px solid rgba(244,67,54,.15)}
.cjt-exp-good{background:rgba(76,175,80,.06);border:1px solid rgba(76,175,80,.15)}
.cjt-matrix{overflow-x:auto}
.cjt-matrix-header{display:grid;grid-template-columns:140px repeat(4,80px) repeat(4,85px);gap:6px;padding:8px 0;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}
.cjt-matrix-row{display:grid;grid-template-columns:140px repeat(4,80px) repeat(4,85px);gap:6px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}
.cjt-combo-label{font-size:12px;font-weight:600;color:var(--text-primary)}
.cjt-input{padding:6px 8px;border-radius:5px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px;width:100%;box-sizing:border-box}
.cjt-calc{font-size:12px;color:var(--text-secondary);text-align:center}
.cjt-highlight{color:var(--accent);font-weight:600}
.cjt-winner{margin-top:12px;padding:12px;background:rgba(76,175,80,.08);border-radius:8px;border:1px solid rgba(76,175,80,.2);font-size:13px}
.cjt-scenarios{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.cjt-scenario{display:flex;gap:10px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.cjt-s-icon{font-size:20px;flex-shrink:0}
.cjt-s-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}
.cjt-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.cjt-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.cjt-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.cjt-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.cjt-check.cjt-check-done{opacity:.6}
.cjt-check input{accent-color:var(--accent)}
.cjt-insight{padding:12px;background:rgba(255,152,0,.08);border-radius:8px;border:1px solid rgba(255,152,0,.2);font-size:13px;margin-top:16px}

/* Impression Share Optimizer */
.iso-benchmarks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.iso-bench{padding:10px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);display:flex;flex-direction:column;gap:4px;font-size:13px}
.iso-target{font-weight:700;color:var(--accent);font-size:16px}
.iso-note{font-size:11px;color:var(--text-secondary)}
.iso-camp-card{padding:16px;background:var(--bg-primary);border-radius:10px;border:1px solid var(--border);margin-bottom:12px}
.iso-camp-inputs{margin-bottom:10px}
.iso-input{padding:6px 8px;border-radius:5px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;width:100%;box-sizing:border-box}
.iso-input-wide{margin-bottom:8px;font-weight:600}
.iso-input-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.iso-input-grid label{font-size:11px;color:var(--text-secondary);display:flex;flex-direction:column;gap:3px}
.iso-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;padding:12px;background:rgba(33,150,243,.06);border-radius:8px;border:1px solid rgba(33,150,243,.15)}
.iso-result{display:flex;flex-direction:column;font-size:12px;color:var(--text-secondary)}
.iso-result strong{font-size:16px;color:var(--text-primary)}
.iso-result-highlight strong{color:var(--accent)}
.iso-add-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;width:100%;margin-top:8px}
.iso-diagnostics{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.iso-diag{padding:14px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.iso-diag-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px}
.iso-diag-icon{font-size:20px}
.iso-diag-list{margin:0 0 0 16px;padding:0;font-size:12px;color:var(--text-secondary)}
.iso-diag-list li{padding:3px 0}
.iso-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.iso-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.iso-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.iso-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.iso-check.iso-check-done{opacity:.6}
.iso-check input{accent-color:var(--accent)}

/* Beyond ROAS Metrics */
.brm-warning{padding:14px;background:rgba(255,152,0,.08);border-radius:8px;border:1px solid rgba(255,152,0,.2);font-size:13px;margin-bottom:20px}
.brm-metric{padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:12px}
.brm-metric-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.brm-m-icon{font-size:24px;flex-shrink:0}
.brm-formula{font-size:12px;color:var(--accent);font-family:monospace;margin-top:2px}
.brm-m-why{font-size:12px;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}
.brm-m-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.brm-field{font-size:11px;color:var(--text-secondary);display:flex;flex-direction:column;gap:3px}
.brm-field-wrap{display:flex;align-items:center;gap:0}
.brm-prefix{padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border);border-right:none;border-radius:5px 0 0 5px;font-size:13px;color:var(--text-secondary)}
.brm-input{padding:6px 8px;border-radius:5px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px;width:100px}
.brm-prefix+.brm-input{border-radius:0 5px 5px 0}
.brm-result{padding:8px 16px;background:rgba(76,175,80,.1);border-radius:6px;font-size:18px;font-weight:700;color:#4caf50;align-self:flex-end}
.brm-stack{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.brm-stack-item{padding:14px 20px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);text-align:center;min-width:140px}
.brm-stack-item strong{display:block;font-size:16px;color:var(--accent)}
.brm-stack-item span{font-size:11px;color:var(--text-secondary)}
.brm-stack-arrow{font-size:18px;color:var(--accent);font-weight:700}

/* Consolidation Analyzer */
.cca-cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.cca-case{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);text-align:center}
.cca-case-who{font-size:11px;color:var(--text-secondary);margin-bottom:4px}
.cca-case-change{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.cca-case-result{font-size:13px;color:#4caf50;font-weight:600}
.cca-flag-summary{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}
.cca-flag-summary.cca-sev-critical{background:rgba(244,67,54,.08);border:1px solid rgba(244,67,54,.2);color:#f44336}
.cca-flag-summary.cca-sev-high{background:rgba(255,152,0,.08);border:1px solid rgba(255,152,0,.2);color:#ff9800}
.cca-flag-summary.cca-sev-medium{background:rgba(33,150,243,.08);border:1px solid rgba(33,150,243,.2);color:#2196f3}
.cca-flag{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.cca-flag.cca-flag-active{color:var(--text-primary)}
.cca-sev-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cca-dot-critical{background:#f44336}
.cca-dot-high{background:#ff9800}
.cca-dot-medium{background:#2196f3}
.cca-flag input{accent-color:var(--accent)}
.cca-reasons{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cca-reason{display:flex;gap:10px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.cca-r-icon{font-size:20px;flex-shrink:0}
.cca-r-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}
.cca-rule{padding:14px;background:rgba(244,67,54,.08);border-radius:8px;border:1px solid rgba(244,67,54,.2);font-size:13px;margin-bottom:16px}
.cca-warning{padding:14px;background:rgba(255,152,0,.08);border-radius:8px;border:1px solid rgba(255,152,0,.2);font-size:13px;margin-bottom:16px}
.cca-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.cca-check.cca-check-done{opacity:.6}
.cca-check input{accent-color:var(--accent)}

/* Round 105: Budget Scaling (.bsa-), AI Era Guardrails (.aeg-), What Works Now (.wwn-), Tracking Maturity (.tma-) */
.bsa-container,.aeg-container,.wwn-container,.tma-container{padding:20px}
.bsa-section,.aeg-section,.tma-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.bsa-btns,.aeg-btns,.wwn-btns,.tma-btns{margin-top:16px;display:flex;gap:8px}
.bsa-save-btn,.aeg-save-btn,.wwn-save-btn,.tma-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.bsa-clear,.aeg-clear,.wwn-clear,.tma-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* Budget Scaling Analyzer */
.bsa-blockers{display:flex;flex-direction:column;gap:10px}
.bsa-blocker{padding:14px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.bsa-blocker.bsa-blocker-flagged{border-left:3px solid #ff9800;background:rgba(255,152,0,.03)}
.bsa-blocker.bsa-sev-critical.bsa-blocker-flagged{border-left-color:#f44336;background:rgba(244,67,54,.03)}
.bsa-bl-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.bsa-bl-head strong{flex:1}
.bsa-flag-toggle{font-size:12px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:4px}
.bsa-flag-toggle input{accent-color:#ff9800}
.bsa-bl-desc{font-size:12px;color:var(--text-secondary)}
.bsa-bl-action{margin-top:8px;padding:8px 12px;background:rgba(76,175,80,.06);border-radius:6px;font-size:12px;color:var(--text-primary)}
.bsa-verdict{margin:16px 0}
.bsa-verdict-ok{padding:12px;background:rgba(76,175,80,.08);border-radius:8px;border:1px solid rgba(76,175,80,.2);font-size:13px;color:#4caf50}
.bsa-verdict-warn{padding:12px;background:rgba(255,152,0,.08);border-radius:8px;border:1px solid rgba(255,152,0,.2);font-size:13px;color:#ff9800}
.bsa-verdict-bad{padding:12px;background:rgba(244,67,54,.08);border-radius:8px;border:1px solid rgba(244,67,54,.2);font-size:13px;color:#f44336}
.bsa-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.bsa-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.bsa-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.bsa-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.bsa-check.bsa-check-done{opacity:.6}
.bsa-check input{accent-color:var(--accent)}
.bsa-insight{padding:12px;background:rgba(33,150,243,.08);border-radius:8px;border:1px solid rgba(33,150,243,.2);font-size:13px;margin-top:16px}

/* AI Era Guardrails */
.aeg-guardrails{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.aeg-guardrail{padding:14px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.aeg-g-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px}
.aeg-g-items{margin:0 0 0 16px;padding:0;font-size:12px;color:var(--text-secondary)}
.aeg-g-items li{padding:3px 0}
.aeg-data{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.aeg-datum{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);text-align:center}
.aeg-d-value{font-size:22px;font-weight:700;color:var(--accent)}
.aeg-d-metric{font-size:12px;font-weight:600;margin:4px 0 2px}
.aeg-d-note{font-size:11px;color:var(--text-secondary)}
.aeg-rec-legend{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.aeg-rec-type{font-size:12px}
.aeg-recs{display:flex;flex-direction:column;gap:6px}
.aeg-rec-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}
.aeg-rec-label{font-size:13px}
.aeg-rec-select{padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:12px}
.aeg-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.aeg-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.aeg-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.aeg-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.aeg-check.aeg-check-done{opacity:.6}
.aeg-check input{accent-color:var(--accent)}

/* What Works Now */
.wwn-themes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.wwn-theme{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);font-size:12px}
.wwn-theme-desc{color:var(--text-secondary);font-size:11px}
.wwn-tip{padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:10px}
.wwn-tip.wwn-tip-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02);opacity:.7}
.wwn-tip.wwn-tip-wip{border-color:rgba(33,150,243,.3);background:rgba(33,150,243,.02)}
.wwn-tip-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.wwn-expert{font-size:11px;color:var(--accent);margin-left:8px}
.wwn-status{padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px}
.wwn-result{font-size:12px;color:#4caf50;font-weight:600;margin-bottom:6px}
.wwn-actions{margin:0 0 0 16px;padding:0;font-size:12px;color:var(--text-secondary)}
.wwn-actions li{padding:2px 0}
.wwn-summary{padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);font-size:13px;text-align:center;margin-top:16px}

/* Tracking Maturity Assessor */
.tma-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:20px}
.tma-stat{padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);text-align:center}
.tma-stat-val{font-size:20px;font-weight:700;color:var(--accent)}
.tma-stat-label{font-size:11px;color:var(--text-secondary);margin-top:2px}
.tma-overall{margin-bottom:20px}
.tma-overall-label{font-size:14px;margin-bottom:6px}
.tma-overall-bar{height:10px;background:var(--bg-secondary);border-radius:5px;overflow:hidden}
.tma-overall-fill{height:100%;border-radius:5px;transition:width .3s}
.tma-spct{font-size:12px;font-weight:400;margin-left:8px;opacity:.7}
.tma-item{padding:14px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);margin-bottom:8px}
.tma-item.tma-item-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02);opacity:.7}
.tma-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap}
.tma-check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}
.tma-check input{accent-color:var(--accent)}
.tma-uplift{font-size:12px;color:#4caf50;font-weight:600;padding:2px 8px;background:rgba(76,175,80,.1);border-radius:4px}
.tma-item-desc{font-size:12px;color:var(--text-secondary);margin-bottom:4px;line-height:1.5}
.tma-item-tool{font-size:11px;color:var(--accent)}
.tma-warning{padding:14px;background:rgba(255,152,0,.08);border-radius:8px;border:1px solid rgba(255,152,0,.2);font-size:13px;margin-top:16px}

/* Round 106: PMax Search Impact (.psi-), Custom Audiences (.cab-), Modern Search (.mss-), Task Planner (.ptp-) */
.psi-container,.cab-container,.mss-container,.ptp-container{padding:20px}
.psi-section,.cab-section,.mss-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.psi-btns,.cab-btns,.mss-btns,.ptp-btns{margin-top:16px;display:flex;gap:8px}
.psi-save-btn,.cab-save-btn,.mss-save-btn,.ptp-save-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:13px}
.psi-clear,.cab-clear,.mss-clear,.ptp-clear{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:6px;cursor:pointer;font-size:12px}

/* PMax Search Impact */
.psi-paradox{padding:14px;background:rgba(244,67,54,.08);border-radius:8px;border:1px solid rgba(244,67,54,.2);font-size:13px;margin-bottom:20px}
.psi-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:20px}
.psi-stat{padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);text-align:center}
.psi-stat-val{font-size:22px;font-weight:700;color:var(--accent)}
.psi-stat-label{font-size:12px;font-weight:600;margin:4px 0 2px}
.psi-stat-note{font-size:11px;color:var(--text-secondary)}
.psi-reasons{display:flex;flex-direction:column;gap:8px}
.psi-reason{padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.psi-r-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.psi-r-fix{font-size:12px;color:var(--text-secondary);padding-left:28px}
.psi-redflags{display:flex;flex-direction:column;gap:6px}
.psi-rf{padding:10px 14px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:13px}
.psi-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.psi-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.psi-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.psi-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.psi-check.psi-check-done{opacity:.6}
.psi-check input{accent-color:var(--accent)}

/* Custom Audiences Builder */
.cab-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cab-type{padding:14px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}
.cab-type-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}
.cab-type-desc{font-size:12px;color:var(--text-secondary);margin-bottom:6px}
.cab-type-tip{font-size:12px;color:var(--accent)}
.cab-dual{padding:14px;background:rgba(33,150,243,.08);border-radius:8px;border:1px solid rgba(33,150,243,.2);font-size:13px;margin:16px 0}
.cab-mistake{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.cab-mistake.cab-mistake-active{color:var(--text-primary)}
.cab-sev-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cab-dot-critical{background:#f44336}
.cab-dot-high{background:#ff9800}
.cab-dot-medium{background:#2196f3}
.cab-mistake input{accent-color:var(--accent)}
.cab-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.cab-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.cab-plabel{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.cab-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}
.cab-check.cab-check-done{opacity:.6}
.cab-check input{accent-color:var(--accent)}
.cab-kw-guide{display:flex;flex-direction:column;gap:6px}
.cab-kw-row{padding:10px 14px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:13px}
.cab-kw-good{border-left:3px solid #4caf50}
.cab-kw-info{border-left:3px solid #2196f3}

/* Modern Search Strategy */
.mss-pillar{padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:12px}
.mss-pillar.mss-pillar-done{border-color:rgba(76,175,80,.3);background:rgba(76,175,80,.02);opacity:.7}
.mss-pillar.mss-pillar-wip{border-color:rgba(33,150,243,.3);background:rgba(33,150,243,.02)}
.mss-p-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.mss-p-icon{font-size:20px}
.mss-p-head strong{flex:1}
.mss-p-status{padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px}
.mss-p-items{margin:0 0 8px 16px;padding:0;font-size:12px;color:var(--text-secondary)}
.mss-p-items li{padding:3px 0}
.mss-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}
.mss-check input{accent-color:var(--accent)}
.mss-dead{display:flex;flex-direction:column;gap:6px}
.mss-dead-item{padding:10px 14px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:13px}
.mss-dead-reason{display:block;font-size:12px;color:var(--text-secondary);margin-top:2px}
.mss-formula{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.mss-f-item{padding:10px 16px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border);font-weight:600;font-size:13px;text-align:center}
.mss-f-op{font-size:18px;color:var(--accent);font-weight:700}
.mss-f-result{padding:10px 16px;background:rgba(76,175,80,.1);border-radius:8px;border:1px solid rgba(76,175,80,.3);font-weight:700;font-size:14px;color:#4caf50}

/* PPC Task Planner */
.ptp-summary{padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);font-size:14px;text-align:center;margin-bottom:16px}
.ptp-category{margin-bottom:16px;padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.ptp-cat-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px}
.ptp-cat-count{font-size:12px;color:var(--text-secondary);margin-left:auto}
.ptp-task{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border);font-size:13px}
.ptp-task:last-child{border-bottom:none}
.ptp-task.ptp-task-done{opacity:.5}
.ptp-priority{width:20px;height:20px;border-radius:50%;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ptp-task-label{flex:1;color:var(--text-secondary)}
.ptp-task-status{padding:3px 6px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:11px}

/* ═══ Round 107 ═══ */

/* Broad Match Readiness Checker */
.bmr-container{max-width:800px;margin:0 auto}
.bmr-progress{padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;font-size:13px;color:var(--text-secondary);text-align:center}
.bmr-verdict{padding:16px;border-radius:10px;margin-bottom:16px;text-align:center}
.bmr-go{background:rgba(34,197,94,.08);border:2px solid rgba(34,197,94,.3)}
.bmr-conditional{background:rgba(255,152,0,.08);border:2px solid rgba(255,152,0,.3)}
.bmr-nogo{background:rgba(239,68,68,.08);border:2px solid rgba(239,68,68,.3)}
.bmr-verdict-text{font-size:16px;font-weight:700;margin-bottom:4px}
.bmr-score{font-size:13px;color:var(--text-secondary)}
.bmr-step{padding:14px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:10px}
.bmr-step-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bmr-icon{font-size:18px}
.bmr-step-title{font-size:14px}
.bmr-desc{font-size:12px;color:var(--text-secondary);margin-bottom:10px;line-height:1.5}
.bmr-question{font-size:13px;margin-bottom:8px;color:var(--text-primary)}
.bmr-option{display:block;padding:6px 10px;margin:4px 0;border-radius:6px;border:1px solid var(--border);font-size:12px;cursor:pointer;color:var(--text-secondary)}
.bmr-option:hover{border-color:var(--accent)}
.bmr-option-selected{border-color:var(--accent);background:rgba(99,102,241,.08);color:var(--text-primary)}
.bmr-tip{font-size:12px;color:#ff9800;background:rgba(255,152,0,.06);padding:8px 10px;border-radius:6px;margin-top:8px;line-height:1.5}
.bmr-bonus{padding:12px;background:rgba(33,150,243,.06);border:1px solid rgba(33,150,243,.2);border-radius:8px;font-size:12px;color:var(--text-secondary);margin-top:12px;line-height:1.5}
.bmr-btns{display:flex;gap:8px;margin-top:16px}
.bmr-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.bmr-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* AI Max Cannibalization Detector */
.amc-container{max-width:800px;margin:0 auto}
.amc-warning{padding:12px 14px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:8px;margin-bottom:14px;font-size:13px;color:#ef4444;line-height:1.5}
.amc-progress{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.amc-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.amc-plabel{font-size:12px;color:var(--text-secondary);margin-bottom:14px}
.amc-section{margin-bottom:16px}
.amc-section h4{font-size:14px;margin-bottom:10px;color:var(--text-primary)}
.amc-issue{padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:8px}
.amc-issue-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}
.amc-sev-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;margin-left:auto;text-transform:uppercase}
.amc-sev-critical{color:#ef4444;background:rgba(239,68,68,.1)}
.amc-sev-high{color:#ff9800;background:rgba(255,152,0,.1)}
.amc-issue-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}
.amc-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.amc-check:hover{background:rgba(99,102,241,.04)}
.amc-check-done{opacity:.5;text-decoration:line-through}
.amc-arch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin:12px 0}
.amc-camp{padding:14px;border-radius:10px;text-align:center;font-size:12px;line-height:1.6;flex:1;min-width:140px}
.amc-camp-a{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25)}
.amc-camp-neg{background:rgba(255,152,0,.08);border:1px solid rgba(255,152,0,.25)}
.amc-camp-b{background:rgba(33,150,243,.08);border:1px solid rgba(33,150,243,.25)}
.amc-arrow{font-size:20px;color:var(--text-secondary)}
.amc-btns{display:flex;gap:8px;margin-top:16px}
.amc-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.amc-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Shopping Competitiveness Scorecard */
.scs-container{max-width:820px;margin:0 auto}
.scs-overall{padding:20px;border-radius:12px;border:2px solid;text-align:center;margin-bottom:16px;background:var(--bg-secondary)}
.scs-overall-score{font-size:36px;font-weight:800}
.scs-overall-label{font-size:14px;font-weight:600;margin-bottom:8px}
.scs-overall-bar{height:8px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden}
.scs-bar-fill{height:100%;border-radius:4px;transition:width .3s}
.scs-pillars{display:flex;flex-direction:column;gap:12px}
.scs-pillar{padding:14px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.scs-pillar-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}
.scs-pillar-weight{font-size:11px;color:var(--text-secondary)}
.scs-pillar-score{margin-left:auto;font-weight:700;font-size:14px}
.scs-pillar-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px;line-height:1.4}
.scs-pillar-bar{height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;margin-bottom:10px}
.scs-item{margin-bottom:10px}
.scs-item-label{font-size:12px;color:var(--text-primary);margin-bottom:4px}
.scs-item-options{display:flex;flex-wrap:wrap;gap:4px}
.scs-opt{padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}
.scs-opt:hover{border-color:var(--accent)}
.scs-opt-selected{border-color:var(--accent);color:var(--text-primary);font-weight:600}
.scs-opt-0.scs-opt-selected{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.4)}
.scs-opt-1.scs-opt-selected{background:rgba(255,152,0,.1);border-color:rgba(255,152,0,.35)}
.scs-opt-2.scs-opt-selected{background:rgba(33,150,243,.1);border-color:rgba(33,150,243,.35)}
.scs-opt-3.scs-opt-selected{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.35)}
.scs-btns{display:flex;gap:8px;margin-top:16px}
.scs-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.scs-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Campaign Launch Monitor */
.clm-container{max-width:800px;margin:0 auto}
.clm-date-section{padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:12px}
.clm-date-label{font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.clm-date-input{padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px}
.clm-timeline-info{display:flex;gap:4px;align-items:center;margin-top:6px;font-size:12px;color:var(--text-secondary)}
.clm-days{color:var(--accent);font-weight:600}
.clm-phase{color:#22c55e;font-weight:600}
.clm-progress{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.clm-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.clm-plabel{font-size:12px;color:var(--text-secondary);margin-bottom:14px}
.clm-phase{padding:14px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:10px}
.clm-phase-done{border-color:rgba(34,197,94,.3)}
.clm-phase-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.clm-phase-icon{font-size:18px}
.clm-phase-title{font-size:14px;display:flex;align-items:center;gap:8px}
.clm-phase-pct{font-size:12px;color:var(--accent);font-weight:600}
.clm-phase-sub{font-size:12px;color:var(--text-secondary);margin-bottom:10px;font-style:italic}
.clm-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.clm-check:hover{background:rgba(99,102,241,.04)}
.clm-check-done{opacity:.5;text-decoration:line-through}
.clm-btns{display:flex;gap:8px;margin-top:16px}
.clm-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.clm-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* ═══ Round 108 ═══ */

/* PMax Segmentation Planner */
.psp-container{max-width:820px;margin:0 auto}
.psp-threshold{padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:12px}
.psp-conv-input{width:80px;padding:4px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px;margin-left:6px}
.psp-threshold-warn{color:#ff9800;font-size:12px;margin-top:6px;font-weight:600}
.psp-threshold-ok{color:#22c55e;font-size:12px;margin-top:6px;font-weight:600}
.psp-summary{padding:8px;text-align:center;font-size:13px;color:var(--text-secondary);margin-bottom:12px}
.psp-seg{padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:8px;transition:border-color .15s}
.psp-seg-selected{border-color:var(--accent);background:rgba(99,102,241,.04)}
.psp-seg-head{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px}
.psp-seg-toggle{cursor:pointer;flex-shrink:0}
.psp-seg-icon{font-size:16px}
.psp-diff{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;margin-left:auto}
.psp-easy{background:rgba(34,197,94,.1);color:#22c55e}
.psp-moderate{background:rgba(255,152,0,.1);color:#ff9800}
.psp-hard{background:rgba(239,68,68,.1);color:#ef4444}
.psp-seg-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:6px}
.psp-seg-when{font-size:11px;color:var(--text-secondary);margin-bottom:4px}
.psp-seg-warn{font-size:11px;color:#ff9800;opacity:.8}
.psp-btns{display:flex;gap:8px;margin-top:16px}
.psp-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.psp-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Campaign Failure Diagnostics */
.cfd-container{max-width:800px;margin:0 auto}
.cfd-health{padding:20px;border-radius:12px;border:2px solid;text-align:center;margin-bottom:16px;background:var(--bg-secondary)}
.cfd-health-score{font-size:36px;font-weight:800}
.cfd-health-label{font-size:14px;font-weight:600;margin-bottom:6px}
.cfd-weakest{font-size:13px;color:#ef4444;margin-top:8px}
.cfd-incomplete{padding:12px;text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-secondary);margin-bottom:14px}
.cfd-pillar{padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:8px}
.cfd-pillar-head{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px}
.cfd-fail-label{font-size:10px;font-weight:700;color:#ef4444;background:rgba(239,68,68,.1);padding:2px 8px;border-radius:4px;margin-left:auto}
.cfd-pillar-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}
.cfd-options{display:flex;flex-direction:column;gap:4px}
.cfd-opt{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;text-align:left;transition:all .15s}
.cfd-opt:hover{border-color:var(--accent)}
.cfd-opt-selected{font-weight:600;color:var(--text-primary)}
.cfd-opt-0.cfd-opt-selected{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4)}
.cfd-opt-1.cfd-opt-selected{background:rgba(255,152,0,.08);border-color:rgba(255,152,0,.35)}
.cfd-opt-2.cfd-opt-selected{background:rgba(33,150,243,.08);border-color:rgba(33,150,243,.35)}
.cfd-opt-3.cfd-opt-selected{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.35)}
.cfd-btns{display:flex;gap:8px;margin-top:16px}
.cfd-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.cfd-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Full-Funnel Remarketing Builder */
.ffr-container{max-width:820px;margin:0 auto}
.ffr-section{margin-bottom:16px}
.ffr-section h4{font-size:14px;margin-bottom:10px;color:var(--text-primary)}
.ffr-types{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ffr-type{padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);flex:1;min-width:180px;transition:border-color .15s}
.ffr-type-selected{border-color:var(--accent);background:rgba(99,102,241,.04)}
.ffr-type-icon{font-size:16px;margin-right:4px}
.ffr-type-desc{font-size:11px;color:var(--text-secondary);margin-top:6px;line-height:1.4}
.ffr-type-tip{font-size:12px;color:var(--text-secondary);background:rgba(33,150,243,.06);padding:8px 10px;border-radius:6px;margin-top:8px}
.ffr-stage{padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:8px;transition:border-color .15s}
.ffr-stage-enabled{border-color:var(--accent)}
.ffr-stage-head{display:flex;align-items:center;gap:6px;font-size:14px;margin-bottom:8px}
.ffr-intent{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;margin-left:auto}
.ffr-intent-low{background:rgba(156,39,176,.1);color:#9c27b0}
.ffr-intent-medium{background:rgba(33,150,243,.1);color:#2196f3}
.ffr-intent-high{background:rgba(255,152,0,.1);color:#ff9800}
.ffr-intent-veryhigh{background:rgba(239,68,68,.1);color:#ef4444}
.ffr-intent-repeat{background:rgba(34,197,94,.1);color:#22c55e}
.ffr-stage-details{padding-left:24px}
.ffr-recency{font-size:12px;color:var(--text-secondary);margin-bottom:6px}
.ffr-rec-btn{padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:11px;cursor:pointer;margin:0 2px}
.ffr-rec-selected{border-color:var(--accent);color:var(--accent);font-weight:600;background:rgba(99,102,241,.08)}
.ffr-messaging{font-size:12px;color:var(--text-secondary);line-height:1.4}
.ffr-progress{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.ffr-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.ffr-check:hover{background:rgba(99,102,241,.04)}
.ffr-check-done{opacity:.5;text-decoration:line-through}
.ffr-btns{display:flex;gap:8px;margin-top:16px}
.ffr-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.ffr-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Portfolio Max CPC Calculator */
.pmc-container{max-width:820px;margin:0 auto}
.pmc-formula{padding:14px;background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.2);border-radius:8px;margin-bottom:14px;font-size:14px}
.pmc-formula-note{font-size:12px;color:#ff9800;margin-top:6px}
.pmc-section{margin-bottom:16px}
.pmc-section h4{font-size:14px;margin-bottom:10px;color:var(--text-primary)}
.pmc-table{width:100%;border-collapse:collapse;font-size:12px}
.pmc-table th{padding:8px;text-align:left;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-secondary);font-size:11px}
.pmc-table td{padding:6px 8px;border-bottom:1px solid var(--border)}
.pmc-input{padding:4px 6px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px}
.pmc-name{width:120px}
.pmc-num{width:80px}
.pmc-result{font-weight:600;color:var(--text-secondary)}
.pmc-spike-ok{color:#22c55e}
.pmc-spike-high{color:#ff9800}
.pmc-spike-critical{color:#ef4444}
.pmc-row-btns{display:flex;gap:8px;margin-top:8px}
.pmc-add-btn,.pmc-remove-btn{padding:4px 12px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;cursor:pointer}
.pmc-mistake{display:flex;gap:10px;padding:10px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);margin-bottom:6px;font-size:12px;color:var(--text-secondary);line-height:1.5}
.pmc-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.pmc-check:hover{background:rgba(99,102,241,.04)}
.pmc-check-done{opacity:.5;text-decoration:line-through}
.pmc-btns{display:flex;gap:8px;margin-top:16px}
.pmc-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.pmc-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* ═══ Round 109 ═══ */

/* AI Bidding Health Checker */
.abh-container{max-width:800px;margin:0 auto}
.abh-verdict{padding:20px;border-radius:12px;border:2px solid;text-align:center;margin-bottom:16px;background:var(--bg-secondary)}
.abh-score{font-size:36px;font-weight:800}
.abh-label{font-size:14px;font-weight:600;margin-bottom:6px}
.abh-critical{display:flex;gap:6px;justify-content:center;margin-top:8px;flex-wrap:wrap}
.abh-critical-tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:4px;background:rgba(239,68,68,.1);color:#ef4444}
.abh-progress{padding:12px;text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-secondary);margin-bottom:14px}
.abh-intervention{padding:14px;background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.2);border-radius:10px;margin-bottom:16px}
.abh-intervention strong{color:#ef4444;font-size:14px}
.abh-strategies{margin-top:8px}
.abh-strat{padding:8px 10px;background:var(--bg-secondary);border-radius:6px;margin-top:6px;font-size:12px;color:var(--text-secondary);line-height:1.5}
.abh-signal{padding:14px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:10px}
.abh-signal-head{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px}
.abh-fail-tag{font-size:10px;font-weight:700;color:#ef4444;background:rgba(239,68,68,.1);padding:2px 8px;border-radius:4px;margin-left:auto}
.abh-signal-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}
.abh-question{font-size:13px;margin-bottom:6px;color:var(--text-primary)}
.abh-option{display:block;padding:5px 10px;margin:3px 0;border-radius:6px;border:1px solid var(--border);font-size:12px;cursor:pointer;color:var(--text-secondary)}
.abh-option:hover{border-color:var(--accent)}
.abh-option-selected{border-color:var(--accent);background:rgba(99,102,241,.08);color:var(--text-primary)}
.abh-fix{font-size:12px;color:#ff9800;background:rgba(255,152,0,.06);padding:8px 10px;border-radius:6px;margin-top:8px;line-height:1.5}
.abh-btns{display:flex;gap:8px;margin-top:16px}
.abh-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.abh-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Account Modernisation Audit */
.ama-container{max-width:800px;margin:0 auto}
.ama-score{padding:20px;border-radius:12px;border:2px solid;text-align:center;margin-bottom:16px;background:var(--bg-secondary)}
.ama-score-num{font-size:36px;font-weight:800}
.ama-score-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px}
.ama-score-bar{height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.ama-section{margin-bottom:16px}
.ama-section h4{font-size:14px;margin-bottom:10px;color:var(--text-primary)}
.ama-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:6px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:4px 0;line-height:1.5}
.ama-item:hover{background:rgba(99,102,241,.04)}
.ama-item-done{opacity:.5;text-decoration:line-through}
.ama-sev-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}
.ama-sev-critical .ama-sev-dot{background:#ef4444}
.ama-sev-high .ama-sev-dot{background:#ff9800}
.ama-sev-medium .ama-sev-dot{background:#2196f3}
.ama-status{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;flex-shrink:0;margin-top:1px}
.ama-status-new{background:rgba(99,102,241,.12);color:var(--accent)}
.ama-status-updated{background:rgba(33,150,243,.12);color:#2196f3}
.ama-status-essential{background:rgba(239,68,68,.12);color:#ef4444}
.ama-btns{display:flex;gap:8px;margin-top:16px}
.ama-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.ama-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* First-Party Data Planner */
.fpd-container{max-width:800px;margin:0 auto}
.fpd-stats{display:flex;gap:12px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
.fpd-stat{text-align:center;padding:12px 20px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);min-width:100px}
.fpd-stat-num{font-size:24px;font-weight:800;color:var(--accent)}
.fpd-stat-label{font-size:11px;color:var(--text-secondary)}
.fpd-progress-bar{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin-bottom:4px}
.fpd-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}
.fpd-plabel{font-size:12px;color:var(--text-secondary);margin-bottom:14px}
.fpd-stage{padding:14px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:10px}
.fpd-stage-done{border-color:rgba(34,197,94,.3)}
.fpd-stage-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fpd-stage-icon{font-size:18px}
.fpd-stage-title{font-size:14px;display:flex;align-items:center;gap:8px}
.fpd-stage-pct{font-size:12px;color:var(--accent);font-weight:600}
.fpd-stage-desc{font-size:12px;color:var(--text-secondary);margin-bottom:10px;line-height:1.4}
.fpd-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.fpd-check:hover{background:rgba(99,102,241,.04)}
.fpd-check-done{opacity:.5;text-decoration:line-through}
.fpd-btns{display:flex;gap:8px;margin-top:16px}
.fpd-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.fpd-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Automation Playbook */
.apb-container{max-width:820px;margin:0 auto}
.apb-summary{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.apb-stat{font-size:12px;padding:4px 10px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}
.apb-stat-done{color:#22c55e;border-color:rgba(34,197,94,.25)}
.apb-stat-planned{color:#2196f3;border-color:rgba(33,150,243,.25)}
.apb-stat-skip{color:var(--text-muted);opacity:.6}
.apb-auto{padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:8px}
.apb-auto-done{border-color:rgba(34,197,94,.3);opacity:.7}
.apb-auto-head{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px;flex-wrap:wrap}
.apb-pri{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;margin-left:auto}
.apb-pri-essential{background:rgba(239,68,68,.1);color:#ef4444}
.apb-pri-high{background:rgba(255,152,0,.1);color:#ff9800}
.apb-pri-medium{background:rgba(33,150,243,.1);color:#2196f3}
.apb-pri-low{background:rgba(156,39,176,.1);color:#9c27b0}
.apb-cat{font-size:10px;color:var(--text-muted);padding:2px 6px;border:1px solid var(--border);border-radius:3px}
.apb-auto-desc{font-size:12px;color:var(--text-secondary);margin-bottom:6px;line-height:1.4}
.apb-rule{font-size:12px;color:var(--accent);background:rgba(99,102,241,.06);padding:6px 10px;border-radius:6px;margin-bottom:4px;line-height:1.4}
.apb-setup{font-size:11px;color:var(--text-secondary);margin-bottom:6px;line-height:1.4}
.apb-status-row{display:flex;gap:8px;align-items:center}
.apb-status-sel{padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:11px;text-transform:capitalize}
.apb-btns{display:flex;gap:8px;margin-top:16px}
.apb-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.apb-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* ═══ Round 110 ═══ */

/* Branded Search Toolkit */
.bst-container{max-width:800px;margin:0 auto}
.bst-study{padding:16px;background:rgba(34,197,94,.05);border:1px solid rgba(34,197,94,.2);border-radius:10px;margin-bottom:16px}
.bst-study h4{margin:0 0 10px;font-size:14px}
.bst-results{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.bst-metric{text-align:center;padding:8px 14px;background:var(--bg-secondary);border-radius:8px;min-width:70px}
.bst-metric-val{font-size:20px;font-weight:800}
.bst-positive .bst-metric-val{color:#22c55e}
.bst-metric-label{font-size:11px;color:var(--text-secondary)}
.bst-study-note{font-size:12px;color:var(--text-secondary);text-align:center;line-height:1.4}
.bst-section{margin-bottom:16px}
.bst-section h4{font-size:14px;margin-bottom:10px}
.bst-reason{display:flex;gap:10px;padding:10px;background:var(--bg-secondary);border-radius:8px;margin-bottom:6px;font-size:12px;line-height:1.5}
.bst-reason-icon{font-size:18px;flex-shrink:0}
.bst-reason-desc{color:var(--text-secondary)}
.bst-progress{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.bst-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.bst-check:hover{background:rgba(99,102,241,.04)}
.bst-check-done{opacity:.5;text-decoration:line-through}
.bst-btns{display:flex;gap:8px;margin-top:16px}
.bst-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.bst-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Demand Gen Playbook */
.dgp-container{max-width:820px;margin:0 auto}
.dgp-section{margin-bottom:16px}
.dgp-section h4{font-size:14px;margin-bottom:10px}
.dgp-table{width:100%;border-collapse:collapse;font-size:12px}
.dgp-table th{padding:8px;text-align:left;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-secondary);font-size:11px}
.dgp-table td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text-secondary)}
.dgp-funnel{padding:10px 12px;margin-bottom:6px;background:var(--bg-secondary);border-radius:8px}
.dgp-funnel-stage{font-size:13px;font-weight:700;margin-bottom:4px}
.dgp-funnel-audience,.dgp-funnel-offer{font-size:12px;color:var(--text-secondary);line-height:1.4}
.dgp-warning{font-size:12px;color:#ef4444;background:rgba(239,68,68,.06);padding:8px 10px;border-radius:6px;margin-top:8px}
.dgp-thresholds{display:flex;flex-direction:column;gap:4px}
.dgp-thresh{font-size:12px;color:var(--text-secondary);padding:6px 10px;background:var(--bg-secondary);border-radius:6px}
.dgp-failure{font-size:12px;color:var(--text-secondary);padding:6px 10px;background:var(--bg-secondary);border-radius:6px;margin-bottom:4px;line-height:1.4}
.dgp-progress{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.dgp-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.dgp-check:hover{background:rgba(99,102,241,.04)}
.dgp-check-done{opacity:.5;text-decoration:line-through}
.dgp-btns{display:flex;gap:8px;margin-top:16px}
.dgp-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.dgp-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* LP A/B Testing Framework */
.lpt-container{max-width:800px;margin:0 auto}
.lpt-case{padding:14px;background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.2);border-radius:10px;margin-bottom:16px;font-size:13px}
.lpt-case-results{font-size:12px;color:var(--text-secondary);margin-top:6px}
.lpt-case-insight{font-size:12px;color:#ff9800;margin-top:6px;font-weight:600}
.lpt-section{margin-bottom:16px}
.lpt-section h4{font-size:14px;margin-bottom:10px}
.lpt-score{padding:14px;text-align:center;border:2px solid;border-radius:10px;margin-bottom:12px;background:var(--bg-secondary)}
.lpt-signal{padding:12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:8px}
.lpt-signal-head{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px}
.lpt-signal-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}
.lpt-signal-q{font-size:13px;margin-bottom:6px}
.lpt-signal-opts{display:flex;flex-wrap:wrap;gap:4px}
.lpt-opt{padding:5px 10px;border-radius:5px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:11px;cursor:pointer}
.lpt-opt:hover{border-color:var(--accent)}
.lpt-opt-selected{font-weight:600;color:var(--text-primary)}
.lpt-opt-0.lpt-opt-selected{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4)}
.lpt-opt-1.lpt-opt-selected{background:rgba(255,152,0,.08);border-color:rgba(255,152,0,.35)}
.lpt-opt-2.lpt-opt-selected{background:rgba(33,150,243,.08);border-color:rgba(33,150,243,.35)}
.lpt-opt-3.lpt-opt-selected{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.35)}
.lpt-progress{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.lpt-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.lpt-check:hover{background:rgba(99,102,241,.04)}
.lpt-check-done{opacity:.5;text-decoration:line-through}
.lpt-btns{display:flex;gap:8px;margin-top:16px}
.lpt-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.lpt-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* Attribution Model Selector */
.ams-container{max-width:800px;margin:0 auto}
.ams-section{margin-bottom:16px}
.ams-section h4{font-size:14px;margin-bottom:10px}
.ams-compare{display:flex;gap:10px;flex-wrap:wrap}
.ams-model{flex:1;min-width:220px;padding:14px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}
.ams-model h5{margin:0 0 8px;font-size:14px}
.ams-model ul{margin:0;padding-left:16px;font-size:12px;color:var(--text-secondary);line-height:1.6}
.ams-model-dda{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.04)}
.ams-cases{display:flex;gap:8px;flex-wrap:wrap}
.ams-case{padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);flex:1;min-width:160px}
.ams-case-metrics{display:flex;gap:8px;margin-top:6px}
.ams-case-good{font-size:12px;font-weight:600;color:#22c55e}
.ams-q{padding:10px;background:var(--bg-secondary);border-radius:8px;margin-bottom:6px}
.ams-q-text{font-size:13px;margin-bottom:6px}
.ams-q-opt{display:block;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.ams-q-opt:hover{background:rgba(99,102,241,.04)}
.ams-q-opt-selected{color:var(--accent);font-weight:600}
.ams-verdict{padding:12px;text-align:center;border:2px solid;border-radius:10px;margin-top:12px;font-size:14px;font-weight:700;background:var(--bg-secondary)}
.ams-progress{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.ams-check{display:block;padding:5px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary);margin:3px 0}
.ams-check:hover{background:rgba(99,102,241,.04)}
.ams-check-done{opacity:.5;text-decoration:line-through}
.ams-btns{display:flex;gap:8px;margin-top:16px}
.ams-save-btn{padding:8px 20px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.ams-clear{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}

/* ════════════════════════════════════════════════════════════════
   MIKE RHODES TOOLS — Shared styles for PMax Insights, Neg KW, Asset Perf
   ════════════════════════════════════════════════════════════════ */

/* Sub-tab navigation */
.mr-subtabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 16px 0 12px; border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.mr-subtab { background: transparent; border: 1px solid var(--border); color: var(--text-secondary); padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 13px; transition: all 0.15s; }
.mr-subtab:hover { background: var(--surface-hover); color: var(--text); }
.mr-subtab.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.mr-badge { background: rgba(255,255,255,0.2); padding: 1px 6px; border-radius: 8px; font-size: 11px; margin-left: 4px; }
.mr-subtab.active .mr-badge { background: rgba(255,255,255,0.3); }

/* Stats row */
.mr-stats-row { display: flex; gap: 12px; flex-wrap: wrap; margin: 12px 0; }
.mr-stat { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 12px 16px; flex: 1; min-width: 120px; text-align: center; }
.mr-stat-val { font-size: 22px; font-weight: 700; color: var(--text); }
.mr-stat-label { font-size: 11px; color: var(--text-secondary); margin-top: 2px; text-transform: uppercase; letter-spacing: 0.5px; }
.mr-stat-extra { font-size: 11px; color: var(--text-secondary); margin-top: 4px; }

/* Bucket badges */
.mr-bucket { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; }

/* 8020 flag */
.mr-8020-flag { color: #f59e0b; font-size: 16px; }

/* Channel bars */
.mr-channel-bars { margin: 12px 0 16px; }
.mr-channel-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.mr-channel-name { width: 80px; font-weight: 600; font-size: 13px; color: var(--text); text-align: right; }
.mr-channel-bar-wrap { flex: 1; background: var(--surface); border-radius: 4px; height: 24px; overflow: hidden; }
.mr-channel-bar { height: 100%; border-radius: 4px; transition: width 0.3s; min-width: 2px; }
.mr-channel-stats { display: flex; gap: 12px; font-size: 12px; color: var(--text-secondary); min-width: 360px; }
.mr-channel-stats span { white-space: nowrap; }

/* Overview grid */
.mr-overview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin: 12px 0; }
.mr-overview-card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 16px; }
.mr-overview-card h4 { margin: 0 0 12px; color: var(--text); font-size: 14px; }
.mr-overview-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.mr-overview-row span { color: var(--text-secondary); }
.mr-overview-row strong { color: var(--text); }
.mr-overview-total { border-bottom: none; padding-top: 8px; font-size: 14px; }
.mr-overview-total span, .mr-overview-total strong { color: var(--accent); }

/* CPC distribution mini-chart */
.mr-cpc-chart { display: flex; align-items: flex-end; gap: 2px; height: 64px; }
.mr-cpc-bar { flex: 1; background: var(--accent); border-radius: 2px 2px 0 0; min-width: 6px; transition: height 0.2s; opacity: 0.8; }
.mr-cpc-bar:hover { opacity: 1; }

/* Alerts */
.mr-alert { padding: 8px 12px; border-radius: 6px; font-size: 13px; margin-bottom: 8px; }
.mr-alert-red { background: rgba(239, 68, 68, 0.15); color: #fca5a5; border: 1px solid rgba(239, 68, 68, 0.3); }
.mr-alert-amber { background: rgba(245, 158, 11, 0.15); color: #fcd34d; border: 1px solid rgba(245, 158, 11, 0.3); }
.mr-alert-blue { background: rgba(59, 130, 246, 0.15); color: #93c5fd; border: 1px solid rgba(59, 130, 246, 0.3); }
.mr-alert-green { background: rgba(16, 185, 129, 0.15); color: #6ee7b7; border: 1px solid rgba(16, 185, 129, 0.3); }

/* Type breakdown grid */
.mr-type-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 12px 0; }
.mr-type-card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 14px; }
.mr-type-name { font-weight: 700; font-size: 13px; color: var(--accent); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
.mr-type-stat { font-size: 12px; color: var(--text-secondary); margin-bottom: 4px; }
.mr-type-stat span { color: var(--text); font-weight: 600; }

/* Table tweaks */
.mr-table { font-size: 12px; }
.mr-url { color: var(--accent); font-size: 11px; word-break: break-all; }
.mr-reasons { color: var(--text-secondary); font-size: 11px; }

/* Tool header with version tag */
.tool-tag { font-size: 11px; font-weight: 400; background: var(--accent); color: #fff; padding: 2px 8px; border-radius: 4px; margin-left: 8px; vertical-align: middle; }
.tool-date { font-size: 12px; color: var(--text-secondary); }

/* Pagination */
.mr-pager-btn { background: var(--bg-card); border: 1px solid var(--border); color: var(--text-primary); border-radius: 4px; padding: 3px 10px; cursor: pointer; font-size: 12px; transition: all 0.15s; }
.mr-pager-btn:hover:not([disabled]) { background: var(--bg-hover); }
.mr-sortable-th:hover { background: var(--bg-hover); }

/* Refresh button */
.mr-refresh-btn { background: transparent; border: 1px solid var(--border); color: var(--text-secondary); padding: 4px 12px; border-radius: 6px; cursor: pointer; font-size: 12px; transition: all 0.15s; white-space: nowrap; }
.mr-refresh-btn:hover { background: var(--surface-hover); color: var(--accent); border-color: var(--accent); }

/* Spinner */
.mr-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(147,197,253,0.3); border-top-color: #93c5fd; border-radius: 50%; animation: mr-spin 0.8s linear infinite; }
@keyframes mr-spin { to { transform: rotate(360deg); } }

/* Responsive */
@media (max-width: 768px) {
    .mr-stats-row { gap: 8px; }
    .mr-stat { min-width: 80px; padding: 8px; }
    .mr-stat-val { font-size: 18px; }
    .mr-channel-stats { min-width: auto; flex-wrap: wrap; }
    .mr-subtabs { gap: 2px; }
    .mr-subtab { padding: 4px 8px; font-size: 12px; }
}

/* Keyboard Shortcut Hints */
.kb-hints { position:fixed; bottom:24px; right:24px; background:var(--card-bg); border:1px solid var(--border); border-radius:10px; padding:14px 18px; z-index:9999; box-shadow:0 8px 24px rgba(0,0,0,0.3); font-size:12px; transition:opacity 0.3s; max-width:220px; }
.kb-hints-title { font-weight:600; font-size:13px; margin-bottom:8px; color:var(--text); }
.kb-hint-row { display:flex; align-items:center; gap:8px; margin-bottom:4px; color:var(--text-muted); }
.kb-hint-row kbd { background:var(--bg); border:1px solid var(--border); border-radius:3px; padding:1px 5px; font-size:10px; font-family:inherit; color:var(--text); min-width:16px; text-align:center; }
.kb-hints-close { margin-top:10px; background:var(--accent); color:#fff; border:none; border-radius:6px; padding:5px 14px; font-size:11px; cursor:pointer; width:100%; }
.kb-hints-close:hover { opacity:0.9; }

/* Skeleton Loading States */
.skeleton-loader { padding:20px; }
.skel-line { height:14px; border-radius:6px; background:var(--bg-hover); margin-bottom:12px; animation:skel-shimmer 1.5s ease-in-out infinite; }
.skel-title { width:40%; height:20px; margin-bottom:16px; }
.skel-text { width:80%; }
.skel-short { width:50%; }
.skel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:20px 0; }
.skel-card { height:80px; border-radius:8px; background:var(--bg-hover); animation:skel-shimmer 1.5s ease-in-out infinite; }
.skel-card:nth-child(2) { animation-delay:0.15s; }
.skel-card:nth-child(3) { animation-delay:0.3s; }
@keyframes skel-shimmer { 0%,100% { opacity:0.4; } 50% { opacity:0.7; } }

/* ── R101-R110: Rec Enhancements ─────────────────────────────────── */
.rec-impact-badge { background:var(--green);color:#fff;font-size:10px;padding:2px 6px;border-radius:8px;margin-left:6px;font-weight:600; }
.rec-freshness { font-size:10px;padding:1px 6px;border-radius:4px;margin-left:4px; }
.freshness-fresh { background:rgba(46,204,113,0.15);color:var(--green); }
.freshness-aging { background:rgba(241,196,15,0.15);color:var(--yellow); }
.freshness-stale { background:rgba(231,76,60,0.15);color:var(--red); }
.rtd-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.rtd-header { font-weight:600;font-size:13px;margin-bottom:10px; }
.rtd-row { display:flex;align-items:center;gap:8px;margin-bottom:4px; }
.rtd-label { width:70px;font-size:11px;text-transform:capitalize;color:var(--text-muted); }
.rtd-bar-bg { flex:1;height:12px;background:var(--bg-primary);border-radius:6px;overflow:hidden; }
.rtd-bar-fill { height:100%;border-radius:6px;transition:width 0.3s; }
.rtd-count { font-size:11px;color:var(--text-muted);width:70px;text-align:right; }
.csh-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.csh-header { font-weight:600;font-size:13px;margin-bottom:10px; }
.csh-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px; }
.csh-cell { border-radius:6px;padding:8px;color:#fff;font-size:11px;cursor:default; }
.csh-name { font-size:10px;opacity:0.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.csh-spend { font-weight:700;margin-top:2px; }
.rec-queue-pos { font-size:11px;color:var(--text-muted);margin-left:auto;padding-left:12px; }
.rec-acct-switch { background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:4px 8px;border-radius:6px;font-size:11px;margin-right:8px; }
.sv-alerts { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.sv-header { font-weight:600;font-size:13px;margin-bottom:8px;color:var(--yellow); }
.sv-alert-item { padding:6px 0;border-bottom:1px solid var(--border);font-size:12px; }
.sv-alert-item:last-child { border-bottom:none; }
.sv-ratio { color:var(--red);font-weight:600;margin-left:8px; }
.sv-detail { display:block;color:var(--text-muted);font-size:11px;margin-top:2px; }
.rec-focus-overlay { position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px; }
.rec-focus-card { background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:600px;width:100%; }
.rec-focus-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px; }
.rec-focus-pos { font-size:13px;color:var(--text-muted); }
.rec-focus-type { font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:8px; }
.rec-focus-query { font-size:20px;font-weight:700;margin-bottom:16px; }
.rec-focus-meta { display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-muted);margin-bottom:16px; }
.rec-focus-reason { font-size:13px;color:var(--text-secondary);margin-bottom:20px;line-height:1.5; }
.rec-focus-actions { display:flex;gap:8px;margin-bottom:12px; }
.rec-focus-nav { display:flex;gap:8px;justify-content:center; }

/* ── R111-R120: More Rec Enhancements ────────────────────────────── */
.rec-expanded-details { background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:10px;margin-top:8px;font-size:12px; }
.rec-expanded-row { padding:3px 0;color:var(--text-secondary); }
.rec-expanded-row strong { color:var(--text-primary);margin-right:6px; }
.rec-quick-stats { display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;font-size:12px; }
.rqs-item { color:var(--text-muted); }
.rqs-item strong { color:var(--text-primary); }
.rqs-spend { color:var(--red);font-weight:600; }
.rqs-completion { color:var(--green); }
.rht-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.rht-header { font-weight:600;font-size:13px;margin-bottom:8px; }
.rht-item { display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;border-bottom:1px solid var(--border); }
.rht-item:last-child { border-bottom:none; }
.rht-time { color:var(--text-muted);font-family:monospace;width:40px; }
.rht-icon { font-size:12px; }
.rht-label { color:var(--text-secondary); }
.tws-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.tws-header { font-weight:600;font-size:13px;margin-bottom:8px;color:var(--red); }
.tws-item { display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px; }
.tws-rank { font-weight:700;color:var(--text-muted);width:24px; }
.tws-query { flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.tws-spend { font-weight:600;color:var(--red); }

/* ── R121-R130: More Rec Enhancements ────────────────────────────── */
.mtb-wrap,.art-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.mtb-header,.art-header { font-weight:600;font-size:13px;margin-bottom:10px; }
.mtb-row,.art-row { display:flex;align-items:center;gap:8px;margin-bottom:4px; }
.mtb-label,.art-type { width:70px;font-size:11px;text-transform:capitalize;color:var(--text-muted); }
.art-rate { font-size:11px;color:var(--text-muted);width:90px;text-align:right; }
.rec-priority-legend { display:flex;gap:10px;font-size:11px;margin-left:8px; }
.rpl-item { cursor:default; }
.rec-sparkline { font-family:monospace;font-size:10px;color:var(--text-muted);letter-spacing:1px; }
.ras-chip { font-size:10px;background:var(--bg-primary);padding:1px 6px;border-radius:4px;margin-right:4px; }
.rec-diff-banner { display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;margin-bottom:8px;font-size:12px; }
.rdb-added { color:var(--green);font-weight:600; }
.rdb-removed { color:var(--red);font-weight:600; }
.rdb-total { color:var(--text-muted); }

/* ── R131-R140: Rec Enhancements ─────────────────────────────────── */
.rec-severity { font-size:10px;font-weight:700;margin-left:4px; }
.rec-auto-cat { font-size:9px;color:#fff;padding:1px 5px;border-radius:4px;margin-left:3px; }
.smart-highlights { background:linear-gradient(135deg,rgba(99,132,255,0.08),rgba(46,204,113,0.08));border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:10px; }
.sh-header { font-weight:600;font-size:13px;margin-bottom:8px;color:var(--accent); }
.sh-item { display:flex;flex-direction:column;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px; }
.sh-item:last-child { border-bottom:none; }
.sh-query { font-weight:600; }
.sh-reason { color:var(--text-muted);font-size:11px;margin-top:2px; }
.rch-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.rch-header { font-weight:600;font-size:13px;margin-bottom:10px; }
.rch-chart { display:flex;align-items:flex-end;gap:3px;height:80px; }
.rch-bar-col { flex:1;display:flex;flex-direction:column;align-items:center;height:100%; }
.rch-bar { width:100%;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;margin-top:auto; }
.rch-date { font-size:8px;color:var(--text-muted);margin-top:4px; }
.rdw-wrap,.rec-dash-widget { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px;cursor:pointer;transition:border-color 0.2s; }
.rec-dash-widget:hover { border-color:var(--accent); }
.rdw-title { font-weight:600;font-size:13px;margin-bottom:10px; }
.rdw-stats { display:flex;gap:16px; }
.rdw-stat { text-align:center; }
.rdw-stat strong { display:block;font-size:18px;color:var(--text-primary); }
.rdw-stat span { font-size:10px;color:var(--text-muted); }

/* ── R141-R150: Rec Enhancements ─────────────────────────────────── */
.rdh-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.rdh-header { font-weight:600;font-size:13px;margin-bottom:10px; }
.rdh-grid { display:flex;gap:4px; }
.rdh-cell { flex:1;border-radius:6px;padding:8px 4px;text-align:center;color:#fff;font-size:11px; }
.rdh-day { font-size:10px;opacity:0.9; }
.rdh-avg { font-weight:700;margin-top:2px; }
.roi-calc { background:linear-gradient(135deg,rgba(46,204,113,0.1),rgba(99,132,255,0.1));border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px;text-align:center; }
.roi-header { font-weight:600;font-size:13px;margin-bottom:6px; }
.roi-value { font-size:28px;font-weight:800;color:var(--green); }
.roi-detail { font-size:11px;color:var(--text-muted);margin-top:4px; }
.rqa-bar { display:flex;gap:6px;padding:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-top:12px;justify-content:center; }
.rqa-btn { background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px;transition:background 0.2s; }
.rqa-btn:hover { background:var(--accent);color:#fff; }
.dgr-wrap { display:inline-flex;align-items:center;gap:4px;margin-right:8px; }
.dq-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px;text-align:center; }
.dq-header { font-weight:600;font-size:13px;margin-bottom:6px; }
.dq-score { font-size:24px;font-weight:800; }
.dq-detail { font-size:11px;color:var(--text-muted);margin-top:4px; }

/* ── R151-R160: Rec Enhancements ─────────────────────────────────── */
.spend-trend-up { color:var(--red);font-weight:700;margin-left:2px; }
.spend-trend-down { color:var(--green);font-weight:700;margin-left:2px; }
.spend-trend-flat { color:var(--text-muted);margin-left:2px; }

/* ── R161-R170: Rec Enhancements ─────────────────────────────────── */
.eff-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px;text-align:center; }
.eff-header { font-weight:600;font-size:13px;margin-bottom:6px; }
.eff-score { font-size:28px;font-weight:800; }
.eff-detail { font-size:11px;color:var(--text-muted);margin-top:4px; }
.ril-wrap { background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px; }
.ril-header { font-weight:600;font-size:13px;margin-bottom:8px; }
.ril-row { display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;border-bottom:1px solid var(--border); }
.ril-row:last-child { border-bottom:none; }
.ril-rank { font-weight:700;color:var(--text-muted);width:24px; }
.ril-name { flex:1; }
.ril-count { color:var(--text-muted); }
.ril-spend { font-weight:600;color:var(--red); }
.rhd-wrap { background:linear-gradient(135deg,rgba(99,132,255,0.05),rgba(46,204,113,0.05));border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px; }
.rhd-header { font-weight:600;font-size:14px;margin-bottom:8px; }
.rhd-overall { font-size:32px;font-weight:800;text-align:center;margin:8px 0; }
.rhd-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.rhd-metric { background:var(--bg-secondary);border-radius:6px;padding:8px;text-align:center; }
.rhd-label { display:block;font-size:10px;color:var(--text-muted); }
.rhd-value { display:block;font-size:16px;font-weight:700;margin-top:2px; }
.rec-account-pills { display:flex;flex-wrap:wrap;gap:4px;margin:6px 0; }
.rap-pill { background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);padding:3px 10px;border-radius:12px;font-size:11px;cursor:pointer;transition:all 0.2s; }
.rap-pill:hover,.rap-pill.active { background:var(--accent);color:#fff;border-color:var(--accent); }
.rec-card { counter-increment:rec-counter; }
.rec-feed { counter-reset:rec-counter; }

/* ── PRINT STYLESHEET ────────────────────────────────────────────── */
@media print {
    /* Hide navigation and UI chrome */
    .sidebar, .hamburger-btn, .header-actions, .btn-refresh,
    .tool-account-selector, .date-dropdown, .sidebar-search,
    .cmd-palette-overlay, .stale-data-banner, .nav-pin,
    .logout-link, .sidebar-footer, #hamburger-btn { display:none !important; }

    /* Full-width main content */
    .main { margin-left:0 !important; padding:16px !important; }
    body { background:#fff !important; color:#000 !important; }

    /* Clean up cards for print */
    .tab-panel, .tool-panel { border:none !important; box-shadow:none !important; }
    .page-header { border-bottom:1px solid #ccc; padding-bottom:8px; margin-bottom:16px; }
    .page-title { color:#000 !important; font-size:18px !important; }

    /* Tables */
    table { border-collapse:collapse; width:100%; font-size:11px; }
    th, td { border:1px solid #ccc !important; padding:4px 8px !important; color:#000 !important; background:#fff !important; }
    th { background:#f0f0f0 !important; font-weight:600; }

    /* Metric cards */
    .metric-card, .stat-card, .po-stat { border:1px solid #ccc; background:#fff !important; }

    /* Charts - allow page breaks */
    canvas { max-width:100%; height:auto !important; }

    /* Print footer */
    @page { margin:1.5cm; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Scraper Tools: Ad Scraper, Ad Recon, Trustpilot Intel
   ═══════════════════════════════════════════════════════════════════════ */

.scraper-form {
    background: var(--bg-card, #1e293b);
    border: 1px solid var(--border, #334155);
    border-radius: var(--radius-md, 8px);
    padding: 16px;
    margin-bottom: 16px;
}
.scraper-form-row {
    margin-bottom: 12px;
}
.scraper-form-row label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 4px;
    color: var(--text-primary, #e2e8f0);
}
.scraper-input {
    width: 100%;
    padding: 8px 12px;
    font-size: 13px;
    background: var(--bg-input, #0f172a);
    border: 1px solid var(--border, #334155);
    border-radius: var(--radius-sm, 6px);
    color: var(--text-primary, #e2e8f0);
    font-family: inherit;
    box-sizing: border-box;
}
.scraper-input:focus {
    outline: none;
    border-color: var(--accent, #3b82f6);
}
textarea.scraper-input {
    resize: vertical;
    min-height: 60px;
}
select.scraper-input {
    cursor: pointer;
}

/* Ad Recon heatmap */
.recon-heatmap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}
.recon-heatmap-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.recon-heatmap-label {
    width: 100px;
    font-size: 13px;
    font-weight: 500;
    text-align: right;
    color: var(--text-secondary, #94a3b8);
}
.recon-heatmap-bar {
    flex: 1;
    height: 20px;
    background: var(--bg-input, #0f172a);
    border-radius: 4px;
    overflow: hidden;
}
.recon-heatmap-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}
.recon-heatmap-pct {
    width: 100px;
    font-size: 12px;
    color: var(--text-muted, #64748b);
}

/* Trustpilot rating bars */
.tp-rating-bars {
    margin-bottom: 16px;
}
.tp-rating-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.tp-star-label {
    width: 40px;
    font-size: 13px;
    font-weight: 600;
    text-align: right;
    color: var(--text-primary, #e2e8f0);
}
.tp-bar-track {
    flex: 1;
    height: 18px;
    background: var(--bg-input, #0f172a);
    border-radius: 4px;
    overflow: hidden;
}
.tp-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}
.tp-bar-count {
    width: 80px;
    font-size: 12px;
    color: var(--text-muted, #64748b);
}

/* Trustpilot theme tags */
.tp-theme-tag {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    margin: 2px 4px 2px 0;
}
.tp-theme-tag span {
    opacity: 0.7;
    font-size: 11px;
}
.tp-theme-pos {
    background: rgba(16, 185, 129, 0.15);
    color: var(--success, #10b981);
    border: 1px solid rgba(16, 185, 129, 0.3);
}
.tp-theme-neg {
    background: rgba(239, 68, 68, 0.15);
    color: var(--danger, #ef4444);
    border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Trustpilot quotes */
.tp-quotes {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}
.tp-quote {
    background: var(--bg-card, #1e293b);
    border-left: 3px solid var(--accent, #3b82f6);
    padding: 10px 14px;
    font-size: 13px;
    font-style: italic;
    color: var(--text-secondary, #94a3b8);
    border-radius: 0 6px 6px 0;
}

/* ═══════════════════════════════════════════════════════════════════════
   R112: Gap Analysis, Portfolio Funnel
   ═══════════════════════════════════════════════════════════════════════ */

/* Gap Analysis summary banners */
.gap-summary {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 20px;
    border-radius: var(--radius-md, 8px);
    margin-bottom: 20px;
}
.gap-red { background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.3); }
.gap-amber { background: rgba(245,158,11,0.1); border: 1px solid rgba(245,158,11,0.3); }
.gap-green { background: rgba(16,185,129,0.1); border: 1px solid rgba(16,185,129,0.3); }
.gap-summary-icon { font-size: 28px; flex-shrink: 0; }
.gap-summary-text { font-size: 14px; line-height: 1.5; color: var(--text-primary, #e2e8f0); }
.gap-summary-text em { display: block; margin-top: 6px; font-size: 12px; color: var(--text-muted, #64748b); }

/* Gap pillar cards */
.gap-pillars { display: flex; flex-direction: column; gap: 0; }
.gap-pillar-card {
    padding: 14px 18px;
    border-radius: var(--radius-sm, 6px);
    margin-bottom: 4px;
}
.gap-pillar-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.gap-pillar-num {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    border-radius: 50%;
    background: var(--bg-card, #1e293b);
    color: var(--text-muted, #64748b);
    flex-shrink: 0;
}
.gap-pillar-icon { font-size: 18px; }
.gap-pillar-name { font-weight: 600; font-size: 14px; color: var(--text-primary, #e2e8f0); flex: 1; }
.gap-pillar-metric { font-size: 13px; font-weight: 600; color: var(--text-secondary, #94a3b8); }
.gap-pillar-detail { font-size: 12px; color: var(--text-secondary, #94a3b8); padding-left: 32px; margin-bottom: 2px; }
.gap-pillar-action { font-size: 12px; color: var(--accent, #3b82f6); padding-left: 32px; margin-top: 4px; }
.gap-pillar-arrow { text-align: center; font-size: 16px; color: var(--text-muted, #64748b); padding: 2px 0; }

/* Portfolio Funnel visual */
.funnel-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 12px 0 20px;
}
.funnel-stage {
    background: linear-gradient(90deg, var(--accent, #3b82f6), rgba(59,130,246,0.3));
    padding: 10px 16px;
    border-radius: 6px;
    text-align: center;
    transition: width 0.3s ease;
}
.funnel-stage-value { font-size: 16px; font-weight: 700; color: #fff; }
.funnel-stage-label { font-size: 11px; color: rgba(255,255,255,0.7); margin-top: 2px; }

/* Weakest link badge */
.gap-weak-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    background: rgba(245,158,11,0.15);
    color: var(--warning, #f59e0b);
    border: 1px solid rgba(245,158,11,0.3);
}

/* ── R113: Tilt Monitor / Power Law / Audience Layering / Blended Analyser ── */
.tilt-checks {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 12px 0;
}
.tilt-check-item {
    background: var(--bg-secondary, #1e1e2e);
    border-radius: 8px;
    padding: 12px 16px;
    border-left: 3px solid var(--accent, #6366f1);
}
.tilt-check-header {
    font-size: 14px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.tilt-check-detail {
    font-size: 12px;
    color: var(--text-muted, #94a3b8);
    line-height: 1.5;
    margin-bottom: 4px;
}
.tilt-check-action {
    font-size: 12px;
    color: var(--accent, #6366f1);
    font-weight: 500;
    margin-top: 4px;
}

/* ── 80/20 Hub ────────────────────────────────────────────── */
.hub-header { margin-bottom: var(--space-lg); }
.hub-stats { display: flex; gap: var(--space-md); flex-wrap: wrap; margin-bottom: var(--space-md); }
.hub-stat { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 12px 20px; text-align: center; min-width: 120px; flex: 1; }
.hub-stat-num { font-size: 28px; font-weight: 700; color: var(--text-primary); }
.hub-stat-warn { color: var(--warning); }
.hub-stat-danger { color: var(--danger); }
.hub-stat-ok { color: var(--success); }
.hub-stat-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 2px; }
.hub-filters { display: flex; gap: var(--space-sm); }
.hub-filter-btn { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 6px 14px; font-size: 12px; color: var(--text-secondary); cursor: pointer; transition: all 0.15s; }
.hub-filter-btn:hover { border-color: var(--accent); color: var(--text-primary); }
.hub-filter-btn.active { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 600; }
.hub-cards { display: flex; flex-direction: column; gap: var(--space-md); }
.hub-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-xl); padding: var(--space-lg); transition: border-color 0.15s; }
.hub-card:hover { border-color: var(--accent); }
.hub-card-high { border-left: 3px solid var(--danger); }
.hub-card-clear { opacity: 0.7; }
.hub-card-clear:hover { opacity: 1; }
.hub-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-sm); }
.hub-card-name { font-size: 16px; font-weight: 600; cursor: pointer; color: var(--text-primary); }
.hub-card-name:hover { color: var(--accent); }
.hub-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; }
.hub-badge-ok { background: var(--success-bg); color: var(--success); border: 1px solid rgba(16,185,129,0.3); }
.hub-badge-count { background: var(--warning-bg); color: var(--warning); border: 1px solid rgba(245,158,11,0.3); }
.hub-card-metrics { display: flex; gap: var(--space-md); font-size: 12px; color: var(--text-muted); margin-bottom: var(--space-sm); flex-wrap: wrap; }
.hub-pace-over { color: var(--danger); font-weight: 600; }
.hub-pace-under { color: var(--warning); font-weight: 600; }
.hub-pace-ok { color: var(--success); }
.hub-impact-bar { height: 4px; background: var(--bg-hover); border-radius: 2px; margin-bottom: var(--space-sm); overflow: hidden; }
.hub-impact-fill { height: 100%; border-radius: 2px; transition: width 0.3s ease; }
.hub-wins { display: flex; flex-direction: column; gap: 6px; }
.hub-win { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; border-radius: var(--radius-md); background: var(--bg-hover); gap: var(--space-sm); }
.hub-win-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.hub-win-icon { font-size: 16px; flex-shrink: 0; }
.hub-win-label { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.hub-win-desc { font-size: 11px; color: var(--text-muted); line-height: 1.3; }
.hub-sev-high { border-left: 3px solid var(--danger); }
.hub-sev-medium { border-left: 3px solid var(--warning); }
.hub-sev-low { border-left: 3px solid var(--info); }
.hub-go-btn { background: var(--accent); color: #fff; border: none; border-radius: var(--radius-md); padding: 5px 14px; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background 0.15s; }
.hub-go-btn:hover { background: #0ea572; }
.hub-all-clear { text-align: center; padding: 12px; font-size: 13px; color: var(--text-muted); }

/* ── Platform Filters (80/20 Hub) ─────────────────────────── */
.hub-platform-filters { display: flex; gap: var(--space-sm); margin-bottom: var(--space-sm); }
.hub-platform-btn { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 6px 14px; font-size: 12px; color: var(--text-secondary); cursor: pointer; transition: all 0.15s; display: flex; align-items: center; gap: 5px; }
.hub-platform-btn:hover { border-color: var(--accent); color: var(--text-primary); }
.hub-platform-btn.active { background: var(--bg-hover); border-color: var(--accent); color: var(--text-primary); font-weight: 600; }
.platform-icon-g { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 3px; background: #4285f4; color: #fff; font-size: 10px; font-weight: 700; }
.platform-icon-ms { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 3px; background: #00a4ef; color: #fff; font-size: 10px; font-weight: 700; }
.hub-ms-badge { display: inline-block; padding: 1px 6px; border-radius: 4px; font-size: 10px; font-weight: 700; background: #00a4ef; color: #fff; margin-left: 6px; vertical-align: middle; letter-spacing: 0.5px; }
.hub-filter-count { display: inline-block; background: rgba(255,255,255,0.15); padding: 1px 6px; border-radius: 8px; font-size: 10px; margin-left: 4px; font-weight: 600; }

/* ── Sidebar Google-Only Indicator ─────────────────────────── */
.nav-g-only { display: inline-block; margin-left: auto; padding: 0 5px; border-radius: 3px; font-size: 9px; font-weight: 700; background: rgba(66,133,244,0.2); color: #4285f4; line-height: 16px; flex-shrink: 0; }
.nav-item { display: flex; align-items: center; }

/* ── Account Selector Platform Pills ──────────────────────── */
.tool-platform-pills { display: flex; gap: 4px; margin-bottom: 6px; }
.tool-plat-pill { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 3px 10px; font-size: 11px; color: var(--text-secondary); cursor: pointer; transition: all 0.15s; display: flex; align-items: center; gap: 4px; }
.tool-plat-pill:hover { border-color: var(--accent); color: var(--text-primary); }
.tool-plat-pill.active { background: var(--bg-hover); border-color: var(--accent); color: var(--text-primary); font-weight: 600; }

/* ── MS Graceful Degradation ──────────────────────────────── */
.ms-degradation { text-align: center; padding: 48px 24px; max-width: 400px; margin: 0 auto; }
.ms-degradation-icon { font-size: 40px; margin-bottom: 12px; }
.ms-degradation-title { font-size: 18px; font-weight: 700; color: var(--text-primary); margin-bottom: 8px; }
.ms-degradation-msg { font-size: 13px; color: var(--text-secondary); line-height: 1.5; margin-bottom: 12px; }
.ms-degradation-hint { font-size: 12px; color: var(--text-muted); line-height: 1.5; }
.ms-degradation-hint strong { color: var(--accent); }

/* ── Reference Library Toggle ─────────────────────────────── */
.ref-lib-wrapper { margin-top: 8px; border-top: 1px solid var(--border); padding-top: 8px; }
.ref-lib-toggle { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; cursor: pointer; border-radius: var(--radius-md); font-size: 13px; color: var(--text-secondary); transition: all 0.15s; }
.ref-lib-toggle:hover { background: var(--bg-hover); color: var(--text-primary); }
.ref-lib-toggle.ref-lib-expanded { color: var(--accent); }
.ref-lib-count { font-size: 10px; background: var(--bg-hover); padding: 2px 8px; border-radius: 10px; color: var(--text-muted); }
.ref-lib-sections { padding-top: 4px; }

/* Entity Pills */
.entity-pill {
    display: inline-block;
    padding: 3px 8px;
    background: #e0f2fe;
    color: #0369a1;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #bae6fd;
}
.qm-waste .entity-pill {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}
.qm-opportunity .entity-pill {
    background: #dcfce7;
    color: #166534;
    border-color: #bbf7d0;
}

/* ── AI Chat UI ─────────────────────────────────────────────── */
.chat-layout { display: flex; height: 100%; gap: 20px; }
.chat-main { flex: 1; display: flex; flex-direction: column; background: var(--bg-card); border-radius: var(--radius-xl); border: 1px solid var(--border); overflow: hidden; }
.chat-history { flex: 1; padding: 24px; overflow-y: auto; display: flex; flex-direction: column; gap: 16px; scroll-behavior: smooth; }
.chat-message { display: flex; flex-direction: column; max-width: 80%; }
.chat-user { align-self: flex-end; align-items: flex-end; }
.chat-ai { align-self: flex-start; align-items: flex-start; }
.chat-bubble { padding: 12px 16px; border-radius: 12px; font-size: 14px; line-height: 1.5; text-wrap: pretty;}
.chat-user .chat-bubble { background: var(--accent); color: white; border-bottom-right-radius: 4px; }
.chat-ai .chat-bubble { background: var(--bg-hover); color: var(--text-primary); border-bottom-left-radius: 4px; border: 1px solid var(--border); }
.chat-ai .chat-bubble pre { background: var(--bg-main); padding: 12px; border-radius: 6px; overflow-x: auto; font-size: 13px; font-family: 'SF Mono', 'Fira Code', monospace; border: 1px solid var(--border); margin: 8px 0; white-space: pre-wrap; word-wrap: break-word; }
.chat-ai .chat-bubble code { background: var(--bg-main); padding: 2px 5px; border-radius: 3px; font-size: 13px; font-family: 'SF Mono', 'Fira Code', monospace; }
.chat-ai .chat-bubble pre code { background: none; padding: 0; }
.chat-ai .chat-bubble h3, .chat-ai .chat-bubble h4, .chat-ai .chat-bubble h5, .chat-ai .chat-bubble h6 { margin: 12px 0 6px; font-weight: 600; }
.chat-ai .chat-bubble h3 { font-size: 16px; } .chat-ai .chat-bubble h4 { font-size: 15px; } .chat-ai .chat-bubble h5 { font-size: 14px; }
.chat-ai .chat-bubble p { margin: 4px 0; }
.chat-ai .chat-bubble ul, .chat-ai .chat-bubble ol { margin: 6px 0; padding-left: 20px; }
.chat-ai .chat-bubble li { margin: 3px 0; }
.chat-ai .chat-bubble blockquote { border-left: 3px solid var(--accent); padding-left: 12px; margin: 8px 0; color: var(--text-secondary); font-style: italic; }
.chat-ai .chat-bubble hr { border: none; border-top: 1px solid var(--border); margin: 10px 0; }
.chat-ai .chat-bubble a { color: var(--accent); text-decoration: underline; }
.chat-md-table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 13px; }
.chat-md-table th, .chat-md-table td { border: 1px solid var(--border); padding: 6px 10px; text-align: left; }
.chat-md-table th { background: var(--bg-main); font-weight: 600; }
.chat-md-table tr:nth-child(even) td { background: var(--bg-hover); }
.chat-input-area { padding: 16px; border-top: 1px solid var(--border); display: flex; gap: 12px; background: var(--bg-secondary); }
.chat-input-area textarea { flex: 1; border: 1px solid var(--border); border-radius: 8px; padding: 12px; font-size: 14px; resize: none; min-height: 48px; max-height: 150px; background: var(--bg-card); color: var(--text-primary); transition: border-color 0.2s; font-family: 'Inter', sans-serif;}
.chat-input-area textarea:focus { outline: none; border-color: var(--accent); }
.chat-input-area button { background: var(--accent); color: white; border: none; border-radius: 8px; padding: 0 24px; font-weight: 600; cursor: pointer; transition: opacity 0.2s; }
.chat-input-area button:hover { opacity: 0.9; }
.chat-input-area button:disabled { opacity: 0.5; cursor: not-allowed; }

.chat-sidebar { width: 300px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; padding-right: 8px; }
.chat-sidebar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.chat-sidebar-header h3 { font-size: 15px; font-weight: 600; color: var(--text-primary); }
.new-chat-btn { background: var(--bg-card); border: 1px solid var(--border); color: var(--text-primary); padding: 6px 12px; border-radius: 6px; font-size: 12px; font-weight: 500; cursor: pointer; transition: all 0.2s; }
.new-chat-btn:hover { background: var(--bg-hover); border-color: var(--accent); }
.prompt-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; padding: 16px; cursor: pointer; transition: all 0.2s; }
.prompt-card:hover { border-color: var(--accent); background: var(--bg-hover); transform: translateY(-1px); }
.prompt-card h4 { font-size: 13px; font-weight: 600; color: var(--text-primary); margin-bottom: 6px; }
.prompt-card p { font-size: 12px; color: var(--text-muted); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-9: Progressive Disclosure
   ═══════════════════════════════════════════════════════════════════════════ */
.tool-summary-wrap { display: flex; flex-direction: column; gap: 16px; }
.tool-summary-header { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px; padding: 16px 20px; }
.tool-section { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.tool-section-toggle { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: var(--bg-secondary); cursor: pointer; font-size: 14px; font-weight: 600; color: var(--text-primary); transition: background 0.15s; user-select: none; }
.tool-section-toggle:hover { background: var(--bg-hover); }
.tool-section-chevron { font-size: 16px; color: var(--text-muted); width: 12px; text-align: center; transition: transform 0.2s; }
.tool-section-title { flex: 1; }
.tool-section-content { padding: 16px; }
.tool-section-collapsed .tool-section-content { display: none; }
.tool-show-more-btn { display: block; margin: 12px auto; padding: 8px 24px; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; color: var(--accent); font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.2s; }
.tool-show-more-btn:hover { background: var(--bg-hover); border-color: var(--accent); }
.tool-overflow-wrap { display: flex; flex-direction: column; gap: 16px; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-3: Tool Heat Badges
   ═══════════════════════════════════════════════════════════════════════════ */
.freq-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-left: auto; flex-shrink: 0; }
.freq-daily { background: #10b981; box-shadow: 0 0 4px #10b98155; }
.freq-weekly { background: #3b82f6; box-shadow: 0 0 4px #3b82f655; }
.freq-monthly { background: #f59e0b; box-shadow: 0 0 4px #f59e0b55; }
.freq-reference { background: #6b7280; }
.nav-item { display: flex; align-items: center; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-1: Dashboard Home Page
   ═══════════════════════════════════════════════════════════════════════════ */
.home-dashboard { display: flex; flex-direction: column; gap: 24px; max-width: 900px; }
.home-section { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px; padding: 20px; }
.home-section-title { font-size: 14px; font-weight: 600; color: var(--text-secondary); margin-bottom: 14px; text-transform: uppercase; letter-spacing: 0.5px; }
.home-empty { font-size: 13px; color: var(--text-muted); text-align: center; padding: 16px; }
.home-alert-list { display: flex; flex-direction: column; gap: 8px; }
.home-alert { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 8px; cursor: pointer; transition: all 0.15s; border: 1px solid transparent; }
.home-alert:hover { border-color: var(--border); background: var(--bg-hover); }
.home-alert-high { background: rgba(239,68,68,0.08); }
.home-alert-medium { background: rgba(245,158,11,0.08); }
.home-alert-low { background: rgba(107,114,128,0.06); }
.home-alert-icon { font-size: 18px; flex-shrink: 0; }
.home-alert-text { flex: 1; font-size: 13px; color: var(--text-primary); }
.home-alert-arrow { color: var(--text-muted); font-size: 14px; }
.home-recent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.home-recent-item { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; cursor: pointer; transition: all 0.15s; font-size: 13px; }
.home-recent-item:hover { border-color: var(--accent); background: var(--bg-hover); }
.home-recent-icon { font-size: 16px; }
.home-recent-label { color: var(--text-primary); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-action-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.home-action-card { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 12px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: all 0.2s; }
.home-action-card:hover { border-color: var(--accent); background: var(--bg-hover); transform: translateY(-1px); }
.home-action-icon { font-size: 24px; }
.home-action-label { font-size: 12px; font-weight: 600; color: var(--text-primary); text-align: center; }
.home-account-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.home-account-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; cursor: pointer; transition: all 0.2s; }
.home-account-card:hover { border-color: var(--accent); background: var(--bg-hover); transform: translateY(-1px); }
.home-acct-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.home-acct-name { font-size: 14px; font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-acct-ms { font-size: 9px; background: #3b82f6; color: white; padding: 1px 4px; border-radius: 3px; vertical-align: middle; margin-left: 4px; }
.home-acct-metrics { display: flex; gap: 12px; font-size: 12px; color: var(--text-muted); }
.home-metrics-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.home-metric { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; padding: 14px; text-align: center; }
.home-metric-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.home-metric-value { font-size: 18px; font-weight: 700; color: var(--text-primary); margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-7: Account-First Navigation
   ═══════════════════════════════════════════════════════════════════════════ */
.acct-page { display: flex; flex-direction: column; gap: 20px; max-width: 900px; }
.acct-page-header { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.acct-page-name { font-size: 22px; font-weight: 700; color: var(--text-primary); margin: 0; }
.acct-page-key { font-size: 12px; color: var(--text-muted); font-family: monospace; }
.acct-metrics-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
.acct-metric-card { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; }
.acct-metric-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.acct-metric-value { font-size: 18px; font-weight: 700; color: var(--text-primary); margin-top: 4px; }
.acct-pacing-bar { display: flex; align-items: center; gap: 16px; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; }
.acct-pacing-label { font-size: 13px; font-weight: 600; color: var(--text-secondary); white-space: nowrap; }
.acct-section { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px; padding: 16px 20px; }
.acct-section-title { font-size: 14px; font-weight: 600; color: var(--text-secondary); margin: 0 0 12px 0; }
.acct-rec-list { display: flex; flex-direction: column; gap: 6px; }
.acct-rec-row { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--bg-card); border-radius: 6px; font-size: 13px; }
.acct-rec-type { background: var(--accent); color: white; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.acct-rec-text { flex: 1; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acct-rec-more { padding: 8px 12px; color: var(--accent); font-size: 13px; cursor: pointer; text-align: right; }
.acct-rec-more:hover { text-decoration: underline; }
.acct-tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.acct-tool-card { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 10px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: all 0.2s; }
.acct-tool-card:hover { border-color: var(--accent); background: var(--bg-hover); transform: translateY(-1px); }
.acct-tool-icon { font-size: 22px; }
.acct-tool-label { font-size: 12px; font-weight: 600; color: var(--text-primary); text-align: center; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-10: Stale Data Blocking
   ═══════════════════════════════════════════════════════════════════════════ */
.stale-blocked { filter: blur(2px); opacity: 0.5; pointer-events: none; }
.stale-perf-mask { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; z-index: 50; border-radius: 12px; }
.stale-mask-cta { text-align: center; padding: 32px; }
.stale-mask-icon { font-size: 40px; margin-bottom: 12px; }
.stale-mask-title { font-size: 18px; font-weight: 700; color: white; margin-bottom: 8px; }
.stale-mask-text { font-size: 13px; color: rgba(255,255,255,0.7); margin-bottom: 20px; max-width: 300px; }
.stale-mask-btn { background: var(--accent); color: white; border: none; border-radius: 8px; padding: 10px 24px; font-size: 14px; font-weight: 600; cursor: pointer; transition: opacity 0.2s; }
.stale-mask-btn:hover { opacity: 0.9; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-8: Enhanced Command Palette
   ═══════════════════════════════════════════════════════════════════════════ */
.enh-palette-footer { display: flex; gap: 16px; padding: 8px 16px; border-top: 1px solid var(--border); background: var(--bg-secondary); border-radius: 0 0 12px 12px; }
.enh-hint { font-size: 11px; color: var(--text-muted); display: flex; align-items: center; gap: 4px; }
.enh-hint kbd { background: var(--bg-card); border: 1px solid var(--border); border-radius: 3px; padding: 1px 5px; font-size: 10px; font-family: monospace; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-5: Recommended Tools in Sections
   ═══════════════════════════════════════════════════════════════════════════ */
.nav-suggestions { border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-bottom: 4px; }
.nav-suggestion-header { font-size: 10px; font-weight: 600; color: var(--accent); text-transform: uppercase; letter-spacing: 0.5px; padding: 4px 12px 4px 16px; }
.nav-suggestion-reason { font-size: 9px; color: var(--text-muted); margin-left: auto; padding-left: 8px; white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-2: Sidebar Consolidation
   ═══════════════════════════════════════════════════════════════════════════ */
.nav-sub-header { font-size: 10px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; padding: 8px 12px 2px 16px; }

/* ═══════════════════════════════════════════════════════════════════════════
   UX-6: Persistent Tool Tabs
   ═══════════════════════════════════════════════════════════════════════════ */
.tool-tab-bar { display: flex; gap: 2px; padding: 4px 4px 0; background: var(--bg-secondary); border-bottom: 1px solid var(--border); overflow-x: auto; }
.tool-tab { display: flex; align-items: center; gap: 6px; padding: 8px 14px; background: var(--bg-card); border: 1px solid var(--border); border-bottom: none; border-radius: 8px 8px 0 0; cursor: pointer; font-size: 12px; font-weight: 500; color: var(--text-secondary); transition: all 0.15s; white-space: nowrap; max-width: 180px; }
.tool-tab:hover { background: var(--bg-hover); }
.tool-tab-active { background: var(--bg-main); color: var(--text-primary); font-weight: 600; border-color: var(--accent); border-bottom: 2px solid var(--bg-main); position: relative; top: 1px; }
.tool-tab-label { overflow: hidden; text-overflow: ellipsis; }
.tool-tab-close { font-size: 14px; color: var(--text-muted); cursor: pointer; padding: 0 2px; line-height: 1; border-radius: 3px; }
.tool-tab-close:hover { color: var(--danger, #ef4444); background: rgba(239,68,68,0.1); }

/* ═══════════════════════════════════════════════════════════════════════════
   Negative Conflict Resolution Enhancements
   ═══════════════════════════════════════════════════════════════════════════ */
.conflict-impact-panel { display: flex; gap: 12px; margin: 0 0 16px 0; padding: 12px 16px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; flex-wrap: wrap; }
.conflict-impact-severe { border-color: var(--danger, #ef4444); background: rgba(239,68,68,0.06); }
.conflict-impact-warn { border-color: var(--warning, #f59e0b); background: rgba(245,158,11,0.06); }
.conflict-impact-ok { border-color: var(--success, #22c55e); background: rgba(34,197,94,0.06); }
.conflict-impact-stat { display: flex; flex-direction: column; align-items: center; min-width: 100px; padding: 4px 12px; }
.conflict-impact-num { font-size: 20px; font-weight: 700; color: var(--text-primary); }
.conflict-impact-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 2px; }
.conflict-checkbox { width: 14px; height: 14px; cursor: pointer; accent-color: var(--accent); }
.conflict-batch-bar { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--bg-secondary); border: 1px solid var(--accent); border-radius: 6px; margin-bottom: 8px; font-size: 12px; color: var(--text-secondary); }
.conflict-undo-section { margin-top: 20px; }
.conflict-undo-section h4 { font-size: 13px; font-weight: 600; }
.conflict-undo-row { font-size: 12px; }
.conflict-undo-btn { font-size: 11px; padding: 2px 10px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 4px; cursor: pointer; color: var(--accent); }
.conflict-undo-btn:hover { background: var(--accent); color: #fff; }

/* ═══════════════════════════════════════════════════════════════════
   F6: TOOL ANALYTICS
   ═══════════════════════════════════════════════════════════════════ */
.tool-analytics-bars { display: flex; flex-direction: column; gap: 6px; }
.ta-bar-row { display: flex; align-items: center; gap: 10px; }
.ta-bar-label { width: 180px; font-size: 12px; font-weight: 500; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-shrink: 0; }
.ta-bar-track { flex: 1; height: 22px; background: var(--bg-hover); border-radius: 4px; overflow: hidden; }
.ta-bar-fill { height: 100%; background: var(--accent); border-radius: 4px; transition: width 0.3s ease; min-width: 2px; }
.ta-bar-fill-muted { background: var(--text-muted); opacity: 0.4; }
.ta-bar-count { width: 120px; font-size: 12px; color: var(--text-secondary); text-align: right; flex-shrink: 0; }

/* ═══════════════════════════════════════════════════════════════════
   F3: CHANGE HISTORY TIMELINE
   ═══════════════════════════════════════════════════════════════════ */
.change-timeline { position: relative; padding-left: 24px; }
.change-timeline::before { content: ''; position: absolute; left: 11px; top: 0; bottom: 0; width: 2px; background: var(--border); }
.ct-date-group { margin-bottom: 20px; }
.ct-date-label { font-size: 12px; font-weight: 600; color: var(--accent); margin-bottom: 8px; padding: 2px 8px; background: var(--bg-secondary); border-radius: 4px; display: inline-block; position: relative; left: -8px; }
.ct-entry { display: flex; gap: 10px; margin-bottom: 8px; padding: 8px 12px; background: var(--bg-secondary); border-radius: 8px; border: 1px solid var(--border); position: relative; }
.ct-entry-error { border-color: var(--red); }
.ct-icon { font-size: 16px; flex-shrink: 0; }
.ct-content { flex: 1; min-width: 0; }
.ct-action { font-size: 13px; font-weight: 500; color: var(--text-primary); }
.ct-details { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.ct-error { font-size: 11px; color: var(--red); margin-top: 2px; }
.ct-time { font-size: 10px; color: var(--text-muted); margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════════
   F4: ALERT / NOTIFICATION SYSTEM
   ═══════════════════════════════════════════════════════════════════ */
.alert-bell-btn { position: fixed; top: 12px; right: 20px; z-index: 1100; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 6px 12px; cursor: pointer; font-size: 18px; display: flex; align-items: center; gap: 4px; }
.alert-bell-btn:hover { background: var(--bg-hover); }
.alert-badge { font-size: 11px; font-weight: 700; background: var(--red); color: #fff; border-radius: 10px; padding: 1px 6px; min-width: 16px; text-align: center; }
.alert-dropdown { position: fixed; top: 50px; right: 20px; z-index: 1200; width: 380px; max-height: 500px; overflow-y: auto; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,0.3); display: none; }
.alert-dropdown-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--border); font-weight: 600; font-size: 14px; color: var(--text-primary); }
.alert-clear-all { font-size: 11px; color: var(--accent); background: none; border: none; cursor: pointer; }
.alert-clear-all:hover { text-decoration: underline; }
.alert-empty { padding: 32px 16px; text-align: center; color: var(--text-muted); font-size: 13px; }
.alert-card { display: flex; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--border); cursor: pointer; transition: background 0.15s; }
.alert-card:hover { background: var(--bg-hover); }
.alert-card:last-child { border-bottom: none; }
.alert-card-icon { font-size: 20px; flex-shrink: 0; }
.alert-card-body { flex: 1; min-width: 0; }
.alert-card-title { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.alert-card-msg { font-size: 12px; color: var(--text-secondary); margin-top: 2px; line-height: 1.3; }
.alert-card-acct { font-size: 10px; color: var(--text-muted); margin-top: 4px; }
.alert-critical .alert-card-title { color: var(--red); }
.alert-warning .alert-card-title { color: var(--orange); }
.alert-dismiss { background: none; border: none; color: var(--text-muted); font-size: 18px; cursor: pointer; padding: 0 4px; flex-shrink: 0; }
.alert-dismiss:hover { color: var(--red); }

/* ═══════════════════════════════════════════════════════════════════
   F2: SCHEDULE MANAGER
   ═══════════════════════════════════════════════════════════════════ */
.schedule-table { width: 100%; border-collapse: collapse; }
.schedule-table th { text-align: left; padding: 10px 12px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 2px solid var(--border); }
.schedule-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.schedule-table select { background: var(--bg-secondary); color: var(--text-primary); border: 1px solid var(--border); border-radius: 6px; padding: 6px 10px; font-size: 12px; }

/* ═══════════════════════════════════════════════════════════════════
   R21: SNOOZE SYSTEM
   ═══════════════════════════════════════════════════════════════════ */
.btn-snooze-rec { background: none; border: none; cursor: pointer; font-size: 14px; padding: 2px 4px; opacity: 0.6; transition: opacity 0.15s; }
.btn-snooze-rec:hover { opacity: 1; }
.snooze-menu { position: absolute; right: 0; top: 100%; z-index: 20; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.3); min-width: 140px; overflow: hidden; }
.snooze-menu button { display: block; width: 100%; padding: 8px 14px; background: none; border: none; border-bottom: 1px solid var(--border); color: var(--text-primary); cursor: pointer; font-size: 12px; text-align: left; }
.snooze-menu button:last-child { border-bottom: none; }
.snooze-menu button:hover { background: var(--bg-hover); }
.snooze-count-badge { display: flex; align-items: center; gap: 10px; padding: 6px 14px; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; font-size: 12px; color: var(--text-secondary); margin-bottom: 6px; }
.btn-wake-all { background: none; border: 1px solid var(--accent); color: var(--accent); border-radius: 4px; padding: 2px 8px; font-size: 11px; cursor: pointer; }
.btn-wake-all:hover { background: var(--accent); color: #fff; }

/* ═══════════════════════════════════════════════════════════════════
   R22: FOCUS MODE
   ═══════════════════════════════════════════════════════════════════ */
body.focus-mode .sidebar { display: none !important; }
body.focus-mode .main { margin-left: 0 !important; }
body.focus-mode .hamburger-btn { display: none !important; }
body.focus-mode .alert-bell-btn { display: none !important; }
body.focus-mode .tool-account-selector { display: none !important; }
body.focus-mode .page-title { font-size: 14px; margin-bottom: 8px; }
body.focus-mode .workflow-panel { display: none !important; }
body.focus-mode .account-health-bar { display: none !important; }
body.focus-mode .smart-suggestions { display: none !important; }
body.focus-mode .rec-correlations { display: none !important; }
body.focus-mode .rec-dependencies { display: none !important; }
body.focus-mode .priority-legend { display: none !important; }
body.focus-mode .quick-stats-ribbon { display: none !important; }
body.focus-mode .quick-filter-chips { display: none !important; }
body.focus-mode .snooze-count-badge { display: none !important; }
body.focus-mode #rec-feed { max-width: 720px; margin: 0 auto; }
body.focus-mode .rec-card { border-radius: 12px; margin-bottom: 12px; }
body.focus-mode .rec-status-line { left: 0; }

/* ═══════════════════════════════════════════════════════════════════
   R23: QUICK FILTER CHIPS
   ═══════════════════════════════════════════════════════════════════ */
.quick-filter-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.qf-chip { padding: 4px 10px; border-radius: 16px; border: 1px solid var(--border); background: var(--bg-secondary); color: var(--text-secondary); font-size: 11px; cursor: pointer; transition: all 0.15s; white-space: nowrap; }
.qf-chip:hover { border-color: var(--accent); color: var(--accent); }
.qf-chip.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.qf-chip.qf-clear { border-color: var(--red); color: var(--red); }
.qf-chip.qf-clear:hover { background: var(--red); color: #fff; }

/* ═══════════════════════════════════════════════════════════════════
   R24: NEW REC BADGES
   ═══════════════════════════════════════════════════════════════════ */
.new-rec-badge { font-size: 9px; font-weight: 700; background: var(--green); color: #fff; border-radius: 4px; padding: 1px 5px; text-transform: uppercase; letter-spacing: 0.5px; animation: newBadgePulse 2s ease-in-out 3; }
@keyframes newBadgePulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }

/* ═══════════════════════════════════════════════════════════════════
   R25: ACTION TEMPLATES
   ═══════════════════════════════════════════════════════════════════ */
.btn-template-rec { background: none; border: none; cursor: pointer; font-size: 14px; padding: 2px 4px; opacity: 0.6; transition: opacity 0.15s; }
.btn-template-rec:hover { opacity: 1; }
.template-menu { background: var(--bg-primary); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.3); margin-top: 6px; overflow: hidden; }
.template-menu-header { padding: 6px 12px; font-size: 11px; font-weight: 600; color: var(--text-muted); border-bottom: 1px solid var(--border); }
.template-item { display: block; width: 100%; padding: 6px 12px; background: none; border: none; border-bottom: 1px solid var(--border); color: var(--text-primary); cursor: pointer; font-size: 12px; text-align: left; }
.template-item:last-child { border-bottom: none; }
.template-item:hover { background: var(--bg-hover); }

/* ═══════════════════════════════════════════════════════════════════
   R26: IMPACT ESTIMATES
   ═══════════════════════════════════════════════════════════════════ */
.rec-impact-estimate { font-size: 11px; color: var(--green); font-weight: 600; margin-top: 4px; padding: 2px 8px; background: rgba(34,197,94,0.1); border-radius: 4px; display: inline-block; }

/* ═══════════════════════════════════════════════════════════════════
   R27: ACCOUNT QUICK SWITCH
   ═══════════════════════════════════════════════════════════════════ */
.account-quick-switch { background: var(--bg-secondary); color: var(--text-primary); border: 1px solid var(--border); border-radius: 6px; padding: 6px 10px; font-size: 12px; min-width: 160px; cursor: pointer; margin-right: 8px; }
.account-quick-switch:focus { border-color: var(--accent); outline: none; }

/* ═══════════════════════════════════════════════════════════════════
   R29: KEYBOARD FOCUS RING
   ═══════════════════════════════════════════════════════════════════ */
.rec-card.rec-focused { box-shadow: 0 0 0 2px var(--accent); outline: none; }

/* ═══════════════════════════════════════════════════════════════════
   R31: REC CALENDAR VIEW
   ═══════════════════════════════════════════════════════════════════ */
.rec-calendar { display: flex; gap: 6px; margin: 12px 0; }
.cal-day { flex: 1; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 8px; text-align: center; min-width: 0; }
.cal-today { border-color: var(--accent); }
.cal-day-label { font-size: 10px; color: var(--text-muted); font-weight: 600; }
.cal-day-count { font-size: 18px; font-weight: 700; color: var(--text-primary); margin: 4px 0; }
.cal-rec-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin: 1px; }
.cal-more { font-size: 10px; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════
   R32: APPLIED REC LOG
   ═══════════════════════════════════════════════════════════════════ */
.applied-rec-log { margin-top: 8px; }
.applied-rec-entry { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--border); font-size: 12px; }
.applied-rec-query { flex: 1; color: var(--text-primary); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.applied-rec-account { color: var(--text-muted); font-size: 11px; }
.applied-rec-age { color: var(--text-muted); font-size: 11px; white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════════
   R34: REC TYPE SUMMARY CARDS
   ═══════════════════════════════════════════════════════════════════ */
.rec-type-summaries { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.type-summary-card { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px; cursor: pointer; transition: all 0.15s; min-width: 100px; text-align: center; }
.type-summary-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.tsc-type { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.tsc-count { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.tsc-meta { font-size: 10px; color: var(--text-muted); margin-top: 2px; }

/* ═══════════════════════════════════════════════════════════════════
   R41: AGE DISTRIBUTION
   ═══════════════════════════════════════════════════════════════════ */
.age-dist { display: flex; gap: 8px; align-items: flex-end; height: 100px; padding: 8px 0; }
.age-dist-bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.age-dist-bar { width: 100%; background: var(--accent); border-radius: 4px 4px 0 0; min-height: 4px; transition: height 0.3s; }
.age-dist-bar.age-stale { background: var(--red); }
.age-dist-label { font-size: 10px; color: var(--text-muted); }
.age-dist-count { font-size: 12px; font-weight: 600; color: var(--text-primary); }

/* ═══════════════════════════════════════════════════════════════════
   R42: SMART DISMISS SUGGESTIONS
   ═══════════════════════════════════════════════════════════════════ */
.smart-dismiss-panel { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
.sdp-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.sdp-item { display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid var(--border); }
.sdp-item:last-child { border-bottom: none; }
.sdp-icon { font-size: 18px; flex-shrink: 0; }
.sdp-content { flex: 1; min-width: 0; }
.sdp-label { font-size: 12px; font-weight: 600; color: var(--text-primary); }
.sdp-desc { font-size: 11px; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════
   R43: EXPORT HISTORY
   ═══════════════════════════════════════════════════════════════════ */
.export-history-list { display: flex; flex-direction: column; gap: 8px; }
.export-entry { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px; }
.export-entry-header { display: flex; gap: 12px; align-items: center; margin-bottom: 6px; }
.export-date { font-size: 12px; font-weight: 600; color: var(--text-primary); }
.export-label { font-size: 11px; color: var(--accent); }
.export-rows { font-size: 11px; color: var(--text-muted); margin-left: auto; }
.export-sheets { display: flex; gap: 6px; flex-wrap: wrap; }
.export-sheet-chip { font-size: 10px; padding: 2px 8px; background: var(--bg-hover); border-radius: 4px; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   R44: ACCOUNT PRIORITY LIST
   ═══════════════════════════════════════════════════════════════════ */
.account-priority-list { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
.apl-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.apl-item { display: flex; align-items: center; gap: 8px; padding: 6px 14px; border-bottom: 1px solid var(--border); cursor: pointer; transition: background 0.15s; }
.apl-item:hover { background: var(--bg-hover); }
.apl-item:last-child { border-bottom: none; }
.apl-rank { font-size: 12px; font-weight: 700; color: var(--accent); min-width: 24px; }
.apl-name { font-size: 12px; color: var(--text-primary); flex: 1; }
.apl-badge { font-size: 10px; padding: 2px 8px; border-radius: 4px; font-weight: 600; }
.apl-critical { background: rgba(239,68,68,0.2); color: var(--red); }
.apl-high { background: rgba(245,158,11,0.2); color: var(--amber); }
.apl-medium { background: rgba(59,130,246,0.2); color: var(--accent); }
.apl-low { background: rgba(34,197,94,0.2); color: var(--green); }

/* ═══════════════════════════════════════════════════════════════════
   R45: REC TAGS
   ═══════════════════════════════════════════════════════════════════ */
.rec-tags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
.rec-tag { font-size: 10px; padding: 1px 6px; background: rgba(139,92,246,0.15); color: #a78bfa; border-radius: 4px; display: inline-flex; align-items: center; gap: 2px; }
.rec-tag-remove { background: none; border: none; color: #a78bfa; cursor: pointer; font-size: 12px; padding: 0 2px; line-height: 1; }
.rec-tag-remove:hover { color: var(--red); }
.btn-tag-rec { background: none; border: none; cursor: pointer; font-size: 14px; padding: 2px 4px; opacity: 0.6; transition: opacity 0.15s; }
.btn-tag-rec:hover { opacity: 1; }

/* ═══════════════════════════════════════════════════════════════════
   R56: IMPACT LEADERBOARD
   ═══════════════════════════════════════════════════════════════════ */
.impact-leaderboard { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-top: 16px; overflow: hidden; }
.il-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.il-row { display: flex; align-items: center; gap: 8px; padding: 6px 14px; border-bottom: 1px solid var(--border); cursor: pointer; transition: background 0.15s; }
.il-row:hover { background: var(--bg-hover); }
.il-row:last-child { border-bottom: none; }
.il-rank { font-size: 12px; font-weight: 700; color: var(--accent); min-width: 20px; }
.il-type { min-width: 60px; }
.il-query { flex: 1; font-size: 12px; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.il-account { font-size: 11px; color: var(--text-muted); min-width: 80px; }
.il-spend { font-size: 12px; font-weight: 600; color: var(--red); min-width: 60px; text-align: right; }

/* ═══════════════════════════════════════════════════════════════════
   R57: CLIENT MODE
   ═══════════════════════════════════════════════════════════════════ */
body.client-mode .workflow-panel { display: none !important; }
body.client-mode .rec-bookmarks-bar { display: none !important; }
body.client-mode .smart-dismiss-panel { display: none !important; }
body.client-mode .account-priority-list { display: none !important; }
body.client-mode .review-checklist { display: none !important; }
body.client-mode .account-note { display: none !important; }
body.client-mode .snooze-count-badge { display: none !important; }
body.client-mode .quick-filter-chips { display: none !important; }
body.client-mode .btn-snooze-rec { display: none !important; }
body.client-mode .btn-template-rec { display: none !important; }
body.client-mode .btn-tag-rec { display: none !important; }
body.client-mode .btn-pin-rec { display: none !important; }
body.client-mode .dismiss-dropdown { display: none !important; }
body.client-mode .rec-note-panel { display: none !important; }
body.client-mode .rec-tags { display: none !important; }
body.client-mode .group-mode-selector { display: none !important; }
body.client-mode .rec-status-line { display: none !important; }

/* ═══════════════════════════════════════════════════════════════════
   R58: REC ARCHIVE
   ═══════════════════════════════════════════════════════════════════ */
.archive-filter-bar { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.archive-counts { font-size: 12px; color: var(--text-muted); }
.archive-list { display: flex; flex-direction: column; gap: 4px; }
.archive-entry { display: flex; align-items: center; gap: 8px; padding: 6px 10px; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 6px; font-size: 12px; }
.archive-query { flex: 1; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.archive-account { color: var(--text-muted); font-size: 11px; }
.archive-status { font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 4px; }
.archive-dismissed .archive-status { background: rgba(239,68,68,0.15); color: var(--red); }
.archive-approved .archive-status { background: rgba(34,197,94,0.15); color: var(--green); }

/* ═══════════════════════════════════════════════════════════════════
   R60: SYSTEM HEALTH
   ═══════════════════════════════════════════════════════════════════ */
.system-health { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-top: 16px; overflow: hidden; }
.sh-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.sh-check { display: flex; align-items: center; gap: 8px; padding: 6px 14px; border-bottom: 1px solid var(--border); }
.sh-check:last-child { border-bottom: none; }
.sh-icon { font-size: 14px; }
.sh-label { font-size: 12px; font-weight: 600; color: var(--text-primary); min-width: 120px; }
.sh-detail { font-size: 11px; color: var(--text-muted); }
.sh-stats { font-size: 11px; color: var(--text-muted); padding: 8px 14px; border-top: 1px solid var(--border); }

/* ═══════════════════════════════════════════════════════════════════
   R51: VELOCITY CHART
   ═══════════════════════════════════════════════════════════════════ */
.velocity-chart { display: flex; gap: 4px; align-items: flex-end; height: 80px; padding: 8px 0; }
.vel-bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.vel-bar { width: 100%; background: var(--green); border-radius: 3px 3px 0 0; min-height: 2px; }
.vel-date { font-size: 9px; color: var(--text-muted); }
.vel-indicator { font-size: 12px; color: var(--text-secondary); margin-top: 8px; padding: 6px 12px; background: var(--bg-secondary); border-radius: 6px; }

/* ═══════════════════════════════════════════════════════════════════
   R52: SPEND HEATMAP
   ═══════════════════════════════════════════════════════════════════ */
.spend-heatmap-wrap { overflow-x: auto; }
.spend-heatmap { border-collapse: collapse; font-size: 11px; width: 100%; }
.spend-heatmap th, .spend-heatmap td { padding: 4px 6px; border: 1px solid var(--border); text-align: center; }
.sh-type { font-size: 10px; color: var(--text-muted); writing-mode: vertical-lr; text-orientation: mixed; max-width: 30px; }
.sh-account { font-size: 11px; color: var(--text-primary); text-align: left; white-space: nowrap; }
.sh-cell { font-size: 10px; color: var(--text-primary); min-width: 40px; }

/* ═══════════════════════════════════════════════════════════════════
   R53: DUPE MERGE BADGE
   ═══════════════════════════════════════════════════════════════════ */
.dupe-merge-badge { font-size: 9px; font-weight: 700; background: rgba(139,92,246,0.2); color: #a78bfa; border-radius: 4px; padding: 1px 5px; }

/* ═══════════════════════════════════════════════════════════════════
   R54: ACCOUNT NOTES
   ═══════════════════════════════════════════════════════════════════ */
.account-note { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; }
.an-header { font-size: 12px; font-weight: 600; color: var(--text-secondary); margin-bottom: 6px; display: flex; gap: 8px; align-items: center; }
.an-date { font-size: 10px; color: var(--text-muted); font-weight: 400; }
.an-textarea { width: 100%; min-height: 60px; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 6px; color: var(--text-primary); padding: 8px; font-size: 12px; resize: vertical; font-family: inherit; }

/* ═══════════════════════════════════════════════════════════════════
   R55: REC BOOKMARKS BAR
   ═══════════════════════════════════════════════════════════════════ */
.rec-bookmarks-bar { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.bm-label { font-size: 12px; color: var(--text-muted); }
.bm-btn { padding: 3px 10px; border-radius: 4px; border: 1px solid var(--border); background: var(--bg-secondary); color: var(--text-secondary); font-size: 11px; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; transition: all 0.15s; }
.bm-btn:hover { border-color: var(--accent); color: var(--accent); }
.bm-add { border-style: dashed; }
.bm-delete { font-size: 14px; color: var(--text-muted); margin-left: 2px; }
.bm-delete:hover { color: var(--red); }

/* ═══════════════════════════════════════════════════════════════════
   R46: GROUPING MODE SELECTOR
   ═══════════════════════════════════════════════════════════════════ */
.group-mode-selector { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--text-muted); margin-top: 6px; }
.gm-btn { padding: 3px 10px; border-radius: 4px; border: 1px solid var(--border); background: var(--bg-secondary); color: var(--text-secondary); font-size: 11px; cursor: pointer; transition: all 0.15s; }
.gm-btn:hover { border-color: var(--accent); color: var(--accent); }
.gm-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ═══════════════════════════════════════════════════════════════════
   R47: REVIEW CHECKLIST
   ═══════════════════════════════════════════════════════════════════ */
.review-checklist { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; }
.rcl-header { font-size: 12px; font-weight: 600; color: var(--text-secondary); margin-bottom: 8px; }
.rcl-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 12px; color: var(--text-primary); cursor: pointer; }
.rcl-item input { accent-color: var(--accent); }
.rcl-done { text-decoration: line-through; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════
   R50: REC DASHBOARD HOME
   ═══════════════════════════════════════════════════════════════════ */
.rec-dashboard-home { margin-bottom: 16px; }
.rdh-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.rdh-card { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 10px; padding: 14px; text-align: center; transition: transform 0.15s; }
.rdh-card:hover { transform: translateY(-2px); }
.rdh-primary { border-color: var(--accent); }
.rdh-urgent { cursor: pointer; border-color: var(--amber); }
.rdh-big { font-size: 22px; font-weight: 700; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rdh-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.rdh-sub { font-size: 10px; color: var(--green); margin-top: 2px; }

/* ═══════════════════════════════════════════════════════════════════
   R40: REC QUICK PREVIEW
   ═══════════════════════════════════════════════════════════════════ */
.rec-quick-preview { font-size: 11px; color: var(--text-muted); margin-top: 2px; line-height: 1.4; }

/* ═══════════════════════════════════════════════════════════════════
   R62: FLOATING QUICK ACTIONS TOOLBAR
   ═══════════════════════════════════════════════════════════════════ */
.floating-toolbar { position: absolute; display: flex; gap: 2px; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 6px; padding: 2px 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.4); z-index: 100; }
.floating-toolbar button { background: none; border: none; color: var(--text-secondary); cursor: pointer; padding: 4px 6px; border-radius: 4px; font-size: 13px; }
.floating-toolbar button:hover { background: var(--bg-secondary); color: var(--text-primary); }

/* ═══════════════════════════════════════════════════════════════════
   R63: COMPACT CARD MODE
   ═══════════════════════════════════════════════════════════════════ */
body.rec-compact .rec-card { padding: 6px 10px; }
body.rec-compact .rec-card .rec-meta { display: none; }
body.rec-compact .rec-card .rec-quick-preview { display: none; }
body.rec-compact .rec-card .rec-tags { display: none; }
body.rec-compact .rec-card .rec-impact-estimate { display: none; }
body.rec-compact .rec-card .snooze-menu { display: none; }
body.rec-compact .rec-card .rec-badge { font-size: 9px; padding: 1px 4px; }
body.rec-compact .rec-header { font-size: 12px; }
body.rec-compact .rec-query { font-size: 11px; margin: 2px 0; }

/* ═══════════════════════════════════════════════════════════════════
   R65: DAILY REVIEW GOAL
   ═══════════════════════════════════════════════════════════════════ */
.daily-goal-badge { padding: 6px 12px; margin-bottom: 8px; }
.dg-bar { height: 6px; background: var(--bg-secondary); border-radius: 3px; overflow: hidden; margin-bottom: 4px; }
.dg-fill { height: 100%; background: var(--blue); border-radius: 3px; transition: width 0.3s ease; }
.dg-fill.dg-complete { background: var(--green); }
.dg-text { font-size: 11px; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   R66: REC DEPENDENCY GRAPH
   ═══════════════════════════════════════════════════════════════════ */
.rec-dep-graph { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-top: 12px; overflow: hidden; }
.rdg-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.rdg-section { padding: 6px 14px; }
.rdg-link { font-size: 11px; color: var(--text-muted); padding: 3px 0; }
.rdg-conflict { border-left: 3px solid var(--red); padding-left: 8px; margin: 2px 0; }
.rdg-reinforce { border-left: 3px solid var(--green); padding-left: 8px; margin: 2px 0; }

/* ═══════════════════════════════════════════════════════════════════
   R67: TIME OF DAY ANALYSIS
   ═══════════════════════════════════════════════════════════════════ */
.tod-analysis { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.tod-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.tod-chart { display: flex; gap: 2px; align-items: flex-end; height: 60px; padding: 8px 14px; }
.tod-bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.tod-bar { width: 100%; background: var(--blue); border-radius: 2px 2px 0 0; min-height: 2px; }
.tod-label { font-size: 8px; color: var(--text-muted); }
.tod-peak { font-size: 11px; color: var(--text-secondary); padding: 6px 14px; border-top: 1px solid var(--border); }

/* ═══════════════════════════════════════════════════════════════════
   R69: REC SOURCE BREAKDOWN
   ═══════════════════════════════════════════════════════════════════ */
.rec-source-breakdown { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.rsb-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.rsb-row { display: flex; align-items: center; gap: 8px; padding: 4px 14px; }
.rsb-name { font-size: 11px; color: var(--text-primary); min-width: 120px; }
.rsb-bar { flex: 1; height: 6px; background: var(--bg-primary); border-radius: 3px; overflow: hidden; }
.rsb-fill { height: 100%; background: var(--blue); border-radius: 3px; }
.rsb-count { font-size: 11px; color: var(--text-muted); min-width: 30px; text-align: right; }

/* ═══════════════════════════════════════════════════════════════════
   R70: ACCOUNT COMPARISON MATRIX
   ═══════════════════════════════════════════════════════════════════ */
.acm-wrap { overflow-x: auto; }
.acm-header { font-size: 12px; font-weight: 600; color: var(--text-secondary); margin-bottom: 8px; }
.acm-table { border-collapse: collapse; font-size: 11px; width: 100%; }
.acm-table th { padding: 6px 8px; text-align: left; color: var(--text-muted); border-bottom: 2px solid var(--border); font-weight: 600; }
.acm-table td { padding: 5px 8px; border-bottom: 1px solid var(--border); }
.acm-name { color: var(--text-primary); font-weight: 500; }
.acm-table tr:hover td { background: var(--bg-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   R71: REC AGING ALERT
   ═══════════════════════════════════════════════════════════════════ */
.rec-aging-alert { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; background: var(--bg-secondary); border-left: 4px solid var(--orange); border-radius: 6px; margin-bottom: 10px; font-size: 12px; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   R72: CAMPAIGN HEALTH DASHBOARD
   ═══════════════════════════════════════════════════════════════════ */
.campaign-health { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.ch-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.ch-table { border-collapse: collapse; font-size: 11px; width: 100%; }
.ch-table thead th { padding: 6px 8px; text-align: left; color: var(--text-muted); border-bottom: 1px solid var(--border); font-weight: 600; }
.ch-table td { padding: 5px 8px; border-bottom: 1px solid var(--border); text-align: center; }
.ch-camp-name { text-align: left !important; color: var(--text-primary); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ch-bad td { background: rgba(255,59,48,0.08); }
.ch-warn td { background: rgba(255,149,0,0.06); }

/* ═══════════════════════════════════════════════════════════════════
   R73: KEYBOARD HELP MODAL
   ═══════════════════════════════════════════════════════════════════ */
.kb-help-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 10000; }
.kb-help-modal { background: var(--bg-primary); border: 1px solid var(--border); border-radius: 12px; padding: 20px 24px; max-width: 400px; width: 90%; max-height: 80vh; overflow-y: auto; }
.kb-help-modal h3 { margin: 0 0 12px; color: var(--text-primary); font-size: 16px; }
.kb-grid { display: flex; flex-direction: column; gap: 6px; }
.kb-row { display: flex; align-items: center; gap: 12px; }
.kb-row kbd { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 4px; padding: 2px 8px; font-family: monospace; font-size: 12px; color: var(--text-primary); min-width: 30px; text-align: center; }
.kb-row span { font-size: 12px; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   R74: EXPORT TEMPLATES
   ═══════════════════════════════════════════════════════════════════ */
.export-template-popup { position: absolute; bottom: 100%; left: 0; background: var(--bg-primary); border: 1px solid var(--border); border-radius: 8px; padding: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.4); z-index: 200; min-width: 220px; }
.export-template-menu { display: flex; flex-direction: column; gap: 4px; }
.export-template-btn { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 6px; padding: 6px 10px; color: var(--text-primary); font-size: 11px; cursor: pointer; text-align: left; }
.export-template-btn:hover:not(:disabled) { background: var(--bg-hover); }
.export-template-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* ═══════════════════════════════════════════════════════════════════
   R75: SMART PRIORITY
   ═══════════════════════════════════════════════════════════════════ */
.smart-priority { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-top: 12px; overflow: hidden; }
.sp-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.sp-row { display: flex; align-items: center; gap: 8px; padding: 5px 14px; border-bottom: 1px solid var(--border); }
.sp-row:last-child { border-bottom: none; }
.sp-score { font-size: 13px; font-weight: 700; min-width: 28px; }
.sp-query { font-size: 11px; color: var(--text-primary); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-type { font-size: 10px; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════
   R76: STREAK CALENDAR
   ═══════════════════════════════════════════════════════════════════ */
.streak-cal { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.sc-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.sc-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; padding: 10px 14px; }
.sc-cell { background: var(--green); border-radius: 3px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.sc-day { font-size: 8px; color: var(--text-primary); }

/* ═══════════════════════════════════════════════════════════════════
   R77: SAVED QUICK FILTERS
   ═══════════════════════════════════════════════════════════════════ */
.saved-quick-filters { display: flex; align-items: center; gap: 6px; padding: 6px 0; flex-wrap: wrap; }
.sqf-label { font-size: 11px; color: var(--text-muted); }
.sqf-btn { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 14px; padding: 3px 10px; font-size: 11px; color: var(--text-primary); cursor: pointer; display: flex; align-items: center; gap: 4px; }
.sqf-btn:hover { background: var(--bg-hover); }
.sqf-del { color: var(--text-muted); font-size: 13px; cursor: pointer; }
.sqf-del:hover { color: var(--red); }
.sqf-save { border-style: dashed; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════
   R78: ACCOUNT DEEP DIVE
   ═══════════════════════════════════════════════════════════════════ */
.account-deep-dive { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
.add-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--border); font-size: 12px; color: var(--text-primary); }
.add-body { padding: 10px 14px; }
.add-section { font-size: 11px; color: var(--text-secondary); margin-bottom: 8px; }
.add-section ul { margin: 4px 0 0 16px; padding: 0; }
.add-section li { margin: 2px 0; }

/* ═══════════════════════════════════════════════════════════════════
   R79: BATCH OPS HISTORY
   ═══════════════════════════════════════════════════════════════════ */
.batch-ops-list { max-height: 400px; overflow-y: auto; }
.bop-row { display: flex; gap: 12px; padding: 6px 14px; border-bottom: 1px solid var(--border); font-size: 11px; }
.bop-time { color: var(--text-muted); min-width: 120px; }
.bop-op { color: var(--text-primary); flex: 1; }
.bop-count { color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════════
   R81: REC ANNOTATIONS
   ═══════════════════════════════════════════════════════════════════ */
.rec-annotations { margin-top: 4px; padding-top: 4px; border-top: 1px dashed var(--border); }
.rec-annotation { font-size: 10px; color: var(--text-muted); padding: 1px 0; }
.ra-time { color: var(--text-secondary); font-weight: 500; margin-right: 4px; }

/* ═══════════════════════════════════════════════════════════════════
   R82: WEEKLY COMPARISON
   ═══════════════════════════════════════════════════════════════════ */
.weekly-comparison { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; margin-bottom: 16px; }
.wc-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.wc-grid { display: flex; gap: 0; }
.wc-metric { flex: 1; padding: 10px 14px; text-align: center; border-right: 1px solid var(--border); }
.wc-metric:last-child { border-right: none; }
.wc-label { font-size: 10px; color: var(--text-muted); margin-bottom: 4px; }
.wc-values { font-size: 13px; color: var(--text-primary); }
.wc-this { font-weight: 700; }
.wc-last { color: var(--text-muted); }
.wc-change { font-size: 11px; margin-top: 2px; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════════
   R85: DASHBOARD TOUR
   ═══════════════════════════════════════════════════════════════════ */
.tour-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 10000; display: flex; align-items: center; justify-content: center; }
.tour-popup { background: var(--bg-primary); border: 1px solid var(--border); border-radius: 12px; padding: 20px; max-width: 360px; width: 90%; }
.tour-step { font-size: 10px; color: var(--text-muted); margin-bottom: 8px; }
.tour-text { font-size: 13px; color: var(--text-primary); line-height: 1.5; margin-bottom: 12px; }
.tour-nav { display: flex; gap: 8px; justify-content: flex-end; }

/* ═══════════════════════════════════════════════════════════════════
   R86: REC FEED SEARCH
   ═══════════════════════════════════════════════════════════════════ */
.rec-feed-search { display: flex; align-items: center; gap: 6px; margin: 6px 0; }

/* ═══════════════════════════════════════════════════════════════════
   R87: PERFORMANCE BENCHMARKS
   ═══════════════════════════════════════════════════════════════════ */
.perf-benchmarks { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; margin-bottom: 16px; }
.pb-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.pb-grid { display: flex; gap: 0; }
.pb-metric { flex: 1; padding: 10px 14px; text-align: center; border-right: 1px solid var(--border); }
.pb-metric:last-child { border-right: none; }
.pb-value { display: block; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.pb-label { font-size: 10px; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════
   R89: REC LIFECYCLE TIMELINE
   ═══════════════════════════════════════════════════════════════════ */
.rl-timeline { display: flex; flex-direction: column; gap: 8px; }
.rl-event { display: flex; align-items: center; gap: 8px; padding: 4px 0; border-left: 2px solid var(--border); padding-left: 12px; }
.rl-icon { font-size: 14px; }
.rl-date { font-size: 11px; color: var(--text-muted); min-width: 80px; }
.rl-label { font-size: 12px; color: var(--text-primary); }

/* ═══════════════════════════════════════════════════════════════════
   R90: REC SUMMARY WIDGET
   ═══════════════════════════════════════════════════════════════════ */
.rec-summary-widget { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; cursor: pointer; }
.rec-summary-widget:hover { border-color: var(--blue); }
.rsw-title { font-size: 12px; font-weight: 600; color: var(--text-secondary); margin-bottom: 8px; }
.rsw-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.rsw-item { font-size: 11px; color: var(--text-secondary); text-align: center; }
.rsw-item strong { display: block; font-size: 16px; color: var(--text-primary); }
.rsw-goal { font-size: 10px; color: var(--text-muted); margin-top: 6px; text-align: center; }

/* ═══════════════════════════════════════════════════════════════════
   R92: REC LINKING
   ═══════════════════════════════════════════════════════════════════ */
.rec-links { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.rec-links .rl-icon { margin-right: 2px; }

/* ═══════════════════════════════════════════════════════════════════
   R93: ACCOUNT REVIEW PROGRESS
   ═══════════════════════════════════════════════════════════════════ */
.arp-wrap { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; margin-bottom: 16px; }
.arp-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.arp-row { display: flex; align-items: center; gap: 8px; padding: 5px 14px; }
.arp-name { font-size: 11px; color: var(--text-primary); min-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.arp-bar { flex: 1; height: 6px; background: var(--bg-primary); border-radius: 3px; overflow: hidden; }
.arp-fill { height: 100%; background: var(--green); border-radius: 3px; transition: width 0.3s; }
.arp-pct { font-size: 11px; color: var(--text-muted); min-width: 30px; text-align: right; }

/* ═══════════════════════════════════════════════════════════════════
   R95: CONTEXTUAL HELP
   ═══════════════════════════════════════════════════════════════════ */
.rec-help-tip { position: absolute; top: 6px; right: 6px; font-size: 12px; color: var(--text-muted); cursor: help; opacity: 0.5; }
.rec-help-tip:hover { opacity: 1; }

/* ═══════════════════════════════════════════════════════════════════
   R96: WATCHLIST
   ═══════════════════════════════════════════════════════════════════ */
.watchlist-panel { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-top: 12px; overflow: hidden; }
.wl-header { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border); }
.wl-item { display: flex; align-items: center; gap: 8px; padding: 5px 14px; border-bottom: 1px solid var(--border); }
.wl-item:last-child { border-bottom: none; }
.wl-query { font-size: 11px; color: var(--text-primary); flex: 1; }
.wl-count { font-size: 10px; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════
   R100: HEALTH SCORE
   ═══════════════════════════════════════════════════════════════════ */
.rhs-wrap { text-align: center; padding: 16px; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; }
.rhs-score { font-size: 48px; font-weight: 700; line-height: 1; }
.rhs-label { font-size: 14px; font-weight: 600; margin: 4px 0 10px; }
.rhs-bar { height: 8px; background: var(--bg-primary); border-radius: 4px; overflow: hidden; max-width: 200px; margin: 0 auto; }
.rhs-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }

/* ═══════════════════════════════════════════════════════════════════
   DASHBOARD POLISH — March 2026
   ═══════════════════════════════════════════════════════════════════ */

/* Smooth page transitions */
.tab-panel { animation: fadeIn 0.2s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* Better focus states for accessibility */
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* Improved table row hover */
.perf-table tbody tr { transition: background 0.1s; }
.perf-table tbody tr:hover { background: var(--bg-hover) !important; }

/* Alternating row stripes for readability */
.perf-table tbody tr:nth-child(even) { background: rgba(255,255,255,0.02); }

/* Better nav item transitions */
.nav-item { transition: background 0.15s, color 0.15s, padding-left 0.15s; }
.nav-item:hover { padding-left: 14px; }
.nav-item.active { border-left: 3px solid var(--accent); padding-left: 11px; }

/* Card hover lift effect */
.rec-card { transition: transform 0.15s, box-shadow 0.15s; }
.rec-card:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.3); }

/* Metric chip pulse on update */
.metric-chip .value { transition: color 0.3s; }

/* Sidebar search input polish */
.sidebar-search-input {
    transition: border-color 0.2s, box-shadow 0.2s;
}
.sidebar-search-input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

/* Smooth sidebar scroll */
.sidebar-nav-scroll {
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: var(--border) transparent;
}

/* Tool tab header improvements */
.tool-page-header {
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--bg-primary);
    padding-bottom: 12px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

/* Better button hover states */
.btn-approve { transition: background 0.15s, transform 0.1s; }
.btn-approve:hover { transform: scale(1.02); }
.btn-approve:active { transform: scale(0.98); }

/* Toast notification improvements */
.toast-notification {
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}

/* Empty state styling */
.empty-state {
    text-align: center;
    padding: 48px 24px;
    color: var(--text-muted);
}
.empty-state-icon { font-size: 48px; margin-bottom: 12px; opacity: 0.5; }
.empty-state-title { font-size: 16px; font-weight: 600; color: var(--text-secondary); margin-bottom: 6px; }
.empty-state-desc { font-size: 13px; max-width: 400px; margin: 0 auto; }

/* Mobile hamburger polish */
.hamburger-btn {
    display: none;
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 200;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-size: 20px;
    width: 44px;
    height: 44px;
    cursor: pointer;
    transition: background 0.15s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.hamburger-btn:hover { background: var(--bg-hover); }

/* Mobile: better spacing for main content when sidebar hidden */
@media (max-width: 768px) {
    .main { padding: 60px 12px 24px !important; }
    .page-header { flex-direction: column; gap: 12px; }
    .page-title { font-size: 20px; }
    .header-actions { width: 100%; }
    .header-actions select { flex: 1; }
    .metric-chip { padding: 8px 12px; }
    .metric-chip .label { font-size: 10px; }
    .metric-chip .value { font-size: 16px; }
    .perf-table { font-size: 12px; }
    .perf-table th, .perf-table td { padding: 6px 8px; }
    .sidebar-backdrop.active { display: block; }
}

/* Tablet: 2-column metric chips */
@media (min-width: 769px) and (max-width: 1200px) {
    .metrics-bar { grid-template-columns: repeat(3, 1fr); }
}

/* Wide screen: better use of space */
@media (min-width: 1600px) {
    .main { max-width: 1400px; }
    .metrics-bar { grid-template-columns: repeat(6, 1fr); }
}

/* Scrollbar for tool tabs */
#tab-tool { overflow-y: auto; max-height: calc(100vh - 60px); scroll-behavior: smooth; }

/* Mobile: hide low-priority table columns */
@media (max-width: 768px) {
    /* Hide: Revenue(8), Projected(9), Conv Val Time(11), CPA Time(14), CTR(16), CPC(17), CVR(18), Budget(3), Cycle Day(4), Pacing(5), Sparkline(6) */
    .perf-table th:nth-child(3), .perf-table td:nth-child(3),
    .perf-table th:nth-child(4), .perf-table td:nth-child(4),
    .perf-table th:nth-child(5), .perf-table td:nth-child(5),
    .perf-table th:nth-child(6), .perf-table td:nth-child(6),
    .perf-table th:nth-child(8), .perf-table td:nth-child(8),
    .perf-table th:nth-child(9), .perf-table td:nth-child(9),
    .perf-table th:nth-child(11), .perf-table td:nth-child(11),
    .perf-table th:nth-child(14), .perf-table td:nth-child(14),
    .perf-table th:nth-child(16), .perf-table td:nth-child(16),
    .perf-table th:nth-child(17), .perf-table td:nth-child(17),
    .perf-table th:nth-child(18), .perf-table td:nth-child(18) {
        display: none;
    }
    /* Keep visible: Account(1), Health(2), Spend(7), Conv(10), ROAS(12), CPA(13), Clicks(15), Signal(19) */
}

/* ═══════════════════════════════════════════════════════════════ */
/* Cortex Intelligence Layer                                       */
/* ═══════════════════════════════════════════════════════════════ */
.nav-section[data-section="cortex"] .nav-section-header {
    background: linear-gradient(135deg, rgba(139,92,246,0.15), rgba(59,130,246,0.1));
    color: #a78bfa;
    font-weight: 600;
    border-bottom: 1px solid rgba(139,92,246,0.2);
}
.nav-section[data-section="cortex"] .nav-section-header:hover {
    color: #c4b5fd;
    background: linear-gradient(135deg, rgba(139,92,246,0.2), rgba(59,130,246,0.15));
}
.nav-section[data-section="cortex"] .nav-item {
    color: var(--text-secondary);
}
.nav-section[data-section="cortex"] .nav-item.active {
    background: rgba(139,92,246,0.15);
    color: #a78bfa;
    border-left-color: #8b5cf6;
}

/* ═══════════════════════════════════════════════════════════════ */
/* Cortex Mobile Responsive                                        */
/* ═══════════════════════════════════════════════════════════════ */

/* Tablet breakpoint */
@media (max-width: 1024px) {
    /* Tab bar: scrollable horizontal */
    .cortex-tab-bar,
    [style*="display:flex"][style*="gap:4px"][style*="border-bottom"] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .cortex-tab-bar::-webkit-scrollbar { display: none; }
}

/* Mobile breakpoint */
@media (max-width: 768px) {
    /* Page headers: stack vertically */
    .page-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .page-header .header-actions {
        width: 100%;
        flex-wrap: wrap;
        gap: 6px;
    }
    .page-header .header-actions button {
        flex: 1;
        min-width: 100px;
        font-size: 11px !important;
        padding: 6px 10px !important;
    }

    /* Stat cards: 2 columns on mobile */
    [style*="grid-template-columns: repeat(6"],
    [style*="grid-template-columns: repeat(5"],
    [style*="grid-template-columns: repeat(4"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Triage table: horizontal scroll with sticky first column */
    .cortex-triage-table-wrap,
    [style*="overflow-x:auto"] {
        -webkit-overflow-scrolling: touch;
    }
    .cortex-triage-table-wrap table {
        min-width: 700px;
    }

    /* Card view: single column */
    [style*="grid-template-columns: repeat(auto-fill"] {
        grid-template-columns: 1fr !important;
    }

    /* Summary strip metric cards: 2-col grid */
    .cortex-summary-strip,
    [style*="display:grid"][style*="repeat(6"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Tab bar: hide keyboard shortcuts, compact buttons */
    [style*="cortexTabBar"] kbd,
    .cortex-tab-bar kbd {
        display: none !important;
    }

    /* Drill-down: stack panels */
    [style*="display:grid"][style*="1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* Budget page: stack allocation donut and utilisation chart */
    [style*="display:flex"][style*="min-width:300px"] {
        flex-direction: column !important;
    }

    /* Hypothesis cards: full width */
    [style*="min-width:280px"] {
        min-width: unset !important;
    }

    /* Neg review: compact on mobile */
    [style*="font-size:16px"][style*="font-family:monospace"] {
        font-size: 14px !important;
        word-break: break-all;
    }

    /* Do Right Now: stack items */
    [style*="Do Right Now"] + div [style*="display:flex"][style*="gap:12px"] {
        flex-direction: column !important;
    }

    /* Morning workflow steps: smaller */
    [style*="Morning Workflow"] + div {
        font-size: 11px;
    }

    /* Portfolio ROAS chart: narrower labels */
    [style*="min-width:120px"][style*="text-align:right"] {
        min-width: 80px !important;
        font-size: 10px !important;
    }

    /* Overlays: full-screen on mobile */
    [style*="position:fixed"][style*="max-width:900px"],
    [style*="position:fixed"][style*="max-width:800px"],
    [style*="position:fixed"][style*="max-width:700px"] {
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        height: 100vh !important;
        overflow-y: auto !important;
    }

    /* Impact overlay: full screen */
    #cortex-impact-overlay > div {
        max-width: 100% !important;
        border-radius: 0 !important;
    }

    /* QS table: scrollable */
    #cortex-qs-table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    #cortex-qs-table-container table {
        min-width: 600px;
    }

    /* History table: scrollable */
    [style*="cortex-history"] table {
        min-width: 500px;
    }

    /* Intelligence briefing: compact */
    [style*="Intelligence Briefing"] {
        font-size: 12px;
    }

    /* Chart containers: responsive height */
    canvas[id*="chart"],
    canvas[id*="donut"],
    canvas[id*="Chart"] {
        max-height: 200px !important;
    }

    /* Comparison overlay: stack columns */
    [style*="display:grid"][style*="300px"] {
        grid-template-columns: 1fr !important;
    }

    /* Quick review overlay: full screen */
    [style*="Quick Review"] {
        padding: 16px !important;
    }

    /* Risk heatmap: scrollable */
    [style*="Risk Heatmap"] + div,
    [style*="risk-heatmap"] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Severity heatmap: scrollable */
    [style*="Portfolio Heatmap"] + div {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Filter chips: wrap */
    [style*="display:flex"][style*="gap:6px"][style*="flex-wrap"] {
        gap: 4px !important;
    }
    [style*="display:flex"][style*="gap:6px"] button {
        font-size: 10px !important;
        padding: 3px 8px !important;
    }

    /* Exec summary: tighter spacing */
    [style*="Executive Summary"] {
        padding: 12px !important;
    }

    /* Account notes: full width */
    textarea[style*="width:100%"] {
        min-height: 80px;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    /* Stat cards: single column */
    [style*="grid-template-columns: repeat(2"] {
        grid-template-columns: 1fr !important;
    }

    /* Even smaller fonts for tight spaces */
    .page-title, [style*="font-size:18px"] {
        font-size: 16px !important;
    }

    /* Tab bar: even more compact */
    [style*="padding:5px 12px"][style*="font-size:11px"] {
        padding: 4px 8px !important;
        font-size: 10px !important;
    }

    /* Data freshness: hide label, show just time */
    [style*="Data:"] {
        font-size: 9px !important;
    }
}

/* Touch-friendly: larger tap targets */
@media (hover: none) and (pointer: coarse) {
    /* Bigger buttons for touch */
    button {
        min-height: 36px;
    }

    /* Bigger table rows */
    td, th {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    /* Bigger filter chips */
    [style*="border-radius:6px"][style*="cursor:pointer"] {
        min-height: 32px;
    }
}

/* Print styles */
@media print {
    .sidebar, .hamburger-btn, .alert-bell-btn, .alert-dropdown, .tool-account-selector, .tool-platform-pills, .btn-refresh, .header-actions, .print-view-btn { display: none !important; }
    .main { margin-left: 0 !important; padding: 20px !important; }
}

