/*
   AREA ACCOUNT DELLA BIGLIETTERIA

   1. Ogni regola comincia con #main-dash-user.
   2. Nessun colore scritto a mano nei componenti: solo variabili, cosi' un
      sito si riveste ridefinendole su #main-dash-user.
   ═══════════════════════════════════════════════════════════════════════════ */

#main-dash-user{
  /* Carattere di sistema */
  --tck-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
              "Helvetica Neue", Arial, "Noto Sans", sans-serif;

  /* Inchiostro e superfici */
  --tck-ink:        #14120f;
  --tck-ink-2:      #514b44;
  --tck-ink-3:      #6f675e;
  --tck-bordo:      #d5cec3;
  --tck-bordo-2:    #b3aa9c;
  --tck-fondo:      #ffffff;
  --tck-fondo-2:    #f7f4ef;
  --tck-fondo-3:    #e9e2d7;

  /* Accento */
  --tck-accento:       #14120f;
  --tck-accento-testo: #ffffff;

  /* Stati: il colore porta il significato, quindi deve reggere da solo */
  --tck-ok:          #10593a;  --tck-ok-velo:      #cfe7da;
  --tck-attesa:      #7d4b03;  --tck-attesa-velo:  #f7e0b6;
  --tck-critico:     #8f1f16;  --tck-critico-velo: #f7d2cc;
  --tck-info:        #1a4570;  --tck-info-velo:    #d5e4f3;

  /* Geometria */
  --tck-r:    12px;   /* pannelli */
  --tck-r-2:   8px;   /* controlli */
  --tck-h:    42px;   /* altezza di ogni campo e bottone */
  --tck-tap:  44px;   /* misura minima di un bersaglio da dito */
  --tck-gap:  12px;

  font-family: var(--tck-font);
  font-size: 15px;
  line-height: 1.5;
  color: var(--tck-ink);
  background: var(--tck-fondo-2);
  padding: 16px;
  border-radius: var(--tck-r);
  box-shadow: none !important;
}

/* Il carattere si eredita anche nei controlli di form */
#main-dash-user input,
#main-dash-user select,
#main-dash-user button,
#main-dash-user textarea{ font: inherit; color: inherit; }

/* Titoli */
#main-dash-user h1,
#main-dash-user h2,
#main-dash-user h3,
#main-dash-user h4,
#main-dash-user h5{
  font-family: var(--tck-font);
  color: var(--tck-ink);
  letter-spacing: -.011em;
  margin: 0;
}

/* Cifre in colonna */
#main-dash-user .tck-cifre,
#main-dash-user .tck-conta,
#main-dash-user .tck-pastiglia,
#main-dash-user .tck-data-chip,
#main-dash-user .vendite-cell,
#main-dash-user .vendite-total-value{ font-variant-numeric: tabular-nums; }

/* Focus da tastiera */
#main-dash-user :focus-visible{
  outline: 2px solid var(--tck-accento);
  outline-offset: 2px;
  border-radius: var(--tck-r-2);
}

/* Classi di servizio */
#main-dash-user .text-center{ text-align: center; }
#main-dash-user .tck-flex{ display: flex; }
#main-dash-user .tck-flex-center{ align-items: center; }
#main-dash-user .tck-flex-center-h{ justify-content: space-between; }
#main-dash-user .tck-gap5{ gap: 5px; }
#main-dash-user .tck-gap10{ gap: 10px; }


/* PANNELLO  */

#main-dash-user .tck-pannello{
  background: var(--tck-fondo);
  border: 1px solid var(--tck-bordo);
  border-radius: var(--tck-r);
  margin-bottom: var(--tck-gap);
  overflow: hidden;
}
#main-dash-user .tck-pannello__testa{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--tck-bordo);
  background: var(--tck-fondo);
}
#main-dash-user .tck-pannello__testa h2{
  font-size: .95rem;
  font-weight: 650;
  letter-spacing: .01em;
}
#main-dash-user .tck-pannello__corpo{ padding: 16px; }

/* Apribile */
#main-dash-user .tck-pannello--apribile > .tck-pannello__testa{
  cursor: pointer;
  user-select: none;
  border-bottom-color: transparent;
  transition: border-color .2s;
}
#main-dash-user .tck-pannello--apribile.sdl-open > .tck-pannello__testa{
  border-bottom-color: var(--tck-bordo);
}
#main-dash-user .tck-pannello__freccia{
  width: 22px; height: 22px;
  display: grid; place-items: center;
  color: var(--tck-ink-3);
  transition: transform .25s;
}
#main-dash-user .tck-pannello--apribile.sdl-open .tck-pannello__freccia{
  transform: rotate(180deg);
  color: var(--tck-ink-2);
}
#main-dash-user .tck-pannello__pieghevole{
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .28s ease;
}
#main-dash-user .tck-pannello--apribile.sdl-open .tck-pannello__pieghevole{
  grid-template-rows: 1fr;
}
#main-dash-user .tck-pannello__pieghevole > *{ overflow: hidden; }


/* FILTRI  */

#main-dash-user .tck-filtri{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--tck-gap);
  align-items: end;
}
#main-dash-user .tck-filtri__azioni{
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
#main-dash-user .tck-filtri--in-linea .tck-filtri__azioni{
  grid-column: auto;
}

#main-dash-user .tck-campo{ display: flex; flex-direction: column; gap: 6px; min-width: 0; }
#main-dash-user .tck-campo > label{
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--tck-ink-2);
  line-height: 1;
}
#main-dash-user .tck-campo input,
#main-dash-user .tck-campo select,
#main-dash-user .tck-cerca{
  width: 100%;
  height: var(--tck-h);
  padding: 0 12px;
  border: 1px solid var(--tck-bordo-2) !important;
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo);
  color: var(--tck-ink);
  font-size: 16px;              /* sotto: iOS ingrandisce il campo da solo */
  line-height: normal;
  box-shadow: none;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  min-width: 0;
}
#main-dash-user .tck-campo select{
  padding-right: 34px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%236b645d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 18px;
}
#main-dash-user .tck-campo input:focus,
#main-dash-user .tck-campo select:focus,
#main-dash-user .tck-cerca:focus{
  border-color: var(--tck-accento) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tck-accento) 16%, transparent);
}
#main-dash-user .tck-campo input[type="date"]::-webkit-calendar-picker-indicator{
  opacity: .55; cursor: pointer;
}


/* BOTTONI  */

#main-dash-user .tck-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--tck-h);
  padding: 0 18px;
  border: 1px solid var(--tck-accento);
  border-radius: var(--tck-r-2);
  background: var(--tck-accento);
  color: var(--tck-accento-testo);
  font-size: .875rem;
  font-weight: 650;
  letter-spacing: .02em;
  cursor: pointer;
  text-decoration: none;
  transition: opacity .15s, background-color .15s;
  white-space: nowrap;
}
#main-dash-user .tck-btn:hover{ opacity: .86; }
#main-dash-user .tck-btn--fantasma{
  background: transparent;
  color: var(--tck-ink-2);
  border-color: var(--tck-bordo-2);
}
#main-dash-user .tck-btn--fantasma:hover{ background: var(--tck-fondo-3); opacity: 1; }
#main-dash-user .tck-btn--tenue{
  height: auto; padding: 0; border: 0; background: none;
  color: var(--tck-ink-2); font-weight: 500; font-size: .82rem;
  text-decoration: underline; text-underline-offset: 3px;
}
#main-dash-user .tck-btn--tenue:hover{ color: var(--tck-ink); opacity: 1; }

/* Bottone-icona */
#main-dash-user .tck-icona{
  width: var(--tck-tap);
  height: var(--tck-tap);
  flex: 0 0 var(--tck-tap);
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--tck-bordo-2);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo);
  color: var(--tck-ink-2);
  cursor: pointer;
  transition: background-color .15s, color .15s, border-color .15s;
}
#main-dash-user .tck-icona svg{ width: 18px; height: 18px; display: block; }
#main-dash-user .tck-icona:hover{
  background: var(--tck-fondo-3);
  color: var(--tck-ink);
  border-color: var(--tck-bordo-2);
}
#main-dash-user .tck-icona--tondo{ border-radius: 999px; }
#main-dash-user .tck-icona--ok{
  background: var(--tck-ok); border-color: var(--tck-ok); color: #fff;
}
#main-dash-user .tck-icona--ok:hover{ background: var(--tck-ok); color: #fff; opacity: .88; }
#main-dash-user .tck-icona--critico{
  background: var(--tck-critico); border-color: var(--tck-critico); color: #fff;
}
#main-dash-user .tck-icona--critico:hover{ background: var(--tck-critico); color: #fff; opacity: .88; }
#main-dash-user .tck-icona[aria-expanded="true"] svg{ transform: rotate(90deg); }
#main-dash-user .tck-icona svg{ transition: transform .25s; }


/* CONTATORI E PASTIGLIE  */

/* Il tondo col numero delle vendite: zero resta neutro, non verde */
#main-dash-user .tck-conta{
  width: var(--tck-tap);
  height: var(--tck-tap);
  flex: 0 0 var(--tck-tap);
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 2px solid var(--tck-bordo-2);
  background: var(--tck-fondo);
  color: var(--tck-ink-3);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1;
}
#main-dash-user .tck-conta--vendite{
  border-color: var(--tck-ok);
  background: var(--tck-ok-velo);
  color: var(--tck-ok);
}

#main-dash-user .tck-pastiglia{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 34px;
  height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--tck-fondo-3);
  color: var(--tck-ink-2);
  font-size: .78rem;
  font-weight: 650;
  line-height: 1;
  justify-content: center;
  white-space: nowrap;
}
#main-dash-user .tck-pastiglia--ok{      background: var(--tck-ok-velo);      color: var(--tck-ok); }
#main-dash-user .tck-pastiglia--attesa{  background: var(--tck-attesa-velo);  color: var(--tck-attesa); }
#main-dash-user .tck-pastiglia--critico{ background: var(--tck-critico-velo); color: var(--tck-critico); }
#main-dash-user .tck-pastiglia--info{    background: var(--tck-info-velo);    color: var(--tck-info); }
#main-dash-user .tck-pastiglia--pieno{
  background: var(--tck-accento); color: var(--tck-accento-testo);
}
#main-dash-user .tck-pastiglia--prezzo{
  background: transparent; color: var(--tck-ink-2);
  border: 1px solid var(--tck-bordo); font-weight: 600;
}
#main-dash-user .tck-pastiglia svg{ width: 14px; height: 14px; display: block; }
/* Nome+numero (Uomo 1): una pastiglia sola, non due */
#main-dash-user .tck-pastiglia__valore{
  display: inline-grid; place-items: center;
  min-width: 18px; height: 18px; padding: 0 4px;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 16%, transparent);
  font-size: .72rem;
}


/* LA LISTA DEGLI EVENTI  */

#main-dash-user #list-products-account{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#main-dash-user .wrap-list-event-tck{
  background: var(--tck-fondo);
  border: 1px solid var(--tck-bordo);
  border-radius: var(--tck-r);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
#main-dash-user .wrap-list-event-tck.active{
  border-color: var(--tck-bordo-2);
  box-shadow: 0 1px 3px rgba(28,26,24,.06), 0 8px 24px -12px rgba(28,26,24,.18);
}

/* Due colonne: il titolo prende lo spazio che avanza, i comandi restano a destra */
#main-dash-user .list-event-tck{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px;
}

/* Copertina */
#main-dash-user .thumb-event{ position: relative; flex: 0 0 auto; line-height: 0; }
#main-dash-user .thumb-event img{
  width: 80px; height: 80px;
  border-radius: var(--tck-r-2);
  object-fit: cover;
  background: var(--tck-fondo-3);
  display: block;
}
#main-dash-user .thumb-event .closed{
  position: absolute; inset: auto 0 0 0;
  display: grid; place-items: center;
  height: 17px;
  background: var(--tck-critico); color: #fff;
  font-size: .58rem; font-weight: 700; letter-spacing: .04em; line-height: 1;
  text-transform: uppercase; text-align: center;
  border-radius: 0 0 var(--tck-r-2) var(--tck-r-2);
  overflow: hidden;
}

#main-dash-user .info-evento{
  display: flex; align-items: center; gap: 14px; min-width: 0;
}
#main-dash-user .info-evento > div:not(.thumb-event){ min-width: 0; }
#main-dash-user .list-event-tck h4{
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.3;
  margin: 0 0 7px;
  /* massimo due righe */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Le date */
#main-dash-user .wrapper-data-event-list{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  /* Riserva sempre due righe: la riga non cambia altezza se le date vanno a capo */
  min-height: 57px;
}
#main-dash-user .single-data-event-list{
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--tck-fondo-3);
  color: var(--tck-ink-2);
  font-size: .78rem;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
/* Serata sospesa */
#main-dash-user .single-data-event-list.sospesa{
  background: var(--tck-critico-velo);
  color: var(--tck-critico);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
/* Chiusa mostra solo la prossima serata */
#main-dash-user .wrapper-data-event-list.chiusa .single-data-event-list:not(.prossima){
  display: none;
}
/* Il bottone c'e' sempre nel markup: :has() lo nasconde quando non serve */
#main-dash-user .wrapper-data-event-list:not(:has(.single-data-event-list:nth-child(2))) .tck-altre-date{
  display: none;
}
#main-dash-user .tck-altre-date{
  position: relative;
  height: 26px; padding: 0 10px;
  border: 1px dashed var(--tck-bordo-2);
  border-radius: 999px;
  background: transparent;
  color: var(--tck-ink-2);
  font-size: .75rem; font-weight: 650;
  cursor: pointer;
  display: inline-flex; align-items: center;
}
/* Area cliccabile allargata per il dito, senza toccare il disegno */
#main-dash-user .tck-altre-date::after{
  content: ''; position: absolute; inset: -10px; border-radius: inherit;
}
#main-dash-user .tck-altre-date:hover{ background: var(--tck-fondo-3); color: var(--tck-ink); }
/* Il bottone resta visibile anche da aperto: serve a richiudere */
#main-dash-user .tck-altre-date svg{
  width: 11px; height: 11px; display: block;
  transition: transform .2s;
}
#main-dash-user .tck-altre-date[aria-expanded="true"] svg{ transform: rotate(180deg); }
#main-dash-user .tck-altre-date[aria-expanded="true"]{
  border-style: solid;
  background: var(--tck-fondo-3);
  color: var(--tck-ink);
}

/* Comandi a destra */
#main-dash-user .detail-evento{ display: flex; }
#main-dash-user .status-evento{
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

/* Il colore segue le classi instock/outofstock */
#main-dash-user .btn-event-status.instock,
#main-dash-user .btn-event-status-std.instock{
  background: var(--tck-ok); border-color: var(--tck-ok); color: #fff;
}
#main-dash-user .btn-event-status.outofstock,
#main-dash-user .btn-event-status-std.outofstock{
  background: var(--tck-critico); border-color: var(--tck-critico); color: #fff;
}
#main-dash-user .btn-event-status:hover,
#main-dash-user .btn-event-status-std:hover{ opacity: .88; }

/* Necessario: la regola condivisa usa !important */
#main-dash-user .copyLinkPR{
  background: var(--tck-fondo) !important;
  border: 1px solid var(--tck-bordo-2) !important;
  color: var(--tck-ink-2) !important;
}

/* «Apri»: padding, bordo e raggio del bottone */
#main-dash-user .detail-evento button.tck-icona{
  padding: 0;
  border-width: 1px;
  border-style: solid;
  border-radius: var(--tck-r-2);
}
#main-dash-user .detail-evento button.tck-icona--tondo{ border-radius: 999px; }
/* «Apri»: fondo bianco come «copia» */
#main-dash-user .detail-evento .open-evento.tck-icona{
  background: var(--tck-fondo);
}
#main-dash-user .detail-evento .open-evento.tck-icona svg{
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  background: none;
  border-radius: 0;
}

/* Il ::before distingue i due stati per forma, non solo per colore: non va rimosso */
#main-dash-user .btn-event-status::before,
#main-dash-user .btn-event-status-std::before{
  content: '';
  display: block;
  width: 20px; height: 20px;
  padding: 0;
  background-color: transparent;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 0;
}

/* Immagini duplicate apposta: servono qui per disegnare lo stato */
#main-dash-user .btn-event-status.outofstock::before,
#main-dash-user .btn-event-status-std.outofstock::before{
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23ffffff" class="bi bi-cart-x" viewBox="0 0 16 16"><path d="M7.354 5.646a.5.5 0 1 0-.708.708L7.793 7.5 6.646 8.646a.5.5 0 1 0 .708.708L8.5 8.207l1.146 1.147a.5.5 0 0 0 .708-.708L9.207 7.5l1.147-1.146a.5.5 0 0 0-.708-.708L8.5 6.793 7.354 5.646z"/><path d="M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/></svg>');
}
#main-dash-user .btn-event-status.instock::before,
#main-dash-user .btn-event-status-std.instock::before{
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23ffffff" class="bi bi-cart-check" viewBox="0 0 16 16"><path d="M11.354 6.354a.5.5 0 0 0-.708-.708L8 8.293 6.854 7.146a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z"/><path d="M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/></svg>');
}


/* IL PANNELLO CHE SI APRE SOTTO L'EVENTO  */

#main-dash-user .results-tck{
  display: none;
  padding: 12px;
  background: var(--tck-fondo-2);
  border-top: 1px solid var(--tck-bordo);
}
#main-dash-user .search_product,
#main-dash-user .tck-cerca{
  width: 100%;
  height: var(--tck-h);
  margin-bottom: 10px;
  padding: 0 12px;
  border: 1px solid var(--tck-bordo-2) !important;
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo);
  font-size: 16px;
}
#main-dash-user .no-results{
  text-align: center;
  padding: 22px 0;
  margin: 0;
  color: var(--tck-ink-2);
  font-size: .9rem;
}

#main-dash-user .item-loop{
  background: var(--tck-fondo);
  border: 1px solid var(--tck-bordo);
  border-radius: var(--tck-r-2);
  overflow: hidden;
}
#main-dash-user .item-loop + .item-loop{ margin-top: 8px; }

#main-dash-user .item-loop > .date-tck-record{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background: var(--tck-fondo);
  border-bottom: 1px solid var(--tck-bordo);
}
#main-dash-user .item-loop > .date-tck-record .info{
  display: flex; align-items: center; gap: 8px;
  min-width: 0; flex-wrap: wrap;
}
#main-dash-user .item-loop > .date-tck-record .info b{
  font-size: .9rem !important;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

#main-dash-user .wrap-tipologie{ padding: 4px 0; }
#main-dash-user .wrap-tipologie .date-tck-record{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 12px;
  min-height: 34px;
}
#main-dash-user .wrap-tipologie .date-tck-record + .date-tck-record{
  border-top: 1px solid var(--tck-fondo-3);
}
#main-dash-user .info-title-event{
  display: flex; align-items: center; gap: 8px;
  font-size: .875rem; color: var(--tck-ink); min-width: 0; flex-wrap: wrap;
}
#main-dash-user .wrapper-count-varianti{ display: flex; gap: 5px; flex-wrap: wrap; }

#main-dash-user .actions-tck{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  background: var(--tck-fondo-2);
  border-top: 1px solid var(--tck-bordo);
}
#main-dash-user .actions-tck .actions{ display: flex; align-items: center; gap: 6px; }
#main-dash-user .actions-tck .actions a{
  width: 36px; height: 36px; flex: 0 0 36px;
  display: grid; place-items: center;
  border: 1px solid var(--tck-bordo-2);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo);
  color: var(--tck-ink-2);
  position: relative;
  transition: background-color .15s, color .15s;
}
#main-dash-user .actions-tck .actions a:hover{ background: var(--tck-fondo-3); color: var(--tck-ink); }
/* Azzera il padding/bordo che l'svg erediterebbe: il quadretto lo disegna .actions a */
#main-dash-user .actions-tck .actions a svg{
  width: 17px; height: 17px; display: block;
  padding: 0; border: 0; background: none; box-shadow: none;
}
#main-dash-user .tck-badge-omaggi{
  position: absolute; top: -6px; right: -6px;
  min-width: 18px; height: 18px; padding: 0 4px;
  display: grid; place-items: center;
  border-radius: 999px;
  background: var(--tck-critico); color: #fff;
  font-size: .65rem; font-weight: 700;
  font-variant-numeric: tabular-nums;
}


/* BARRA DI NAVIGAZIONE DELL'EVENTO  */

#main-dash-user .navbar-account-tck{
  display: flex;
  gap: 4px;
  padding: 5px;
  background: var(--tck-fondo);
  border: 1px solid var(--tck-bordo);
  border-radius: var(--tck-r);
  overflow-x: auto;
  scrollbar-width: none;
  margin-bottom: 16px;
}
#main-dash-user .navbar-account-tck::-webkit-scrollbar{ display: none; }
#main-dash-user .navbar-account-tck a{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: var(--tck-tap);
  padding: 0 12px;
  border-radius: var(--tck-r-2);
  color: var(--tck-ink-2);
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  transition: background-color .15s, color .15s;
}
#main-dash-user .navbar-account-tck a svg{
  width: 17px; height: 17px; fill: currentColor; display: block; flex: 0 0 17px;
  padding: 0;
}
#main-dash-user .navbar-account-tck a:hover{ background: var(--tck-fondo-3); color: var(--tck-ink); }
#main-dash-user .navbar-account-tck a.active{
  background: var(--tck-accento);
  color: var(--tck-accento-testo);
}
#main-dash-user .navbar-account-tck a.active svg{ fill: currentColor; }

#main-dash-user .intro-detail-event{ padding: 12px; }
#main-dash-user .intro-detail-event .thumb-event img{ width: 56px; height: 56px; }
#main-dash-user .intro-detail-event h3{
  font-size: 1.05rem; font-weight: 650; line-height: 1.25; margin: 0 0 5px;
}
#main-dash-user .intro-detail-event .info-biglietto{
  font-size: .84rem; color: var(--tck-ink-2); font-variant-numeric: tabular-nums;
}


/* TABELLE (statistiche, clienti, prevendite)  */

#main-dash-user .vendite-wrapper,
#main-dash-user .table-wrapper{
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--tck-bordo);
  border-radius: var(--tck-r);
  background: var(--tck-fondo);
}
/* Bottoni Excel/CSV di DataTables: dimensione ridisegnata qui, il file di terzi non si tocca */
#main-dash-user .dt-button{
  display: inline-flex;
  align-items: center;
  min-height: var(--tck-tap);
}
#main-dash-user .vendite-table{
  width: 100%;
  border-collapse: collapse;
  font-size: .875rem;
}
#main-dash-user .vendite-heading{
  position: sticky; top: 0; z-index: 1;
  background: var(--tck-fondo-3) !important;
  color: var(--tck-ink) !important;
  text-align: left;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 14px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--tck-bordo) !important;
  white-space: nowrap;
}
#main-dash-user .separator .vendite-heading{
  background: var(--tck-accento) !important;
  color: var(--tck-accento-testo) !important;
}
#main-dash-user .vendite-cell{
  padding: 14px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--tck-bordo) !important;
  line-height: 1.4;
  vertical-align: middle;
}
#main-dash-user .vendite-row:nth-child(even){ background-color: var(--tck-fondo-2); }
#main-dash-user .vendite-row:hover{ background-color: var(--tck-fondo-3); }
#main-dash-user .vendite-total-row{
  font-weight: 700;
  background: var(--tck-fondo-3);
}
#main-dash-user .vendite-total-row td,
#main-dash-user .vendite-total-row th{
  padding: 16px 14px !important;
  line-height: 1.4;
}
#main-dash-user .vendite-total-label{ text-align: right; padding-right: 14px !important; }
#main-dash-user .vendite-total-value{ text-align: right; }

#main-dash-user .cta-tel-user{
  display: flex; gap: 10px; align-items: center; justify-content: space-between;
  flex-wrap: wrap;
}
#main-dash-user .cta-tel-user .cta-tel{ display: flex; gap: 6px; }
#main-dash-user .cta-tel-user .cta-tel a{
  width: 36px; height: 36px; flex: 0 0 36px;
  display: grid; place-items: center;
  border: 1px solid var(--tck-bordo-2);
  border-radius: var(--tck-r-2);
  color: var(--tck-ink-2);
}
#main-dash-user .cta-tel-user .cta-tel svg{ width: 17px; height: 17px; fill: currentColor; display: block; }


/* PAGINAZIONE  */

#main-dash-user .nav_post_vendor{
  display: flex; gap: 8px; justify-content: center; margin-top: 16px;
}
#main-dash-user .nav_post_vendor a{
  display: inline-flex; align-items: center;
  height: var(--tck-h); padding: 0 16px;
  border: 1px solid var(--tck-bordo-2);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo);
  color: var(--tck-ink);
  font-size: .82rem; font-weight: 650;
  text-decoration: none; margin: 0;
  transition: background-color .15s;
}
#main-dash-user .nav_post_vendor a:hover{ background: var(--tck-fondo-3); }

#main-dash-user .tck-vuoto{
  padding: 48px 20px;
  text-align: center;
  color: var(--tck-ink-2);
  background: var(--tck-fondo);
  border: 1px dashed var(--tck-bordo-2);
  border-radius: var(--tck-r);
}


/* TELEFONO  */

@media (max-width: 720px){
  #main-dash-user{ padding: 12px; border-radius: 0; }

  /* Due file complete invece di una striscia che scorre */
  #main-dash-user .navbar-account-tck{ flex-wrap: wrap; overflow-x: visible; }
  #main-dash-user .navbar-account-tck a{ flex: 1 1 auto; justify-content: center; }
  #main-dash-user .navbar-account-tck a span{ display: none; }


  #main-dash-user .list-event-tck{
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding-bottom: 0;      /* la barra dei comandi arriva fino in fondo da sola */
  }
  #main-dash-user .thumb-event img{ width: 64px; height: 64px; }
  #main-dash-user .list-event-tck h4{ font-size: .95rem; }

  /* Barra dei comandi sotto, larga tutta la riga */
  #main-dash-user .detail-evento{
    border-top: 1px solid var(--tck-bordo);
    margin: 0 -12px;
    padding: 10px 12px;
    background: var(--tck-fondo-2);
  }
  #main-dash-user .status-evento{
    width: 100%;
    justify-content: space-between;
  }

  #main-dash-user .item-loop > .date-tck-record,
  #main-dash-user .wrap-tipologie .date-tck-record{
    flex-wrap: wrap;
  }
  #main-dash-user .actions-tck{ flex-wrap: wrap; }

  #main-dash-user .navbar-account-tck a{ padding: 0 10px; }
}

/* ALTRE CLASSI DEL MARKUP  */

/* Riassunto dei filtri attivi */
#main-dash-user .tck-pannello__sunto{
  display: inline-block;
  margin-left: 8px;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--tck-info-velo);
  color: var(--tck-info);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: 0;
  vertical-align: middle;
}

/* Lente delle statistiche di una serata passata */
#main-dash-user .results-tck a.link-evento-stats{
  display: inline-grid;
  place-items: center;
  width: 30px; height: 30px; flex: 0 0 30px;
  min-width: 0;
  padding: 0;
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo-3);
  color: var(--tck-ink-2);
  text-decoration: none;
  border: 0;
  box-shadow: none;
}
#main-dash-user .results-tck a.link-evento-stats:hover{ background: var(--tck-bordo); color: var(--tck-ink); }
#main-dash-user .results-tck a.link-evento-stats svg{ width: 15px; height: 15px; display: block; }

/* le righe del risultato del calcolo guadagni */
#main-dash-user .result-box-item{
  display: inline-block;
  padding: 2px 0;
  font-variant-numeric: tabular-nums;
}

/* il numero di telefono in tabella: non va a capo, e le cifre stanno in colonna */
#main-dash-user .primary-phone{
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* «chiudi la prevendita»: un comando che toglie soldi da una lista, quindi
   un bersaglio da dito vero e un colore che dice quello che fa */
#main-dash-user .close-prevendita{
  display: inline-grid;
  place-items: center;
  width: var(--tck-tap); height: var(--tck-tap);
  color: var(--tck-critico);
  text-decoration: none;
}
#main-dash-user .close-prevendita:hover{ background: var(--tck-critico-velo); border-radius: var(--tck-r-2); }
#main-dash-user .close-prevendita svg{ width: 17px; height: 17px; display: block; }

/* Riquadro dell'esito del calcolo guadagni */
#main-dash-user .tck-riquadro-esito{
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--tck-bordo);
  border-left: 3px solid var(--tck-ok);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo-2);
  font-size: .88rem;
  line-height: 1.9;
}

/* OMAGGI
   Il colore dei bottoni lo mette questo foglio, non il tema del portale: e'
   dichiarato !important perche' il foglio del plugin si carica prima di
   quello del tema, e a parita' di forza vincerebbe il tema.
   ═════════════════════════════════════════════════════════════════════════ */

#main-dash-user #wrapper-omaggi{
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--tck-attesa);
  border-left: 4px solid var(--tck-attesa);
  border-radius: var(--tck-r);
  background: var(--tck-attesa-velo);
}
#main-dash-user #wrapper-omaggi h4{
  margin: 0 0 10px;
  color: var(--tck-attesa);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#main-dash-user #checkOrder{
  display: flex;
  gap: var(--tck-gap);
  width: 100%;
  align-items: flex-start;
}
#main-dash-user #checkOrder input[type="text"]{
  flex: 1 1 auto;
  min-width: 0;
  height: var(--tck-h);
  min-height: 0;
  padding: 0 12px;
  border: 1px solid var(--tck-bordo-2);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo) !important;
  color: var(--tck-ink);
}

/* I bottoni del modulo: stesso vestito del .tck-btn */
#main-dash-user #checkOrderButton,
#main-dash-user #submitOmaggi input[type="submit"],
#main-dash-user .tck-save-button,
#main-dash-user .tck-delete-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--tck-h);
  padding: 0 18px;
  border: 1px solid var(--tck-accento) !important;
  border-radius: var(--tck-r-2) !important;
  background: var(--tck-accento) !important;
  color: var(--tck-accento-testo) !important;
  font-size: .875rem;
  font-weight: 650;
  line-height: 1;
  text-transform: none;
  cursor: pointer;
  box-shadow: none !important;
}
#main-dash-user #checkOrderButton{ flex: 0 0 auto; }
#main-dash-user #submitOmaggi input[type="submit"]{ align-self: flex-start; }
#main-dash-user #checkOrderButton:hover,
#main-dash-user #submitOmaggi input[type="submit"]:hover,
#main-dash-user .tck-save-button:hover,
#main-dash-user .tck-delete-button:hover{ opacity: .86; }
#main-dash-user #checkOrderButton:disabled{ opacity: .5; cursor: default; }

/* «Elimina» resta secondario: si legge, ma non invita */
#main-dash-user .tck-delete-button{
  border-color: var(--tck-critico) !important;
  background: transparent !important;
  color: var(--tck-critico) !important;
}
#main-dash-user .tck-delete-button:hover{
  background: var(--tck-critico-velo) !important;
  opacity: 1;
}

/* Il riquadro dell'ordine trovato */
#main-dash-user #containerOmaggi:not(:empty){
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--tck-bordo);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo);
}
#main-dash-user .tck-omaggi-info-cliente h3{
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--tck-ink);
}
#main-dash-user .tck-omaggi-info-cliente p{
  margin: 0 0 3px;
  font-size: .85rem;
  color: var(--tck-ink-2);
}
#main-dash-user .tck-omaggi-info-cliente p b{ color: var(--tck-ink); }

#main-dash-user #submitOmaggi{
  display: flex;
  flex-direction: column;
  gap: var(--tck-gap);
  margin: 14px 0 0;
}
#main-dash-user .tck-biglietto-row{
  padding: 12px 14px;
  border: 1px solid var(--tck-bordo);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo-2);
}
#main-dash-user .tck-biglietto-row h4{
  margin: 0 0 10px;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--tck-ink);
}
#main-dash-user .tck-quantita-biglietto{
  display: inline-grid;
  place-items: center;
  min-width: 22px; height: 22px; padding: 0 7px;
  border-radius: 999px;
  background: var(--tck-critico);
  color: #fff;
  font-size: .75rem;
  font-variant-numeric: tabular-nums;
}
#main-dash-user .tck-biglietto-row-input-container{
  display: flex;
  flex-wrap: wrap;
  gap: var(--tck-gap);
}
#main-dash-user .tck-biglietto-row-input{
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1 1 180px;
  min-width: 0;
}
#main-dash-user .tck-biglietto-row-input label{
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--tck-ink-2);
}
#main-dash-user .tck-biglietto-row-input input,
#main-dash-user .tck-biglietto-row-input select{
  height: var(--tck-h);
  padding: 0 12px;
  border: 1px solid var(--tck-bordo-2);
  border-radius: var(--tck-r-2);
  background: var(--tck-fondo);
  color: var(--tck-ink);
}

/* Il testo di quando non c'e' niente */
#main-dash-user .tck-no-data{
  color: var(--tck-ink-2);
  font-size: .88rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LA PAGINA CHE UN LOCALE APRE COL SUO LINK

   Non e' «Il mio account»: qui attorno NON c'e' il contenitore del tema, quindi
   la larghezza e il respiro se li deve dare la pagina — senza, su schermo grande
   il pannello si stende da un bordo all'altro.
   1240px e' la misura che usano i temi di tutti e due i portali.

   ⚠️ Le variabili del pannello vivono su `#main-dash-user`, e la testata e' sua
   SORELLA, non figlia: le poche che servono si ridichiarano qui. Il carattere
   invece si lascia al tema apposta — e' la testata a dare l'impronta del sito.

   ⚠️ Tutto sotto `.tck-accesso-locale`, che esiste SOLO su questa pagina: «Il mio
   account» non se ne accorge.
   ═══════════════════════════════════════════════════════════════════════════ */

.tck-accesso-locale{
  --tck-ink:    #14120f;
  --tck-ink-3:  #6f675e;
  --tck-bordo:  #d5cec3;

  max-width: 1240px;
  margin: 0 auto;

  /* 🔴 L'intestazione dei portali e' `position: fixed`, quindi il contenuto ci
     scivolerebbe sotto. Il tema pubblica da se' la propria altezza in `--header-h`
     (74px, 64px su schermo piccolo) ed e' cosi' che compensano tutte le SUE pagine
     (`padding: calc(var(--header-h) + 46px)`). Qui si fa la stessa cosa: si usa la
     variabile del tema, NON un numero copiato — cosi' il giorno che l'intestazione
     cambia altezza questa pagina si adegua da sola, e su mobile prende i 64px senza
     che noi si scriva niente.
     ⚠️ Il valore di ripiego e' `0px`: su un tema che non ha intestazione fissa (e non
     dichiara la variabile) resta solo il respiro, che e' giusto. Su un tema che ce
     l'ha fissa ma NON la dichiara non possiamo indovinarla: si aggiunge li'. */
  padding: calc(var(--header-h, 0px) + 40px) 20px 56px;
}

.tck-accesso-locale .tck-locale-testata{
  margin: 0 0 20px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--tck-bordo);
}

.tck-accesso-locale .tck-locale-testata__occhiello{
  margin: 0 0 6px;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tck-ink-3);
}

.tck-accesso-locale .tck-locale-testata__nome{
  margin: 0;
  font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.1rem);
  line-height: 1.2;
  color: var(--tck-ink);
}

.tck-accesso-locale .tck-locale-testata__dove{
  margin: 6px 0 0;
  font-size: .95rem;
  color: var(--tck-ink-3);
}

@media (max-width: 640px){
  .tck-accesso-locale{ padding: calc(var(--header-h, 0px) + 24px) 14px 40px; }
  .tck-accesso-locale .tck-locale-testata{ margin-bottom: 16px; padding-bottom: 12px; }
}

/* 🔴 L'evento con tutte le serate spente adesso si vede nel pannello (prima spariva, e con
   lui vendite, clienti e scanner). Questa riga e' la meta' che spiega perche' non ha date. */
.tck-serate-spente{
  margin: 0 0 12px;
  padding: 10px 14px;
  border-left: 3px solid #c9a227;
  background: #fdf8e7;
  color: #5c4a10;
  font-size: 13px;
  line-height: 1.45;
}
