/* Verix — SLEEK DARK theme. Charcoal + metallic gold accents, depth
   via shadows + gradients, refined typography. (Same theme approved on the
   preview; now driving the live owner CRM.) */
:root{
  --bg:#000000; --panel:#0a0a0a; --card:#141414; --card2:#0e0e0e; --bd:#232323; --bd2:#363636;
  --txt:#ececea; --mut:#9c9c96; --faint:#85857e;
  --gold:#D4AF37; --gold-hi:#EFCB68; --gold2:#A8842C; --lime:#a3e635; --amber:#fbbf24; --rose:#fb7185; --blue:#60a5fa;
  --radius:12px; --radius-lg:16px;
  --shadow:0 12px 30px rgba(0,0,0,.45);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;} html,body{margin:0;padding:0;}
body{font-family:var(--font);background:var(--bg);color:var(--txt);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(900px 500px at 82% -8%,rgba(212,175,55,.10),transparent),radial-gradient(720px 420px at -8% 0%,rgba(212,175,55,.10),transparent);background-attachment:fixed;}
h1,h2,h3{font-weight:600;margin:0;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;}
.muted{color:var(--mut);} .right{text-align:right;} .nowrap{white-space:nowrap;}

/* ── layout ───────────────────────────────────────────── */
.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh;}
.sidebar{background:#000;border-right:1px solid var(--bd);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;}
.main{min-width:0;}
.content{padding:24px 30px 50px;max-width:1180px;}

/* ── sidebar ──────────────────────────────────────────── */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 16px;border-bottom:1px solid var(--bd);}
.brand-lockup{display:flex;align-items:center;gap:10px;}
.brand-mark{width:36px;height:36px;background:url('/assets/verix-logo.png') no-repeat;background-size:78.375px 78.375px;background-position:-21.25px -9.8px;display:block;}
.brand-word{width:107px;height:24px;background:url('/assets/verix-logo.png') no-repeat;background-size:137.76px 137.76px;background-position:-16.7px -84.48px;display:block;}
.brand .sub{font-size:11px;color:var(--faint);padding-left:2px;}
.nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px;}
.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:14px 10px 6px;}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--mut);cursor:pointer;font-size:13.5px;}
.nav-item:hover{background:rgba(255,255,255,.04);color:var(--txt);}
.nav-item.active{background:linear-gradient(90deg,rgba(212,175,55,.16),rgba(212,175,55,.02));color:var(--gold);box-shadow:inset 2px 0 0 var(--gold);}
.nav-item .ic{width:18px;height:18px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.nav-foot{margin-top:auto;padding:14px 18px;border-top:1px solid var(--bd);font-size:11px;color:var(--faint);}
.nav-foot .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);margin-right:6px;}

/* ── topbar ───────────────────────────────────────────── */
.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:24px 30px 0;}
.topbar h1{font-size:23px;color:#fff;}
.topbar .crumb{font-size:12.5px;color:var(--faint);margin-bottom:4px;}
.topbar .meta{font-size:12.5px;color:var(--mut);text-align:right;display:flex;align-items:center;gap:14px;}
.topbar .meta b{font-weight:500;color:#fff;}
.btn-refresh{font-size:12.5px;color:var(--mut);background:rgba(255,255,255,.02);border:1px solid var(--bd2);border-radius:999px;padding:6px 13px;cursor:pointer;font-family:var(--font);display:inline-flex;align-items:center;gap:6px;}
.btn-refresh:hover{border-color:var(--gold);color:var(--txt);}

/* ── focus visibility (keyboard a11y, on-theme gold ring) ── */
.nav-item:focus-visible,.btn-refresh:focus-visible,.chip:focus-visible,.chat-input button:focus-visible,.login-card button:focus-visible,.btn-logout:focus-visible{outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 3px rgba(212,175,55,.18);}

/* ── kpis & cards ─────────────────────────────────────── */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:22px;}
.kpi{position:relative;background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius-lg);padding:18px 20px;overflow:hidden;box-shadow:var(--shadow);}
.kpi::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--gold2),var(--gold-hi));box-shadow:0 0 14px rgba(212,175,55,.55);}
.kpi .label{font-size:12px;color:var(--mut);display:flex;align-items:center;gap:7px;}
.kpi .value{font-size:31px;font-weight:600;color:#fff;margin-top:9px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 22px rgba(212,175,55,.28);}
.kpi .delta{font-size:12px;color:var(--faint);margin-top:7px;}
.kpi .delta.up{color:var(--lime);} .kpi .delta.down{color:var(--rose);}
.kpi .ic{width:16px;height:16px;color:var(--gold);}

.card{background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:20px;box-shadow:var(--shadow);}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.card-head h2{font-size:15px;font-weight:600;color:#fff;}
.card-head .hint{font-size:12px;color:var(--faint);}
.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start;}
@media(max-width:920px){.grid-2{grid-template-columns:1fr;}.app{grid-template-columns:64px 1fr;}.brand{align-items:center;}.brand-word,.brand .sub,.nav-item span:not(.ic),.nav-section,#conn{display:none;}.nav-foot{text-align:center;padding-left:0;padding-right:0;}.nav-foot .dot{margin-right:0;}}

/* ── tables ───────────────────────────────────────────── */
.tbl{width:100%;border-collapse:collapse;font-size:13px;}
.tbl th{text-align:left;font-weight:500;color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:0 12px 10px;border-bottom:1px solid var(--bd);}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--bd);vertical-align:middle;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tr:hover td{background:rgba(255,255,255,.03);}
.tbl .mono{font-variant-numeric:tabular-nums;color:var(--mut);font-size:12.5px;}
.tbl .strong{font-weight:500;color:#fff;}
.tbl .sub{color:var(--faint);font-size:12px;}
.tbl-wrap{overflow-x:auto;}

/* ── badges & tags ────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid transparent;}
.badge .d{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor;}
.b-new,.b-closed_lost,.b-unchecked,.b-proposal,.b-pending{background:rgba(136,150,173,.13);color:#b4b4aa;border-color:rgba(136,150,173,.22);}
.b-scrubbing,.b-install_scheduled,.b-approved{background:rgba(251,191,36,.14);color:var(--amber);border-color:rgba(251,191,36,.25);}
.b-dialable{background:rgba(34,211,238,.14);color:#67e8f9;border-color:rgba(34,211,238,.28);}
.b-in_dialer,.b-signed{background:rgba(96,165,250,.14);color:var(--blue);border-color:rgba(96,165,250,.26);}
.b-contacted{background:rgba(167,139,250,.16);color:#c4b5fd;border-color:rgba(167,139,250,.3);}
.b-appointment_set{background:rgba(163,230,53,.13);color:#bef264;border-color:rgba(163,230,53,.26);}
.b-closed_won,.b-installed,.b-clear,.b-paid{background:rgba(52,211,153,.15);color:#6ee7b7;border-color:rgba(52,211,153,.28);}
.b-dnc_suppressed,.b-on_dnc,.b-cancelled,.b-litigator_flag,.b-clawback{background:rgba(251,113,133,.14);color:#fda4af;border-color:rgba(251,113,133,.27);}
.tag{font-size:11.5px;color:var(--mut);background:rgba(255,255,255,.04);border:1px solid var(--bd);padding:2px 8px;border-radius:6px;white-space:nowrap;}

/* ── chips / filters ──────────────────────────────────── */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.chip{font-size:12.5px;font-family:var(--font);padding:6px 12px;border-radius:999px;border:1px solid var(--bd2);background:rgba(255,255,255,.02);color:var(--mut);cursor:pointer;}
.chip:hover{border-color:var(--gold);color:var(--txt);}
.chip.active{background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(212,175,55,.18));border-color:var(--gold);color:var(--gold-hi);}
.chip .n{opacity:.7;margin-left:5px;}

/* ── avatars ──────────────────────────────────────────── */
.av{width:30px;height:30px;border-radius:9px;background:rgba(212,175,55,.14);color:var(--gold2);border:1px solid rgba(212,175,55,.25);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex:0 0 auto;}
.who{display:flex;align-items:center;gap:9px;}

/* ── funnel ───────────────────────────────────────────── */
.funnel{display:flex;flex-direction:column;gap:11px;}
.funnel-row{display:grid;grid-template-columns:120px 1fr 42px;align-items:center;gap:12px;font-size:13px;}
.funnel-row .lab{color:var(--mut);}
.funnel-track{height:22px;background:#0d0d0d;border:1px solid var(--bd);border-radius:8px;overflow:hidden;}
.funnel-fill{height:100%;border-radius:7px;background:linear-gradient(90deg,#A8842C,#D4AF37 70%,#EFCB68);box-shadow:0 0 16px rgba(212,175,55,.45);min-width:2px;}
.funnel-row .ct{text-align:right;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;}

/* ── leaderboard bars ─────────────────────────────────── */
.lb-row{display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--bd);}
.lb-row:last-child{border-bottom:none;}
.lb-rank{font-size:15px;font-weight:600;color:var(--faint);text-align:center;}
.lb-rank.top{color:var(--gold);text-shadow:0 0 12px rgba(212,175,55,.5);}
.lb-main{min-width:0;}
.lb-name{display:flex;align-items:center;gap:9px;margin-bottom:9px;}
.lb-name .nm{font-weight:500;color:#fff;}
.lb-stats{display:flex;flex-wrap:wrap;gap:18px;font-size:12.5px;color:var(--mut);margin-bottom:9px;}
.lb-stats b{color:#fff;font-weight:500;}
.lb-stats .sets{color:var(--lime);}
.lb-track{height:8px;background:#0d0d0d;border:1px solid var(--bd);border-radius:6px;overflow:hidden;}
.lb-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#A8842C,#D4AF37 70%,#EFCB68);box-shadow:0 0 14px rgba(212,175,55,.5);min-width:2px;}

/* ── kanban ───────────────────────────────────────────── */
.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:start;}
@media(max-width:1100px){.kanban{grid-template-columns:repeat(3,1fr);}}
@media(max-width:760px){.kanban{grid-template-columns:repeat(2,1fr);}}
.kcol{background:rgba(10,10,10,.6);border:1px solid var(--bd);border-radius:var(--radius-lg);padding:12px;}
.kcol-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;padding:0 2px;}
.kcol-head .t{font-size:13px;font-weight:500;color:#fff;}
.kcol-head .c{font-size:12px;color:var(--mut);background:rgba(255,255,255,.05);border:1px solid var(--bd);border-radius:999px;padding:1px 9px;}
.kcol-sum{font-size:11.5px;color:var(--faint);margin:-6px 2px 11px;}
.kcol-empty{font-size:12px;color:var(--faint);padding:10px 2px;}
.deal{background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius);padding:11px 12px;margin-bottom:9px;box-shadow:0 6px 16px rgba(0,0,0,.3);}
.deal:last-child{margin-bottom:0;}
.deal .o{font-weight:500;font-size:13.5px;color:#fff;}
.deal .addr{font-size:11.5px;color:var(--faint);margin-top:2px;}
.deal .m{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12.5px;color:var(--mut);}
.deal .price{font-weight:600;color:var(--lime);font-variant-numeric:tabular-nums;}
.deal .u{font-size:11.5px;color:var(--faint);margin-top:7px;}
.deal .closer{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11.5px;color:var(--mut);}
.deal .closer .av{width:20px;height:20px;font-size:10px;}

/* ── activity ─────────────────────────────────────────── */
.act{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--bd);}
.act:last-child{border-bottom:none;}
.act .ic{width:30px;height:30px;border-radius:9px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);}
.act .ic svg{width:16px;height:16px;}
.act .tx{font-size:13px;color:var(--txt);}
.act .tm{font-size:11.5px;color:var(--faint);margin-top:2px;}
.ic-deal{color:var(--lime);} .ic-appt{color:var(--gold);} .ic-stage{color:var(--gold2);} .ic-dnc{color:var(--rose);} .ic-ingest{color:var(--amber);}
.ic-success{color:var(--lime);} .ic-failed{color:var(--rose);} .ic-partial{color:var(--amber);} .ic-running{color:var(--gold);}

/* ── assistant ────────────────────────────────────────── */
.chat{display:flex;flex-direction:column;gap:14px;max-width:760px;}
.chat-log{display:flex;flex-direction:column;gap:14px;min-height:120px;}
.msg{display:flex;gap:11px;}
.msg .av{width:30px;height:30px;}
.msg.user{flex-direction:row-reverse;}
.bubble{background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius-lg);padding:12px 15px;font-size:13.5px;line-height:1.55;max-width:78%;color:var(--txt);box-shadow:var(--shadow);white-space:pre-wrap;word-break:break-word;}
.msg.user .bubble{background:linear-gradient(135deg,rgba(212,175,55,.16),rgba(212,175,55,.16));border-color:rgba(212,175,55,.3);color:#f2efe6;}
.msg.user .av{background:rgba(212,175,55,.16);color:var(--gold);border-color:rgba(212,175,55,.3);}
.bubble .matched{display:block;margin-top:8px;font-size:11.5px;color:var(--faint);white-space:normal;}
.chat-input{display:flex;gap:10px;}
.chat-input input{flex:1;height:42px;border:1px solid var(--bd2);border-radius:var(--radius);padding:0 14px;font-size:14px;font-family:var(--font);outline:none;background:var(--card2);color:var(--txt);}
.chat-input input::placeholder{color:var(--faint);}
.chat-input input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16);}
.chat-input button{height:42px;padding:0 18px;border:none;border-radius:var(--radius);background:linear-gradient(135deg,#EFCB68,#C9971F);color:#201503;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font);box-shadow:0 0 18px rgba(212,175,55,.35);}
.chat-input button:hover{filter:brightness(1.08);}
.chat-input button:disabled{opacity:.55;cursor:default;filter:none;}
.suggest{display:flex;flex-wrap:wrap;gap:8px;}

/* ── narrative / callout ──────────────────────────────── */
.narrative{background:linear-gradient(135deg,rgba(212,175,55,.08),rgba(212,175,55,.08));border:1px solid var(--bd2);border-radius:var(--radius-lg);padding:16px 18px;font-size:13.5px;line-height:1.65;color:#d6d3c8;margin-bottom:20px;}
.narrative b{color:#fff;font-weight:600;}

/* ── states (loading / empty / error) ─────────────────── */
.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 20px;color:var(--mut);font-size:13.5px;text-align:center;}
.state .big{font-size:15px;color:#fff;font-weight:500;}
.state.err .big{color:#fda4af;}
.spinner{width:22px;height:22px;border-radius:50%;border:2px solid rgba(212,175,55,.25);border-top-color:var(--gold);animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.empty-inline{font-size:13px;color:var(--faint);padding:18px 2px;}

/* ── login gate (deployed / auth mode) ─────────────────── */
#login,#takeover{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;
  background:radial-gradient(900px 500px at 82% -8%,rgba(212,175,55,.12),transparent),radial-gradient(720px 420px at -8% 0%,rgba(212,175,55,.12),transparent),var(--bg);}
.login-card{width:100%;max-width:360px;background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius-lg);padding:26px 26px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:13px;}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.login-brand .logo{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#EFCB68,#C9971F);display:flex;align-items:center;justify-content:center;color:#201503;box-shadow:0 0 22px rgba(212,175,55,.5);flex:0 0 auto;}
.login-logo{width:150px;height:150px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;box-shadow:0 0 24px rgba(212,175,55,.25);background:#000;overflow:hidden;}
.login-logo img{width:195%;height:195%;object-fit:cover;object-position:50% 0%;display:block;flex:0 0 auto;transform:translateY(26.7%);}
.login-brand .name{font-weight:600;font-size:16px;color:#fff;}
.login-brand .sub{font-size:12px;color:var(--faint);}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--mut);}
.login-card input{height:42px;border:1px solid var(--bd2);border-radius:var(--radius);padding:0 14px;font-size:14px;font-family:var(--font);background:var(--card2);color:var(--txt);outline:none;}
.login-card input::placeholder{color:var(--faint);}
.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16);}
.login-card button{height:44px;margin-top:6px;border:none;border-radius:var(--radius);background:linear-gradient(135deg,#EFCB68,#C9971F);color:#201503;font-size:14.5px;font-weight:600;cursor:pointer;font-family:var(--font);box-shadow:0 0 18px rgba(212,175,55,.35);}
.login-card button:hover{filter:brightness(1.08);}
.login-card button:disabled{opacity:.6;cursor:default;filter:none;}
.login-err{background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.3);color:#fda4af;border-radius:var(--radius);padding:9px 12px;font-size:12.5px;}
.login-note{font-size:12px;color:var(--faint);min-height:14px;}
.btn-logout{margin-top:10px;width:100%;font-size:12px;font-family:var(--font);color:var(--mut);background:rgba(255,255,255,.02);border:1px solid var(--bd2);border-radius:10px;padding:7px 10px;cursor:pointer;}
.btn-logout:hover{border-color:var(--rose);color:#fda4af;}
@media(max-width:920px){.btn-logout{font-size:0;padding:7px 0;}.btn-logout::before{content:"⎋";font-size:14px;}}
/* secondary/ghost button inside a login-card (overrides the primary gradient) */
.login-card button.ghost{height:auto;margin-top:4px;padding:8px 12px;font-size:12px;font-weight:500;background:rgba(255,255,255,.02);color:var(--mut);border:1px solid var(--bd2);box-shadow:none;}
.login-card button.ghost:hover{filter:none;border-color:var(--rose);color:#fda4af;}
.login-card p{margin:0;}
/* password reveal eye — override the login-card gradient button styling */
.pw-wrap{position:relative;display:flex;}
.pw-wrap input{flex:1;padding-right:42px;}
.login-card .pw-wrap button.pw-eye,.pw-wrap button.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;min-width:0;margin:0;padding:0;background:none;border:none;box-shadow:none;color:var(--mut);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.login-card .pw-wrap button.pw-eye:hover,.pw-wrap button.pw-eye:hover{filter:none;color:var(--txt);}

/* ── reps screen ── */
.rp-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.btn-primary{border:none;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;color:#201503;cursor:pointer;font-family:var(--font);background:linear-gradient(90deg,#EFCB68,#C9971F);box-shadow:0 0 14px rgba(212,175,55,.35);}
.btn-primary:hover{filter:brightness(1.08);}
.btn-primary:disabled{opacity:.6;cursor:default;filter:none;}
.rp-form{display:flex;flex-direction:column;gap:12px;max-width:440px;}
.rp-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--mut);}
.rp-form input{height:40px;border:1px solid var(--bd2);border-radius:var(--radius);padding:0 13px;font-size:14px;font-family:var(--font);background:var(--card2);color:var(--txt);outline:none;}
.rp-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16);}
.rp-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.rp-step{font-size:11px;color:var(--faint);border:1px solid var(--bd2);border-radius:20px;padding:4px 11px;}
.rp-step.done{color:var(--lime);border-color:rgba(52,211,153,.35);}
.rp-step.active{color:#201503;background:linear-gradient(90deg,#EFCB68,#C9971F);border-color:transparent;font-weight:600;}
.rp-caps{display:flex;gap:10px;}
.rp-cap{flex:1;text-align:center;cursor:pointer;border:1px solid var(--bd2);border-radius:12px;padding:14px;color:var(--mut);font-size:13px;background:var(--card2);}
.rp-cap.on{border-color:var(--gold);color:var(--txt);box-shadow:0 0 0 3px rgba(212,175,55,.14);}
.rp-ex{background:rgba(212,175,55,.06);border:1px solid rgba(212,175,55,.22);border-radius:10px;padding:11px 13px;font-size:12.5px;color:#a8a89e;}
.rp-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px;max-width:440px;}
.rp-review{display:flex;flex-direction:column;gap:7px;font-size:13px;max-width:440px;}
.rp-review .r{display:flex;justify-content:space-between;border-bottom:1px solid var(--bd);padding:7px 0;color:var(--mut);}
.rp-review .r b{color:var(--txt);font-weight:500;}
.rp-pw{background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.28);border-radius:12px;padding:16px;max-width:480px;}
.rp-pw .code{display:flex;gap:8px;align-items:center;margin-top:12px;}
.rp-pw .code input{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.5px;background:var(--card2);border:1px solid var(--bd2);border-radius:9px;padding:10px 12px;color:var(--txt);}
.rp-msg{font-size:12.5px;min-height:15px;color:var(--faint);}
.rp-msg.err{color:#fda4af;}
/* rep portal (Step 4) */
#takeover .rep-wrap{width:100%;max-width:540px;}
.rep-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.rep-top .btn-refresh{width:auto;}
.rp-form select,.rp-form textarea{border:1px solid var(--bd2);border-radius:var(--radius);padding:9px 13px;font-size:14px;font-family:var(--font);background:var(--card2);color:var(--txt);outline:none;}
.rp-form select:focus,.rp-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16);}
.rp-form textarea{resize:vertical;min-height:64px;}

/* ── confirm modal (deactivate / remove) ─────────────────── */
.modal-back{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.66);backdrop-filter:blur(3px);}
.modal-card{max-width:420px;width:100%;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow);}
.modal-card h3{font-size:16px;color:#fff;}
.modal-card .sub{color:var(--mut);font-size:13px;margin:0;}
.modal-card.danger{border-color:rgba(251,113,133,.45);}
.modal-card.danger h3{color:#fda4af;}
.modal-card input{height:40px;border:1px solid var(--bd2);border-radius:var(--radius);padding:0 13px;font-size:14px;font-family:var(--font);background:var(--card2);color:var(--txt);outline:none;}
.modal-card.danger input:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(251,113,133,.16);}
.rm-label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--mut);}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;}
.btn-danger{border:none;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;color:#1a0608;cursor:pointer;font-family:var(--font);background:linear-gradient(90deg,#fb7185,#f43f5e);box-shadow:0 0 14px rgba(251,113,133,.35);}
.btn-danger:hover{filter:brightness(1.08);}
.btn-danger:disabled{opacity:.45;cursor:default;box-shadow:none;}
.btn-danger:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
.tbl tr.dim td{opacity:.55;}

/* ── Agent Control Center ──────────────────────────────── */
.cc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.cc-rt{font-size:12.5px;color:var(--mut);display:inline-flex;align-items:center;gap:7px;}
.rt-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);box-shadow:0 0 8px currentColor;color:var(--faint);}
.rt-dot.on{background:var(--lime);color:var(--lime);}
.rt-dot.off{background:var(--rose);color:var(--rose);}

.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:20px;}
.agent-card{position:relative;background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow);overflow:hidden;}
.agent-card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--gold2),var(--gold-hi));box-shadow:0 0 14px rgba(212,175,55,.55);}
.ac-top{display:flex;align-items:center;gap:9px;}
.ac-name{font-weight:600;color:#fff;font-size:14.5px;}
.ac-tag{margin-left:auto;font-size:11px;color:var(--mut);background:rgba(255,255,255,.04);border:1px solid var(--bd);border-radius:6px;padding:2px 8px;}
.ac-value{font-size:20px;font-weight:600;color:#fff;margin-top:10px;font-variant-numeric:tabular-nums;}
.ac-sub{font-size:12px;color:var(--faint);margin-top:6px;}
.st-text{font-weight:500;}
.st-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--mut);box-shadow:0 0 8px currentColor;color:var(--mut);}
.st-idle{color:var(--mut);} .st-dot.st-idle{background:var(--mut);}
.st-running,.st-dot.st-running{color:var(--gold);} .st-dot.st-running{background:var(--gold);animation:pulse 1.3s ease-in-out infinite;}
.st-error,.st-dot.st-error{color:var(--rose);} .st-dot.st-error{background:var(--rose);}
.st-awaiting_approval,.st-dot.st-awaiting_approval{color:var(--amber);} .st-dot.st-awaiting_approval{background:var(--amber);}
.st-disabled,.st-dot.st-disabled{color:var(--faint);} .st-dot.st-disabled{background:var(--faint);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}

/* approval queue */
.appr{border:1px solid var(--bd);border-radius:var(--radius);padding:13px 15px;margin-bottom:11px;background:rgba(255,255,255,.015);}
.appr:last-child{margin-bottom:0;}
.appr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;flex-wrap:wrap;}
.appr-head .who{gap:8px;}.appr-head .av{width:26px;height:26px;font-size:11px;}
.appr-head b{color:#fff;font-weight:500;font-size:13.5px;}
.appr-meta{font-size:12px;color:var(--faint);display:inline-flex;align-items:center;gap:8px;}
.appr-body{font-size:13px;color:var(--txt);line-height:1.55;background:var(--card2);border:1px solid var(--bd);border-radius:10px;padding:10px 12px;white-space:pre-wrap;}
.appr-actions{display:flex;align-items:center;gap:10px;margin-top:11px;}
.btn-approve{height:34px;padding:0 14px;border:none;border-radius:9px;background:linear-gradient(135deg,#EFCB68,#C9971F);color:#201503;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;box-shadow:0 0 14px rgba(212,175,55,.3);}
.btn-approve:hover{filter:brightness(1.08);}
.btn-reject{height:34px;padding:0 14px;border:1px solid var(--bd2);border-radius:9px;background:rgba(255,255,255,.02);color:var(--mut);font-size:13px;font-family:var(--font);cursor:pointer;}
.btn-reject:hover{border-color:var(--rose);color:#fda4af;}
.btn-approve:focus-visible,.btn-reject:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.appr-status{font-size:12px;color:var(--faint);}

/* event log */
.cc-logctl{display:flex;align-items:center;gap:10px;}
.logfeed{font-variant-numeric:tabular-nums;max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;}
.logrow{display:grid;grid-template-columns:74px 130px 1fr auto;gap:10px;align-items:baseline;font-size:12px;padding:5px 4px;border-bottom:1px solid var(--bd);}
.logrow:last-child{border-bottom:none;}
.logrow .lt{color:var(--faint);}
.logrow .le{color:var(--gold);font-weight:500;}
.logrow .lm{color:var(--txt);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.logrow .lk{color:var(--faint);font-size:11px;}
.logrow.lvl-warn .le{color:var(--amber);} .logrow.lvl-error .le{color:var(--rose);} .logrow.lvl-debug .le{color:var(--mut);}

/* results viewer */
.result-card{border:1px solid var(--bd);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px;background:var(--card2);}
.result-card:last-child{margin-bottom:0;}
.rc-head{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
.rc-head b{color:#fff;font-weight:500;font-size:13px;}
.rc-time{margin-left:auto;font-size:11.5px;color:var(--faint);}
.rc-body{font-size:12.5px;color:var(--mut);line-height:1.55;white-space:pre-wrap;}

/* ── landing pages (public /quote + /join) ── */
.lp-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 18px;background:var(--bg);
  background-image:radial-gradient(900px 500px at 82% -8%,rgba(212,175,55,.10),transparent),radial-gradient(720px 420px at -8% 0%,rgba(212,175,55,.10),transparent);background-attachment:fixed;}
.lp-card{width:100%;max-width:560px;background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:var(--radius-lg);padding:30px 26px 26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;}

/* logo lockup — same slice technique as .brand-mark/.brand-word, scaled up
   proportionally (background-size stays square so the crop framing matches
   the sidebar version exactly, just displayed larger for a standalone header) */
.lp-lockup{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:4px;background:#000;border-radius:12px;padding:10px 16px;}
.lp-mark{width:52px;height:52px;background:url('/assets/verix-logo.png') no-repeat;background-size:113.208px 113.208px;background-position:-30.694px -14.156px;display:block;}
.lp-word{width:155px;height:34.766px;background:url('/assets/verix-logo.png') no-repeat;background-size:199.559px 199.559px;background-position:-24.192px -122.378px;display:block;}

.lp-h1{font-size:24px;color:#fff;text-align:center;letter-spacing:-.01em;line-height:1.25;}
.lp-sub{font-size:13.5px;color:var(--mut);text-align:center;margin:0;line-height:1.5;}

.lp-field{display:flex;flex-direction:column;gap:6px;}
.lp-field label{font-size:12.5px;color:var(--mut);}
.lp-input{height:48px;width:100%;border:1px solid var(--bd2);border-radius:var(--radius);padding:0 14px;font-size:16px;font-family:var(--font);background:var(--card2);color:var(--txt);outline:none;}
.lp-input::placeholder{color:var(--faint);}
.lp-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16);}
.lp-input.bad{border-color:var(--rose);box-shadow:0 0 0 3px rgba(251,113,133,.14);}

.lp-pills{display:flex;flex-wrap:wrap;gap:8px;}
.lp-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border:1px solid var(--bd2);border-radius:999px;background:rgba(255,255,255,.02);color:var(--mut);font-size:13.5px;cursor:pointer;}
.lp-pill input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.lp-pill:has(input:checked),.lp-pill.is-checked{border-color:var(--gold);background:rgba(212,175,55,.14);color:var(--gold-hi);}
.lp-pill:has(input:focus-visible),.lp-pill.is-checked:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px;}
.lp-reassure{font-size:12px;color:var(--faint);margin:2px 0 0;}

.lp-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

.lp-submit{width:100%;height:48px;font-size:15px;margin-top:4px;}

.lp-err{display:none;background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.3);color:#fda4af;border-radius:var(--radius);padding:10px 13px;font-size:12.5px;}

.lp-thanks{display:none;text-align:center;padding:12px 4px 4px;}
.lp-thanks-check{width:48px;height:48px;line-height:48px;margin:0 auto 12px;border-radius:50%;background:rgba(212,175,55,.14);border:1px solid rgba(212,175,55,.35);color:var(--gold-hi);font-size:22px;box-shadow:0 0 18px rgba(212,175,55,.3);}
.lp-thanks-title{font-size:17px;font-weight:600;color:#fff;}
.lp-thanks-sub{font-size:13px;color:var(--mut);margin:8px 0 0;}

.lp-foot{font-size:11.5px;color:var(--faint);text-align:center;margin:6px 0 0;}

@media(max-width:480px){.lp-card{padding:24px 18px 20px;}.lp-h1{font-size:21px;}}

/* ── leads workspace ── */
.ld-row{cursor:pointer;}
.ld-phone{font-size:28px;font-variant-numeric:tabular-nums;color:var(--gold-hi);letter-spacing:.02em;}
.ld-phone-sub{font-size:14px;font-variant-numeric:tabular-nums;color:var(--mut);margin-top:4px;}
.ld-sel{border:1px solid var(--bd2);border-radius:var(--radius);padding:9px 13px;font-size:14px;font-family:var(--font);background:var(--card2);color:var(--txt);outline:none;height:40px;width:100%;max-width:320px;}
.ld-sel:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16);}
.ld-note{border-bottom:1px solid var(--bd);padding:10px 0;}
.ld-note:last-child{border-bottom:none;}
.ld-note .when{font-size:11.5px;color:var(--faint);}
.ld-note .txt{white-space:pre-wrap;margin-top:3px;}
.ld-intake{white-space:pre-wrap;color:var(--mut);font-size:13px;}
