/* ============================================================
   AnswerCatch — Auth, Onboarding & Dashboard styles
   Builds on css/styles.css design tokens (blue/dark theme).
   ============================================================ */

/* ---------- Auth shell (signup / login / reset) ---------- */
.auth-wrap {
  min-height: calc(100vh - 74px);
  display: grid; place-items: center;
  padding: 56px 20px;
  background: var(--grad-dark);
  position: relative; overflow: hidden;
}
.auth-wrap::before {
  content:""; position:absolute; inset:0; opacity:.5;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(120% 90% at 50% 0%, #000 40%, transparent 80%);
  mask-image: radial-gradient(120% 90% at 50% 0%, #000 40%, transparent 80%);
}
.auth-card {
  position: relative; z-index: 1;
  width: 100%; max-width: 460px;
  background: #fff; border-radius: 22px; padding: 40px 38px;
  box-shadow: var(--shadow-lg); border: 1px solid rgba(255,255,255,.5);
}
.auth-card .auth-brand { display:flex; align-items:center; gap:10px; justify-content:center; font-weight:900; font-size:1.25rem; color:var(--ink); margin-bottom: 22px; }
.auth-card .auth-brand .logo-mark { width:34px; height:34px; border-radius:10px; background:var(--grad-btn); display:grid; place-items:center; color:#fff; }
.auth-card .auth-brand .logo-mark svg { width:19px; height:19px; }
.auth-card .auth-brand b { background: var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.auth-card h1 { font-size: 1.6rem; text-align:center; margin-bottom: 6px; }
.auth-card .sub { text-align:center; color: var(--muted); font-size:.98rem; margin-bottom: 26px; }

.auth-field { margin-bottom: 18px; }
.auth-field label { display:block; font-weight:700; color:var(--ink); font-size:.9rem; margin-bottom:7px; }
.auth-field input {
  width:100%; font-family:var(--font); font-size:1rem; color:var(--ink);
  padding: 14px 16px; border:1.5px solid var(--line); border-radius:12px; background:var(--bg-soft);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.auth-field input:focus { outline:none; border-color:var(--blue); background:#fff; box-shadow:0 0 0 4px rgba(47,107,255,.12); }

/* password show/hide */
.pw-wrap { position: relative; }
.pw-wrap input { padding-right: 54px; }
.pw-toggle {
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer; color:var(--muted); padding:8px; border-radius:8px; font-size:.8rem; font-weight:700;
}
.pw-toggle:hover { color:var(--blue); background:var(--bg-alt); }

/* strength meter */
.pw-strength { margin-top: 9px; }
.pw-bars { display:flex; gap:6px; margin-bottom:5px; }
.pw-bars span { height:5px; flex:1; border-radius:3px; background:var(--line); transition: background .2s ease; }
.pw-strength.s1 .pw-bars span:nth-child(-n+1) { background:#f0603f; }
.pw-strength.s2 .pw-bars span:nth-child(-n+2) { background:#f5a623; }
.pw-strength.s3 .pw-bars span:nth-child(-n+3) { background:#3ea0ff; }
.pw-strength.s4 .pw-bars span { background:#10d9b0; }
.pw-hint { font-size:.8rem; color:var(--muted); }

.auth-actions { margin-top: 22px; }
.auth-meta { display:flex; justify-content:space-between; align-items:center; margin: 14px 2px 0; font-size:.92rem; flex-wrap:wrap; gap:8px; }
.auth-foot { text-align:center; margin-top: 22px; color:var(--muted); font-size:.95rem; }

.alert { border-radius:12px; padding:13px 15px; font-size:.94rem; margin-bottom: 18px; display:none; }
.alert.show { display:block; }
.alert-error { background:#fff2ef; border:1px solid #ffd3c9; color:#c33a24; }
.alert-success { background: rgba(16,217,176,.1); border:1px solid rgba(16,217,176,.4); color:#0c8f77; }
.alert-info { background: var(--blue-light); border:1px solid #cfe0fb; color:#1f4fd6; }

.back-home { position:relative; z-index:1; text-align:center; margin-top:20px; }
.back-home a { color:#a9c3ea; font-size:.9rem; }
.back-home a:hover { color:#fff; }

/* ---------- Onboarding wizard ---------- */
.wizard-page { background: var(--bg-soft); min-height: calc(100vh - 74px); padding: 44px 0 80px; }
.wizard { max-width: 760px; margin: 0 auto; }
.wizard-head { text-align:center; margin-bottom: 26px; }
.wizard-head h1 { font-size: clamp(1.7rem, 3.5vw, 2.3rem); }
.wizard-head p { color: var(--muted); margin-top: 8px; }

.progress { margin: 0 auto 30px; max-width: 620px; }
.progress-bar { height: 8px; background: var(--line); border-radius: 999px; overflow: hidden; }
.progress-bar > i { display:block; height:100%; width:20%; background: var(--grad-btn); border-radius:999px; transition: width .35s ease; }
.progress-steps { display:flex; justify-content:space-between; margin-top: 12px; }
.progress-steps span { font-size:.78rem; font-weight:700; color:var(--muted); text-align:center; flex:1; }
.progress-steps span.active { color: var(--blue); }
.progress-steps span.done { color: var(--accent); }

.wizard-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding: 36px; box-shadow: var(--shadow); }
.step-panel { display:none; animation: rise .35s ease both; }
.step-panel.active { display:block; }
.step-panel h2 { font-size: 1.4rem; margin-bottom: 6px; }
.step-panel .step-sub { color: var(--muted); margin-bottom: 24px; }

.wz-field { margin-bottom: 20px; }
.wz-field label { display:block; font-weight:700; color:var(--ink); font-size:.92rem; margin-bottom:7px; }
.wz-field .opt { font-weight:500; color:var(--muted); font-size:.85rem; }
.wz-field input, .wz-field select, .wz-field textarea {
  width:100%; font-family:var(--font); font-size:1rem; color:var(--ink);
  padding: 13px 15px; border:1.5px solid var(--line); border-radius:11px; background:var(--bg-soft);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.wz-field input:focus, .wz-field select:focus, .wz-field textarea:focus { outline:none; border-color:var(--blue); background:#fff; box-shadow:0 0 0 4px rgba(47,107,255,.12); }
.wz-field textarea { resize:vertical; min-height: 96px; }
.wz-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* choice cards (radio) */
.choice-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.choice .choice-box {
  border:1.5px solid var(--line); border-radius:14px; padding:18px; cursor:pointer; transition: all .18s ease; height:100%;
  display:flex; flex-direction:column; gap:6px; background:var(--bg-soft);
}
.choice .choice-box .ch-t { font-weight:800; color:var(--ink); display:flex; align-items:center; gap:9px; }
.choice .choice-box .ch-d { font-size:.88rem; color:var(--muted); }
.choice .choice-box .ic { width:34px;height:34px;border-radius:10px;background:var(--blue-light);color:var(--blue);display:grid;place-items:center; }
.choice input:checked + .choice-box { border-color:var(--blue); background:#fff; box-shadow:0 0 0 4px rgba(47,107,255,.12); }

/* checkbox chips */
.chips { display:flex; flex-wrap:wrap; gap:10px; }
.chip-check { position:relative; }
.chip-check input { position:absolute; opacity:0; }
.chip-check span { display:inline-block; padding:9px 15px; border:1.5px solid var(--line); border-radius:999px; cursor:pointer; font-weight:600; font-size:.92rem; color:var(--body); background:var(--bg-soft); transition: all .16s ease; }
.chip-check input:checked + span { border-color:var(--blue); color:var(--blue); background:var(--blue-light); }

.wizard-nav { display:flex; justify-content:space-between; gap:12px; margin-top: 28px; }
.wizard-nav .spacer { flex:1; }

/* review summary */
.review-list { list-style:none; margin-top: 8px; }
.review-list li { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--line-soft); font-size:.96rem; }
.review-list li:last-child { border-bottom:none; }
.review-list .rk { font-weight:700; color:var(--ink); min-width: 190px; }
.review-list .rv { color:var(--body); }

/* ---------- Dashboard ---------- */
.dash { background: var(--bg-soft); min-height: calc(100vh - 74px); padding: 40px 0 80px; }
.dash-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom: 26px; }
.dash-head h1 { font-size: clamp(1.6rem, 3.4vw, 2.3rem); }
.dash-head p { color: var(--muted); margin-top:4px; }
.dash-grid { display:grid; grid-template-columns: 1.5fr 1fr; gap: 24px; align-items:start; }
.dash-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding: 28px; box-shadow: var(--shadow-sm); margin-bottom: 24px; }
.dash-card h3 { font-size:1.15rem; margin-bottom: 4px; display:flex; align-items:center; gap:10px; }
.dash-card .card-sub { color:var(--muted); font-size:.9rem; margin-bottom: 20px; }
.dash-card .card-head-row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom: 18px; }
.dash-card .card-head-row h3 { margin-bottom:0; }

.status-banner {
  display:flex; gap:14px; align-items:center;
  background: linear-gradient(120deg, rgba(47,107,255,.08), rgba(34,211,238,.08));
  border:1px solid rgba(47,107,255,.25); border-radius:16px; padding: 20px 22px; margin-bottom: 24px;
}
.status-banner .pulse { width:44px;height:44px;border-radius:12px;background:var(--grad-btn);display:grid;place-items:center;color:#fff;flex-shrink:0; }
.status-banner .pulse .dot { width:12px;height:12px;border-radius:50%;background:#fff; animation: pulse 2s infinite; }
.status-banner h4 { color:var(--ink); font-size:1.05rem; margin-bottom:2px; }
.status-banner p { color:var(--body); font-size:.94rem; }

.plan-pill { display:inline-flex; align-items:center; gap:8px; background:var(--blue-light); color:var(--blue-dark); font-weight:800; padding:8px 16px; border-radius:999px; font-size:.95rem; }

.detail-list { list-style:none; }
.detail-list li { display:flex; gap:14px; padding:13px 0; border-bottom:1px solid var(--line-soft); }
.detail-list li:last-child { border-bottom:none; }
.detail-list .dk { font-weight:700; color:var(--muted); min-width: 190px; font-size:.86rem; text-transform:uppercase; letter-spacing:.04em; }
.detail-list .dv { color:var(--ink); flex:1; }

.empty-state { text-align:center; padding: 40px 20px; color:var(--muted); }
.empty-state .es-ic { width:60px;height:60px;border-radius:16px;background:var(--bg-alt);color:var(--muted);display:grid;place-items:center;margin:0 auto 14px; }
.empty-state h4 { color:var(--ink); margin-bottom:6px; }
.empty-state p { font-size:.92rem; max-width: 320px; margin: 0 auto; }

/* editable form inside dashboard */
.edit-grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
.edit-grid .full { grid-column: 1 / -1; }
.dash-card .wz-field { margin-bottom: 16px; }
.edit-form { display:none; }
.edit-form.show { display:block; animation: rise .3s ease both; }
.view-mode.hide { display:none; }

.dash-alert { border-radius:11px; padding:11px 14px; font-size:.92rem; margin-bottom:16px; display:none; }
.dash-alert.show { display:block; }

/* ---------- Live call / booking feed ---------- */
.calls-meta { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.updated-note { color:var(--muted); font-size:.8rem; white-space:nowrap; }
.count-pill { background:var(--blue-light); color:var(--blue-dark); font-weight:800; font-size:.8rem; padding:3px 10px; border-radius:999px; }
#refresh-btn { display:inline-flex; align-items:center; }
#refresh-btn.spinning svg { animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.call-card {
  position:relative; overflow:hidden;
  border:1px solid var(--line); border-radius:16px; margin-bottom:14px;
  background:#fff; box-shadow:var(--shadow-sm);
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.call-card:last-child { margin-bottom:0; }
.call-card:hover { box-shadow:var(--shadow); border-color:rgba(47,107,255,.3); transform:translateY(-2px); }
/* left accent bar — blue default, red emergency, green booked */
.cl-accent { position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--grad-btn); }
.call-card.is-emergency .cl-accent { background:linear-gradient(180deg,#f0603f,#d93a2b); }
.call-card.is-booked .cl-accent { background:linear-gradient(180deg,#10d9b0,#0c8f77); }
.call-card.is-emergency { border-color:#ffdcd4; }
.cl-main { padding:16px 18px 16px 20px; }

.cl-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.cl-avatar {
  width:42px; height:42px; border-radius:12px; flex-shrink:0;
  background:var(--grad-btn); color:#fff; font-weight:800; font-size:.95rem;
  display:grid; place-items:center; box-shadow:0 4px 12px rgba(47,107,255,.3);
}
.call-card.is-emergency .cl-avatar { background:linear-gradient(135deg,#f0603f,#d93a2b); box-shadow:0 4px 12px rgba(217,58,43,.3); }
.cl-id { flex:1; min-width:0; }
.cl-name { font-weight:800; color:var(--ink); font-size:1.06rem; line-height:1.2; }
.cl-time { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:.8rem; font-weight:600; margin-top:2px; }
.cl-time .cl-ic { width:13px; height:13px; }
.cl-badges { display:flex; gap:7px; flex-wrap:wrap; flex-shrink:0; }
.call-badge { font-size:.7rem; font-weight:800; padding:5px 11px; border-radius:999px; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }
.call-badge.emergency { background:#fdece8; color:#d93a2b; border:1px solid #f6c3b8; }
.call-badge.booked { background:rgba(16,217,176,.12); color:#0c8f77; border:1px solid rgba(16,217,176,.35); }

.cl-details { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.cl-item { display:flex; align-items:flex-start; gap:9px; font-size:.94rem; color:var(--ink); min-width:0; }
.cl-item .cl-ic { flex-shrink:0; width:16px; height:16px; color:var(--blue); margin-top:2px; }
.cl-item span:last-child { word-break:break-word; }
.cl-item a { color:var(--blue); font-weight:700; }
.cl-item.appt { color:#0c8f77; font-weight:700; }
.cl-item.appt .cl-ic { color:#0c8f77; }
.cl-ic svg { width:100%; height:100%; display:block; }

.cl-summary { display:flex; gap:9px; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); color:var(--body); font-size:.9rem; font-style:italic; }
.cl-summary .cl-ic, .cl-summary svg { flex-shrink:0; width:16px; height:16px; color:var(--muted); margin-top:2px; }

@media (max-width: 820px) {
  .dash-grid { grid-template-columns: 1fr; }
  .wz-grid, .choice-grid, .edit-grid { grid-template-columns: 1fr; }
  .cl-details { grid-template-columns:1fr; }
  .cl-head { flex-wrap:wrap; }
  .auth-card { padding: 32px 24px; }
  .wizard-card { padding: 26px 20px; }
  .review-list li { flex-direction:column; gap:2px; }
  .review-list .rk { min-width: 0; }
  .detail-list li { flex-direction:column; gap:2px; }
  .detail-list .dk { min-width:0; }
}

/* ---------- Outreach CRM ---------- */
.out-stats { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-bottom:22px; }
.out-stat { background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 12px; text-align:center; box-shadow:var(--shadow-sm); }
.out-stat .n { font-size:1.6rem; font-weight:900; color:var(--ink); line-height:1; }
.out-stat .l { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-top:6px; }
.out-toolbar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:16px; }
.out-toolbar input, .out-toolbar select { padding:10px 12px; border:1.5px solid var(--line); border-radius:10px; font-family:var(--font); font-size:.92rem; background:var(--bg-soft); }
.out-toolbar input { flex:1; min-width:180px; }

.prospect { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin-bottom:12px; box-shadow:var(--shadow-sm); }
.prospect .p-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
.prospect .p-name { font-weight:800; color:var(--ink); font-size:1.05rem; }
.prospect .p-meta { color:var(--muted); font-size:.86rem; margin-top:2px; display:flex; gap:12px; flex-wrap:wrap; }
.prospect .p-meta a { color:var(--blue); font-weight:600; }
.prospect .p-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:12px; }
.prospect .p-row select, .prospect .p-row input { padding:8px 10px; border:1.5px solid var(--line); border-radius:9px; font-family:var(--font); font-size:.86rem; background:var(--bg-soft); }
.prospect textarea.p-notes { width:100%; margin-top:10px; min-height:44px; padding:9px 11px; border:1.5px solid var(--line); border-radius:9px; font-family:var(--font); font-size:.88rem; background:var(--bg-soft); resize:vertical; }
.status-badge { font-size:.72rem; font-weight:800; padding:4px 11px; border-radius:999px; text-transform:uppercase; letter-spacing:.03em; }
.s-New{background:#eef1f6;color:#5b6577;} .s-Contacted{background:var(--blue-light);color:var(--blue-dark);}
.s-Followup{background:#fff4e5;color:#b5730a;} .s-Replied{background:#e9e9fd;color:#4a3fd6;}
.s-Interested{background:#e6f7ff;color:#0d7aa8;} .s-Booked{background:rgba(16,217,176,.14);color:#0c8f77;}
.s-Won{background:rgba(16,217,176,.22);color:#087a64;} .s-Lost{background:#fdece8;color:#b93a2b;}
.pill-link{color:var(--blue);font-weight:700;cursor:pointer;font-size:.86rem;background:none;border:none;padding:0;}
.p-del{color:var(--muted);background:none;border:none;cursor:pointer;font-size:.86rem;}
.p-del:hover{color:#d93a2b;}

.tmpl-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.tmpl-tab{padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--bg-soft);cursor:pointer;font-weight:700;font-size:.86rem;color:var(--body);}
.tmpl-tab.active{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.tmpl-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.tmpl-box .subj{font-weight:700;color:var(--ink);margin-bottom:8px;}
.tmpl-box pre{white-space:pre-wrap;font-family:var(--font);font-size:.94rem;color:var(--body);line-height:1.6;margin:0;}
.tmpl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.copied{color:#0c8f77;font-weight:700;font-size:.86rem;align-self:center;}

@media (max-width:820px){ .out-stats{grid-template-columns:repeat(3,1fr);} }
@media (max-width:560px){ .out-stats{grid-template-columns:repeat(2,1fr);} }

/* ---------- Outreach Control (admin) redesign ---------- */
.admin-hero { background: var(--grad-dark); color:#eaf1fb; border-radius:20px; padding:28px 30px; margin-bottom:24px; position:relative; overflow:hidden; }
.admin-hero::before{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(120% 90% at 80% 0%,#000 30%,transparent 75%);mask-image:radial-gradient(120% 90% at 80% 0%,#000 30%,transparent 75%);}
.admin-hero > *{position:relative;z-index:1;}
.admin-hero h1{color:#fff;font-size:1.7rem;margin-bottom:4px;}
.admin-hero p{color:#b6c8e6;font-size:.98rem;}
.admin-chip{display:inline-flex;align-items:center;gap:7px;background:rgba(16,217,176,.15);color:#68f0d3;border:1px solid rgba(16,217,176,.3);padding:5px 13px;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.03em;margin-bottom:14px;}
.admin-chip .dot{width:7px;height:7px;border-radius:50%;background:#10d9b0;}

.finder-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;box-shadow:var(--shadow);margin-bottom:24px;position:relative;overflow:hidden;}
.finder-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-btn);}
.finder-card h3{font-size:1.2rem;display:flex;align-items:center;gap:9px;margin-bottom:4px;}
.finder-card .fc-sub{color:var(--muted);font-size:.94rem;margin-bottom:18px;}
.finder-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
.finder-row .fld{flex:1;min-width:150px;}
.finder-row label{display:block;font-weight:700;font-size:.82rem;color:var(--ink);margin-bottom:6px;}
.finder-row select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--font);font-size:.98rem;background:var(--bg-soft);}
.finder-status{margin-top:14px;font-weight:600;font-size:.94rem;color:var(--muted);display:none;}
.finder-status.show{display:block;}
.finder-status.ok{color:#0c8f77;} .finder-status.err{color:#d93a2b;}
.btn.loading{opacity:.75;pointer-events:none;}
.btn.loading::before{content:"";width:15px;height:15px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:8px;animation:spin .7s linear infinite;vertical-align:-2px;}

.out-stat .n{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.prospect{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.prospect:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(47,107,255,.28);}

/* ---------- Prospect card — premium redesign ---------- */
.prospect{ position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:16px 18px 16px 22px; margin-bottom:13px; box-shadow:var(--shadow-sm); }
.p-accent{ position:absolute; left:0; top:0; bottom:0; width:4px; background:#c3cad8; }
.prospect.pa-Contacted .p-accent, .prospect.pa-Followup .p-accent{ background:var(--blue); }
.prospect.pa-Replied .p-accent, .prospect.pa-Interested .p-accent{ background:var(--indigo); }
.prospect.pa-Booked .p-accent{ background:#10d9b0; }
.prospect.pa-Won .p-accent{ background:linear-gradient(180deg,#10d9b0,#087a64); }
.prospect.pa-Lost .p-accent{ background:#e0655a; }

.pcard-head{ display:flex; align-items:center; gap:13px; }
.pcard-avatar{ width:42px; height:42px; border-radius:12px; flex-shrink:0; background:var(--grad-btn); color:#fff;
  font-weight:800; font-size:.92rem; display:grid; place-items:center; box-shadow:0 4px 12px rgba(47,107,255,.28); }
.pcard-id{ flex:1; min-width:0; }
.pcard-id .p-name{ font-weight:800; color:var(--ink); font-size:1.05rem; line-height:1.2; }
.pcard-id .p-sub{ color:var(--muted); font-size:.85rem; margin-top:2px; }

.pcard-contacts{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 2px; }
.pcard-contacts a{ display:inline-flex; align-items:center; gap:6px; background:var(--bg-soft); border:1px solid var(--line);
  border-radius:999px; padding:5px 12px 5px 9px; font-size:.85rem; font-weight:600; color:var(--body); }
.pcard-contacts a:hover{ border-color:var(--blue); color:var(--blue); }
.pcard-contacts .ci{ width:14px; height:14px; color:var(--blue); display:inline-flex; }
.pcard-contacts .ci svg{ width:100%; height:100%; }

.prospect .p-row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:14px; }
.prospect .p-row select{ padding:8px 12px; border:1.5px solid var(--line); border-radius:9px; font-family:var(--font); font-size:.86rem; font-weight:600; background:var(--bg-soft); }
.prospect .p-last{ color:var(--muted); font-size:.82rem; }
.pill-link{ color:#0c8f77; font-weight:700; }
.p-notes{ width:100%; margin-top:11px; min-height:40px; padding:9px 12px; border:1.5px solid var(--line); border-radius:10px;
  font-family:var(--font); font-size:.88rem; background:var(--bg-soft); resize:vertical; color:var(--ink); }
.p-notes:focus{ outline:none; border-color:var(--blue); background:#fff; box-shadow:0 0 0 3px rgba(47,107,255,.1); }

/* nicer stat cards */
.out-stats{ gap:14px; }
.out-stat{ padding:16px 12px; border-radius:16px; }
.out-stat .n{ font-size:1.75rem; }

/* finder card polish */
.finder-card{ border-radius:20px; }

/* sequence badges on prospect cards */
.seq-badge{ display:inline-block; margin-left:6px; font-size:.68rem; font-weight:800; padding:3px 9px; border-radius:999px; background:var(--blue-light); color:var(--blue-dark); vertical-align:middle; }
.seq-badge.paused{ background:#fff4e5; color:#b5730a; }
.seq-badge.done{ background:rgba(16,217,176,.18); color:#087a64; }
