@import url('/tema-gmp.css');   /* (24/10) veste GMP: vale solo nella copia di simulazione */
/* Studio 2 - telefono e app installata (01/10/2026)
   Viste usate dal telefono: pratiche, visite, simulatori, patronato, struttura, medico.
   Sotto i 760px: testata compatta con le voci che scorrono, filtri in riga, tabelle a schede (ogni cella con il titolo della colonna). */

.pwa-campana{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 9px}
.pwa-campana + .utente{margin-left:8px}
#chi + .pwa-campana{margin-left:8px}
.pwa-finestra{max-width:520px;width:100%}

/* app installata su iPhone: la testata non va sotto l'orologio */
@supports (padding-top: env(safe-area-inset-top)){
  .testata{padding-top:env(safe-area-inset-top)}
  main{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
}

@media (max-width:760px){
  html{-webkit-text-size-adjust:100%}
  body{font-size:15px}
  .dentro{padding-inline:12px}
  main{padding-block:12px 70px}
  h1{font-size:20px}

  /* testata: marchio + pulsanti su una riga, le voci sotto che scorrono in orizzontale */
  .testata .dentro{gap:6px 10px;min-height:48px;padding-block:6px}
  .testata .prova{display:none}
  .marchio{font-size:15px}
  .testata nav{order:9;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -12px;padding:0 12px 4px}
  .testata nav::-webkit-scrollbar{display:none}
  .testata nav a{white-space:nowrap;padding:7px 10px;flex:0 0 auto}
  .utente{padding:6px 10px}

  /* titoli e azioni */
  .riga-titolo{gap:10px;margin-bottom:12px}
  .riga-titolo .azioni{margin-left:0;width:100%}
  .titolo-elenco{gap:10px}
  .btn{min-height:40px}
  .btn.picc{min-height:34px}

  /* colonna di sinistra (filtri, azioni) in riga che scorre */
  .con-rail{display:block}
  .rail{position:static !important;display:flex;flex-direction:row !important;flex-wrap:nowrap !important;overflow-x:auto;gap:6px;padding:4px 0 10px;margin-bottom:6px;scrollbar-width:none;background:transparent}
  .rail::-webkit-scrollbar{display:none}
  .rail .rail-tit{display:none}
  .rail .rail-btn,.rail .btn{width:auto;flex:0 0 auto;white-space:nowrap}
  .rail .filtro{flex:0 0 auto;position:relative}
  .rail .campo{min-width:150px !important;flex:0 0 auto}
  .rail #filtri{display:contents}
  .rail{align-items:center}
  .rail .rail-btn{height:auto;min-height:38px;padding:7px 12px;flex-direction:row;align-items:center;gap:6px}
  .rail .rail-btn small{margin:0}
  .rail .azioni-riga{flex:0 0 auto}
  .titolo-elenco + .sotto{display:none}
  .riga-titolo .azioni input[type=search]{flex:1 1 160px;height:40px;padding:0 10px;border:1px solid var(--linea);border-radius:8px;min-width:0}
  .filtri-oriz{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;padding:10px;margin:4px 0 12px}
  .filtri-oriz .campo{min-width:0 !important}
  .filtri-oriz .campo label{font-size:12px}
  .filtri-oriz .campo select{height:40px}
  .filtri-oriz .spunta-riga{grid-column:1/-1;white-space:normal}
  .titolo-elenco .btn{font-size:14px}
  .schede-visite{display:flex;gap:6px;overflow-x:auto}
  .giustificato{hyphens:auto;-webkit-hyphens:auto}
  .menu-filtro{position:fixed !important;left:12px !important;right:12px;top:auto !important;bottom:12px;max-height:60vh;overflow:auto;z-index:50}
  #vista.pieno{padding-inline:12px}

  /* schede e moduli in una colonna */
  .griglia{grid-template-columns:1fr !important;gap:12px}
  .campi{grid-template-columns:1fr !important}
  .pannello{padding:14px 12px}
  .cerca input{flex-basis:100%;font-size:16px}
  input,select,textarea{font-size:16px}   /* niente zoom automatico su iPhone */
  .docs{grid-template-columns:1fr 1fr}
  .contatta{grid-template-columns:1fr}
  .modale{padding:10px;align-items:flex-end}
  .modale > .pannello,.modale > form{max-height:92vh;overflow:auto;width:100%}

  /* tabelle a schede */
  .tabella{border:0;background:transparent;overflow:visible}
  #vista.pieno .tabella{overflow:visible}
  .tabella table,.tabella tbody,.tabella tr,.tabella td,table.visite,table.area{display:block;width:100% !important}
  .tabella table{table-layout:auto !important}
  .tabella thead,table.visite colgroup{display:none}
  .tabella tr{background:var(--carta);border:1px solid var(--linea);border-radius:10px;margin-bottom:10px;padding:8px 12px}
  .tabella tr:last-child td{border-bottom:1px solid var(--linea-2)}
  .tabella td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:8px;align-items:center;padding:6px 0 !important;border-bottom:1px solid var(--linea-2);overflow:visible !important;white-space:normal !important;font-size:14px !important}
  .tabella td:last-child{border-bottom:0 !important}
  .tabella td::before{content:attr(data-label);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--inchiostro-3);font-weight:600}
  .tabella td[data-label=""]{grid-template-columns:1fr}
  .tabella td[data-label=""]::before{display:none}
  .tabella td:empty{display:none}
  .tabella td.vuoto{display:block;text-align:center}
  .tabella td.vuoto::before{display:none}
  .tabella td.col-azioni{grid-template-columns:1fr}
  .tabella td.col-azioni::before{display:none}
  .tabella td .azioni-riga{justify-content:flex-start}
  .tabella tr.clic td:first-child{font-size:16px !important}
  table.visite input,table.visite select{height:40px;font-size:16px}
  .barra-sel{flex-wrap:wrap}

  /* simulatori a tutta larghezza */
  #vista.pieno iframe{width:100%;min-height:80vh;border:0}

  /* aree esterne (patronato, struttura, medico) */
  .largo-admin{padding-inline:12px}
  .due-colonne{grid-template-columns:1fr}
  .dati-medico{gap:6px 16px}
  .dati-reg{grid-template-columns:1fr}
  .rispondi{display:flex;width:100%}
  .rispondi input{min-width:0;flex:1}
  .scheda-patr .campi{grid-template-columns:1fr 1fr !important}
}
@media (max-width:760px){
  /* nuova anagrafica: il documento d'identità in alto, prima dei campi */
  .griglia > aside.con-documento{order:-1;position:static;max-height:none}
  .doc-anteprima iframe{height:60vh}
  .solo-telefono{display:inline}
  .zona{padding:22px 12px}
}
@media (max-width:420px){
  .docs{grid-template-columns:1fr}
  .scheda-patr .campi{grid-template-columns:1fr !important}
}
/* (03/10) testi lunghi senza spazi (es. registro modifiche): vanno a capo invece di allargare la pagina */
@media (max-width:760px){ .tabella td{overflow-wrap:anywhere;word-break:break-word} }

/* (03/10) notifiche obbligatorie sul telefono */
@media (max-width: 760px){
  .modale.blocco-notifiche{align-items:flex-end;padding:8px}
  .bn h1{font-size:19px}
  .bn-azioni .btn{flex:1 1 100%}
}

/* (03/10) elenco Pratiche sul telefono: la ricerca resta ferma sotto la testata mentre l'elenco scorre */
@media (max-width:900px){
  body.pagina-fissa .corpo > .cerca{position:sticky;top:var(--alto-testata, 54px);z-index:6;background:var(--sfondo);padding-block:6px;margin-bottom:8px}
}

/* (03/10 sera) etichette piu' leggibili sul telefono */
@media (max-width:760px){
  .campo label{font-size:15.5px}
  .tabella td::before{font-size:13px;letter-spacing:0;text-transform:none;color:var(--etichetta);font-weight:700}
  .filtri-oriz .campo label{font-size:14px}
}
@media (max-width:420px){ .docs.per-colonna{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none} }
