*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#15130f;
  --bg-2:#1c1914;
  --ink:#f5efe2;
  --ink-soft:#d7cdb9;
  --muted:#958b7b;
  --faint:#6f6659;
  --surface:#211d17;
  --surface-2:#2a251d;
  --surface-3:#efe4ce;
  --paper:#f4ead8;
  --paper-2:#e8dcc5;
  --paper-ink:#191610;
  --line:#3b3328;
  --line-strong:#5a4d3d;
  --accent:#e2a93b;
  --accent-ink:#2a1b04;
  --accent-soft:#3a2b13;
  --green:#82b36b;
  --cyan:#75a9ad;
  --warning:#d8933f;
  --danger:#d36d5d;
  --success:#82b36b;
  --shadow:0 24px 70px rgba(0,0,0,.38);
  --shadow-sm:0 12px 34px rgba(0,0,0,.26);
  --r:7px;
  --r-lg:10px;
  --font:"Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"Geist Mono","SFMono-Regular",Consolas,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --nav-island-height:72px;
}

html{font-size:15px;scroll-behavior:smooth}
body{
  min-height:100vh;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  line-height:1.55;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(245,239,226,.055) 1px,transparent 1px),
    linear-gradient(0deg,rgba(245,239,226,.04) 1px,transparent 1px),
    linear-gradient(135deg,rgba(226,169,59,.12),transparent 38%,rgba(117,169,173,.09) 74%,transparent);
  background-size:44px 44px,44px 44px,100% 100%;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.62) 58%,transparent);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.2;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

button,input,select{font:inherit}
button{touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{
  outline:3px solid rgba(226,169,59,.34);
  outline-offset:3px;
}
.skip-link{
  position:fixed;
  left:18px;
  top:14px;
  z-index:1000;
  transform:translateY(-150%);
  padding:9px 12px;
  border-radius:var(--r);
  background:var(--accent);
  color:var(--accent-ink);
  text-decoration:none;
  font-weight:800;
  transition:transform .2s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

.mesh-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.mesh-bg::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:92px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(226,169,59,.6),transparent);
}
.mesh-bg::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:34%;
  background:linear-gradient(to top,rgba(0,0,0,.28),transparent);
}

.nav-island{
  position:sticky;
  top:0;
  z-index:200;
  width:100%;
  padding:0 20px;
  background:rgba(21,19,15,.86);
  border-bottom:1px solid rgba(226,169,59,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.nav-shell{max-width:1240px;margin:0 auto}
.nav-core{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:72px}
.nav-logo{display:flex;align-items:center;gap:12px;min-width:0}
.logo-gem{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:var(--r);
  background:var(--accent);
  color:var(--accent-ink);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 12px 26px rgba(0,0,0,.28);
}
.nav-brand{font-weight:850;letter-spacing:-.01em;font-size:1rem;white-space:nowrap;color:var(--ink)}
.brand-accent{color:var(--accent)}
.nav-center{display:flex;justify-content:center}
.status-orb{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(42,37,29,.82);
  color:var(--ink-soft);
  font-family:var(--mono);
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  box-shadow:var(--shadow-sm);
  font-variant-numeric:tabular-nums;
}
.orb-dot{width:8px;height:8px;border-radius:2px;background:var(--faint);box-shadow:0 0 0 4px rgba(111,102,89,.16)}
.orb-dot.running{background:var(--warning);box-shadow:0 0 0 4px rgba(216,147,63,.18);animation:pulse 1s infinite}
.orb-dot.done{background:var(--success);box-shadow:0 0 0 4px rgba(130,179,107,.18)}
.orb-dot.error{background:var(--danger);box-shadow:0 0 0 4px rgba(211,109,93,.18)}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:9px}
.nav-link,.lead-counter{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(42,37,29,.82);
  color:var(--ink-soft);
  font-size:.78rem;
  font-weight:780;
  text-decoration:none;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
}
.nav-link:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);transform:translateY(-1px)}
.lead-counter{gap:7px;border-color:rgba(130,179,107,.28);background:rgba(130,179,107,.13);color:#c9e4bd;font-variant-numeric:tabular-nums}

.main-canvas{
  position:relative;
  z-index:1;
  width:min(1240px,calc(100% - 40px));
  margin:0 auto;
  padding:58px 0 82px;
}
.hero-section{
  display:grid;
  grid-template-columns:minmax(0,.93fr) minmax(500px,1.07fr);
  align-items:start;
  gap:34px;
  margin-bottom:28px;
}
.eyebrow-tag{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  margin-bottom:18px;
  padding:7px 10px;
  border:1px solid rgba(226,169,59,.28);
  border-radius:var(--r);
  background:rgba(58,43,19,.72);
  color:#f0cc7b;
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:760;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.eyebrow-dot{width:8px;height:8px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 4px rgba(226,169,59,.15)}
.hero-headline{
  max-width:100%;
  margin-bottom:18px;
  font-size:clamp(2.8rem,5.7vw,5.65rem);
  font-weight:760;
  letter-spacing:0;
  line-height:.9;
  text-wrap:balance;
}
.headline-gradient{color:inherit}
.hero-sub{
  max-width:570px;
  color:var(--ink-soft);
  font-size:1.06rem;
  line-height:1.75;
  text-wrap:pretty;
  
  
}
.hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-width:550px;
  margin-top:28px;
}
.hero-metrics div{
  min-height:76px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(33,29,23,.72);
}
.hero-metrics strong{
  display:block;
  color:var(--ink);
  font-family:var(--mono);
  font-size:1.28rem;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.hero-metrics span{
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:.74rem;
  font-weight:760;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.search-shell{
  position:relative;
  background:linear-gradient(180deg,var(--paper),var(--paper-2));
  border:1px solid rgba(245,239,226,.16);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow);
  overflow:visible;
  color:var(--paper-ink);
  margin-top: 46px;
}
.search-shell::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(25,22,16,.08);
  border-radius:8px;
  pointer-events:none;
}
.search-core{position:relative;padding:28px;}
.panel-kicker{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(25,22,16,.16);
  color:#6c5f4b;
  font-family:var(--mono);
  font-size:.72rem;
  font-weight:780;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.panel-code{
  padding:4px 6px;
  border-radius:5px;
  background:#191610;
  color:#f0cc7b;
}
.search-grid{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:22px}
.field-block{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid rgba(25,22,16,.14);
}
.field-block:first-child{padding-top:0}
.field-block:last-child{border-bottom:0;padding-bottom:0}
.field-tag{
  display:flex;
  align-items:center;
  gap:8px;
  color:#71644f;
  font-size:.72rem;
  font-weight:820;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.field-tag svg{color:#7f5a14}
.input-shell{
  position:relative;
  border:1px solid rgba(25,22,16,.22);
  border-radius:var(--r);
  background:rgba(255,252,244,.66);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
}
.input-shell:focus-within{border-color:#9d6f19;box-shadow:0 0 0 4px rgba(226,169,59,.22);background:#fff9ec}
.field-input{
  width:100%;
  min-height:48px;
  padding:12px 42px 12px 14px;
  border:0;
  background:transparent;
  outline:0;
  color:var(--paper-ink);
  font-size:.96rem;
  font-weight:560;
}
.field-input::placeholder{color:#998b75}
.field-input[type="number"]::-webkit-outer-spin-button,
.field-input[type="number"]::-webkit-inner-spin-button{margin:0}
.page-input{padding-right:14px}
.page-range-note{
  margin-top:8px;
  color:#756850;
  font-size:.78rem;
  font-weight:620;
}
.page-start-block[hidden]{display:none}

.dropdown-wrap{position:relative}
.chevron-btn{
  position:absolute;
  right:9px;
  top:50%;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:0;
  border-radius:6px;
  background:transparent;
  color:#71644f;
  cursor:pointer;
  transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
}
.chevron-btn:hover{background:rgba(25,22,16,.08);color:#7f5a14}
.dropdown-wrap.open .chevron-btn{transform:translateY(-50%) rotate(180deg);color:#7f5a14}
.dropdown-panel{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  right:0;
  z-index:500;
  max-height:0;
  overflow:hidden;
  border:1px solid rgba(25,22,16,.22);
  border-radius:var(--r);
  background:#fff8e8;
  box-shadow:0 22px 60px rgba(0,0,0,.32);
  opacity:0;
  transform:translateY(-5px);
  pointer-events:none;
  transition:max-height .24s var(--ease),opacity .18s var(--ease),transform .2s var(--ease);
}
.dropdown-wrap.open .dropdown-panel{max-height:284px;opacity:1;transform:translateY(0);pointer-events:auto}
.dropdown-list{max-height:282px;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:#a99675 transparent}
.dropdown-list::-webkit-scrollbar{width:8px}
.dropdown-list::-webkit-scrollbar-thumb{background:#a99675;border-radius:999px;border:2px solid #fff8e8}
.category-item{
  padding:10px 11px;
  border-radius:6px;
  color:#493e2f;
  font-size:.9rem;
  font-weight:540;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:pointer;
  transition:background .14s var(--ease),color .14s var(--ease);
}
.category-item:hover,.category-item.highlighted{background:#efe1c5;color:#191610}
.category-item.active{background:#191610;color:#f0cc7b;font-weight:760}
.category-tree-row{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  padding:8px 10px 8px calc(8px + (var(--category-indent,0) * 18px));
  white-space:normal;
}
.category-tree-chevron,.category-tree-spacer{
  flex:0 0 12px;
  width:12px;
  color:#3b3328;
  font-size:.76rem;
  line-height:1;
  text-align:center;
}
.category-tree-spacer{color:transparent}
.category-check{
  flex:0 0 14px;
  width:14px;
  height:14px;
  border:1px solid rgba(25,22,16,.22);
  border-radius:4px;
  background:#fffef9;
}
.category-tree-text{min-width:0;display:flex;flex-direction:column;gap:2px}
.category-tree-title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.15;
}
.category-count{color:#6c604f;font-weight:620}
.category-path{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#89765d;
  font-size:.74rem;
  font-weight:560;
}
.category-group .category-tree-title{font-weight:710}
.category-sub .category-tree-title{font-weight:640}
.category-leaf,.category-search{font-weight:540}
.category-tree-row.active .category-check{
  border-color:#f0cc7b;
  background:#f0cc7b;
  box-shadow:inset 0 0 0 3px #191610;
}
.category-tree-row.active .category-count,
.category-tree-row.active .category-path{color:#f0cc7b}
.match-highlight{color:#9d6f19;font-weight:850}
.category-no-results{padding:16px 12px;color:#71644f;font-size:.86rem;text-align:center}

.search-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:6px}
.btn-find{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:50px;
  padding:12px 14px 12px 20px;
  border:0;
  border-radius:var(--r);
  background:#191610;
  color:#fff8e8;
  font-size:.95rem;
  font-weight:820;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(25,22,16,.28);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
}
.btn-find:hover{transform:translateY(-2px);background:#6f4f14;box-shadow:0 20px 42px rgba(25,22,16,.34)}
.btn-find:active{transform:translateY(0) scale(.985)}
.btn-find:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}
.btn-icon-wrap{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.12);transition:transform .2s var(--ease)}
.btn-find:hover .btn-icon-wrap{transform:translateX(2px)}
.search-hint{max-width:320px;color:#756850;font-size:.78rem;line-height:1.45;text-align:right}

.progress-section{margin:10px 0 34px}
.progress-shell,.table-shell{
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:rgba(33,29,23,.9);
  box-shadow:var(--shadow-sm);
}
.progress-shell{overflow:hidden}
.table-shell{
  overflow:visible;
}
.progress-core{padding:22px}
.progress-header{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.pulse-ring{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r);background:rgba(216,147,63,.14);border:1px solid rgba(216,147,63,.28)}
.pulse-dot{width:10px;height:10px;border-radius:2px;background:var(--warning);animation:pulse .9s infinite}
.progress-meta{display:flex;flex-direction:column;gap:2px}
.progress-title{font-weight:780;color:var(--ink)}
.progress-sub{color:var(--muted);font-size:.86rem}
.progress-track{height:6px;margin-bottom:16px;border-radius:999px;background:#0f0d0a;overflow:hidden}
.progress-fill{height:100%;width:30%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--cyan),var(--green));animation:progress-sweep 2s ease-in-out infinite}
@keyframes progress-sweep{0%,100%{width:18%;margin-left:0}50%{width:56%;margin-left:32%}}
.progress-log{
  max-height:132px;
  overflow-y:auto;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:#100e0b;
  color:#d6cab5;
  font-family:var(--mono);
  font-size:.78rem;
  font-variant-numeric:tabular-nums;
}
.progress-log p{display:flex;gap:8px;margin:4px 0}
.progress-log p::before{content:"";width:6px;height:6px;margin-top:7px;border-radius:2px;background:var(--accent);flex:0 0 auto}

.crm-section{margin:42px 0}
.crm-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
.section-eyebrow{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:6px;
  color:#f0cc7b;
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.crm-title{font-size:clamp(2rem,3.3vw,3.15rem);line-height:.95;font-weight:780;letter-spacing:0}
.crm-meta-row{margin-top:10px}
.crm-count-badge{
  display:inline-flex;
  padding:5px 9px;
  border:1px solid rgba(130,179,107,.24);
  border-radius:6px;
  background:rgba(130,179,107,.13);
  color:#c9e4bd;
  font-family:var(--mono);
  font-size:.74rem;
  font-weight:700;
}
.crm-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.filter-shell{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(42,37,29,.92);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.filter-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(226,169,59,.13)}
.filter-icon{color:var(--muted);flex:0 0 auto}
.filter-input{width:220px;border:0;background:transparent;outline:0;color:var(--ink);font-size:.88rem}
.filter-input::placeholder{color:var(--faint)}
.status-select{
  min-height:40px;
  padding:0 34px 0 12px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(42,37,29,.92);
  color:var(--ink-soft);
  font-size:.84rem;
  font-weight:720;
  cursor:pointer;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.status-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(226,169,59,.13);outline:0}
.btn-export,.btn-ghost,.btn-danger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:40px;
  padding:9px 13px;
  border-radius:var(--r);
  font-size:.84rem;
  font-weight:760;
  cursor:pointer;
  transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),opacity .2s var(--ease);
}
.btn-export{border:1px solid rgba(226,169,59,.36);background:var(--accent);color:var(--accent-ink)}
.btn-export:hover{background:#f0bf58;transform:translateY(-1px)}
.btn-ghost{border:1px solid var(--line);background:rgba(42,37,29,.92);color:var(--ink-soft)}
.btn-ghost:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink);transform:translateY(-1px)}
.btn-danger{border:1px solid rgba(211,109,93,.28);background:rgba(211,109,93,.1);color:#f0a69a}
.btn-danger:hover:not(:disabled){border-color:rgba(211,109,93,.45);background:rgba(211,109,93,.16);transform:translateY(-1px)}
.btn-danger:disabled{opacity:.48;cursor:not-allowed}
.btn-export:active,.btn-ghost:active,.btn-danger:active{transform:translateY(0) scale(.985)}

.table-core{overflow:hidden}
.bulk-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 16px;
  border-bottom:1px solid rgba(211,109,93,.24);
  background:rgba(211,109,93,.12);
  color:#f0a69a;
  font-family:var(--mono);
  font-size:.73rem;
  font-weight:700;
}
.bulk-bar button{border:0;background:transparent;color:#f0a69a;font-family:var(--font);font-size:.78rem;font-weight:780;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.table-row-count{padding:12px 16px;border-bottom:1px solid var(--line);background:#181510;color:var(--muted);font-family:var(--mono);font-size:.73rem;font-weight:650}
.table-scroll{
  overflow-x:scroll;
  overflow-y:hidden;
  scrollbar-gutter:stable both-edges;
}
.table-scroll-top{
  position:sticky;
  top:calc(var(--nav-island-height) + 8px);
  z-index:180;
  height:16px;
  overflow-x:scroll;
  overflow-y:hidden;
  border-bottom:1px solid var(--line);
  background:#181510;
  scrollbar-gutter:stable both-edges;
}
.table-scroll-top div{height:1px}
.table-scroll-top::-webkit-scrollbar{height:12px}
.table-scroll-top::-webkit-scrollbar-track{background:#181510}
.table-scroll-top::-webkit-scrollbar-thumb{background:#5a4d3d;border-radius:0}
.table-scroll-top::-webkit-scrollbar-thumb:hover{background:#7a684f}
.table-scroll::-webkit-scrollbar{height:12px}
.table-scroll::-webkit-scrollbar-track{background:#181510}
.table-scroll::-webkit-scrollbar-thumb{background:#5a4d3d;border-radius:0}
.table-scroll::-webkit-scrollbar-thumb:hover{background:#7a684f}
.crm-table{width:100%;min-width:1640px;border-collapse:collapse;background:var(--surface)}
.crm-table th{
  padding:13px 16px;
  border-bottom:1px solid var(--line);
  background:#181510;
  color:#a69a87;
  text-align:left;
  font-family:var(--mono);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  user-select:none;
}
.crm-table td{padding:14px 16px;border-bottom:1px solid rgba(90,77,61,.45);font-size:.9rem;vertical-align:middle}
.crm-table tbody tr{transition:background .16s var(--ease)}
.crm-table tbody tr:hover{background:#28231b}
.crm-table tbody tr.selected{background:#322711}
.crm-table tbody tr:last-child td{border-bottom:0}
.col-select{width:42px;text-align:center}
.col-select input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
.col-num{width:56px;color:var(--muted);font-family:var(--mono);font-size:.82rem;font-variant-numeric:tabular-nums}
.col-name{font-weight:760;color:var(--ink)}
.col-address{color:var(--ink-soft)}
.col-website{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.website-link{color:var(--cyan);font-size:.84rem;font-weight:560;text-decoration:none;transition:color .15s var(--ease)}
.website-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.col-social{width:150px}
.social-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:24px;
  padding:0 7px;
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--cyan);
  background:#181510;
  font-family:var(--mono);
  font-size:.68rem;
  font-weight:800;
  text-decoration:none;
  transition:color .15s var(--ease), border-color .15s var(--ease), background .15s var(--ease);
}
.social-link:hover{color:var(--accent);border-color:rgba(191,165,107,.5);background:#221d15}
.col-empty{color:var(--faint)}
.col-phone{width:220px;min-width:220px;color:var(--ink-soft);font-family:var(--mono);font-size:.82rem;font-variant-numeric:tabular-nums}
.phone-list{display:grid;gap:5px;min-width:max-content}
.phone-list span{display:block;white-space:nowrap}
.col-status{width:184px}
.col-date{width:128px;color:var(--muted);font-family:var(--mono);font-size:.78rem;font-variant-numeric:tabular-nums}
.col-actions{width:86px;text-align:right}
.row-delete{
  width:34px;
  height:34px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:6px;
  background:#181510;
  color:var(--muted);
  cursor:pointer;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
}
.row-delete:hover{border-color:rgba(211,109,93,.38);background:rgba(211,109,93,.12);color:#f0a69a;transform:translateY(-1px)}
.crm-empty-row td{padding:34px 18px;text-align:left;color:var(--muted);font-size:.92rem}
.badge{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:6px;font-size:.76rem;font-weight:760;white-space:nowrap}
.badge::before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor;flex:0 0 auto}
.badge-operational{background:rgba(130,179,107,.14);color:#c9e4bd}
.badge-closed{background:rgba(211,109,93,.14);color:#f0a69a}
.badge-temp-closed{background:rgba(216,147,63,.14);color:#f0c088}
.badge-unknown{background:rgba(149,139,123,.14);color:#b8ad9d}

.empty-section{padding-top:2px}
.empty-bento{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px}
.bento-feat{
  min-height:142px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(33,29,23,.8);
  box-shadow:var(--shadow-sm);
  transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);
}
.bento-feat:hover{transform:translateY(-2px);border-color:var(--line-strong);background:#252018}
.bento-large{grid-row:span 2;min-height:296px}
.bento-wide{grid-column:span 2}
.bento-label{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#a69a87;font-family:var(--mono);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bento-dot{width:8px;height:8px;border-radius:2px;background:var(--accent)}
.bento-dot-green{background:var(--green)}
.bento-dot-purple{background:var(--cyan)}
.bento-dot-amber{background:var(--warning)}
.bento-icon-area{margin:28px 0;color:var(--accent);opacity:.54}
.bento-text,.bento-text-sm{color:var(--ink-soft);line-height:1.68;text-wrap:pretty}
.bento-text{max-width:330px;font-size:1rem}
.bento-text-sm{font-size:.9rem}

.reveal-up{opacity:0;transform:translateY(16px);animation:revealUp .55s var(--ease) forwards}
@keyframes revealUp{to{opacity:1;transform:translateY(0)}}
.hero-section .eyebrow-tag{animation:revealUp .45s var(--ease) .05s both}
.hero-headline{animation:revealUp .55s var(--ease) .12s both;opacity:0;transform:translateY(16px)}
.hero-sub{animation:revealUp .55s var(--ease) .18s both;opacity:0;transform:translateY(16px)}
.hero-metrics{animation:revealUp .55s var(--ease) .24s both;opacity:0;transform:translateY(16px)}
#searchShell{animation-delay:.2s}
.empty-bento{animation-delay:.26s}
.row-enter{animation:rowIn .28s var(--ease) both}
@keyframes rowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.toast-wrap{position:fixed;right:24px;bottom:24px;z-index:999;animation:toastUp .22s var(--ease)}
@keyframes toastUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.toast-shell{display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 40px));padding:12px 14px;border:1px solid rgba(211,109,93,.28);border-radius:var(--r);background:#2b1815;color:#f0a69a;font-size:.86rem;font-weight:650;box-shadow:var(--shadow)}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#665844;border:3px solid transparent;border-radius:999px;background-clip:content-box}

@media(max-width:980px){
  .main-canvas{width:min(760px,calc(100% - 32px));padding-top:46px}
  .hero-section{grid-template-columns:1fr;gap:28px}
  .hero-headline{max-width:760px;font-size:clamp(3rem,10vw,5rem)}
  .hero-sub{max-width:640px}
  .empty-bento{grid-template-columns:1fr 1fr}
  .bento-large,.bento-wide{grid-column:span 2}
}

@media(max-width:680px){
  html{font-size:14px}
  .nav-island{padding:0 12px}
  .nav-core{grid-template-columns:1fr;justify-items:start;gap:8px;padding:10px 0}
  .nav-center,.nav-right{justify-content:flex-start}
  .nav-right{flex-wrap:wrap}
  .main-canvas{width:min(100% - 24px,560px);padding:36px 0 56px}
  .hero-headline{font-size:clamp(2.55rem,14vw,4.2rem)}
  .hero-metrics{grid-template-columns:1fr}
  .search-core{padding:22px 18px 18px}
  .field-block{grid-template-columns:1fr;gap:8px;padding:15px 0}
  .search-cta{align-items:stretch;flex-direction:column}
  .btn-find{width:100%}
  .search-hint{text-align:left;max-width:none}
  .crm-top{align-items:flex-start;flex-direction:column}
  .crm-controls{width:100%;justify-content:stretch}
  .filter-shell,.filter-input,.status-select,.btn-export,.btn-ghost,.btn-danger{width:100%}
  .empty-bento{grid-template-columns:1fr}
  .bento-large,.bento-wide{grid-column:span 1;min-height:auto}
  .toast-wrap{right:12px;bottom:12px;left:12px}
  .toast-shell{max-width:none}
}

/* Tabs & Views */
.nav-list {
  display: flex;
  list-style: none;
  gap: 4px;
  background: rgba(21, 19, 15, 0.6);
  padding: 5px;
  border-radius: 12px;
  border: 1px solid rgba(226, 169, 59, 0.15);
  backdrop-filter: blur(10px);
}
.nav-tab {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 8px 18px;
  border-radius: 9px;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s var(--ease);
  position: relative;
}
.nav-tab::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--accent);
  transition: all 0.3s var(--ease);
  transform: translateX(-50%);
}
.nav-tab:hover {
  color: var(--ink-soft);
}
.nav-tab.active {
  background: rgba(226, 169, 59, 0.1);
  color: var(--accent);
}
.nav-tab.active::after {
  width: 20px;
}

.app-view {
  animation: revealUp 0.5s var(--ease);
}

/* File Grid */
.file-view-section {
  padding: 30px 0 80px;
}
.section-header {
  margin-bottom: 40px;
  border-left: 3px solid var(--accent);
  padding-left: 20px;
}
.section-sub {
  color: var(--muted);
  font-size: 1.1rem;
  margin-top: 10px;
  max-width: 600px;
}
.file-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}
.file-card {
  padding: 24px;
  background: rgba(33, 29, 23, 0.4);
  border: 1px solid rgba(226, 169, 59, 0.1);
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  display: flex;
  flex-direction: column;
  gap: 16px;
  backdrop-filter: blur(5px);
  position: relative;
  overflow: hidden;
}
.file-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity: 0;
  transition: opacity 0.3s var(--ease);
}
.file-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(226, 169, 59, 0.4);
  background: rgba(42, 37, 29, 0.8);
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}
.file-card:hover::before {
  opacity: 1;
}
.file-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, rgba(226, 169, 59, 0.2), rgba(226, 169, 59, 0.05));
  color: var(--accent);
  border-radius: 12px;
  display: grid;
  place-items: center;
  box-shadow: inset 0 0 0 1px rgba(226, 169, 59, 0.2);
}
.file-info h4 {
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 6px;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.file-info p {
  color: var(--muted);
  font-size: 0.8rem;
  font-family: var(--mono);
  display: flex;
  align-items: center;
  gap: 8px;
}
.file-info p::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--line-strong);
}

/* Detail View */
.detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.detail-meta {
  display: flex;
  align-items: center;
  gap: 20px;
}
.detail-meta h3 {
  font-size: 1.4rem;
  font-weight: 780;
}

/* Modal */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  display: grid;
  place-items: center;
  padding: 20px;
  animation: fadeIn 0.3s var(--ease);
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.modal-shell {
  width: min(500px, 100%);
  background: var(--paper);
  border-radius: var(--r-lg);
  color: var(--paper-ink);
  box-shadow: 0 40px 100px rgba(0,0,0,0.5);
  overflow: hidden;
  animation: revealUp 0.4s var(--ease);
}
.modal-header {
  padding: 24px;
  border-bottom: 1px solid rgba(25, 22, 16, 0.1);
}
.modal-header h3 {
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 6px;
}
.modal-header p {
  color: #71644f;
  font-size: 0.94rem;
}
.modal-body {
  padding: 24px;
}
.modal-footer {
  padding: 16px 24px;
  background: rgba(25, 22, 16, 0.03);
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

@media(max-width:680px){
  .detail-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .detail-meta {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
}

/* ── v2: Nav tabs ── */
.nav-list{display:flex;list-style:none;gap:4px;padding:5px;background:rgba(21,19,15,.6);border:1px solid rgba(226,169,59,.15);border-radius:12px;backdrop-filter:blur(10px)}
.nav-tab{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);padding:7px 14px;border-radius:9px;font-size:.83rem;font-weight:700;cursor:pointer;transition:all .25s var(--ease)}
.nav-tab:hover{color:var(--ink-soft)}
.nav-tab.active{background:rgba(226,169,59,.12);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(226,169,59,.22)}
.app-view{animation:revealUp .45s var(--ease)}

/* ── Library header ── */
.lib-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:10px 0 32px}
.section-title{font-size:clamp(2rem,3.2vw,3rem);font-weight:780;letter-spacing:-.01em;line-height:1}
.section-sub{color:var(--muted);font-size:1rem;margin-top:8px;max-width:560px}

/* ── File grid ── */
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding-bottom:60px}
.file-empty{grid-column:1/-1;padding:48px;text-align:center;color:var(--muted);font-size:.95rem;border:1px dashed var(--line);border-radius:var(--r-lg)}
.file-card{padding:22px;background:rgba(33,29,23,.5);border:1px solid rgba(226,169,59,.1);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:14px;transition:all .35s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}
.file-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s}
.file-card:hover{transform:translateY(-6px) scale(1.015);border-color:rgba(226,169,59,.35);background:rgba(42,37,29,.85);box-shadow:0 16px 36px rgba(0,0,0,.38)}
.file-card:hover::before{opacity:1}
.crm-card::before{background:linear-gradient(90deg,transparent,var(--green),transparent)}
.crm-card:hover{border-color:rgba(130,179,107,.35)}
.file-icon{width:46px;height:46px;background:rgba(226,169,59,.1);color:var(--accent);border-radius:10px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(226,169,59,.18)}
.file-info h4{font-size:1.05rem;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin-bottom:4px}
.file-info p{color:var(--muted);font-size:.78rem;font-family:var(--mono)}

/* ── Detail view ── */
.detail-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.detail-title-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.detail-title-row h3{font-size:1.3rem;font-weight:780}
.detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ── Save modal ── */
.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;animation:fadeIn .25s var(--ease)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-shell{width:min(480px,100%);background:var(--paper);border-radius:14px;color:var(--paper-ink);box-shadow:0 40px 90px rgba(0,0,0,.55);overflow:hidden;animation:revealUp .35s var(--ease)}
.modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(25,22,16,.1)}
.modal-header h3{font-size:1.3rem;font-weight:800;margin-bottom:6px}
.modal-header p{color:#71644f;font-size:.92rem}
.modal-body{padding:22px 24px}
.modal-footer{padding:14px 24px;background:rgba(25,22,16,.04);display:flex;justify-content:flex-end;gap:10px}
.modal-shell .field-input{
  background:#fffaf0;
  color:var(--paper-ink);
  border-color:rgba(25,22,16,.2);
}
.modal-shell .field-input::placeholder{color:#8c806c}
.modal-shell .input-shell{background:#fffaf0;border-color:rgba(25,22,16,.2)}
.modal-shell select.field-input option{background:#fffaf0;color:var(--paper-ink)}
/* ── Confidence badge in CRM table ── */
.col-conf{width:90px;font-family:var(--mono);font-size:.82rem;text-align:center}

/* ── Leads filter bar ── */
.leads-filter-bar{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0;
  flex-wrap:wrap;
}
.leads-filter-meta{
  color:var(--muted);
  font-family:var(--mono);
  font-size:.74rem;
  font-weight:700;
  white-space:nowrap;
}

/* ── Checkbox column ── */
.col-check{
  width:42px;
  text-align:center;
  padding-left:14px !important;
}
.row-check{
  width:16px;
  height:16px;
  accent-color:var(--accent);
  cursor:pointer;
  border-radius:4px;
}

@media(max-width:680px){
  .lib-header{flex-direction:column}
  .detail-header{flex-direction:column;align-items:flex-start}
  .detail-title-row{flex-direction:column;align-items:flex-start;gap:12px}
  .detail-actions{width:100%}
  .leads-filter-bar{gap:8px}
}

/* ── Multi-select: filter bar ── */
.leads-filter-bar{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0 12px;
  flex-wrap:wrap;
}
.leads-filter-meta{
  color:var(--muted);
  font-size:.78rem;
  white-space:nowrap;
  margin-left:auto;
}

/* ── Status filter chips ── */
.crm-filter-chip{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 11px;
  border:1px solid var(--line-strong);
  border-radius:20px;
  background:transparent;
  color:var(--muted);
  font-family:var(--font);
  font-size:.76rem;
  font-weight:560;
  cursor:pointer;
  white-space:nowrap;
  transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease);
}
.crm-filter-chip:hover{
  border-color:var(--accent);
  color:var(--accent);
  background:rgba(226,169,59,.07);
}
.crm-filter-chip.active{
  border-color:var(--accent);
  background:rgba(226,169,59,.14);
  color:var(--accent);
  font-weight:700;
}

/* ── Multi-select: checkbox column ── */
.col-check{
  width:38px;
  padding:0 6px 0 14px;
}
.col-check input[type=checkbox]{
  width:15px;
  height:15px;
  accent-color:var(--accent);
  cursor:pointer;
  border-radius:3px;
}

/* ── Row selected highlight ── */
.row-selected{
  background:rgba(226,169,59,.07) !important;
}
.row-selected td{
  border-color:rgba(226,169,59,.18) !important;
}

.batch-panel{
  margin:4px 0 18px;
  padding:16px;
  border:1px solid rgba(117,169,173,.28);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(117,169,173,.11),rgba(226,169,59,.06));
  box-shadow:inset 0 1px 0 rgba(245,239,226,.06);
}
.batch-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.batch-head strong{
  display:block;
  font-size:.95rem;
  color:var(--ink);
}
.batch-head span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.82rem;
}
.batch-count{
  color:var(--cyan) !important;
  font-family:var(--mono);
  font-weight:800;
  white-space:nowrap;
}
.batch-bar{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(245,239,226,.08);
  border:1px solid rgba(245,239,226,.08);
}
.batch-bar span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--cyan),var(--accent));
  transition:width .25s var(--ease);
}
.batch-log{
  max-height:170px;
  overflow:auto;
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(21,19,15,.5);
  color:var(--ink-soft);
  font-family:var(--mono);
  font-size:.78rem;
}
.batch-log p + p{margin-top:6px}
