/* Adattamenti locali certapp sul design system condiviso (app.css).
   Solo layout/adattatori di markup esistente: nessun token colore/tipo nuovo.
   I selettori nudi (input, table, h1-h3, p) adattano il markup storico
   dell'app alle stesse misure dei componenti del sistema. */

/* Ritmo verticale storico (il sistema azzera i margini dei paragrafi) */
p{margin:0 0 var(--sp-3)}
.card{margin:var(--sp-4) 0}
.grid .card,.steps .card{margin:0}

/* Titoli nudi alle misure della scala del sistema */
h1{font:600 32px/1.15 var(--font-display);letter-spacing:-.016em;margin:0 0 var(--sp-2)}
h2{font:600 24px/1.2 var(--font-display);letter-spacing:-.014em;margin:var(--sp-10) 0 var(--sp-3)}
h3{font:600 20px/1.3 var(--font-display);letter-spacing:-.01em;margin:0 0 var(--sp-2)}
.grid h3,.steps h3{font-size:17px}

/* Griglie storiche */
.grid,.steps{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.steps{margin:var(--sp-4) 0}
.step-num{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:var(--sp-2)}

/* Testi di supporto storici */
.sub{color:var(--text-2)}
.small{color:var(--text-3)}
.balance{font:600 40px/1.1 var(--font-display);letter-spacing:-.02em}

/* Form: campi nudi come .input del sistema */
.field{margin:0 0 var(--sp-4)}
.field>span{display:block;font-weight:500;font-size:14px;margin-bottom:var(--sp-2)}
.field>small{display:block;font-size:13px;color:var(--text-2);margin-top:var(--sp-2)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],select,textarea{display:block;width:100%;min-height:44px;padding:10px 14px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);font-size:16px;line-height:1.4;transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}
input:focus,select:focus,textarea:focus{border-color:var(--text);box-shadow:var(--focus-ring);outline:none}
input[type=file]{background:var(--surface-2)}
input[type=radio],input[type=checkbox]{width:auto;min-height:0;display:inline;padding:0;accent-color:var(--ink)}
textarea{min-height:96px;resize:vertical}
.form-narrow{max-width:560px}
.radio-row{display:grid;gap:var(--sp-3);margin:0 0 var(--sp-4)}
.radio-card{display:flex;gap:var(--sp-3);align-items:flex-start;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4)}
.radio-card:hover{border-color:var(--border-strong)}
.radio-card input{margin-top:3px;flex:none}
.radio-card small{display:block;font-weight:400;color:var(--text-2);margin-top:2px}

/* Tabelle nude come .table del sistema */
table{width:100%;border-collapse:collapse;font-size:14.5px;margin:var(--sp-2) 0}
th{text-align:left;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}
td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);vertical-align:top}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--surface-2)}
td.mono,dd.mono{overflow-wrap:anywhere}
.mono{overflow-wrap:anywhere}
.verdict-title{margin:0}

/* Blocchi di codice e outbox locale */
pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);overflow:auto;font-family:var(--font-mono);font-size:13px;line-height:1.6}
.outbox-item{border-bottom:1px solid var(--border);padding:var(--sp-3) 0}
.outbox-item:last-child{border-bottom:0}

/* Messaggi flash (varianti monocrome) */
.flash{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-4);font-size:15px}
.flash.ok{border-color:var(--ink)}
.flash.error{border:2px solid var(--ink);font-weight:600}
.flash.warn{background:var(--surface-2)}

/* Sottobanda ambiente e avviso provider */
.env-strip{border-bottom:1px solid var(--border);color:var(--text-2);font-size:13.5px}
.env-in{max-width:var(--content-w);margin:0 auto;padding:9px var(--sp-5);display:flex;gap:var(--sp-4);flex-wrap:wrap;align-items:center}
.env-strip strong{color:var(--text);font-weight:600}
.status-note{color:var(--text-3)}
.alert{width:min(var(--content-w),calc(100% - 40px));margin:var(--sp-4) auto 0;padding:var(--sp-3) var(--sp-4);border:2px solid var(--ink);border-radius:var(--r-md);background:var(--surface);font-size:14.5px}

/* Navbar: uscita come link, CTA registrazione */
.navbar-links .inline{display:inline-flex}
.navbar-links .linklike{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--sp-3);background:none;border:0;cursor:pointer;font:inherit;font-size:15px;font-weight:500;color:var(--text-2);border-radius:var(--r-full)}
.navbar-links .linklike:hover{color:var(--text);background:var(--bg)}
.navbar-links a.nav-cta{border:1px solid var(--ink);color:var(--text);font-weight:600}
.navbar-links a.nav-cta:hover{background:var(--ink);color:#fff}

/* Etichette storiche (neutre, come le pill del sistema) */
.tag{display:inline-flex;align-items:center;padding:3px 11px;border-radius:var(--r-full);font-size:12.5px;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text);vertical-align:middle}
.tag.green{background:var(--ink);border-color:var(--ink);color:#fff}
.tag.yellow{background:var(--surface);border:2px solid var(--ink);color:var(--text)}

/* Attesa onesta nelle liste/ricevuta: aggiornata via JS (data-autorefresh) */
.pill-wait[data-autorefresh]::before{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}

/* Foglio certificato e QR */
.cert{background:var(--surface);border:2px solid var(--ink);border-radius:var(--r-lg);padding:var(--sp-8);margin:var(--sp-4) 0}
.cert h1{font-size:28px}
.qr{display:inline-block;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:10px;margin:var(--sp-2) 0}
.qr svg{display:block;width:148px;height:148px}

@media print{
  .navbar,.env-strip,.footer,.no-print,.alert{display:none}
  body{background:#fff}
  .cert{border-color:#000}
  a{color:#000;text-decoration:none}
}
