.bni121-general{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.7fr);gap:34px;align-items:center;margin:22px 0;padding:34px;border-radius:24px;background:#111;color:#fff;border-bottom:7px solid #e3262e;box-shadow:0 18px 44px rgba(0,0,0,.13)}
.bni121-general .kicker,.bni121-contact-card .kicker{color:#ef3038}.bni121-general h2{margin:6px 0 10px;font-size:clamp(28px,3vw,46px)}.bni121-general p{color:#cfcfcf;line-height:1.55}.bni121-document-meta{display:flex;flex-direction:column;gap:3px;margin-top:18px;padding:14px 16px;border:1px solid #454545;border-radius:12px;background:#191919}.bni121-document-meta span{font-size:13px;color:#aaa}.bni121-document-meta.empty{border-color:#7d292d}.bni121-error,.bni121-warning{color:#bd2028!important;font-weight:700}.bni121-general form{display:flex;flex-direction:column;gap:14px}.bni121-general form label{display:grid;gap:8px;font-weight:800}.bni121-general input[type=file]{width:100%;padding:13px;border:1px dashed #777;border-radius:10px;background:#fff;color:#111}.bni121-general form div{display:flex;gap:9px;flex-wrap:wrap}.bni121-general a,.bni121-general button{border:1px solid #fff;border-radius:9px;padding:12px 15px;background:#fff;color:#111;font-weight:800;text-decoration:none}.bni121-general button{background:#e3262e;border-color:#e3262e;color:#fff;cursor:pointer}.bni121-general button:disabled{opacity:.55}
.bni121-contact-card{grid-column:1/-1;border:1px solid #ddd7ce;border-left:7px solid #1c1c1c;border-radius:20px;background:#fff;padding:26px;box-shadow:0 12px 30px rgba(0,0,0,.06)}.bni121-contact-card.active{border-left-color:#e3262e}.bni121-contact-card header{display:flex;justify-content:space-between;gap:24px;align-items:center}.bni121-contact-card h3{margin:5px 0;font-size:30px}.bni121-contact-card header p{margin:0;color:#666}.bni121-switch,.bni121-received{display:flex;gap:12px;align-items:center;padding:14px 17px;border:1px solid #d7d2ca;border-radius:13px;background:#faf9f6;cursor:pointer}.bni121-switch input,.bni121-received input{width:23px;height:23px;accent-color:#e3262e}.bni121-switch span,.bni121-received span{display:flex;flex-direction:column}.bni121-switch small,.bni121-received small{color:#747474}.bni121-contact-body{margin-top:22px;padding-top:22px;border-top:1px solid #e3dfd8}.bni121-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.bni121-actions button,.bni121-actions a{border:0;border-radius:9px;padding:13px 17px;background:#111;color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.bni121-actions button:first-child{background:#e3262e}.bni121-actions button:disabled,.bni121-actions .disabled{opacity:.35;pointer-events:none}.bni121-last{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.bni121-last span{padding:14px;border-radius:12px;background:#f3f1ed}.bni121-last small{display:block;color:#777;font-size:11px;letter-spacing:1px}.bni121-contact-card details{border-top:1px solid #ddd}.bni121-contact-card summary{display:flex;justify-content:space-between;padding:16px 0;font-weight:800;cursor:pointer}.bni121-contact-card details article{display:grid;grid-template-columns:120px 1fr;gap:4px 12px;padding:12px;border-top:1px solid #eee}.bni121-contact-card details article small{grid-column:2;color:#777}.bni121-status{min-height:20px;font-weight:800;color:#1d8d4c}
.bni121-dialog{width:min(690px,calc(100% - 28px));border:0;border-radius:22px;padding:0;box-shadow:0 28px 90px rgba(0,0,0,.35)}.bni121-dialog::backdrop{background:rgba(0,0,0,.68)}.bni121-dialog form{position:relative;padding:34px}.bni121-dialog h2{margin:7px 0 20px;font-size:34px}.bni121-dialog label{display:grid;gap:7px;font-weight:800}.bni121-dialog input{padding:13px;border:1px solid #bbb;border-radius:8px;font-size:17px}.bni121-dialog-close{position:absolute;right:18px;top:17px;border:0;background:none;font-size:30px;cursor:pointer}.bni121-preview{margin:20px 0;padding:20px;border-left:5px solid #e3262e;background:#f5f2ed;line-height:1.55}.bni121-preview small,.bni121-preview span{display:block;color:#666}.bni121-preview>span{margin-top:16px;padding-top:12px;border-top:1px solid #ddd}.bni121-dialog-actions,.bni121-whatsapp-steps{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.bni121-dialog-actions button,.bni121-whatsapp-steps a{border:1px solid #111;border-radius:8px;padding:12px 16px;background:#fff;color:#111;font-weight:800;text-decoration:none}.bni121-dialog-actions button:last-child,.bni121-whatsapp-steps a:last-child{background:#111;color:#fff}
@media(max-width:720px){.bni121-general{grid-template-columns:1fr;padding:24px}.bni121-contact-card{padding:20px}.bni121-contact-card header{align-items:flex-start;flex-direction:column}.bni121-switch{width:100%}.bni121-actions>*{width:100%;text-align:center}.bni121-last{grid-template-columns:1fr}.bni121-dialog form{padding:27px 20px}.bni121-dialog h2{font-size:28px}.bni121-dialog-actions>*{flex:1}.bni121-whatsapp-steps{display:grid}.bni121-contact-card details article{grid-template-columns:1fr}.bni121-contact-card details article small{grid-column:1}}

/* Controlli BNI: mantengono sempre una colonna per il checkbox e una per i testi. */
.bni121-switch,.bni121-received{box-sizing:border-box;min-width:0}.bni121-switch input,.bni121-received input{box-sizing:border-box;flex:0 0 23px!important;width:23px!important;height:23px!important;min-width:23px!important;max-width:23px!important;margin:0!important;padding:0!important}.bni121-switch span,.bni121-received span{flex:1 1 auto;min-width:0}.bni121-switch b,.bni121-received b,.bni121-switch small,.bni121-received small{display:block;overflow-wrap:anywhere}
@media(max-width:720px){.bni121-switch,.bni121-received{display:grid;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:14px}.bni121-switch span,.bni121-received span{display:block}.bni121-switch b,.bni121-received b{font-size:16px;line-height:1.25}.bni121-switch small,.bni121-received small{margin-top:4px;line-height:1.35}}

/* Il modulo vive dentro una scheda con stili generici: isola i due controlli. */
.bni121-contact-card .bni121-switch,.bni121-contact-card .bni121-received{box-sizing:border-box!important;position:relative!important;display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;width:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:15px 16px!important;overflow:hidden!important}
.bni121-contact-card .bni121-switch>input[type=checkbox],.bni121-contact-card .bni121-received>input[type=checkbox]{position:static!important;display:block!important;grid-column:1!important;grid-row:1!important;float:none!important;transform:none!important;width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;margin:1px 0 0!important;padding:0!important;accent-color:#e3262e!important}
.bni121-contact-card .bni121-switch>label,.bni121-contact-card .bni121-received>label{position:static!important;display:block!important;grid-column:2!important;grid-row:1!important;float:none!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;color:#171717!important;font:inherit!important;letter-spacing:normal!important;text-transform:none!important;cursor:pointer!important}
.bni121-contact-card .bni121-switch>label b,.bni121-contact-card .bni121-received>label b{display:block!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.bni121-contact-card .bni121-switch>label small,.bni121-contact-card .bni121-received>label small{display:block!important;margin:4px 0 0!important;padding:0!important;color:#747474!important;font-size:13px!important;line-height:1.35!important;letter-spacing:normal!important;text-transform:none!important;overflow-wrap:anywhere!important}
@media(max-width:720px){.bni121-contact-card{padding:18px!important}.bni121-contact-card .bni121-switch,.bni121-contact-card .bni121-received{grid-template-columns:24px minmax(0,1fr)!important;gap:11px!important;padding:14px!important}.bni121-contact-card .bni121-switch>input[type=checkbox],.bni121-contact-card .bni121-received>input[type=checkbox]{width:23px!important;height:23px!important;min-width:23px!important;max-width:23px!important}.bni121-contact-card .bni121-switch>label b,.bni121-contact-card .bni121-received>label b{font-size:16px!important}.bni121-contact-card .bni121-switch>label small,.bni121-contact-card .bni121-received>label small{font-size:13px!important}}
