/* ═══════════════════════════════════════════════════════════════
   DEEDSCOPE — Multi-State Tax Deed Intelligence
   Warm Obsidian Theme · Big text · Traffic-light scoring
   Fonts: Source Serif 4 (headings) + Plus Jakarta Sans (body) + JetBrains Mono (numbers)
   ═══════════════════════════════════════════════════════════════ */

:root {
  --bg: #121518;
  --bg2: #1a1e23;
  --bg3: #22272e;
  --bg4: #2d333b;
  --surface: #1e2228;
  --border: #2d333b;
  --border-light: #373e47;
  --text: #f0f3f6;
  --text2: #9ba4b0;
  --text3: #6b7685;
  --green: #2dd47a;
  --green-bg: rgba(45,212,122,.1);
  --green-border: rgba(45,212,122,.25);
  --yellow: #f0b429;
  --yellow-bg: rgba(240,180,41,.08);
  --yellow-border: rgba(240,180,41,.25);
  --red: #e5534b;
  --red-bg: rgba(229,83,75,.08);
  --red-border: rgba(229,83,75,.25);
  --orange: #e89142;
  --orange-bg: rgba(232,145,66,.1);
  --accent: #2dd47a;
  --accent-hover: #57e09a;
  --blue: #539bf5;
  --blue-bg: rgba(83,155,245,.1);
  --purple: #b083f0;
  --purple-bg: rgba(176,131,240,.1);
  --teal: #39d2c0;
  --serif: 'Source Serif 4', Georgia, serif;
  --sans: 'Plus Jakarta Sans', -apple-system, sans-serif;
  --mono: 'JetBrains Mono', monospace;
  --sidebar-w: 250px;
  --radius: 12px;
  --radius-sm: 8px;
  --drawer-w: 580px;
  --ease: cubic-bezier(.25,.1,.25,1);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;overflow-x:hidden}
::selection{background:var(--accent);color:var(--bg)}
a{color:var(--accent);text-decoration:none}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}
button{font-family:inherit}
.hidden{display:none!important}

/* ═══════════ SIDEBAR ═══════════ */
#sidebar{
  position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);
  background:var(--bg2);border-right:1px solid var(--border);
  display:flex;flex-direction:column;z-index:90;
  transition:transform .3s var(--ease);
}
.sb-top{flex:1;padding:20px 16px}
.sb-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.sb-name{font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:-.02em}
.sb-tagline{font-size:11px;color:var(--text3);font-weight:500;margin-top:-2px}

.sb-links{display:flex;flex-direction:column;gap:4px}
.sb-link{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;border-radius:var(--radius-sm);
  font-size:14.5px;font-weight:500;color:var(--text2);
  cursor:pointer;transition:all .15s var(--ease);
  border:none;background:none;text-align:left;position:relative;
}
.sb-link:hover{background:var(--bg3);color:var(--text)}
.sb-link.active{
  background:var(--green-bg);color:var(--accent);font-weight:600;
  box-shadow:inset 3px 0 0 var(--accent);
}
.sb-link i{width:20px;text-align:center;font-size:16px}
.sb-badge{
  position:absolute;right:12px;
  background:var(--accent);color:var(--bg);
  font-size:11px;font-weight:700;
  padding:1px 7px;border-radius:10px;
  min-width:20px;text-align:center;
}
.sb-badge:empty{display:none}

.sb-bottom{padding:16px;border-top:1px solid var(--border)}
.sb-scan-btn{
  width:100%;padding:12px;border:none;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,#059669,#2dd47a);
  color:#fff;font-size:14px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:all .2s var(--ease);margin-bottom:14px;
}
.sb-scan-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(45,212,122,.25)}
.sb-scan-btn:disabled{opacity:.5;cursor:wait;transform:none}
.sb-scan-btn i{font-size:14px}

.sb-profile{display:flex;align-items:center;gap:10px}
.sb-avatar{
  width:36px;height:36px;border-radius:var(--radius-sm);
  background:var(--bg4);display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:var(--accent);
}
.sb-uname{font-size:13px;font-weight:600}
.sb-uplan{font-size:11px;color:var(--accent);font-weight:500}

/* ═══════════ MOBILE TOPBAR ═══════════ */
#topbar{
  display:none;position:fixed;top:0;left:0;right:0;height:56px;
  background:var(--bg2);border-bottom:1px solid var(--border);
  align-items:center;padding:0 16px;gap:12px;z-index:80;
}
.mob-menu{background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;padding:8px}
.mob-title{font-family:var(--serif);font-size:17px;font-weight:700;flex:1}
.mob-wl{background:none;border:none;color:var(--text2);font-size:18px;cursor:pointer;padding:8px}

/* ═══════════ MAIN CONTENT ═══════════ */
#main{margin-left:var(--sidebar-w);min-height:100vh}
.pg{display:none;padding:28px 32px;max-width:1400px;animation:fadeUp .35s var(--ease)}
.pg.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.page-head{margin-bottom:24px}
.page-head h1{font-family:var(--serif);font-size:24px;font-weight:700;display:flex;align-items:center;gap:10px}
.page-head h1 i{color:var(--accent);font-size:20px}
.page-desc{font-size:14px;color:var(--text3);margin-top:4px}

/* ═══════════ BADGES / TAGS ═══════════ */
.tag{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 8px;border-radius:6px;
  font-size:11px;font-weight:600;
}
.tag.green{background:var(--green-bg);color:var(--green)}
.tag.yellow{background:var(--yellow-bg);color:var(--yellow)}
.tag.red{background:var(--red-bg);color:var(--red)}
.tag.blue{background:var(--blue-bg);color:var(--blue)}
.tag.orange{background:var(--orange-bg);color:var(--orange)}
.tag.muted{background:var(--bg4);color:var(--text3)}
.tag.purple{background:var(--purple-bg);color:var(--purple)}

.badge-live{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
}
.badge-live.live{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}
.badge-live.demo{background:var(--bg4);color:var(--text3);border:1px solid var(--border)}
.badge-live.live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

.badge-pro{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;
  background:linear-gradient(135deg,#b083f0,#7c3aed);color:#fff;
  text-transform:uppercase;letter-spacing:.04em;
}

.pill{
  display:inline-block;padding:3px 10px;border-radius:12px;
  font-size:11px;font-weight:600;background:var(--bg4);color:var(--text2);
}

/* ═══════════ FILTERS ═══════════ */
.filters{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:16px 20px;margin-bottom:18px;
}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filter-row+.filter-row{margin-top:10px}
.filter-row-bottom{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.filters select{
  background:var(--bg);color:var(--text);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:10px 36px 10px 14px;
  font-family:var(--sans);font-size:14px;cursor:pointer;outline:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7685' d='M6 8L1 3h8z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
  min-height:44px;
}
.filters select:focus{border-color:var(--accent)}

.toggle-group{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.tg-btn{
  padding:10px 14px;font-size:13px;font-weight:600;
  background:var(--bg);color:var(--text3);border:none;cursor:pointer;
  transition:all .15s;min-height:44px;
  border-right:1px solid var(--border);
}
.tg-btn:last-child{border-right:none}
.tg-btn:hover{color:var(--text)}
.tg-btn.active{background:var(--green-bg);color:var(--accent)}

.slider-label{
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:var(--text2);white-space:nowrap;
}
.slider-label strong{color:var(--text);font-family:var(--mono);font-size:13px;min-width:32px}
input[type=range]{-webkit-appearance:none;width:100px;height:4px;background:var(--border);border-radius:2px;outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;border:2px solid var(--bg)}

.toggle-label{
  display:flex;align-items:center;gap:6px;
  font-size:13px;color:var(--text2);cursor:pointer;white-space:nowrap;
}
.toggle-label input[type=checkbox]{
  width:16px;height:16px;accent-color:var(--accent);cursor:pointer;
}

.clear-btn{
  padding:8px 14px;border-radius:var(--radius-sm);
  background:var(--bg);border:1px solid var(--border);
  color:var(--text3);font-size:13px;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:5px;transition:all .15s;
  min-height:44px;
}
.clear-btn:hover{border-color:var(--red);color:var(--red)}

.result-count{margin-left:auto;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text3)}

/* ═══════════ LOADING / ERROR / EMPTY ═══════════ */
.loading-state{text-align:center;padding:80px 24px;color:var(--text3)}
.spinner{
  width:40px;height:40px;border:3px solid var(--border);
  border-top-color:var(--accent);border-radius:50%;
  animation:spin .8s linear infinite;margin:0 auto 16px;
}
@keyframes spin{to{transform:rotate(360deg)}}

.error-state{
  text-align:center;padding:60px 24px;color:var(--text3);
}
.error-state i{font-size:40px;margin-bottom:14px;display:block;color:var(--red);opacity:.6}
.error-state h3{font-size:18px;font-weight:600;color:var(--text2);margin-bottom:6px}
.error-state p{font-size:14px;margin-bottom:16px}
.retry-btn{
  padding:10px 20px;border-radius:var(--radius-sm);
  background:var(--accent);color:var(--bg);border:none;
  font-weight:700;font-size:14px;cursor:pointer;
}

.empty-state{
  text-align:center;padding:60px 24px;color:var(--text3);
  grid-column:1/-1;
}
.empty-state i{font-size:40px;margin-bottom:14px;display:block;opacity:.4}
.empty-state h3{font-size:18px;font-weight:600;color:var(--text2);margin-bottom:6px}
.empty-state p{font-size:14px}

/* ═══════════ DEAL CARDS ═══════════ */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}

.deal-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:20px 22px;cursor:pointer;
  transition:all .2s var(--ease);position:relative;
}
.deal-card:hover{border-color:rgba(45,212,122,.3);box-shadow:0 8px 28px rgba(0,0,0,.25);transform:translateY(-2px)}

.dc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}
.dc-top-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dc-top-right{display:flex;align-items:center;gap:10px;flex-shrink:0}

/* Score ring */
.score-ring{position:relative;width:56px;height:56px;flex-shrink:0}
.score-ring svg{transform:rotate(-90deg)}
.score-ring-bg{fill:none;stroke:var(--bg4);stroke-width:5}
.score-ring-fg{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease)}
.score-ring-val{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:16px;font-weight:700;
}
.score-ring.hi .score-ring-fg{stroke:var(--green)}
.score-ring.hi .score-ring-val{color:var(--green)}
.score-ring.mid .score-ring-fg{stroke:var(--yellow)}
.score-ring.mid .score-ring-val{color:var(--yellow)}
.score-ring.lo .score-ring-fg{stroke:var(--red)}
.score-ring.lo .score-ring-val{color:var(--red)}

.dc-confidence{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text3)}

.dc-addr{font-size:17px;font-weight:600;margin-bottom:4px;line-height:1.3}
.dc-sub{font-size:13px;color:var(--text3);margin-bottom:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.dc-auction-date{font-size:13px;color:var(--text2);margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dc-countdown{font-size:12px;font-weight:700;color:var(--orange)}

/* Key metrics row */
.dc-metrics{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2px;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:12px;
}
.dc-metric{background:var(--bg);padding:10px 12px;text-align:center}
.dc-metric-v{font-family:var(--mono);font-size:15px;font-weight:700}
.dc-metric-l{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-weight:600}

.dc-flags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.dc-flag{font-size:10px;font-weight:600;color:var(--yellow);background:var(--yellow-bg);padding:3px 8px;border-radius:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.dc-actions{display:flex;gap:8px;align-items:center}
.dc-btn{
  padding:9px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;
  cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px;
  border:none;min-height:40px;
}
.dc-btn-primary{background:var(--green-bg);color:var(--accent);border:1px solid var(--green-border);flex:1;justify-content:center}
.dc-btn-primary:hover{background:rgba(45,212,122,.2)}
.dc-btn-save{background:var(--bg);color:var(--text2);border:1px solid var(--border);padding:9px 12px}
.dc-btn-save:hover{border-color:var(--accent);color:var(--accent)}
.dc-btn-save.saved{color:var(--accent);border-color:var(--accent);background:var(--green-bg)}

/* ═══════════ WATCHLIST ═══════════ */
.wl-alerts{margin-bottom:16px}
.wl-alert{
  background:var(--red-bg);border:1px solid var(--red-border);
  border-radius:var(--radius-sm);padding:12px 16px;
  font-size:14px;color:var(--red);font-weight:600;
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
}
.wl-alert i{font-size:16px}

.wl-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:18px 20px;
  display:flex;align-items:center;gap:16px;
  transition:all .2s var(--ease);cursor:pointer;
}
.wl-card:hover{border-color:rgba(45,212,122,.3);transform:translateY(-1px)}
.wl-card-info{flex:1;min-width:0}
.wl-card-addr{font-size:15px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-card-meta{font-size:12px;color:var(--text3);display:flex;gap:12px;flex-wrap:wrap}
.wl-card-actions{display:flex;gap:8px;flex-shrink:0}
.wl-remove{
  padding:8px 12px;border-radius:var(--radius-sm);
  background:none;border:1px solid var(--border);
  color:var(--text3);font-size:12px;font-weight:600;cursor:pointer;
  transition:all .15s;
}
.wl-remove:hover{border-color:var(--red);color:var(--red)}
.wl-view{
  padding:8px 14px;border-radius:var(--radius-sm);
  background:var(--green-bg);border:1px solid var(--green-border);
  color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;
  transition:all .15s;
}
.wl-view:hover{background:rgba(45,212,122,.2)}

/* ═══════════ COVERAGE MAP ═══════════ */
.cov-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}
.cov-map-wrap{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:24px;min-height:400px;
  display:flex;align-items:center;justify-content:center;
}
.cov-map-wrap svg{width:100%;height:auto;max-height:500px}
.cov-map-wrap svg path{
  stroke:var(--border-light);stroke-width:.5;cursor:pointer;
  transition:fill .15s,stroke .15s;
}
.cov-map-wrap svg path:hover{stroke:var(--accent);stroke-width:1}
.cov-map-wrap svg path.cov-st-live{fill:var(--green-bg)}
.cov-map-wrap svg path.cov-st-stub{fill:var(--yellow-bg)}
.cov-map-wrap svg path.cov-st-none{fill:var(--bg3)}
.cov-map-wrap svg path.cov-st-selected{stroke:var(--accent);stroke-width:2}

.cov-detail-panel{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:20px;overflow-y:auto;max-height:560px;
}
.cov-placeholder{text-align:center;padding:40px 16px;color:var(--text3)}
.cov-placeholder i{font-size:32px;margin-bottom:12px;display:block;opacity:.4}

.cov-state-name{font-family:var(--serif);font-size:20px;font-weight:700;margin-bottom:4px}
.cov-state-status{font-size:13px;margin-bottom:16px}
.cov-county-list{list-style:none}
.cov-county-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:14px;
}
.cov-county-item:last-child{border-bottom:none}

.cov-legend{display:flex;gap:20px;justify-content:center;padding:12px 0}
.cov-leg-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text2)}
.cov-dot{width:12px;height:12px;border-radius:3px}
.cov-dot.cov-live{background:var(--green)}
.cov-dot.cov-stub{background:var(--yellow)}
.cov-dot.cov-none{background:var(--bg4)}

/* ═══════════ DRAWER ═══════════ */
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;
  opacity:0;visibility:hidden;transition:all .25s var(--ease);
  backdrop-filter:blur(3px);
}
.overlay.open{opacity:1;visibility:visible}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:var(--drawer-w);max-width:100vw;
  background:var(--bg2);border-left:1px solid var(--border);z-index:210;
  transform:translateX(100%);transition:transform .3s var(--ease);
  overflow-y:auto;box-shadow:-10px 0 40px rgba(0,0,0,.4);
}
.drawer.open{transform:translateX(0)}

.dr-head{padding:22px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg2);z-index:1}
.drh-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.drh-left{display:flex;align-items:center;gap:14px}
.drh-close{
  background:none;border:none;color:var(--text3);font-size:20px;cursor:pointer;
  padding:8px;border-radius:var(--radius-sm);transition:all .15s;
  min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;
}
.drh-close:hover{color:var(--text);background:var(--bg3)}
.drh-addr{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.3;margin-bottom:6px}
.drh-sub{font-size:13px;color:var(--text3);line-height:1.6}
.drh-sub i{margin-right:3px;font-size:11px}

.dr-section{padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.04)}
.dr-section:last-child{border-bottom:none}
.drs-title{
  font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:14px;display:flex;align-items:center;gap:7px;
}
.drs-title i{color:var(--accent);font-size:12px}

/* Finance table */
.fin-tbl{width:100%;border-collapse:collapse}
.fin-tbl td{padding:6px 0;font-size:14px}
.fin-tbl td:first-child{color:var(--text2)}
.fin-tbl td:last-child{text-align:right;font-family:var(--mono);font-weight:600}
.fin-tbl tr.sep td{padding-top:12px;border-top:1px solid var(--border)}
.fin-tbl tr.total td{font-size:15px;font-weight:700;padding-top:10px;border-top:1px solid var(--border-light)}
.fin-tbl tr.total td:first-child{color:var(--text)}

/* Score breakdown table */
.sb-tbl{width:100%;border-collapse:collapse}
.sb-tbl th{
  font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;
  letter-spacing:.06em;padding:8px 6px;text-align:left;border-bottom:1px solid var(--border);
}
.sb-tbl th:last-child{text-align:right}
.sb-tbl td{padding:8px 6px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.03)}
.sb-tbl td:last-child{text-align:right;font-family:var(--mono);font-weight:600}
.sb-bar-cell{width:100px}
.sb-bar{height:6px;border-radius:3px;background:var(--bg4);overflow:hidden}
.sb-bar-fill{height:100%;border-radius:3px;transition:width .4s var(--ease)}
.sb-bar-fill.hi{background:var(--green)}
.sb-bar-fill.mid{background:var(--yellow)}
.sb-bar-fill.lo{background:var(--red)}

/* Blurred gate */
.gated{position:relative}
.gated-blur{filter:blur(4px);pointer-events:none;user-select:none}
.gate-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:8px;
  background:rgba(18,21,24,.6);border-radius:var(--radius);z-index:2;
}
.gate-lock{font-size:28px;color:var(--purple)}
.gate-text{font-size:14px;font-weight:600;color:var(--text)}
.gate-btn{
  padding:8px 18px;border-radius:var(--radius-sm);border:none;
  background:linear-gradient(135deg,#b083f0,#7c3aed);color:#fff;
  font-size:13px;font-weight:700;cursor:pointer;margin-top:4px;
}

/* Risk flags */
.rsk-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.03)}
.rsk-row:last-child{border-bottom:none}
.rsk-left{display:flex;align-items:center;gap:8px}
.rsk-ico{font-size:16px;width:24px;text-align:center}
.rsk-ico.warn{color:var(--yellow)}
.rsk-ico.ok{color:var(--green)}
.rsk-ico.unknown{color:var(--text3)}

/* Property details grid */
.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.prop-item{display:flex;flex-direction:column;gap:2px}
.prop-l{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.prop-v{font-size:14px;font-weight:500}
.prop-v.na{color:var(--text3);font-style:italic}

/* Progress bar */
.progress{height:8px;background:var(--bg4);border-radius:4px;overflow:hidden;margin-top:4px}
.progress-fill{height:100%;border-radius:4px;transition:width .5s var(--ease)}

/* Quick links */
.links-row{display:flex;flex-wrap:wrap;gap:8px}
.ql{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 14px;background:var(--bg);border:1px solid var(--border);
  border-radius:var(--radius-sm);color:var(--text2);font-size:13px;font-weight:500;
  text-decoration:none;transition:all .15s;min-height:44px;cursor:pointer;
}
.ql:hover{border-color:var(--accent);color:var(--accent);background:var(--green-bg)}
.ql.disabled{opacity:.3;pointer-events:none}
.ql i{font-size:14px}

/* State rules panel */
.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.rules-item{display:flex;flex-direction:column;gap:2px}
.rules-l{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.rules-v{font-size:14px;font-weight:500}

/* ═══════════ COVERAGE DEALS ═══════════ */
.cov-deals-section{
  margin-top:28px;padding-top:24px;border-top:1px solid var(--border);
  animation:fadeUp .3s var(--ease);
}
.cov-deals-head{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:12px;margin-bottom:18px;
}
.cov-deals-head h2{
  font-family:var(--serif);font-size:20px;font-weight:700;
  display:flex;align-items:center;gap:10px;
}
.cov-deals-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cov-deals-filters select{
  background:var(--bg);color:var(--text);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:8px 32px 8px 12px;
  font-family:var(--sans);font-size:13px;cursor:pointer;outline:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7685' d='M6 8L1 3h8z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.cov-deals-filters select:focus{border-color:var(--accent)}

/* ═══════════ TOAST ═══════════ */
.toast{
  position:fixed;bottom:24px;right:24px;z-index:300;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:14px 20px;
  font-size:14px;color:var(--text);box-shadow:0 10px 36px rgba(0,0,0,.4);
  transform:translateY(80px);opacity:0;transition:all .3s var(--ease);
  display:flex;align-items:center;gap:10px;max-width:420px;
}
.toast.show{transform:translateY(0);opacity:1}
.toast.ok{border-left:3px solid var(--green)}
.toast.err{border-left:3px solid var(--red)}
.toast.info{border-left:3px solid var(--blue)}

/* ═══════════ SUMMARY BAR ═══════════ */
.summary-bar{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:14px 20px;margin-bottom:14px;
  animation:fadeUp .3s var(--ease);
}
.summary-stat{text-align:center;min-width:70px}
.summary-stat-hero{border-right:1px solid var(--border);padding-right:16px}
.summary-stat-v{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--accent);line-height:1.2}
.summary-stat-l{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-top:2px}
.summary-pills{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.summary-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 12px;border-radius:20px;
  background:var(--bg);border:1px solid var(--border);
  font-size:12px;color:var(--text2);white-space:nowrap;
}
.summary-pill i{color:var(--accent);font-size:11px}
.summary-pill strong{color:var(--text);font-family:var(--mono)}
.summary-refresh{
  margin-left:auto;font-size:12px;color:var(--text3);
  display:flex;align-items:center;gap:5px;white-space:nowrap;
}
.summary-refresh i{color:var(--text3);font-size:11px}

/* ═══════════ SALE METHOD BADGE ═══════════ */
.badge-sale-method{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
}
.badge-sale-method.auction{background:var(--blue-bg);color:var(--blue);border:1px solid rgba(83,155,245,.25)}
.badge-sale-method.otc{background:var(--purple-bg);color:var(--purple);border:1px solid rgba(176,131,240,.25)}

/* ═══════════ SORT INDICATOR ═══════════ */
.sort-indicator{
  display:inline-flex;align-items:center;gap:4px;
  font-size:11px;color:var(--text3);font-weight:500;font-family:var(--sans);
  margin-left:8px;padding:2px 8px;border-radius:4px;background:var(--bg3);
}
.sort-indicator i{font-size:10px;color:var(--accent)}

/* ═══════════ WELCOME STATE ═══════════ */
.welcome-state{
  text-align:center;padding:60px 24px 48px;color:var(--text3);
  grid-column:1/-1;
}
.welcome-icon{margin-bottom:20px}
.welcome-icon svg{width:64px;height:64px}
.welcome-state h3{
  font-family:var(--serif);font-size:24px;font-weight:700;
  color:var(--text);margin-bottom:6px;
}
.welcome-sub{font-size:15px;color:var(--text2);margin-bottom:28px}
.welcome-steps{
  display:flex;flex-direction:column;gap:12px;
  max-width:440px;margin:0 auto 28px;text-align:left;
}
.welcome-step{
  display:flex;align-items:center;gap:12px;
  font-size:14px;color:var(--text2);
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:12px 16px;
}
.welcome-num{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  background:var(--green-bg);color:var(--accent);
  font-family:var(--mono);font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.welcome-step strong{color:var(--text)}

/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:1024px){
  .drawer{width:100%}
  .cov-layout{grid-template-columns:1fr}
  .cov-map-wrap{min-height:300px}
}
@media(max-width:768px){
  #sidebar{transform:translateX(-100%);z-index:150;box-shadow:4px 0 24px rgba(0,0,0,.4)}
  #sidebar.open{transform:translateX(0)}
  #topbar{display:flex}
  #main{margin-left:0;padding-top:56px}
  .pg{padding:16px}
  .card-grid{grid-template-columns:1fr}
  .filter-row{flex-direction:column;align-items:stretch}
  .filters select{width:100%}
  .toggle-group{width:100%}
  .tg-btn{flex:1}
  .result-count{margin-left:0}
  .summary-bar{flex-direction:column;align-items:stretch;gap:12px}
  .summary-stat-hero{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:12px}
  .summary-pills{justify-content:center}
  .summary-refresh{margin-left:0;justify-content:center}
  .prop-grid{grid-template-columns:1fr}
  .rules-grid{grid-template-columns:1fr}
  .cov-layout{grid-template-columns:1fr}
  .dc-metrics{grid-template-columns:1fr 1fr}
  .wl-card{flex-direction:column;align-items:stretch}
  .wl-card-actions{justify-content:flex-end}
}
@media(max-width:480px){
  .dc-addr{font-size:15px}
  .score-ring{width:48px;height:48px}
  .score-ring-val{font-size:14px}
}
