.nbb-booking,.nbb-receiver{--nbb-primary:#061a35;--nbb-accent:#079b66;--nbb-blue:#0868f7;--nbb-bg:#fff;font-family:inherit;color:var(--nbb-primary);box-sizing:border-box}.nbb-booking *,.nbb-receiver *{box-sizing:border-box}.nbb-booking{max-width:760px;margin:auto}.nbb-business-profile{text-align:center;padding:24px 20px 28px}.nbb-profile-photo,.nbb-profile-placeholder{width:84px;height:84px;border-radius:50%;border:4px solid var(--nbb-accent);margin:auto;object-fit:cover}.nbb-profile-placeholder{display:grid;place-items:center;background:#062c24;color:#fff;font-size:30px}.nbb-business-profile h2{font-size:28px;margin:14px 0 2px}.nbb-business-profile strong{color:var(--nbb-accent)}.nbb-business-profile p{max-width:580px;margin:10px auto;color:#64748b;line-height:1.55}.nbb-location{display:block;color:#64748b;margin:10px}.nbb-contact-pills{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.nbb-contact-pills a{border:1px solid #dbe3ef;border-radius:999px;padding:9px 15px;text-decoration:none;color:var(--nbb-primary);font-weight:700;font-size:13px}.nbb-contact-pills .is-whatsapp{background:#20c96b;color:#fff;border-color:#20c96b}.nbb-form{display:grid;gap:18px}.nbb-step{display:none;background:var(--nbb-bg);border:1px solid #dbe3ef;border-radius:16px;padding:20px;box-shadow:0 4px 20px rgba(6,26,53,.03)}.nbb-step.is-visible{display:block;animation:nbbIn .25s ease}.nbb-step h3{margin:0 0 16px;font-size:18px}.nbb-service-grid{display:grid;gap:14px}.nbb-service-card{display:block;width:100%;padding:0;border:1.5px solid #cfd9e7;border-radius:12px;overflow:hidden;background:#fff;text-align:left;cursor:pointer;color:inherit}.nbb-service-card.is-selected{border-color:var(--nbb-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--nbb-accent) 18%,transparent)}.nbb-service-cover{height:230px;background:radial-gradient(circle at 25% 35%,#00885d,#001f1b 75%);background-size:cover;background-position:center}.nbb-service-copy{display:flex;justify-content:space-between;gap:12px;padding:14px}.nbb-service-copy h4{margin:0 0 5px}.nbb-service-copy p{margin:0;color:#64748b;font-size:13px;line-height:1.35}.nbb-service-copy b{display:block;color:var(--nbb-accent);margin-top:6px}.nbb-service-copy span{white-space:nowrap;color:#64748b;font-size:13px}.nbb-calendar-legend{display:flex;gap:15px;flex-wrap:wrap;color:#64748b;font-size:12px;margin-bottom:12px}.nbb-calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.green{background:#20c96b}.orange{background:#f3a846}.red{background:#ef4444}.nbb-calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:10px 0 16px}.nbb-calendar-nav button{border:0;background:transparent;font-size:24px;cursor:pointer}.nbb-weekdays,.nbb-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.nbb-weekdays{font-size:11px;color:#70809a;font-weight:800}.nbb-calendar-days>span{min-height:38px}.nbb-calendar-days button{height:38px;border:0;border-radius:50%;background:transparent;color:var(--nbb-primary);cursor:pointer;position:relative}.nbb-calendar-days button.is-available:after{content:"";position:absolute;width:5px;height:5px;background:#20c96b;border-radius:50%;bottom:1px;left:50%;transform:translateX(-50%)}.nbb-calendar-days button.is-selected{background:var(--nbb-accent);color:#fff;font-weight:800}.nbb-calendar-days button.is-selected:after{background:#fff}.nbb-calendar-days button:disabled{color:#c8d0dc;cursor:not-allowed}.nbb-calendar-days button.is-full:after{background:#ef4444}.nbb-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.nbb-slots button{padding:11px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:var(--nbb-primary);font-weight:700;cursor:pointer}.nbb-slots button.is-selected{background:var(--nbb-accent);color:#fff;border-color:var(--nbb-accent)}.nbb-step label{display:grid;gap:7px;margin:13px 0;font-size:11px;font-weight:800;color:#687892}.nbb-step input,.nbb-step textarea,.nbb-step select,.nbb-receiver input,.nbb-receiver textarea,.nbb-receiver select{width:100%;border:1px solid #dbe3ef;border-radius:11px;padding:12px;background:#f8fafc;color:var(--nbb-primary);font:inherit}.nbb-muted{color:#64748b}.nbb-selection-summary{background:#f4f7fb;border-radius:18px;padding:15px;line-height:1.6}.nbb-consent{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.nbb-consent input{width:auto}.nbb-submit,.nbb-primary-button{border:0;border-radius:10px;padding:13px 18px;background:var(--nbb-accent);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.nbb-submit{width:100%}.nbb-message{margin-top:10px;font-weight:700}.is-success{color:#15803d}.is-error{color:#b91c1c}@keyframes nbbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.nbb-receiver{max-width:1220px;margin:auto;background:#f3f6fb;padding:0 22px 28px;border-radius:18px;min-height:500px}.nbb-receiver-tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid #dbe3ef;padding-top:16px}.nbb-receiver-tabs button{border:0;background:transparent;padding:14px 18px;white-space:nowrap;color:#65758c;font-weight:700;cursor:pointer;border-radius:12px 12px 0 0}.nbb-receiver-tabs button.is-active{background:var(--nbb-blue);color:#fff}.nbb-tab-panel{display:none;padding-top:26px}.nbb-tab-panel.is-active{display:block}.nbb-public-link{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid #dbe3ef;border-radius:28px;padding:20px 24px}.nbb-public-link span{display:block;color:#718096;font-size:12px;font-weight:800}.nbb-public-link strong{display:block;margin-top:5px}.nbb-public-link button,.nbb-primary-button{background:var(--nbb-blue)}.nbb-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 18px}.nbb-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.nbb-summary-cards>div{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:16px}.nbb-summary-cards b{display:block;font-size:25px}.nbb-summary-cards span{color:#718096;font-size:12px}.nbb-appointments-list{display:grid;gap:14px}.nbb-request-card{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid #dbe3ef;border-radius:26px;padding:20px;gap:14px}.nbb-request-title{display:flex;align-items:center;gap:12px}.nbb-request-title h3{margin:0}.nbb-request-card p{margin:5px 0;color:#607089}.nbb-status{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.nbb-pending{background:#fff2b5;color:#7a5b00}.nbb-confirmed{background:#dff8e8;color:#167642}.nbb-completed{background:#dceaff;color:#174eaa}.nbb-cancelled{background:#fee2e2;color:#991b1b}.nbb-edit-button{align-self:start;border:1px solid #dbe3ef;background:#fff;border-radius:999px;padding:8px 14px;cursor:pointer}.nbb-request-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.nbb-request-actions a,.nbb-request-actions button{border:0;border-radius:999px;padding:11px;text-align:center;text-decoration:none;font-weight:800;color:#fff;cursor:pointer}.nbb-request-actions a{background:#20c96b}.nbb-request-actions button{background:#3d7eea}.nbb-ajax-form{max-width:760px;background:#fff;border:1px solid #dbe3ef;border-radius:20px;padding:22px}.nbb-ajax-form label,.nbb-modal label{display:grid;gap:7px;margin-bottom:14px;font-weight:700;color:#687892}.nbb-two,.nbb-three{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.nbb-three{grid-template-columns:repeat(3,1fr)}.nbb-profile-editor{display:flex;align-items:center;gap:15px}.nbb-profile-editor img{width:80px;height:80px;object-fit:cover;border-radius:50%}.nbb-services-admin{display:grid;gap:12px}.nbb-services-admin article{display:grid;grid-template-columns:100px 1fr auto;gap:15px;align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:12px}.nbb-services-admin img{width:100px;height:74px;object-fit:cover;border-radius:12px}.nbb-services-admin h3{margin:0}.nbb-services-admin p{margin:5px 0;color:#64748b}.nbb-services-admin button{border:1px solid #dbe3ef;background:#fff;border-radius:999px;padding:8px 14px}.nbb-hour-row{display:grid;grid-template-columns:1fr 160px 160px;gap:10px;align-items:center;margin-bottom:10px}.nbb-modal[hidden]{display:none}.nbb-modal{position:fixed;inset:0;background:rgba(3,15,31,.55);z-index:99999;display:grid;place-items:center;padding:18px}.nbb-modal-card{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:24px}.nbb-modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;cursor:pointer}.nbb-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.nbb-secondary-button{border:1px solid #dbe3ef;border-radius:10px;background:#fff;padding:12px;font-weight:800}.nbb-delete-button{width:100%;margin-top:10px;border:1px solid #ef7cf2;background:#fff6ff;color:#d124d8;border-radius:10px;padding:12px;font-weight:800}.nbb-receiver-message{position:sticky;bottom:12px;margin-top:16px;background:#fff;border-radius:12px;padding:10px;font-weight:700}.nbb-modal-open{overflow:hidden}
@media(max-width:760px){.nbb-booking{padding:0 10px}.nbb-service-cover{height:180px}.nbb-slots{grid-template-columns:repeat(2,1fr)}.nbb-receiver{padding:0 10px 20px;border-radius:0}.nbb-public-link{align-items:flex-start;flex-direction:column}.nbb-summary-cards{grid-template-columns:1fr 1fr}.nbb-request-card{grid-template-columns:1fr}.nbb-request-actions{grid-template-columns:1fr}.nbb-two,.nbb-three{grid-template-columns:1fr}.nbb-services-admin article{grid-template-columns:74px 1fr}.nbb-services-admin img{width:74px}.nbb-services-admin button{grid-column:1/-1}.nbb-hour-row{grid-template-columns:1fr 1fr}.nbb-hour-row label{grid-column:1/-1}.nbb-panel-heading{align-items:flex-start;flex-direction:column}}


/* Personalización v1.4.0 */
.nbb-booking,.nbb-receiver{--nbb-button-radius:999px}.nbb-font-modern{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.nbb-font-serif{font-family:Georgia,"Times New Roman",serif}.nbb-font-mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.nbb-shape-soft{--nbb-button-radius:10px}.nbb-shape-rounded{--nbb-button-radius:999px}.nbb-shape-square{--nbb-button-radius:2px}.nbb-submit,.nbb-primary-button,.nbb-contact-pills a,.nbb-slots button,.nbb-request-actions a,.nbb-request-actions button{border-radius:var(--nbb-button-radius)!important}
.nbb-service-card,.nbb-service-card:hover,.nbb-service-card:focus{background:#fff!important;color:var(--nbb-primary)!important;text-decoration:none!important}.nbb-service-card:hover,.nbb-service-card:focus-visible{border-color:var(--nbb-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--nbb-accent) 18%,transparent)!important}.nbb-service-card:hover .nbb-service-copy,.nbb-service-card:focus .nbb-service-copy{background:color-mix(in srgb,var(--nbb-accent) 7%,#fff)!important}.nbb-service-card:hover h4,.nbb-service-card:hover p,.nbb-service-card:hover span{color:inherit!important}.nbb-service-card:hover b{color:var(--nbb-accent)!important}
.nbb-appearance-layout{display:grid;grid-template-columns:minmax(320px,600px) minmax(260px,1fr);gap:28px;align-items:start}.nbb-appearance-controls{display:grid;gap:18px}.nbb-appearance-card{background:#fff;border:1px solid #dbe3ef;border-radius:24px;padding:20px}.nbb-appearance-card h3{margin:0 0 4px;font-size:15px}.nbb-appearance-card>p{margin:0 0 14px;color:#718096;font-size:12px}.nbb-color-options{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nbb-color-options label{display:block;margin:0}.nbb-color-options input{position:absolute;opacity:0;pointer-events:none}.nbb-color-options span{display:block;width:32px;height:32px;border-radius:50%;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #cad5e3;cursor:pointer}.nbb-color-options input:checked+span{box-shadow:0 0 0 3px var(--nbb-blue)}.nbb-custom-color span{background:linear-gradient(135deg,#fff 0 45%,var(--nbb-accent) 46% 100%)}.nbb-custom-color input{position:absolute;opacity:0;width:32px;height:32px;pointer-events:auto;cursor:pointer}.nbb-appearance-card output{display:block;margin-top:12px;color:#64748b;font-size:12px}.nbb-choice-row{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid #dbe3ef;border-radius:14px;padding:13px!important;margin:8px 0!important;cursor:pointer}.nbb-choice-row:has(input:checked){border-color:var(--nbb-blue);box-shadow:0 0 0 1px var(--nbb-blue)}.nbb-choice-row input{width:auto!important}.nbb-choice-row b{font-weight:500;color:#718096}.nbb-serif{font-family:Georgia,serif}.nbb-mono{font-family:monospace}.nbb-shape-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nbb-shape-options label{margin:0}.nbb-shape-options input{position:absolute;opacity:0}.nbb-shape-options span{display:block;text-align:center;border:1px solid #dbe3ef;padding:13px 8px;cursor:pointer}.nbb-shape-options label:nth-child(1) span{border-radius:10px}.nbb-shape-options label:nth-child(2) span{border-radius:999px}.nbb-shape-options label:nth-child(3) span{border-radius:1px}.nbb-shape-options input:checked+span{border-color:var(--nbb-blue);background:#eff6ff;color:#075bd8}.nbb-appearance-preview{position:sticky;top:20px;background:#fff;border:1px solid #dbe3ef;border-radius:24px;overflow:hidden}.nbb-appearance-preview>span{display:block;padding:12px 18px;background:#f6f8fb;color:#718096;font-size:11px;font-weight:800}.nbb-preview-card{padding:24px;background:var(--nbb-bg)}.nbb-preview-card h3{margin:0 0 4px}.nbb-preview-card strong{color:var(--nbb-accent)}.nbb-preview-card p{color:#64748b;line-height:1.45}.nbb-preview-card button{border:0;background:var(--nbb-accent);color:#fff;padding:11px 16px;font-weight:800;border-radius:var(--nbb-button-radius)}
@media(max-width:900px){.nbb-appearance-layout{grid-template-columns:1fr}.nbb-appearance-preview{position:static;order:-1}}@media(max-width:520px){.nbb-appearance-card{padding:16px;border-radius:18px}.nbb-shape-options{grid-template-columns:1fr}.nbb-color-options{gap:8px}.nbb-color-options span{width:29px;height:29px}}

/* v1.5.0 — Servicios y horario del modo Receptor */
.nbb-services-admin{display:grid;gap:18px;max-width:900px}
.nbb-service-admin-card{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;background:#fff!important;border:1px solid #dbe3ef!important;border-radius:34px!important;padding:18px 22px!important;box-shadow:none!important}
.nbb-service-admin-thumb{width:72px;height:72px;border:1px solid #dbe3ef;border-radius:24px;background:#f7f9fc;display:grid;place-items:center;overflow:hidden;color:#718096;font-size:28px}
.nbb-service-admin-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
.nbb-service-admin-copy{min-width:0}.nbb-service-admin-copy h3{font-size:18px;margin:0 0 3px}.nbb-service-admin-copy small{display:block;color:#56708f;font-size:14px}.nbb-service-admin-copy p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0 0!important;color:#718096!important}
.nbb-service-admin-actions{display:flex;align-items:center;gap:14px}.nbb-service-state{font-size:18px}.nbb-service-state.is-on{color:#10b65b}.nbb-service-state.is-off{color:#cbd5e1}.nbb-icon-button{border:0!important;background:transparent!important;padding:7px!important;border-radius:10px!important;color:#58708d;font-size:22px;line-height:1;cursor:pointer}.nbb-icon-button:hover{background:#eef5ff!important;color:var(--nbb-blue)!important}.nbb-add-service-card{width:100%;min-height:56px;border:1.5px dashed #69a5ff;background:transparent;color:var(--nbb-blue);border-radius:18px;font-size:17px;font-weight:700;cursor:pointer}.nbb-add-service-card:hover{background:#eef5ff}
.nbb-service-image-editor{display:flex;align-items:center;gap:16px;margin-bottom:16px}.nbb-service-image-preview{width:88px;height:88px;border:1px solid #dbe3ef;border-radius:22px;background:#f7f9fc;display:grid;place-items:center;overflow:hidden;font-size:28px;color:#718096;flex:0 0 auto}.nbb-service-image-preview img{width:100%;height:100%;object-fit:cover}
.nbb-hours-form{display:grid;gap:14px}.nbb-day-card{background:#fff;border:1.5px solid #b9d4ff;border-radius:34px;overflow:hidden;transition:.2s ease}.nbb-day-card header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #dbe3ef}.nbb-day-card header em{font-style:normal;font-weight:800;font-size:13px;border-radius:999px;padding:5px 12px}.nbb-day-card.is-open header em{background:#e5f8e9;color:#0ca341}.nbb-day-card.is-closed header em{background:#f1f5f9;color:#718096}.nbb-day-toggle{display:flex;align-items:center;gap:13px;margin:0!important;color:var(--nbb-primary)!important;font-size:16px!important}.nbb-day-toggle input{position:absolute;opacity:0;pointer-events:none}.nbb-day-toggle span{width:54px;height:30px;border-radius:999px;background:#cbd5e1;position:relative;transition:.2s}.nbb-day-toggle span:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #0002;transition:.2s}.nbb-day-toggle input:checked+span{background:var(--nbb-blue)}.nbb-day-toggle input:checked+span:after{transform:translateX(24px)}
.nbb-day-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 20px 20px}.nbb-day-fields label{display:grid;gap:7px;margin:0!important;font-size:12px!important;font-weight:800;color:#67809e!important}.nbb-day-fields select{width:100%;height:54px;border:1px solid #dbe3ef;border-radius:999px;padding:0 18px;background:#f5f7fb;color:var(--nbb-primary);font:inherit}.nbb-day-card.is-closed .nbb-day-fields{opacity:.45}.nbb-day-card.is-closed .nbb-day-fields select{pointer-events:none}.nbb-hours-form>.nbb-primary-button{justify-self:start;margin-top:4px}
@media(max-width:767px){.nbb-service-admin-card{grid-template-columns:60px minmax(0,1fr)!important;border-radius:24px!important;padding:14px!important}.nbb-service-admin-thumb{width:60px;height:60px;border-radius:18px}.nbb-service-admin-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid #edf1f6;padding-top:10px}.nbb-service-admin-copy p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nbb-day-card{border-radius:24px}.nbb-day-fields{grid-template-columns:1fr;padding:15px}.nbb-day-card header{padding:14px 15px}.nbb-day-toggle span{width:48px;height:28px}.nbb-day-toggle span:after{width:22px;height:22px}.nbb-day-toggle input:checked+span:after{transform:translateX(20px)}.nbb-service-image-editor{align-items:flex-start;flex-direction:column}.nbb-three{grid-template-columns:1fr!important}}


/* v1.6.0 — refinamientos transmisor y receptor */
.nbb-transmitter .nbb-profile-photo,.nbb-transmitter .nbb-profile-placeholder{width:112px;height:112px;border-radius:50%!important;object-fit:cover;overflow:hidden}
.nbb-contact-pills a[aria-label="Enviar correo"]{width:46px;min-width:46px;padding:0!important;display:inline-grid;place-items:center;font-size:20px}
.nbb-receiver{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;--nbb-accent:#0b66ff;--nbb-bg:#f4f7fb;--nbb-button-radius:12px}
.nbb-receiver,.nbb-receiver *{font-size:14px}
.nbb-receiver h2{font-size:20px}.nbb-receiver h3{font-size:16px}.nbb-receiver-tabs button{font-size:14px;padding:12px 15px}.nbb-receiver .nbb-primary-button{padding:10px 14px;font-size:14px}.nbb-receiver input,.nbb-receiver select,.nbb-receiver textarea{font-size:14px;padding:11px 13px;min-height:42px}.nbb-receiver label{font-size:12px}
.nbb-receiver-message:empty{display:none}.nbb-reminder-button{background:#eefbf3!important;color:#087a3a!important;border:1px solid #bfe9cf!important}
.nbb-booking .nbb-step{overflow:hidden;max-width:100%;box-sizing:border-box}.nbb-booking .nbb-service-card,.nbb-booking .nbb-calendar,.nbb-booking .nbb-selection-summary{max-width:100%;box-sizing:border-box}.nbb-booking input,.nbb-booking textarea,.nbb-booking button{max-width:100%;box-sizing:border-box}
.nbb-booking .nbb-service-copy{min-width:0}.nbb-booking .nbb-service-copy p,.nbb-booking .nbb-service-copy h4{overflow-wrap:anywhere}.nbb-calendar-days{min-width:0}.nbb-calendar-days button{min-width:0}
.nbb-booking .nbb-step.is-visible{animation:none}
.nbb-booking .nbb-muted{overflow-wrap:anywhere}
.nbb-booking .nbb-selection-summary{overflow-wrap:anywhere}
.nbb-booking .nbb-contact-pills{flex-wrap:wrap}
.nbb-booking .nbb-contact-pills a{white-space:nowrap}
.nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:transparent}.nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form>label,.nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form>.nbb-setting-card{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:16px;margin:0}.nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form>.nbb-primary-button{grid-column:1/-1;justify-self:start}
@media(max-width:760px){
 .nbb-transmitter .nbb-profile-photo,.nbb-transmitter .nbb-profile-placeholder{width:88px;height:88px}
 .nbb-booking{width:100%;max-width:100%;padding:0 8px!important;overflow-x:hidden}
 .nbb-business-profile{padding-left:8px!important;padding-right:8px!important}.nbb-business-profile h2{font-size:26px!important}.nbb-business-profile p{font-size:15px!important;line-height:1.55}
 .nbb-contact-pills{justify-content:center;gap:8px}.nbb-contact-pills a{font-size:14px;padding:11px 14px!important}.nbb-contact-pills a[aria-label="Enviar correo"]{padding:0!important}
 .nbb-form{width:100%;min-width:0}.nbb-step{padding:16px!important;border-radius:20px!important;margin:12px 0!important;width:100%}
 .nbb-step h3{font-size:19px!important;line-height:1.25}.nbb-service-grid{grid-template-columns:1fr!important}.nbb-service-card{width:100%;min-width:0}.nbb-service-cover{height:160px!important}.nbb-service-copy{padding:14px!important;display:grid!important;gap:10px!important}.nbb-service-copy span{justify-self:start}
 .nbb-calendar{padding:10px!important}.nbb-calendar-nav{gap:8px}.nbb-calendar-nav strong{font-size:16px}.nbb-weekdays,.nbb-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important}.nbb-calendar-days button{aspect-ratio:1/1;width:100%;padding:0!important;font-size:13px!important}
 .nbb-calendar-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:11px}.nbb-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.nbb-slots button{width:100%;padding:11px 6px!important;font-size:13px}
 .nbb-selection-summary{font-size:13px;line-height:1.6;padding:12px!important}.nbb-consent{align-items:flex-start!important}.nbb-consent input{flex:0 0 auto;margin-top:2px}
 .nbb-receiver{padding:0 8px 16px!important}.nbb-receiver,.nbb-receiver *{font-size:13px}.nbb-receiver h2{font-size:18px}.nbb-receiver-tabs button{font-size:13px;padding:10px 12px}.nbb-summary-cards{gap:8px}.nbb-summary-cards>div{padding:12px!important}.nbb-summary-cards b{font-size:20px!important}.nbb-request-card{padding:14px!important;border-radius:18px!important}.nbb-request-actions a,.nbb-request-actions button{padding:9px 10px!important;font-size:12px!important}.nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form{grid-template-columns:1fr}
}
.nbb-heading-actions{display:flex;align-items:center;gap:9px}.nbb-refresh-button{width:42px;height:42px;display:inline-grid;place-items:center;flex:0 0 42px;border:1px solid #cbd8e8;border-radius:12px;background:#fff;color:var(--nbb-blue);font-size:24px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.nbb-refresh-button:hover{background:#eef5ff;border-color:var(--nbb-blue)}.nbb-refresh-button:focus-visible{outline:3px solid color-mix(in srgb,var(--nbb-blue) 25%,transparent);outline-offset:2px}.nbb-refresh-button.is-loading span{display:inline-block;animation:nbb-refresh-spin .75s linear infinite}.nbb-refresh-button:disabled{cursor:wait;opacity:.7}.nbb-empty-appointments{background:#fff;border:1px dashed #cbd8e8;border-radius:18px;padding:28px;text-align:center;color:#64748b}@keyframes nbb-refresh-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.nbb-panel-heading{align-items:flex-start}.nbb-heading-actions{width:100%;justify-content:flex-end}.nbb-heading-actions .nbb-primary-button{width:auto}.nbb-refresh-button{width:40px;height:40px;flex-basis:40px}}

/* v1.6.2: descripciones expandibles y prevención de zoom móvil */
.nbb-service-card{appearance:none;-webkit-appearance:none}.nbb-service-card:focus-visible{outline:3px solid color-mix(in srgb,var(--nbb-accent) 34%,transparent);outline-offset:2px}.nbb-service-main{min-width:0}.nbb-service-description p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.nbb-service-description.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.nbb-description-toggle{display:none;margin-top:5px;padding:0!important;border:0!important;background:transparent!important;color:var(--nbb-accent)!important;font-size:12px!important;font-weight:800!important;line-height:1.3;cursor:pointer;text-align:left;width:auto!important;box-shadow:none!important}.nbb-description-toggle.is-needed,.nbb-service-description .nbb-description-toggle{display:inline-block}.nbb-description-toggle:hover,.nbb-description-toggle:focus{background:transparent!important;color:var(--nbb-accent)!important;text-decoration:underline!important}.nbb-service-duration{align-self:start}.nbb-transmitter input,.nbb-transmitter textarea,.nbb-transmitter select{font-size:16px!important}
@media(max-width:767px){.nbb-transmitter input,.nbb-transmitter textarea,.nbb-transmitter select{font-size:16px!important;line-height:1.35}.nbb-service-description p{-webkit-line-clamp:3}.nbb-description-toggle{min-height:28px;padding:3px 0!important}.nbb-service-copy{align-items:start}}

/* v1.7.0 — rediseño visual del modo receptor */
.nbb-receiver{max-width:1440px!important;padding:0 28px 42px!important;border-radius:0!important;background:linear-gradient(180deg,#fff 0,#f7faff 110px,#f4f7fb 100%)!important;box-shadow:none!important;color:#092447!important}
.nbb-receiver-mobile-header{display:none}
.nbb-receiver-tabs{margin:0 -28px 30px!important;padding:0 28px!important;min-height:88px;align-items:stretch;gap:4px!important;background:#fff;border-bottom:1px solid #e0e7f0!important;box-shadow:0 7px 28px rgba(25,72,135,.05);overflow-x:auto}
.nbb-receiver-brand-icon{width:72px;min-width:72px;margin-right:22px;display:grid;place-items:center;border:1px solid #dbe4f0;border-radius:16px;color:#0b66ff;font-size:31px;background:#fff;align-self:center;height:62px}
.nbb-receiver-tabs button{display:inline-flex!important;align-items:center;gap:10px;padding:0 22px!important;border-radius:0!important;border-bottom:3px solid transparent!important;background:transparent!important;color:#465d7d!important;font-size:15px!important;font-weight:600!important}
.nbb-receiver-tabs button:before{font-size:21px;line-height:1;color:currentColor}
.nbb-receiver-tabs button[data-tab="summary"]:before{content:"▦"}.nbb-receiver-tabs button[data-tab="business"]:before{content:"⌂"}.nbb-receiver-tabs button[data-tab="services"]:before{content:"◇"}.nbb-receiver-tabs button[data-tab="hours"]:before{content:"◷"}.nbb-receiver-tabs button[data-tab="booking"]:before{content:"□"}.nbb-receiver-tabs button[data-tab="appearance"]:before{content:"♢"}.nbb-receiver-tabs button[data-tab="analytics"]:before{content:"▥"}
.nbb-receiver-tabs button.is-active{color:#0b66ff!important;border-bottom-color:#0b66ff!important;background:linear-gradient(180deg,#f4f8ff,#edf4ff)!important;font-weight:800!important}
.nbb-tab-panel{padding:0 26px!important}.nbb-tab-panel>h2,.nbb-panel-heading h2{font-size:27px!important;letter-spacing:-.02em;color:#081f3f}
.nbb-public-link{border-radius:24px!important;padding:25px 30px!important;box-shadow:0 10px 30px rgba(39,79,132,.06);border-color:#dbe5f0!important;display:grid!important;grid-template-columns:76px 1fr auto!important}
.nbb-public-link-icon{width:66px;height:66px;border-radius:22px;background:#eaf3ff;color:#0b66ff;display:grid!important;place-items:center;font-size:34px!important;font-weight:400!important}
.nbb-public-link-copy{min-width:0}.nbb-public-link-copy>span{font-size:15px!important;text-transform:none;color:#5f7390!important}.nbb-public-link-copy strong{font-size:22px;line-height:1.25;overflow-wrap:anywhere;color:#071d3b}
.nbb-public-link button{display:inline-flex;align-items:center;gap:10px;background:#fff!important;color:#0b66ff!important;border:2px solid #0b66ff!important;border-radius:14px;padding:14px 22px!important;font-weight:800!important;font-size:15px!important}
.nbb-panel-heading{margin:34px 0 18px!important}.nbb-heading-actions .nbb-primary-button{background:#0b66ff!important;border-radius:14px!important;padding:13px 22px!important;box-shadow:0 7px 17px rgba(11,102,255,.2)}.nbb-refresh-button{border-radius:12px!important;width:48px!important;height:48px!important;flex-basis:48px!important;color:#263f60!important}
.nbb-summary-cards{gap:16px!important;margin-bottom:18px!important}.nbb-summary-cards>div{position:relative;min-height:112px;padding:24px 20px 20px 104px!important;border-radius:22px!important;box-shadow:0 9px 25px rgba(40,78,125,.05);display:flex;flex-direction:column;justify-content:center}.nbb-summary-cards>div:before{position:absolute;left:24px;top:50%;transform:translateY(-50%);width:58px;height:58px;border-radius:18px;background:#edf5ff;color:#0b66ff;display:grid;place-items:center;font-size:28px}.nbb-summary-cards>div:nth-child(1):before{content:"□"}.nbb-summary-cards>div:nth-child(2):before{content:"⌛"}.nbb-summary-cards>div:nth-child(3):before{content:"✓"}.nbb-summary-cards>div:nth-child(4):before{content:"◷"}.nbb-summary-cards b{font-size:28px!important;line-height:1}.nbb-summary-cards span{font-size:14px!important;margin-top:8px}
.nbb-request-card{grid-template-columns:68px minmax(0,1fr) auto!important;gap:18px!important;padding:26px!important;border-radius:24px!important;box-shadow:0 10px 28px rgba(30,67,114,.05);align-items:start}.nbb-request-avatar{width:58px;height:58px;border-radius:50%;background:#eaf3ff;color:#0b66ff;display:grid;place-items:center;font-size:22px;font-weight:800}.nbb-request-content{min-width:0}.nbb-request-title{gap:14px!important;flex-wrap:wrap}.nbb-request-title h3{font-size:19px!important;color:#071d3b}.nbb-request-card p{display:flex;align-items:center;gap:9px;margin:8px 0!important;font-size:14px!important}.nbb-request-card p>span{width:18px;color:#5c7290}.nbb-request-card p b{color:#0b66ff}.nbb-edit-button{display:inline-flex;align-items:center;gap:8px;border-radius:13px!important;padding:10px 16px!important;font-weight:700;color:#5b6e87}.nbb-request-actions{grid-column:2/-1!important;border-top:1px solid #e3eaf3;padding-top:16px!important;margin-top:2px;grid-template-columns:1fr 1fr!important}.nbb-request-actions a{border-radius:12px!important;padding:13px!important;font-size:14px!important;display:flex;align-items:center;justify-content:center;gap:10px}.nbb-request-actions a:first-child{background:#19bd58!important}.nbb-request-actions .nbb-reminder-button{background:#f4fff7!important;color:#0a9d45!important;border:1px solid #79d99c!important}
.nbb-ajax-form,.nbb-day-card,.nbb-service-admin-card,.nbb-appearance-card{box-shadow:0 8px 24px rgba(28,67,116,.045)}
@media(max-width:900px){.nbb-receiver{padding-left:16px!important;padding-right:16px!important}.nbb-receiver-tabs{margin-left:-16px!important;margin-right:-16px!important;padding-left:16px!important;padding-right:16px!important}.nbb-receiver-brand-icon{display:none}.nbb-tab-panel{padding-left:0!important;padding-right:0!important}.nbb-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){
 .nbb-receiver{padding:0 14px 28px!important;background:#f7faff!important}
 .nbb-receiver-mobile-header{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:16px;margin:0 -14px;padding:18px 18px 14px;background:#fff;border-bottom:1px solid #e4ebf4}.nbb-mobile-brand-icon{width:58px;height:58px;border:1px solid #dbe4f0;border-radius:16px;display:grid;place-items:center;color:#0b66ff;font-size:27px}.nbb-receiver-mobile-header strong{font-size:27px!important;color:#071d3b}.nbb-mobile-menu-button{border:0;background:transparent;font-size:31px;color:#29405f;padding:6px}
 .nbb-receiver-tabs{margin:0 -14px 24px!important;padding:0 14px!important;min-height:76px;height:auto;gap:0!important;box-shadow:none}.nbb-receiver-tabs button{padding:0 15px!important;min-height:76px;font-size:14px!important;gap:8px}.nbb-receiver-tabs button:before{font-size:20px}.nbb-receiver-tabs button[data-tab="booking"]{max-width:112px}.nbb-receiver-tabs button[data-tab="booking"]{font-size:0!important}.nbb-receiver-tabs button[data-tab="booking"]:after{content:"Config.";font-size:14px}.nbb-receiver-tabs button[data-tab="appearance"],.nbb-receiver-tabs button[data-tab="analytics"]{min-width:max-content!important;font-size:14px!important;padding:0 15px!important}.nbb-receiver-tabs button[data-tab="appearance"]:after,.nbb-receiver-tabs button[data-tab="analytics"]:after{content:none!important}.nbb-receiver-tabs button{flex:0 0 auto!important}
 .nbb-tab-panel{padding:0!important}.nbb-public-link{grid-template-columns:66px minmax(0,1fr) auto!important;padding:20px!important;border-radius:22px!important;gap:14px!important}.nbb-public-link-icon{width:60px;height:60px;border-radius:20px;font-size:29px!important}.nbb-public-link-copy>span{font-size:13px!important}.nbb-public-link-copy strong{font-size:17px}.nbb-public-link button{font-size:0!important;padding:12px 15px!important}.nbb-public-link button span{font-size:20px!important}.nbb-public-link button:after{content:"Copiar";font-size:15px}
 .nbb-panel-heading{display:grid!important;grid-template-columns:1fr auto!important;align-items:end!important;margin:28px 0 16px!important}.nbb-panel-heading h2{font-size:25px!important;margin:0}.nbb-heading-actions{width:auto!important}.nbb-heading-actions .nbb-primary-button{padding:12px 16px!important;font-size:13px!important}.nbb-refresh-button{width:44px!important;height:44px!important;flex-basis:44px!important}
 .nbb-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.nbb-summary-cards>div{min-height:142px;padding:74px 18px 18px!important;align-items:center;text-align:center}.nbb-summary-cards>div:before{left:50%;top:18px;transform:translateX(-50%);width:54px;height:54px}.nbb-summary-cards b{font-size:31px!important}.nbb-summary-cards span{font-size:14px!important}
 .nbb-request-card{grid-template-columns:58px minmax(0,1fr) auto!important;padding:20px!important;gap:14px!important;border-radius:22px!important}.nbb-request-avatar{width:52px;height:52px;font-size:20px}.nbb-request-title{display:block!important}.nbb-request-title h3{font-size:20px!important;margin-bottom:8px}.nbb-status{font-size:12px!important}.nbb-edit-button{padding:9px 12px!important;font-size:0!important}.nbb-edit-button span{font-size:20px!important}.nbb-edit-button:after{content:"Editar";font-size:0}.nbb-request-card p{font-size:14px!important}.nbb-request-actions{grid-column:1/-1!important;grid-template-columns:1fr!important;padding-top:16px!important}.nbb-request-actions a{min-height:54px;font-size:15px!important;border-radius:13px!important}
}

/* v1.7.1 — pestañas móviles completas */
@media(max-width:600px){.nbb-receiver-tabs{scroll-behavior:smooth;scroll-padding-inline:14px;-webkit-overflow-scrolling:touch}.nbb-receiver-tabs button[data-tab="appearance"],.nbb-receiver-tabs button[data-tab="analytics"]{display:inline-flex!important;visibility:visible!important;opacity:1!important;white-space:nowrap!important}}

/* v1.7.2: simplificación del encabezado y resumen del receptor */
.nbb-mobile-menu-button,.nbb-public-link{display:none!important;}

/* v1.8.1: buscador instantáneo de solicitudes */
.nbb-appointment-tools{display:block;margin:0 0 18px;max-width:560px}.nbb-search-field{height:48px;display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0 15px;background:#fff;border:1px solid #d9e3f1;border-radius:15px;color:#60728d;font-weight:400!important}.nbb-search-field:focus-within{border-color:#0b66ff;box-shadow:0 0 0 3px rgba(11,102,255,.10)}.nbb-search-field span{font-size:22px;line-height:1}.nbb-search-field input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;min-height:0!important;font-size:15px!important;color:#12233f}.nbb-filter-empty{margin-top:14px;background:#fff;border:1px dashed #cbd8e8;border-radius:18px;padding:24px;text-align:center;color:#64748b;font-weight:700}
@media(max-width:600px){.nbb-appointment-tools{margin-bottom:15px;max-width:none}.nbb-search-field{height:46px}.nbb-search-field input{font-size:16px!important}}

/* v1.8.2: corrección del filtrado instantáneo */
.nbb-request-card.is-search-hidden{display:none!important}.nbb-filter-empty.is-visible{display:block!important}

/* v1.8.3: Personalización responsive en móviles */
@media (max-width: 767px){
  .elementor-widget-nbb-booking,
  .elementor-widget-nbb-booking > .elementor-widget-container,
  .nbb-receiver,
  .nbb-tab-panel[data-panel="appearance"],
  .nbb-appearance-form,
  .nbb-appearance-layout,
  .nbb-appearance-controls,
  .nbb-appearance-card,
  .nbb-appearance-preview{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .nbb-receiver{overflow-x:hidden!important}
  .nbb-tab-panel[data-panel="appearance"]{overflow:hidden!important}
  .nbb-tab-panel[data-panel="appearance"]>h2{font-size:25px!important;line-height:1.15;margin:0 0 10px!important}
  .nbb-tab-panel[data-panel="appearance"]>.nbb-muted{font-size:14px!important;line-height:1.45;margin:0 0 16px!important}
  .nbb-appearance-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
  }
  .nbb-appearance-preview{
    position:static!important;
    order:-1!important;
    border-radius:18px!important;
  }
  .nbb-appearance-preview>span{padding:11px 14px!important}
  .nbb-preview-card{padding:18px!important;overflow-wrap:anywhere}
  .nbb-preview-card h3{font-size:18px!important}
  .nbb-preview-card p{font-size:14px!important;line-height:1.45!important;margin:7px 0 14px!important}
  .nbb-preview-card button{font-size:14px!important;padding:11px 15px!important}
  .nbb-appearance-controls{gap:14px!important}
  .nbb-appearance-card{padding:16px!important;border-radius:18px!important;overflow:hidden}
  .nbb-appearance-card h3{font-size:16px!important;line-height:1.25}
  .nbb-appearance-card>p{font-size:13px!important;line-height:1.4}
  .nbb-color-options{gap:9px!important;max-width:100%;align-items:center}
  .nbb-color-options label{flex:0 0 auto}
  .nbb-color-options span{width:30px!important;height:30px!important}
  .nbb-choice-row{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:12px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .nbb-choice-row span{min-width:0;overflow-wrap:anywhere;font-size:14px}
  .nbb-choice-row b{white-space:nowrap;font-size:12px}
  .nbb-shape-options{grid-template-columns:1fr!important;gap:9px!important}
  .nbb-shape-options span{width:100%;padding:12px 10px!important}
  .nbb-appearance-controls>.nbb-primary-button{width:100%!important;min-height:48px!important;margin:0!important}
}

@media (max-width: 380px){
  .nbb-color-options{gap:7px!important}
  .nbb-color-options span{width:27px!important;height:27px!important}
  .nbb-choice-row b{display:none}
}


/* v1.8.4: corrección estructural del ancho en Personalización móvil */
@media (max-width: 767px){
  html:has(.nbb-receiver),
  body.nbb-receiver-page{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.nbb-receiver-page .elementor,
  body.nbb-receiver-page .elementor-section,
  body.nbb-receiver-page .elementor-container,
  body.nbb-receiver-page .elementor-column,
  body.nbb-receiver-page .elementor-widget-wrap,
  body.nbb-receiver-page .elementor-element,
  body.nbb-receiver-page .elementor-widget-container{
    min-width:0!important;
  }
  .nbb-receiver{
    width:100vw!important;
    width:100dvw!important;
    max-width:100vw!important;
    max-width:100dvw!important;
    min-width:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    margin-left:calc(50% - 50dvw)!important;
    margin-right:calc(50% - 50dvw)!important;
    overflow-x:clip!important;
  }
  .nbb-tab-panel[data-panel="appearance"]{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .nbb-tab-panel[data-panel="appearance"] .nbb-appearance-form,
  .nbb-tab-panel[data-panel="appearance"] .nbb-appearance-layout,
  .nbb-tab-panel[data-panel="appearance"] .nbb-appearance-controls,
  .nbb-tab-panel[data-panel="appearance"] .nbb-appearance-preview,
  .nbb-tab-panel[data-panel="appearance"] .nbb-appearance-card{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }
  .nbb-tab-panel[data-panel="appearance"] .nbb-color-options{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
  }
  .nbb-tab-panel[data-panel="appearance"] .nbb-choice-row{
    overflow:hidden!important;
  }
}

/* Configuración de citas v1.9.0 */
.nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;max-width:900px!important;background:transparent!important;border:0!important;padding:0!important}
.nbb-booking-rule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;background:#fff;border:1px solid #dbe3ef;border-radius:28px;padding:24px 26px}
.nbb-booking-rule-card h3{margin:0 0 7px;color:#071d3b;font-size:17px!important;line-height:1.25}
.nbb-booking-rule-card p{margin:0;color:#6b7e99;font-size:14px!important;line-height:1.55;max-width:620px}
.nbb-rule-inline{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;margin:0!important;color:#536984!important;white-space:nowrap}
.nbb-rule-inline input{width:100px!important;min-width:100px;text-align:center;font-weight:800;color:#082546}
.nbb-rule-double{grid-column:1/-1;display:grid;grid-template-columns:120px minmax(220px,1fr);gap:10px;max-width:100%}
.nbb-rule-double input,.nbb-rule-double select,.nbb-rule-inline input{min-height:48px;border:1px solid #d8e2ef!important;border-radius:16px!important;background:#fff!important;padding:10px 14px!important;font-size:15px!important;box-shadow:none!important}
.nbb-booking-rule-card.nbb-rule-notice{grid-template-columns:1fr}
.nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form>.nbb-primary-button{justify-self:start!important;margin-top:2px!important}
@media(max-width:767px){
 .nbb-booking-rule-card{grid-template-columns:1fr;gap:16px;padding:19px;border-radius:22px}
 .nbb-rule-inline{justify-content:flex-start!important}
 .nbb-rule-inline input{width:96px!important;min-width:96px}
 .nbb-rule-double{grid-template-columns:105px minmax(0,1fr)}
 .nbb-booking-rule-card h3{font-size:16px!important}
 .nbb-booking-rule-card p{font-size:13px!important}
 .nbb-tab-panel[data-panel="booking"] .nbb-booking-settings-form>.nbb-primary-button{width:100%!important;min-height:48px!important}
}

/* Calendario 1.9.1: estados reales y selección circular */
.nbb-calendar-days button{width:38px;max-width:38px;justify-self:center;aspect-ratio:1/1;border-radius:50%!important}
.nbb-calendar-days button.is-partial:after{content:"";position:absolute;width:5px;height:5px;background:#f3a846;border-radius:50%;bottom:1px;left:50%;transform:translateX(-50%)}
.nbb-calendar-days button.is-selected{border-radius:50%!important}
.nbb-calendar-days button.is-selected:after{background:#fff!important}
.nbb-rule-email{display:block!important;margin:0!important;min-width:280px}
.nbb-rule-email input{background:#fff!important}
@media(max-width:600px){.nbb-calendar-days button{width:100%;max-width:38px}.nbb-rule-email{min-width:0;width:100%}}

/* v2.0.0 — plataforma multi-negocio */
.nbb-public-business-page{margin:0;background:#f6f8fb}.nbb-public-business-page .nbb-booking{margin:32px auto;max-width:980px}
.nbb-platform-card{max-width:620px;margin:40px auto;padding:32px;background:#fff;border:1px solid #dce5f0;border-radius:28px;box-shadow:0 18px 60px rgba(15,23,42,.08);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#10213b}.nbb-platform-card h2{margin:0 0 8px;font-size:28px}.nbb-platform-card>p{color:#66758d}.nbb-platform-form{display:grid;gap:16px;margin-top:24px}.nbb-platform-form label,.nbb-public-page-form label{display:grid;gap:7px;font-weight:750}.nbb-platform-form input,.nbb-public-page-form input{width:100%;min-height:48px;border:1px solid #d8e2ef;border-radius:14px;padding:10px 13px;font-size:16px;background:#fff}.nbb-slug-field{display:flex;align-items:center;border:1px solid #d8e2ef;border-radius:14px;overflow:hidden;background:#f8fafc}.nbb-slug-field span{padding:0 0 0 13px;color:#6a7890;white-space:nowrap;font-weight:600}.nbb-slug-field input{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.nbb-platform-error{margin:10px 0;padding:12px 14px;border-radius:12px;background:#fff1f2;color:#b42318;font-weight:650}.nbb-platform-login{text-align:center;margin-top:18px!important}.nbb-public-page-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;background:#fff;border:1px solid #dce5f0;border-radius:22px;margin:18px 0}.nbb-public-page-card>div:first-child{display:grid;gap:5px;min-width:0}.nbb-public-page-card span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7a8aa1;font-weight:800}.nbb-public-page-card strong{overflow-wrap:anywhere;color:#10213b}.nbb-public-page-actions{display:flex;gap:10px;flex-wrap:wrap}.nbb-public-page-form{max-width:650px;display:grid;gap:12px;background:#fff;border:1px solid #dce5f0;border-radius:22px;padding:22px}.nbb-public-page-actions a{text-decoration:none}
@media(max-width:700px){.nbb-platform-card{margin:18px 12px;padding:22px;border-radius:22px}.nbb-public-business-page .nbb-booking{margin:0}.nbb-public-page-card{align-items:stretch;flex-direction:column}.nbb-public-page-actions>*{flex:1;text-align:center}.nbb-slug-field{align-items:stretch;flex-direction:column}.nbb-slug-field span{padding:10px 13px 0}}

/* v2.0.1 — modo Registro integrado al widget Elementor */
.nbb-platform-card{--nbb-primary:#061a35;--nbb-accent:#079b66;--nbb-register-bg:#fff;color:var(--nbb-primary)}
.nbb-register-card{background:var(--nbb-register-bg);padding:36px;border-color:#e2e8f0;box-shadow:0 22px 70px rgba(15,23,42,.09)}
.nbb-register-heading{text-align:center;margin-bottom:24px}.nbb-register-heading .nbb-register-kicker{display:inline-block;margin-bottom:10px;color:var(--nbb-accent);font-size:11px;font-weight:850;letter-spacing:.12em}.nbb-register-heading h2{font-size:32px;line-height:1.12;color:var(--nbb-primary)}.nbb-register-heading p{max-width:500px;margin:10px auto 0;color:#64748b;line-height:1.55}.nbb-platform-form label{color:var(--nbb-primary);font-size:13px}.nbb-platform-form label small{font-weight:500;color:#8492a6;line-height:1.4}.nbb-platform-form input{transition:border-color .18s ease,box-shadow .18s ease}.nbb-platform-form input:focus{outline:0;border-color:var(--nbb-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nbb-accent) 14%,transparent)}.nbb-register-submit{width:100%;min-height:52px;background:var(--nbb-accent);font-size:15px;margin-top:2px}.nbb-platform-login a{color:var(--nbb-accent);font-weight:800;text-decoration:none}.nbb-slug-field:focus-within{border-color:var(--nbb-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nbb-accent) 14%,transparent)}
@media(max-width:700px){.nbb-register-card{padding:24px 20px}.nbb-register-heading h2{font-size:27px}.nbb-register-heading{text-align:left}.nbb-register-heading p{margin-left:0}.nbb-register-heading .nbb-register-kicker{font-size:10px}}

/* v2.0.5 — registro: contraseña visible, confirmación y slug automático */
.nbb-password-field{position:relative;display:flex;align-items:center;width:100%}
.nbb-password-field input{padding-right:78px!important}
.nbb-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 9px;border:0!important;border-radius:10px!important;background:transparent!important;color:#64748b!important;font:inherit;font-size:12px!important;font-weight:800!important;cursor:pointer;box-shadow:none!important}
.nbb-password-toggle:hover{background:#f1f5f9!important;color:var(--nbb-primary)!important}
.nbb-password-toggle:focus-visible{outline:2px solid var(--nbb-accent);outline-offset:1px}
.nbb-eye-icon{width:17px;height:12px;display:inline-block;position:relative;border:1.8px solid currentColor;border-radius:50%/65%;box-sizing:border-box}
.nbb-eye-icon:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}
.nbb-password-toggle[aria-pressed="true"] .nbb-eye-icon:before{content:"";position:absolute;width:21px;height:2px;background:currentColor;left:-3px;top:4px;transform:rotate(-38deg);border-radius:2px}
.nbb-password-match{min-height:18px;font-weight:650!important}
.nbb-password-match.is-match{color:#07875c!important}
.nbb-password-match.is-mismatch{color:#b42318!important}


/* v2.0.6 — Registro Reservas LinkDoma: azul de marca y lienzo completo */
.nbb-register-shell{
  --nbb-linkdoma-blue:#0065fe;
  width:100vw;
  max-width:none;
  min-height:100vh;
  min-height:100dvh;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:clamp(28px,5vw,72px) clamp(18px,4vw,56px);
  background:#f7faff;
  overflow-x:hidden;
}
.nbb-register-shell .nbb-register-card{
  --nbb-accent:var(--nbb-linkdoma-blue)!important;
  width:min(100%,620px);
  margin:0 auto!important;
  box-sizing:border-box;
}
.nbb-register-shell .nbb-register-kicker,
.nbb-register-shell .nbb-platform-login a{
  color:var(--nbb-linkdoma-blue)!important;
}
.nbb-register-shell .nbb-register-submit,
.nbb-register-shell .nbb-primary-button{
  background:var(--nbb-linkdoma-blue)!important;
  border-color:var(--nbb-linkdoma-blue)!important;
  color:#fff!important;
}
.nbb-register-shell .nbb-register-submit:hover,
.nbb-register-shell .nbb-primary-button:hover{
  filter:brightness(.95);
}
.nbb-register-shell .nbb-platform-form input:focus,
.nbb-register-shell .nbb-slug-field:focus-within{
  border-color:var(--nbb-linkdoma-blue)!important;
  box-shadow:0 0 0 3px rgba(0,101,254,.14)!important;
}
.nbb-register-shell .nbb-password-toggle:focus-visible{
  outline-color:var(--nbb-linkdoma-blue)!important;
}
.nbb-register-shell .nbb-password-match.is-match{
  color:var(--nbb-linkdoma-blue)!important;
}

@media (min-width:768px) and (max-width:1024px){
  .nbb-register-shell{padding:44px 32px;align-items:center}
  .nbb-register-shell .nbb-register-card{width:min(100%,660px)}
}
@media (max-width:767px){
  .nbb-register-shell{
    min-height:100vh;
    min-height:100dvh;
    align-items:flex-start;
    padding:24px 14px 32px;
  }
  .nbb-register-shell .nbb-register-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:24px 18px!important;
    border-radius:22px!important;
  }
  .nbb-register-shell .nbb-register-heading h2{font-size:28px!important}
  .nbb-register-shell .nbb-platform-form{gap:15px}
  .nbb-register-shell .nbb-platform-form input{min-height:50px;font-size:16px}
  .nbb-register-shell .nbb-register-submit{min-height:54px}
}
@media (max-width:380px){
  .nbb-register-shell{padding-inline:10px}
  .nbb-register-shell .nbb-register-card{padding:20px 14px!important;border-radius:18px!important}
  .nbb-register-shell .nbb-register-heading h2{font-size:25px!important}
}


/* v2.0.7 — Registro consistente en escritorio, tablet y móvil */
.nbb-register-shell{
  align-items:flex-start!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  height:auto!important;
  overflow:visible!important;
}
.nbb-register-shell .nbb-register-card{
  margin:auto!important;
  overflow:visible!important;
}
.nbb-register-shell .nbb-platform-form,
.nbb-register-shell .nbb-platform-form>label{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
  overflow:visible!important;
}
.nbb-register-shell .nbb-platform-form>label:nth-of-type(6){
  display:grid!important;
}
@media (min-width:768px){
  .nbb-register-shell{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
  .nbb-register-shell .nbb-register-card{
    width:min(100%,660px)!important;
  }
}
@media (max-width:767px){
  .nbb-register-shell .nbb-platform-form>label:nth-of-type(6){
    display:grid!important;
  }
}


/* v2.0.8 — Zona de peligro y eliminación completa de cuenta */
.nbb-danger-zone{
  margin-top:34px;
  padding:22px;
  border:1px solid #fecaca;
  border-radius:18px;
  background:#fffafa;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.nbb-danger-zone h3{margin:0 0 6px;color:#991b1b;font-size:18px}
.nbb-danger-zone p{margin:0;color:#7f1d1d;max-width:620px}
.nbb-delete-account-button,.nbb-delete-account-confirm{
  border:0;
  border-radius:12px;
  background:#b42318;
  color:#fff;
  font:inherit;
  font-weight:700;
  padding:12px 18px;
  cursor:pointer;
  white-space:nowrap;
}
.nbb-delete-account-button:hover,.nbb-delete-account-confirm:hover{background:#912018}
.nbb-delete-account-confirm:disabled{opacity:.65;cursor:wait}
.nbb-delete-account-modal .nbb-modal-card{max-width:520px;text-align:center}
.nbb-delete-account-modal .nbb-modal-card>p{color:#475467}
.nbb-danger-modal-icon{
  width:54px;height:54px;border-radius:50%;margin:0 auto 14px;
  display:grid;place-items:center;background:#fee4e2;color:#b42318;
  font-size:28px;font-weight:800;
}
.nbb-delete-account-modal .nbb-modal-actions{justify-content:center;margin-top:22px}
@media (max-width:767px){
  .nbb-danger-zone{align-items:stretch;flex-direction:column;padding:18px}
  .nbb-delete-account-button{width:100%}
  .nbb-delete-account-modal .nbb-modal-card{width:calc(100% - 24px);max-width:none;padding:24px 18px}
  .nbb-delete-account-modal .nbb-modal-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .nbb-delete-account-modal .nbb-modal-actions button{width:100%}
}

/* v2.0.11 - Evita el zoom automático de iOS/Safari al enfocar campos en móvil.
   Mantiene todos los controles editables en 16px o más sin alterar escritorio. */
@media (max-width: 767px){
  .nbb-booking input,
  .nbb-booking textarea,
  .nbb-booking select,
  .nbb-transmitter input,
  .nbb-transmitter textarea,
  .nbb-transmitter select,
  .nbb-receiver input,
  .nbb-receiver textarea,
  .nbb-receiver select,
  .nbb-register-shell input,
  .nbb-register-shell textarea,
  .nbb-register-shell select,
  .nbb-platform-card input,
  .nbb-platform-card textarea,
  .nbb-platform-card select,
  .nbb-public-page-form input,
  .nbb-public-page-form textarea,
  .nbb-public-page-form select {
    font-size:16px!important;
  }
}

/* ===== Reservas LinkDoma v2.0.13 · Receptor UI aligned with QR LinkDoma ===== */
body.nbb-receiver-page{background:#f3f7fd!important}
.nbb-receiver{
  --nbb-shell:#071d3b;
  --nbb-shell-soft:#17365f;
  --nbb-panel-bg:#f3f7fd;
  --nbb-card:#fff;
  --nbb-text:#0b1730;
  --nbb-muted:#6c7890;
  --nbb-accent:#0868f7;
  width:100%!important;
  max-width:none!important;
  min-height:calc(100vh - 32px)!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  background:var(--nbb-panel-bg)!important;
  border-radius:0!important;
  overflow:visible!important;
  color:var(--nbb-text)!important;
}
.nbb-receiver-mobile-header{display:none!important}
.nbb-receiver-tabs{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  position:sticky!important;
  top:32px!important;
  align-self:start!important;
  height:calc(100vh - 32px)!important;
  margin:0!important;
  padding:34px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:linear-gradient(180deg,#061a36 0%,#08264c 100%)!important;
  border:0!important;
  box-shadow:none!important;
}
.nbb-receiver-brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 24px!important;
  padding:0!important;
  color:#fff!important;
}
.nbb-receiver-brand-icon{
  display:grid!important;
  place-items:center!important;
  width:50px!important;
  min-width:50px!important;
  height:50px!important;
  margin:0!important;
  border:0!important;
  border-radius:16px!important;
  background:#2682ff!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 10px 24px rgba(20,107,255,.24)!important;
}
.nbb-receiver-brand strong{display:block!important;font-size:18px!important;line-height:1.1!important;color:#fff!important;font-weight:800!important}
.nbb-receiver-brand small{display:block!important;margin-top:5px!important;font-size:13px!important;color:#c8d5e9!important}
.nbb-receiver-tabs button{
  width:100%!important;
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:12px 16px!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:15px!important;
  background:transparent!important;
  color:#d4dfef!important;
  font-size:15px!important;
  font-weight:650!important;
  text-align:left!important;
  white-space:normal!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.nbb-receiver-tabs button:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;transform:translateX(2px)}
.nbb-receiver-tabs button.is-active{background:#1d3a61!important;color:#fff!important;border:0!important;box-shadow:none!important;font-weight:800!important}
.nbb-receiver-tabs button:before{width:20px!important;flex:0 0 20px!important;text-align:center!important;font-size:17px!important;color:currentColor!important}
.nbb-receiver-tabs button[data-tab="summary"]:before{content:"▦"}
.nbb-receiver-tabs button[data-tab="business"]:before{content:"⌂"}
.nbb-receiver-tabs button[data-tab="public-page"]:before{content:"↗"}
.nbb-receiver-tabs button[data-tab="services"]:before{content:"◇"}
.nbb-receiver-tabs button[data-tab="hours"]:before{content:"◷"}
.nbb-receiver-tabs button[data-tab="booking"]:before{content:"□"}
.nbb-receiver-tabs button[data-tab="appearance"]:before{content:"✦"}
.nbb-receiver-tabs button[data-tab="analytics"]:before{content:"▥"}
.nbb-receiver-main-header{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:46px 42px 24px!important;
}
.nbb-receiver-main-header span{display:block!important;margin-bottom:8px!important;color:var(--nbb-accent)!important;font-size:12px!important;letter-spacing:.15em!important;font-weight:900!important}
.nbb-receiver-main-header h1{margin:0!important;color:var(--nbb-text)!important;font-size:34px!important;line-height:1.1!important;letter-spacing:-.025em!important;font-weight:650!important}
.nbb-main-action{flex:0 0 auto!important;min-height:50px!important;padding:0 22px!important;border-radius:16px!important;background:linear-gradient(135deg,#0868f7,#2f8bff)!important;box-shadow:0 12px 28px rgba(8,104,247,.18)!important;color:#fff!important;border:0!important}
.nbb-tab-panel{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  padding:0 42px 46px!important;
  background:transparent!important;
}
.nbb-tab-panel.is-active{display:block!important}
.nbb-panel-heading{margin:0 0 18px!important}
.nbb-panel-heading h2,.nbb-tab-panel>h2{font-size:29px!important;line-height:1.15!important;color:var(--nbb-text)!important;font-weight:650!important;letter-spacing:-.02em!important}
.nbb-summary-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin-bottom:28px!important}
.nbb-summary-cards>div{
  min-height:132px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:24px!important;
  background:#fff!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:0 14px 34px rgba(31,65,105,.07)!important;
}
.nbb-summary-cards b{font-size:34px!important;line-height:1!important;color:#0b1730!important;font-weight:700!important}
.nbb-summary-cards span{order:-1;margin-bottom:22px!important;font-size:14px!important;color:#718097!important;font-weight:500!important}
.nbb-appointment-tools,.nbb-ajax-form,.nbb-service-admin-card,.nbb-day-card,.nbb-setting-card,.nbb-appearance-card,.nbb-public-page-card,.nbb-request-card{
  border-color:#e3e9f2!important;
}
.nbb-ajax-form,.nbb-public-page-card,.nbb-day-card,.nbb-setting-card,.nbb-appearance-card,.nbb-request-card{
  border-radius:22px!important;
  box-shadow:0 10px 28px rgba(31,65,105,.055)!important;
}
.nbb-ajax-form{max-width:980px!important;padding:26px!important}
.nbb-request-card{padding:22px!important;background:#fff!important}
.nbb-services-admin{gap:14px!important}
.nbb-service-admin-card{border-radius:22px!important;box-shadow:0 10px 28px rgba(31,65,105,.055)!important}

@media (max-width:1024px) and (min-width:769px){
  .nbb-receiver{grid-template-columns:238px minmax(0,1fr)!important}
  .nbb-receiver-tabs{padding:28px 16px!important}
  .nbb-receiver-brand strong{font-size:16px!important}
  .nbb-receiver-tabs button{padding:11px 13px!important;font-size:14px!important}
  .nbb-receiver-main-header{padding:38px 26px 22px!important}
  .nbb-tab-panel{padding:0 26px 38px!important}
  .nbb-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:768px){
  body.nbb-receiver-page{background:#f3f7fd!important}
  .nbb-receiver{
    min-height:100vh!important;
    display:block!important;
    background:#f3f7fd!important;
    overflow-x:hidden!important;
  }
  .nbb-receiver-mobile-header{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin:0!important;
    padding:24px 26px 12px!important;
    background:#071d3b!important;
    border:0!important;
    color:#fff!important;
  }
  .nbb-mobile-brand-icon{
    width:54px!important;
    height:54px!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 54px!important;
    border:0!important;
    border-radius:17px!important;
    background:#2682ff!important;
    color:#fff!important;
    font-size:16px!important;
    font-weight:900!important;
  }
  .nbb-receiver-mobile-header strong{display:block!important;font-size:20px!important;line-height:1.15!important;color:#fff!important;font-weight:800!important}
  .nbb-receiver-mobile-header span{display:block!important;margin-top:4px!important;color:#c7d5e8!important;font-size:13px!important}
  .nbb-receiver-tabs{
    position:static!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 14px 20px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:#071d3b!important;
    border:0!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .nbb-receiver-tabs::-webkit-scrollbar{display:none!important}
  .nbb-receiver-brand{display:none!important}
  .nbb-receiver-tabs button{
    width:auto!important;
    min-width:max-content!important;
    min-height:52px!important;
    flex:0 0 auto!important;
    justify-content:center!important;
    padding:11px 16px!important;
    border-radius:14px!important;
    color:#c9d6e9!important;
    font-size:15px!important;
    white-space:nowrap!important;
  }
  .nbb-receiver-tabs button:before{display:none!important}
  .nbb-receiver-tabs button.is-active{background:#1d3a61!important;color:#fff!important}
  .nbb-receiver-tabs button[data-tab="booking"]{font-size:15px!important;max-width:none!important}
  .nbb-receiver-tabs button[data-tab="booking"]:after{content:none!important}
  .nbb-receiver-main-header{
    display:block!important;
    padding:32px 20px 20px!important;
  }
  .nbb-receiver-main-header span{font-size:12px!important;margin-bottom:9px!important}
  .nbb-receiver-main-header h1{font-size:32px!important;line-height:1.05!important;overflow-wrap:anywhere!important}
  .nbb-main-action{width:100%!important;min-height:54px!important;margin-top:22px!important;font-size:16px!important}
  .nbb-tab-panel{width:100%!important;padding:0 20px 34px!important}
  .nbb-panel-heading{align-items:center!important;flex-direction:row!important;gap:10px!important;margin:10px 0 16px!important}
  .nbb-panel-heading h2,.nbb-tab-panel>h2{font-size:25px!important}
  .nbb-summary-cards{grid-template-columns:1fr!important;gap:16px!important;margin-bottom:28px!important}
  .nbb-summary-cards>div{min-height:150px!important;padding:26px 24px!important;border-radius:26px!important}
  .nbb-summary-cards span{margin-bottom:28px!important;font-size:15px!important}
  .nbb-summary-cards b{font-size:38px!important}
  .nbb-ajax-form{max-width:none!important;width:100%!important;padding:20px!important;border-radius:22px!important}
  .nbb-request-card{border-radius:22px!important}
  .nbb-main-action,.nbb-receiver input,.nbb-receiver textarea,.nbb-receiver select{font-size:16px!important}
}

@media (max-width:420px){
  .nbb-receiver-mobile-header{padding-left:18px!important;padding-right:18px!important}
  .nbb-receiver-tabs{padding-left:12px!important;padding-right:12px!important}
  .nbb-receiver-main-header{padding-left:18px!important;padding-right:18px!important}
  .nbb-tab-panel{padding-left:18px!important;padding-right:18px!important}
  .nbb-receiver-main-header h1{font-size:30px!important}
}


/* ===== Reservas LinkDoma v2.0.14 · Receptor full-bleed + icon cleanup ===== */
/* El panel receptor debe comportarse como una aplicación de página completa,
   independientemente del ancho de contenido configurado en Elementor/tema. */
body.nbb-receiver-page{
  width:100%!important;
  max-width:none!important;
  overflow-x:hidden!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.nbb-receiver-page .elementor,
body.nbb-receiver-page .elementor-section-wrap,
body.nbb-receiver-page .elementor-section,
body.nbb-receiver-page .elementor-container,
body.nbb-receiver-page .elementor-column,
body.nbb-receiver-page .elementor-widget-wrap,
body.nbb-receiver-page .elementor-widget-nb-booking-widget,
body.nbb-receiver-page .elementor-widget-nb-booking-widget > .elementor-widget-container,
body.nbb-receiver-page .e-con,
body.nbb-receiver-page .e-con-inner{
  max-width:none!important;
}
body.nbb-receiver-page .elementor-widget-nb-booking-widget,
body.nbb-receiver-page .elementor-widget-nb-booking-widget > .elementor-widget-container{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.nbb-receiver{
  width:100vw!important;
  width:100dvw!important;
  max-width:100vw!important;
  max-width:100dvw!important;
  min-height:calc(100vh - 32px)!important;
  min-height:calc(100dvh - 32px)!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-left:calc(50% - 50dvw)!important;
  margin-right:calc(50% - 50dvw)!important;
}
/* Los iconos heredados de la interfaz anterior ya no forman parte de las
   tarjetas del resumen. Ocultarlos evita que se superpongan a títulos/cifras. */
.nbb-receiver .nbb-summary-cards>div:before{
  content:none!important;
  display:none!important;
}
.nbb-receiver .nbb-summary-cards>div{
  padding:24px!important;
}
.nbb-receiver .nbb-summary-cards span{
  margin-top:0!important;
}

@media (max-width:782px){
  .nbb-receiver{
    min-height:calc(100vh - 46px)!important;
    min-height:calc(100dvh - 46px)!important;
  }
}
@media (max-width:768px){
  body.nbb-receiver-page .elementor,
  body.nbb-receiver-page .elementor-section,
  body.nbb-receiver-page .elementor-container,
  body.nbb-receiver-page .elementor-column,
  body.nbb-receiver-page .elementor-widget-wrap,
  body.nbb-receiver-page .elementor-widget-nb-booking-widget,
  body.nbb-receiver-page .elementor-widget-nb-booking-widget > .elementor-widget-container,
  body.nbb-receiver-page .e-con,
  body.nbb-receiver-page .e-con-inner{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .nbb-receiver{
    width:100vw!important;
    width:100dvw!important;
    max-width:100vw!important;
    max-width:100dvw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    margin-left:calc(50% - 50dvw)!important;
    margin-right:calc(50% - 50dvw)!important;
  }
  .nbb-receiver .nbb-summary-cards>div{
    padding:26px 24px!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
}

.nbb-pro-watermark{padding:28px 16px 10px;text-align:center;font-size:14px;color:#64748b}.nbb-pro-watermark a{color:#0065FE;font-weight:800;text-decoration:none}.nbb-plan-limit-card{border:1px dashed #cbd5e1;border-radius:18px;padding:24px;text-align:center;background:#f8fafc;color:#475569}.nbb-plan-limit-card strong{display:block;color:#0f172a;margin-bottom:6px}


/* ===== Reservas LinkDoma v2.1.1 · Indicador Pro / Vip en receptor ===== */
.nbb-receiver-heading-copy{min-width:0!important}
.nbb-plan-status{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-top:13px!important;
  flex-wrap:wrap!important;
}
.nbb-plan-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  margin:0!important;
  padding:5px 11px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:0!important;
  font-weight:800!important;
  text-transform:none!important;
}
.nbb-plan-badge.is-vip{background:#ede9fe!important;color:#5b21b6!important;border:1px solid #c4b5fd!important}
.nbb-plan-badge.is-pro{background:#0b1730!important;color:#fff!important;border:1px solid #0b1730!important}
.nbb-be-pro-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:5px 12px!important;
  border:1px solid #0065FE!important;
  border-radius:999px!important;
  background:#0065FE!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:none!important;
  transition:transform .18s ease,opacity .18s ease!important;
}
.nbb-be-pro-button:hover{color:#fff!important;opacity:.92!important;transform:translateY(-1px)!important}
@media (max-width:768px){
  .nbb-plan-status{margin-top:12px!important;gap:8px!important}
  .nbb-plan-badge,.nbb-be-pro-button{min-height:32px!important;font-size:13px!important;padding:6px 12px!important}
}

/* Reservas LinkDoma v2.1.3 — pago antes de reservar */
.nbb-payment-settings[hidden],.nbb-booking-rule-card[hidden]{display:none!important}
.nbb-toggle-setting{display:inline-flex;align-items:center;justify-content:flex-end;cursor:pointer}
.nbb-toggle-setting input{position:absolute;opacity:0;pointer-events:none}
.nbb-toggle-setting span{width:52px;height:30px;border-radius:999px;background:#cbd5e1;position:relative;display:block;transition:.2s}
.nbb-toggle-setting span:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0f172a26;transition:.2s}
.nbb-toggle-setting input:checked+span{background:var(--nbb-blue,#0868f7)}
.nbb-toggle-setting input:checked+span:after{transform:translateX(22px)}
.nbb-payment-settings{display:grid;gap:14px;margin-top:14px}
.nbb-payment-settings textarea{min-height:110px;resize:vertical}
@media(max-width:767px){.nbb-payment-rule-card{align-items:center}.nbb-toggle-setting{width:auto!important}.nbb-payment-settings .nbb-booking-rule-card{align-items:stretch}}

/* v2.1.4 — pago previo por servicio y estado pendiente de pago */
.nbb-service-card{position:relative}
.nbb-payment-badge{position:absolute;z-index:2;top:12px;right:12px;display:inline-flex;align-items:center;max-width:calc(100% - 24px);padding:7px 10px;border-radius:999px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-size:11px;font-weight:800;line-height:1.1}
.nbb-pending_payment{background:#ffedd5;color:#9a3412}
.nbb-payment-service-picker{border:1px solid #dbe3ef;border-radius:18px;background:#f8fafc;padding:18px}
.nbb-payment-service-picker>strong{display:block;color:#0f172a;margin-bottom:4px}
.nbb-payment-service-picker>p{margin:0 0 12px;color:#64748b;font-size:14px}
.nbb-payment-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nbb-payment-service-list label{display:flex!important;align-items:center;gap:9px;margin:0!important;padding:11px 12px;background:#fff;border:1px solid #dbe3ef;border-radius:12px;color:#334155!important;font-weight:700!important}
.nbb-payment-service-list input{width:18px;height:18px;margin:0}
@media(max-width:767px){.nbb-payment-service-list{grid-template-columns:1fr}.nbb-payment-badge{top:10px;right:10px;font-size:10px;padding:6px 9px}}

/* v2.1.6 — Banner publicitario Pro con mayor presencia visual */
.nbb-pro-ad-banner{width:min(100%,920px);margin:0 auto 18px;padding:0 12px;box-sizing:border-box}.nbb-pro-ad-track{position:relative;width:100%;height:130px;border:1px solid rgba(15,23,42,.08);border-radius:14px;overflow:hidden;background:#f8fafc}.nbb-pro-ad-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .35s ease}.nbb-pro-ad-slide.is-active{opacity:1}.nbb-pro-ad-slide[hidden]{display:block!important;pointer-events:none}.nbb-pro-ad-slide img{width:100%;height:100%;object-fit:cover;display:block}.nbb-pro-ad-dots{display:flex;justify-content:center;gap:5px;margin-top:7px}.nbb-pro-ad-dots i{width:5px;height:5px;border-radius:999px;background:#cbd5e1}.nbb-pro-ad-dots i.is-active{background:#64748b}
@media(max-width:1024px) and (min-width:768px){.nbb-pro-ad-track{height:112px}}
@media(max-width:767px){.nbb-pro-ad-banner{margin-bottom:14px;padding:0 10px}.nbb-pro-ad-track{height:96px;border-radius:11px}.nbb-pro-ad-dots{margin-top:5px}}

/* v2.1.7 — banner publicitario enlazable */
.nbb-pro-ad-link{display:block;width:100%;height:100%;text-decoration:none;cursor:pointer}
.nbb-pro-ad-link img{display:block;width:100%;height:100%;object-fit:cover}

/* v2.1.8 — mayor presencia del banner Pro */
/* Alturas objetivo: escritorio 130px, tablet 112px, móvil 96px. */

/* v2.2.0 Pro / Vip */
.nbb-plan-badge.is-vip{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.nbb-plan-badge.is-pro{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}


/* v2.2.3 — publicidad Pro persistente durante la reserva */
.nbb-transmitter{overflow-x:clip!important;}
.nbb-pro-ad-banner{
 position:-webkit-sticky;
 position:sticky;
 top:0;
 z-index:900;
 margin-bottom:18px;
 padding-top:8px;
 padding-bottom:8px;
 background:rgba(246,248,251,.96);
 backdrop-filter:saturate(150%) blur(8px);
 -webkit-backdrop-filter:saturate(150%) blur(8px);
}
.nbb-pro-ad-track{box-shadow:0 6px 20px rgba(15,23,42,.08);}
.nbb-pro-ad-dots{display:none!important;}
@media(max-width:1024px){
 .nbb-pro-ad-banner{top:0;}
}
@media(max-width:767px){
 .nbb-transmitter{overflow-x:clip!important;}
 .nbb-pro-ad-banner{padding-top:6px;padding-bottom:6px;margin-bottom:12px;}
}

/* v2.2.4 — portada de servicios: vista previa visible y estable */
.nbb-service-image-editor{width:100%}
.nbb-service-image-preview{width:132px;height:96px;border-radius:18px;background:#eef3f9;position:relative}
.nbb-service-image-preview img{display:block;width:100%!important;height:100%!important;object-fit:cover!important}
.nbb-service-admin-thumb img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767px){.nbb-service-image-editor{flex-direction:row;align-items:center}.nbb-service-image-preview{width:112px;height:84px;flex:0 0 112px}}

/* ===== Reservas LinkDoma v2.3.0 · PWA del Modo Receptor ===== */
.nbb-receiver-version{
  margin:-14px 0 10px 64px!important;
  color:#8fa8c9!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
.nbb-receiver-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important}
.nbb-receiver-header-actions[hidden]{display:none!important}
.nbb-pwa-control{
  min-height:42px!important;padding:0 15px!important;border:1px solid #cbd8e9!important;border-radius:13px!important;background:#fff!important;color:#21405f!important;font:inherit!important;font-size:13px!important;font-weight:800!important;cursor:pointer!important;
}
.nbb-pwa-control:hover{border-color:#8fb4e8!important;background:#f8fbff!important}
.nbb-pwa-help[hidden]{display:none!important}
.nbb-pwa-help{position:fixed!important;inset:0!important;z-index:100000!important;display:grid!important;place-items:center!important;padding:22px!important;background:rgba(3,15,31,.55)!important}
.nbb-pwa-help>div{width:min(440px,100%)!important;background:#fff!important;border-radius:22px!important;padding:24px!important;box-shadow:0 24px 70px rgba(2,15,36,.25)!important}
.nbb-pwa-help strong{font-size:20px!important;color:#0b1730!important}.nbb-pwa-help p{color:#5f6f85!important;line-height:1.55!important}.nbb-pwa-help button{width:100%!important;border:0!important;border-radius:12px!important;background:#0868f7!important;color:#fff!important;padding:12px!important;font-weight:800!important}

/* El aspecto de app solo se activa al abrir la PWA instalada, no en Safari/Chrome normal. */
@media (display-mode: standalone) and (max-width:1024px){
  html.nbb-pwa-standalone{background:#071d3b!important;margin-top:0!important;padding-top:0!important}
  html.nbb-pwa-standalone body.nbb-receiver-page{padding-top:0!important;background:#f3f7fd!important;overscroll-behavior-y:none!important}
  html.nbb-pwa-standalone #wpadminbar{display:none!important}
  html.nbb-pwa-standalone body.admin-bar{margin-top:0!important}
  html.nbb-pwa-standalone .nbb-receiver{
    min-height:100vh!important;min-height:100dvh!important;
    padding-top:env(safe-area-inset-top)!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
    background:#f3f7fd!important;
  }
  html.nbb-pwa-standalone .nbb-receiver-mobile-header{
    position:sticky!important;top:0!important;z-index:80!important;
    padding-top:max(18px,env(safe-area-inset-top))!important;
    background:#071d3b!important;
  }
  html.nbb-pwa-standalone .nbb-receiver-tabs{top:0!important;z-index:79!important;background:#071d3b!important}
  html.nbb-pwa-standalone .nbb-receiver-main-header{padding-top:30px!important}
  html.nbb-pwa-standalone .nbb-tab-panel{padding-bottom:calc(34px + env(safe-area-inset-bottom))!important}
  html.nbb-pwa-standalone .nbb-pwa-control{background:#eaf3ff!important;border-color:#c9dcf7!important;color:#0759d5!important}
}
@media (max-width:768px){
  .nbb-receiver-version{display:none!important}
  .nbb-receiver-header-actions{width:100%!important;justify-content:flex-start!important}
  .nbb-pwa-control{flex:1 1 auto!important;min-width:0!important}
  .nbb-main-action{width:100%!important}
}


/* ===== Reservas LinkDoma v2.3.2 · Resumen móvil 2x2 compacto ===== */
@media (max-width:768px){
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-bottom:20px!important;
  }
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards>div{
    min-height:96px!important;
    padding:14px 14px!important;
    border-radius:18px!important;
    align-items:flex-start!important;
    justify-content:center!important;
    text-align:left!important;
  }
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards span{
    order:-1!important;
    margin:0 0 10px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards b{
    font-size:27px!important;
    line-height:1!important;
  }
}
@media (max-width:380px){
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards{gap:8px!important}
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards>div{min-height:90px!important;padding:12px!important;border-radius:16px!important}
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards span{font-size:11px!important;margin-bottom:9px!important}
  .nbb-tab-panel[data-panel="summary"] .nbb-summary-cards b{font-size:25px!important}
}

/* v2.4.4 — sticky publicitario corregido tras carga AJAX por país
 * El slot es hijo directo del transmisor y permanece durante todo el flujo.
 * Aplicar sticky al banner interno lo limitaba a la altura del slot AJAX. */
.nbb-transmitter{
  overflow:visible!important;
  overflow-x:visible!important;
}
.nbb-country-ad-slot{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:950!important;
  width:100%!important;
  max-width:100%!important;
  align-self:start!important;
}
.nbb-country-ad-slot .nbb-pro-ad-banner{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  width:min(100%,920px)!important;
}
@media(max-width:1024px){
  .nbb-country-ad-slot{top:0!important;}
}
@media(max-width:767px){
  .nbb-country-ad-slot{
    top:0!important;
    width:100%!important;
  }
  .nbb-country-ad-slot .nbb-pro-ad-banner{
    width:100%!important;
    max-width:100%!important;
  }
}


/* v2.5.1 — Reportes y sugerencias: layout responsive corregido */
.nbb-receiver-tabs button[data-tab="feedback"]:before{content:"✉"}
.nbb-feedback-panel{width:100%;max-width:100%;overflow:hidden}.nbb-feedback-intro{max-width:760px;margin-bottom:18px}.nbb-feedback-kicker{display:block;color:var(--nbb-blue);font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:5px}.nbb-feedback-intro h2{margin:0 0 6px}.nbb-feedback-intro p{margin:0;color:#667085;line-height:1.5}.nbb-feedback-form{width:min(100%,860px)!important;max-width:860px!important;margin:0!important}.nbb-feedback-options{border:0;padding:0;margin:0 0 22px;min-width:0}.nbb-feedback-options legend{font-size:13px;font-weight:800;color:#344054;margin-bottom:10px}.nbb-feedback-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;min-width:0!important;margin:0 0 10px!important;padding:15px 16px!important;border:1px solid #dbe3ef;border-radius:14px;background:#fff;cursor:pointer;overflow:hidden}.nbb-feedback-option:hover{border-color:#a9c8fb}.nbb-feedback-option input[type="radio"]{flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;margin:2px 0 0!important;padding:0!important;border-radius:50%!important;box-shadow:none!important;background:#fff!important;accent-color:var(--nbb-blue)}.nbb-feedback-option>span{display:block!important;flex:1 1 auto!important;min-width:0!important;width:auto!important}.nbb-feedback-option strong,.nbb-feedback-option small{display:block;max-width:100%;overflow-wrap:anywhere}.nbb-feedback-option strong{color:#101828;font-size:14px;line-height:1.3}.nbb-feedback-option small{color:#667085;font-size:12px;line-height:1.4;margin-top:3px;font-weight:500}.nbb-feedback-option:has(input:checked){border-color:var(--nbb-blue);box-shadow:0 0 0 1px var(--nbb-blue);background:#f7faff}.nbb-feedback-message{display:grid!important;width:100%!important;min-width:0!important}.nbb-feedback-message textarea{width:100%!important;max-width:100%!important;min-height:160px;resize:vertical;overflow-wrap:anywhere}.nbb-feedback-message small{font-size:11px;color:#98a2b3;font-weight:500}.nbb-feedback-form>.nbb-primary-button{width:auto;min-width:160px}
@media(max-width:767px){.nbb-feedback-panel{padding-top:18px!important}.nbb-feedback-intro{margin-bottom:14px}.nbb-feedback-intro h2{font-size:21px!important;line-height:1.25}.nbb-feedback-intro p{font-size:14px;line-height:1.45}.nbb-feedback-form{padding:16px!important;border-radius:18px!important}.nbb-feedback-options{margin-bottom:18px}.nbb-feedback-options legend{font-size:13px;margin-bottom:9px}.nbb-feedback-option{min-height:0!important;padding:13px 14px!important;gap:11px!important;border-radius:13px}.nbb-feedback-option input[type="radio"]{flex-basis:18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin-top:1px!important}.nbb-feedback-option strong{font-size:14px!important}.nbb-feedback-option small{font-size:12px!important;line-height:1.35}.nbb-feedback-message{font-size:13px!important}.nbb-feedback-message textarea{min-height:145px!important;font-size:16px!important;line-height:1.45;padding:13px!important}.nbb-feedback-form>.nbb-primary-button{width:100%;min-height:48px}.nbb-receiver-tabs button[data-tab="feedback"]{min-width:max-content!important;font-size:14px!important;padding:0 15px!important}}
@media(min-width:768px) and (max-width:1100px){.nbb-feedback-form{width:100%!important;max-width:760px!important}.nbb-feedback-option{padding:14px 15px!important}}

/* v2.5.2 - Suscripción manual */
.nbb-subscription-panel{max-width:1100px}.nbb-subscription-intro{margin-bottom:24px}.nbb-subscription-intro h2{margin:6px 0 8px}.nbb-subscription-intro p{margin:0;color:#667085}.nbb-subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nbb-subscription-grid article{background:#fff;border:1px solid #e1e8f2;border-radius:24px;padding:24px;min-height:128px;display:flex;flex-direction:column;justify-content:center;gap:10px}.nbb-subscription-grid article span{color:#667085;font-size:14px}.nbb-subscription-grid article strong{font-size:22px;color:#071936;line-height:1.2}.nbb-subscription-actions{margin-top:22px;padding:22px 24px;background:#fff;border:1px solid #e1e8f2;border-radius:24px}.nbb-cancel-subscription-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#c62828;border:1px solid #efb4b4;border-radius:14px;padding:13px 18px;font-weight:700;text-decoration:none}.nbb-cancel-subscription-button:hover{background:#fff5f5;color:#a61b1b}.nbb-subscription-actions p{margin:10px 0 0;color:#667085;font-size:14px}.nbb-subscription-note{margin-top:22px;padding:18px 20px;border:1px solid #dbe5f2;background:#fff;border-radius:18px;color:#667085}
@media(max-width:900px){.nbb-subscription-grid{grid-template-columns:1fr 1fr}.nbb-subscription-grid article:last-child{grid-column:1/-1}}
@media(max-width:600px){.nbb-subscription-panel{width:100%;max-width:none}.nbb-subscription-intro{margin-bottom:18px}.nbb-subscription-grid{grid-template-columns:1fr;gap:12px}.nbb-subscription-grid article,.nbb-subscription-grid article:last-child{grid-column:auto;min-height:0;padding:18px;border-radius:18px}.nbb-subscription-grid article strong{font-size:19px}.nbb-subscription-actions{padding:18px;border-radius:18px}.nbb-cancel-subscription-button{width:100%;box-sizing:border-box}}

/* v2.5.4 - ubicación enlazada y porcentaje de anticipo */
.nbb-location{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#64748b;margin:10px;text-decoration:none;line-height:1.35}.nbb-location-icon{width:17px;height:17px;flex:0 0 17px}.nbb-location.is-linked{cursor:pointer;transition:color .18s ease,opacity .18s ease}.nbb-location.is-linked:hover{color:var(--nbb-accent)}.nbb-location.is-linked:focus-visible{outline:2px solid var(--nbb-accent);outline-offset:4px;border-radius:6px}.nbb-payment-percentage-card .nbb-rule-inline{min-width:118px}.nbb-payment-percentage-card input{max-width:90px;text-align:center}.nbb-payment-badge{white-space:normal;text-align:center}
@media(max-width:767px){.nbb-location{max-width:100%;margin:10px auto;flex-wrap:nowrap}.nbb-location span{overflow-wrap:anywhere}.nbb-payment-percentage-card .nbb-rule-inline{width:100%;justify-content:flex-start}.nbb-payment-percentage-card input{max-width:110px}}

/* v2.5.5 — Plantilla Elementor "Funciones futuras" dentro de Reportes y sugerencias */
.nbb-future-functions-section{margin-top:28px;min-width:0;width:100%}
.nbb-future-functions-heading{margin:0 0 14px}
.nbb-future-functions-heading h3{margin:4px 0 0;font-size:22px;line-height:1.2;color:#081a3a}
.nbb-future-functions-preview{width:100%;max-width:100%;min-width:0;overflow:hidden;border-radius:22px}
.nbb-future-functions-preview>.elementor{width:100%;max-width:100%}
.nbb-future-functions-preview img,.nbb-future-functions-preview video,.nbb-future-functions-preview iframe{max-width:100%}
@media(max-width:767px){
 .nbb-future-functions-section{margin-top:22px}
 .nbb-future-functions-heading h3{font-size:20px}
 .nbb-future-functions-preview{border-radius:18px;overflow:hidden}
 .nbb-future-functions-preview .e-con,.nbb-future-functions-preview .elementor-element{max-width:100%;min-width:0}
}

/* v2.5.7 — confirmaciones y recordatorios por correo */
.nbb-email-reminder-settings{display:grid;gap:14px!important;padding:22px!important;border-radius:24px!important;background:#fff!important;border:1px solid #dbe3ef!important}
.nbb-email-reminder-settings .nbb-setting-card-heading h3{margin:0 0 6px;color:#071d3b;font-size:18px!important}.nbb-email-reminder-settings .nbb-setting-card-heading p{margin:0;color:#6b7e99;font-size:14px!important;line-height:1.5}
.nbb-switch-row{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:space-between;gap:18px;margin:0!important;padding:14px 0;border-top:1px solid #edf2f7}.nbb-switch-row>span{display:grid;gap:3px}.nbb-switch-row strong{color:#0b1f3a;font-size:14px}.nbb-switch-row small{color:#718096;font-weight:500;line-height:1.4}.nbb-switch-row input[type=checkbox]{width:46px!important;min-width:46px!important;height:26px!important;margin:0!important;accent-color:#0065FE}
.nbb-reminder-time-row{display:grid;grid-template-columns:140px minmax(180px,1fr);gap:10px;padding:14px;border-radius:16px;background:#f6f9fe;border:1px solid #e0e9f6}.nbb-reminder-time-row[hidden]{display:none!important}.nbb-reminder-time-row label{margin:0!important}.nbb-reminder-time-row label>span{font-size:12px;font-weight:800;color:#536984}.nbb-reminder-time-row input,.nbb-reminder-time-row select{min-height:46px;border:1px solid #d8e2ef!important;border-radius:14px!important;background:#fff!important;font-size:16px!important}.nbb-setting-help{margin:0;color:#718096;font-size:12px;line-height:1.5}
.nbb-email-delivery-status{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 16px}.nbb-email-delivery-status>div{padding:12px 14px;border:1px solid #e0e8f3;border-radius:14px;background:#f8fbff}.nbb-email-delivery-status span{display:block;font-size:11px;color:#7a8ba3;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.nbb-email-delivery-status strong{display:block;margin-top:4px;color:#173356;font-size:13px}
@media(max-width:767px){.nbb-switch-row{align-items:flex-start}.nbb-reminder-time-row{grid-template-columns:1fr 1fr}.nbb-email-delivery-status{grid-template-columns:1fr}.nbb-email-reminder-settings{padding:18px!important;border-radius:20px!important}}

/* v2.5.8 · recordatorio manual por email */
.nbb-email-now-button{margin:12px 0 4px;width:100%;border:1px solid #b9cff3;background:#eef5ff;color:#0755c9;border-radius:12px;padding:12px 14px;font-weight:800;cursor:pointer;transition:.18s ease}
.nbb-email-now-button:hover{background:#e2edff;border-color:#8fb2eb}.nbb-email-now-button:disabled{opacity:.65;cursor:wait}.nbb-email-now-help{margin:0 0 14px;color:#64748b;font-size:12px;line-height:1.45}
@media(max-width:767px){.nbb-email-now-button{min-height:44px;font-size:14px}.nbb-email-now-help{font-size:11px}}

/* v2.5.9 — acciones de recordatorio por email VIP */
.nbb-request-actions.has-email-reminder{grid-template-columns:repeat(3,minmax(0,1fr))!important}.nbb-request-actions .nbb-email-now-action{display:flex;align-items:center;justify-content:center;gap:10px;background:#eef4ff!important;color:#1559c5!important;border:1px solid #bcd2ff!important;border-radius:12px!important;padding:13px!important;font-size:14px!important}.nbb-request-actions .nbb-email-now-action:disabled{opacity:.65;cursor:wait}@media(max-width:760px){.nbb-request-actions.has-email-reminder{grid-template-columns:1fr!important}.nbb-request-actions .nbb-email-now-action{min-height:54px;font-size:15px!important;border-radius:13px!important}}


/* ===== Reservas LinkDoma v2.5.11 · Mobile app-style receptor navigation ===== */
.nbb-mobile-app-nav,.nbb-mobile-more-sheet,.nbb-mobile-more-backdrop{display:none}
@media (max-width:768px){
  body.nbb-receiver-page{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  body.nbb-mobile-sheet-open{overflow:hidden!important}
  .nbb-receiver-tabs{display:none!important}
  .nbb-receiver-mobile-header{
    position:sticky!important;top:0!important;z-index:70!important;
    padding:calc(12px + env(safe-area-inset-top,0px)) 18px 12px!important;
    min-height:72px!important;background:rgba(7,29,59,.97)!important;
    box-shadow:0 1px 0 rgba(255,255,255,.07)!important;
    backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px)
  }
  .nbb-mobile-brand-icon{width:43px!important;height:43px!important;flex-basis:43px!important;border-radius:13px!important;font-size:13px!important;box-shadow:none!important}
  .nbb-receiver-mobile-header strong{font-size:17px!important}.nbb-receiver-mobile-header span{font-size:11px!important;margin-top:2px!important}
  .nbb-receiver-main-header{padding:24px 18px 18px!important}
  .nbb-receiver-main-header h1{font-size:28px!important}
  .nbb-tab-panel{padding:0 16px 28px!important;animation:nbbAppPanelIn .2s ease both}
  @keyframes nbbAppPanelIn{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
  .nbb-mobile-app-nav{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:99970!important;
    height:calc(70px + env(safe-area-inset-bottom,0px))!important;
    padding:7px 8px env(safe-area-inset-bottom,0px)!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:start!important;
    background:rgba(255,255,255,.96)!important;border-top:1px solid #e6ebf2!important;
    box-shadow:0 -10px 30px rgba(18,43,76,.08)!important;
    backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)
  }
  .nbb-mobile-app-nav button{
    appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;
    min-width:0!important;height:58px!important;padding:4px 2px!important;margin:0!important;border-radius:14px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    color:#778397!important;font-size:10px!important;line-height:1!important;font-weight:700!important;cursor:pointer!important
  }
  .nbb-mobile-app-nav button.is-active{color:#0868f7!important;background:#eef5ff!important}
  .nbb-mobile-nav-icon{width:25px!important;height:25px!important;display:grid!important;place-items:center!important}
  .nbb-mobile-nav-icon svg{width:23px!important;height:23px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .nbb-mobile-nav-icon svg circle{fill:currentColor!important;stroke:none!important}
  .nbb-mobile-more-backdrop{
    display:block;position:fixed!important;inset:0!important;z-index:99978!important;background:rgba(4,14,29,.45)!important;
    backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)
  }
  .nbb-mobile-more-backdrop[hidden],.nbb-mobile-more-sheet[hidden]{display:none!important}
  .nbb-mobile-more-sheet{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:99979!important;
    display:block!important;max-height:min(78vh,650px)!important;overflow:auto!important;
    padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px))!important;
    background:#f8faff!important;border-radius:28px 28px 0 0!important;
    box-shadow:0 -20px 60px rgba(3,19,42,.24)!important;animation:nbbMobileSheetIn .22s ease both
  }
  @keyframes nbbMobileSheetIn{from{transform:translateY(35%);opacity:.5}to{transform:none;opacity:1}}
  .nbb-mobile-sheet-handle{width:42px!important;height:5px!important;border-radius:999px!important;background:#cfd7e4!important;margin:2px auto 13px!important}
  .nbb-mobile-sheet-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:3px 4px 15px!important}
  .nbb-mobile-sheet-header>div>span{display:block!important;color:#0868f7!important;font-size:10px!important;font-weight:900!important;letter-spacing:.13em!important}
  .nbb-mobile-sheet-header strong{display:block!important;margin-top:3px!important;color:#10203b!important;font-size:20px!important}
  .nbb-mobile-sheet-header>button{width:38px!important;height:38px!important;border:0!important;border-radius:50%!important;background:#e9eef6!important;color:#40506a!important;font-size:25px!important;line-height:1!important}
  .nbb-mobile-sheet-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .nbb-mobile-sheet-grid>button{
    width:100%!important;min-height:82px!important;border:1px solid #e2e8f1!important;border-radius:18px!important;background:#fff!important;
    padding:14px!important;display:flex!important;align-items:center!important;gap:11px!important;text-align:left!important;color:#10203b!important;
    box-shadow:0 6px 18px rgba(26,61,102,.045)!important
  }
  .nbb-mobile-sheet-grid>button>b{width:34px!important;height:34px!important;flex:0 0 34px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:#edf4ff!important;color:#0868f7!important;font-size:17px!important}
  .nbb-mobile-sheet-grid>button span{min-width:0!important}.nbb-mobile-sheet-grid>button strong{display:block!important;font-size:13px!important;line-height:1.2!important}.nbb-mobile-sheet-grid>button small{display:block!important;margin-top:4px!important;color:#7a8799!important;font-size:10px!important;line-height:1.25!important}
  html.nbb-pwa-standalone .nbb-receiver-mobile-header{padding-top:calc(12px + env(safe-area-inset-top,0px))!important}
  html.nbb-pwa-standalone .nbb-mobile-app-nav{bottom:0!important}
}
@media (max-width:390px){
  .nbb-mobile-app-nav button{font-size:9px!important}.nbb-mobile-nav-icon svg{width:21px!important;height:21px!important}
  .nbb-mobile-sheet-grid{grid-template-columns:1fr!important}.nbb-mobile-sheet-grid>button{min-height:70px!important}
}

/* v2.5.12 — precios recurrentes y zonas horarias */
.nbb-service-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:5px}.nbb-service-price>b{color:var(--nbb-accent)!important}.nbb-service-price>b small{font-size:.78em;font-weight:800;color:inherit}.nbb-service-price>span{font-size:12px;font-weight:800;color:#64748b!important;background:#f1f5f9;border-radius:999px;padding:4px 8px}.nbb-timezone-note{margin:0 0 12px;padding:9px 11px;border-radius:12px;background:#f3f7fd;color:#52677f;font-size:12px;font-weight:700}.nbb-billing-fields{margin-top:14px}.nbb-timezone-control{display:flex;align-items:end;gap:10px;min-width:min(100%,430px)}.nbb-timezone-control>label{flex:1;margin:0!important}.nbb-timezone-control .nbb-secondary-button{white-space:nowrap;min-height:44px}
@media(max-width:767px){.nbb-service-price{align-items:flex-start;flex-direction:column;gap:5px}.nbb-timezone-control{align-items:stretch;flex-direction:column;width:100%}.nbb-timezone-control .nbb-secondary-button{width:100%}}

/* v2.5.13 - enlaces de pago por servicio y recurrencia */
.nbb-payment-service-links{display:grid;gap:12px;padding:18px;border:1px solid #e5e7eb;border-radius:18px;background:#fff}
.nbb-payment-service-links[hidden],.nbb-service-form [data-recurrence-field][hidden]{display:none!important}
.nbb-payment-service-links-head p{margin:4px 0 0;color:#64748b}
.nbb-payment-service-links label{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.5fr);gap:12px;align-items:center}
.nbb-payment-service-links label span{font-weight:700;color:#0f172a}
.nbb-payment-service-links input{width:100%;min-width:0}
.nbb-request-recurrence{margin:5px 0;color:#475569;font-size:.92rem}
.nbb-request-recurrence b{color:#0f172a}
@media(max-width:767px){.nbb-payment-service-links label{grid-template-columns:1fr;gap:6px}.nbb-payment-service-links{padding:14px}.nbb-request-recurrence{font-size:.88rem}}

/* v2.5.19 · Web Push */
.nbb-notifications-panel{max-width:980px!important}
.nbb-notifications-intro{margin-bottom:18px!important}
.nbb-notifications-intro h2{margin:4px 0 8px!important}
.nbb-notifications-intro p{margin:0!important;color:#66758a!important;line-height:1.55!important}
.nbb-push-status-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:20px!important;border:1px solid #dfe8f5!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 30px rgba(13,45,90,.06)!important}
.nbb-push-status-card>div:first-child{display:grid!important;gap:5px!important}.nbb-push-status-card span{font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;color:#718096!important;text-transform:uppercase!important}.nbb-push-status-card strong{font-size:18px!important;color:#0b1730!important}.nbb-push-status-card small{color:#66758a!important;line-height:1.45!important}.nbb-push-status-card small.is-error{color:#b42318!important}.nbb-push-status-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.nbb-push-status-actions button[hidden]{display:none!important}
.nbb-ios-install-guide,.nbb-push-preferences,.nbb-push-devices{margin-top:18px!important;padding:20px!important;border:1px solid #dfe8f5!important;border-radius:18px!important;background:#fff!important}.nbb-ios-install-guide[hidden]{display:none!important}.nbb-ios-install-guide h3,.nbb-push-preferences h3,.nbb-push-devices h3{margin:0 0 12px!important;color:#0b1730!important}.nbb-ios-install-guide ol{margin:0!important;padding-left:22px!important;color:#506078!important;line-height:1.7!important}
.nbb-push-preferences{display:grid!important;gap:12px!important}.nbb-push-preferences label{display:flex!important;align-items:center!important;gap:10px!important;padding:12px 14px!important;background:#f7faff!important;border:1px solid #e7eef8!important;border-radius:12px!important;color:#20314b!important;font-weight:700!important}.nbb-push-preferences input{width:18px!important;height:18px!important}
.nbb-push-devices [data-nbb-push-devices-list]{display:grid!important;gap:10px!important}.nbb-push-device{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:14px 16px!important;border:1px solid #e4ebf5!important;border-radius:14px!important;background:#fbfdff!important}.nbb-push-device>div{display:grid!important;gap:3px!important}.nbb-push-device strong{color:#0b1730!important}.nbb-push-device strong em{display:inline-block!important;margin-left:6px!important;padding:3px 7px!important;border-radius:999px!important;background:#e9f8f0!important;color:#087443!important;font-size:10px!important;font-style:normal!important}.nbb-push-device small,.nbb-push-device span{font-size:12px!important;color:#6b7a90!important}.nbb-push-device.is-inactive{opacity:.65!important}.nbb-push-device button{border:1px solid #e2e8f0!important;background:#fff!important;border-radius:10px!important;padding:8px 10px!important;color:#9b1c1c!important;font-weight:800!important;cursor:pointer!important}
@media(max-width:768px){.nbb-push-status-card{align-items:stretch!important;flex-direction:column!important;padding:16px!important}.nbb-push-status-actions{display:grid!important;grid-template-columns:1fr!important}.nbb-push-status-actions button{width:100%!important}.nbb-ios-install-guide,.nbb-push-preferences,.nbb-push-devices{padding:16px!important}.nbb-push-device{align-items:flex-start!important}.nbb-push-device button{flex:0 0 auto!important}}

/* v2.5.24 · Calendario, horarios especiales y bloqueos */
.nbb-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:14px 16px;border:1px solid #dfe7f2;border-radius:18px;background:#fff}.nbb-quick-actions>span{font-size:10px;font-weight:900;letter-spacing:.13em;color:#6b7b91}.nbb-quick-actions>div{display:flex;gap:8px;flex-wrap:wrap}.nbb-quick-actions button{border:1px solid #d8e2ef;background:#fff;color:#24354f;border-radius:12px;padding:10px 13px;font-weight:800;cursor:pointer}.nbb-quick-actions .nbb-quick-primary{background:#0868f7;color:#fff;border-color:#0868f7}
.nbb-calendar-panel{max-width:none!important}.nbb-calendar-toolbar,.nbb-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.nbb-calendar-toolbar{margin-bottom:14px}.nbb-calendar-toolbar h2{margin:3px 0 0}.nbb-calendar-controls{padding:14px;border:1px solid #dfe7f2;border-radius:18px;background:#fff;flex-wrap:wrap}.nbb-calendar-nav-actions,.nbb-calendar-view-switch{display:flex;gap:6px;flex-wrap:wrap}.nbb-calendar-nav-actions button,.nbb-calendar-view-switch button{border:1px solid #dce4ef;background:#fff;color:#41516a;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}.nbb-calendar-view-switch button.is-active{background:#0b67f5;border-color:#0b67f5;color:#fff}.nbb-calendar-controls>strong{color:#0b1730;font-size:18px;text-transform:capitalize}.nbb-calendar-legend-receiver{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0 14px;color:#64748b;font-size:12px;font-weight:700}.nbb-calendar-legend-receiver span{display:flex;align-items:center;gap:6px}.nbb-calendar-legend-receiver i{width:10px;height:10px;border-radius:999px}.nbb-calendar-legend-receiver .is-appointment{background:#3b82f6}.nbb-calendar-legend-receiver .is-break{background:#f59e0b}.nbb-calendar-legend-receiver .is-block{background:#ef4444}.nbb-calendar-legend-receiver .is-special{background:#8b5cf6}.nbb-calendar-stage{min-height:420px;border:1px solid #dfe7f2;border-radius:22px;background:#fff;overflow:hidden}.nbb-calendar-loading,.nbb-calendar-empty{padding:38px;text-align:center;color:#718096}.nbb-cal-month-weekdays,.nbb-cal-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.nbb-cal-month-weekdays{background:#f7f9fc;border-bottom:1px solid #e4eaf2}.nbb-cal-month-weekdays span{padding:10px;text-align:center;color:#6d7b8f;font-size:11px;font-weight:900;text-transform:uppercase}.nbb-cal-month-grid{min-height:480px}.nbb-cal-month-day,.nbb-cal-month-empty{min-height:96px;border:0;border-right:1px solid #edf1f6;border-bottom:1px solid #edf1f6;background:#fff;padding:9px;text-align:left;position:relative}.nbb-cal-month-day{cursor:pointer;color:#26354d}.nbb-cal-month-day>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-weight:900}.nbb-cal-month-day>b,.nbb-cal-month-day>small{display:block;margin-top:5px;font-size:10px}.nbb-cal-month-day>b{color:#0868f7}.nbb-cal-month-day>small{color:#7c3aed}.nbb-cal-month-day.is-today>span{background:#0868f7;color:#fff}.nbb-cal-month-day.is-selected{box-shadow:inset 0 0 0 2px #86b5ff}.nbb-cal-month-day.is-closed{background:#fbfcfd;color:#a3adbb}.nbb-cal-month-day.is-blocked{background:#fff6f6}.nbb-cal-month-day.has-special:after{content:'';position:absolute;right:9px;top:9px;width:7px;height:7px;border-radius:50%;background:#8b5cf6}.nbb-cal-week-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));min-width:980px;overflow:visible}.nbb-cal-week-day{border-right:1px solid #edf1f6;min-height:480px;background:#fff}.nbb-cal-week-day.is-today{background:#f8fbff}.nbb-cal-day-heading{width:100%;border:0;border-bottom:1px solid #edf1f6;background:transparent;padding:12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.nbb-cal-day-heading span{font-size:11px;font-weight:900;text-transform:uppercase;color:#6b7b90}.nbb-cal-day-heading b{font-size:20px;color:#0b1730}.nbb-cal-day-hours{padding:8px;display:grid;gap:7px}.nbb-cal-event,.nbb-cal-free{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;width:100%;border-radius:12px;padding:10px;text-align:left}.nbb-cal-event{border:1px solid transparent;cursor:pointer}.nbb-cal-event>b,.nbb-cal-free>b{font-size:11px;white-space:nowrap}.nbb-cal-event span,.nbb-cal-free span{min-width:0}.nbb-cal-event strong,.nbb-cal-event small{display:block}.nbb-cal-event strong{font-size:12px}.nbb-cal-event small{margin-top:2px;font-size:10px;opacity:.8}.nbb-cal-event.is-appointment{background:#eef5ff;border-color:#d7e8ff;color:#174f9f}.nbb-cal-event.is-break{background:#fff8e8;border-color:#fde6ad;color:#8a5c05;cursor:default}.nbb-cal-event.is-block{background:#fff0f0;border-color:#ffd6d6;color:#a42626}.nbb-cal-event.is-special{background:#f6f1ff;border-color:#e5d9ff;color:#6e36b5}.nbb-cal-free{background:#f8fafc;color:#6b7b8e;border:1px dashed #dbe3ee}.nbb-cal-closed-note{padding:14px;text-align:center;color:#9aa6b5;font-weight:800}.nbb-cal-day-view{padding:20px}.nbb-cal-day-view>header{padding-bottom:16px;border-bottom:1px solid #e7edf5}.nbb-cal-day-view>header>span{font-size:10px;font-weight:900;letter-spacing:.14em;color:#0868f7}.nbb-cal-day-view h3{margin:5px 0 4px;text-transform:capitalize}.nbb-cal-day-view p{margin:0;color:#718096}.nbb-cal-day-list{display:grid;gap:8px;margin-top:16px}.nbb-cal-agenda{padding:16px;display:grid;gap:18px}.nbb-cal-agenda-day h3{margin:0 0 9px;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#52647c}.nbb-cal-agenda-day{display:grid;gap:7px}.nbb-special-hours-section{margin-top:24px;padding:18px;border:1px solid #dfe7f2;border-radius:20px;background:#fff}.nbb-special-hours-section .nbb-panel-heading{margin:0 0 14px}.nbb-special-hours-tabs{display:flex;gap:6px;margin-bottom:12px}.nbb-special-hours-tabs button{border:1px solid #dce4ef;background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;color:#5b6b82}.nbb-special-hours-tabs button.is-active{background:#0b67f5;color:#fff;border-color:#0b67f5}.nbb-special-hour-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #edf1f6}.nbb-special-hour-item:first-child{border-top:0}.nbb-special-hour-item>div:first-child{display:grid;gap:3px}.nbb-special-hour-item span{font-size:12px;color:#66758a}.nbb-special-hour-item.is-closed span{color:#a12626}.nbb-inline-actions{display:flex;gap:6px}.nbb-inline-actions button{border:1px solid #dce4ef;background:#fff;border-radius:9px;padding:7px 9px;font-weight:800;cursor:pointer}.nbb-inline-actions .is-danger{color:#b42318}.nbb-special-type{display:flex;gap:12px;flex-wrap:wrap;border:1px solid #e1e8f2;border-radius:14px;padding:12px;margin:0 0 14px}.nbb-special-type legend{padding:0 6px;font-size:12px;font-weight:900;color:#56687f}.nbb-special-type label{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:7px!important;margin:0!important;color:#253650!important}.nbb-special-type input{width:auto!important}.nbb-schedule-block-modal [data-block-time-fields][hidden],.nbb-special-hour-modal [data-special-time-fields][hidden]{display:none!important}.nbb-block-conflicts{margin:12px 0;padding:12px;border:1px solid #f3c8c8;background:#fff6f6;border-radius:12px;color:#8c2727}.nbb-block-conflicts[hidden]{display:none!important}.nbb-block-conflicts ul{margin:8px 0;padding-left:18px}
@media(max-width:768px){.nbb-quick-actions{align-items:stretch;flex-direction:column}.nbb-quick-actions>div{display:grid;grid-template-columns:1fr 1fr}.nbb-calendar-toolbar{align-items:stretch;flex-direction:column}.nbb-calendar-toolbar .nbb-primary-button{width:100%}.nbb-calendar-controls{align-items:stretch;flex-direction:column}.nbb-calendar-controls>strong{order:-1}.nbb-calendar-nav-actions,.nbb-calendar-view-switch{display:grid;grid-template-columns:repeat(3,1fr)}.nbb-calendar-view-switch{grid-template-columns:repeat(4,1fr)}.nbb-calendar-nav-actions button,.nbb-calendar-view-switch button{padding:10px 6px;font-size:11px}.nbb-calendar-stage{border-radius:18px;overflow-x:auto;-webkit-overflow-scrolling:touch}.nbb-cal-month-weekdays span{padding:8px 2px;font-size:9px}.nbb-cal-month-day,.nbb-cal-month-empty{min-height:72px;padding:6px}.nbb-cal-month-day>span{width:24px;height:24px;font-size:12px}.nbb-cal-month-day>b,.nbb-cal-month-day>small{font-size:8px;line-height:1.15}.nbb-cal-month-grid{min-height:380px}.nbb-cal-week-grid{min-width:1120px}.nbb-cal-day-view{padding:14px}.nbb-cal-event,.nbb-cal-free{padding:11px}.nbb-special-hours-section{padding:14px}.nbb-special-hours-section .nbb-panel-heading{align-items:stretch;flex-direction:column}.nbb-special-hour-item{align-items:flex-start;flex-direction:column}.nbb-inline-actions{width:100%}.nbb-inline-actions button{flex:1}.nbb-schedule-block-modal,.nbb-special-hour-modal{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.nbb-mobile-app-nav button[data-mobile-tab="calendar"] span:last-child{font-size:9px!important}}
@media(max-width:390px){.nbb-quick-actions>div{grid-template-columns:1fr}.nbb-calendar-view-switch{grid-template-columns:1fr 1fr}.nbb-calendar-nav-actions{grid-template-columns:1fr 1fr 1fr}.nbb-cal-month-day>b{display:none}}
.nbb-cal-event.is-appointment.nbb-confirmed{border-left:4px solid #16a34a}.nbb-cal-event.is-appointment.nbb-pending,.nbb-cal-event.is-appointment.nbb-pending_payment{border-left:4px solid #eab308}.nbb-cal-event.is-appointment.nbb-completed{border-left:4px solid #2563eb}.nbb-cal-event.is-appointment.nbb-cancelled,.nbb-cal-event.is-appointment.nbb-rejected{border-left:4px solid #dc2626;opacity:.68}.nbb-cal-event.is-appointment.nbb-no_show{border-left:4px solid #64748b}

/* v2.5.25 — Inicio compacto + acciones principales y calendario con caché cliente */
.nbb-summary-primary-actions{display:flex;align-items:stretch;gap:10px;flex:1 1 100%;justify-content:flex-end}
.nbb-summary-primary-actions .nbb-main-action,.nbb-summary-primary-actions .nbb-main-block-action{min-height:48px;flex:1 1 0;white-space:nowrap}
.nbb-main-block-action{border:1px solid #cbd8e9!important;background:#fff!important;color:#17304f!important;font-weight:850!important}
.nbb-main-block-action:hover{border-color:#91b5e7!important;background:#f7fbff!important}
@media(min-width:769px){.nbb-summary-primary-actions{flex:0 1 auto}.nbb-summary-primary-actions .nbb-main-action,.nbb-summary-primary-actions .nbb-main-block-action{flex:0 0 auto;min-width:170px}}
@media(max-width:768px){.nbb-summary-primary-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;gap:10px!important}.nbb-summary-primary-actions .nbb-main-action,.nbb-summary-primary-actions .nbb-main-block-action{width:100%!important;min-width:0!important;padding-left:10px!important;padding-right:10px!important;font-size:13px!important}.nbb-main-action{width:auto!important}}
@media(max-width:390px){.nbb-summary-primary-actions .nbb-main-action,.nbb-summary-primary-actions .nbb-main-block-action{font-size:12px!important}}

/* ===== Reservas LinkDoma v2.5.26 · Acciones principales del Inicio alineadas ===== */
.nbb-summary-primary-actions .nbb-main-action,
.nbb-summary-primary-actions .nbb-main-block-action{
  min-height:50px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:768px){
  .nbb-summary-primary-actions .nbb-main-action,
  .nbb-summary-primary-actions .nbb-main-block-action{
    height:54px!important;
    min-height:54px!important;
    margin-top:22px!important;
  }
}

/* v2.5.27 - Variantes y extras */
.nbb-options-step{gap:18px}.nbb-option-list{display:grid;gap:10px}.nbb-option-card{display:flex!important;align-items:center;gap:12px;padding:14px 16px;border:1px solid #d8e1ef;border-radius:16px;background:#fff;cursor:pointer}.nbb-option-card input{width:20px!important;height:20px!important;min-width:20px}.nbb-option-card span{display:flex;flex-direction:column;gap:4px}.nbb-option-card small{color:#66758f}.nbb-option-card:has(input:checked){border-color:var(--nbb-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--nbb-accent) 16%,transparent)}.nbb-live-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#f4f8ff;border-radius:16px}.nbb-live-total strong{font-size:18px}.nbb-live-total span{color:#596981}.nbb-options-step [data-variant-options].has-error .nbb-option-list{outline:2px solid #d93025;border-radius:16px}.nbb-service-feature-pill{display:inline-flex;margin:6px 6px 0 0;padding:4px 8px;border-radius:999px;background:#eef5ff;color:#1768d7;font-size:12px;font-weight:700}.nbb-service-options-admin{display:grid;gap:14px;margin:18px 0}.nbb-feature-toggle{display:flex!important;align-items:flex-start;gap:12px;padding:14px;border:1px solid #dbe4f0;border-radius:16px;background:#f8fbff}.nbb-feature-toggle input{width:20px!important;height:20px!important;margin-top:2px}.nbb-feature-toggle span{display:grid;gap:3px}.nbb-feature-toggle small{color:#6b7890}.nbb-repeater-section{padding:14px;border:1px solid #dbe4f0;border-radius:16px;background:#fff}.nbb-repeater-head,.nbb-repeater-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.nbb-repeater-head{margin-bottom:12px}.nbb-repeater-row{padding:14px 0;border-top:1px solid #edf1f6}.nbb-repeater-row:first-child{border-top:0}.nbb-repeater-row-head{margin-bottom:10px}.nbb-repeater-row-head button{border:1px solid #d6dfeb;background:#fff;border-radius:10px;min-width:36px;height:36px}.nbb-inline-check{display:flex!important;align-items:center;gap:8px;margin-top:8px}.nbb-inline-check input{width:18px!important;height:18px!important}.nbb-booking-snapshot{padding:14px;border-radius:16px;background:#f5f8fc;border:1px solid #dce5f0}.nbb-booking-snapshot>strong{display:block;margin-bottom:10px}.nbb-booking-snapshot dl{margin:0;display:grid;gap:8px}.nbb-booking-snapshot dl div{display:grid;grid-template-columns:110px 1fr;gap:10px}.nbb-booking-snapshot dt{font-weight:700;color:#66758c}.nbb-booking-snapshot dd{margin:0}.nbb-request-option{margin:3px 0;color:#64738b;font-size:13px}
@media(max-width:767px){.nbb-live-total{align-items:flex-start;flex-direction:column}.nbb-repeater-head{align-items:flex-start;flex-direction:column}.nbb-repeater-head .nbb-secondary-button{width:100%}.nbb-repeater-row .nbb-three{grid-template-columns:1fr!important}.nbb-booking-snapshot dl div{grid-template-columns:1fr;gap:2px}.nbb-option-card{padding:13px}}

/* ===== Reservas LinkDoma v2.6.0 · Tarjeta de Fidelidad ===== */


/* ===== Reservas LinkDoma v2.7.13 · Modo oscuro del Modo Receptor ===== */
.nbb-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid #d6e0ec;border-radius:999px;background:#fff;color:#17304f;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.nbb-theme-toggle [data-theme-icon]{font-size:17px;line-height:1}.nbb-receiver-header-stack{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.nbb-theme-toggle-mobile{display:none;margin-left:auto;width:42px;height:42px;min-height:42px;padding:0}.nbb-mobile-brand-copy{min-width:0}
.nbb-receiver.nbb-theme-dark{--nbb-primary:#eef4ff;--nbb-bg:#111827;background:#0b1220;color:#e8eef8;color-scheme:dark}.nbb-theme-dark .nbb-receiver-tabs{border-color:#263449}.nbb-theme-dark .nbb-receiver-tabs button{color:#a9b7cb}.nbb-theme-dark .nbb-receiver-tabs button:hover{background:#162235;color:#f7fbff}.nbb-theme-dark .nbb-receiver-tabs button.is-active{background:#146ef5;color:#fff}.nbb-theme-dark .nbb-receiver-brand small,.nbb-theme-dark .nbb-receiver-heading-copy>span,.nbb-theme-dark .nbb-muted,.nbb-theme-dark .nbb-summary-cards span,.nbb-theme-dark .nbb-request-card p,.nbb-theme-dark .nbb-services-admin p,.nbb-theme-dark .nbb-service-admin-copy small,.nbb-theme-dark .nbb-tab-panel label,.nbb-theme-dark .nbb-modal label,.nbb-theme-dark .nbb-feature-toggle small,.nbb-theme-dark .nbb-option-card small,.nbb-theme-dark .nbb-booking-snapshot dt,.nbb-theme-dark .nbb-cal-day-view p,.nbb-theme-dark .nbb-special-hour-item span{color:#9fb0c7!important}.nbb-theme-dark .nbb-summary-cards>div,.nbb-theme-dark .nbb-request-card,.nbb-theme-dark .nbb-public-link,.nbb-theme-dark .nbb-ajax-form,.nbb-theme-dark .nbb-services-admin article,.nbb-theme-dark .nbb-special-hours-section,.nbb-theme-dark .nbb-calendar-stage,.nbb-theme-dark .nbb-modal-card,.nbb-theme-dark .nbb-repeater-section,.nbb-theme-dark .nbb-option-card,.nbb-theme-dark .nbb-public-page-card,.nbb-theme-dark .nbb-subscription-card,.nbb-theme-dark .nbb-analytics-card,.nbb-theme-dark .nbb-feedback-form,.nbb-theme-dark .nbb-feedback-option,.nbb-theme-dark .nbb-booking-snapshot,.nbb-theme-dark .nbb-email-delivery-status,.nbb-theme-dark .nbb-danger-zone,.nbb-theme-dark .nbb-pwa-help>div{background:#121c2c!important;border-color:#2a3a51!important;color:#e8eef8}.nbb-theme-dark input,.nbb-theme-dark textarea,.nbb-theme-dark select{background:#0d1726!important;border-color:#304158!important;color:#eef4ff!important}.nbb-theme-dark input::placeholder,.nbb-theme-dark textarea::placeholder{color:#71839d}.nbb-theme-dark .nbb-secondary-button,.nbb-theme-dark .nbb-edit-button,.nbb-theme-dark .nbb-services-admin button,.nbb-theme-dark .nbb-inline-actions button,.nbb-theme-dark .nbb-special-hours-tabs button,.nbb-theme-dark .nbb-calendar-nav-actions button,.nbb-theme-dark .nbb-calendar-view-switch button,.nbb-theme-dark .nbb-refresh-button,.nbb-theme-dark .nbb-icon-button,.nbb-theme-dark .nbb-main-block-action,.nbb-theme-dark .nbb-theme-toggle{background:#172337!important;border-color:#34465f!important;color:#e8eef8!important}.nbb-theme-dark .nbb-secondary-button:hover,.nbb-theme-dark .nbb-theme-toggle:hover{background:#1d2c43!important}.nbb-theme-dark .nbb-main-block-action:hover{background:#1d2c43!important;border-color:#45658d!important}.nbb-theme-dark .nbb-feature-toggle,.nbb-theme-dark .nbb-live-total,.nbb-theme-dark .nbb-selection-summary,.nbb-theme-dark .nbb-cal-free,.nbb-theme-dark .nbb-appointment-tools,.nbb-theme-dark .nbb-search-field{background:#0f1928!important;border-color:#2a3a51!important;color:#e8eef8}.nbb-theme-dark .nbb-service-feature-pill{background:#172d4d;color:#8fc0ff}.nbb-theme-dark .nbb-calendar-controls,.nbb-theme-dark .nbb-cal-month-weekdays,.nbb-theme-dark .nbb-cal-month-grid,.nbb-theme-dark .nbb-cal-week-grid,.nbb-theme-dark .nbb-cal-day-view>header{border-color:#2a3a51}.nbb-theme-dark .nbb-cal-month-day{color:#dfe8f5}.nbb-theme-dark .nbb-cal-month-day:hover{background:#19273a}.nbb-theme-dark .nbb-cal-month-day.is-selected{background:#174f9d}.nbb-theme-dark .nbb-cal-month-empty{background:#0d1624}.nbb-theme-dark .nbb-cal-day-view,.nbb-theme-dark .nbb-cal-agenda{background:#121c2c}.nbb-theme-dark .nbb-cal-agenda-day h3{color:#aebdd0}.nbb-theme-dark .nbb-receiver-message{background:#152238;border:1px solid #2d405b;color:#e8eef8}.nbb-theme-dark .nbb-receiver-mobile-header,.nbb-theme-dark .nbb-mobile-app-nav,.nbb-theme-dark .nbb-mobile-more-sheet{background:#101a29!important;border-color:#2a3a51!important;color:#eef4ff}.nbb-theme-dark .nbb-mobile-app-nav button,.nbb-theme-dark .nbb-mobile-more-sheet button{color:#aab9ce}.nbb-theme-dark .nbb-mobile-app-nav button.is-active{color:#67a5ff}.nbb-theme-dark .nbb-mobile-more-sheet button{background:#152238!important;border-color:#2a3a51!important}.nbb-theme-dark .nbb-mobile-sheet-header{border-color:#2a3a51}.nbb-theme-dark .nbb-danger-zone{background:#24171b!important;border-color:#5a2b34!important}.nbb-theme-dark .nbb-delete-button{background:#271827!important;border-color:#61355f!important;color:#f0a9ea!important}.nbb-theme-dark .nbb-block-conflicts{background:#2a181b;border-color:#63363c;color:#ffb9be}.nbb-theme-dark .nbb-special-type{border-color:#2a3a51}.nbb-theme-dark .nbb-special-type label{color:#dce7f6!important}.nbb-theme-dark .nbb-pending{background:#4b3f13;color:#ffe88a}.nbb-theme-dark .nbb-confirmed{background:#123d2c;color:#9cf0be}.nbb-theme-dark .nbb-completed{background:#18355e;color:#a8cbff}.nbb-theme-dark .nbb-cancelled{background:#4b2025;color:#ffb0b7}.nbb-theme-dark .nbb-theme-toggle:focus-visible{outline:3px solid rgba(80,150,255,.35);outline-offset:2px}
@media(max-width:768px){.nbb-receiver-header-stack>.nbb-theme-toggle{display:none}.nbb-theme-toggle-mobile{display:inline-flex}.nbb-receiver-mobile-header{align-items:center}.nbb-mobile-brand-copy{flex:1}.nbb-theme-dark .nbb-receiver{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}


/* ===== Reservas LinkDoma v2.7.14 · Modo oscuro integral del Modo Receptor ===== */
/* El tema oscuro se define al final del archivo para ganar a los estilos históricos
   del receptor que todavía usan fondos claros con !important. */
html.nbb-receiver-dark-page,
body.nbb-receiver-page.nbb-receiver-dark-page{
  background:#08111f!important;
  color:#e8eef8!important;
  color-scheme:dark!important;
}
body.nbb-receiver-page.nbb-receiver-dark-page #page,
body.nbb-receiver-page.nbb-receiver-dark-page .site,
body.nbb-receiver-page.nbb-receiver-dark-page .site-content,
body.nbb-receiver-page.nbb-receiver-dark-page .content-area,
body.nbb-receiver-page.nbb-receiver-dark-page main,
body.nbb-receiver-page.nbb-receiver-dark-page article,
body.nbb-receiver-page.nbb-receiver-dark-page .entry-content,
body.nbb-receiver-page.nbb-receiver-dark-page .elementor,
body.nbb-receiver-page.nbb-receiver-dark-page .elementor-section,
body.nbb-receiver-page.nbb-receiver-dark-page .elementor-container,
body.nbb-receiver-page.nbb-receiver-dark-page .elementor-column,
body.nbb-receiver-page.nbb-receiver-dark-page .elementor-widget-wrap,
body.nbb-receiver-page.nbb-receiver-dark-page .elementor-widget-nb-booking-widget,
body.nbb-receiver-page.nbb-receiver-dark-page .elementor-widget-nb-booking-widget>.elementor-widget-container,
body.nbb-receiver-page.nbb-receiver-dark-page .e-con,
body.nbb-receiver-page.nbb-receiver-dark-page .e-con-inner{
  background-color:#08111f!important;
}

.nbb-receiver.nbb-theme-dark{
  --nbb-shell:#06162d;
  --nbb-shell-soft:#17365f;
  --nbb-panel-bg:#08111f;
  --nbb-card:#111c2c;
  --nbb-text:#eef4ff;
  --nbb-muted:#9fb0c7;
  --nbb-primary:#eef4ff;
  --nbb-bg:#111c2c;
  background:var(--nbb-panel-bg)!important;
  color:var(--nbb-text)!important;
  color-scheme:dark!important;
}
.nbb-theme-dark .nbb-receiver-main-header,
.nbb-theme-dark .nbb-tab-panel,
.nbb-theme-dark .nbb-calendar-panel,
.nbb-theme-dark .nbb-feedback-panel,
.nbb-theme-dark .nbb-notifications-panel,
.nbb-theme-dark .nbb-subscription-panel{
  background:transparent!important;
  color:var(--nbb-text)!important;
}

/* Tipografía: títulos, cifras y textos que tenían color oscuro forzado. */
.nbb-theme-dark .nbb-receiver-main-header h1,
.nbb-theme-dark .nbb-panel-heading h2,
.nbb-theme-dark .nbb-tab-panel>h2,
.nbb-theme-dark .nbb-tab-panel h3,
.nbb-theme-dark .nbb-tab-panel h4,
.nbb-theme-dark .nbb-summary-cards b,
.nbb-theme-dark .nbb-request-title h3,
.nbb-theme-dark .nbb-services-admin h3,
.nbb-theme-dark .nbb-service-admin-copy h3,
.nbb-theme-dark .nbb-setting-card-heading h3,
.nbb-theme-dark .nbb-email-reminder-settings .nbb-setting-card-heading h3,
.nbb-theme-dark .nbb-switch-row strong,
.nbb-theme-dark .nbb-payment-service-picker>strong,
.nbb-theme-dark .nbb-subscription-grid article strong,
.nbb-theme-dark .nbb-future-functions-heading h3,
.nbb-theme-dark .nbb-booking-snapshot>strong,
.nbb-theme-dark strong,
.nbb-theme-dark legend{
  color:#eef4ff!important;
}
.nbb-theme-dark .nbb-muted,
.nbb-theme-dark .nbb-request-card p,
.nbb-theme-dark .nbb-request-option,
.nbb-theme-dark .nbb-services-admin p,
.nbb-theme-dark .nbb-service-admin-copy small,
.nbb-theme-dark .nbb-setting-help,
.nbb-theme-dark .nbb-email-reminder-settings .nbb-setting-card-heading p,
.nbb-theme-dark .nbb-switch-row small,
.nbb-theme-dark .nbb-email-delivery-status span,
.nbb-theme-dark .nbb-reminder-time-row label>span,
.nbb-theme-dark .nbb-subscription-intro p,
.nbb-theme-dark .nbb-subscription-grid article span,
.nbb-theme-dark .nbb-subscription-actions p,
.nbb-theme-dark .nbb-subscription-note,
.nbb-theme-dark .nbb-payment-service-picker>p,
.nbb-theme-dark .nbb-feedback-option small,
.nbb-theme-dark .nbb-special-hour-item span,
.nbb-theme-dark .nbb-calendar-legend,
.nbb-theme-dark .nbb-calendar-legend-receiver{
  color:#9fb0c7!important;
}
.nbb-theme-dark a:not(.nbb-primary-button):not(.nbb-be-pro-button):not(.nbb-request-actions a){color:#8dbbff}

/* Superficies principales y tarjetas. */
.nbb-theme-dark .nbb-summary-cards>div,
.nbb-theme-dark .nbb-request-card,
.nbb-theme-dark .nbb-ajax-form,
.nbb-theme-dark .nbb-service-admin-card,
.nbb-theme-dark .nbb-services-admin article,
.nbb-theme-dark .nbb-day-card,
.nbb-theme-dark .nbb-setting-card,
.nbb-theme-dark .nbb-appearance-card,
.nbb-theme-dark .nbb-public-page-card,
.nbb-theme-dark .nbb-public-link,
.nbb-theme-dark .nbb-special-hours-section,
.nbb-theme-dark .nbb-calendar-stage,
.nbb-theme-dark .nbb-repeater-section,
.nbb-theme-dark .nbb-option-card,
.nbb-theme-dark .nbb-subscription-grid article,
.nbb-theme-dark .nbb-subscription-actions,
.nbb-theme-dark .nbb-subscription-note,
.nbb-theme-dark .nbb-feedback-form,
.nbb-theme-dark .nbb-feedback-option,
.nbb-theme-dark .nbb-booking-rule-card,
.nbb-theme-dark .nbb-booking-snapshot,
.nbb-theme-dark .nbb-email-reminder-settings,
.nbb-theme-dark .nbb-email-delivery-status>div,
.nbb-theme-dark .nbb-push-status-card,
.nbb-theme-dark .nbb-push-devices,
.nbb-theme-dark .nbb-push-device,
.nbb-theme-dark .nbb-payment-service-picker,
.nbb-theme-dark .nbb-danger-zone,
.nbb-theme-dark .nbb-pwa-help>div{
  background:#111c2c!important;
  border-color:#2a3a51!important;
  color:#e8eef8!important;
  box-shadow:none!important;
}
.nbb-theme-dark .nbb-empty-appointments,
.nbb-theme-dark .nbb-filter-empty,
.nbb-theme-dark .nbb-calendar-loading{
  background:#0d1726!important;
  border-color:#2a3a51!important;
  color:#9fb0c7!important;
}

/* Campos, buscador y controles editables. */
.nbb-theme-dark input:not([type="checkbox"]):not([type="radio"]),
.nbb-theme-dark textarea,
.nbb-theme-dark select,
.nbb-theme-dark .nbb-rule-inline input,
.nbb-theme-dark .nbb-rule-email input,
.nbb-theme-dark .nbb-reminder-time-row input,
.nbb-theme-dark .nbb-reminder-time-row select{
  background:#0b1524!important;
  border-color:#34465f!important;
  color:#f1f6ff!important;
  box-shadow:none!important;
}
.nbb-theme-dark input::placeholder,
.nbb-theme-dark textarea::placeholder{color:#71839d!important;opacity:1}
.nbb-theme-dark select option{background:#0b1524!important;color:#f1f6ff!important}
.nbb-theme-dark .nbb-search-field{
  background:#0b1524!important;
  border-color:#34465f!important;
  color:#e8eef8!important;
}
.nbb-theme-dark .nbb-search-field input{background:transparent!important;color:#eef4ff!important}
.nbb-theme-dark input[type="checkbox"],
.nbb-theme-dark input[type="radio"]{accent-color:#2682ff}
.nbb-theme-dark .nbb-feedback-option input[type="radio"]{background:#0b1524!important;border-color:#52657f!important}

/* Botones neutros y secundarios. Los CTA principales conservan el azul/verde de acción. */
.nbb-theme-dark .nbb-secondary-button,
.nbb-theme-dark .nbb-edit-button,
.nbb-theme-dark .nbb-services-admin button,
.nbb-theme-dark .nbb-inline-actions button,
.nbb-theme-dark .nbb-special-hours-tabs button,
.nbb-theme-dark .nbb-calendar-nav-actions button,
.nbb-theme-dark .nbb-calendar-view-switch button,
.nbb-theme-dark .nbb-refresh-button,
.nbb-theme-dark .nbb-icon-button,
.nbb-theme-dark .nbb-main-block-action,
.nbb-theme-dark .nbb-theme-toggle,
.nbb-theme-dark .nbb-pwa-control,
.nbb-theme-dark .nbb-repeater-row-head button,
.nbb-theme-dark .nbb-push-device button,
.nbb-theme-dark .nbb-mobile-sheet-header>button{
  background:#172337!important;
  border-color:#34465f!important;
  color:#e8eef8!important;
  box-shadow:none!important;
}
.nbb-theme-dark .nbb-secondary-button:hover,
.nbb-theme-dark .nbb-edit-button:hover,
.nbb-theme-dark .nbb-theme-toggle:hover,
.nbb-theme-dark .nbb-pwa-control:hover,
.nbb-theme-dark .nbb-icon-button:hover,
.nbb-theme-dark .nbb-main-block-action:hover{
  background:#1e2d43!important;
  border-color:#45658d!important;
  color:#fff!important;
}
.nbb-theme-dark .nbb-modal-close{color:#e8eef8!important}

/* Paneles auxiliares, reglas y toggles. */
.nbb-theme-dark .nbb-feature-toggle,
.nbb-theme-dark .nbb-live-total,
.nbb-theme-dark .nbb-selection-summary,
.nbb-theme-dark .nbb-appointment-tools,
.nbb-theme-dark .nbb-reminder-time-row,
.nbb-theme-dark .nbb-payment-service-list label,
.nbb-theme-dark .nbb-push-preferences label,
.nbb-theme-dark .nbb-slug-field,
.nbb-theme-dark .nbb-timezone-control,
.nbb-theme-dark .nbb-timezone-setting{
  background:#0e1929!important;
  border-color:#2a3a51!important;
  color:#e8eef8!important;
}
.nbb-theme-dark .nbb-payment-service-list label{color:#dce7f6!important}
.nbb-theme-dark .nbb-repeater-row,
.nbb-theme-dark .nbb-switch-row,
.nbb-theme-dark .nbb-special-hour-item{border-color:#26364c!important}
.nbb-theme-dark .nbb-toggle-setting span{background:#40516a!important}
.nbb-theme-dark .nbb-toggle-setting input:checked+span{background:#2682ff!important}
.nbb-theme-dark .nbb-toggle-setting span:after{background:#f8fbff!important}

/* Calendario completo. */
.nbb-theme-dark .nbb-calendar-controls,
.nbb-theme-dark .nbb-cal-month-weekdays,
.nbb-theme-dark .nbb-cal-month-grid,
.nbb-theme-dark .nbb-cal-week-grid,
.nbb-theme-dark .nbb-cal-day-view>header,
.nbb-theme-dark .nbb-calendar-toolbar{border-color:#2a3a51!important}
.nbb-theme-dark .nbb-cal-month-day,
.nbb-theme-dark .nbb-calendar-days button,
.nbb-theme-dark .nbb-calendar-nav button{color:#dfe8f5!important}
.nbb-theme-dark .nbb-cal-month-day:hover,
.nbb-theme-dark .nbb-calendar-days button:hover{background:#19273a!important}
.nbb-theme-dark .nbb-cal-month-day.is-selected,
.nbb-theme-dark .nbb-calendar-days button.is-selected{background:#1768d7!important;color:#fff!important}
.nbb-theme-dark .nbb-cal-month-empty{background:#0a1422!important}
.nbb-theme-dark .nbb-cal-day-view,
.nbb-theme-dark .nbb-cal-agenda,
.nbb-theme-dark .nbb-cal-free{background:#111c2c!important;color:#e8eef8!important}
.nbb-theme-dark .nbb-cal-agenda-day h3{color:#b9c6d8!important}

/* Estados mantienen significado pero con contraste adaptado. */
.nbb-theme-dark .nbb-pending,.nbb-theme-dark .nbb-pending_payment{background:#4b3f13!important;color:#ffe88a!important}
.nbb-theme-dark .nbb-confirmed{background:#123d2c!important;color:#9cf0be!important}
.nbb-theme-dark .nbb-completed{background:#18355e!important;color:#a8cbff!important}
.nbb-theme-dark .nbb-cancelled,.nbb-theme-dark .nbb-rejected{background:#4b2025!important;color:#ffb0b7!important}
.nbb-theme-dark .nbb-payment-badge{background:#4a2c17!important;border-color:#7a4928!important;color:#ffd2a8!important}
.nbb-theme-dark .nbb-service-feature-pill{background:#172d4d!important;color:#8fc0ff!important}
.nbb-theme-dark .nbb-block-conflicts{background:#2a181b!important;border-color:#63363c!important;color:#ffb9be!important}
.nbb-theme-dark .nbb-danger-zone{background:#24171b!important;border-color:#5a2b34!important}
.nbb-theme-dark .nbb-delete-button{background:#271827!important;border-color:#61355f!important;color:#f0a9ea!important}

/* Navegación móvil/tablet y PWA. */
.nbb-theme-dark .nbb-receiver-mobile-header,
.nbb-theme-dark .nbb-mobile-app-nav,
.nbb-theme-dark .nbb-mobile-more-sheet{
  background:#0b1625!important;
  border-color:#2a3a51!important;
  color:#eef4ff!important;
}
.nbb-theme-dark .nbb-mobile-app-nav button,
.nbb-theme-dark .nbb-mobile-more-sheet button{color:#aab9ce!important}
.nbb-theme-dark .nbb-mobile-app-nav button.is-active{background:#172d4d!important;color:#8fc0ff!important}
.nbb-theme-dark .nbb-mobile-more-sheet button{background:#111c2c!important;border-color:#2a3a51!important}
.nbb-theme-dark .nbb-mobile-sheet-header{border-color:#2a3a51!important}
.nbb-theme-dark .nbb-mobile-sheet-handle{background:#52657f!important}
.nbb-theme-dark .nbb-mobile-sheet-grid>button>b{background:#172d4d!important;color:#8fc0ff!important}
.nbb-theme-dark .nbb-mobile-more-backdrop{background:rgba(2,8,18,.72)!important}

/* Modal y ayuda PWA: el overlay oscuro no debe cambiar el tema de la tarjeta. */
.nbb-theme-dark .nbb-modal{background:rgba(1,6,14,.72)!important}
.nbb-theme-dark .nbb-modal-card{background:#111c2c!important;border:1px solid #2a3a51!important;color:#eef4ff!important}
.nbb-theme-dark .nbb-pwa-help{background:rgba(1,6,14,.78)!important}

/* Evita que estilos de versiones anteriores vuelvan claro el receptor en móvil/PWA. */
@media(max-width:768px){
  body.nbb-receiver-page.nbb-receiver-dark-page,
  html.nbb-receiver-dark-page body.nbb-receiver-page,
  .nbb-receiver.nbb-theme-dark{
    background:#08111f!important;
  }
  .nbb-theme-dark .nbb-receiver-main-header,
  .nbb-theme-dark .nbb-tab-panel{background:#08111f!important}
}
html.nbb-pwa-standalone.nbb-receiver-dark-page,
html.nbb-pwa-standalone.nbb-receiver-dark-page body.nbb-receiver-page,
html.nbb-pwa-standalone .nbb-receiver.nbb-theme-dark{background:#08111f!important}


/* ===== Reservas LinkDoma v2.7.15 · Corrección modo oscuro en Notificaciones ===== */
.nbb-theme-dark .nbb-ios-install-guide,
.nbb-theme-dark .nbb-push-preferences,
.nbb-theme-dark .nbb-push-devices,
.nbb-theme-dark .nbb-push-status-card{
  background:#111c2c!important;
  border-color:#2a3a51!important;
  color:#e8eef8!important;
}
.nbb-theme-dark .nbb-notifications-intro p,
.nbb-theme-dark .nbb-push-status-card span,
.nbb-theme-dark .nbb-push-status-card small,
.nbb-theme-dark .nbb-ios-install-guide ol,
.nbb-theme-dark .nbb-push-device small,
.nbb-theme-dark .nbb-push-device span{
  color:#9fb0c7!important;
}
.nbb-theme-dark .nbb-push-preferences h3,
.nbb-theme-dark .nbb-ios-install-guide h3,
.nbb-theme-dark .nbb-push-devices h3,
.nbb-theme-dark .nbb-push-status-card strong,
.nbb-theme-dark .nbb-push-device strong{
  color:#eef4ff!important;
}
.nbb-theme-dark .nbb-push-preferences{
  box-shadow:none!important;
}
.nbb-theme-dark .nbb-push-preferences label{
  background:#0e1929!important;
  border-color:#2a3a51!important;
  color:#eef4ff!important;
}
.nbb-theme-dark .nbb-push-preferences input[type="checkbox"]{
  accent-color:#2682ff!important;
}


/* ===== Reservas LinkDoma v2.7.16 · Corrección modo oscuro en Calendario ===== */
.nbb-theme-dark .nbb-calendar-controls{
  background:#111c2c!important;
  border-color:#2a3a51!important;
}
.nbb-theme-dark .nbb-calendar-controls>strong,
.nbb-theme-dark .nbb-calendar-toolbar h2,
.nbb-theme-dark .nbb-cal-day-view h3,
.nbb-theme-dark .nbb-special-hours-section .nbb-panel-heading h3{
  color:#eef4ff!important;
}
.nbb-theme-dark .nbb-cal-month-weekdays{
  background:#0e1929!important;
  border-bottom-color:#26364c!important;
}
.nbb-theme-dark .nbb-cal-month-weekdays span,
.nbb-theme-dark .nbb-cal-day-heading span,
.nbb-theme-dark .nbb-calendar-legend-receiver,
.nbb-theme-dark .nbb-calendar-legend-receiver span{
  color:#9fb0c7!important;
}
.nbb-theme-dark .nbb-cal-month-grid{
  background:#111c2c!important;
}
.nbb-theme-dark .nbb-cal-month-day,
.nbb-theme-dark .nbb-cal-month-empty{
  background:#0e1929!important;
  border-right-color:#26364c!important;
  border-bottom-color:#26364c!important;
  color:#e8eef8!important;
}
.nbb-theme-dark .nbb-cal-month-day>span{
  color:#e8eef8!important;
}
.nbb-theme-dark .nbb-cal-month-day>b{color:#63a6ff!important;}
.nbb-theme-dark .nbb-cal-month-day>small{color:#b28cff!important;}
.nbb-theme-dark .nbb-cal-month-day.is-closed{
  background:#101827!important;
  color:#6f8099!important;
}
.nbb-theme-dark .nbb-cal-month-day.is-blocked{
  background:#27181d!important;
}
.nbb-theme-dark .nbb-cal-month-day.is-selected{
  background:#1768d7!important;
  box-shadow:inset 0 0 0 2px #8bbcff!important;
}
.nbb-theme-dark .nbb-cal-month-day.is-today>span{
  background:#2682ff!important;
  color:#fff!important;
}
.nbb-theme-dark .nbb-cal-week-day{
  background:#111c2c!important;
  border-right-color:#26364c!important;
}
.nbb-theme-dark .nbb-cal-week-day.is-today{
  background:#13233a!important;
}
.nbb-theme-dark .nbb-cal-day-heading{
  border-bottom-color:#26364c!important;
}
.nbb-theme-dark .nbb-cal-day-heading b,
.nbb-theme-dark .nbb-cal-event strong,
.nbb-theme-dark .nbb-cal-free strong{
  color:#eef4ff!important;
}
.nbb-theme-dark .nbb-cal-event,
.nbb-theme-dark .nbb-cal-free,
.nbb-theme-dark .nbb-cal-day-view,
.nbb-theme-dark .nbb-cal-agenda,
.nbb-theme-dark .nbb-special-hours-section{
  background:#111c2c!important;
  color:#e8eef8!important;
}


/* ===== Reservas LinkDoma v2.8.0 · nuevas opciones operativas ===== */
.nbb-calendar-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nbb-calendar-hide-control{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;font-size:12px!important;font-weight:800!important;color:#64748b!important}.nbb-calendar-hide-control select{width:auto!important;min-width:170px!important;padding:9px 34px 9px 11px!important}.nbb-contact-setting{display:grid;gap:7px}.nbb-inline-check{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;font-size:12px!important}.nbb-inline-check input{width:auto!important}.nbb-service-availability-settings{margin:16px 0;padding:16px;border:1px solid #dfe7f2;border-radius:16px;background:#f8fbff}.nbb-service-availability-settings h3{margin:0 0 12px}.nbb-service-availability-settings small{display:block;margin-top:5px;color:#718096}.nbb-weekday-checks{display:flex;gap:6px;flex-wrap:wrap}.nbb-weekday-checks label{display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:7px 9px!important;border:1px solid #dfe7f2!important;border-radius:10px!important;background:#fff!important}.nbb-weekday-checks input{width:auto!important}.nbb-test-reservation-card{margin-top:18px;padding:20px;border:1px solid #dfe8f5;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.nbb-test-reservation-card h3{margin:0 0 5px}.nbb-test-reservation-card p{margin:0;color:#66758a}.nbb-test-reservation-card>small{flex-basis:100%;color:#66758a}.nbb-test-reservation-actions{display:flex;gap:8px;flex-wrap:wrap}.nbb-theme-dark .nbb-service-availability-settings,.nbb-theme-dark .nbb-test-reservation-card{background:#111c2c!important;border-color:#2a3a51!important;color:#e8eef8!important}.nbb-theme-dark .nbb-weekday-checks label{background:#0e1929!important;border-color:#2a3a51!important;color:#e8eef8!important}.nbb-theme-dark .nbb-test-reservation-card p,.nbb-theme-dark .nbb-test-reservation-card>small,.nbb-theme-dark .nbb-calendar-hide-control,.nbb-theme-dark .nbb-service-availability-settings small{color:#9fb0c7!important}@media(max-width:768px){.nbb-calendar-toolbar-actions{align-items:stretch;flex-direction:column}.nbb-calendar-toolbar-actions>.nbb-primary-button,.nbb-calendar-hide-control,.nbb-calendar-hide-control select{width:100%!important}.nbb-test-reservation-card{padding:16px}.nbb-test-reservation-actions{width:100%;display:grid;grid-template-columns:1fr}.nbb-service-availability-settings{padding:14px}}


/* ===== Reservas LinkDoma v2.8.1 · Auditoría visual/responsive integral ===== */
/* Base segura para evitar desbordes en cualquier vista del transmisor/receptor. */
.nbb-booking *,
.nbb-receiver *{min-width:0;box-sizing:border-box}
.nbb-booking img,
.nbb-receiver img{max-width:100%;height:auto}
.nbb-booking p,
.nbb-booking h1,.nbb-booking h2,.nbb-booking h3,.nbb-booking h4,
.nbb-receiver p,
.nbb-receiver h1,.nbb-receiver h2,.nbb-receiver h3,.nbb-receiver h4,
.nbb-receiver strong,.nbb-receiver span{overflow-wrap:anywhere}

/* Formularios: medidas, lectura y objetivos táctiles consistentes. */
.nbb-booking input:not([type="checkbox"]):not([type="radio"]),
.nbb-booking select,.nbb-booking textarea,
.nbb-receiver input:not([type="checkbox"]):not([type="radio"]),
.nbb-receiver select,.nbb-receiver textarea{
  width:100%;max-width:100%;min-height:46px;line-height:1.35;
}
.nbb-booking textarea,.nbb-receiver textarea{min-height:112px;resize:vertical}
.nbb-booking select,.nbb-receiver select{padding-right:38px!important;text-overflow:ellipsis}
.nbb-booking button,.nbb-booking a,
.nbb-receiver button,.nbb-receiver a{max-width:100%}
.nbb-primary-button,.nbb-secondary-button,.nbb-edit-button,.nbb-submit,
.nbb-receiver .nbb-pwa-control,.nbb-receiver .nbb-main-action,.nbb-receiver .nbb-main-block-action{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.25;text-align:center;white-space:normal
}
.nbb-ajax-form,.nbb-public-page-card,.nbb-setting-card,.nbb-appearance-card,
.nbb-special-hours-section,.nbb-notifications-panel,.nbb-subscription-panel,.nbb-feedback-panel{width:100%;max-width:100%}
.nbb-two,.nbb-three{align-items:start}

/* Cabecera y acciones: permite reflujo sin empujar contenido fuera de pantalla. */
.nbb-receiver-main-header{flex-wrap:wrap!important}
.nbb-receiver-heading-copy{flex:1 1 280px;min-width:0}
.nbb-receiver-header-stack{flex:0 1 auto;max-width:100%}
.nbb-receiver-header-actions,.nbb-summary-primary-actions{max-width:100%;flex-wrap:wrap}
.nbb-receiver-header-actions>*{min-width:0}
.nbb-panel-heading{flex-wrap:wrap}

/* Tarjetas y listados. */
.nbb-request-card,.nbb-service-admin-card,.nbb-services-admin article{min-width:0}
.nbb-request-card>*{min-width:0}
.nbb-request-actions{align-items:stretch}
.nbb-request-actions a,.nbb-request-actions button{min-height:44px;display:flex;align-items:center;justify-content:center;white-space:normal}
.nbb-services-admin article{grid-template-columns:minmax(78px,100px) minmax(0,1fr) auto}
.nbb-services-admin img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.nbb-service-admin-copy{min-width:0}
.nbb-public-link{flex-wrap:wrap}
.nbb-public-link>div{flex:1 1 260px;min-width:0}
.nbb-public-link strong{word-break:break-word}

/* Modales/ventanas flotantes: centrados en escritorio, seguros y desplazables. */
.nbb-modal{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;overflow:hidden}
.nbb-modal-card{
  width:min(620px,100%)!important;
  max-width:100%!important;
  max-height:calc(100vh - 32px)!important;
  max-height:calc(100dvh - 32px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.nbb-modal-card>h2,.nbb-modal-card>h3{padding-right:38px}
.nbb-modal-close{width:44px;height:44px;display:grid;place-items:center;line-height:1;border-radius:12px!important}
.nbb-modal-actions{align-items:stretch}
.nbb-modal-actions button,.nbb-modal-actions a{min-height:46px}

/* Opciones nuevas v2.8.0 y controles densos. */
.nbb-calendar-toolbar-actions{min-width:0}
.nbb-calendar-hide-control{max-width:100%;flex-wrap:wrap}
.nbb-calendar-hide-control select{max-width:100%!important}
.nbb-weekday-checks label{min-height:40px}
.nbb-test-reservation-card>div:first-child{flex:1 1 320px;min-width:0}
.nbb-test-reservation-actions{flex:0 1 auto;max-width:100%}
.nbb-contact-setting{min-width:0}

/* Calendario: rejilla robusta y sin recortes en mes. */
.nbb-calendar-controls,.nbb-calendar-toolbar{max-width:100%}
.nbb-cal-month-grid,.nbb-cal-month-weekdays{width:100%;min-width:0}
.nbb-cal-month-day,.nbb-cal-month-empty{min-width:0;overflow:hidden}
.nbb-cal-month-day>span,.nbb-cal-month-day>b,.nbb-cal-month-day>small{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.nbb-calendar-legend-receiver{row-gap:8px}
.nbb-calendar-stage{max-width:100%}

/* Página pública: proporciones y contenidos fluidos. */
.nbb-booking{width:100%;max-width:760px;padding-inline:clamp(0px,2vw,12px)}
.nbb-step{width:100%;max-width:100%}
.nbb-service-copy{align-items:flex-start}
.nbb-service-copy>div{min-width:0;flex:1 1 auto}
.nbb-service-copy>span{flex:0 0 auto;max-width:42%;white-space:normal;text-align:right}
.nbb-contact-pills a{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.nbb-slots button{min-height:44px}

/* Tablet: evita columnas estrechas y botones apretados. */
@media (max-width:1180px) and (min-width:769px){
  .nbb-receiver-main-header{align-items:flex-start!important;gap:18px!important}
  .nbb-receiver-header-stack{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .nbb-receiver-header-actions{flex:1 1 520px;justify-content:flex-end}
  .nbb-three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nbb-services-admin article{grid-template-columns:90px minmax(0,1fr);align-items:start}
  .nbb-services-admin article>button,.nbb-service-admin-card>.nbb-edit-button{grid-column:2;justify-self:start}
  .nbb-calendar-toolbar{align-items:flex-start;flex-wrap:wrap}
}

/* Móvil: reflujo total, controles de 16 px (sin zoom iOS) y modales tipo hoja. */
@media (max-width:768px){
  .nbb-booking{padding-inline:12px}
  .nbb-booking input:not([type="checkbox"]):not([type="radio"]),
  .nbb-booking select,.nbb-booking textarea,
  .nbb-receiver input:not([type="checkbox"]):not([type="radio"]),
  .nbb-receiver select,.nbb-receiver textarea{font-size:16px!important}
  .nbb-two,.nbb-three{grid-template-columns:1fr!important;gap:10px!important}
  .nbb-profile-editor{align-items:flex-start;flex-wrap:wrap}
  .nbb-profile-editor>div{flex:1 1 210px}
  .nbb-services-admin article{grid-template-columns:76px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
  .nbb-services-admin img{width:76px!important;aspect-ratio:1/1!important;border-radius:12px!important}
  .nbb-services-admin article>button,.nbb-service-admin-card>.nbb-edit-button{grid-column:1/-1;width:100%;justify-self:stretch}
  .nbb-request-card{grid-template-columns:1fr!important;padding:16px!important}
  .nbb-request-card>.nbb-edit-button{justify-self:stretch;width:100%}
  .nbb-request-actions{grid-template-columns:1fr!important}
  .nbb-public-link{padding:16px!important;border-radius:18px!important;align-items:stretch!important}
  .nbb-public-link button{width:100%}
  .nbb-calendar-hide-control{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}
  .nbb-calendar-hide-control select{min-width:0!important;width:100%!important}
  .nbb-calendar-legend-receiver{font-size:11px!important;gap:8px 12px!important}
  .nbb-cal-month-day,.nbb-cal-month-empty{min-height:64px!important;padding:5px!important}
  .nbb-cal-month-day>span{width:24px!important;height:24px!important;font-size:12px!important}
  .nbb-modal{place-items:end center!important;padding:0!important}
  .nbb-modal-card{
    width:100%!important;max-width:none!important;
    max-height:92vh!important;max-height:92dvh!important;
    border-radius:22px 22px 0 0!important;
    padding:22px 18px calc(22px + env(safe-area-inset-bottom))!important;
  }
  .nbb-modal-actions{grid-template-columns:1fr!important;position:sticky;bottom:0;margin-inline:-18px;padding:12px 18px calc(4px + env(safe-area-inset-bottom));background:inherit;z-index:2}
  .nbb-modal-close{right:10px!important;top:8px!important}
  .nbb-test-reservation-actions{width:100%}
  .nbb-test-reservation-actions>*{width:100%}
  .nbb-weekday-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .nbb-weekday-checks label{justify-content:center;padding:8px 4px!important}
  .nbb-service-copy{flex-direction:column}
  .nbb-service-copy>span{max-width:100%;text-align:left}
}

@media (max-width:420px){
  .nbb-receiver-main-header,.nbb-tab-panel{padding-left:14px!important;padding-right:14px!important}
  .nbb-summary-cards{gap:10px!important}
  .nbb-summary-cards>div{padding:16px!important;border-radius:18px!important}
  .nbb-weekday-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nbb-calendar-view-switch{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nbb-calendar-nav-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .nbb-cal-month-weekdays span{font-size:8px!important;padding:8px 1px!important}
  .nbb-cal-month-day,.nbb-cal-month-empty{min-height:58px!important}
}

/* Horizontal móvil/tablet: compacta cabecera para preservar área útil. */
@media (max-width:900px) and (orientation:landscape){
  .nbb-receiver-mobile-header{padding-top:12px!important;padding-bottom:8px!important}
  .nbb-receiver-main-header{padding-top:18px!important;padding-bottom:14px!important}
  .nbb-receiver-main-header h1{font-size:26px!important}
  .nbb-mobile-app-nav{min-height:62px!important}
  .nbb-modal-card{max-height:88vh!important;max-height:88dvh!important}
}


/* ===== Reservas LinkDoma v2.8.2 · Pulido visual/PWA y responsive de precisión ===== */
/* Contención general: ningún control debe empujar o desbordar el lienzo del receptor. */
.nbb-receiver,
.nbb-receiver-main,
.nbb-tab-panel,
.nbb-modal-card,
.nbb-mobile-more-sheet{
  max-width:100%;
}
.nbb-receiver{overflow-x:clip}
@supports not (overflow:clip){.nbb-receiver{overflow-x:hidden}}
.nbb-receiver button,
.nbb-receiver input,
.nbb-receiver select,
.nbb-receiver textarea,
.nbb-booking button,
.nbb-booking input,
.nbb-booking select,
.nbb-booking textarea{
  font-family:inherit;
}
.nbb-receiver button,.nbb-receiver a,.nbb-booking button,.nbb-booking a{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* Iconos/controles cuadrados: centrado óptico y geometría estable. */
.nbb-refresh-button{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
.nbb-refresh-button::before{
  content:"↻";
  text-indent:0;
  display:block;
  font-size:24px;
  line-height:1;
  font-weight:500;
  transform:translateY(-1px);
  transform-origin:center;
}
.nbb-refresh-button.is-loading::before{animation:nbb-refresh-spin .75s linear infinite}
.nbb-icon-button,.nbb-theme-toggle-mobile{flex-shrink:0}

/* Inputs de fecha/hora: evita el crecimiento anómalo de controles nativos en iOS/PWA. */
.nbb-receiver input[type="date"],
.nbb-receiver input[type="time"],
.nbb-receiver input[type="datetime-local"],
.nbb-booking input[type="date"],
.nbb-booking input[type="time"],
.nbb-booking input[type="datetime-local"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  height:48px!important;
  padding:0 13px!important;
  line-height:normal!important;
  font-size:16px!important;
  border-radius:12px!important;
}
.nbb-receiver input[type="date"]::-webkit-date-and-time-value,
.nbb-receiver input[type="time"]::-webkit-date-and-time-value,
.nbb-booking input[type="date"]::-webkit-date-and-time-value,
.nbb-booking input[type="time"]::-webkit-date-and-time-value{
  text-align:left;
  min-height:1.2em;
}

/* Modales: distinguir el botón X del botón textual "Cancelar". */
.nbb-modal-card > button.nbb-modal-close{
  position:absolute!important;
  right:14px!important;
  top:12px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  font-size:27px!important;
  line-height:1!important;
  z-index:4;
}
.nbb-modal-actions .nbb-modal-close{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:46px!important;
  padding:12px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #dbe3ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#24354f!important;
  font-size:inherit!important;
  line-height:1.25!important;
  white-space:normal!important;
  text-align:center!important;
}
.nbb-theme-dark .nbb-modal-actions .nbb-modal-close{
  background:#172337!important;
  border-color:#34465f!important;
  color:#e8eef8!important;
}
.nbb-modal-card>h2,.nbb-modal-card>h3{margin-right:46px!important;padding-right:0!important}
.nbb-modal-actions>*{min-width:0!important;overflow-wrap:anywhere}

/* Formularios densos: columnas flexibles y separación coherente. */
.nbb-service-availability-settings,
.nbb-service-options-admin,
.nbb-repeater-section,
.nbb-booking-rule-card,
.nbb-setting-card{min-width:0;overflow:hidden}
.nbb-service-availability-settings .nbb-two,
.nbb-billing-fields,
.nbb-three{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important}
.nbb-weekday-checks{align-items:stretch}
.nbb-weekday-checks label{min-width:0!important;white-space:nowrap!important}
.nbb-repeater-head{gap:10px;flex-wrap:wrap}
.nbb-repeater-head>*{min-width:0}
.nbb-repeater-row{min-width:0}
.nbb-repeater-row input,.nbb-repeater-row select{min-width:0!important;max-width:100%!important}

/* Hoja "Más": títulos largos nunca salen de la tarjeta. */
.nbb-mobile-sheet-grid>button{
  min-width:0!important;
  overflow:hidden!important;
}
.nbb-mobile-sheet-grid>button>b{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  text-align:center!important;
}
.nbb-mobile-sheet-grid>button>span{
  flex:1 1 auto!important;
  width:0!important;
  min-width:0!important;
  overflow:hidden!important;
}
.nbb-mobile-sheet-grid>button strong,
.nbb-mobile-sheet-grid>button small{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  text-overflow:clip!important;
}
.nbb-mobile-sheet-grid>button strong{font-size:13px!important;line-height:1.22!important}
.nbb-mobile-sheet-grid>button small{line-height:1.3!important}

/* Panel de dispositivos/notificaciones: acciones y textos contenidos. */
.nbb-push-device,.nbb-push-status-card,.nbb-test-reservation-card{min-width:0}
.nbb-push-device>div{min-width:0;flex:1 1 auto}
.nbb-push-device strong,.nbb-push-device small,.nbb-push-device span{overflow-wrap:anywhere}
.nbb-push-device button{flex:0 0 auto;max-width:100%}
.nbb-push-devices .nbb-panel-heading{align-items:center!important}

/* Navegación y botones: altura/centrado constantes sin deformar el texto. */
.nbb-mobile-app-nav button,
.nbb-mobile-sheet-grid>button,
.nbb-summary-primary-actions button,
.nbb-calendar-nav-actions button,
.nbb-calendar-view-switch button{
  line-height:1.2!important;
}
.nbb-summary-primary-actions{min-width:0}
.nbb-summary-primary-actions>*{min-width:0}

/* PWA: animaciones cortas y baratas; evita blur costoso en móviles modestos. */
.nbb-mobile-more-backdrop{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.nbb-mobile-more-sheet{will-change:transform;overscroll-behavior:contain}
.nbb-mobile-app-nav button,.nbb-mobile-sheet-grid>button,.nbb-refresh-button,
.nbb-primary-button,.nbb-secondary-button,.nbb-theme-toggle{
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease!important;
}
@media (prefers-reduced-motion:reduce){
  .nbb-mobile-more-sheet,.nbb-mobile-app-nav button,.nbb-mobile-sheet-grid>button,.nbb-refresh-button,
  .nbb-primary-button,.nbb-secondary-button,.nbb-theme-toggle{animation:none!important;transition:none!important}
}

/* Tablet. */
@media (min-width:769px) and (max-width:1100px){
  .nbb-modal-card{width:min(680px,calc(100vw - 40px))!important}
  .nbb-push-status-card{align-items:flex-start!important}
  .nbb-push-status-actions{max-width:50%}
}

/* Móvil/PWA: distribución sin superposición ni scroll horizontal. */
@media (max-width:768px){
  .nbb-receiver-main,.nbb-tab-panel{min-width:0!important;max-width:100%!important}
  .nbb-modal{overflow:hidden!important}
  .nbb-modal-card{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    max-height:94dvh!important;
    padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))!important;
  }
  /* Las acciones permanecen en el flujo: nunca cubren campos o secciones inferiores. */
  .nbb-modal-actions{
    position:static!important;
    bottom:auto!important;
    margin:18px 0 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    z-index:auto!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .nbb-modal-actions button,.nbb-modal-actions a{width:100%!important;max-width:100%!important}
  .nbb-modal-card > button.nbb-modal-close{right:10px!important;top:10px!important}
  .nbb-service-availability-settings{padding:14px!important}
  .nbb-service-availability-settings .nbb-two{grid-template-columns:1fr!important}
  .nbb-service-availability-settings label{min-width:0!important}
  .nbb-hour-row{grid-template-columns:minmax(0,1fr) minmax(90px,.7fr) minmax(90px,.7fr)!important}
  .nbb-push-device{align-items:stretch!important;flex-direction:column!important}
  .nbb-push-device button{width:100%!important}
  .nbb-push-devices .nbb-panel-heading{display:flex!important;align-items:center!important;justify-content:space-between!important}
  .nbb-push-devices .nbb-refresh-button{margin-left:auto!important}
}

/* iPhone y móviles angostos: una columna en "Más" y tarjetas compactas. */
@media (max-width:520px){
  .nbb-mobile-more-sheet{
    padding-left:14px!important;
    padding-right:14px!important;
    max-height:min(82dvh,680px)!important;
  }
  .nbb-mobile-sheet-grid{grid-template-columns:1fr!important;gap:9px!important}
  .nbb-mobile-sheet-grid>button{
    min-height:72px!important;
    padding:12px 13px!important;
    gap:12px!important;
    border-radius:16px!important;
  }
  .nbb-mobile-sheet-grid>button>b{
    width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:12px!important;font-size:18px!important;
  }
  .nbb-mobile-sheet-grid>button strong{font-size:14px!important}
  .nbb-mobile-sheet-grid>button small{font-size:11px!important;margin-top:3px!important}
  .nbb-weekday-checks{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nbb-hour-row{grid-template-columns:1fr 1fr!important}
  .nbb-hour-row>label:first-child,.nbb-hour-row>.nbb-day-toggle{grid-column:1/-1}
}

@media (max-width:380px){
  .nbb-modal-card{padding-left:14px!important;padding-right:14px!important}
  .nbb-mobile-sheet-header strong{font-size:18px!important}
  .nbb-calendar-nav-actions{grid-template-columns:1fr!important}
}


/* ===== Reservas LinkDoma v2.8.3 · Microajustes de rendimiento e iconos ===== */
.nbb-refresh-button{
  display:inline-grid!important;place-items:center!important;padding:0!important;
  text-indent:-9999px!important;overflow:hidden!important;position:relative!important;
}
.nbb-refresh-button::before{
  content:""!important;width:24px!important;height:24px!important;display:block!important;
  background:currentColor!important;transform:none!important;transform-origin:50% 50%!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6v5h-5M4.93 19.07A8 8 0 1 0 6.34 5.34L4 8' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6v5h-5M4.93 19.07A8 8 0 1 0 6.34 5.34L4 8' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat!important;
}
.nbb-refresh-button.is-loading::before{animation:nbb-refresh-spin .68s linear infinite!important}
@media(max-width:600px){.nbb-refresh-button::before{width:22px!important;height:22px!important;-webkit-mask-size:22px 22px!important;mask-size:22px 22px!important}}
html.nbb-pwa-standalone,html.nbb-pwa-standalone body{overscroll-behavior-y:none}


/* ===== Reservas LinkDoma v2.8.4 · Corrección definitiva iconos de recarga ===== */
.nbb-refresh-button{
  text-indent:0!important;
  font-size:0!important;
  line-height:0!important;
}
.nbb-refresh-button::before{
  content:none!important;
  display:none!important;
}
.nbb-refresh-button .nbb-refresh-icon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  display:block!important;
  margin:0 auto!important;
  background-color:currentColor!important;
  transform:none!important;
  transform-origin:50% 50%!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11a8 8 0 1 1-2.34-5.66' fill='none' stroke='%23000' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 4v7h-7' fill='none' stroke='%23000' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px 22px no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11a8 8 0 1 1-2.34-5.66' fill='none' stroke='%23000' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 4v7h-7' fill='none' stroke='%23000' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px 22px no-repeat!important;
}
.nbb-refresh-button.is-loading .nbb-refresh-icon{animation:nbb-refresh-spin .68s linear infinite!important}
@media(max-width:600px){
  .nbb-refresh-button .nbb-refresh-icon{
    width:20px!important;
    height:20px!important;
    flex-basis:20px!important;
    -webkit-mask-size:20px 20px!important;
    mask-size:20px 20px!important;
  }
}


/* ===== Reservas LinkDoma v2.8.5 · Retención temporal de horarios ===== */
.nbb-hold-countdown{display:inline-block;margin-top:8px;padding:6px 9px;border-radius:999px;background:#eef5ff;color:#245b9c;font-size:12px;font-weight:800}
.nbb-theme-dark .nbb-hold-countdown{background:#172d4d;color:#a8ccff}
