/* Gestionale, parte 07 di 10: Comande, cucina, codici QR dei tavoli, annunci. Spostato da app.css nella versione X senza cambiare una regola; i file si caricano in ordine (vedi index.html), che è l'ordine di prima. */
/* ---------- Comande (ordini dal tavolo) ---------- */
.order-card {
  display: flex; flex-direction: column; gap: 8px; padding: 14px;
  border: 1px solid var(--rule); border-radius: var(--r-control); background: var(--paper);
}
.order-card-wait { border-color: var(--amber); background: var(--amber-soft); }
.order-lines { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 2px; font-size: 1.05rem; }
.order-line-note { color: var(--muted); }
.order-note-text { margin: 0; padding: 8px 10px; border-left: 4px solid var(--amber); background: var(--amber-soft); border-radius: var(--r-control); }
.order-devices { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.order-devices li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.order-closed { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.order-hall-badge { white-space: nowrap; }

/* ---------- Cucina (versione T) ---------- */
.solo-lettori { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cucina-colonne { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; align-items: start; }
.cucina-colonna { display: flex; flex-direction: column; gap: 12px; }
.cucina-scheda { border-width: 2px; }
.cucina-tavolo { font-size: 1.35rem; }
.cucina-portata h3 { margin: 4px 0; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); }
.cucina-attenzione { border-color: var(--amber); background: var(--amber-soft); }
.cucina-urgente { border-color: var(--red); background: var(--red-soft); }
/* Lo schermo intero della cucina: via la barra in alto e il resto, resta solo la cucina. */
.schermo-intero .topbar, .schermo-intero .subtabs, .schermo-intero .assistenza-banner { display: none; }
.cucina-intera { background: var(--paper); min-height: 100vh; padding: 12px; overflow: auto; }

/* ---------- Codici QR dei tavoli ---------- */
.qr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.qr-card {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px; text-align: center;
  background: #fff; color: #000; border: 1px solid var(--rule); border-radius: var(--r-panel); break-inside: avoid;
}
.qr-restaurant { margin: 0; font-weight: 600; }
.qr-table { margin: 0; font-size: 2rem; }
.qr-image { width: 220px; height: 220px; }
.qr-text { margin: 0; font-size: 1rem; }
.qr-text-en { color: #555; font-size: 0.9rem; }
.qr-text-altra { color: #555; font-size: 0.9rem; }
.qr-logo { display: block; max-height: 56px; max-width: 70%; width: auto; height: auto; object-fit: contain; }
.qr-card-colore { border: 3px solid var(--green-dark); }
.qr-opzioni { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 28px; margin: 12px 0; }
.qr-opzioni fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.qr-opzioni .field { flex: 0 1 auto; }
.qr-opzioni .qr-opzioni-spunte { display: flex; flex-direction: column; gap: 8px; }
/* Segnaposto: cartellini piccoli, tre per riga, da ritagliare e piegare a metà. */
.qr-segnaposto { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.qr-segnaposto .qr-card { padding: 12px; gap: 4px; }
.qr-segnaposto .qr-table { font-size: 1.4rem; }
.qr-segnaposto .qr-image { width: 150px; height: 150px; }
.qr-segnaposto .qr-text { font-size: 0.85rem; }
.qr-segnaposto .qr-text-altra { font-size: 0.75rem; }
.qr-segnaposto .qr-logo { max-height: 36px; }
@media print {
  .qr-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .qr-segnaposto { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .qr-card { border: 1px solid #000; }
  .qr-card-colore { border: 3px solid var(--green-dark); }
}

/* ---------- Annunci del fornitore ---------- */
.announcement {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px;
  background: var(--green-soft); color: var(--green-text);
}
.announcement-avviso { background: var(--amber-soft); color: var(--amber-ink); font-weight: 600; }
.announcement-row { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--rule); }
@media print { .announcement { display: none !important; } }
