:root { --pico-font-size: 95%; }
.muted { color: var(--pico-muted-color); }
.small, table.small { font-size: .85rem; }
.err { color: #c62828; } .ok { color: #2e7d32; } .warn { color: #b26a00; }
.note.warning, .note.error { border-left: 3px solid #b26a00; padding-left: .5rem; }
.msg.error { border-left: 4px solid #c62828; } .msg.success { border-left: 4px solid #2e7d32; }
.narrow { max-width: 32rem; margin: 2rem auto; }
.row { display: flex; gap: .5rem; align-items: center; justify-content: space-between; }
.row input { margin: 0; }
header.row h3 { margin: 0; }
ul.compact li { margin: 0; list-style: disc; }
button.small, a[role=button].small { padding: .25rem .6rem; font-size: .85rem; width: auto; }
button.link { background: none; border: none; color: var(--pico-primary); padding: 0; margin: 0; width: auto; font-size: .85rem; text-decoration: underline; }
form.inline { margin: 0; } form.inline button { margin: 0; }
tr.hl td { font-weight: bold; background: var(--pico-mark-background-color); }
pre code { font-size: .8rem; }

/* Aiuto contestuale */
.help-btn { display:inline-flex; align-items:center; justify-content:center; width:1.25rem; height:1.25rem; padding:0;
  margin:0 0 0 .3rem; border-radius:50%; font-size:.75rem; font-weight:700; line-height:1; vertical-align:middle;
  background:var(--pico-secondary-background); color:var(--pico-secondary-inverse); border:none; cursor:help; }
.help-btn:hover { background:var(--pico-primary-background); }
.help-pop { max-width:34rem; padding:1rem 1.25rem; border:1px solid var(--pico-muted-border-color); border-radius:.5rem;
  box-shadow:0 .5rem 2rem rgba(0,0,0,.25); background:var(--pico-background-color); color:var(--pico-color); font-size:.92rem; }
.help-pop strong { display:block; margin-bottom:.5rem; font-size:1rem; }
.help-pop p { margin-bottom:.6rem; }
.help-close { width:auto; padding:.2rem .8rem; font-size:.85rem; margin:0; }
.intro { color:var(--pico-muted-color); font-size:.92rem; margin-top:-.5rem; }
.steps { counter-reset: s; list-style:none; padding-left:0; }
.steps li { counter-increment:s; margin-bottom:.6rem; padding-left:2rem; position:relative; }
.steps li::before { content:counter(s); position:absolute; left:0; top:0; width:1.4rem; height:1.4rem; border-radius:50%;
  background:var(--pico-primary-background); color:var(--pico-primary-inverse); text-align:center; font-size:.8rem; line-height:1.4rem; }
.codes { font-family:monospace; font-size:1.05rem; columns:2; }
.qr { margin:1rem 0; }
.qr svg { display:block; width:240px; max-width:100%; height:auto; background:#fff; border-radius:.25rem; }
.lbl { display:flex; align-items:center; gap:.2rem; margin-bottom:.25rem; }
.lbl label { margin:0; }
.field { margin-bottom:1rem; }
.field small { display:block; color:var(--pico-muted-color); margin-top:-.5rem; }
h3 .help-btn, h4 .help-btn { font-size:.7rem; }
