/* Leads Verifier page — builds on styles.css + ac.css (tiles .gm-tile, cards .gm-card, trays .sb-group, one-line .sch-t tables).
   Owner rules: tile look as reference, colour only on numbers, framed button trays, caps section headings, no sideways
   scrolling at any width, desktop-first with room to breathe. */
body[data-page="verifier"] .wrap{gap:26px}
body[data-page="verifier"] #app:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr);gap:30px;min-width:0}
.vf-h{margin:0;padding:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#c8d3ef}
.muted-c{color:#9aa6c2}
.gm-card .sch-head{padding:16px 20px 14px}
.gm-card .sch-head h2{padding-left:0;white-space:nowrap}

/* ---- upload ---- */
.vf-up-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:28px;padding:2px 20px 24px}
.vf-up-main{min-width:0;display:grid;gap:18px;align-content:start}
.vf-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;padding:28px 24px;
  border:1.5px dashed rgba(139,118,255,.42);border-radius:16px;background:rgba(11,18,38,.5);cursor:pointer;text-align:center;min-width:0;
  transition:border-color .15s,background .15s}
.vf-drop:hover,.vf-drop.drag{border-color:var(--border-hover);background:rgba(77,224,255,.05)}
.vf-drop:focus-within{border-color:var(--border-hover);outline:2px solid var(--cyan);outline-offset:3px}
.vf-drop-i{color:var(--cyan);margin-bottom:4px}
.vf-drop-t{max-width:100%;font-size:19px;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-drop-s{max-width:100%;color:var(--muted);font-size:13.5px;overflow-wrap:anywhere}
.vf-drop.has{border-style:solid;border-color:rgba(77,224,255,.45)}
.vf-drop.bad{border-color:rgba(255,196,107,.55)}
.vf-drop.bad .vf-drop-s{color:#ffd9a3}
.vf-drop input:disabled + .vf-drop-i{opacity:.5}
/* viewers cannot upload: the drop zone becomes a plain note */
.vf-drop.off{cursor:default;border-style:solid;border-color:var(--border);background:rgba(11,18,38,.5)}
.vf-drop.off .vf-drop-i{color:#5d6a86}.vf-drop.off .vf-drop-t{font-size:16px;color:#c3cce3}
.vf-actions{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;min-width:0}
.vf-actions .sb-group{flex:0 0 auto}
.sb-group .vf-go{min-height:44px;padding:0 28px;font-size:15px;font-weight:700;border-radius:11px}
.vf-actions .sb-btn{min-height:44px}
.vf-msg{margin:0;min-width:0;color:#c3cce3;font-size:13px;line-height:1.5}
.vf-msg:empty{display:none}
.vf-msg.err{color:#ffd0d3}
.vf-msg a{color:var(--cyan);font-weight:600;text-decoration:none;white-space:nowrap}.vf-msg a:hover{text-decoration:underline}
.vf-checks{min-width:0;padding:20px 22px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,rgba(22,30,58,.9),var(--panel))}
.vf-checks h3,.vf-sub{margin:0 0 14px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.vf-checks ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.vf-checks li{display:flex;align-items:baseline;gap:11px;font-size:13.5px;color:var(--text);min-width:0}
.vf-checks li::before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#c8d3ef;transform:translateY(-1px)}
.vf-checks li.off{color:#7382a4}
.vf-checks li.off::before{background:transparent;box-shadow:inset 0 0 0 1.5px #5d6a86}

/* ---- results ---- */
.vf-result:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0}
body[data-page="verifier"] .gm-tile{min-width:0}
.vf-rhead{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;min-width:0}
.vf-rhead .sch-ttl{min-width:0;flex:1 1 auto}
.vf-fname{min-width:0;color:var(--text);font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* results that could not be loaded: header + error + Retry only */
.vf-result.vf-noload>:not(.vf-rhead){display:none!important}
.vf-rhead .sch-meta.vf-err-t{color:#ffd0d3}
.vf-flag{margin:-4px 0 0;padding:2px 0 2px 14px;border-left:2px solid rgba(255,196,107,.55);color:#9aa6c2;font-size:12.5px;line-height:1.55}
.vf-run{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:12px 36px;padding:20px 24px;
  background:linear-gradient(145deg,rgba(22,30,58,.9),var(--panel))}
.vf-run[hidden]{display:none}
.vf-run .k{color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.vf-run .v{margin-top:8px;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.vf-run .v small{display:inline-block;margin-left:8px;font-size:15px;font-weight:600;letter-spacing:0;color:var(--muted)}
.vf-run-bar{display:grid;gap:10px;min-width:0}
.vf-run .s{color:#7382a4;font-size:12.5px;min-width:0;overflow-wrap:anywhere}
.vf-run .s.vf-err{color:#ffd0d3;font-size:13px}
.vf-bar{height:8px;border-radius:99px;background:rgba(154,166,194,.16);overflow:hidden}
.vf-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .5s ease}
.vf-bar.indet i{width:30%;animation:vfSlide 1.6s ease-in-out infinite}
@keyframes vfSlide{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
@media(prefers-reduced-motion:reduce){.vf-bar i{transition:none}.vf-bar.indet i{animation:none}}
/* share of rows next to the count, muted like .ac-link .v small (colour stays on the count) */
body[data-page="verifier"] .gm-tile .v small{display:inline-block;margin-left:8px;font-size:15px;font-weight:600;letter-spacing:0;color:var(--muted)}
@media(min-width:1001px) and (max-width:1260px),(max-width:480px){body[data-page="verifier"] .gm-tile .v small{display:block;margin:4px 0 0}}
/* five tiles as 1 + 2 + 2 from 1000 px down, so a 6-digit count ("200,000") always fits its tile */
@media(max-width:1000px){body[data-page="verifier"] .gm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page="verifier"] .gm-tile:first-child{grid-column:1/-1}}
@media(max-width:400px){body[data-page="verifier"] .gm-tile{padding:16px 14px}body[data-page="verifier"] .gm-tile .v{font-size:26px}}
.sb-group [hidden]{display:none!important}
.vf-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:stretch}
.vf-grid>.gm-card{min-width:0}

/* one-line tables (sch-t already: table-layout fixed, width 100%, ellipsis) */
.vf-rs col.w-why{width:48%}.vf-rs col.w-res{width:128px}.vf-rs col.w-n{width:88px}
/* numbers are never cut: enough column width, and no ellipsis on numeric cells */
.gm-card .vf-rs td:not(.l),.gm-card .vf-hist td:not(.l){text-overflow:clip;overflow:visible}
.vf-share{display:flex;align-items:center;gap:10px;min-width:0}
.vf-sbar{flex:1 1 auto;min-width:24px;height:6px;border-radius:99px;background:rgba(154,166,194,.14);overflow:hidden}
.vf-sbar i{display:block;height:100%;border-radius:99px;background:#9aa6c2;opacity:.6}
.vf-sp{flex:0 0 52px;text-align:right;color:#c3cce3;font-variant-numeric:tabular-nums;font-size:12.5px}.vf-sp.t-good{color:var(--green)}.vf-sp.t-warn{color:var(--amber)}
.gm-card .sch-t td,.gm-card .sch-t th{padding-left:14px;padding-right:14px}
.gm-card .sch-t th:first-child,.gm-card .sch-t td:first-child{padding-left:20px}
.gm-card .sch-t th:last-child,.gm-card .sch-t td:last-child{padding-right:20px}
.gm-card .sch-t td{padding-top:12px;padding-bottom:12px}

.vf-use-body{display:grid;gap:26px;padding:2px 20px 24px}
.vf-block{min-width:0}
.vf-use .sb-group{display:inline-flex;max-width:100%}
.vf-dl{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
a.btn.vf-dl{color:#08122b}a.ghost.vf-dl{color:var(--text)}
.vf-dl[aria-disabled="true"]{opacity:.38;cursor:not-allowed;filter:saturate(.4);pointer-events:none}
.vf-hint{margin:12px 0 0;color:#7382a4;font-size:12.5px;line-height:1.5}
.vf-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,170px);gap:14px;margin:0 0 16px}
.vf-field{display:grid;gap:7px;min-width:0}
.vf-field span{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.vf-field input,.vf-field select{min-height:42px;width:100%;min-width:0;padding:0 12px;border-radius:10px;border:1px solid rgba(154,166,194,.28);background:#0b1226;color:var(--text);font:inherit;font-size:14px}
.vf-field input:focus-visible,.vf-field select:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.vf-field input:disabled,.vf-field select:disabled{opacity:.55}
.vf-save-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.vf-msg.ok{color:#c3cce3}

.vf-pv col.w-em{width:34%}.vf-pv col.w-res{width:128px}.vf-pv col.w-why{width:30%}

/* history */
.vf-hist col.w-when{width:128px}.vf-hist col.w-file{width:25%}.vf-hist col.w-n{width:92px}.vf-hist col.w-n2{width:124px}.vf-hist col.w-state{width:150px}.vf-hist col.w-by{width:14%}
.vf-hist tbody tr.vf-row{cursor:pointer}
.vf-hist tbody tr.vf-row:hover td{background:rgba(77,224,255,.035)}
.vf-hist tbody tr.on td{background:rgba(77,224,255,.07)}
.vf-hist tbody tr.on td:first-child{box-shadow:inset 3px 0 0 var(--cyan)}
.vf-open{display:block;max-width:100%;padding:0;border:0;background:none;color:var(--text);font:inherit;font-weight:600;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-open:hover{color:var(--cyan)}.vf-open:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px}

/* ---- narrower screens ---- */
@media(max-width:1280px){.vf-hist col.w-by{width:0}.vf-hist th:nth-child(9),.vf-hist td:nth-child(9){padding:0!important;font-size:0!important}}
@media(max-width:1180px){.vf-up-body{grid-template-columns:1fr}.vf-grid{grid-template-columns:1fr}}
@media(max-width:1100px){.vf-hist col.w-n{width:84px}.vf-hist col.w-n2{width:112px}.vf-hist col.w-state{width:134px}}
@media(max-width:900px){.vf-run{grid-template-columns:1fr}.vf-hist col.w-when{width:0}.vf-hist th:nth-child(1),.vf-hist td:nth-child(1){padding:0!important;font-size:0!important}
  /* number columns keep their width; the Unknown column is hidden instead */
  .vf-hist col.w-n{width:88px}.vf-hist col.w-n2{width:112px}.vf-hist col:nth-child(7){width:0}.vf-hist th:nth-child(7),.vf-hist td:nth-child(7){padding:0!important;font-size:0!important}
  .vf-pv col.w-sug{width:0}.vf-pv th:nth-child(4),.vf-pv td:nth-child(4){padding:0!important;font-size:0!important}.vf-pv col.w-em{width:44%}.vf-pv col.w-why{width:auto}}
@media(min-width:641px) and (max-width:760px){.vf-hist col.w-file{width:auto}.vf-hist col.w-n{width:76px}.vf-hist col:nth-child(7){width:0}.vf-hist col.w-n2{width:104px}.vf-rs col.w-why{width:auto}.vf-rs col.w-share{width:124px}
  .gm-card .vf-hist td:not(.l),.gm-card .vf-hist th:not(.l){padding-left:8px;padding-right:8px}}
@media(max-width:640px){
  .vf-up-body,.vf-use-body{padding-left:14px;padding-right:14px}
  .gm-card .sch-head{padding-left:14px;padding-right:14px}
  .sch-ttl{flex-wrap:wrap;row-gap:4px}
  /* trays in card heads span the card; no dividers once buttons can stack */
  body[data-page="verifier"] .sb-divider{display:none}
  .gm-card .sch-head .sb-group{flex:1 1 100%}.gm-card .sch-head .sb-group .sb-btn{flex:1 1 auto;justify-content:center}
  /* stacked rows: highlight the whole row, not each cell */
  .vf-hist tbody tr.on{background:rgba(77,224,255,.07);box-shadow:inset 3px 0 0 var(--cyan)}
  .vf-hist tbody tr.vf-row:hover{background:rgba(77,224,255,.035)}
  .vf-hist tbody tr.on td,.vf-hist tbody tr.vf-row:hover td{background:none}
  .vf-drop{min-height:150px;padding:22px 16px}
  .vf-drop-t{font-size:16px}
  .vf-actions .sb-group,.vf-use .sb-group,.vf-save-row .sb-group{flex:1 1 100%;display:flex}
  .vf-actions .sb-group .sb-btn,.vf-actions .sb-group .sb-main,.vf-use .sb-group .sb-btn,.vf-use .sb-group .sb-main{flex:1 1 auto}
  .vf-form{grid-template-columns:1fr}
  .gm-card .sch-t td:first-child,.gm-card .sch-t th:first-child{padding-left:0}
  .vf-hist tr.vf-row td[data-k]::before{content:attr(data-k) " ";color:#7382a4}
  .vf-hist td.c-file{flex:1 1 100%}
  .vf-hist td:nth-child(1),.vf-hist td:nth-child(7),.vf-hist td:nth-child(9){font-size:13px!important;padding:0!important}
  .vf-hist tbody tr.on td:first-child{box-shadow:none}
  .vf-rs td:nth-child(4){flex:1 1 100%}
  .vf-run{padding:16px 18px}
  .vf-run .v{font-size:24px}
  .gm-card .vf-rs td,.gm-card .vf-pv td,.gm-card .vf-hist td{border-top:0!important}
}
