/* Restaurant OS — © 2026 NSAi Srl, Milano — nsai.eu. Codice proprietario. */
/*
 * Area clienti sul sito. Prende i caratteri del tema; il colore è
 * --rst-acc-colore (quello dei Prodotti, o del marchio). Tutto sta sotto .rst-acc.
 */
.rst-acc { --ba-c: var(--rst-acc-colore); --ba-tenue: color-mix(in srgb, var(--ba-c) 9%, #fff); --ba-linea: color-mix(in srgb, currentColor 15%, transparent); --ba-grigio: color-mix(in srgb, currentColor 62%, transparent); --ba-r: 12px; max-width: 980px; margin: 0 auto; box-sizing: border-box; }
.rst-acc *, .rst-acc *::before, .rst-acc *::after { box-sizing: border-box; }
.rst-acc [hidden] { display: none !important; }
.rst-acc-trappola { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.rst-acc-bottone { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--ba-c); color: #fff !important; font: inherit; font-weight: 600; font-size: 15px; text-decoration: none !important; cursor: pointer; margin: 0; line-height: 1.2; text-transform: none; letter-spacing: .01em; }
.rst-acc-bottone:hover { filter: brightness(1.07); }
.rst-acc-bottone:disabled { opacity: .55; cursor: default; }
.rst-acc-largo { width: 100%; }
.rst-acc-link { all: unset; cursor: pointer; color: var(--ba-c); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.rst-acc-link:focus-visible, .rst-acc-bottone:focus-visible, .rst-acc-linguette button:focus-visible { outline: 2px solid var(--ba-c); outline-offset: 2px; }

/* Entra e registrati */
.rst-acc-ingresso, .rst-acc-box { max-width: 520px; margin: 0 auto; }
.rst-acc-box { padding: 28px; border: 1px solid var(--ba-linea); border-radius: 18px; }
.rst-acc-box h2 { margin: 0 0 8px; }
.rst-acc-linguette { display: flex; gap: 6px; padding: 5px; border-radius: 999px; background: var(--ba-tenue); margin-bottom: 22px; }
.rst-acc-linguette button { all: unset; flex: 1; text-align: center; padding: 11px 0; border-radius: 999px; font-weight: 600; cursor: pointer; color: var(--ba-grigio); }
.rst-acc-linguette button[aria-selected="true"] { background: #fff; color: inherit; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.rst-acc-modulo { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.rst-acc-intro { margin: 0 0 4px; color: var(--ba-grigio); font-size: 15px; line-height: 1.5; }
.rst-acc-tre { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); gap: 14px; }
@media (max-width: 520px) { .rst-acc-tre { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .rst-acc-tre > :nth-child(2) { grid-column: 1 / -1; grid-row: 1; } }
.rst-acc-scelta { border: 0; padding: 0; margin: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.rst-acc-scelta legend { font-weight: 600; font-size: 14px; margin-bottom: 8px; padding: 0; }
.rst-acc-apri summary { cursor: pointer; color: var(--ba-c); font-weight: 600; margin-top: 4px; }
.rst-acc-apri[open] summary { margin-bottom: 14px; }
.rst-acc-nuovo { padding: 16px 20px; border: 1.5px dashed var(--ba-linea); border-radius: var(--ba-r); }
.rst-acc-togli { margin: 8px 0 0; }
[data-per] { display: flex; flex-direction: column; gap: 14px; }
.rst-acc-due { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
@media (max-width: 520px) { .rst-acc-due { grid-template-columns: minmax(0, 1fr); } }
.rst-acc-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rst-acc-campo label { font-weight: 600; font-size: 14px; }
.rst-acc-campo input { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--ba-linea); border-radius: 10px; font: inherit; font-size: 16px; background: #fff; color: inherit; margin: 0; box-shadow: none; }
.rst-acc-campo input:focus { outline: none; border-color: var(--ba-c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ba-c) 18%, transparent); }
.rst-acc-campo input[name=codice] { font-size: 26px; letter-spacing: .4em; text-align: center; font-variant-numeric: tabular-nums; }
.rst-acc-fisso { margin: 0; padding: 11px 0; font-size: 16px; }
.rst-acc-aiuto { margin: -6px 0 0; font-size: 13px; color: var(--ba-grigio); }
.rst-acc-spunta { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; cursor: pointer; }
.rst-acc-spunta input { margin: 2px 0 0; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--ba-c); }
.rst-acc-messaggio { margin: 0; padding: 11px 14px; border-radius: 10px; background: color-mix(in srgb, var(--rst-acc-err, #B42318) 10%, #fff); color: var(--rst-acc-err, #B42318); font-size: 14px; }
.rst-acc-messaggio.rst-acc-ok { background: color-mix(in srgb, var(--rst-acc-ok, #1A7F4B) 10%, #fff); color: var(--rst-acc-ok, #1A7F4B); }
.rst-acc-piccolo { margin: 4px 0 0; font-size: 14px; text-align: center; }
.rst-acc-titolo { margin: 0 0 10px; }
.rst-acc-codice, .rst-acc-struttura { padding: 22px; border-radius: var(--ba-r); background: var(--ba-tenue); }
.rst-acc-dove { margin: 0 0 14px; line-height: 1.5; }
.rst-acc-altre { line-height: 2; }

/* Dentro */
.rst-acc-testa { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; flex-wrap: wrap; margin-bottom: 22px; }
.rst-acc-ciao { margin: 0 0 12px; font-size: 26px; font-weight: 700; line-height: 1.2; }
.rst-acc-riquadri { display: flex; gap: 10px; flex-wrap: wrap; }
.rst-acc-riquadro { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; min-width: 130px; border-radius: var(--ba-r); background: var(--ba-tenue); color: inherit !important; text-decoration: none !important; }
.rst-acc-riquadro b { font-size: 22px; color: var(--ba-c); line-height: 1.1; }
.rst-acc-riquadro span { font-size: 13px; color: var(--ba-grigio); }
.rst-acc-esci { margin: 0; }
.rst-acc-corpo { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; align-items: start; }
.rst-acc-menu { display: flex; flex-direction: column; gap: 4px; position: sticky; top: 20px; }
.rst-acc-menu a { padding: 11px 14px; border-radius: 10px; color: inherit !important; text-decoration: none !important; font-weight: 500; }
.rst-acc-menu a:hover { background: var(--ba-tenue); }
.rst-acc-menu a[aria-current="page"] { background: var(--ba-tenue); color: var(--ba-c) !important; font-weight: 700; }
.rst-acc-sezione { min-width: 0; }
.rst-acc-sezione .rst-acc-modulo { max-width: 560px; }
@media (max-width: 760px) {
  .rst-acc-corpo { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .rst-acc-menu { flex-direction: row; overflow-x: auto; position: static; padding-bottom: 4px; scrollbar-width: none; }
  .rst-acc-menu a { white-space: nowrap; border: 1px solid var(--ba-linea); border-radius: 999px; padding: 9px 14px; }
  .rst-acc-ciao { font-size: 22px; }
}

/* Pezzi che usano gli altri moduli (i punti, gli inviti) */
.rst-acc-tabella { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0; }
.rst-acc-tabella th, .rst-acc-tabella td { text-align: left; padding: 11px 8px; border-bottom: 1px solid var(--ba-linea); vertical-align: top; }
.rst-acc-tabella th { font-size: 13px; color: var(--ba-grigio); font-weight: 600; }
.rst-acc-tabella .n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; }
.rst-acc-tabella .piu { color: var(--rst-acc-ok, #1A7F4B); }
.rst-acc-scheda { padding: 20px; border-radius: var(--ba-r); background: var(--ba-tenue); margin: 0 0 18px; }
.rst-acc-scheda h3 { margin: 0 0 6px; font-size: 18px; }
.rst-acc-scheda p { margin: 0 0 8px; line-height: 1.5; }
.rst-acc-barra { height: 10px; border-radius: 999px; background: color-mix(in srgb, var(--ba-c) 18%, #fff); overflow: hidden; margin: 10px 0 6px; }
.rst-acc-barra i { display: block; height: 100%; background: var(--ba-c); border-radius: 999px; }
.rst-acc-copia { display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap; }
.rst-acc-copia code { flex: 1 1 220px; padding: 12px 14px; border-radius: 10px; background: #fff; border: 1px dashed var(--ba-linea); font-size: 15px; word-break: break-all; }
.rst-acc-vuoto { color: var(--ba-grigio); }

.rst-acc-icona { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.rst-acc-copia input[type=text] { flex: 1 1 220px; min-width: 0; min-height: 46px; padding: 10px 14px; border: 1px solid var(--ba-linea); border-radius: 10px; font: inherit; font-size: 16px; background: #fff; color: inherit; margin: 0; text-transform: uppercase; letter-spacing: .04em; }
.rst-acc-copia input[type=text]:focus { outline: none; border-color: var(--ba-c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ba-c) 18%, transparent); }

/* Restaurant OS: la Bacheca (ordine in corso, tessere) */
.rst-acc-vivo{border-color:var(--rst-acc-colore)}
.rst-acc-etichetta{display:inline-block;margin:0 0 6px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--rst-acc-colore) 14%,#fff);color:var(--rst-acc-colore);font-size:12px;font-weight:700}
.rst-acc-passi{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px}
.rst-acc-passi li{display:flex;flex-direction:column;gap:6px;font-size:12px;opacity:.65}
.rst-acc-passi li::before{content:"";height:6px;border-radius:99px;background:rgba(0,0,0,.1)}
.rst-acc-passi li.si{opacity:1;font-weight:600}.rst-acc-passi li.si::before{background:var(--rst-acc-colore)}
.rst-acc-tessere{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 18px}
.rst-acc-tessera{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid rgba(0,0,0,.1);border-radius:14px;text-decoration:none;color:inherit}
.rst-acc-tessera b{font-size:24px}.rst-acc-tessera span{font-size:13px;opacity:.7}

/* Il personale guarda l'account di un cliente */
.rst-acc-guarda-testa { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: space-between; margin: 0 0 22px; padding: 14px 18px; border-radius: var(--ba-r); background: var(--ba-tenue); border: 1px solid color-mix(in srgb, var(--ba-c) 30%, transparent); }
.rst-acc-guarda-testa p { margin: 0; flex: 1 1 320px; }
.rst-acc-guarda-testa strong { display: block; }
.rst-acc-guarda-testa span { font-size: 14px; color: var(--ba-grigio); }
.rst-acc-guarda form { opacity: .75; }
.rst-acc-spento { cursor: not-allowed; text-decoration: none !important; opacity: .6; }
