/* ===== Dorax v3 — cassa, mobile card, cliente, anagrafiche, cestino ===== */

/* ---------- cassa a card ---------- */
.cashsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.cashsum>div{
  position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;display:flex;flex-direction:column;gap:4px;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 20px -16px rgba(16,24,40,.3);overflow:hidden
}
.cashsum>div::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--accent)}
.cashsum>div:nth-child(2)::before{background:var(--bad)}
.cashsum>div:nth-child(3)::before{background:var(--warn)}
.cashsum>div:nth-child(4)::before{background:var(--warn)}
.cashsum>div:nth-child(5)::before{background:linear-gradient(90deg,var(--good),var(--accent))}
.cashsum .v{font-family:var(--f-display);font-stretch:88%;font-weight:800;font-size:24px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1}
.cashsum .l{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}

/* ---------- azioni rapide in tabella ---------- */
.qact{border:0;background:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:5px;color:var(--faint)}
.qact:hover{background:var(--good-soft);color:var(--good)}
.qact.done{color:var(--good)}
.qact.pay:hover{background:var(--warn-soft);color:var(--warn)}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:var(--fg)}
th.sortable .ar{opacity:.35;font-size:9px;margin-left:3px}
th.sorted .ar{opacity:1;color:var(--accent)}

/* ---------- scheda cliente ---------- */
.client-hd{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}
.client-hd h2{margin:0;font-family:var(--f-display);font-size:22px;letter-spacing:-.01em}
.client-hd .sub{font-size:12.5px;color:var(--muted);margin-top:3px}
.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.ccard{background:var(--sunk);border-radius:11px;padding:12px 14px;border-left:3px solid var(--accent)}
.ccard .l{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.ccard .v{font-family:var(--f-display);font-weight:800;font-size:21px;font-stretch:88%;margin-top:2px;font-variant-numeric:tabular-nums}
.ccard .s{font-size:11.5px;color:var(--muted);margin-top:2px}
.ccard.good{border-left-color:var(--good)} .ccard.good .v{color:var(--good)}
.ccard.bad{border-left-color:var(--bad)} .ccard.bad .v{color:var(--bad)}
.ccard.warn{border-left-color:var(--warn)} .ccard.warn .v{color:var(--warn)}
.fido-bar{height:9px;border-radius:6px;background:var(--sunk);overflow:hidden;margin-top:8px}
.fido-bar i{display:block;height:100%;border-radius:6px;background:var(--good)}
.fido-bar.over i{background:var(--bad)}
.csection{margin-top:18px}
.csection h4{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.mini-chart{display:flex;align-items:flex-end;gap:6px;height:90px;padding:6px 0}
.mini-chart div{flex:1;background:var(--accent-soft);border-radius:3px 3px 0 0;position:relative;min-height:3px}
.mini-chart div i{position:absolute;bottom:0;left:0;right:0;background:var(--accent);border-radius:3px 3px 0 0}
.mini-chart span{font-size:9px;color:var(--faint);text-align:center;display:block;margin-top:3px}

/* anagrafiche */
.entity-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid var(--line);font-size:13px;cursor:pointer}
.entity-row:hover{background:var(--sunk)}
.entity-row .nm{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- tabella → card su mobile ---------- */
@media (max-width:820px){
  .tablewrap{border:0;background:none;overflow:visible}
  table.mobile-cards{min-width:0;width:100%;border:0}
  table.mobile-cards thead{display:none}
  table.mobile-cards tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;background:var(--surface);
    border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  table.mobile-cards td{border:0;padding:0;display:block}
  table.mobile-cards td:nth-child(1){grid-column:1;font-size:11.5px;color:var(--muted);font-weight:600}
  table.mobile-cards td:nth-child(2){grid-column:1;font-size:15px;font-weight:700}
  table.mobile-cards td:nth-child(3),table.mobile-cards td:nth-child(4){grid-column:1;font-size:12.5px;color:var(--muted)}
  table.mobile-cards td:nth-child(3)::after{content:" → "}
  table.mobile-cards td:nth-child(5){grid-column:1;font-size:11.5px;color:var(--faint)}
  table.mobile-cards td:nth-child(5)::before{content:"Km ";font-weight:600}
  table.mobile-cards td:nth-child(6){display:none}
  table.mobile-cards td:nth-child(7){grid-column:1;font-size:12.5px;color:var(--muted)}
  table.mobile-cards td:nth-child(7)::before{content:"Vettore: ";font-weight:600}
  table.mobile-cards td:nth-child(8),table.mobile-cards td:nth-child(9){display:none}
  table.mobile-cards td:nth-child(10){grid-column:1;font-size:16px;font-weight:800;margin-top:2px}
  table.mobile-cards td:nth-child(11),table.mobile-cards td:nth-child(13){display:none}
  table.mobile-cards td:nth-child(12),table.mobile-cards td:nth-child(14){grid-column:1;font-size:11.5px}
  table.mobile-cards td:nth-child(12)::before{content:"Incasso entro ";color:var(--faint)}
  table.mobile-cards td:nth-child(14)::before{content:"Pagamento entro ";color:var(--faint)}
  table.mobile-cards td:nth-child(15){grid-column:1;margin-top:4px}
  table.mobile-cards td:nth-child(16){grid-column:2;grid-row:1;align-self:start;width:auto}
  table.mobile-cards td.x .acts{flex-direction:row}
  table.mobile-cards tr td[colspan]{grid-column:1/-1}
}

/* cliente riga cliccabile */
.linkcli{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:500;cursor:pointer;text-align:left;border-bottom:1px dashed transparent}
.linkcli:hover{color:var(--accent);border-bottom-color:var(--accent)}
