/* =========================================================
   Aree riservate delle liste (forlifest-admin, halloween-staff)
   Palette e font di Pubby, ma sobri: Anton solo sul titolo e sui numeri.
   In stampa diventa bianco e nero, pensata per la lista alla porta.
   ========================================================= */

body.adm::before { display: none; }

.adm-head { border-bottom: 1px solid var(--cream-faint); background: var(--brown-deep); }
.adm-head__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 12px; }
.adm-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.adm-brand > a { flex: none; }
.adm-brand > a img, .adm-brand > img { flex: none; width: 72px; height: auto; }
.adm-brand__x { font-weight: 800; color: var(--red); }
.adm-brand__tile { flex: none; display: grid; place-items: center; width: 34px; height: 34px; padding: 5px; border-radius: 9px; background: var(--cream); }
.adm-brand__tile img { width: 100%; height: auto; }
.adm-brand__name { font-weight: 800; font-size: 0.9375rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-brand__tile--clear { width: 52px; padding: 0; background: none; }
.adm-link { font-weight: 800; font-size: 0.875rem; color: var(--cream-soft); padding: 10px 4px; }
.adm-link:hover { color: var(--cream); }

.adm-main { padding-block: 32px 64px; }
.adm-title { font-family: var(--display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.4rem, 11vw, 4rem); line-height: 0.95; margin-block: 12px 26px; }
.adm-title--sm { font-size: clamp(1.9rem, 8vw, 2.8rem); margin-bottom: 0; }

/* login */
.adm-login { display: grid; gap: 16px; max-width: 380px; }
.adm-field label { display: block; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px; }
.adm-field input, .adm-filters input[type='search'] {
  width: 100%; min-height: 50px; padding: 12px 16px;
  font: inherit; font-size: 1rem; font-weight: 600; color: var(--cream);
  background: var(--brown-deep);
  border: 1.5px solid rgba(255, 236, 171, 0.28); border-radius: 12px;
  -webkit-appearance: none; appearance: none;
}
.adm-field input:focus, .adm-filters input[type='search']:focus { outline: none; border-color: var(--cream); box-shadow: 0 0 0 3px rgba(255, 59, 92, 0.55); }
.adm-login .btn { width: 100%; }
.adm-err { font-size: 0.9375rem; font-weight: 700; color: var(--red); }
.adm-err:empty { display: none; }

/* scelta dell'evento: una sola tabella alla volta */
.adm-events { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.adm-event {
  padding: 10px 18px; border-radius: 999px;
  font-weight: 800; font-size: 0.9375rem; color: var(--cream-soft);
  border: 1.5px solid var(--cream-faint); background: var(--brown-soft);
}
.adm-event:hover { color: var(--cream); }
.adm-event[aria-pressed='true'] { color: var(--brown); border-color: var(--red); background: var(--red); }

/* testata elenco */
.adm-top { display: grid; gap: 18px; }
@media (min-width: 760px) { .adm-top { grid-template-columns: 1fr auto; align-items: end; } }
.adm-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.adm-btn { padding: 11px 16px; font-size: 0.875rem; border-radius: 12px; }
.adm-btn[disabled] { opacity: 0.5; cursor: default; transform: none; }

/* conteggi per lista: sono anche il filtro */
.adm-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 14px; }
@media (min-width: 760px) { .adm-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }
.adm-stat {
  display: grid; gap: 2px; text-align: left;
  padding: 12px 14px; border-radius: 14px;
  border: 1.5px solid var(--cream-faint); background: var(--brown-soft);
}
.adm-stat__n { font-family: var(--display); font-size: 2rem; line-height: 1; font-variant-numeric: tabular-nums; }
.adm-stat__l { font-size: 0.8125rem; font-weight: 800; color: var(--cream-soft); }
.adm-stat[aria-pressed='true'] { border-color: var(--red); background: rgba(255, 59, 92, 0.12); }
.adm-stat--all { grid-column: 1 / -1; }
@media (min-width: 760px) { .adm-stat--all { grid-column: auto; } }

.adm-filters { margin-top: 14px; max-width: 420px; }
.adm-toggle { display: flex; gap: 10px; align-items: center; margin-top: 12px; font-size: 0.9375rem; font-weight: 700; cursor: pointer; }
.adm-toggle input { width: 20px; height: 20px; accent-color: var(--red); flex: none; }
.adm-stats { margin-top: 24px; }
.adm-count { margin-top: 18px; font-size: 0.875rem; font-weight: 700; color: var(--cream-soft); }

/* tabella: su telefono ogni riga diventa una scheda */
.adm-table-wrap { margin-top: 10px; }
.adm-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.adm-table th { text-align: left; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cream-soft); padding: 10px 10px; border-bottom: 1px solid var(--cream-faint); }
.adm-table td { padding: 12px 10px; border-bottom: 1px solid var(--cream-faint); vertical-align: top; }
.adm-table td a { color: inherit; text-decoration: none; }
.adm-table td a:hover { text-decoration: underline; }
.adm-table .col-check { display: none; }
.adm-table .t-name { font-weight: 800; }
.adm-table .t-list { font-weight: 700; color: var(--red); white-space: nowrap; }
.adm-table .t-muted { color: var(--cream-soft); }
.adm-table .t-price { font-weight: 800; white-space: nowrap; }
.adm-del { font-size: 0.8125rem; font-weight: 800; color: var(--cream-soft); padding: 4px 6px; border-radius: 8px; }
.adm-del:hover { color: var(--red); }
.adm-mk { font-size: 0.8125rem; font-weight: 800; }
.adm-mk--si { color: var(--cream); }
.adm-mk--no { color: var(--cream-soft); }
.adm-mk-off { margin-left: 8px; font-size: 0.75rem; font-weight: 700; color: var(--cream-soft); text-decoration: underline; }
.adm-mk-off:hover { color: var(--red); }

/* solo schermo: un A4 in stampa e' largo ~700px e prenderebbe le schede */
@media screen and (max-width: 759px) {
  .adm-table thead { display: none; }
  .adm-table, .adm-table tbody, .adm-table tr, .adm-table td { display: block; }
  .adm-table tr {
    position: relative; padding: 14px 16px; margin-bottom: 8px;
    border: 1px solid var(--cream-faint); border-radius: 14px; background: var(--brown-soft);
  }
  .adm-table td { padding: 0; border: 0; }
  .adm-table td.t-name { display: inline; font-size: 1.0625rem; }
  .adm-table td.t-name + td.t-name::before { content: ' '; }
  .adm-table td.t-list { margin-top: 4px; }
  .adm-table td.t-price { margin-top: 4px; }
  .adm-table td.t-tel, .adm-table td.t-mail { margin-top: 4px; font-size: 0.875rem; word-break: break-all; }
  .adm-table td.col-mk { margin-top: 6px; font-size: 0.8125rem; }
  .adm-table td.col-mk::before { content: 'Nuovi eventi: '; font-weight: 700; color: var(--cream-soft); }
  .adm-table td.col-when { margin-top: 4px; font-size: 0.75rem; color: var(--cream-soft); }
  .adm-table td.col-del { position: absolute; top: 10px; right: 10px; }
}

.adm-empty { margin-top: 24px; color: var(--cream-soft); }
.adm-print-note { display: none; }

/* ---------- stampa: lista per la porta, bianco e nero ---------- */
@media print {
  @page { margin: 14mm 12mm; }
  body, body.adm { background: #fff; color: #000; font-size: 10.5pt; }
  .adm-head, .adm-events, .adm-actions, .adm-stats, .adm-filters, .col-del, .col-when, .col-mk, .adm-err, #login-view, .eyebrow { display: none !important; }
  .adm-main { padding: 0; }
  .wrap { max-width: none; padding: 0; }
  .adm-title--sm { font-size: 22pt; margin: 0 0 4pt; color: #000; }
  .adm-count { color: #000; margin: 0 0 8pt; font-size: 10pt; }
  .adm-table { font-size: 10.5pt; }
  .adm-table thead { display: table-header-group; }
  .adm-table th { color: #000; border-bottom: 1.5pt solid #000; padding: 4pt 6pt; font-size: 8pt; }
  .adm-table td { border-bottom: 0.5pt solid #999; padding: 5pt 6pt; color: #000; }
  .adm-table tr { break-inside: avoid; }
  .adm-table .t-list, .adm-table .t-muted { color: #000; }
  .adm-table .t-price { font-size: 11.5pt; }
  .adm-table td.col-email { word-break: break-all; font-size: 9.5pt; }
  .adm-print-note { display: block; margin: 0 0 8pt; font-size: 9pt; }
  .adm-table tr.is-mk td.t-tel a, .adm-table tr.is-mk td.col-email {
    text-decoration: underline; text-decoration-thickness: 1pt; text-underline-offset: 2pt;
  }
  .adm-table .col-check { display: table-cell; width: 16pt; }
  .adm-table td.col-check::before { content: ''; display: block; width: 10pt; height: 10pt; border: 1pt solid #000; }
}
