:root{color-scheme:light dark;--bg:#fdf8f6;--surface:#ffffff;--reserva-bg:color-mix(in srgb,var(--surface) 95%,var(--text));--text:#201a17;--text-muted:#574843;--border:#cfa9a0;--accent:#8f3c49;--accent-hover:#6f2d38;--error:#b3261e;--info:#8a6d8f;--warning:#9a6b12;--slot-available:#2e7d4f;--slot-reserved:#2f6db5;--slot-free:#5f6368;--slot-absent:#c0392b;--radius:8px;--input-radius:10px;--menu-icon-reservas:var(--accent);--menu-icon-horarios:#a3791a;--menu-icon-asistencia:#2f8fae;--menu-icon-clientes:#b5624a;--menu-icon-servicios:#c2568c;--menu-icon-productos:#5566c9;--menu-icon-personal:#3f7d8c;--menu-icon-configuracion:#6b6f76;--menu-icon-cuenta:#8a6a2f;--menu-icon-reglas:#3f7d6b;--menu-icon-administracion:#5b6b7a;--menu-icon-datos-del-negocio:#4f7942;--menu-icon-horario-negocio:#2f6f9e;--menu-icon-notificaciones:#7a4ca1;--menu-icon-tipos-ausencias:#2f9e8f;--menu-icon-cambiar-contrasena:#a1436b;--menu-icon-foto-perfil:#c26b3f;--menu-icon-cerrar-sesion:#b5484a;--menu-icon-seguridad:#3f6fb5;--menu-icon-formato-hora:#8a5a9e}@media (prefers-color-scheme:dark){:root{--bg:#17171a;--surface:#212124;--reserva-bg:color-mix(in srgb,var(--surface) 82%,#000);--text:#f1f1f3;--text-muted:#a3a3ab;--border:#33333a;--accent:#4d9d76;--accent-hover:#6ab890;--info:#8ecbf5;--warning:#d9a441;--slot-available:#5cc48a;--slot-reserved:#6ea8f0;--slot-free:#9aa0a6;--slot-absent:#f07167;--menu-icon-horarios:#e0b04f;--menu-icon-asistencia:#5cc3e0;--menu-icon-clientes:#dd9075;--menu-icon-servicios:#e39cc2;--menu-icon-productos:#8f9de6;--menu-icon-personal:#6fb8c9;--menu-icon-configuracion:#9aa0a8;--menu-icon-cuenta:#c9a660;--menu-icon-reglas:#7cc2ad;--menu-icon-administracion:#9fb0c0;--menu-icon-datos-del-negocio:#7fb56a;--menu-icon-horario-negocio:#5ea3d9;--menu-icon-notificaciones:#b285d9;--menu-icon-tipos-ausencias:#5cd1bd;--menu-icon-cambiar-contrasena:#d97ba3;--menu-icon-foto-perfil:#e0925f;--menu-icon-cerrar-sesion:#e08587;--menu-icon-seguridad:#7fa6e0;--menu-icon-formato-hora:#c79add}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}button,input,select,textarea{font-family:inherit}.auth-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.auth-card h1{font-size:1.25rem;margin:0 0 .25rem}.auth-card p.subtitle{color:var(--text-muted);font-size:.9rem;margin:0 0 1.5rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.field-hint{color:var(--text-muted);font-size:.8rem;margin:.4rem 0 0}.logo-field{display:flex;align-items:center;gap:1rem}.logo-preview{width:4.5rem;height:4.5rem;border-radius:10px;border:1px solid var(--border);background:var(--bg);object-fit:contain;flex-shrink:0}.logo-preview-empty{border-style:dashed}.logo-field-actions{display:flex;flex-wrap:wrap;gap:.5rem}.logo-file-input{display:none}.avatar-photo{object-fit:cover}.avatar-fallback,.avatar-photo{border-radius:999px;flex-shrink:0}.avatar-fallback{display:inline-flex;background:var(--accent-hover);color:#fff;font-weight:700}.avatar-fallback,.cuenta-identity{align-items:center;justify-content:center}.cuenta-identity{display:flex;gap:.75rem;text-decoration:none;color:inherit}.business-profile-view-details{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1.25rem;text-align:center;color:var(--text-muted);font-size:.9rem}.business-profile-view-details strong{color:var(--text);font-weight:600}.field-help-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;margin-left:.4rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:.65rem;line-height:1;cursor:pointer;vertical-align:middle}.field-help-toggle:hover{border-color:var(--accent);color:var(--accent)}.password-field-wrap{position:relative}.password-field-wrap input{padding-right:2.5rem}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer}.password-toggle:hover{color:var(--text)}.field label.field-checkbox{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.5rem;margin-bottom:0;font-size:.85rem;font-weight:400;color:var(--text-muted)}.field-checkbox input[type=checkbox]{width:auto;flex-shrink:0}.field-checkbox .switch input[type=checkbox]{width:100%;height:100%}.field input,.field select,.field textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-size:.95rem;font-family:inherit}.field-inline{display:flex;align-items:center;gap:.6rem}.field-inline input{width:6rem;flex-shrink:0}.field-inline select{width:auto;flex-shrink:0}.field-inline label{margin-bottom:0}.duration-price-group .field-inline label{min-width:4.5rem}.field-inline.field-inline-grow input,.field-inline.field-inline-grow select{flex:1 1;width:auto;min-width:0}.field-inline.field-inline-grow .country-select{flex:1 1;min-width:0}.staff-edit-form .field-inline label{min-width:5rem}.clientes-add-form .field-inline label{min-width:5.5rem}.profile-fields .field-inline{gap:.5rem}.profile-field-label,.profile-fields .field-inline label{min-width:4.25rem;flex-shrink:0;margin-bottom:0;font-size:.85rem;font-weight:600}.profile-field-value{min-width:0;overflow-wrap:anywhere}.cliente-contact-group .field-inline{gap:.5rem}.cliente-contact-group .field-inline label{min-width:5rem;flex-shrink:0}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.reserva-profile-details .entity-detail-list{grid-template-columns:14rem minmax(0,1fr)}.reserva-profile-details .entity-detail-list dd select{max-width:100%}.new-booking-form{max-width:28rem;display:flex;flex-direction:column;gap:1.1rem}.new-booking-form .field,.new-booking-form .message{margin-bottom:0}.customer-lookup-field{display:flex;align-items:center;gap:.5rem;padding:0 .7rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text-muted)}.customer-lookup-field:focus-within{outline:2px solid var(--accent);outline-offset:1px}.customer-lookup-field svg{flex-shrink:0}.customer-lookup-field .customer-lookup-input{flex:1 1;min-width:0;padding:.6rem 0;border:none;outline:none;background:transparent;color:var(--text);font:inherit;font-size:.95rem}.customer-selected{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .5rem .5rem .8rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:var(--input-radius);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.customer-selected-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.customer-selected-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-selected-phone{color:var(--text-muted);font-size:.85rem}.customer-selected-clear{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.9rem;height:1.9rem;padding:0;border:none;border-radius:50%;background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-muted);cursor:pointer}.customer-selected-clear:hover{background:color-mix(in srgb,var(--text-muted) 26%,transparent);color:var(--text)}.customer-lookup-results{list-style:none;margin:.4rem 0 0;padding:0;border:1px solid var(--border);border-radius:var(--input-radius);max-height:18rem;overflow-y:auto;overscroll-behavior:contain}.customer-lookup-results li+li{border-top:1px solid var(--border)}.customer-lookup-results button{width:100%;display:flex;justify-content:space-between;gap:.75rem;padding:.55rem .7rem;border:0;border-radius:0;background:var(--bg);color:var(--text);font:inherit;font-size:.92rem;text-align:left;cursor:pointer}.customer-lookup-results button:focus-visible,.customer-lookup-results button:hover{background:var(--surface);color:var(--accent)}.customer-lookup-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-lookup-phone{flex-shrink:0;color:var(--text-muted)}.customer-lookup-empty{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:.4rem;font-size:.92rem;color:var(--warning)}.new-booking-row{display:flex;gap:1rem}.new-booking-row .field{flex:1 1;min-width:0}.new-booking-date-preview{margin:.45rem 0 0;font-size:.82rem;color:var(--accent);font-weight:600}.new-contact-edit{margin-top:.6rem;width:auto}.modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);padding:1rem}.modal-card{width:100%;max-width:22rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;max-height:calc(100dvh - 2rem);overflow-y:auto}.modal-card.modal-card-wide{max-width:32rem}.modal-overlay.modal-overlay--sheet{align-items:stretch;justify-content:flex-end;padding:0;animation:modal-sheet-fade .2s ease-out}.modal-card.modal-sheet{width:min(100%,30rem);max-width:none;height:100dvh;max-height:none;overflow-y:auto;overscroll-behavior:contain;border-top:none;border-right:none;border-bottom:none;border-radius:1rem 0 0 1rem;padding-top:calc(1rem + env(safe-area-inset-top));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));box-shadow:-6px 0 24px rgba(0,0,0,.18);animation:modal-sheet-in .28s cubic-bezier(.2,.8,.2,1)}@media (max-width:640px){.modal-card.modal-sheet{border:none;border-radius:0}}.modal-sheet-handle{display:none}@keyframes modal-sheet-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes modal-sheet-fade{0%{background:rgba(0,0,0,0)}}@media (prefers-reduced-motion:reduce){.modal-card.modal-sheet,.modal-overlay.modal-overlay--sheet{animation:none}}.modal-card h3{margin:0 0 1rem;font-size:1.05rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}.modal-actions button{width:auto}a.primary,button.primary{display:block;width:100%;padding:.65rem 1rem;background:var(--accent);color:white;border:none;border-radius:999px;font-size:.95rem;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}a.primary:hover,button.primary:hover{background:var(--accent-hover)}button.primary:disabled{opacity:.6;cursor:not-allowed}.panel a.primary,.panel button.primary{display:block;width:-moz-fit-content;width:fit-content;margin-left:auto;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;text-align:center;text-decoration:none;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--surface))}.panel a.primary:hover,.panel button.primary:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.modal-actions button.primary{margin-left:0}.panel-cta-spaced{margin-top:1.5rem}.message{border-radius:6px;padding:.65rem .8rem;font-size:.85rem;margin-bottom:1rem}.message.error{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error)}.message.success{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.print-only{display:none}@media print{.no-print{display:none}.print-only{display:inline}}.message.warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.message.warning p{margin:0 0 .6rem}.message.warning .modal-actions{margin-top:0}.auth-links{margin-top:1.25rem;font-size:.85rem;color:var(--text-muted);display:flex;justify-content:space-between}.auth-links a{color:var(--accent);text-decoration:none}.auth-links a:hover{text-decoration:underline}.dashboard-shell{max-width:640px;margin:0 auto;padding:2rem 1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header-tall{align-items:flex-start}.dashboard-header h1{font-size:1.1rem;margin:0}.dashboard-header .email{color:var(--text-muted);font-size:.85rem}.dashboard-header .business-type,.dashboard-header .store-number{color:var(--text-muted);font-size:.75rem}.dashboard-header-side{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.dashboard-header-user{color:var(--text-muted);font-size:.85rem;font-weight:600;white-space:nowrap;text-decoration:none}.dashboard-header-home-link{color:inherit;text-decoration:none}.dashboard-header-home-link:hover h1{color:var(--accent)}.page-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.page-section-heading-group{display:flex;align-items:center;gap:.6rem}.page-section-back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:999px;border:1px solid var(--border);color:var(--accent)}.page-section-back:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.page-section-title{font-size:1.25rem;font-weight:700;margin:0}.menu-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3rem;margin:0 -1.5rem;padding:.9rem 1.5rem;color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem}.menu-list-item+.menu-list-item{border-top:1px solid var(--border)}.menu-list-item:first-child{margin-top:-1.5rem}.menu-list-item:last-child{margin-bottom:-1.5rem}.menu-list-item:hover{background:var(--bg)}.menu-list-item svg{color:var(--text-muted);flex-shrink:0}button.menu-list-item{width:100%;background:none;border:none;font-family:inherit;text-align:left;cursor:pointer}.menu-list-item-label{display:flex;align-items:center;gap:.75rem}.menu-list-item-icon{display:inline-flex;flex-shrink:0}.menu-list-item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.menu-list-item-subtitle{color:var(--text-muted);font-size:.82rem;font-weight:400}.dashboard-home-menu{margin-top:-.25rem}.panel.dashboard-home-group+.panel.dashboard-home-group{margin-top:1.5rem}.dashboard-home-group{border-radius:14px}.header-actions{display:flex;align-items:center;gap:.5rem}.account-menu-wrap{position:relative}.account-menu{position:absolute;top:100%;right:0;min-width:10rem}.account-menu-item{display:flex;align-items:center;width:100%;padding:.4rem .5rem;color:var(--text);font-size:.82rem;text-decoration:none;border-radius:5px;white-space:nowrap}.account-menu-item:hover{background:var(--bg)}.account-menu-divider{margin:.3rem 0;border:none;border-top:1px solid var(--border)}.dashboard-back-link{display:inline-block;margin-bottom:1.5rem;font-size:.85rem;font-weight:600;color:var(--accent);text-decoration:none}.dashboard-back-link:hover{text-decoration:underline}.ios-nav-bar{position:relative;display:flex;min-height:2rem;margin-bottom:1.5rem}.ios-nav-back,.ios-nav-bar{align-items:center;justify-content:center}.ios-nav-back{position:absolute;left:0;top:50%;transform:translateY(-50%);display:inline-flex;width:2rem;height:2rem;border-radius:999px;border:1px solid var(--border);color:var(--accent)}.ios-nav-back:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}button.ios-nav-back{background:none;padding:0;font-family:inherit;cursor:pointer}.ios-nav-title{font-size:1.1rem;font-weight:600;color:var(--text)}.font-sf,.ios-nav-title--sf{letter-spacing:-.01em}.ios-nav-actions{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;gap:.4rem}.ios-nav-edit{border-radius:999px;border:1px solid var(--border);color:var(--accent)}.ios-nav-bar button.ios-nav-save,.ios-nav-edit{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem}.ios-nav-bar button.ios-nav-save{box-sizing:border-box;min-width:0;padding:0;border:1.5px solid #1a73e8;border-radius:50%;background:transparent;color:#1a73e8;cursor:default}.ios-nav-bar button.ios-nav-save.has-changes{background:#1a73e8;color:#fff;cursor:pointer}.ios-nav-bar button.ios-nav-save.has-changes:hover{border-color:#1558b0;background:#1558b0}.ios-nav-bar button.ios-nav-save:disabled{opacity:.55}.ios-nav-edit:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.cliente-profile-wrap,.staff-profile-wrap{position:relative}.page-close-button{position:absolute;top:-.75rem;right:0;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.15)}@media (min-width:641px){.page-close-button{position:fixed;top:1.5rem;right:1.5rem}}.page-close-button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:var(--accent);color:var(--accent)}a.secondary,button.secondary{background:transparent;border:1px solid var(--border);color:var(--text);padding:.4rem .8rem;border-radius:999px;font-size:.85rem;cursor:pointer}a.secondary{display:inline-block;text-decoration:none}a.secondary:hover,button.secondary:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:var(--accent);color:var(--accent)}button.secondary.warning{background:color-mix(in srgb,var(--warning) 14%,transparent);border-color:var(--warning);color:var(--warning)}button.secondary.warning:hover{background:color-mix(in srgb,var(--warning) 22%,transparent);border-color:var(--warning);color:var(--warning)}a.icon-button,button.icon-button{width:2.1rem;height:2.1rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;flex-shrink:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;padding:1.5rem}.panel+.panel{margin-top:1rem}.collapsible>summary,.panel>h2{margin:-1.5rem -1.5rem 1rem;padding:.85rem 1.5rem;background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-bottom:1px solid var(--border)}.panel>h2{font-size:1rem}.panel>h2.bookings-panel-title-slim{padding:.5rem 1.5rem}.panel>h2.bookings-panel-title--today{background:color-mix(in srgb,var(--accent) 26%,var(--surface))}.reserva-nav-title{display:flex;flex-direction:column;align-items:center;line-height:1.25;font-weight:400}.reserva-nav-status{margin-top:.1rem;font-size:.8rem;font-weight:400;color:var(--text-muted)}.reserva-detail-status-outside{margin:-1rem 0 .5rem;padding:0 .25rem;font-size:.8rem;color:var(--text-muted);text-align:right}.panel>h2.reserva-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.reserva-detail-header-status{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-left:auto}.reserva-detail-client-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reserva-detail-client-link{color:inherit;text-decoration:none}.reserva-detail-client-link:hover{text-decoration:underline}.reserva-detail-actions-above,.reserva-detail-panel{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.reserva-summary{--summary-icon-size:1.1rem;display:flex;flex-direction:column;gap:.55rem;margin:0 0 1.5rem;padding:1.1rem 1.15rem 1.15rem;border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}.reserva-summary p{margin:0}.reserva-summary-when{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.reserva-summary-time{font-size:1.65rem;font-weight:700;line-height:1.15;letter-spacing:-.01em}.reserva-summary-date{margin-top:.15rem!important;color:var(--text-muted);font-size:.95rem}.reserva-summary-customer,.reserva-summary-service,.reserva-summary-staff,.reserva-summary-timer{position:relative;padding-left:calc(var(--summary-icon-size) + .6rem);line-height:1.4}.reserva-summary-customer:before,.reserva-summary-service:before,.reserva-summary-staff:before{content:"";position:absolute;left:0;top:.2em;width:var(--summary-icon-size);height:var(--summary-icon-size);background:var(--accent);-webkit-mask:var(--summary-icon) center /contain no-repeat;mask:var(--summary-icon) center /contain no-repeat}.reserva-summary-customer{--summary-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .75rem;margin-top:.35rem!important}.reserva-summary-customer:before{top:.3em}.reserva-summary-service{--summary-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cline x1='20' y1='4' x2='8.12' y2='15.88'/%3E%3Cline x1='14.47' y1='14.48' x2='20' y2='20'/%3E%3Cline x1='8.12' y1='8.12' x2='12' y2='12'/%3E%3C/svg%3E");font-size:1.05rem;font-weight:600}.reserva-summary-staff{--summary-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpolyline points='16 11 18 13 22 9'/%3E%3C/svg%3E")}.reserva-summary-customer-name{font-size:1.3rem;font-weight:700;color:var(--text);text-decoration:none}.reserva-summary-customer-name:hover{text-decoration:underline}.reserva-summary-phone{font-size:.95rem;color:var(--accent);text-decoration:none;white-space:nowrap}.reserva-summary-phone:hover{text-decoration:underline}.reserva-summary-muted{color:var(--text-muted);font-weight:400}.reserva-summary-timer{padding-left:0;font-size:.95rem}.reserva-summary-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem}.reserva-summary-tags .reservas-origin{margin-left:0}.reserva-summary-note{margin-top:.3rem!important;padding:.65rem .8rem;border-radius:10px;background:color-mix(in srgb,var(--warning) 13%,transparent);border-left:3px solid var(--warning);line-height:1.45}.reserva-detail-more{margin-top:1.25rem}.reserva-detail-more>summary{cursor:pointer;width:-moz-fit-content;width:fit-content;padding:.35rem 0;color:var(--text-muted);font-size:.9rem}.reserva-detail-more[open]>summary{margin-bottom:.5rem}.reserva-print-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer}.reserva-print-button:hover{color:var(--text);border-color:var(--text-muted)}.reserva-detail-actions-above{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.5rem}.reserva-detail-actions-above:empty{display:none}.reserva-detail-actions-above a.primary,.reserva-detail-actions-above button.primary{display:inline-block;width:-moz-fit-content;width:fit-content;margin:0;padding:.5rem 1.1rem;border-radius:999px;font-size:.85rem;font-weight:600;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--surface))}.reserva-detail-actions-above a.primary:hover,.reserva-detail-actions-above button.primary:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.reserva-detail-status-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.reserva-detail-cancel-link{background:none;border:none;padding:0;margin:0;font-family:inherit;font-size:.85rem;color:var(--text-muted);text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;cursor:pointer;transition:-webkit-text-decoration-color .15s ease;transition:text-decoration-color .15s ease;transition:text-decoration-color .15s ease,-webkit-text-decoration-color .15s ease}.reserva-detail-cancel-link:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.reserva-detail-cancel-link:disabled{cursor:default;opacity:.6}.reserva-detail-group-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.reserva-detail-group-heading+.entity-detail-group{margin-top:-.4rem}.reserva-detail-group-heading span{color:var(--text-muted);font-size:.85rem;font-weight:600}.reserva-detail-group-heading--large span{color:var(--text);font-size:1.05rem;font-weight:700}.reserva-detail-group-heading button.icon-button{width:1.6rem;height:1.6rem;font-size:.75rem}.reserva-detail-group-heading button.icon-button svg{width:62%;height:62%}.reserva-detail-totals-row td{background:color-mix(in srgb,var(--surface) 90%,var(--text) 10%);background-clip:padding-box;font-weight:700;padding-top:.7rem;padding-bottom:.7rem;border-top:.4rem solid transparent}.reserva-detail-totals-row td:first-child{font-weight:700;border-top-left-radius:calc(var(--radius) * 1.25);border-bottom-left-radius:calc(var(--radius) * 1.25)}.reserva-detail-totals-row td:last-child{border-top-right-radius:calc(var(--radius) * 1.25);border-bottom-right-radius:calc(var(--radius) * 1.25)}.reserva-detail-notes-text{overflow-wrap:anywhere;white-space:pre-wrap}.personal-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text);text-decoration:none;font-weight:600;font-size:1rem}.panel.personal-menu-item{padding:.75rem 1.5rem}.personal-menu-item:hover{border-color:var(--accent);color:var(--accent)}.personal-menu-item svg{color:var(--text-muted);flex-shrink:0}.personal-menu-item:hover svg{color:var(--accent)}.page-section-header a.icon-button,.page-section-header button.icon-button{width:2rem;height:2rem;font-size:.75rem;border:none;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 40%,transparent)}.page-section-header a.icon-button:hover,.page-section-header button.icon-button:hover{background:var(--accent-hover);color:#fff}.page-section-header a.icon-button svg,.page-section-header button.icon-button svg{width:58%;height:58%}.panel>h3{font-size:.9rem;margin:1.5rem 0 .75rem;padding-top:1.25rem;border-top:1px solid var(--border)}.bookings-panel-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .75rem}.bookings-title-date{font-size:.82rem;font-weight:600;color:var(--accent);white-space:nowrap}.bookings-title-date-stacked{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.bookings-title-day{font-size:1.35rem;font-weight:700}.bookings-title-month{margin-top:.1rem;font-size:.72rem;font-weight:600}.bookings-title-year{margin-top:.1rem;font-size:.68rem;font-weight:500}.cliente-nav-title{display:inline-flex;align-items:center;gap:.5rem;max-width:calc(100% - 6rem);min-width:0}.cliente-nav-title>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cliente-view-tabs{display:flex;margin-bottom:1.25rem;border:1px solid var(--border);border-radius:999px;overflow:hidden}.cliente-view-tabs button{flex:1 1;width:auto;border:none;background:transparent;padding:.5rem .75rem;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer}.cliente-view-tabs button.active{background:var(--accent);color:white}@media (max-width:480px){.cliente-view-tabs button{padding:.5rem .35rem;font-size:.8rem}}.cliente-preferences .field-inline{justify-content:space-between;margin-top:.75rem}.cliente-preferences+.reserva-detail-group-heading{margin-top:1.25rem}.cliente-preferences .field-inline select{width:auto;min-width:8.5rem;padding:.35rem 2rem .35rem .75rem;font-size:.88rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;cursor:pointer}.cliente-preferences~.reserva-detail-group-heading+.entity-detail-group{margin-top:.6rem}.cliente-booking-row .entity-list-item-main{align-items:center}.bookings-title-date-framed{flex-shrink:0;box-sizing:border-box;width:3.5rem;height:3.5rem;justify-content:center;border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.cliente-bookings-list .entity-list-item:first-child{margin-top:0}.cliente-booking-cancelled{color:var(--error);font-weight:600}.cliente-summary-list{grid-template-columns:minmax(0,1fr) auto}.cliente-summary-list dd{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cliente-summary-list .cliente-summary-sales{color:var(--text);font-weight:700}.cliente-summary-list .cliente-summary-total{padding-bottom:.5rem;border-bottom:1px solid var(--border);color:var(--text);font-weight:700}.bookings-title-date-clickable{border:none;background:none;padding:0;font-family:inherit;cursor:pointer}.bookings-title-date-clickable:focus-visible,.bookings-title-date-clickable:hover{text-decoration:underline}.panel-lead{color:var(--text-muted);font-size:.9rem;margin:0}.link-button{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.collapsible summary{cursor:pointer;font-weight:600;font-size:.95rem;list-style:none}.collapsible summary::-webkit-details-marker{display:none}.collapsible summary:before{content:"▸";display:inline-block;margin-right:.5rem;color:var(--text-muted)}.collapsible[open] summary:before{content:"▾"}.collapsible[open] summary{margin-bottom:1rem}.collapsible-body h2{font-size:.9rem;color:var(--text-muted);margin:0 0 1rem}.hours-day-list{display:flex;flex-direction:column;margin-bottom:1.25rem}.hours-day-box{display:flex;align-items:flex-start;gap:.9rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem}.hours-day-box+.hours-day-box{border-top:none}.hours-day-info{display:flex;flex-direction:column;gap:.15rem;width:6.5rem;flex-shrink:0;padding-top:.3rem}.hours-edit-day.icon-button{width:1.6rem;height:1.6rem;font-size:.75rem}.hours-edit-day.icon-button svg{width:62%;height:62%}.hours-day-total{font-size:.78rem;color:var(--text-muted)}.hours-day-shifts{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1 1;min-width:0;padding-top:.3rem}.hours-shift-readonly{font-size:.85rem;color:var(--text);text-align:center}.hours-sep{color:var(--text-muted);font-size:.85rem}button.secondary.hours-add-shift{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent);color:var(--accent)}button.secondary.hours-add-shift:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent);color:var(--accent)}button.secondary.hours-add-shift:disabled{background:transparent;border-color:var(--border);color:var(--text-muted)}.entity-list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.entity-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.entity-row:last-child{border-bottom:none}.entity-inactive{color:var(--text-muted);text-decoration:line-through}.entity-add-form{display:flex;gap:.5rem}.entity-add-form input[type=email],.entity-add-form input[type=number],.entity-add-form input[type=tel],.entity-add-form input[type=text]{flex:1 1;min-width:0;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-size:.9rem}.entity-add-form button{flex-shrink:0;width:auto}.clientes-add-form{flex-direction:column;align-items:stretch}.clientes-add-form button{width:100%}.clientes-add-form .modal-actions button{width:auto}.clientes-add-form .country-select-trigger,.clientes-add-form input,.clientes-add-form select,.clientes-add-form textarea{border-radius:var(--radius)}.service-add-form{flex-direction:column;align-items:stretch}.service-add-form input[type=number]{flex:1 1}.service-add-form button{width:100%}.service-add-form .modal-actions button{width:auto}.service-edit-field{display:flex;align-items:center;gap:.75rem}.service-edit-field label{flex:0 0 6rem;font-size:.85rem;color:var(--text-muted);text-align:right}.service-edit-field input{flex:1 1}.role-field{display:flex;align-items:center;gap:.75rem}.role-field label{font-size:.85rem;color:var(--text-muted)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem .9rem}.switch-row label{font-size:.82rem;color:var(--text-muted)}.attendance-day-list{display:flex;flex-direction:column;gap:.6rem}.attendance-day-box{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem .9rem;font:inherit;color:inherit;text-align:left;cursor:pointer}.attendance-day-box:focus-visible,.attendance-day-box:hover{border-color:var(--accent)}.attendance-day-box-past{opacity:.55}.attendance-day-box:disabled{cursor:default}.attendance-day-box:disabled:hover{border-color:var(--border)}.attendance-day-date{min-width:2.75rem;padding-right:.75rem;border-right:1px solid var(--border);text-align:center}.attendance-day-summary{display:grid;grid-template-columns:auto auto auto auto auto;justify-content:end;grid-column-gap:.25em;column-gap:.25em;grid-row-gap:.1rem;row-gap:.1rem;font-size:.75rem;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.attendance-shift-summary-row{display:contents}.attendance-shift-end,.attendance-shift-start{text-align:right}.attendance-shift-meridiem{text-align:left}.attendance-no-schedule-badge{display:inline-block;font-size:.72rem;font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.15rem .6rem}.attendance-regular-suffix{font-size:.62rem;font-weight:600;color:var(--accent)}.attendance-day-note{margin:.5rem 0 .75rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius)}.attendance-shift-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.attendance-shift-row select{width:auto;flex:1 1 7rem;min-width:0}.attendance-shift-row:first-of-type{margin-top:.35rem}.attendance-shift-type-toggle{display:inline-flex;flex-shrink:0;border:1px solid var(--border);border-radius:999px;overflow:hidden}.attendance-shift-type-toggle button{border:none;background:transparent;padding:.3rem .7rem;font-size:.78rem;color:var(--text-muted);cursor:pointer;width:auto}.attendance-shift-type-toggle button.active{background:var(--accent);color:white;font-weight:600}.attendance-shift-remove.icon-button{width:1.9rem;height:1.9rem;flex-shrink:0;font-size:.75rem;border-radius:999px;color:color-mix(in srgb,var(--error) 55%,var(--text-muted));border-color:color-mix(in srgb,var(--error) 35%,transparent)}.attendance-shift-remove svg{width:55%;height:55%}.attendance-shift-remove:hover{color:var(--error);border-color:var(--error)}.switch{position:relative;display:inline-block;flex-shrink:0;width:2.4rem;height:1.4rem}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{position:absolute;inset:0;background:var(--border);border-radius:999px;transition:background-color .15s ease;pointer-events:none}.switch-track:before{content:"";position:absolute;top:.15rem;left:.15rem;width:1.1rem;height:1.1rem;background:var(--surface);border-radius:50%;transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:before{transform:translateX(1rem)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.assignment-grid-wrap{overflow-x:auto}.assignment-grid{border-collapse:collapse;width:100%;font-size:.85rem}.assignment-grid td,.assignment-grid th{padding:.5rem .75rem;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}.assignment-grid thead th{color:var(--text-muted);font-weight:600}.assignment-grid tbody th{text-align:left;font-weight:500}.booking-contact{color:var(--text-muted);font-size:.85rem;flex-shrink:0}.bookings-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem;margin-bottom:.75rem}.bookings-filter select{padding:.3rem .4rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-family:inherit;font-size:.82rem;font-weight:400;flex-shrink:0;max-width:min(16rem,100%)}.bookings-day-arrows{display:flex;align-items:center;gap:.6rem}.bookings-day-arrow{flex-shrink:0;border:1.5px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent);padding:.3rem .6rem;font-size:.95rem;font-weight:700;line-height:1;cursor:pointer}.bookings-day-arrow:hover{background:color-mix(in srgb,var(--accent) 20%,var(--surface))}.bookings-day-today-button{font-size:.65rem;font-weight:700;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);padding:.05rem .45rem;cursor:pointer}.bookings-day-today-button:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.day-jump{position:relative;margin-left:.25rem}.day-jump,.day-jump-trigger{display:inline-flex;align-items:center}.day-jump-trigger{width:1.3rem;height:1.3rem;flex-shrink:0;padding:0;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;justify-content:center}.day-jump-trigger:hover{color:var(--accent);border-color:var(--accent)}.day-jump-trigger svg{width:68%;height:68%}.day-jump-menu{z-index:20;margin:.25rem 0 0;padding:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.25)}.booking-staff-trigger{display:inline-flex;align-items:center;gap:.5rem;border:none;background:none;padding:.15rem .4rem .15rem .15rem;margin-left:-.15rem;color:var(--text);font-size:inherit;font-weight:600;cursor:pointer;border-radius:999px}.booking-staff-trigger:hover{background:var(--bg)}.booking-staff-trigger:disabled{opacity:.6;cursor:default}.booking-status-menu{z-index:20;margin:.25rem 0 0;padding:.3rem;min-width:8.5rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.25)}.booking-status-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;border:none;background:none;color:var(--text);font-size:.82rem;text-align:left;border-radius:5px;cursor:pointer;white-space:nowrap}.booking-status-menu button:hover{background:var(--bg)}.booking-status-menu button.active{font-weight:700;color:var(--accent)}.booking-status-error{color:var(--error)}.booking-status-error,.booking-status-success{display:block;font-size:.75rem;margin-top:.2rem}.booking-status-success{color:var(--accent)}.booking-addon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.booking-addon-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.booking-overdue-warning{color:var(--warning);margin-left:.35rem}.booking-watching-badge{color:var(--accent);margin-left:.35rem}.booking-watching-heading{font-weight:700;color:var(--accent);margin:0 0 .5rem}.staff-legend-swatch{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;flex-shrink:0}.bookings-table td:has(.staff-legend-swatch){display:flex;align-items:center;gap:.5rem}.day-timeline{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}.day-timeline-hours{position:relative;height:1rem;margin-bottom:.2rem}.day-timeline-hour-mark{position:absolute;top:0;transform:translateX(-50%);font-size:.68rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.day-timeline-bar{position:relative;height:.9rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.day-timeline-closed{min-height:1.5rem;border-radius:999px;border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--text-muted)}.day-timeline-segment{position:absolute;top:0;bottom:0;min-width:2px;background:var(--accent)}.day-timeline-segment--block{background:var(--bg)}.agenda-block-row{color:var(--text-muted)}.agenda-block-note{font-style:italic}.agenda-block-delete{display:inline-flex;flex-direction:column}.agenda-block-delete-button{border:none;background:none;padding:.1rem .3rem;font-size:.95rem;line-height:1;cursor:pointer;border-radius:999px}.agenda-block-delete-button:hover{background:var(--bg);color:var(--error)}.agenda-block-delete-button:disabled{opacity:.5;cursor:default}.bookings-table-wrap{overflow-x:auto;margin-bottom:.5rem;scrollbar-width:none;-ms-overflow-style:none}.bookings-table-wrap::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}.bookings-table{border-collapse:collapse;width:100%;font-size:.9rem}.bookings-table td{padding:.55rem .9rem .55rem 0;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border)}.bookings-table tbody tr:last-child td{border-bottom:none}.bookings-table td:last-child{font-weight:600}.entity-table{border-collapse:collapse;width:100%;font-size:.9rem}.entity-table th{padding:0 .9rem .5rem 0;font-size:.8rem;font-weight:600;color:var(--text-muted)}.entity-table td,.entity-table th{text-align:left;white-space:nowrap}.entity-table td{padding:.55rem .9rem .55rem 0;border-bottom:1px solid var(--border)}.entity-table tbody tr:last-child td{border-bottom:none}.entity-table:has(tfoot) tbody tr:last-child td{border-bottom:1px solid var(--border)}.entity-table tfoot td{border-bottom:none}.staff-table td{padding-top:.1rem;padding-bottom:.1rem}.staff-table button.icon-button{width:1.6rem;height:1.6rem;font-size:.8rem}.staff-table td:last-child{text-align:center;padding-left:.5rem;padding-right:.5rem}.staff-table td:last-child .modal-actions{display:inline-flex;justify-content:center;margin-top:0}.staff-table td:last-child{text-align:left;padding-left:0;padding-right:.9rem}.entity-table td:first-child{font-weight:600}.entity-table td:first-child,.entity-table th:first-child{padding-left:.6rem}.entity-table td.numeric,.entity-table th.numeric{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entity-table td.wrap{white-space:normal;max-width:22rem}.reserva-detail-addon-remove-cell{width:1%;text-align:right;padding-left:.5rem}.reserva-detail-addon-remove.icon-button{width:1.6rem;height:1.6rem;font-size:.75rem;border-radius:999px;color:color-mix(in srgb,var(--error) 55%,var(--text-muted));border-color:color-mix(in srgb,var(--error) 35%,transparent)}.reserva-detail-addon-remove svg{width:55%;height:55%}.reserva-detail-addon-remove:hover{color:var(--error);border-color:var(--error)}.addon-picker{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.addon-picker-header{display:grid;grid-template-columns:1fr auto auto;grid-gap:1rem;gap:1rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--surface) 94%,var(--text) 6%);border-bottom:1px solid var(--border)}.addon-picker-header .numeric{text-align:right}.addon-picker-list{max-height:14rem;overflow-y:auto}.addon-picker-option{display:grid;grid-template-columns:1fr auto auto;grid-gap:1rem;gap:1rem;align-items:center;width:100%;padding:.6rem .75rem;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer}.addon-picker-option:last-child{border-bottom:none}.addon-picker-option .numeric{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.addon-picker-option:hover{background:color-mix(in srgb,var(--surface) 92%,var(--text) 8%)}.addon-picker-option.active{background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.entity-table tr.entity-row-clickable{cursor:pointer}.entity-table tr.entity-row-clickable:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.entity-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 -1.5rem;padding:.75rem 1.5rem;color:var(--text);text-decoration:none}.entity-list-item+.entity-list-item{border-top:1px solid var(--border)}.entity-list-item:first-child{margin-top:-1.5rem}.entity-list-item:last-child{margin-bottom:-1.5rem}.entity-list-item:hover{background:var(--bg)}.entity-list-item-main{display:flex;align-items:center;gap:.75rem;min-width:0}.entity-list-item-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid;border-radius:999px;color:var(--menu-icon-clientes);flex-shrink:0}.entity-list-item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.entity-list-item-title{font-weight:600;font-size:.95rem}.entity-list-item-subtitle{color:var(--text-muted);font-size:.82rem}.entity-list-item svg{color:var(--text-muted);flex-shrink:0}.entity-list-item .entity-unstaffed{display:inline-flex;align-items:center;gap:.3rem;color:var(--error)}.entity-list-item .entity-unstaffed svg{color:var(--error);flex-shrink:0}.entity-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.entity-list-search-wrap{position:relative;flex:1 1 12rem;display:flex;align-items:center}.entity-list-search-icon{position:absolute;left:.7rem;color:var(--text-muted);pointer-events:none}.entity-list-search{width:100%;padding:.5rem .7rem .5rem 2.2rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-size:.9rem;font-family:inherit}.entity-list-page-size{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.82rem;white-space:nowrap;flex-shrink:0}.entity-list-page-size select{padding:.3rem .4rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-size:.82rem}.entity-list-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.entity-list-pagination-arrow{flex-shrink:0;border:1.5px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent);padding:.3rem .6rem;font-size:.95rem;font-weight:700;line-height:1;cursor:pointer}.entity-list-pagination-arrow:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 20%,var(--surface))}.entity-list-pagination-arrow:disabled{opacity:.4;cursor:default}.entity-list-pagination-status{color:var(--text-muted);font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entity-detail-list{display:grid;grid-template-columns:auto 1fr;align-items:baseline;grid-gap:.5rem 1rem;gap:.5rem 1rem;margin:0}.entity-profile-details{display:flex;flex-direction:column;gap:1rem}.entity-detail-group{background:color-mix(in srgb,var(--surface) 96%,var(--text) 4%);border-radius:calc(var(--radius) * 1.75);padding:.9rem 1rem;border:1px solid transparent}.entity-detail-group-included{border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.clientes-add-form .entity-detail-group .field{margin-bottom:.5rem}.entity-detail-group .field:last-child{margin-bottom:0}.cliente-profile-details .entity-detail-list{grid-template-columns:9.5rem minmax(0,1fr)}.servicio-profile-details .entity-detail-list{grid-template-columns:13rem minmax(0,1fr)}.entity-detail-list.entity-detail-list-stacked{grid-template-columns:1fr}.entity-detail-list dd.entity-detail-value-off{color:var(--error)}.entity-detail-list dt{color:var(--text-muted);font-size:.85rem;font-weight:600}.entity-detail-list dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.entity-detail-list-numeric dd{font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.entity-detail-list-numeric dd,.reserva-detail-timer-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entity-profile-details dd{font-size:.95rem;font-weight:500}.country-flag-icon{width:1.3em;height:auto;vertical-align:-.15em;margin-right:.4rem;border-radius:2px}.country-select{position:relative}.country-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-size:.95rem;font-family:inherit;text-align:left;cursor:pointer}.country-select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.country-select-value{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.country-select-chevron{flex-shrink:0;color:var(--text-muted)}.country-select-menu{z-index:20;list-style:none;margin:.25rem 0 0;padding:.3rem;max-height:16rem;min-width:12rem;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.25)}.country-select-menu button{display:flex;align-items:center;width:100%;padding:.5rem .6rem;border:none;border-radius:6px;background:none;color:var(--text);font-size:.9rem;font-family:inherit;text-align:left;cursor:pointer}.country-select-menu button:hover{background:var(--bg)}.country-select-menu button.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:600}.customer-select{position:relative}.customer-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-size:.95rem;font-family:inherit;text-align:left;cursor:pointer}.customer-select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.customer-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-backdrop{position:fixed;inset:0;z-index:19;background:rgba(0,0,0,.35);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.customer-select-menu{z-index:20;display:flex;flex-direction:column;min-width:22rem;max-width:min(32rem,calc(100vw - 1rem));padding:.3rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.25);overflow:hidden}.customer-select-search{display:block;box-sizing:border-box;width:100%;margin:0 0 .3rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-size:.9rem;font-family:inherit}.customer-select-list{max-height:12rem;overflow-y:auto}.customer-select-list button{display:block;width:100%;padding:.5rem .6rem;border:none;border-radius:6px;background:none;color:var(--text);font-size:.9rem;font-family:inherit;text-align:left;cursor:pointer}.customer-select-list button:hover{background:var(--bg)}.customer-select-list button.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:600}.customer-select-empty{padding:.5rem .6rem;margin:0;color:var(--text-muted);font-size:.85rem}.customer-select-new{display:block;box-sizing:border-box;width:calc(100% + .6rem);margin:.3rem -.3rem -.3rem;padding:.65rem .9rem;border:none;border-top:1px solid var(--border);background:none;color:var(--accent);font-size:.9rem;font-weight:600;font-family:inherit;text-align:left;cursor:pointer}.customer-select-new:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.bookings-table tbody tr.booking-row{cursor:pointer}.bookings-table tbody tr.booking-row:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.bookings-table tbody tr.booking-row-cancelled td{color:var(--text-muted)}.bookings-table tbody tr.booking-row-watching td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.bookings-table tbody tr.booking-row-watching:hover td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.booking-shell{min-height:100dvh;display:flex;justify-content:center;padding:2rem 1rem}.booking-card{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;align-self:flex-start}.booking-card h1{font-size:1.25rem;margin:0 0 1rem}.booking-card p.subtitle{color:var(--text-muted);font-size:.9rem;margin:0 0 1rem}.booking-back{background:none;border:none;color:var(--accent);font-size:.85rem;padding:0;margin-bottom:1rem;cursor:pointer}.booking-back:hover{text-decoration:underline}.booking-option-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.booking-option{width:100%;display:flex;flex-direction:column;gap:.15rem;text-align:left;padding:.75rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);cursor:pointer;font-size:.95rem}.booking-option:hover{border-color:var(--accent)}.booking-option-title{font-weight:600}.booking-option-meta{color:var(--text-muted);font-size:.85rem}.booking-date-row{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1.25rem}.booking-date-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:3rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);cursor:pointer;font-size:.8rem;text-transform:capitalize}.booking-date-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.day-chip-status{font-size:.7rem;color:var(--text-muted)}.consent-field{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem .9rem}.consent-field label{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;font-weight:400;color:var(--text-muted);margin:0}.consent-field input[type=checkbox]{width:auto;height:auto;margin:.15rem 0 0;flex-shrink:0;accent-color:var(--accent)}.weekday-picker{display:flex;flex-wrap:wrap;gap:.4rem}.weekday-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:999px;font-size:.82rem;cursor:pointer}.weekday-chip input[type=checkbox]{width:auto;accent-color:var(--accent)}.weekday-chip:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:600}.service-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.service-checklist-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem}.range-calendar{border:1px solid var(--border);border-radius:8px;padding:.75rem;max-width:20rem}.range-calendar-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.9rem;margin-bottom:.5rem}.range-calendar-nav{background:transparent;border:1px solid var(--border);border-radius:999px;width:1.8rem;height:1.8rem;line-height:1;color:var(--text);cursor:pointer}.range-calendar-nav:hover{border-color:var(--accent);color:var(--accent)}.range-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:2px;gap:2px}.range-calendar-weekday-label{text-align:center;font-size:.72rem;color:var(--text-muted);padding-bottom:.3rem}.range-calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);cursor:pointer}.range-calendar-day:hover{border-color:var(--accent)}.range-calendar-day--today{font-weight:700;color:var(--accent)}.range-calendar-day--disabled{opacity:.35;cursor:default}.range-calendar-day--disabled:hover{border-color:transparent}.range-calendar-day--in-range{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:0}.range-calendar-day--selected{background:var(--accent);color:white;font-weight:600}.datetime-picker{display:flex;flex-direction:column;gap:.6rem;max-width:24rem}.datetime-picker>.range-calendar{max-width:20rem}.datetime-picker--compact{max-width:12rem}.range-calendar--compact{padding:.5rem;max-width:12rem}.range-calendar--compact .range-calendar-header{font-size:.78rem;margin-bottom:.35rem}.range-calendar--compact .range-calendar-nav{width:1.4rem;height:1.4rem;font-size:.75rem}.range-calendar--compact .range-calendar-weekday-label{font-size:.62rem;padding-bottom:.15rem}.range-calendar--compact .range-calendar-day{font-size:.72rem}.available-slot-groups{display:grid;grid-template-columns:max-content max-content 1fr;align-items:center;grid-gap:.5rem .75rem;gap:.5rem .75rem}.available-slot-group{display:contents}.available-slot-staff{grid-column:1/-1;font-weight:600;font-size:.85rem;margin-top:.5rem}.available-slot-group:first-child .available-slot-staff{margin-top:0}.available-chunk-row{display:contents}.available-chunk-label{font-size:.75rem;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.available-chunk-status{font-size:.8rem;font-weight:600;white-space:nowrap;background:none;border:none;padding:0;margin:0;font-family:inherit;text-align:left}.available-chunk-row--free .available-chunk-status{color:var(--slot-available)}.available-chunk-row--busy .available-chunk-status{color:var(--slot-reserved)}.available-chunk-track{height:.6rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.available-chunk-bar{height:100%;min-width:4px;border-radius:999px;background:var(--slot-available)}.available-chunk-row--busy .available-chunk-bar{background:var(--slot-reserved)}.available-chunk-row--absence .available-chunk-status{color:var(--slot-absent);font-weight:700}.available-chunk-row--absence .available-chunk-bar{background:var(--slot-absent)}.available-chunk-row--unscheduled .available-chunk-status{color:var(--slot-free)}.available-chunk-row--unscheduled .available-chunk-bar{background:repeating-linear-gradient(45deg,var(--slot-free),var(--slot-free) 4px,color-mix(in srgb,var(--slot-free) 35%,var(--bg)) 4px,color-mix(in srgb,var(--slot-free) 35%,var(--bg)) 8px)}@media (max-width:640px){.dashboard-shell{padding:1.25rem .85rem}.panel{padding:1.1rem}.collapsible>summary,.panel>h2{margin:-1.1rem -1.1rem 1rem;padding:.7rem 1.1rem}.dashboard-header{flex-wrap:wrap;row-gap:.6rem}.entity-table td{padding-right:.5rem}.entity-table .modal-actions{gap:.3rem}.entity-table button.icon-button{width:1.9rem;height:1.9rem}.entity-table td:first-child{max-width:6.5rem;white-space:normal}.bookings-filter select,.entity-add-form input[type=email],.entity-add-form input[type=number],.entity-add-form input[type=tel],.entity-add-form input[type=text],.field input,.field select,input,select,textarea{font-size:16px}.new-booking-row{flex-direction:column;align-items:stretch}.reserva-profile-details .entity-detail-list{grid-template-columns:1fr}.reserva-detail-audit-group .entity-detail-list,.reserva-profile-details .entity-detail-group:first-child .entity-detail-list,.reserva-profile-details .entity-detail-list.entity-detail-list-inline{grid-template-columns:auto 1fr}.cliente-profile-details .entity-detail-list{grid-template-columns:6.5rem minmax(0,1fr);gap:.5rem .75rem}.hours-day-info{width:5.5rem}.agenda-block-delete-button{padding:.4rem .55rem;font-size:1.05rem}.bookings-day-arrow{padding:.35rem .65rem;font-size:1rem}.range-calendar-nav{width:2.5rem;height:2.5rem}}:root{--workflow-created:#5566c9;--workflow-confirmed:#2f8fae;--workflow-started:#c07f12;--workflow-completed:#4f7942;--workflow-paid:#8f3c49;--workflow-cancelled:var(--error)}@media (prefers-color-scheme:dark){:root{--workflow-created:#8f9de6;--workflow-confirmed:#5cc3e0;--workflow-started:#e0b04f;--workflow-completed:#7fb56a;--workflow-paid:#e08597;--workflow-cancelled:#f08a84}}.workflow-step-created{--step-color:var(--workflow-created)}.workflow-step-confirmed{--step-color:var(--workflow-confirmed)}.workflow-step-started{--step-color:var(--workflow-started)}.workflow-step-completed{--step-color:var(--workflow-completed)}.workflow-step-paid{--step-color:var(--workflow-paid)}.workflow-step-cancelled{--step-color:var(--workflow-cancelled)}.workflow-step-rescheduled{--step-color:var(--workflow-started)}.workflow-step-staff_corrected{--step-color:var(--workflow-created)}.workflow-timeline{list-style:none;margin:0;padding:0}.workflow-node{position:relative;display:flex;align-items:flex-start;gap:.85rem;padding-bottom:1.6rem}.workflow-node:last-child{padding-bottom:0}.workflow-node:not(:last-child):before{content:"";position:absolute;left:calc(1.25rem - 1px);top:2.6rem;bottom:.45rem;border-left:2px dashed color-mix(in srgb,var(--step-color) 45%,transparent)}.workflow-node:not(:last-child):after{content:"";position:absolute;left:calc(1.25rem - 5px);bottom:.1rem;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid color-mix(in srgb,var(--step-color) 45%,transparent)}.workflow-node-done:not(:last-child):before{border-left-style:solid;border-left-color:var(--step-color)}.workflow-node-done:not(:last-child):after{border-top-color:var(--step-color)}.workflow-dot{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:2px dashed color-mix(in srgb,var(--step-color) 55%,transparent);background:var(--surface);color:color-mix(in srgb,var(--step-color) 60%,transparent)}.workflow-node-cancelled .workflow-dot,.workflow-node-done .workflow-dot{border:2px solid var(--step-color);background:var(--step-color);color:#fff}.workflow-content{flex:1 1;min-width:0;padding:.5rem .75rem;border-radius:var(--radius);border:1px dashed color-mix(in srgb,var(--step-color) 35%,transparent);border-left:4px solid color-mix(in srgb,var(--step-color) 35%,transparent)}.workflow-node-cancelled .workflow-content,.workflow-node-done .workflow-content{border:1px solid color-mix(in srgb,var(--step-color) 30%,transparent);border-left:4px solid var(--step-color);background:color-mix(in srgb,var(--step-color) 9%,var(--surface))}.workflow-title{font-weight:700;color:var(--step-color)}.workflow-node-pending .workflow-title,.workflow-node-skipped .workflow-title{font-weight:500;color:color-mix(in srgb,var(--step-color) 65%,var(--text-muted))}.workflow-when{font-size:.9rem;font-weight:600}.workflow-meta{font-size:.85rem;color:var(--text-muted)}.workflow-meta strong{color:var(--text);font-weight:600}.workflow-reason{font-size:.85rem;color:var(--error);font-weight:600}.workflow-empty-label{font-style:italic}.cancel-reason-options{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.cancel-reason-options legend{font-weight:600;margin-bottom:.4rem}.cancel-reason-option{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.birthday-day-month{display:flex;gap:.5rem;flex:1 1;min-width:0}.birthday-day-month select:first-child{flex:0 0 5rem}.birthday-day-month select:last-child{flex:1 1;min-width:0}.birthday-one-row{display:flex;gap:.5rem}.birthday-one-row>*{flex:1 1;min-width:0}.birthday-fields-stack{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.workflow-date-header{display:flex;margin-bottom:1rem}.cliente-allergies-text{color:var(--error);font-weight:600}.client-message-item{cursor:default;gap:.75rem}.client-message-status{flex-shrink:0;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.client-message-status-off{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.client-message-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;color:#fff}.client-message-item .entity-list-item-text{flex:1 1}.client-message-icon svg{color:inherit}.service-checklist-link{color:inherit;text-decoration:none}.service-checklist-link:hover{text-decoration:underline}.entity-list-item .avatar-fallback svg{color:inherit}.page-section-actions{display:flex;align-items:center;gap:.5rem}.spreadsheet-menu{position:relative}.spreadsheet-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--accent);cursor:pointer}.spreadsheet-menu-trigger:hover,.spreadsheet-menu-trigger[aria-expanded=true]{border-color:var(--accent)}.spreadsheet-menu-list{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;min-width:12rem;margin:0;padding:.3rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 18px color-mix(in srgb,var(--text) 15%,transparent)}.spreadsheet-menu-list a{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:calc(var(--radius) - 2px);color:var(--text);text-decoration:none;font-size:.9rem}.spreadsheet-menu-list a:hover{background:var(--bg)}.import-summary{margin-top:1rem}.import-errors{margin:.5rem 0 0;padding-left:1.1rem;font-size:.9rem}.import-errors li+li{margin-top:.25rem}.reservas-panel{overflow:clip}.reservas-metrics-bar{position:-webkit-sticky;position:sticky;top:var(--app-top-bar-height);z-index:5;display:flex;align-items:center;gap:.6rem;margin:-1rem -1.5rem 1rem;padding:.6rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.reservas-metrics-cards{display:flex;gap:.5rem;flex:1 1;min-width:0}.reservas-metric-card{display:flex;flex-direction:column;gap:.1rem;flex:1 1;min-width:0;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);text-align:left;font:inherit;color:var(--text);width:auto}.reservas-metric-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.reservas-metric-value{font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservas-metric-card.reservas-metric-alert{flex:1.5 1}.reservas-metric-alert .reservas-metric-alert-lines{white-space:normal;overflow-wrap:anywhere}button.reservas-metric-alert{cursor:pointer}button.reservas-metric-alert:disabled{cursor:default}.reservas-metric-alert.has-alerts{border-color:color-mix(in srgb,var(--warning) 60%,var(--border));background:color-mix(in srgb,var(--warning) 12%,var(--surface))}.reservas-metric-alert.is-active{border-color:var(--warning);background:var(--warning);box-shadow:0 0 0 2px color-mix(in srgb,var(--warning) 35%,transparent)}.reservas-metric-alert.is-active,.reservas-metric-alert.is-active .reservas-metric-alert-lines,.reservas-metric-alert.is-active .reservas-metric-label,.reservas-metric-alert.is-active .reservas-metric-value{color:#fff}@media (max-width:640px){.reservas-metrics-bar{flex-wrap:wrap;padding:.5rem 1rem;margin-left:-1rem;margin-right:-1rem}.reservas-metrics-cards{flex-basis:100%;flex-wrap:wrap}.reservas-metric-card.reservas-metric-alert{flex:1 1 100%}.reservas-metric-alert .reservas-metric-alert-lines{flex-direction:row;flex-wrap:wrap;gap:.1rem .9rem}}.reservas-priority-banner{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;padding:.6rem .8rem;border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);border-radius:var(--radius);background:color-mix(in srgb,#ffe58f 45%,var(--surface));font-size:.9rem}.reservas-priority-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.reservas-priority-item>span:first-child{flex:1 1;min-width:12rem}.reservas-priority-item a,.reservas-priority-item button{width:auto;padding:.3rem .8rem;font-size:.85rem;text-decoration:none}.reservas-priority-result{flex-basis:100%;color:var(--text-muted);font-size:.85rem}.reservas-stream{list-style:none;font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0}.reservas-stream-now{display:grid;grid-template-columns:4.75rem 1fr;grid-column-gap:.6rem;column-gap:.6rem;align-items:start}.reservas-stream-item{padding:.6rem .75rem .75rem;border-radius:14px;cursor:pointer}.reservas-stream-item+.reservas-stream-item,.reservas-stream-now+.reservas-stream-item{margin-top:.45rem}.reservas-panel{--reservas-pad:1.5rem;--tape-color:color-mix(in srgb,var(--text) 16%,transparent);--tape-mark-color:color-mix(in srgb,var(--text) 32%,transparent);--tape-number-color:color-mix(in srgb,var(--text) 62%,transparent);--tape-off-hours-color:color-mix(in srgb,var(--error) 45%,transparent)}@media (max-width:640px){.reservas-panel{--reservas-pad:1.1rem}}.reservas-stream.has-hour-ruler{position:relative}.reservas-stream.has-hour-ruler:before{content:"";position:absolute;top:0;bottom:0;left:calc(.2rem - var(--reservas-pad));width:.2rem;border-left:1px solid var(--tape-color);background:repeating-linear-gradient(to bottom,var(--tape-color) 0 1px,transparent 1px .45rem)}.reservas-stream.has-hour-ruler .reservas-stream-item.is-off-hours{position:relative}.reservas-stream.has-hour-ruler .reservas-stream-item.is-off-hours:after{content:"";position:absolute;top:calc(-1px - .225rem);bottom:calc(-1px - .225rem);left:calc(.2rem - var(--reservas-pad) - 1px);width:.2rem;border-left:1px solid var(--tape-off-hours-color);background:repeating-linear-gradient(to bottom,var(--tape-off-hours-color) 0 1px,transparent 1px .45rem),var(--surface);pointer-events:none}.reservas-stream-hour{position:relative;height:0}.reservas-stream-hour.is-empty{height:2.1rem}.reservas-stream>*+.reservas-stream-hour{margin-top:.45rem}.reservas-stream-hour+.reservas-stream-item{margin-top:0}.reservas-stream-hour:before{content:"";position:absolute;top:-.225rem;left:calc(.2rem - var(--reservas-pad));width:.35rem;height:1px;background:var(--tape-mark-color)}.reservas-stream-hour-label{position:absolute;top:-.225rem;left:calc(.62rem - var(--reservas-pad));transform:translateY(-50%);font-size:.55rem;line-height:1;font-weight:600;color:var(--tape-number-color);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.reservas-stream-time{font-weight:700;font-size:.9rem;white-space:nowrap;line-height:1.5rem}.reservas-stream-body{min-width:0;display:flex;flex-direction:column;gap:.15rem}.reservas-stream-top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.reservas-stream-timerange{padding-right:3.5rem;font-size:1.2rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reservas-stream-corner{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.reservas-stream-corner .reservas-stream-number{font-size:.82rem}.reservas-stream-top .reservas-stream-status{margin-left:0;font-size:.75rem;font-weight:500;white-space:nowrap}.reservas-stream-client{margin-top:.15rem;padding-right:5.5rem;font-size:1.15rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.reservas-stream-service{font-size:.92rem;color:var(--text-muted)}.reservas-stream-service-name{color:var(--text)}.reservas-stream-service .reservas-stream-package{display:block;font-weight:400}.reservas-stream-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.15rem;font-size:.9rem;line-height:1.5rem}.reservas-stream-ref{display:inline-flex;align-items:center;gap:.1rem;margin-left:auto;font-size:.82rem}.reservas-stream-ref .reservas-origin{margin-left:.35rem}.reservas-stream-dot{flex-shrink:0;width:.8rem;height:.8rem;border-radius:999px}.reservas-stream-staff{font-weight:500;white-space:nowrap}.reservas-stream-staff .booking-staff-trigger{font-weight:inherit}.reservas-stream-staff .booking-staff-trigger .staff-legend-swatch{display:none}.reservas-stream-staff .booking-status-menu{text-transform:none;letter-spacing:normal;font-weight:400}.reservas-stream-number{font-weight:400;color:var(--text-muted)}.reservas-stream-total{color:var(--text)}.reservas-stream-alerts{order:-2;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem}.reservas-stream-alerts-icon{color:var(--warning);font-size:.95rem;line-height:1}.reservas-stream-line4 .reservas-origin{margin-left:0}.reservas-stream-line4{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.15rem;font-size:.85rem}.reservas-stream-status{flex-shrink:0;margin-left:auto;font-weight:600;font-size:.8rem;color:var(--status-color)}.reservas-stream-action{margin-left:auto;flex-shrink:0;width:auto;padding:.15rem .75rem;border:1px solid var(--accent);border-radius:999px;background:var(--surface);color:var(--accent);font-size:.82rem;font-weight:600;cursor:pointer}.reservas-stream-action:hover{background:var(--accent);color:#fff}.reservas-stream-action--plain,.reservas-stream-action--plain:hover{order:-1;margin-left:0;padding-left:0;padding-right:0;border:none;background:none;color:var(--accent)}.reservas-stream-action--plain:hover{text-decoration:underline}.reservas-stream-error{color:var(--error);font-size:.8rem}.reservas-stream-item{--status-color:var(--workflow-created);background:var(--reserva-bg);border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.reservas-stream-item:hover{background:color-mix(in srgb,var(--reserva-bg) 94%,var(--text))}.reservas-stream-item.has-alert .reservas-stream-number{color:var(--warning);font-weight:700}.reservas-stream-booked{--status-color:var(--workflow-created)}.reservas-stream-confirmed{--status-color:var(--workflow-confirmed)}.reservas-stream-in_progress{--status-color:var(--workflow-started)}.reservas-stream-completed,.reservas-stream-pending_payment{--status-color:var(--workflow-completed)}.reservas-stream-paid{--status-color:var(--workflow-paid)}.reservas-stream-cancelled,.reservas-stream-no_show{--status-color:var(--workflow-cancelled)}.reservas-stream-item.is-past{opacity:.8}.reservas-stream-cancelled,.reservas-stream-no_show{opacity:.65}.reservas-stream-now{margin:.1rem 0 .4rem;align-items:center}.reservas-stream-now .reservas-stream-time{color:var(--error);font-size:.8rem}.reservas-stream-now-line{display:flex;align-items:center;gap:.4rem;color:var(--error);font-size:.75rem;font-weight:700;text-transform:uppercase}.reservas-stream-now-line:after{content:"";flex:1 1;border-top:2px solid var(--error)}@media (max-width:640px){.reservas-stream-now{grid-template-columns:4rem 1fr;column-gap:.4rem}}.bookings-title-date-today{color:var(--accent)}.bookings-title-date-framed.bookings-title-date-today{border-color:var(--accent);background:var(--accent);color:#fff}.bookings-title-date-framed.bookings-title-date-today .bookings-title-day,.bookings-title-date-framed.bookings-title-date-today .bookings-title-month,.bookings-title-date-framed.bookings-title-date-today .bookings-title-year{color:#fff}.day-jump--label{margin-left:0}.day-jump-label-trigger{display:inline-flex;width:auto;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;border-radius:12px}.day-jump-label-trigger:focus-visible .bookings-title-date,.day-jump-label-trigger:hover .bookings-title-date{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent);border-radius:12px}.bookings-date-nav{gap:.6rem}.bookings-date-nav,.reservas-search-toggle{display:inline-flex;align-items:center}.bookings-date-nav .bookings-day-arrow{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2.5rem;padding:0;border:none;border-radius:8px;background:transparent;color:var(--accent)}.bookings-date-nav .bookings-day-arrow:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.bookings-date-nav{gap:.85rem}.reservas-search-button{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);cursor:pointer;transition:background .15s}.reservas-search-button:hover{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.reservas-search-field{display:inline-flex;align-items:center;gap:.4rem;width:15rem;height:2.25rem;padding:0 .35rem 0 .75rem;border:1.5px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:999px;background:var(--surface);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.reservas-search-field input{flex:1 1;min-width:0;height:100%;padding:0;border:none;outline:none;background:transparent;color:var(--text);font-size:.9rem;box-shadow:none}.reservas-search-field input::-webkit-search-cancel-button{display:none}.reservas-search-clear{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.6rem;height:1.6rem;padding:0;border:none;border-radius:50%;background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-muted);cursor:pointer}.reservas-search-clear:hover{background:color-mix(in srgb,var(--text-muted) 26%,transparent);color:var(--text)}@media (max-width:640px){.reservas-search-field{width:11rem}}.bookings-panel-title .bookings-date-nav{margin-left:-1rem}@media (max-width:640px){.bookings-panel-title .bookings-date-nav{margin-left:-.75rem}}.bookings-day-next{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem}.bookings-day-next .bookings-day-arrow{height:2rem}.reservas-origin{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;vertical-align:middle;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.reservas-origin-whatsapp{color:#1f8a4c;background:color-mix(in srgb,#25d366 16%,transparent)}.reservas-origin-phone{color:var(--info);background:color-mix(in srgb,var(--info) 14%,transparent)}.reservas-origin-walk_in{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.reservas-metric-alert-lines{display:flex;flex-direction:column;gap:.05rem;font-size:.8rem;font-weight:600;white-space:nowrap}.reservas-stream-alert{padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700;color:var(--error);background:color-mix(in srgb,var(--error) 10%,transparent);white-space:nowrap}.client-overlap-warning p{margin:0 0 .6rem}.client-overlap-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.client-overlap-actions button{width:auto}.alert-prefs .alert-pref{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.alert-pref label.alert-pref-sub,.alert-pref label.alert-pref-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.alert-pref-title span:first-child{font-weight:700}.alert-pref.is-off .alert-pref-stepper,.alert-pref.is-off .alert-pref-sub,.alert-pref.is-off .field-hint,.alert-pref.is-off select{opacity:.5}.alert-pref-sub{margin-top:.25rem}.alert-pref-stepper{display:inline-flex;align-items:center;gap:.75rem;align-self:flex-start}.alert-pref-stepper button{width:2.25rem;height:2.25rem;padding:0;border:1.5px solid var(--accent);border-radius:50%;background:var(--surface);color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1;cursor:pointer}.alert-pref-stepper button:disabled{opacity:.4;cursor:default}.alert-pref-stepper-value{min-width:4.5rem;text-align:center;font-size:1.1rem;font-weight:700}.alert-pref select{align-self:flex-start;width:auto}.booking-lines-list{list-style:none;margin:0;padding:0}.booking-line{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"service when remove" "sub     sub  remove";align-items:center;grid-column-gap:.75rem;column-gap:.75rem;grid-row-gap:.1rem;row-gap:.1rem;padding:.6rem 0;border-bottom:1px solid var(--border);cursor:pointer}.booking-line:first-child{padding-top:0}.booking-line.is-error{background:color-mix(in srgb,var(--error) 10%,transparent)}.booking-line-service{grid-area:service;min-width:0;font-weight:600}.booking-line-when{grid-area:when;white-space:nowrap;font-size:.9rem}.booking-line-sub{grid-area:sub;font-size:.85rem;color:var(--text-muted)}.booking-line-sub .booking-line-package{display:inline;margin-left:.5rem}.booking-line-invalid{grid-column:1/3;font-size:.82rem;color:var(--error)}.booking-line .booking-line-remove{grid-area:remove}.booking-lines-total{display:flex;justify-content:space-between;gap:.75rem;margin-top:.6rem;font-size:.9rem}.packages-table tbody tr{cursor:pointer}.packages-table tbody tr.is-inactive{opacity:.55}.packages-inactive-tag{color:var(--text-muted);font-size:.85em}.packages-regular-price{display:block;color:var(--text-muted);font-size:.8em;text-decoration:line-through}.booking-line-package{display:block;font-size:.78rem;color:var(--text-muted)}.booking-line-missing{color:var(--error);font-weight:600;font-size:.85rem}.reservas-stream-package{display:block;font-size:.8rem;color:var(--text-muted)}.package-group-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.package-group-list li{font-size:.9rem}.package-group-list li.is-current{font-weight:600}.package-group-list a{color:inherit}.package-group-number{color:var(--text-muted)}.package-group-status{margin-left:.4rem}.package-group-note p{margin:.25rem 0}.package-group-note.is-partial strong:first-child{color:var(--error)}.packages-regular-price-inline{color:var(--text-muted);text-decoration:line-through;font-size:.85em}a.reservas-metric-link{text-decoration:none;cursor:pointer}a.reservas-metric-link:hover{border-color:var(--accent)}.schedule-missing-notice{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.schedule-missing-notice p{margin:0}.schedule-missing-notice a{align-self:flex-start;width:auto;text-decoration:none}.attendance-total{font-weight:400;color:var(--text-muted)}.service-timer{margin-left:.4rem;font-size:.8rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.service-timer.is-running{color:var(--accent)}.service-timer.is-final{color:var(--text-muted)}.attendance-outside-list{margin:.4rem 0 .6rem;padding-left:1.1rem}.attendance-outside-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.35rem}.attendance-outside-move{display:inline-flex;gap:.3rem}.attendance-outside-move button,.attendance-outside-move select{width:auto;padding:.2rem .5rem;font-size:.85rem}.booking-staff-unavailable{margin-left:auto;padding-left:.6rem;font-size:.75rem;font-weight:600;color:var(--error)}.booking-status-menu button:disabled{opacity:.6;cursor:not-allowed}.service-description-field{margin-bottom:1rem}.service-description-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.service-description-head>label:first-child{margin:0}.service-description-head label.field-checkbox{gap:.8rem;margin:0}.service-description-text{margin:0;white-space:pre-wrap}.page-section-edit{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--accent)}.page-section-edit:hover{border-color:var(--accent)}.filter-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:-.25rem 0 .75rem}.filter-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .3rem .2rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text);font-size:.82rem}.filter-chip button,.filter-chip-label{color:var(--text-muted)}.filter-chip button{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;padding:0;border:none;border-radius:50%;background:transparent;font-size:.75rem;cursor:pointer}.filter-chip button:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--text)}.field-inline .phone-split{flex:1 1;min-width:0;display:flex;gap:.4rem}.field-inline .phone-split input.phone-split-number{flex:1 1;width:auto;min-width:0}.field-inline .phone-split input[aria-invalid=true]{border-color:var(--error)}.field-error{margin:-.35rem 0 .75rem;font-size:.82rem;color:var(--error)}.field-inline .phone-split input.phone-split-dial{flex:0 0 auto;width:calc(4ch + 1rem);min-width:0;padding-left:.5rem;padding-right:.5rem;text-align:center}.time-select{display:flex;align-items:center;gap:.4rem;width:100%;min-width:0}.time-select select{flex:1 1 auto;width:auto;min-width:4.5rem}.time-select-period{display:inline-flex;flex-shrink:0;border:1px solid var(--border);border-radius:var(--input-radius);overflow:hidden}.time-select-period button{padding:.45rem .6rem;border:0;border-radius:0;background:var(--bg);color:var(--text-muted);font:inherit;font-size:.85rem;cursor:pointer}.time-select-period button+button{border-left:1px solid var(--border)}.time-select-period button.is-active{background:var(--accent);color:#fff;font-weight:600}.attendance-shift-row .time-select{flex:1 1 10rem;width:auto}.datetime-picker-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.datetime-picker-date{flex:1 1 8.5rem;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font:inherit;font-size:.88rem;text-align:left;white-space:nowrap;cursor:pointer}.datetime-picker-date span{min-width:0;overflow:hidden;text-overflow:ellipsis}.datetime-picker-date svg{flex-shrink:0;color:var(--accent)}.datetime-picker-date[aria-expanded=true]{border-color:var(--accent)}.datetime-picker-time{flex:0 0 auto}.datetime-picker-row .time-select{width:auto;gap:.3rem}.datetime-picker-row .time-select select,.datetime-picker-row>.datetime-picker-time>select{width:auto;min-width:0;padding:.45rem .4rem;font-size:.88rem}.datetime-picker-row .time-select-period button{padding:.4rem .45rem;font-size:.8rem}.panel>h2.panel-title-with-action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem;padding-bottom:.5rem;min-height:2.9rem}.panel>h2.panel-title-with-action>span:first-child{flex:1 1;min-width:0}.panel-title-with-action button.icon-button{width:1.75rem;height:1.75rem}.panel-title-with-action button.icon-button svg{width:62%;height:62%}.panel-title-with-action button.icon-button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.booking-origin{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}.booking-origin-label{font-weight:600}.booking-origin-option{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.booking-origin-option input{width:1.1rem;height:1.1rem;margin:0;accent-color:var(--accent)}.form-top-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.form-top-bar-title{flex:1 1;min-width:0;margin:0;font-size:1.05rem;text-align:center}.form-top-bar button.form-top-bar-cancel,.form-top-bar button.form-top-bar-save{flex:0 0 auto;min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:1.75rem;height:1.75rem;padding:0;border:1.5px solid;border-radius:50%;cursor:pointer}.form-top-bar button.form-top-bar-cancel{border-color:var(--text-muted);background:var(--bg);color:var(--text)}.form-top-bar button.form-top-bar-cancel:hover{color:var(--text);border-color:var(--text)}.form-top-bar button.form-top-bar-save{border-color:#1a73e8;background:transparent;color:#1a73e8;cursor:default}.form-top-bar button.form-top-bar-save.has-changes{background:#1a73e8;color:#fff;cursor:pointer}.form-top-bar button.form-top-bar-save.has-changes:hover{border-color:#1558b0;background:#1558b0}.form-top-bar button.form-top-bar-save:disabled{opacity:.55;cursor:default}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px!important}}.next-slot-button{margin-top:.5rem;width:auto}.next-slot-notice{color:var(--text)}.rules-intro{margin:0 0 1rem;color:var(--text-muted)}.rules-toc{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.rules-toc a{padding:.3rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:.85rem;text-decoration:none}.rules-toc a:hover{border-color:var(--accent);color:var(--accent)}.rules-section{scroll-margin-top:1rem}.rules-section-intro{margin:0 0 .6rem;color:var(--text-muted);font-size:.92rem}.rules-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.55rem;line-height:1.45}.reserva-create .new-booking-form{max-width:none}.reserva-create .reserva-detail-group-heading>span:first-child{flex:1 1;min-width:0}.rules-subsection{display:flex;flex-direction:column;gap:.5rem;scroll-margin-top:1rem}.reservas-date-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin:.5rem 0 1.25rem}.reservas-day-center{display:flex;align-items:center;gap:.4rem;min-width:0}.reservas-day-search{flex-shrink:0;display:inline-flex;align-items:center;gap:.5rem}.reservas-filter-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:none;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);cursor:pointer}.reservas-filter-toggle.is-open,.reservas-filter-toggle:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.reservas-filter-count{position:absolute;top:-.2rem;right:-.2rem;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:700;line-height:1.1rem;text-align:center}.reservas-day-pill{display:inline-flex;align-items:center;gap:.2rem;padding:.3rem;border-radius:999px;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:0 1px 3px rgba(0,0,0,.06)}.reservas-day-arrow{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);cursor:pointer}.reservas-day-arrow:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.reservas-day-label{display:flex;flex-direction:column;align-items:center;min-width:8.5rem;padding:.1rem .6rem;border-radius:999px;line-height:1.2}.day-jump-label-trigger:focus-visible .reservas-day-label,.day-jump-label-trigger:hover .reservas-day-label{background:color-mix(in srgb,var(--accent) 8%,transparent)}.reservas-day-weekday{font-size:.78rem;font-weight:600;color:var(--text-muted)}.reservas-day-date{font-size:1.05rem;font-weight:700;color:var(--text);white-space:nowrap}.reservas-day-today{width:auto;padding:.15rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:transparent;color:var(--accent);font-size:.78rem;font-weight:600;cursor:pointer}.reservas-day-today:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}@media (max-width:640px){.reservas-day-pill{gap:.1rem;padding:.25rem}.reservas-day-arrow{width:1.9rem;height:1.9rem}.reservas-day-label{min-width:0;padding:.05rem .3rem}.reservas-day-weekday{font-size:.72rem}.reservas-day-date{font-size:.95rem}.reservas-day-today{padding:.15rem .5rem;font-size:.74rem;white-space:nowrap}.reservas-day-search{gap:.35rem}}@media (max-width:380px){.reservas-day-arrow{width:1.7rem;height:1.7rem}.reservas-filter-toggle,.reservas-search-button{width:2.1rem;height:2.1rem}.reservas-day-search{gap:.25rem}.reservas-date-row{gap:.35rem}.reservas-day-pill{gap:0}.reservas-day-label{padding:.05rem .15rem}.reservas-day-date{font-size:.9rem}}.available-slots-panel,.reservas-date-row,.reservas-filter,.reservas-panel{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.cobro{max-width:34rem;margin:0 auto}.cobro-header{padding-bottom:.85rem;border-bottom:1px solid var(--border)}.panel.cobro.servicio-doc{max-width:44rem}.servicio-doc-store{font-size:1.15rem;font-weight:700;margin-bottom:.35rem}.servicio-doc-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.servicio-doc-brand .servicio-doc-store{margin-bottom:0}.servicio-doc-logo{flex:none;max-width:9rem;max-height:3.5rem;object-fit:contain}.servicio-doc-heading{margin-top:1.1rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.servicio-doc-steps{width:100%;margin-top:.5rem;border-collapse:collapse;font-size:.88rem}.servicio-doc-steps td,.servicio-doc-steps th{text-align:left;vertical-align:top;padding:.45rem .5rem .45rem 0;border-bottom:1px solid var(--border)}.servicio-doc-steps th{font-size:.75rem;font-weight:600;color:var(--text-muted)}.servicio-doc-steps td:first-child{font-weight:600;white-space:nowrap}.servicio-doc-step-empty td{color:var(--text-muted);font-weight:400}.servicio-doc-duration{margin-top:.75rem;font-size:.9rem}.servicio-doc-footer{margin-top:1.25rem;font-size:.75rem;color:var(--text-muted)}@media (max-width:560px){.servicio-doc-steps thead{display:none}.servicio-doc-steps tr{display:block;padding:.45rem 0;border-bottom:1px solid var(--border)}.servicio-doc-steps td{display:block;padding:.05rem 0;border:0}}.cobro-title{font-weight:700;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase}.cobro-parties{margin-top:.3rem;font-size:.9rem;color:var(--text-muted)}.cobro-lines{list-style:none;margin:0;padding:.85rem 0;display:flex;flex-direction:column;gap:.6rem;border-bottom:1px solid var(--border)}.cobro-line{display:flex;align-items:baseline;gap:.5rem;font-size:.95rem}.cobro-line-name{min-width:0}.cobro-line-tag{color:var(--text-muted);font-size:.85rem}.cobro-line-leader{flex:1 1;min-width:1rem;border-bottom:1px dotted var(--text-muted);transform:translateY(-.2rem)}.cobro-line-amount{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cobro-tip{display:flex;flex-direction:column;gap:.6rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.cobro-line-strong{font-weight:700}.cobro-line-strong .cobro-line-amount{font-size:1.35rem}.cobro-tip-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.panel.cobro button.cobro-tip-preset{display:flex;flex-direction:column;align-items:center;gap:.1rem;width:100%;min-width:0;margin:0;padding:.55rem .25rem;border:1px solid var(--border);border-radius:.75rem;background:transparent;color:var(--text);cursor:pointer}.cobro-tip-preset-percent{font-size:.95rem;font-weight:600;color:var(--text-muted)}.cobro-tip-preset-amount{font-size:clamp(1.05rem,4.6vw,1.35rem);font-weight:700;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel.cobro button.cobro-tip-preset.active{background:var(--accent);border-color:var(--accent);color:white}.cobro-tip-preset.active .cobro-tip-preset-percent{color:white}.cobro-tip-others{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.panel.cobro button.cobro-tip-custom{flex-direction:row;justify-content:center;padding:.5rem;font-size:.95rem;font-weight:600}.cobro-tip-entry{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.cobro .cobro-tip-input{width:8rem;flex:none;text-align:right;font-size:1.15rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cobro-products{padding-bottom:.85rem;border-bottom:1px solid var(--border)}.cobro-products .cobro-product-lines{border-bottom:0;padding-bottom:.25rem}.cobro-product{display:flex;flex-direction:column;gap:.35rem}.cobro-product-controls{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.panel.cobro .cobro-product-controls button{width:auto;margin:0}.panel.cobro .cobro-product-controls button.icon-button{width:1.9rem;height:1.9rem}.cobro-product-quantity{min-width:1.75rem;text-align:center;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cobro-product-add{margin-top:.6rem}.cobro-products-hint{margin:.4rem 0 0;font-size:.8rem;color:var(--text-muted)}.cobro-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:2rem 0 .85rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.cobro-total span:last-child{font-size:1.6rem;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cobro-paid-details,.cobro-payment{margin-top:.5rem}.cobro-actions{display:flex;justify-content:center;margin-top:2.25rem}.panel.cobro .cobro-actions button{width:auto;margin:0}.panel.cobro button.cobro-pay-button{min-width:12rem;padding:.7rem 1.5rem;font-size:1rem;background:var(--accent);color:white;border-color:var(--accent)}.panel.cobro button.cobro-pay-button:hover{background:var(--accent-hover)}.report-summary{margin-bottom:1rem}.bookings-filter button.report-print{width:auto;padding:.3rem .8rem;font-size:.82rem}.report-group-top{margin:-1.5rem -1.5rem 0;padding:.75rem 1.5rem;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.report-group-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.25rem .75rem}.report-group-heading h2{margin:0;font-size:1.05rem;color:var(--accent)}.report-group-total{font-weight:600}.report-group-hint{margin:.25rem 0 0;color:var(--text-muted);font-size:.85rem}.report-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 -1.5rem;padding:.6rem 1.5rem;border-top:1px solid var(--border);color:var(--text);text-decoration:none}.report-row:last-child{margin-bottom:-1.5rem}.report-row:hover{background:var(--bg)}.report-row-side,.report-row-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.report-row-side{flex-shrink:0;align-items:flex-end;font-size:.9rem}.report-row-title{font-weight:600;font-size:.95rem}.report-filter label,.report-row-status,.report-row-subtitle{color:var(--text-muted);font-size:.82rem}.report-filter label{display:inline-flex;align-items:center;gap:.35rem}.report-filter input[type=date]{padding:.3rem .4rem;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--bg);color:var(--text);font-family:inherit;font-size:.82rem}.report-group--totals .report-group-top{margin-bottom:-1.5rem}.report-fields{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-bottom:1rem;font-size:.85rem}.report-fields label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.report-fields input[type=checkbox]{width:auto;margin:0}.invoice{max-width:46rem;margin:0 auto;font-size:.92rem}.invoice-head{display:flex;justify-content:space-between;gap:1.5rem;padding-bottom:1.25rem;border-bottom:2px solid var(--text)}.invoice-issuer{font-size:1.4rem;font-weight:700;letter-spacing:-.01em}.invoice-muted{color:var(--text-muted);font-size:.85rem}.invoice-meta{text-align:right}.invoice-title{font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}.invoice-meta dl,.invoice-payment dl{display:grid;grid-template-columns:auto auto;grid-gap:.2rem .9rem;gap:.2rem .9rem;margin:0}.invoice-meta dl{justify-content:end}.invoice-payment dl{justify-content:start}.invoice dt{color:var(--text-muted)}.invoice dd{margin:0}.invoice-meta dd{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.invoice-status{display:inline-block;padding:.1rem .6rem;border:1.5px solid var(--accent);border-radius:999px;color:var(--accent);font-size:.78rem;font-weight:700}.invoice-label,.invoice-status{letter-spacing:.05em;text-transform:uppercase}.invoice-label{margin-bottom:.3rem;color:var(--text-muted);font-size:.75rem;font-weight:600}.invoice-strong{font-weight:700}.invoice-billed-to{padding:1.25rem 0;line-height:1.5}.invoice-table-wrap{overflow-x:auto}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th{padding:.5rem .6rem;border-bottom:1px solid var(--text);color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.invoice-table td{padding:.7rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.invoice-table td:first-child,.invoice-table th:first-child{padding-left:0}.invoice-table td:last-child,.invoice-table th:last-child{padding-right:0}.invoice-table .invoice-num,.invoice-totals dd{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-totals{display:grid;grid-template-columns:auto auto;grid-gap:.35rem 2rem;gap:.35rem 2rem;width:-moz-fit-content;width:fit-content;margin:1rem 0 0 auto}.invoice-totals .invoice-total{padding:.4rem 0;border-top:1px solid var(--text);border-bottom:1px solid var(--text);color:var(--text);font-size:1.05rem;font-weight:700}.invoice-payment{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.invoice-reference{font-size:.82rem;overflow-wrap:anywhere}.invoice-footer{margin:1.5rem 0 0;color:var(--text-muted);font-size:.78rem;text-align:center}@media (max-width:560px){.invoice-head{flex-direction:column;gap:1rem}.invoice-meta{text-align:left}.invoice-meta dl{justify-content:start}.invoice-meta dd{text-align:left}}@media print{.panel.invoice{max-width:none;border:none;padding:0}}.message-preview,.whatsapp-promo-preview{margin:.35rem 0 0;padding:.65rem .85rem;max-width:28rem;border-radius:.9rem .9rem .9rem .25rem;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text);font-size:.92rem;line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}a.client-message-item-link{color:inherit;text-decoration:none}a.client-message-item-link:hover .entity-list-item-title{text-decoration:underline}.message-preview-email{display:grid;grid-gap:.25rem;gap:.25rem;border-radius:.6rem;white-space:normal}.message-preview-email p{margin:.4rem 0 0;white-space:pre-line}.placeholder-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0 .5rem}.placeholder-chips .placeholder-chip{width:auto;padding:.2rem .6rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.placeholder-chips .placeholder-chip:hover{border-color:var(--accent)}.reservation-page{max-width:36rem;margin:0 auto;padding:1.25rem 1rem 2rem;display:grid;grid-gap:1rem;gap:1rem}.reservation-page-header h1{margin:.15rem 0 0}.reservation-page-business{margin:0;color:var(--text-muted);font-weight:600}.reservation-card{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface)}.reservation-card h2{margin:.35rem 0 .6rem;font-size:1.15rem}.reservation-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.88rem}.reservation-card-number{color:var(--text-muted)}.reservation-card-status{font-weight:600}.reservation-facts{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.3rem .9rem;gap:.3rem .9rem;margin:0}.reservation-facts dt{color:var(--text-muted)}.reservation-facts dd{margin:0;overflow-wrap:anywhere}.reservation-detail{margin-top:.85rem}.reservation-detail h3{margin:0 0 .2rem;font-size:.92rem}.reservation-detail p{margin:0;white-space:pre-line}.reservation-whatsapp{display:block;margin-top:1rem;padding:.7rem 1rem;border-radius:.6rem;background:#25a35a;color:#fff;font-weight:600;text-align:center;text-decoration:none}.reservation-cancel-link{display:block;margin-top:.6rem;color:var(--text-muted);text-align:center;font-size:.9rem}.reservation-page-footer{margin:0;color:var(--text-muted);font-size:.82rem;text-align:center}.reservation-verify{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:1rem}.reservation-verify input{font-size:1.4rem;letter-spacing:.4em;text-align:center}.message-preview-frame{width:100%;height:24rem;overflow:hidden;display:block;margin-top:.4rem;border:0;border-radius:.4rem;background:#fff}.notification-group-title{margin:.25rem 0 .4rem;font-size:1rem}form+.notification-group-title{margin-top:1.25rem}.switch-row-indented{padding-left:1rem}.push-test{margin:.5rem 0 .75rem}.switch-row-spaced{margin:1.5rem 0}.cliente-view-tabs.notificaciones-tabs{margin-bottom:1.5rem}.panel-lead.notificaciones-note{margin-bottom:3rem}.field.field-spaced-top,.notificaciones-tabs+#notification-settings-form{margin-top:1.5rem}.help-doc{line-height:1.55}.help-doc h2{margin:2rem 0 .75rem;font-size:1.15rem}.help-doc h2:first-of-type{margin-top:1rem}.help-doc h3{margin:1.5rem 0 .5rem;font-size:1rem}.help-doc h4{margin:1.25rem 0 .4rem;font-size:.95rem}.help-doc ol,.help-doc p,.help-doc ul{margin:0 0 .85rem}.help-doc ol,.help-doc ul{padding-left:1.3rem}.help-doc li{margin-bottom:.3rem}.help-doc code{font-size:.85em;padding:.05rem .3rem;border-radius:4px;background:var(--bg);border:1px solid var(--border);word-break:break-all}.help-doc-table{overflow-x:auto;margin:0 0 1rem}.help-doc-table table{border-collapse:collapse;font-size:.85rem;min-width:100%}.help-doc-table td,.help-doc-table th{border:1px solid var(--border);padding:.4rem .55rem;text-align:left;vertical-align:top}.help-doc-table th{background:var(--bg)}.reservas-filter-field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.reservas-filter-caption{font-size:.75rem;color:var(--text-muted)}@media (max-width:640px){.bookings-filter.reservas-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.4rem;gap:.4rem}.bookings-filter.reservas-filter select{width:100%;min-width:0;max-width:none;flex-shrink:1;padding:.35rem .3rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.switch-row.cliente-preferences-row{margin-bottom:.6rem}:root{--app-top-bar-height:3rem}.app-top-bar{box-sizing:border-box;min-height:var(--app-top-bar-height);position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--border)}.app-top-bar-inner{max-width:640px;margin:0 auto;padding:.35rem .75rem;display:flex;align-items:center;gap:.6rem}.app-top-bar button.app-top-bar-menu{width:2.25rem;height:2.25rem;min-width:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.app-top-bar button.app-top-bar-menu:hover{background:var(--bg)}.app-top-bar-brand{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--text);text-decoration:none}.app-top-bar-brand img,.side-menu-header img{border-radius:6px;object-fit:cover}.app-top-bar-brand{min-width:0}.app-top-bar-name,.side-menu-store-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-menu-powered{margin:auto 0 0;text-align:center;line-height:1.5;padding:0 .75rem;font-size:.65rem;color:var(--text-muted);opacity:.8}.side-menu-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.35)}.side-menu{position:absolute;top:0;left:0;bottom:0;width:min(80vw,300px);overflow-y:auto;display:flex;flex-direction:column;background:var(--surface);box-shadow:4px 0 18px rgba(0,0,0,.18);padding:.75rem .5rem 1.5rem;animation:side-menu-in .18s ease-out}@keyframes side-menu-in{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.side-menu-header{display:flex;align-items:center;gap:.55rem;padding:.25rem .5rem .75rem;font-weight:600;font-size:1.05rem}.side-menu-header button.side-menu-close{margin-left:auto;width:2rem;height:2rem;min-width:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.side-menu-group{border-top:1px solid var(--border);padding:.4rem 0}.side-menu-group-title{padding:.35rem .75rem .2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.side-menu a.side-menu-item,.side-menu button.side-menu-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.6rem .75rem;border:none;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.95rem;text-align:left;text-decoration:none;cursor:pointer}.side-menu a.side-menu-item:hover,.side-menu button.side-menu-item:hover{background:var(--bg)}.side-menu a.side-menu-item.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600}.side-menu-item-icon{display:inline-flex;color:var(--text-muted)}.side-menu a.side-menu-item.active .side-menu-item-icon{color:var(--accent)}.side-menu.side-menu-desktop{display:none}@media (min-width:641px){:root{--side-menu-width:64px;--side-menu-expanded-width:260px;--app-top-bar-height:0px}.app-top-bar{display:none}.side-menu.side-menu-desktop{display:flex;position:fixed;top:0;left:0;bottom:0;width:var(--side-menu-width);z-index:30;animation:none;box-shadow:none;border-right:1px solid var(--border)}.app-main{margin-left:var(--side-menu-width)}}.entity-list-item.client-message-item{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon title status" "when when when";grid-column-gap:.65rem;column-gap:.65rem;grid-row-gap:.4rem;row-gap:.4rem;align-items:center}.client-message-item .entity-list-item-text{display:contents}.client-message-item .client-message-icon{grid-area:icon;width:2rem;height:2rem}.client-message-item .client-message-icon svg{width:16px;height:16px}.client-message-item .entity-list-item-title{grid-area:title;min-width:0}.client-message-item .entity-list-item-subtitle{grid-area:when}.client-message-item .client-message-status{grid-area:status}.side-menu-header button.side-menu-rail-toggle{display:none}@media (min-width:641px){.side-menu.side-menu-desktop{transition:width .15s ease-out,box-shadow .15s ease-out;overflow-x:hidden;padding-left:.5rem;padding-right:.5rem}.side-menu-header button.side-menu-rail-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;min-width:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.side-menu-header button.side-menu-rail-toggle:hover{background:var(--bg)}.side-menu.side-menu-desktop .side-menu-header{padding-left:0;padding-right:0}.side-menu.side-menu-desktop:not(.expanded) .side-menu-group-title,.side-menu.side-menu-desktop:not(.expanded) .side-menu-header img,.side-menu.side-menu-desktop:not(.expanded) .side-menu-label,.side-menu.side-menu-desktop:not(.expanded) .side-menu-powered,.side-menu.side-menu-desktop:not(.expanded) .side-menu-store-name{display:none}.side-menu.side-menu-desktop:not(.expanded) a.side-menu-item,.side-menu.side-menu-desktop:not(.expanded) button.side-menu-item{justify-content:center;padding-left:0;padding-right:0}.side-menu.side-menu-desktop .side-menu-label,.side-menu.side-menu-desktop .side-menu-store-name{white-space:nowrap}.side-menu.side-menu-desktop.expanded{width:var(--side-menu-expanded-width);box-shadow:4px 0 18px rgba(0,0,0,.25)}.side-menu-rail-backdrop{position:fixed;inset:0;z-index:29}}.side-menu-powered a{color:inherit;text-decoration:none}.side-menu-powered a:hover{text-decoration:underline}@supports not selector(::-webkit-scrollbar){.side-menu{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 45%,transparent) transparent}}.side-menu::-webkit-scrollbar{width:4px}.side-menu::-webkit-scrollbar-track{background:transparent}.side-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 45%,transparent);border-radius:4px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-weight:700;font-size:1.15rem;letter-spacing:.02em}.auth-brand img{border-radius:14px}.booking-progress{--progress-color:#3f72b0;--progress-soft:color-mix(in srgb,#3f72b0 25%,transparent);--progress-inset:1.3rem;margin:.7rem -.6rem .1rem}.booking-progress-stopped{--progress-color:color-mix(in srgb,var(--error) 75%,transparent);--progress-soft:color-mix(in srgb,var(--error) 18%,transparent)}.booking-progress-track{position:relative;height:7px;margin:0 var(--progress-inset)}.booking-progress-fill,.booking-progress-track:before{content:"";position:absolute;left:0;top:3px;height:1px}.booking-progress-track:before{right:0;background:var(--progress-soft)}.booking-progress-fill{background:var(--progress-color)}.booking-progress-dot{position:absolute;top:0;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;border:1px solid var(--progress-soft);background:var(--surface);box-sizing:border-box}.booking-progress-dot.reached{border-color:var(--progress-color);background:var(--progress-color)}.booking-progress-dot.stop{background:var(--surface);border-width:2px}.booking-progress-labels{position:relative;height:.8rem;margin:.2rem var(--progress-inset) 0;font-size:.5rem;line-height:1;color:var(--text)}.booking-progress-labels span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}@media (prefers-color-scheme:dark){.booking-progress{--progress-color:#8ab6dc;--progress-soft:color-mix(in srgb,#8ab6dc 25%,transparent)}.booking-progress-labels{color:#7d7d86}.booking-progress-stopped{--progress-color:color-mix(in srgb,var(--error) 75%,transparent);--progress-soft:color-mix(in srgb,var(--error) 18%,transparent)}}.panel>.booking-progress:first-child{margin:0 0 1.25rem}.unclosed-bookings-button{display:flex;align-items:center;gap:.35rem;width:-moz-fit-content;width:fit-content;margin:0 0 .75rem auto;padding:.3rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent);font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:600;text-decoration:none}.unclosed-bookings-button:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.home-page{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.home-page .dashboard-header{margin-bottom:.75rem}.home-store{display:flex;align-items:center;gap:.7rem}.home-store-logo{width:2.5rem;height:2.5rem;border-radius:12px;object-fit:cover;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.home-greeting{margin:.25rem 0 1.25rem}.home-greeting p{margin:0}.home-greeting-hello{font-size:1.6rem;font-weight:700;line-height:1.2;letter-spacing:-.01em}.home-greeting-date{margin-top:.2rem!important;color:var(--text-muted);font-size:1rem}.home-page .unclosed-bookings-button,.home-today{margin-bottom:1rem}.home-today{padding:1.1rem 1.15rem 1rem;border-radius:18px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.home-today-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.home-today-new{display:none;align-items:center;gap:.25rem;padding:.3rem .8rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.82rem;font-weight:700;text-decoration:none}.home-today-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.home-next{position:relative;display:flex;flex-direction:column;gap:.1rem;padding:.8rem 2.2rem .85rem .95rem;border-radius:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:var(--text);text-decoration:none}.home-next:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.home-next-label{font-size:.75rem;font-weight:600;color:var(--text-muted)}.home-next-time{font-size:1.25rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-next-client{font-size:1.05rem;font-weight:700}.home-next-service{font-size:.9rem;color:var(--text-muted)}.home-next-service strong{color:var(--text);font-weight:600}.home-next-arrow{position:absolute;top:50%;right:.9rem;transform:translateY(-50%);font-size:1.6rem;color:var(--accent)}.home-next-empty{margin:0;padding:.8rem .95rem;border-radius:14px;background:var(--surface);color:var(--text-muted)}.home-today-counts{display:flex;gap:.5rem;margin-top:.75rem}.home-count{display:flex;flex-direction:column;align-items:center;padding:.55rem .4rem;border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;flex:1 1;min-width:0}.home-count-value{font-size:1.15rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.home-count-label{font-size:.78rem;color:var(--text-muted)}.home-count.has-alerts .home-count-value{color:var(--warning)}.home-new-booking{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:1.25rem;padding:.85rem 1rem;border-radius:999px;background:var(--accent);color:#fff;font-size:1rem;font-weight:700;text-decoration:none;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent)}.home-new-booking:hover{background:var(--accent-hover)}.home-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}@media (min-width:641px){.home-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.home-tile{display:flex;flex-direction:column;gap:.15rem;padding:.95rem 1rem 1rem;border-radius:16px;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:var(--text);text-decoration:none;min-width:0}.home-tile:hover{border-color:color-mix(in srgb,var(--tile-color,var(--accent)) 50%,transparent);background:color-mix(in srgb,var(--tile-color,var(--accent)) 5%,var(--surface))}.home-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;margin-bottom:.5rem;border-radius:999px;background:color-mix(in srgb,var(--tile-color,var(--accent)) 15%,transparent)}.home-tile-icon svg{width:1.35rem;height:1.35rem}.home-tile-label{font-size:1rem;font-weight:700;line-height:1.25}.home-tile-sub{font-size:.82rem;color:var(--text-muted)}@media (max-width:640px){.home-greeting{margin:0 0 .6rem}.home-greeting-hello{font-size:1.3rem}.home-greeting-date{font-size:.9rem}.home-page .unclosed-bookings-button{margin-bottom:.55rem}.home-today{margin-bottom:.6rem;padding:.7rem .75rem .75rem;border-radius:14px}.home-today-title{font-size:.72rem}.home-next{gap:0;padding:.55rem 2rem .6rem .75rem;border-radius:12px}.home-next-label{font-size:.7rem}.home-next-time{font-size:1.05rem}.home-next-client{font-size:.95rem}.home-next-service{font-size:.82rem}.home-next-empty{padding:.55rem .75rem;font-size:.9rem}.home-today-counts{gap:.4rem;margin-top:.5rem}.home-count{padding:.35rem .3rem;border-radius:10px}.home-count-value{font-size:1rem}.home-count-label{font-size:.72rem}.home-new-booking{display:none}.home-today-new{display:inline-flex}.home-today-head{margin-bottom:.45rem}.home-tiles{gap:.4rem}.home-tile{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;grid-column-gap:.55rem;column-gap:.55rem;align-items:center;padding:.5rem .6rem;border-radius:12px}.home-tile-icon{grid-row:1/span 2;width:2.1rem;height:2.1rem;margin-bottom:0}.home-tile-icon svg{width:1.1rem;height:1.1rem}.home-tile-label{font-size:.9rem}.home-tile-sub{font-size:.72rem;line-height:1.25}.home-tile-label:last-child{grid-row:1/span 2}}.reserva-create,.reserva-create~.modal-overlay{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.reserva-create .reserva-detail-group-heading>span:first-child{display:inline-flex;align-items:center;gap:.55rem}.reserva-step-num{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.85rem;font-weight:700}.walk-in-choice{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem}.walk-in-toggle{display:inline-flex;align-items:center;gap:.35rem;width:auto;padding:.4rem .9rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--surface);color:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer}.walk-in-toggle.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.walk-in-hint{font-size:.8rem;color:var(--text-muted)}.add-line-big{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.95rem 1rem;border-radius:14px;border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent);font-size:1rem;font-weight:700;cursor:pointer}.add-line-big:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.add-line-more{display:inline-flex;align-items:center;gap:.3rem;width:auto;margin-top:.6rem;padding:.3rem 0;border:none;background:none;color:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer}.reserva-create .booking-origin{gap:.5rem}.reserva-create .booking-origin-label{flex-basis:100%;font-size:.85rem;color:var(--text-muted)}.reserva-create .booking-origin-option{position:relative;padding:.45rem 1rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:var(--surface);font-size:.92rem;font-weight:600}.reserva-create .booking-origin-option input{position:absolute;opacity:0;pointer-events:none}.reserva-create .booking-origin-option:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}.reserva-create .booking-origin-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.booking-switch-row{background:var(--surface)}.booking-switch-row label{display:flex;flex-direction:column;gap:.15rem;font-size:.9rem;color:var(--text)}.booking-switch-hint{font-size:.78rem;color:var(--text-muted)}.quick-contact-form{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.quick-contact-essentials,.quick-contact-essentials .field:last-of-type{margin-bottom:.9rem}.quick-phone{display:flex;gap:.4rem}.quick-phone .quick-phone-country{flex:0 0 6.6rem;width:6.6rem;min-width:0}.quick-phone .quick-phone-number{flex:1 1 auto;width:auto;min-width:0}.field-inline .quick-phone{flex:1 1;min-width:0}.field-inline .quick-phone .quick-phone-country{flex:0 0 6.6rem;width:6.6rem}.field-inline .quick-phone .quick-phone-number{flex:1 1 auto;width:auto}.quick-phone input[aria-invalid=true]{border-color:var(--error)}.quick-optional{font-weight:400;color:var(--text-muted);font-size:.85em}.quick-consent{background:var(--surface)}.quick-consent label{font-size:.8rem;line-height:1.35}.quick-contact-added{margin-bottom:.75rem}.quick-contact-more>summary{cursor:pointer;width:-moz-fit-content;width:fit-content;margin-bottom:.6rem;padding:.3rem 0;color:var(--accent);font-weight:600;font-size:.92rem}.personal-menu-item,.staff-cards{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.staff-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.staff-card{display:flex;align-items:center;gap:.8rem;padding:.7rem .85rem;border-radius:14px;background:var(--reserva-bg);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);cursor:pointer}.staff-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.staff-card.is-inactive{opacity:.6}.staff-card.is-static{cursor:default}.staff-card.is-static:hover{border-color:color-mix(in srgb,var(--border) 60%,transparent)}.staff-card-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.staff-card-name{font-size:1.05rem;font-weight:700;overflow-wrap:anywhere}.staff-card-tags{display:flex;flex-wrap:wrap;gap:.3rem}.staff-tag{padding:.05rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.staff-tag-bus_owner{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.staff-tag-inactive,.staff-tag-none{background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-muted)}.staff-card-phone{width:-moz-fit-content;width:fit-content;font-size:.85rem;color:var(--text-muted);text-decoration:none}.staff-card-phone:hover{color:var(--accent);text-decoration:underline}.staff-card-chevron{flex-shrink:0;font-size:1.5rem;color:var(--text-muted)}.personal-menu-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.4rem;height:2.4rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.personal-menu-text{flex:1 1;min-width:0;display:flex;flex-direction:column}.personal-menu-title{font-weight:700}.personal-menu-hint{font-size:.82rem;font-weight:400;color:var(--text-muted)}.panel.personal-menu-item{padding:.75rem 1rem}.especialidad-panel,.especialidad-summary{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.especialidad-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .75rem;margin-bottom:.6rem;font-size:.92rem;color:var(--text-muted)}.especialidad-bulk{display:inline-flex;gap:.35rem}.especialidad-bulk button{width:auto;padding:.2rem .7rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:transparent;color:var(--accent);font-size:.8rem;font-weight:600;cursor:pointer}.especialidad-panel .service-checklist-item{font-weight:500}.staff-tag-inline{margin-left:.45rem;vertical-align:middle}.ios-nav-back,.page-section-back,button.ios-nav-back{border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.ios-nav-back,button.ios-nav-back{width:2.35rem;height:2.35rem}.page-section-back{width:2.15rem;height:2.15rem}.ios-nav-back:hover,.page-section-back:hover,button.ios-nav-back:hover{background:color-mix(in srgb,var(--accent) 22%,var(--surface));border-color:var(--accent)}.client-cards{margin-bottom:1rem}.client-card-noname{width:44px;height:44px;flex-shrink:0}.client-card-email{font-size:.8rem;color:var(--text-muted);overflow-wrap:anywhere}.entity-list-count{margin-left:auto;font-size:.85rem;color:var(--text-muted);white-space:nowrap}.entity-list-pagination .entity-list-pagination-arrow{width:auto;padding:.35rem .9rem;font-size:.88rem;font-weight:600}.side-menu-powered .side-menu-about{display:block}.about-page{font-family:var(--font-hk-grotesk),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.about-hero{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center}.about-hero p{margin:0}.about-logo{width:4.5rem;height:4.5rem;border-radius:18px;margin-bottom:.4rem}.about-name{font-size:1.5rem;font-weight:700}.about-tagline{font-size:1.05rem;font-weight:600}.about-mission{max-width:30rem;margin-top:.35rem!important;color:var(--text-muted);font-size:.9rem;line-height:1.5}.about-website{margin-top:.3rem;color:var(--accent);font-weight:600;text-decoration:none}.about-section-title{margin:1.4rem 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.panel.about-list{padding:.25rem 1rem}.about-row{display:flex;align-items:center;gap:.75rem;padding:.8rem 0;color:var(--text);text-decoration:none}.about-row+.about-row{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.about-row-text{flex:1 1;display:flex;flex-direction:column}.about-row-title{font-weight:600}.about-row-hint{font-size:.8rem;color:var(--text-muted)}.about-row-chevron{font-size:1.4rem;color:var(--text-muted)}.about-version p{margin:0;color:var(--text-muted);font-size:.9rem}.about-version .about-version-number{color:var(--text);font-size:1.05rem;font-weight:700;margin-bottom:.2rem}.about-rights{margin:1.5rem 0 .5rem;text-align:center;font-size:.78rem;color:var(--text-muted)}.about-product-tagline{max-width:26rem;font-size:1.05rem;font-weight:600;line-height:1.4}.about-product-audience{color:var(--text-muted);font-size:.88rem}.about-company p{margin:0}.about-company .about-mission{margin-top:.35rem!important;max-width:none}.about-company .about-website{display:inline-block;margin-top:.6rem}.whatsapp-connect{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem}.whatsapp-connect-lead{margin:0;color:var(--text-muted);line-height:1.5}.whatsapp-connect-status{margin:0;display:flex;flex-direction:column;gap:.2rem}.whatsapp-connect-status.is-connected strong{color:#25d366}.whatsapp-connect-muted{color:var(--text-muted);font-size:.85rem}.whatsapp-connect-actions{display:flex;flex-wrap:wrap;gap:.6rem}.whatsapp-connect-success{margin:0;color:#25d366}.whatsapp-connect-links{margin:0;font-size:.88rem}.booking-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:.5rem;gap:.5rem;margin:.5rem 0}.booking-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}.email-suggestion{display:block;width:auto;margin-top:.35rem;padding:0;border:0;background:none;color:var(--accent);font-size:.85rem;text-align:left;cursor:pointer}.help-ask{margin-bottom:1rem}.help-ask-title{display:block;font-weight:700;margin-bottom:.5rem}.help-ask-row{display:flex;gap:.5rem}.help-ask-row input{flex:1 1;min-width:0}.help-ask-row button{width:auto;flex-shrink:0}.help-ask-answer{margin-top:.9rem}.help-ask-answer>p:first-child{white-space:pre-line;line-height:1.5}.help-ask-sources-title{font-weight:600;margin:.75rem 0 .25rem}.help-ask-sources{margin:0 0 .5rem;padding-left:1.2rem}.step-title-row{display:flex;align-items:center;gap:.5rem;margin:.75rem 0}.step-title-row h2{flex:1 1;margin:0}dialog.step-help-dialog{max-width:26rem;padding:0;color:var(--text)}dialog.step-help-dialog::-webkit-backdrop{background:rgba(0,0,0,.5)}dialog.step-help-dialog::backdrop{background:rgba(0,0,0,.5)}.step-help-inner{padding:1.5rem}.step-help-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.step-help-head h3{flex:1 1;margin:0}.step-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.step-help-list label{display:flex;align-items:flex-start;gap:.6rem;font-size:.92rem;line-height:1.45;cursor:pointer}.step-help-list input[type=checkbox]{flex-shrink:0;margin-top:.2rem;accent-color:var(--accent)}