/* Grafica provvisoria: sarà sostituita con quella dell'invito cartaceo */
body { font-family: Arial, sans-serif; background: #f4f4f4; margin: 0; color: #222; }
main { max-width: 640px; margin: 2rem auto; background: #fff; padding: 1.5rem; border-radius: 6px; }
main.wide { max-width: 1400px; }
input[type=text], input[type=email], textarea { width: 100%; padding: .5rem; box-sizing: border-box; }
button { padding: .6rem 1.2rem; cursor: pointer; }
button.link { background: none; border: 0; color: #06c; text-decoration: underline; padding: 0; }
form.inline { display: inline; }
.errore { color: #b00; } .info { color: #060; }
.lang { text-align: right; font-size: .9rem; }
.opzione { display: block; margin: .5rem 0; }
table { border-collapse: collapse; width: 100%; font-size: .85rem; }
th, td { border: 1px solid #ccc; padding: .3rem .5rem; text-align: left; vertical-align: top; }
th { background: #eee; }
.contatori span { display: inline-block; margin-right: 1.2rem; }
fieldset.blocco { border: 1px solid #ccc; border-radius: 4px; margin: 1rem 0; padding: .5rem 1rem; }
fieldset.blocco legend { font-weight: bold; padding: 0 .4rem; }
fieldset.ospite { border-left: 4px solid #06c; background: #f3f8fd; margin-left: 1rem; }
.consenso { display: block; font-size: .9rem; margin: .5rem 0; }
.avviso { font-size: .85rem; color: #7a4b00; background: #fff6e5; padding: .4rem .6rem; border-radius: 4px; }
main.privacy h2 { font-size: 1.05rem; margin-top: 1.2rem; }
dialog.modal { width: min(860px, 92vw); max-height: 85vh; border: 0; border-radius: 8px; padding: 1.5rem 2rem; box-shadow: 0 10px 40px rgba(0,0,0,.35); overflow-y: auto; }
dialog.modal::backdrop { background: rgba(0,0,0,.5); }
dialog.modal h1 { font-size: 1.4rem; margin-top: 0; }
dialog.modal h2 { font-size: 1.05rem; margin-top: 1.2rem; }
.modal-x { position: absolute; top: .5rem; right: .8rem; background: none; border: 0; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.modal-azioni { text-align: right; }
button.btn-abil { font-weight: bold; text-decoration: none; border: 1px solid #aaa; border-radius: 3px; padding: .1rem .5rem; }
button.btn-abil.si { color: #060; background: #e6f4e6; }
button.btn-abil.no { color: #a00; background: #fbe9e9; }
button.btn-elimina { color: #b00; }
.azioni-massa { font-size: .9rem; }
.rapporto td.num { text-align: right; }
.guida { background: #f6f8fb; border: 1px solid #d5dce6; border-radius: 4px; padding: .5rem 1rem; margin: 1rem 0; }
.guida code, .guida pre { background: #eef1f6; padding: .1rem .3rem; border-radius: 3px; }
.guida pre { padding: .5rem; overflow-x: auto; }
select.sel-ruolo { font-size: .85rem; }
.abil-testo { font-weight: bold; padding: .1rem .5rem; border-radius: 3px; border: 1px solid #aaa; }
.abil-testo.si { color: #060; background: #e6f4e6; }
.abil-testo.no { color: #a00; background: #fbe9e9; }
