/* AdHook Ads Manager - v2 design */
:root{
  --bg:#f3f6fb; --panel:#fff; --text:#0f172a; --text-2:#334155; --muted:#64748b; --line:#e6ebf2; --line-2:#eef2f7;
  --nav-1:#0b1437; --nav-2:#0f1d4d; --nav-text:#c7d2fe; --nav-muted:#6b7bb3;
  --accent:#2563eb; --accent-2:#dbe8ff; --accent-3:#eff5ff;
  --good:#16a34a; --good-bg:#dcfce7; --bad:#dc2626; --bad-bg:#fee2e2; --warn-bg:#fff7e6; --warn:#92400e;
  --r:16px; --r-sm:10px;
  --shadow:0 1px 2px rgba(15,23,42,.04),0 6px 24px rgba(15,23,42,.05);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;letter-spacing:-.01em}
h1{font-size:26px;font-weight:800}
h2{font-size:18px;font-weight:700}
h3{font-size:15px;font-weight:600}
a{color:var(--accent)}
.muted{color:var(--muted)} .small{font-size:12px} .hidden{display:none!important}
code{background:#eef2f7;padding:1px 6px;border-radius:6px;font-size:12px}
svg.i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
svg.i.sm{width:16px;height:16px}

/* ---------- Buttons & form ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 14px;border-radius:12px;cursor:pointer;font:inherit;font-weight:600;white-space:nowrap;text-decoration:none;transition:.15s}
.btn:hover{border-color:#cfd8e6;background:#f8fafc}
.btn.primary{background:linear-gradient(180deg,#3b82f6,#2563eb);border-color:#2563eb;color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.25)}
.btn.primary:hover{background:#1d4ed8}
.btn.danger{color:var(--bad);border-color:#fecaca}
.btn.danger:hover{background:#fef2f2}
.btn.ghost{border-color:transparent;background:transparent}
.btn.sm{padding:6px 10px;font-size:12px;border-radius:9px}
.btn.icon{padding:10px}
.btn:disabled{opacity:.5;cursor:not-allowed}
input,select,textarea{font:inherit;color:var(--text);border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;width:100%}
textarea{resize:vertical;min-height:80px}
input:focus,select:focus,textarea:focus{outline:3px solid var(--accent-2);border-color:var(--accent)}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}
label.f{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin:14px 0 6px}
label.f .muted{font-weight:400}
.hint{font-size:12px;color:var(--muted);margin-top:5px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}

/* ---------- Alerts ---------- */
.alert{padding:12px 16px;border-radius:12px;margin:0 0 16px;font-size:13px}
.alert.err{background:var(--bad-bg);color:#7f1d1d}
.alert.warn{background:var(--warn-bg);color:var(--warn);border:1px solid #fde7b0}
.alert.ok{background:var(--good-bg);color:#14532d}
.alert.info{background:var(--accent-3);color:#1e3a8a;border:1px solid var(--accent-2)}

/* ---------- Layout ---------- */
.app{display:flex;min-height:100vh}
.sidebar{width:280px;flex-shrink:0;background:linear-gradient(180deg,var(--nav-1),var(--nav-2));color:var(--nav-text);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh;z-index:30;overflow:hidden}
.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;color:#fff;padding:0 8px 26px}
.brand .b2{color:#60a5fa}
.logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#6366f1);display:grid;place-items:center;font-weight:800;font-size:22px;color:#fff;box-shadow:0 6px 18px rgba(59,130,246,.35)}
.nav{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -6px;padding:0 6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.nav::-webkit-scrollbar{width:6px}
.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}
.nav a{display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:12px;color:var(--nav-text);text-decoration:none;font-weight:500;font-size:15px;transition:.15s}
.nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.on{background:linear-gradient(90deg,#1e3a8a,#23409c);color:#fff;box-shadow:inset 3px 0 0 #60a5fa}
.side-fill{display:none}
.help{display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px;color:#fff;text-decoration:none;margin:14px 0 16px;flex-shrink:0}
.help b{display:block;font-size:14px}
.help span{font-size:12px;color:var(--nav-muted)}
.userrow{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding:16px 8px 0;color:#fff;flex-shrink:0}
.avatar{width:40px;height:40px;border-radius:50%;background:#26357a;color:#c7d2fe;display:grid;place-items:center;font-weight:700;flex-shrink:0}
.userrow .grow{flex:1;min-width:0}
.userrow .who{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userrow .role{font-size:11px;color:var(--nav-muted);text-transform:uppercase;letter-spacing:.06em}
.userrow a{color:var(--nav-muted);padding:6px;border-radius:8px;display:grid;place-items:center}
.userrow a:hover{color:#fff;background:rgba(255,255,255,.08)}

.main{flex:1;min-width:0;padding:26px 30px 60px}
.topbar{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.title-block{flex:1;min-width:220px}
.eyebrow{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.acc-switch{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:2px 0;cursor:pointer;font:inherit;color:var(--text);text-align:left;max-width:100%}
.acc-switch h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-switch:hover h1{color:var(--accent)}
.copy{border:1px solid var(--line);background:#fff;border-radius:9px;width:32px;height:32px;display:inline-grid;place-items:center;cursor:pointer;color:var(--muted);vertical-align:middle;margin-left:4px}
.copy:hover{color:var(--accent)}
.subline{color:var(--muted);font-size:15px;margin-top:2px}
.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.datebtn{display:flex;align-items:center;gap:10px;min-width:200px;justify-content:space-between;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-weight:500}
.only-mobile{display:none}

/* ---------- Popovers ---------- */
.pop{position:absolute;z-index:60;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.16);padding:8px}
.pop .opt{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;border-radius:9px;cursor:pointer;font:inherit}
.pop .opt:hover,.pop .opt.on{background:var(--accent-3);color:var(--accent)}
.pop .sep{height:1px;background:var(--line-2);margin:6px 4px}
.acc-pop{width:380px;max-height:70vh;display:flex;flex-direction:column}
.acc-pop .search{margin:4px 4px 8px;width:auto}
.acc-pop .list{overflow:auto}
.acc-group{font-size:11px;color:var(--muted);font-weight:600;padding:10px 12px 4px;display:flex;gap:6px;align-items:center}
.acc-item{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 12px;border-radius:9px;cursor:pointer;font:inherit}
.acc-item:hover{background:#f5f7fb}
.acc-item.on{background:var(--accent-3)}
.acc-item b{font-weight:600;display:block}
.acc-item span{font-size:12px;color:var(--muted)}
.acc-item.off{opacity:.55}
.badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;background:#eef2f7;color:#475569;margin-left:6px;vertical-align:1px;text-transform:uppercase;letter-spacing:.03em}
.custom-range{padding:8px 10px 6px;display:grid;gap:8px}

/* ---------- KPI cards ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.kpi{position:relative;border-radius:var(--r);padding:20px 20px 12px;display:flex;flex-wrap:wrap;gap:4px 16px;overflow:hidden;min-height:132px;box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 30%,var(--tint))}
.kpi .ic{width:64px;height:64px;border-radius:16px;background:var(--tile);color:var(--ink);display:grid;place-items:center;flex-shrink:0}
.kpi .ic svg{width:30px;height:30px}
.kpi .lbl{font-size:14px;color:var(--text-2);font-weight:500}
.kpi .val{font-size:26px;font-weight:800;margin:4px 0 6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi .body{min-width:0;z-index:1}
.kpi .body{flex:1}
.kpi .spark{display:block;width:100%;height:34px;margin-top:4px}
.delta{font-size:13px;font-weight:700;white-space:nowrap}
.delta.up{color:var(--good)} .delta.down{color:var(--bad)} .delta.flat{color:var(--muted)}
.delta small{font-weight:500;color:var(--muted);font-size:13px}
.t-blue{--tint:#eaf2ff;--tile:#dbe8ff;--ink:#2563eb}
.t-purple{--tint:#f3edff;--tile:#e9e0ff;--ink:#6d28d9}
.t-green{--tint:#e9fbf0;--tile:#d3f5e0;--ink:#16a34a}
.t-orange{--tint:#fff1e6;--tile:#ffe1c7;--ink:#ea580c}
.t-cyan{--tint:#e7f7fd;--tile:#d2f0fb;--ink:#0891b2}
.t-pink{--tint:#fdecf2;--tile:#fbd6e3;--ink:#db2777}
.t-teal{--tint:#e8faf3;--tile:#cff3e3;--ink:#059669}
.t-violet{--tint:#f1edff;--tile:#e4dcff;--ink:#5b21b6}

/* ---------- Cards ---------- */
.card{background:var(--panel);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:20px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 24px}
.card-head h2{display:flex;align-items:center;gap:10px}
.card-head h2 svg{color:var(--accent)}
.card-body{padding:0 24px 22px}
.chart-box{height:300px;padding:0 20px 18px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;padding:3px;background:#fff;flex-wrap:wrap}
.seg button{border:0;background:transparent;padding:8px 16px;border-radius:9px;cursor:pointer;font:inherit;font-size:13px;font-weight:500;color:var(--text-2)}
.seg button.on{background:var(--accent);color:#fff;font-weight:600}
.pill{background:var(--accent-2);color:var(--accent);font-size:13px;padding:3px 10px;border-radius:99px;font-weight:700}
.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.search-in{position:relative}
.search-in svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}
.search-in input{padding-left:38px;width:260px}
.tools select{width:auto;min-width:140px}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto}
table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
table.data th,table.data td{padding:13px 12px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-2)}
table.data th{font-size:12px;color:var(--muted);font-weight:600;background:#f8fafc;cursor:pointer;user-select:none;position:sticky;top:0}
table.data th.nosort{cursor:default}
table.data th:hover{color:var(--text)}
table.data th.sorted.desc::after{content:" ↓"} table.data th.sorted.asc::after{content:" ↑"}
table.data .l{text-align:left}
table.data .c{text-align:center}
table.data tbody tr:hover{background:#fafcff}
table.data tfoot td{font-weight:700;background:#f8fafc;border-bottom:0}
table.data th:first-child,table.data td:first-child{padding-left:24px}
table.data th:last-child,table.data td:last-child{padding-right:24px}
.nm{font-weight:600;color:var(--accent);max-width:340px;overflow:hidden;text-overflow:ellipsis;cursor:pointer;display:block;text-decoration:none}
.nm:hover{text-decoration:underline}
.sub{display:block;font-size:11px;color:var(--muted);font-weight:500;max-width:340px;overflow:hidden;text-overflow:ellipsis}
.url{max-width:380px;overflow:hidden;text-overflow:ellipsis;display:block;font-size:12px;color:var(--text-2)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st-ENABLED{background:var(--good-bg);color:#15803d}
.st-PAUSED{background:#f1f5f9;color:#475569}
.st-REMOVED,.st-CANCELED,.st-SUSPENDED{background:var(--bad-bg);color:#b91c1c}
.good{color:var(--good);font-weight:700} .bad{color:var(--bad);font-weight:700}
.empty{text-align:center!important;color:var(--muted);padding:40px!important}
.kebab{border:0;background:none;cursor:pointer;padding:6px;border-radius:8px;color:var(--muted)}
.kebab:hover{background:#eef2f7;color:var(--text)}
.bulkbar{display:flex;gap:10px;align-items:center;padding:10px 24px;background:var(--accent-3);border-top:1px solid var(--accent-2);border-bottom:1px solid var(--accent-2);font-size:13px;font-weight:600}
.qs{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;font-size:12px;font-weight:700;background:#eef2f7}
.qs.hi{background:var(--good-bg);color:#15803d} .qs.lo{background:var(--bad-bg);color:#b91c1c}

/* ---------- Page tabs (campaign detail) ---------- */
.back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-weight:600;font-size:13px;margin-bottom:6px;cursor:pointer;background:none;border:0;padding:0;font:inherit}
.back:hover{color:var(--accent)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:4px 0 20px;overflow-x:auto}
.tabs button{border:0;background:none;padding:12px 16px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button.on{color:var(--accent);border-color:var(--accent)}
.meta-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.chip{background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--text-2)}
.form-card{padding:6px 24px 24px}
.section-t{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:22px 0 2px;padding-top:18px;border-top:1px solid var(--line-2)}
.section-t:first-child{border-top:0;padding-top:0}
.kv{display:flex;gap:8px;margin-bottom:8px}
.kv input{flex:1}
.save-bar{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}

/* ---------- Reports / insights ---------- */
.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rep-grid .card{margin:0}
.bar-box{height:240px;padding:0 20px}
.insight{display:flex;gap:14px;padding:16px 24px;border-top:1px solid var(--line-2);align-items:flex-start}
.insight .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
.insight .ic.bad{background:var(--bad-bg);color:var(--bad)}
.insight .ic.good{background:var(--good-bg);color:var(--good)}
.insight .ic.info{background:var(--accent-2);color:var(--accent)}
.insight b{display:block}

/* ---------- Automation / tools / settings ---------- */
.list-item{display:flex;gap:14px;align-items:center;padding:16px 24px;border-top:1px solid var(--line-2)}
.list-item .grow{flex:1;min-width:0}
.list-item .t{font-weight:700}
.switch{position:relative;width:40px;height:22px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:#cbd5e1;border-radius:99px;cursor:pointer;transition:.15s}
.switch span::before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s}
.switch input:checked+span{background:var(--accent)}
.switch input:checked+span::before{transform:translateX(18px)}
.cond{display:grid;grid-template-columns:1fr 110px 1fr 36px;gap:8px;margin-bottom:8px}
.log-row{display:flex;gap:14px;padding:12px 24px;border-top:1px solid var(--line-2);font-size:13px}
.log-row .t{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tool-grid .card{margin:0}
.diff{font-size:12px;font-family:ui-monospace,Consolas,monospace;word-break:break-all}
.diff .o{color:#b91c1c;text-decoration:line-through}
.diff .n{color:#15803d}

/* ---------- Status card (inactive accounts) ---------- */
.status-panel{text-align:center;padding:50px 20px}
.status-panel .sp{width:60px;height:60px;border-radius:50%;background:#f1f5f9;display:grid;place-items:center;margin:0 auto 12px;color:var(--muted)}
.status-panel p{max-width:540px;margin:6px auto}

/* ---------- Modal ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:80;display:grid;place-items:center;padding:16px;animation:fade .15s}
.modal{background:#fff;border-radius:18px;width:min(620px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.modal.wide{width:min(900px,100%)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line-2)}
.modal-body{padding:4px 24px 20px;overflow:auto}
.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line-2)}
@keyframes fade{from{opacity:0}to{opacity:1}}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#0f172a;color:#fff;padding:12px 20px;border-radius:12px;z-index:90;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:90vw}
.loading{opacity:.5;pointer-events:none;transition:opacity .2s}
.spin{display:inline-block;width:16px;height:16px;border:2px solid #cbd5e1;border-top-color:var(--accent);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-3px}
@keyframes sp{to{transform:rotate(360deg)}}

/* ---------- Login / connect pages ---------- */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 20% 0%,#1e3a8a 0%,var(--nav-1) 60%)}
.login-card{width:100%;max-width:400px;background:#fff;border-radius:20px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.login-card .brand{color:var(--text);padding:0 0 10px}
.login-card .btn{width:100%;justify-content:center;margin-top:20px;padding:12px}
.connect-wrap{min-height:100vh;display:flex;justify-content:center;padding:32px 16px;background:var(--bg)}
.connect-card{width:100%;max-width:680px;background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow);align-self:flex-start}
.connect-card .brand{color:var(--text);padding:0}
.step{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line-2)}
.step .num{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--accent-2);color:var(--accent);display:grid;place-items:center;font-weight:700}
.step>div:last-child{flex:1;min-width:0}
.step p{margin:4px 0 12px}
.tok{width:100%;min-height:84px;font-family:ui-monospace,Consolas,monospace;font-size:12px;margin-bottom:10px}
.example{font-family:ui-monospace,Consolas,monospace;font-size:12px;background:#f1f5f9;padding:8px 10px;border-radius:8px;overflow-wrap:anywhere}
.conn-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.conn-item{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.conn-item .grow{flex:1;min-width:0}
.conn-item .email{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.conn-item .avatar{background:var(--accent-2);color:var(--accent);width:36px;height:36px}
.roots{list-style:none;margin:8px 0 0;padding:0;font-size:12px;display:flex;flex-direction:column;gap:4px}
.roots li b{display:inline-block;min-width:58px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}
.roots li.error b,.err-t{color:var(--bad)}
.roots li.inactive b{color:var(--muted)}
.link{color:var(--accent);text-decoration:none;font-weight:600}

/* ---------- Responsive ---------- */
@media (max-width:1280px){.kpi .ic{width:52px;height:52px}.kpi .val{font-size:23px}}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rep-grid,.tool-grid{grid-template-columns:1fr}}
@media (max-width:900px){
  .only-mobile{display:inline-flex}
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .25s}
  .sidebar.open{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.3)}
  .main{padding:16px 16px 60px}
  h1{font-size:21px}
  .chart-box{height:230px}
  .search-in input{width:100%}
  .search-in{flex:1}
  .grid2{grid-template-columns:1fr}
  .acc-pop{width:calc(100vw - 32px)}
  .cond{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){.kpis{grid-template-columns:1fr}.datebtn{min-width:0}}
label.f.row{display:flex}
.switch{display:inline-block}
input[type=radio]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}

/* ---------- v4: campaign wizard / RSA / targeting ---------- */
.wiz{position:relative;padding-left:0}
.wiz .form-card{padding-left:64px}
.wiz-n{position:absolute;left:22px;top:22px;width:28px;height:28px;border-radius:50%;background:var(--accent-2);color:var(--accent);font-weight:800;display:grid;place-items:center;font-size:13px}
.wiz .section-t:first-child{margin-top:22px}
.wiz-bar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin:8px 0 20px;box-shadow:var(--shadow)}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.seg-o{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:12px;padding:12px 12px 12px 36px;cursor:pointer;position:relative;font-size:13px}
.seg-o input{position:absolute;left:12px;top:14px;width:16px;height:16px;accent-color:var(--accent)}
.seg-o span{color:var(--muted);font-size:12px}
.seg-o:has(input:checked){border-color:var(--accent);background:var(--accent-3)}
.chips-sel{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;align-items:center}
.chip.on{background:var(--accent-3);border-color:var(--accent-2);color:#1e3a8a;display:inline-flex;align-items:center;gap:4px}
.chip.on button{border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:#1e3a8a;padding:0 0 0 4px}
.chip.add{cursor:pointer}
.chip.add:hover{border-color:var(--accent);color:var(--accent)}
.geo-quick{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.geo-search{position:relative;max-width:520px}
.geo-search .search-in{width:100%}
.geo-search .search-in input{width:100%}
.geo-res{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:300px;overflow:auto;z-index:20}
.gr{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 12px;font:inherit;cursor:pointer;border-bottom:1px solid var(--line-2)}
button.gr:hover{background:var(--accent-3)}
.count-pill{display:inline-block;min-width:24px;text-align:center;background:var(--line-2);border-radius:99px;padding:1px 8px;font-size:11px;font-weight:700;color:var(--text-2);margin-left:4px}
.count-pill.bad{background:var(--warn-bg);color:var(--warn)}
.kprev{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.kprev .chip{font-weight:500;font-family:ui-monospace,Menlo,monospace;font-size:11px}
.kprev .kw-EXACT{border-color:#bbf7d0;background:#f0fdf4}
.kprev .kw-PHRASE{border-color:var(--accent-2);background:var(--accent-3)}
.rsa{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}
.rsa-side{position:sticky;top:12px;align-self:start}
.section-mini{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 8px}
.cnt-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.cnt-row input{flex:1}
.cnt{font-size:11px;color:var(--muted);min-width:38px;text-align:right;font-variant-numeric:tabular-nums}
.cnt.over{color:var(--bad);font-weight:700}
.rsa .btn.sm{margin:2px 0 4px}
.ad-prev{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff;font-family:Arial,sans-serif}
.ap-spons{font-size:12px;font-weight:700;color:#202124}
.ap-url{font-size:12px;color:#202124;margin:2px 0 4px;word-break:break-all}
.ap-h{color:#1a0dab;font-size:18px;line-height:1.3;margin-bottom:4px}
.ap-d{color:#4d5156;font-size:13px}
.final-url{margin-top:14px}
.final-url code{display:block;white-space:normal;word-break:break-all;padding:8px 10px;margin-top:4px}
.done-ic{width:56px;height:56px;border-radius:50%;background:var(--good-bg);color:var(--good);display:grid;place-items:center;margin:0 auto 12px}
.done-ic svg.i{width:28px;height:28px}
@media (max-width:860px){
  .rsa{grid-template-columns:1fr}
  .rsa-side{position:static}
  .seg{grid-template-columns:1fr}
  .wiz .form-card{padding-left:24px}
  .wiz-n{position:static;margin:18px 0 0 24px}
  .wiz-bar{flex-direction:column;align-items:stretch}
  .wiz-bar .row{justify-content:stretch}
  .wiz-bar .btn{flex:1;justify-content:center}
}
.geo.neg .chip.on{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.geo.neg .chip.on button{color:#991b1b}
.sched-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.sched-row select{width:auto;min-width:120px}
.sched-row .s-day{min-width:130px}
.sched-vis{margin:12px 0 4px;max-width:560px}
.sv-grid{display:grid;grid-template-columns:34px 1fr;gap:4px 8px;align-items:center}
.sv-d{font-size:11px;color:var(--muted);font-weight:600}
.sv-bar{position:relative;height:10px;background:var(--line-2);border-radius:5px;overflow:hidden}
.sv-bar i{position:absolute;top:0;bottom:0;background:var(--accent);border-radius:5px}
.sv-ax{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}

/* ================= v5: Campaign builder (professional) ================= */
.wz{--wz-gap:18px}
.wz .card{border:1px solid var(--line);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.wz-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.crumbs{font-size:12px;color:var(--muted);margin-bottom:4px}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}
.crumbs b{color:var(--text-2);font-weight:600}
.wz-title{font-size:24px;font-weight:800;margin:0 0 2px}
.wz-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn.blocked{opacity:.65}
/* stepper */
.stepper{position:sticky;top:0;z-index:15;display:flex;align-items:stretch;gap:4px;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:6px;margin-bottom:var(--wz-gap);overflow-x:auto;scrollbar-width:none}
.stepper::-webkit-scrollbar{display:none}
.stepper button{flex:1;min-width:150px;display:flex;align-items:center;gap:10px;border:0;background:none;padding:9px 12px;border-radius:10px;cursor:pointer;text-align:left;font:inherit;color:var(--text-2);position:relative}
.stepper button:hover{background:#f8fafc}
.stepper .sn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:#eef2f7;color:var(--muted);flex-shrink:0;transition:.2s}
.stepper .st{display:flex;flex-direction:column;line-height:1.2}
.stepper .st b{font-size:13px}.stepper .st small{font-size:11.5px;color:var(--muted)}
.stepper button.done .sn{background:var(--good-bg);color:var(--good)}
.stepper button.bad .sn{background:#fff1f2;color:var(--bad)}
.stepper button.on{background:var(--accent-3)}
.stepper button.on .sn{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.3)}
.stepper button.on .st b{color:var(--accent)}
.step-score{display:flex;align-items:center;gap:6px;padding:0 14px;border-left:1px solid var(--line);white-space:nowrap;font-size:14px}
.step-score small{color:var(--muted);font-size:11px}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.dot.good,.bar i.good{background:var(--good)}.dot.mid,.bar i.mid{background:#f59e0b}.dot.low,.bar i.low{background:var(--bad)}
/* top row */
.wz-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:var(--wz-gap);align-items:start;margin-bottom:var(--wz-gap)}
.wz-top .card{margin:0}
.sb{padding:20px 22px;background:linear-gradient(135deg,#f5f8ff 0%,#fff 55%);border-color:#dbe6ff!important}
.sb-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.sb-head h3{font-size:17px;margin:0 0 2px}.sb-head p{margin:0}
.sb-ic{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#2563eb);color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 16px rgba(79,70,229,.3)}
.sb-in{display:flex;gap:10px}
.sb-in .search-in{flex:1}.sb-in .search-in input{width:100%;height:44px}
.sb-in .btn{height:44px;padding:0 18px}
.sb-load{display:flex;gap:12px;align-items:center;padding:16px 4px 2px}
.sb-found{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:16px}
.src{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;background:#f1f5f9;color:var(--muted)}
.src.ok{background:var(--good-bg);color:#15803d}
.sb-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.sb-box{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;margin-top:12px;min-width:0}
.sb-grid .sb-box{margin-top:0}
.sb-t{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.sb-t label{display:flex;gap:8px;align-items:center;font-weight:700;font-size:13px;cursor:pointer}
.kvs{display:grid;gap:5px}
.kvs>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.kvs span{color:var(--muted);flex-shrink:0}.kvs b{text-align:right;font-weight:600;min-width:0;overflow-wrap:anywhere}
.kvs b.url{font-weight:500;font-size:12px}
.sb-kw{max-height:280px;overflow:auto;border:1px solid var(--line-2);border-radius:10px}
.sb-kw table.data th{position:sticky;top:0;background:#f8fafc;z-index:1}
.sb-kw td,.sb-kw th{padding:7px 10px!important;font-size:12.5px}
.comp{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}
.comp.LOW{background:var(--good-bg);color:#15803d}.comp.MEDIUM{background:var(--warn-bg);color:var(--warn)}.comp.HIGH{background:var(--bad-bg);color:#b91c1c}
.sb-line{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-bottom:1px dashed var(--line-2);font-size:13px;cursor:pointer}
.sb-line span{flex:1}.sb-line em{font-style:normal;font-size:11px;color:var(--muted)}
.sb-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
/* health card */
.hc{padding:18px 20px}
.hc-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.hc-head h3{display:flex;gap:8px;align-items:center;font-size:16px;margin:0 0 2px}
.hc-head h3 svg{color:var(--accent)}.hc-head p{margin:0}
.t-bad{color:var(--bad)}
.ring .rb{fill:none;stroke:#eef2f7;stroke-width:8}
.ring .rf{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .4s}
.ring.good .rf{stroke:var(--good)}.ring.mid .rf{stroke:#f59e0b}.ring.low .rf{stroke:var(--bad)}
.ring text{font-size:20px;font-weight:800;fill:var(--text)}
.hc-bars{display:grid;gap:8px;margin:14px 0 12px}
.hb{display:grid;grid-template-columns:118px 1fr 40px;gap:10px;align-items:center;font-size:12.5px}
.hb span{color:var(--text-2)}.hb b{text-align:right;font-size:12px}
.bar{height:7px;background:#eef2f7;border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;transition:width .4s}
.hc-issues{display:grid;gap:6px;border-top:1px solid var(--line-2);padding-top:12px;max-height:300px;overflow:auto}
.iss{display:flex;gap:8px;align-items:flex-start;text-align:left;border:0;border-radius:9px;padding:7px 10px;font:inherit;font-size:12.5px;cursor:pointer;line-height:1.35}
.iss svg{margin-top:1px}
.iss.err{background:#fff1f2;color:#9f1239}.iss.warn{background:#fffbeb;color:#92400e}.iss.ok{background:var(--good-bg);color:#166534;cursor:default}
.iss:hover{filter:brightness(.97)}
/* sections */
.wz-sec{display:grid;grid-template-columns:minmax(0,1fr) 300px;margin-bottom:var(--wz-gap);scroll-margin-top:80px;overflow:hidden}
.wz-sec.wide{grid-template-columns:1fr}
.wz-body{padding:20px 24px 24px;min-width:0}
.wz-aside{background:#fafcff;border-left:1px solid var(--line-2);padding:20px 18px;display:flex;flex-direction:column;gap:14px}
.sec-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:4px}
.sec-h h3{font-size:17px;margin:2px 0 2px}.sec-h p{margin:0;color:var(--muted);font-size:13px}
.sec-n{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;flex-shrink:0;box-shadow:0 4px 12px rgba(37,99,235,.25)}
.in-pre{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.in-pre span{display:grid;place-items:center;padding:0 10px;background:#f8fafc;color:var(--muted);font-size:12px;font-weight:700;border-right:1px solid var(--line)}
.in-pre input{border:0;border-radius:0}.in-pre:focus-within{outline:3px solid var(--accent-2);border-color:var(--accent)}
.in-pre input:focus{outline:0}
.wz .seg-o{padding:14px 14px 14px 40px;min-height:92px}
.seg-ic{width:28px;height:28px;border-radius:8px;background:var(--accent-3);color:var(--accent);display:grid;place-items:center;margin-bottom:4px}
.check-row{gap:8px;align-items:center;font-weight:500!important;flex-wrap:wrap}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.sc-t{display:flex;gap:7px;align-items:center;font-weight:700;font-size:13px;margin-bottom:10px}
.sc-t svg{color:var(--accent)}
.sc-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px dashed var(--line-2)}
.sc-row:last-child{border:0}.sc-row span{color:var(--muted)}
.sc-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}
.sc-stats div{background:#f8fafc;border-radius:9px;padding:8px 10px}
.sc-stats b{display:block;font-size:18px}.sc-stats span{font-size:11px;color:var(--muted)}
.sc-list{display:flex;flex-wrap:wrap;gap:4px}
.tips{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border-radius:12px;padding:14px}
.tips-t{display:flex;gap:7px;align-items:center;font-weight:700;font-size:13px;color:#4338ca;margin-bottom:8px}
.tip{display:flex;gap:8px;font-size:12.5px;color:var(--text-2);margin-bottom:6px;line-height:1.4}
.tip svg{color:var(--good);flex-shrink:0;margin-top:1px}
.conv{display:flex;gap:6px;align-items:center;font-weight:600;font-size:13px;margin-bottom:4px}
.conv.ok{color:#15803d}.conv.bad{color:#b91c1c}
/* RSA */
.prev-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:14px 0 10px;flex-wrap:wrap}
.prev-head b{display:flex;gap:6px;align-items:center;font-size:13px}
.seg-mini{display:inline-flex;background:#f1f5f9;border-radius:9px;padding:3px}
.seg-mini button{border:0;background:none;font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:7px;cursor:pointer;color:var(--muted);display:flex;gap:5px;align-items:center}
.seg-mini button.on{background:#fff;color:var(--accent);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.ad-prev{border-radius:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);font-family:Arial,Roboto,sans-serif;margin:0 auto;transition:max-width .25s}
.ad-prev.mobile{max-width:360px;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.ad-prev.desktop{max-width:100%}
.ad-prev.desktop .ap-h{font-size:20px}
.ap-top{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.ap-fav{width:26px;height:26px;border-radius:50%;background:#e8f0fe;color:#1a73e8;display:grid;place-items:center;font-size:12px;font-weight:700}
.ap-site{font-size:14px;color:#202124;text-transform:capitalize}
.ap-top .ap-url{margin:0;color:#4d5156}
.ap-spons{font-size:12px;font-weight:700;color:#202124;margin-bottom:4px;display:block}
.rsa-strength{margin:14px auto 8px;max-width:360px}
.as-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}
.as-Excellent{color:var(--good)}.as-Good{color:#16a34a}.as-Average{color:#d97706}.as-Poor{color:var(--bad)}
input.bad-in{border-color:#fca5a5;background:#fff7f7}
/* bottom bar */
.wz .wiz-bar{border-radius:14px}
.wb-l{display:flex;align-items:center;gap:10px;min-width:0}
.wb-r{display:flex;gap:10px}
.mini-score{font-weight:800;font-size:13px;padding:4px 10px;border-radius:99px}
.mini-score.good{background:var(--good-bg);color:#15803d}.mini-score.mid{background:var(--warn-bg);color:var(--warn)}.mini-score.low{background:var(--bad-bg);color:#b91c1c}
.wz #w_gt{max-width:560px}
@media (max-width:1180px){
  .wz-top{grid-template-columns:1fr}
  .wz-sec{grid-template-columns:1fr}
  .wz-aside{border-left:0;border-top:1px solid var(--line-2);display:grid;grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .wz-title{font-size:20px}
  .wz-head{align-items:stretch}
  .wz-actions{width:100%}.wz-actions .btn{flex:1;justify-content:center}
  .stepper button{min-width:auto;flex:0 0 auto;padding:8px}
  .stepper .st small{display:none}
  .stepper .st b{font-size:12px}
  .step-score{padding:0 10px}
  .wz-body{padding:16px}
  .wz-aside{grid-template-columns:1fr;padding:16px}
  .sb{padding:16px}
  .sb-in{flex-direction:column}
  .sb-grid{grid-template-columns:1fr}
  .hb{grid-template-columns:100px 1fr 36px}
  .wz .seg-o{min-height:0}
  .wz .wiz-bar{flex-direction:column;align-items:stretch}
  .wb-r{flex-direction:column}.wb-r .btn{justify-content:center}
  .wb-l .small{display:none}
}
@media (max-width:480px){
  .stepper .st{display:none}
  .stepper button.on .st{display:flex}
}

.wz-top>*,.wz-sec>*,.sb-grid>*{min-width:0}
.sb-done{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--good-bg);color:#166534;font-size:13px;font-weight:600}
.sb-done span{display:flex;gap:6px;align-items:center}
.wz .wiz-bar{flex-wrap:nowrap}
.wb-l{flex:1}
.wb-l .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-r{flex-shrink:0}
@media (max-width:860px){
  .wz .wiz-bar{flex-direction:row;align-items:center;padding:10px 12px}
  .wb-l{flex:0 0 auto}
  .wb-r{flex-direction:row;flex:1}
  .wb-r #w_create{flex:1}
  .hide-sm{display:none}
  #w_create_top{display:none}
  .sb-kw td,.sb-kw th{white-space:nowrap}
}

/* ---------- Access & sharing ---------- */
.acx-intro{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.acx-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.acx-card p{margin:4px 0 0;color:var(--muted);font-size:13px}
.acx-ic{width:40px;height:40px;border-radius:12px;background:var(--accent-3);color:var(--accent);display:grid;place-items:center;flex-shrink:0}
.acx-ic.alt{background:#f5f3ff;color:#6d28d9}
.sub-h{padding:14px 24px 8px;font-weight:700;font-size:13px;color:var(--text-2);border-top:1px solid var(--line-2);display:flex;gap:8px;align-items:center}
.u-cell{display:flex;gap:10px;align-items:center}
.avatar.sm{width:30px;height:30px;font-size:12px}
.role-sel{width:auto;min-width:130px;padding:6px 10px}
.role-list{display:grid;gap:8px}
.role-o{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}
.role-o input{grid-row:span 2;width:16px;height:16px;accent-color:var(--accent)}
.role-o span{color:var(--muted);font-size:12px}
.role-o:has(input:checked){border-color:var(--accent);background:var(--accent-3)}
.badge.share{background:#f5f3ff;color:#6d28d9}
@media (max-width:860px){.acx-intro{grid-template-columns:1fr}.sub-h{padding:12px 16px 6px}}

/* ---------- Manager account: new accounts ---------- */
.gen-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:6px}
details.more{margin:14px 0 4px;border:1px dashed var(--line);border-radius:10px;padding:10px 14px}
details.more summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--accent)}
.mc-t{margin-top:12px;border:1px solid var(--line-2);border-radius:10px}
.mc-t td{padding:6px 8px!important}.mc-t input,.mc-t select{padding:7px 9px;font-size:13px}
.mc-t .r-name{min-width:200px}.mc-t select{min-width:120px}
.pill.bad{background:var(--bad-bg);color:#b91c1c}
@media (max-width:860px){.gen-row{grid-template-columns:1fr 1fr}.gen-row>div:first-child{grid-column:span 2}}

/* ---------- Conversion tracking ---------- */
.tag-b{margin:14px 0}
.tag-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.tag-h b{font-size:13px}
.tag-b pre.example{white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;font-size:12px;line-height:1.5}
.tag-load{padding:24px;text-align:center;color:var(--muted)}
.kw-url{color:var(--accent);text-decoration:none}
.kw-url:hover{text-decoration:underline}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.preset-chips{display:flex;flex-wrap:wrap;gap:8px}
.preset-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--accent-2);border-radius:999px;cursor:pointer;font-size:13px;user-select:none}
.preset-chip input{margin:0}
.preset-chip:has(input:checked){border-color:var(--accent);background:var(--accent-3);color:var(--accent);font-weight:600}
