/* ProntoAgenda — recupero automatico dei posti e presenze. Usa solo i colori del tema (chiaro e scuro). */

/* ---------- Lista d'attesa: recupero automatico ---------- */
.wait-rec { margin-bottom: 20px; }
.wait-rec > p { margin: 0 0 10px; }
.rec-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rec-card {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: 14px;
  background: var(--surface);
  min-width: 0;
}
.rec-card-recovered { border-left-color: var(--success); }
.rec-card-exhausted, .rec-card-fallback { border-left-color: var(--warn); }
.rec-card-stopped, .rec-card-lost { border-left-color: var(--border); background: var(--surface-2); }
.rec-head { display: flex; align-items: flex-start; gap: 10px; }
.rec-head .opp-main { flex: 1; }
.rec-card-recovered .opp-ico { background: var(--success-soft); color: var(--success); }

.rec-sum { display: grid; gap: 8px; min-width: 0; }
.rec-line { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0; }
.rec-st { text-transform: none; letter-spacing: 0; font-size: 0.75rem; }
.rec-st-active { color: var(--accent-strong); }
.rec-st-ok { color: var(--success); }
.rec-st-warn { color: var(--warn); }
.rec-st-muted { color: var(--muted); }

.rec-offers { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; counter-reset: rec; }
.rec-offer {
  counter-increment: rec;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 2px 10px;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  background: var(--surface-2);
  font-size: 0.9rem;
}
.rec-offer::before {
  content: counter(rec);
  grid-row: span 3;
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted);
  border: 1px solid var(--border);
  background: var(--surface);
}
.rec-offer-sent::before { color: var(--accent-strong); border-color: var(--accent); }
.rec-offer-accepted::before { color: var(--success); border-color: var(--success); content: "✓"; }
.rec-offer-main { min-width: 0; overflow-wrap: anywhere; }
.rec-offer-st { display: grid; gap: 1px; color: var(--muted); min-width: 0; }
.rec-offer-sent .rec-offer-st { color: var(--text, inherit); font-weight: 550; }
.rec-offer-accepted .rec-offer-st { color: var(--success); font-weight: 600; }
.rec-note { font-weight: 400; color: var(--muted); }
.rec-note.is-sim { color: var(--warn); }
.rec-sim-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.rec-foot { display: flex; justify-content: flex-end; }

/* ---------- Dettaglio appuntamento ---------- */
.att-box, .rec-box {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}
.att-box h3, .rec-box h3 { margin: 0; font-size: 0.95rem; }
.att-box p { margin: 0; }
.att-seg { width: 100%; }
.att-seg .seg-btn { flex: 1; }
.att-btn.att-noshow[aria-pressed="true"] { background: var(--danger); border-color: var(--danger); color: var(--surface); }
.att-btn.att-arrived[aria-pressed="true"] { background: var(--success); border-color: var(--success); color: var(--surface); }

.badge-noshow { color: var(--danger); text-transform: none; letter-spacing: 0; font-size: 0.72rem; }
.cust-inline { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.att-summary { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.att-flag-note { flex-basis: 100%; }

/* ---------- Agenda: presenza sui blocchi ---------- */
.att-mark {
  display: inline-flex;
  align-items: center;
  flex: none;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.3;
  border-radius: 999px;
}
.att-mark-noshow { padding: 0 5px; color: var(--surface); background: var(--danger); }
.att-mark-arrived { color: var(--success); }
.att-mark-arrived .ico { width: 11px; height: 11px; }
.appt-cust .att-mark { margin-left: 6px; vertical-align: middle; }

/* ---------- Impostazioni ---------- */
.rec-form { display: grid; gap: 14px; max-width: 720px; }
.rec-form .row { align-items: end; }
.rec-main-check { padding: 10px 12px; border-radius: var(--radius-sm); background: var(--accent-soft); }
.rec-fs { margin: 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); display: grid; gap: 10px; }
.rec-fs legend { padding: 0 6px; font-weight: 650; }
.rec-fs p { margin: 0; }
.rec-tpl-check { align-self: center; }
#rec-live .ico { width: 16px; height: 16px; vertical-align: -3px; }

@media (max-width: 560px) {
  .rec-head { flex-wrap: wrap; }
  .rec-head .btn { margin-left: 40px; }
  .rec-sim-actions .btn { flex: 1; }
}
