/* Seller Signal Engine page styles — "Dark Intelligence 3D" */
:root {
  --bg-deep:#0d1117; --bg-dark:#0a0e1a; --bg-card:rgba(255,255,255,0.05); --bg-card-hover:rgba(255,255,255,0.08);
  --border-glass:rgba(255,255,255,0.08); --border-hover:rgba(255,255,255,0.16);
  --accent:#3b82f6; --accent-glow:rgba(59,130,246,0.5);
  --lime:#c8f526; --lime-dim:rgba(200,245,38,.12);
  --amber:#f59e0b; --green:#10b981;
  --red:#ef4444;
  --text-white:#ffffff; --text-muted:rgba(255,255,255,0.55); --text-faint:rgba(255,255,255,0.35);
  --glass-blur:blur(20px) saturate(180%);
  --surface:#0f1318; --surface-2:#161b22; --border:#1e2430;
  /* keep legacy aliases referenced in HTML inline styles */
  --blue:#60a5fa;
  --orange:#fb923c;
  --dim:#4b5563;
  --muted:#6b7280;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg-deep);color:var(--text-white);font-family:'Outfit','Inter','Helvetica Neue',sans-serif;min-height:100vh;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}

.db-header{background:rgba(10,14,26,0.85);border-bottom:1px solid var(--border-glass);padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;position:sticky;top:0;z-index:50;}
.db-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.25rem;color:var(--lime);}
.db-logo span{color:var(--text-white);}
.db-nav{display:flex;gap:.75rem;font-size:.875rem;align-items:center;}
.db-nav a{color:var(--text-muted);padding:.3rem .65rem;border-radius:6px;transition:all .15s;}
.db-nav a:hover{color:var(--text-white);background:var(--bg-card);}
.db-nav a.active{color:var(--lime);background:var(--lime-dim);}

/* ── Page wrapper with orb backdrop ───────────────────────────── */
.page{max-width:1180px;margin:0 auto;padding:2.5rem 1.5rem;position:relative;overflow:hidden;}

.page-orbs{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.page-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;}
.page-orb--1{width:560px;height:560px;top:-180px;right:-120px;background:radial-gradient(circle,rgba(59,130,246,.6) 0%,transparent 70%);animation:orb-drift-1 12s ease-in-out infinite;}
.page-orb--2{width:480px;height:480px;bottom:-140px;left:-160px;background:radial-gradient(circle,rgba(200,245,38,.3) 0%,transparent 70%);animation:orb-drift-2 15s ease-in-out infinite;}
.page-orb--3{width:400px;height:400px;top:45%;left:50%;background:radial-gradient(circle,rgba(59,130,246,.25) 0%,transparent 70%);animation:orb-drift-3 18s ease-in-out infinite;}
@keyframes orb-drift-1{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(-60px,40px) scale(1.05);}66%{transform:translate(40px,-30px) scale(.97);}}
@keyframes orb-drift-2{0%,100%{transform:translate(0,0) scale(1);}40%{transform:translate(80px,-60px) scale(1.08);}70%{transform:translate(-40px,40px) scale(.95);}}
@keyframes orb-drift-3{0%,100%{transform:translate(0,0) scale(1);opacity:.3;}50%{transform:translate(50px,30px) scale(1.1);opacity:.5;}}

.page-header{position:relative;z-index:2;}
.page-hint{color:var(--text-faint);font-size:.78rem;margin-top:.3rem;}

h1{font-family:'Syne',sans-serif;font-size:1.6rem;font-weight:800;margin-bottom:.25rem;color:var(--text-white);}
.page-sub{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem;}

/* ── Glass cards ─────────────────────────────────────────────── */
.card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:16px;padding:1.75rem;margin-bottom:1.5rem;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;z-index:1;}
.card-title{font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:800;margin-bottom:1rem;color:var(--text-white);}

.scan-form{display:grid;grid-template-columns:1fr auto auto auto;gap:.75rem;align-items:end;}
.form-group{display:flex;flex-direction:column;gap:.4rem;}
label{font-size:.82rem;color:var(--text-muted);font-weight:500;}
input[type=text],select{background:rgba(255,255,255,.04);border:1px solid var(--border-glass);border-radius:8px;color:var(--text-white);font-size:.9rem;padding:.6rem .85rem;font-family:'Outfit','Inter',sans-serif;width:100%;transition:border .15s,background .15s;}
input:focus,select:focus{outline:none;border-color:var(--accent);background:rgba(59,130,246,.05);}

/* ── Buttons — neon blue glass + ghost ───────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;font-family:'Outfit','Inter',sans-serif;transition:all .15s;white-space:nowrap;}
.btn-primary{background:rgba(59,130,246,.18);color:var(--text-white);border:1px solid rgba(59,130,246,.45);box-shadow:0 0 24px rgba(59,130,246,.25);text-decoration:none;}
.btn-primary:hover:not(:disabled){background:rgba(59,130,246,.32);border-color:rgba(59,130,246,.65);box-shadow:0 0 32px rgba(59,130,246,.45);transform:translateY(-1px);}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;}
.btn-primary:active:not(:disabled){transform:scale(.98);}

.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-glass);}
.btn-ghost:hover{color:var(--text-white);border-color:var(--border-hover);background:var(--bg-card);}

.btn-sm{padding:.4rem .9rem;font-size:.8rem;}

.btn-outline-lime{background:transparent;color:var(--lime);border:1px solid rgba(200,245,38,.35);}
.btn-outline-lime:hover{background:var(--lime-dim);}

/* ── Caps strip ─────────────────────────────────────────────── */
.cap-strip{display:flex;gap:1.5rem;font-size:.82rem;color:var(--text-muted);margin-top:.85rem;flex-wrap:wrap;}
.cap-item{display:flex;align-items:center;gap:.35rem;}
.cap-item strong{color:var(--text-white);}
.cap-used{color:var(--amber);}

/* ── Progress panel ──────────────────────────────────────────── */
#progress-panel{display:none;}
.progress-bar-wrap{background:rgba(255,255,255,.08);border-radius:99px;height:6px;width:100%;margin:1rem 0;overflow:hidden;}
.progress-bar{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--lime));width:0%;transition:width 1.2s ease;box-shadow:0 0 12px var(--accent-glow);}
.progress-status{font-size:.875rem;color:var(--text-muted);min-height:1.3em;}
.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block;vertical-align:middle;margin-right:.4rem;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ── Results header ──────────────────────────────────────────── */
#results-panel{display:none;}
.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap;}
.results-count{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;color:var(--text-white);}
.results-count span{color:var(--lime);}
.prospect-grid{display:grid;grid-template-columns:1fr;gap:1rem;}

/* ── Prospect cards — glass with neon ring per bucket ────────── */
.prospect-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:14px;padding:1.25rem;position:relative;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);overflow:hidden;}
.prospect-card:hover{transform:translateY(-1px);border-color:var(--border-hover);background:var(--bg-card-hover);}
.prospect-card.bucket-hot{box-shadow:0 0 0 1px rgba(200,245,38,.3),0 0 24px rgba(200,245,38,.12);}
.prospect-card.bucket-strong:hover{box-shadow:0 0 0 1px rgba(16,185,129,.25),0 0 24px rgba(16,185,129,.08);}
.prospect-card.bucket-worth_a_touch:hover{box-shadow:0 0 0 1px rgba(245,158,11,.25),0 0 24px rgba(245,158,11,.08);}

.prospect-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem;}
.prospect-address{font-weight:600;font-size:.95rem;line-height:1.4;color:var(--text-white);}
.prospect-meta{font-size:.78rem;color:var(--text-muted);margin-top:.2rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.prospect-topline{font-size:.82rem;color:var(--text-muted);line-height:1.45;margin-bottom:.85rem;}

/* ── Confidence pill ─────────────────────────────────────────── */
.confidence-pill{display:inline-flex;align-items:center;gap:.3rem;padding:4px 10px;border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:1px solid transparent;}
.c-high{background:rgba(200,245,38,.14);color:var(--lime);border-color:rgba(200,245,38,.3);}
.c-medium{background:rgba(245,158,11,.14);color:var(--amber);border-color:rgba(245,158,11,.3);}
.c-low{background:rgba(239,68,68,.14);color:var(--red);border-color:rgba(239,68,68,.3);}

/* ── Score badge — circular glass disc with neon ring ───────── */
.score-badge{flex-shrink:0;text-align:center;width:64px;height:64px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-glass);display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
.score-badge.hot{border-color:rgba(200,245,38,.5);box-shadow:0 0 16px rgba(200,245,38,.45);}
.score-badge.strong{border-color:rgba(16,185,129,.5);box-shadow:0 0 16px rgba(16,185,129,.4);}
.score-badge.worth_a_touch{border-color:rgba(245,158,11,.5);box-shadow:0 0 16px rgba(245,158,11,.35);}
.score-num{font-family:'Syne',sans-serif;font-size:1.5rem;font-weight:800;line-height:1;color:var(--text-white);}
.score-label{font-size:.65rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;}
.score-num.hot{color:var(--lime);}
.score-num.strong{color:var(--green);}
.score-num.worth_a_touch{color:var(--amber);}

/* ── Reasons list ────────────────────────────────────────────── */
.reasons-list{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.reason-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--text-muted);}
.reason-dot{width:6px;height:6px;border-radius:50%;background:var(--dim);flex-shrink:0;margin-top:.35rem;}
.reason-dot.w35{background:var(--lime);}
.reason-dot.w30{background:var(--green);}
.reason-dot.w20{background:var(--amber);}
.reason-dot.w15{background:var(--blue);}

/* ── Value row ───────────────────────────────────────────────── */
.value-row{display:flex;gap:1.5rem;font-size:.82rem;margin-bottom:.85rem;flex-wrap:wrap;}
.value-item{display:flex;flex-direction:column;gap:.1rem;}
.value-label{color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;}
.value-val{color:var(--text-white);font-weight:600;}

/* ── Prospect actions — full-width neon CTA + secondary ghost ─ */
.prospect-actions{display:flex;flex-direction:column;gap:.6rem;align-items:stretch;}
.prospect-cta{width:100%;justify-content:center;padding:.7rem 1rem;font-size:.85rem;}
.prospect-draft-link{align-self:flex-start;background:none;border:none;color:var(--lime);font-size:.78rem;font-weight:600;cursor:pointer;padding:.2rem 0;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;}
.prospect-draft-link:hover{color:#d8ff5a;}
.outreach-added{font-size:.82rem;color:var(--green);display:flex;align-items:center;gap:.35rem;justify-content:center;}
.outreach-added .letter-peek{color:var(--lime);font-size:.78rem;margin-left:.35rem;}

/* ── Modal ───────────────────────────────────────────────────── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,14,26,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal{background:rgba(15,20,35,.95);border:1px solid var(--border-glass);border-radius:16px;padding:1.75rem;max-width:600px;width:100%;max-height:85vh;overflow:auto;position:relative;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
.modal h3{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;margin-bottom:1rem;color:var(--text-white);}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;line-height:1;}
.modal-close:hover{color:var(--text-white);}
.letter-pre{white-space:pre-wrap;font-size:.88rem;line-height:1.7;color:var(--text-white);font-family:'Outfit','Inter',sans-serif;background:rgba(255,255,255,.04);border:1px solid var(--border-glass);border-radius:8px;padding:1.25rem;}
.modal-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap;}

/* ── Alerts ──────────────────────────────────────────────────── */
.alert{padding:.65rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1.25rem;border:1px solid;}
.alert-error{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.4);color:var(--red);}

.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted);}
.empty-state .icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5;}

/* ── Filter chips + borough input (dark glassmorphism) ───────── */
.filter-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem;}
.chip-group{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-right:.75rem;}
.chip{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:20px;padding:.25rem .85rem;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s;font-family:inherit;display:inline-flex;align-items:center;gap:.3rem;}
.chip:hover:not(.active){border-color:var(--border-hover);color:var(--text-white);}
.chip.active{background:var(--lime-dim);border-color:var(--lime);color:var(--lime);}
.chip .cnt{opacity:.6;margin-left:.3rem;font-weight:400;}
.filter-row #borough-input{max-width:260px;}

/* ── History strip ───────────────────────────────────────────── */
.history-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border-glass);font-size:.82rem;gap:.75rem;}
.history-item:last-child{border-bottom:none;}
.history-postcode{font-weight:600;color:var(--text-white);}
.history-meta{color:var(--text-muted);}

.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.72rem;font-weight:700;white-space:nowrap;}
.badge-complete{background:rgba(16,185,129,.15);color:var(--green);border:1px solid rgba(16,185,129,.3);}
.badge-pending,.badge-processing{background:rgba(255,255,255,.06);color:var(--text-muted);border:1px solid var(--border-glass);}
.badge-error{background:rgba(239,68,68,.14);color:var(--red);border:1px solid rgba(239,68,68,.3);}

.tier-badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--lime-dim);color:var(--lime);border:1px solid rgba(200,245,38,.25);border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}

.v2-teaser{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:8px;padding:.85rem 1rem;font-size:.82rem;color:var(--text-faint);margin-top:.75rem;}
.v2-teaser strong{color:var(--text-muted);}

/* ── Tier/plan badges inline reference styles (older var names) */
.badge-complete,.badge-pending,.badge-error,.badge-processing{background:rgba(255,255,255,.04);}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:900px){
  .scan-form{grid-template-columns:1fr 1fr;}
  .scan-form .form-group:last-child{grid-column:1/-1;}
}
@media(max-width:700px){.scan-form{grid-template-columns:1fr;}}
@media(max-width:600px){
  .prospect-top{flex-direction:column;}
  .score-badge{align-self:flex-start;}
}
@media(max-width:430px){
  .page{padding:1.5rem 1rem;}
  .card{padding:1.25rem 1rem;border-radius:12px;}
  .prospect-card{padding:1rem;}
  .score-badge{width:52px;height:52px;}
  .score-num{font-size:1.2rem;}
  .prospect-cta{font-size:.78rem;padding:.7rem .75rem;}
}
@media(max-width:360px){
  .results-header{flex-direction:column;align-items:flex-start;}
  .results-header > div{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;}
}
