#firmeOverlay .modal{width:min(860px,96vw)}
#verbaleCampi{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
#verbaleCampi label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#334155;font-weight:600;min-width:0}
#verbaleCampi input,#verbaleCampi select,#verbaleCampi textarea{font:inherit;font-weight:400;width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172b43}
#verbaleCampi textarea{resize:vertical}.verbale-largo{grid-column:1/-1}.verbale-persona{padding:10px;background:#edf5fa;border-radius:8px;overflow-wrap:anywhere}#verbaleMsg{font-size:13px;padding:8px 0}
#eventOverlay .modal-head #btFirme.verbale-richiesto{animation:verbale-richiesto 1.2s steps(1,end) infinite;border:3px solid #b91c1c;font-size:16px;font-weight:900;min-height:46px;padding:9px 18px}
@keyframes verbale-richiesto{0%,100%{background:#b91c1c;color:#fff;border-color:#7f1d1d;box-shadow:0 0 0 4px #fecaca}50%{background:#fde047;color:#422006;border-color:#ca8a04;box-shadow:0 0 0 4px #fef08a}}
@media(prefers-reduced-motion:reduce){#eventOverlay .modal-head #btFirme.verbale-richiesto{animation-duration:2.4s;box-shadow:none}}
@media(max-width:600px){#verbaleCampi{grid-template-columns:1fr}#firmeOverlay .actions{flex-wrap:wrap}#firmeOverlay .actions button{flex:1 1 140px}}
/* Modale clinica: gerarchia compatta, campi raggruppati e comandi sempre raggiungibili. */
#firmeOverlay .modal{width:min(940px,96vw);border-radius:18px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:#f4f7fb}
#firmeOverlay .modal-head{background:white;border-bottom:1px solid #e0e7ef;padding:18px 24px}
#firmeOverlay .modal-head h2{font-size:21px;letter-spacing:-.3px}
#firmeOverlay .modal-body{padding:18px 24px 0}
#firmeOverlay .modal-body>.actions{display:none}
#firmeStato:empty{display:none}
.verbale-persona{display:flex;align-items:center;gap:13px;padding:14px 16px;background:#eaf2f8;border:1px solid #dce7f0;border-radius:12px;margin-bottom:16px}
.verbale-persona b{font-size:16px;color:#173b5b}.verbale-persona span:not(.v-avatar){display:block;font-size:12px;color:#50687e;margin-top:2px}.verbale-persona small{display:block;margin-top:4px;color:#63798a;font-size:12px}.v-avatar{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:11px;background:#204f75;color:white;font-weight:700;font-size:19px}
#verbaleCampi{display:block;margin:0}
.v-section{background:white;border:1px solid #dfe6ed;border-radius:12px;margin:0 0 14px;padding:16px 18px;box-shadow:0 2px 5px #183c5d04}
.v-section h3,.v-section summary{font-size:14px;font-weight:750;letter-spacing:.1px;color:#173b5b;margin:0 0 14px}
.v-section h3 span{display:inline-block;font-size:10px;letter-spacing:1px;color:#6c859b;margin-right:10px}.v-section summary{cursor:pointer;margin:0}.v-section[open] summary{margin-bottom:14px}
.v-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
#verbaleCampi label{font-size:12px;gap:6px;font-weight:600;color:#425b70}
#verbaleCampi input,#verbaleCampi select,#verbaleCampi textarea{border-color:#d3dde6;background:#fcfdff;border-radius:7px;padding:10px 11px;min-height:40px;color:#183852;box-shadow:none;font-size:14px}
#verbaleCampi input:focus,#verbaleCampi select:focus,#verbaleCampi textarea:focus{outline:2px solid #78a9cc;outline-offset:1px;border-color:#25658f;background:white}
.v-required{display:none;color:#a76010}.v-obbligatorio .v-required{display:inline}
#verbaleCampi .v-mancante input,#verbaleCampi .v-mancante select,#verbaleCampi .v-mancante textarea{animation:verbale-campo 1.6s steps(1,end) infinite;border-width:2px}
@keyframes verbale-campo{0%,100%{background:#fff7e5;border-color:#d59127}50%{background:#fff0ed;border-color:#b95643}}
.v-shortcut{grid-column:1/-1;margin-top:-5px}.v-shortcut button{font-size:12px;background:#eff5f8;border:1px solid #d5e2eb;border-radius:6px;color:#295879;padding:6px 10px;cursor:pointer}
.v-footer{position:sticky;bottom:-1px;z-index:2;margin:0 -24px;padding:10px 24px 15px;background:#fffffff7;border-top:1px solid #dce5ed;box-shadow:0 -4px 14px #18385208;backdrop-filter:blur(8px)}
.v-feedback{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:24px}#verbaleMsg{padding:0;font-size:12px;color:#4c6277}#verbaleMancanti{font-size:11px;font-weight:700;color:#9d5916;white-space:nowrap}.v-footer .actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.v-footer .actions .bt{min-height:40px;font-size:12px;border-radius:8px}.v-footer .v-modello{background:transparent;border-color:transparent;color:#526a80}
@media(prefers-reduced-motion:reduce){#verbaleCampi .v-mancante input,#verbaleCampi .v-mancante select,#verbaleCampi .v-mancante textarea{animation-duration:3.2s}}
@media(max-width:600px){#firmeOverlay .modal-head{padding:15px 16px}#firmeOverlay .modal-body{padding:12px 12px 0}.v-section{padding:14px 12px}.v-grid{gap:12px;grid-template-columns:1fr}.v-footer{margin:0 -12px;padding:10px 12px}.verbale-persona{padding:12px}.v-feedback{align-items:flex-start}#verbaleCampi input,#verbaleCampi select,#verbaleCampi textarea{font-size:16px}.v-footer .actions .bt{flex:1 1 42%}}

.v-raccolta-scroll{min-width:0;overflow-x:auto;padding:2px 2px 8px;overscroll-behavior-x:contain}
.v-raccolta-riga{display:grid;grid-template-columns:65px minmax(170px,1.2fr) minmax(160px,1.3fr) 150px 85px;gap:10px;align-items:end;min-width:680px}
.v-raccolta-riga>.verbale-largo{grid-column:auto}
#verbaleCampi .v-raccolta-riga input[readonly]{background:#eaf1f7;border-color:#d4e0e9;font-weight:700;color:#173b5b;cursor:default}
#verbaleCampi .v-raccolta-riga input{height:44px;min-height:44px;max-height:44px}

.v-consegna-riga{display:grid;grid-template-columns:minmax(290px,1fr) 150px 85px;gap:10px;align-items:end;min-width:550px}
#verbaleCampi .v-consegna-riga input,#verbaleCampi .v-consegna-riga select{height:44px;min-height:44px;max-height:44px}

#firmeOverlay .modal-head{padding:12px 24px;align-items:flex-start}
#firmeOverlay .modal-head>div{min-width:0;flex:1}
#firmeOverlay .modal-head h2{font-size:12px;letter-spacing:.3px;color:#63798a;font-weight:650;margin:0}
#firmeSub{margin:3px 0 0;display:flex;align-items:baseline;gap:8px 20px;flex-wrap:wrap}
#firmeSub .v-lavoratore{font-size:22px;line-height:1.2;color:#123b60;font-weight:800;overflow-wrap:anywhere}
#firmeSub .v-anagrafica{display:flex;flex-wrap:wrap;gap:3px 15px;font-size:12px;line-height:1.4;color:#4b6378}
#firmeSub .v-anagrafica>span:first-child{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:600px){#firmeOverlay .modal-head{padding:10px 14px}#firmeSub{gap:4px}#firmeSub .v-lavoratore{font-size:20px}}

.v-campione-riga{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:end}
@media(max-width:600px){.v-campione-riga{grid-template-columns:130px minmax(0,1fr);gap:10px}}
/* TOX dalla giornata Full di Bruno: stesso verbale, ingresso diretto sull'esito. */
#verbaleForm .v-esito-rapido{padding:20px;background:#f4f8fb;border:1px solid #cfdeeb;border-radius:12px;margin-bottom:18px}
#verbaleForm .v-esito-rapido h3{margin:0 0 14px;color:#123b60;font-size:22px}
#verbaleForm .v-esiti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#verbaleForm .v-esiti button{min-height:68px;padding:14px;font:700 17px/1.3 system-ui;border:2px solid #c5d6e5;border-radius:10px;background:white;color:#163c5c;cursor:pointer}
#verbaleForm .v-esiti button[aria-pressed=true]{background:#123b60;border-color:#123b60;color:white}
#verbaleForm .v-esiti button:focus-visible{outline:3px solid #339dcc;outline-offset:3px}
#verbaleForm .v-completo{margin-top:14px}
#verbaleForm.v-quick #verbaleCampi>.v-section:nth-of-type(2),#verbaleForm.v-quick #verbaleCampi>.v-section:nth-of-type(3),#verbaleForm.v-quick #verbaleLaboratorio{display:none}
#verbaleForm.v-quick #verbaleCampi>.v-section:nth-of-type(4) h3,#verbaleForm.v-quick #verbaleCampi>.v-section:nth-of-type(4) .v-field:not(.v-farmaci-rapido),#verbaleForm.v-quick .v-shortcut{display:none}
#verbaleForm.v-quick [data-verbale-print="3"],#verbaleForm.v-quick [data-verbale-modello]{display:none}
#verbaleForm.v-quick .v-footer .actions .bt{min-height:48px;font-size:16px}
@media(max-width:600px){#verbaleForm .v-esiti{grid-template-columns:1fr 1fr}#verbaleForm .v-esiti button:last-child{grid-column:1/-1}#verbaleForm .v-esito-rapido{padding:14px}#verbaleForm.v-quick .v-footer .actions{display:grid;grid-template-columns:1fr 1fr}#verbaleForm.v-quick .v-footer .actions button[type=submit]{grid-column:1/-1}}

#verbaleCampi [hidden]{display:none!important}
