.btn { display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .9rem; border-radius:.5rem; font-size:.875rem; font-weight:500; background:#4f46e5; color:#fff; }
.btn:hover { background:#4338ca; }
.btn-sec { display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .9rem; border-radius:.5rem; font-size:.875rem; font-weight:500; background:#fff; color:#334155; border:1px solid #cbd5e1; }
.btn-sec:hover { background:#f1f5f9; }
.btn-danger { color:#b91c1c; border-color:#fecaca; }
.inp { width:100%; border:1px solid #cbd5e1; border-radius:.5rem; padding:.45rem .65rem; font-size:.875rem; background:#fff; }
.inp:focus { outline:2px solid #c7d2fe; border-color:#6366f1; }
/* same look in Safari/Chrome/Firefox: no native select chrome, equal heights, no number spinners */
input.inp, select.inp { height:2.35rem; line-height:1.25rem; -webkit-appearance:none; appearance:none; }
input.inp[type=checkbox], input.inp[type=radio] { height:auto; -webkit-appearance:auto; appearance:auto; }
select.inp { padding-right:2rem; cursor:pointer; background-color:#fff; background-repeat:no-repeat; background-position:right .6rem center; background-size:.9rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E"); }
select.inp[multiple] { height:auto; background-image:none; padding-right:.65rem; }
select.inp::-ms-expand { display:none; }
input.inp[type=number] { -moz-appearance:textfield; }
input.inp[type=number]::-webkit-inner-spin-button, input.inp[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
input.inp::placeholder, .cs-input::placeholder { color:#94a3b8; opacity:1; }
.cs-box { box-sizing:border-box; }
.lbl { display:block; font-size:.75rem; font-weight:600; color:#475569; margin-bottom:.25rem; text-transform:uppercase; letter-spacing:.03em; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius:.75rem; padding:1.25rem; }
.tbl th { text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:#64748b; font-weight:600; padding:.5rem .6rem; background:#f8fafc; }
.tbl td { padding:.5rem .6rem; border-top:1px solid #f1f5f9; font-size:.85rem; vertical-align:top; }
.tbl tr:hover td { background:#fafaff; }
.pill { display:inline-block; padding:.1rem .5rem; border-radius:999px; font-size:.72rem; font-weight:500; background:#f1f5f9; color:#475569; white-space:nowrap; }
.pill-wp { background:#e0f2fe; color:#075985; } .pill-shopify { background:#dcfce7; color:#166534; }
.pill-err { background:#fee2e2; color:#991b1b; } .pill-ok { background:#d1fae5; color:#065f46; } .pill-q { background:#fef3c7; color:#92400e; }
.copy-ok { background:#d1fae5 !important; }
/* lead side panel */
#lead-panel-wrap { overscroll-behavior:contain; position:fixed; top:3.5rem; right:0; bottom:0; width:min(620px, 48vw); background:#fff; border-left:1px solid #e2e8f0; box-shadow:-8px 0 24px rgba(15,23,42,.08); overflow-y:auto; z-index:30; }
body.panel-open { overflow:hidden; }
body.panel-open main { padding-right:calc(min(620px, 48vw) + 1rem); max-width:none; }
.lead-row.is-active td { background:#eef2ff !important; }
@media (max-width: 900px) { #lead-panel-wrap { width:100vw; } body.panel-open main { padding-right:1rem; } }
/* country multi-select */
.cs { position:relative; }
.cs-box { display:flex; flex-wrap:wrap; gap:.3rem; align-items:center; min-height:2.35rem; border:1px solid #cbd5e1; border-radius:.5rem; padding:.15rem .4rem; background:#fff; cursor:text; }
.cs-box:focus-within { outline:2px solid #c7d2fe; border-color:#6366f1; }
.cs-chips { display:contents; }
.cs-chip { display:inline-flex; align-items:center; gap:.25rem; background:#eef2ff; color:#3730a3; border-radius:999px; padding:.1rem .25rem .1rem .55rem; font-size:.78rem; }
.cs-chip button { width:1.1rem; height:1.1rem; border-radius:999px; line-height:1; color:#4338ca; }
.cs-chip button:hover { background:#c7d2fe; }
.cs-input { flex:1; min-width:7rem; height:1.75rem; border:0; outline:0; font-size:.875rem; padding:0 .25rem; background:transparent; -webkit-appearance:none; appearance:none; }
.cs-list { position:absolute; left:0; right:0; top:100%; margin-top:.25rem; max-height:16rem; overflow-y:auto; background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; box-shadow:0 8px 20px rgba(15,23,42,.1); z-index:40; }
.cs-opt { padding:.4rem .65rem; font-size:.85rem; cursor:pointer; display:flex; justify-content:space-between; }
.cs-opt span { color:#94a3b8; font-size:.75rem; }
.cs-opt:hover, .cs-opt.on { background:#eef2ff; }
.cs-empty { padding:.5rem .65rem; font-size:.8rem; color:#94a3b8; }
.cs-list.hidden { display:none; }
.cs-chip button { border:0; background:transparent; cursor:pointer; }
.btn[disabled] { opacity:.45; cursor:not-allowed; }
.htmx-indicator { display:none; } .htmx-request .htmx-indicator, .htmx-request.htmx-indicator { display:inline; }
/* avatars */
.gt-av { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:999px; object-fit:cover; vertical-align:middle; font-weight:600; line-height:1; color:#fff; user-select:none; }
.gt-av-none { background:#cbd5e1; }
.gt-av-c0 { background:#6366f1; } .gt-av-c1 { background:#0ea5e9; } .gt-av-c2 { background:#10b981; } .gt-av-c3 { background:#f59e0b; }
.gt-av-c4 { background:#ef4444; } .gt-av-c5 { background:#8b5cf6; } .gt-av-c6 { background:#14b8a6; } .gt-av-c7 { background:#ec4899; }
.ai-bar { height:.35rem; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.ai-bar > span { display:block; height:100%; background:#6366f1; }
.ai-bar.warn > span { background:#f59e0b; } .ai-bar.over > span { background:#ef4444; }
