/* Deal Finder, prospect, track, admin, login — layout per Research/mockups (queue.html, dip.html, funnel.html), map tokens */
.skeleton{position:relative;color:transparent;min-height:120px;background:linear-gradient(90deg,var(--soft) 25%,var(--paper) 50%,var(--soft) 75%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border:1px solid var(--rule)}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}
.tape{border-left:3px solid var(--accent);background:var(--soft);padding:9px 12px;font-size:13px}
.tape.bad{border-left-color:var(--bad)}
.delta{font:500 11px var(--f-data);color:var(--muted)}
.small{font-size:12px}
.bad{color:var(--bad)} .ok{color:var(--ok)}
.notfound{max-width:520px;margin:60px auto;text-align:center}
.actions{display:flex;gap:8px;align-items:center;margin-top:10px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media (max-width:900px){.two{grid-template-columns:1fr}}

/* Deal Finder */
.df{display:grid;gap:18px}
.df .layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){.df .layout{grid-template-columns:1fr}}
.df .rail{background:var(--paper);border:1px solid var(--rule);padding:16px;display:grid;gap:14px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
@media (max-width:900px){.df .rail{position:static;max-height:none}}
.fg{display:grid;gap:5px;min-width:0}
.fg>label:not(.check),.fg>.lab{font:600 11px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}
.fg .two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chips button{font:500 12px var(--f-body);color:var(--muted);background:transparent;border:1px solid var(--rule);padding:5px 9px;cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
label.check{display:flex;gap:8px;align-items:center;font:13px var(--f-body);color:var(--ink);text-transform:none;letter-spacing:0;margin:0}
label.check input{width:auto}
.df .main{display:grid;gap:14px;min-width:0}
.summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;background:var(--paper);border:1px solid var(--rule);padding:14px 16px}
.summary .k{display:grid;gap:0}
.summary .k span{font:600 10.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.summary .k b{font:500 17px var(--f-data);font-variant-numeric:tabular-nums}
.summary .big{font-size:30px}
.summary .act{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chiprow{display:flex;flex-wrap:wrap;gap:6px}
.chiprow:empty{display:none}
.chiprow .chip{margin:0;font-size:11px;text-transform:none;letter-spacing:0;padding:4px 10px}
.pitch .ph{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px;margin-bottom:10px}
.pitch h2{margin:0}
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--rule)}
.tabs button{font:600 12.5px var(--f-body);color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 12px;cursor:pointer;margin-bottom:-1px}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px 26px}
.grow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;padding:6px 4px;cursor:pointer;border-bottom:1px solid var(--soft)}
.grow:hover{background:var(--soft)}
.grow .gn{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grow .gm{font:11.5px var(--f-data);color:var(--muted);white-space:nowrap}
.grow .tr{grid-column:1/-1;height:4px;background:var(--soft);position:relative}
.grow .tr i{position:absolute;left:0;top:0;height:100%;background:var(--brg)}
.grow .tr i.b{background:var(--btl)}
.bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--soft);border:1px solid var(--accent);padding:8px 12px}
.bulk input{width:220px}
.tablebox{background:var(--paper);border:1px solid var(--rule);overflow-x:auto}
.tablebox table{border:0;min-width:1080px}
.tablebox td{white-space:normal;vertical-align:top}
.tablebox td .s{font-size:12px;color:var(--muted);margin-top:2px}
.tablebox tr.sup td{opacity:.55}
.tablebox input.sel{width:auto}
.pill.st-new{color:var(--muted)} .pill.st-shortlisted{color:var(--accent)} .pill.st-contacted,.pill.st-replied{color:var(--warn)} .pill.st-dip_issued,.pill.st-won{color:var(--ok)} .pill.st-declined,.pill.st-suppressed{color:var(--bad)}
.method{font-size:13px;color:var(--muted)}
.method ul{margin:0;padding-left:18px;display:grid;gap:4px}
.method h2{font-size:18px}

/* Prospect */
.pp{display:grid;gap:16px}
.pphead{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}
.pphead .sub{color:var(--muted);margin-top:4px}
.stagechips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;font:600 11.5px var(--f-body)}
.stagechips li{padding:6px 10px;border:1px solid var(--rule);color:var(--muted);text-transform:capitalize}
.stagechips li.done{background:var(--soft);color:var(--accent);border-color:var(--soft)}
.stagechips li.cur{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.stagechips li.cur.bad{background:var(--bad);border-color:var(--bad)}
.ppgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:960px){.ppgrid{grid-template-columns:1fr}}
.ppgrid .col{display:grid;gap:16px}
.panel.shell{border-style:dashed}
.kv2{display:grid;grid-template-columns:160px 1fr;gap:7px 14px;margin:0;font-size:13.5px}
.kv2 dt{color:var(--muted)} .kv2 dd{margin:0;min-width:0;overflow-wrap:anywhere}
table.hist{font-size:12.5px;border:0}
table.hist th{position:static;background:transparent}
table.hist tr.cur td{background:var(--soft)}
table.hist td{white-space:normal}
.rmform{display:grid;gap:4px}
.rmform.grid2{grid-template-columns:1fr 1fr;gap:6px 14px}
.rmform .span2{grid-column:1/-1}
.rmform textarea{width:100%;padding:7px 8px;border:1px solid var(--rule);font:inherit;background:var(--paper);color:var(--ink);resize:vertical}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:12.5px}
.timeline li{display:grid;grid-template-columns:118px 1fr auto;gap:10px;border-bottom:1px solid var(--soft);padding-bottom:5px}
.timeline .when{font-family:var(--f-data);color:var(--muted);font-size:11.5px}
.timeline .who{color:var(--muted);font-size:11.5px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13.5px}
.checks li{display:flex;gap:10px} .checks li b{color:var(--accent);width:14px}

/* Track */
.fn{display:grid;gap:16px}
.funnelbars{display:grid;gap:8px}
.fb{display:grid;grid-template-columns:260px 1fr 150px;gap:12px;align-items:center;font-size:13px}
@media (max-width:700px){.fb{grid-template-columns:1fr}}
.fb .bar{height:18px;background:var(--soft)} .fb .bar i{display:block;height:100%;background:var(--accent)}
.fb .v{font-family:var(--f-data);font-variant-numeric:tabular-nums;text-align:right} .fb .v small{color:var(--muted)}
table.sens{border:0;font-size:13px} table.sens th{position:static} table.sens td.ok{color:var(--ok)} table.sens td.bad{color:var(--bad)}

/* Admin */
.ad{display:grid;gap:16px}
form.inline{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
form.inline input,form.inline select{width:auto;flex:1 1 140px}
.stagecounts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}

/* Login */
.loginwrap{display:grid;grid-template-columns:minmax(0,1.2fr) 400px;gap:40px;align-items:center;max-width:1100px;margin:40px auto;padding:0 10px}
@media (max-width:900px){.loginwrap{grid-template-columns:1fr;gap:20px}}
.loginart h1{font:700 clamp(26px,3.4vw,40px)/1.12 var(--f-display);margin:8px 0 12px;text-wrap:balance}
.loginart p{color:var(--muted);max-width:60ch;margin:0 0 18px}
.loginmarks{display:flex;flex-wrap:wrap;gap:8px}
.loginmarks span{font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--rule);padding:5px 10px;background:var(--paper)}
.login{margin:0;max-width:none}

.tablebox.busy{opacity:.45;transition:opacity .2s}
.summary b.dim{opacity:.35;transition:opacity .2s}

.btn.mini{padding:3px 9px;font-size:11px}

/* Hunt list + lead detail */
.hl,.ld{display:grid;gap:16px}
.tierstrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--paper);border:1px solid var(--rule)}
@media (max-width:900px){.tierstrip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tcell{padding:12px 16px;border-right:1px solid var(--rule);display:grid;gap:2px}
.tcell:last-child{border-right:0}
.tcell span{font:600 10.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tcell b{font:500 24px var(--f-data);font-variant-numeric:tabular-nums} .tcell small{color:var(--muted);font-size:12px}
.tcell.t-A b{color:var(--ok)} .tcell.t-B b{color:var(--accent)} .tcell.t-C b{color:var(--warn)} .tcell.t-X b{color:var(--bad)}
.hlbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--paper);border:1px solid var(--rule);padding:10px 12px}
.hlbar input{width:200px}
.pill.t-A{color:var(--ok)} .pill.t-B{color:var(--accent)} .pill.t-C{color:var(--warn)} .pill.t-W{color:var(--muted)} .pill.t-X{color:var(--bad)}
.pill.trig{color:var(--brg)}
.sb{display:inline-block;width:64px;height:6px;background:var(--soft);vertical-align:middle;margin-right:2px}
.sb i{display:block;height:100%}
.sbars{display:flex;gap:2px;margin-top:4px}
.sbars .sb{width:30px}
td.why{white-space:normal;font-size:12.5px;max-width:420px}
td.why div{margin-bottom:2px}
.scorebig{text-align:right} .scorebig b{display:block;font:500 40px var(--f-data);color:var(--accent);line-height:1} .scorebig span{font:600 10.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.crow{display:grid;grid-template-columns:90px 120px 36px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--soft)}
.crow .cl{font:600 11px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)} .crow .sb{width:120px}
.crow .cv{font-family:var(--f-data);text-align:right} .crow .cw{grid-column:1/-1;font-size:12.5px}
ol.script{margin:0;padding-left:20px;display:grid;gap:8px;font-size:13.5px}
