/* Smart Nutrition 8.63 - Attivazione multipla pazienti */
.sn-bulk-modal{position:fixed;inset:0;z-index:10040;display:none;align-items:center;justify-content:center;padding:24px}
.sn-bulk-modal.open{display:flex}
.sn-bulk-backdrop{position:absolute;inset:0;border:0;background:rgba(4,17,42,.72);backdrop-filter:blur(5px);cursor:default}
.sn-bulk-dialog{position:relative;z-index:1;width:min(1180px,100%);max-height:min(90vh,920px);display:flex;flex-direction:column;overflow:hidden;border-radius:26px;background:#fff;border:1px solid #cbd8ea;box-shadow:0 28px 85px rgba(3,17,45,.34);color:#10233f}
.sn-bulk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 30px;background:linear-gradient(135deg,#092b67 0%,#125da8 65%,#0d847e 100%);color:#fff}
.sn-bulk-head h2{margin:4px 0 8px;color:#fff;font-size:clamp(25px,3vw,36px);line-height:1.05}
.sn-bulk-head p{max-width:780px;margin:0;color:#e7f3ff;font-size:15px;line-height:1.55}
.sn-bulk-eyebrow{display:block;color:#9ff1dd;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.sn-bulk-close{flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:13px;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.sn-bulk-close:hover{background:#fff;color:#092b67}
.sn-bulk-content{overflow:auto;padding:24px 30px 20px;background:#f4f7fb}
.sn-bulk-upload-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding:18px;border:1px solid #cbd9eb;border-radius:18px;background:#fff}
.sn-bulk-file-label{display:grid;gap:7px;color:#10233f;font-weight:850}
.sn-bulk-file-label input{width:100%;min-height:46px;padding:9px 12px;border:1px solid #9eb2cc;border-radius:12px;background:#fff;color:#10233f}
.sn-bulk-file-label small{color:#526b87;font-weight:650}
.sn-bulk-upload-card .primary,.sn-bulk-footer .primary{min-height:48px;border:0;border-radius:13px;padding:0 22px;background:#0b5bd3;color:#fff;font-weight:900;box-shadow:0 8px 22px rgba(11,91,211,.22)}
.sn-bulk-upload-card .primary:hover,.sn-bulk-footer .primary:hover{background:#084ba9}
.sn-bulk-upload-card .primary:disabled,.sn-bulk-footer .primary:disabled{background:#9aa9bd;color:#eef2f7;box-shadow:none;cursor:not-allowed}
.sn-bulk-notice{margin-top:16px;padding:13px 15px;border-radius:13px;border:1px solid transparent;font-weight:750;line-height:1.45}
.sn-bulk-notice.is-info{background:#eaf3ff;border-color:#9fc5f8;color:#133c6a}
.sn-bulk-notice.is-success{background:#e8f8f0;border-color:#83d3af;color:#15573d}
.sn-bulk-notice.is-warning{background:#fff7dc;border-color:#e8c85f;color:#6b4d05}
.sn-bulk-notice.is-error{background:#fff0f0;border-color:#e4a1a1;color:#842222}
.sn-bulk-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}
.sn-bulk-summary>div{display:grid;gap:2px;padding:13px 14px;border:1px solid #cbd9eb;border-radius:14px;background:#fff}
.sn-bulk-summary span{color:#526b87;font-size:12px;font-weight:800}
.sn-bulk-summary strong{color:#0c2a58;font-size:24px;line-height:1}
.sn-bulk-table-wrap{overflow:auto;border:1px solid #c7d5e8;border-radius:16px;background:#fff}
.sn-bulk-table{width:100%;min-width:850px;border-collapse:collapse;color:#10233f}
.sn-bulk-table th{position:sticky;top:0;z-index:1;padding:13px 14px;background:#e8eef7;color:#17365f;text-align:left;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #bdcce0}
.sn-bulk-table td{padding:14px;border-bottom:1px solid #e0e7f0;vertical-align:middle}
.sn-bulk-table tbody tr:last-child td{border-bottom:0}
.sn-bulk-table tbody tr.is-ready{background:#fbfdff}
.sn-bulk-table tbody tr.is-success{background:#f1fbf6}
.sn-bulk-table tbody tr.is-warning{background:#fffdf5}
.sn-bulk-table tbody tr.is-error{background:#fff6f6}
.sn-bulk-table td strong{display:block;color:#10233f;font-size:14px}
.sn-bulk-table td small{display:block;margin-top:3px;color:#526b87;line-height:1.4}
.sn-bulk-check-cell{width:44px;text-align:center}
.sn-bulk-check-cell input,.sn-bulk-table th input{width:18px;height:18px;accent-color:#0b5bd3}
.sn-bulk-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}
.sn-bulk-status.is-ready{background:#dcecff;color:#124f96;border:1px solid #91b9ed}
.sn-bulk-status.is-success{background:#d9f4e6;color:#13583d;border:1px solid #7dcca8}
.sn-bulk-status.is-warning{background:#fff0bd;color:#6d4b00;border:1px solid #e3c15b}
.sn-bulk-status.is-error{background:#ffe0e0;color:#872222;border:1px solid #df9999}
.sn-bulk-empty{padding:30px;text-align:center;color:#526b87;font-weight:750}
.sn-bulk-progress{display:grid;gap:7px;margin-top:16px}
.sn-bulk-progress>div{height:10px;overflow:hidden;border-radius:999px;background:#dce5f0}
.sn-bulk-progress>div>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b5bd3,#0d9b83);transition:width .25s ease}
.sn-bulk-progress small{color:#314c6b;font-weight:800}
.sn-bulk-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 30px;border-top:1px solid #cbd8ea;background:#fff}
.sn-bulk-footer .secondary{min-height:48px;border:1px solid #8098b7;border-radius:13px;padding:0 20px;background:#fff;color:#17365f;font-weight:900}
.sn-bulk-footer .secondary:hover{background:#edf3fa}
.sn-bulk-footer .secondary:disabled{opacity:.52;cursor:not-allowed}
.sn-bulk-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:44px!important;padding:0 14px!important;border:1px solid #0b5bd3!important;border-radius:13px!important;background:#fff!important;color:#0b4cae!important;font-weight:900!important}
.sn-bulk-open:hover{background:#eaf3ff!important;color:#083d89!important}
.sn-bulk-open span{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:8px;background:#0b5bd3;color:#fff;font-size:11px;letter-spacing:-1px}
body.sn-bulk-modal-open{overflow:hidden}
@media(max-width:900px){.sn-bulk-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-bulk-upload-card{grid-template-columns:1fr}.sn-bulk-upload-card .primary{width:100%}}
@media(max-width:640px){.sn-bulk-modal{padding:0}.sn-bulk-dialog{width:100%;height:100%;max-height:none;border-radius:0}.sn-bulk-head{padding:20px}.sn-bulk-content{padding:18px}.sn-bulk-footer{padding:14px 18px;display:grid;grid-template-columns:1fr}.sn-bulk-footer button{width:100%}.sn-bulk-summary{grid-template-columns:1fr 1fr}.sn-bulk-head p{font-size:13px}.sn-bulk-open{width:100%!important}}
