/* Accettazione Coupon — CSS portata dalla v2 (token mappati sulla v1). Scoped a #view-coupon. */
/* .view.on è display:flex (row) → forziamo colonna + scroll, altrimenti i blocchi si affiancano */
#view-coupon{flex-direction:column;overflow-y:auto;padding:18px 22px}
#view-coupon .page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
#view-coupon .page-title{font-family:var(--fr);font-size:22px;font-weight:700;color:var(--t1);margin:0}
#view-coupon .page-sub{font-size:12px;color:var(--t3);margin-top:3px;font-family:var(--fm)}
#view-coupon .page-actions{display:flex;gap:8px;flex-wrap:wrap}

#view-coupon .card{background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}
#view-coupon .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
#view-coupon .card-title{font-family:var(--fr);font-size:15px;font-weight:700;color:var(--t1);margin:0}
#view-coupon .card-sub{font-size:11px;color:var(--t3);margin-top:2px;font-family:var(--fm)}

#view-coupon .btn{font-family:var(--fr);font-size:12px;font-weight:600;color:var(--t2);background:var(--s3);border:1px solid var(--line2);border-radius:7px;padding:7px 12px;cursor:pointer;transition:.12s;white-space:nowrap}
#view-coupon .btn:hover{border-color:var(--line3);color:var(--t1)}
#view-coupon .btn:disabled{opacity:.5;cursor:default}
#view-coupon .btn-sm{padding:5px 10px;font-size:11px}
#view-coupon .btn-primary{background:var(--gold);border-color:var(--gold);color:#0e121a}
#view-coupon .btn-primary:hover{background:var(--gold3,#f5d470);color:#0e121a}
#view-coupon .cp-rej{color:var(--red)}
#view-coupon .cp-red{color:var(--amber)}

#view-coupon .input,#view-coupon .select{background:var(--s3);border:1px solid var(--line2);border-radius:7px;color:var(--t1);font-family:var(--fm);font-size:12.5px;padding:8px 11px;outline:none}
#view-coupon .input:focus,#view-coupon .select:focus{border-color:var(--goldborder)}
#view-coupon .input::placeholder{color:var(--t3)}
#view-coupon .cp-field{margin-bottom:12px}
#view-coupon .cp-field>label,#view-coupon .cp-lbl{display:block;font-family:var(--fr);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--t3);margin-bottom:5px}

#view-coupon .row{display:flex;align-items:center}
#view-coupon .row.between{justify-content:space-between}
#view-coupon .gap-2{gap:8px}
#view-coupon .gap-3{gap:12px}
#view-coupon .muted{color:var(--t3)}
#view-coupon .num{font-family:var(--fm)}
#view-coupon .center{text-align:center}
#view-coupon .text-good{color:var(--grn)}
#view-coupon .text-warn{color:var(--amber)}
#view-coupon .text-bad{color:var(--red)}
#view-coupon .text-info{color:var(--cyan)}
#view-coupon .loading{padding:14px;font-family:var(--fm);font-size:12px;color:var(--t3)}
#view-coupon .empty-state{padding:22px;text-align:center;color:var(--t3);font-family:var(--fm);font-size:12px;border:1px dashed var(--line2);border-radius:8px;background:var(--s2)}

#view-coupon .badge{display:inline-block;font-family:var(--fm);font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;border:1px solid var(--line2);color:var(--t2);letter-spacing:.3px}
#view-coupon .badge.good{background:var(--grnlow);color:var(--grn);border-color:var(--grnborder)}
#view-coupon .badge.warn{background:var(--amberlow);color:var(--amber);border-color:var(--amberborder)}
#view-coupon .badge.bad{background:var(--redlow);color:var(--red);border-color:var(--redborder)}
#view-coupon .badge.info{background:var(--cyanlow);color:var(--cyan);border-color:var(--cyanborder)}

#view-coupon .cp-tbl{width:100%;border-collapse:collapse;margin-top:10px;font-size:12px}
#view-coupon .cp-tbl th{font-family:var(--fr);font-size:9.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--t3);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line2)}
#view-coupon .cp-tbl td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--t2);vertical-align:top}
#view-coupon .cp-tbl td b{color:var(--t1)}
#view-coupon .cp-tbl .num{text-align:right;font-family:var(--fm)}
#view-coupon .cp-tbl th.num{text-align:right}

/* Lista biglietti */
#view-coupon .cp-list-collapsible{overflow:hidden;transition:max-height .2s}
#view-coupon .cp-list-card.collapsed .cp-list-collapsible{max-height:0}
#view-coupon .cp-list-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:12px}
#view-coupon .cp-list-kpi{background:var(--s2);border:1px solid var(--line);border-radius:8px;padding:9px 11px;display:flex;flex-direction:column;gap:3px}
#view-coupon .cp-list-kpi .muted{font-size:9.5px;letter-spacing:.5px;text-transform:uppercase}
#view-coupon .cp-list-kpi b{font-family:var(--fr);font-size:16px;color:var(--t1)}
#view-coupon .cp-list-tk{color:var(--cyan);cursor:pointer;font-family:var(--fm)}
#view-coupon .cp-list-tk:hover{text-decoration:underline}

/* Grab schedina */
#view-coupon .cp-grab-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#view-coupon .cp-grab-row .input{flex:1;min-width:220px}
#view-coupon .cp-grab-err{margin-top:12px;padding:11px 13px;background:var(--redlow);border:1px solid var(--redborder);border-radius:8px;color:var(--red);font-size:12px}

/* Slip grabbata */
#view-coupon .cp-slip{margin-top:14px;border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:var(--s2)}
#view-coupon .cp-slip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 14px;background:var(--s3);border-bottom:1px solid var(--line2)}
#view-coupon .cp-slip-code{font-size:13px;color:var(--t2)}
#view-coupon .cp-slip-code b{color:var(--gold);font-family:var(--fm)}
#view-coupon .cp-slip-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 14px}
#view-coupon .cp-slip-kpis>div{display:flex;flex-direction:column;gap:3px}
#view-coupon .cp-slip-kpis .muted{font-size:9.5px;letter-spacing:.5px;text-transform:uppercase}
#view-coupon .cp-slip-kpis b{font-family:var(--fr);font-size:15px;color:var(--t1)}
#view-coupon .cp-slip-table{padding:0 14px 12px}

/* Valutazione rischio */
#view-coupon .cp-eval{margin:0 14px 14px;border-radius:9px;padding:12px 14px;border:1px solid var(--line2);border-top-width:3px}
#view-coupon .cp-eval-good{background:var(--grnlow);border-top-color:var(--grn)}
#view-coupon .cp-eval-warn{background:var(--amberlow);border-top-color:var(--amber)}
#view-coupon .cp-eval-bad{background:var(--redlow);border-top-color:var(--red)}
#view-coupon .cp-eval-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;flex-wrap:wrap}
#view-coupon .cp-eval-exp{font-size:13px;color:var(--t2)}
#view-coupon .cp-eval-exp b{font-size:16px;color:var(--t1);font-family:var(--fr)}
#view-coupon .cp-eval-txt{font-size:12.5px;color:var(--t2);margin-bottom:6px}
#view-coupon .cp-eval-factors{margin:0;padding-left:18px;font-size:11px;color:var(--t3);font-family:var(--fm)}
#view-coupon .cp-eval-factors li{margin:2px 0}
#view-coupon .cp-eval-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:11px;flex-wrap:wrap}

/* Autocomplete evento */
#view-coupon .cp-suggestions{border:1px solid var(--line2);border-top:none;border-radius:0 0 7px 7px;background:var(--s3);max-height:220px;overflow-y:auto}
#view-coupon .cp-suggestions:empty{display:none}
#view-coupon .cp-sugg{padding:8px 11px;cursor:pointer;font-family:var(--fr);font-size:12px;color:var(--t2);border-bottom:1px solid rgba(255,255,255,.03)}
#view-coupon .cp-sugg:last-child{border-bottom:none}
#view-coupon .cp-sugg:hover{background:var(--s4);color:var(--t1)}

/* Selezione manuale */
#view-coupon .cp-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
#view-coupon .cp-sel{min-width:42px}
#view-coupon .cp-payout-row{padding:11px 13px;background:var(--s2);border:1px solid var(--line2);border-radius:8px;margin-top:12px}
#view-coupon #cp-payout{font-family:var(--fr);font-size:18px;font-weight:700;color:var(--gold)}

/* Log sessione */
#view-coupon .cp-log-row{display:flex;gap:11px;padding:10px 11px;border-radius:8px;background:var(--s2);border:1px solid var(--line);margin-bottom:7px}
#view-coupon .cp-log-bar{width:3px;border-radius:2px;flex-shrink:0;background:var(--t3)}
#view-coupon .cp-log-acc .cp-log-bar{background:var(--grn)}
#view-coupon .cp-log-red .cp-log-bar{background:var(--amber)}
#view-coupon .cp-log-rej .cp-log-bar{background:var(--red)}
#view-coupon .cp-log-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px;flex-wrap:wrap;font-family:var(--fm);font-size:10px}
#view-coupon .cp-log-match{font-family:var(--fr);font-size:13px;font-weight:700;color:var(--t1)}
#view-coupon .cp-log-sub{font-family:var(--fm);font-size:10.5px;color:var(--t3);margin-top:2px}
#view-coupon .cp-log-edit{display:flex;gap:4px;flex-shrink:0}
#view-coupon .cp-log-btn{width:24px;height:24px;border-radius:6px;border:1px solid var(--line2);background:var(--s3);color:var(--t3);cursor:pointer;font-size:11px;line-height:1}
#view-coupon .cp-log-btn.on.good{border-color:var(--grnborder);color:var(--grn);background:var(--grnlow)}
#view-coupon .cp-log-btn.on.warn{border-color:var(--amberborder);color:var(--amber);background:var(--amberlow)}
#view-coupon .cp-log-btn.on.bad{border-color:var(--redborder);color:var(--red);background:var(--redlow)}

@media (max-width:1100px){
  #view-coupon .cp-cols{grid-template-columns:1fr}
  #view-coupon .cp-list-kpis{grid-template-columns:repeat(3,1fr)}
  #view-coupon .cp-slip-kpis{grid-template-columns:repeat(2,1fr)}
}

/* Modale credenziali (montata su document.body → globale) */
.cp-modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9000}
.cp-modal{background:var(--s1);border:1px solid var(--line2);border-radius:12px;padding:20px;width:min(420px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.cp-modal h3{font-family:var(--fr);font-size:16px;color:var(--t1);margin:0 0 4px}
.cp-modal .cp-field>label{display:block;font-family:var(--fr);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--t3);margin-bottom:5px}
.cp-modal .input{width:100%;background:var(--s3);border:1px solid var(--line2);border-radius:7px;color:var(--t1);font-family:var(--fm);font-size:12.5px;padding:8px 11px;outline:none}
.cp-modal .btn{font-family:var(--fr);font-size:12px;font-weight:600;color:var(--t2);background:var(--s3);border:1px solid var(--line2);border-radius:7px;padding:7px 14px;cursor:pointer}
.cp-modal .btn-primary{background:var(--gold);border-color:var(--gold);color:#0e121a}
.cp-modal .row{display:flex;align-items:center}
.cp-modal .gap-2{gap:8px}
.cp-err-msg{color:var(--red);font-size:11px;font-family:var(--fm);min-height:14px;margin-top:4px}
