/* ALTO product system — shared visual layer. It intentionally only changes presentation. */
:root{
  --alto-ink:#11254a;
  --alto-ink-soft:#314565;
  --alto-muted:#6d7a91;
  --alto-canvas:#f6f8fc;
  --alto-surface:#ffffff;
  --alto-surface-soft:#f9faff;
  --alto-line:#e3e8f2;
  --alto-blue:#4f7cff;
  --alto-violet:#8768ec;
  --alto-gradient:linear-gradient(105deg,#4878f7 0%,#7378f2 52%,#9a6ded 100%);
  --alto-shadow:0 14px 34px rgba(30,52,94,.08);
  --alto-radius:16px;
  --alto-radius-sm:11px;
}

/* Shared controls, kept deliberately quiet so actions retain hierarchy. */
.alto-product-panel button,.alto-public-product button,.alto-public-product a{font:inherit}
.alto-product-panel :is(input,select,textarea),.alto-public-product :is(input,select,textarea){
  color:var(--alto-ink)!important;background:#fff!important;border:1px solid var(--alto-line)!important;
  border-radius:11px!important;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.alto-product-panel :is(input,select,textarea):focus,.alto-public-product :is(input,select,textarea):focus{
  outline:none!important;border-color:#7790ef!important;box-shadow:0 0 0 4px rgba(79,124,255,.13)!important;background:#fff!important;
}
.alto-product-panel ::placeholder,.alto-public-product ::placeholder{color:#94a0b4!important;opacity:1}
.alto-product-panel :is(.primary-button,.ask-button,.submit-button,.save-button),.alto-public-product :is(.primary-button,.auth-submit,.register-submit,.booking-submit,.booking-wizard-actions button:last-child){
  color:#fff!important;border:0!important;background:var(--alto-gradient)!important;box-shadow:0 9px 22px rgba(86,104,230,.2)!important;
}
.alto-product-panel :is(.primary-button,.ask-button,.submit-button,.save-button):hover,.alto-public-product :is(.primary-button,.auth-submit,.register-submit,.booking-submit,.booking-wizard-actions button:last-child):hover{transform:translateY(-1px);filter:brightness(1.03)}

/* Owner/operator workspace. No structure or handlers are altered. */
body.alto-product-panel{background:var(--alto-canvas)!important;color:var(--alto-ink)!important}
body.alto-product-panel,.alto-product-panel .app-shell,.alto-product-panel .main-content{--bg:var(--alto-canvas);--surface:var(--alto-surface);--surface2:#f7f9fd;--line:var(--alto-line);--text:var(--alto-ink);--muted:var(--alto-muted);background:var(--alto-canvas)!important;color:var(--alto-ink)!important}
.alto-product-panel .app-shell{min-height:100dvh!important}
.alto-product-panel .sidebar{background:rgba(255,255,255,.94)!important;border-right:1px solid var(--alto-line)!important;box-shadow:none!important;color:var(--alto-ink)!important}
.alto-product-panel .brand,.alto-product-panel .brand-word,.alto-product-panel .business-name{color:var(--alto-ink)!important}
.alto-product-panel .business-name{border-bottom-color:var(--alto-line)!important}
.alto-product-panel .nav-item{color:#53647d!important;background:transparent!important;border:1px solid transparent!important;border-radius:10px!important}
.alto-product-panel .nav-item:hover{color:var(--alto-ink)!important;background:#f3f6ff!important}
.alto-product-panel .nav-item.active{color:#354db9!important;background:#eef1ff!important;border-color:#e1e6ff!important;box-shadow:none!important}
.alto-product-panel .nav-item b{background:#e9edff!important;color:#4b57b8!important}
.alto-product-panel .sidebar-bottom{border-top-color:var(--alto-line)!important}
.alto-product-panel .plan{background:#f6f8ff!important;border:1px solid #e5e9fb!important;color:var(--alto-ink)!important}
.alto-product-panel .profile{color:var(--alto-ink)!important}.alto-product-panel .profile small{color:var(--alto-muted)!important}
.alto-product-panel .main-content{padding-bottom:42px!important}
.alto-product-panel .topbar{border-bottom:1px solid var(--alto-line)!important;background:rgba(246,248,252,.85)!important;backdrop-filter:blur(14px)}
.alto-product-panel :is(.topbar h1,.panel h2,.section-heading h2,.summary-copy h2,.metric-card strong,.content-title,.dialog-title){color:var(--alto-ink)!important}
.alto-product-panel :is(.eyebrow,.muted,.panel p,.summary-copy p,.metric-card p,.metric-card small,.section-heading p,.empty-state p){color:var(--alto-muted)!important}
.alto-product-panel .icon-button{background:#fff!important;border-color:var(--alto-line)!important;color:var(--alto-ink)!important;box-shadow:0 4px 12px rgba(30,52,94,.05)!important}
.alto-product-panel .dashboard-summary{background:linear-gradient(112deg,#172e67,#4269d7 56%,#8f72e7)!important;border:0!important;box-shadow:0 18px 36px rgba(47,74,159,.18)!important}
.alto-product-panel .dashboard-summary :is(h2,p,strong,span){color:#fff!important}.alto-product-panel .dashboard-summary .eyebrow{color:#dce5ff!important}
.alto-product-panel :is(.metric-card,.panel,.content-panel,.section-card,.client-card,.conversation-card,.operation-card,.catalog-card,.settings-card,.table-wrap){background:#fff!important;border:1px solid var(--alto-line)!important;box-shadow:0 6px 18px rgba(29,50,90,.045)!important}
.alto-product-panel .metric-card{border-radius:var(--alto-radius)!important}.alto-product-panel .metric-card:hover{transform:translateY(-2px);box-shadow:var(--alto-shadow)!important}
.alto-product-panel :is(.metric-icon,.avatar){background:#eef1ff!important;color:#4e63cf!important}
.alto-product-panel :is(.timeline-item,.activity-row,.conversation-item,.client-row,.operation-row){border-color:var(--alto-line)!important;color:var(--alto-ink)!important}
.alto-product-panel .text-button{color:#5067d8!important}.alto-product-panel .text-button:hover{color:#314bbd!important}
.alto-product-panel :is(table,th,td){color:var(--alto-ink)!important;border-color:var(--alto-line)!important;background:transparent!important}
.alto-product-panel th{color:#6f7e97!important;background:#f8faff!important}.alto-product-panel tr:hover td{background:#fafbff!important}
.alto-product-panel :is(.secondary-button,.ghost-button,.filter-button,.tab-button,.cancel-button){background:#fff!important;border:1px solid var(--alto-line)!important;color:#314565!important;box-shadow:none!important}
.alto-product-panel :is(.secondary-button,.ghost-button,.filter-button,.tab-button,.cancel-button):hover{border-color:#c6d1f4!important;background:#f5f7ff!important;color:#314bbd!important}
.alto-product-panel :is(.status,.tag,.badge,.chip){background:#f0f4ff!important;color:#465ac4!important;border-color:#dce4ff!important}
.alto-product-panel dialog{background:#fff!important;border:1px solid var(--alto-line)!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(18,35,68,.24)!important;color:var(--alto-ink)!important}
.alto-product-panel dialog .modal{background:#fff!important;color:var(--alto-ink)!important}
.alto-product-panel .toast{background:#17284c!important;color:#fff!important;box-shadow:0 14px 32px rgba(18,35,68,.22)!important}
.alto-product-panel :is(.calendar,.agenda,.agenda-board,.booking-management,.schedule-grid){background:#fff!important;color:var(--alto-ink)!important;border-color:var(--alto-line)!important}
.alto-product-panel :is(.slot,.time-slot,.agenda-slot){background:#f7f9fe!important;border-color:#e2e8f6!important;color:#314565!important}.alto-product-panel :is(.slot,.time-slot,.agenda-slot).selected{background:#eef1ff!important;color:#3e50b5!important;border-color:#aebcf6!important}

/* Public product routes: login, registration, onboarding, businesses and booking. */
.alto-public-product:not(.alto-public-home){color:var(--alto-ink)!important;background:radial-gradient(circle at 88% 2%,rgba(126,111,239,.12),transparent 27%),var(--alto-canvas)!important;min-height:100dvh}
.alto-public-product:not(.alto-public-home)::before{content:"";position:fixed;z-index:-1;right:-10vw;top:12vh;width:36vw;min-width:280px;aspect-ratio:1;opacity:.07;background:linear-gradient(145deg,#4f7cff,#9568f0);clip-path:polygon(50% 0,100% 100%,76% 100%,50% 47%,25% 100%,0 100%);pointer-events:none}
.alto-public-product .alto-nav{border-bottom:1px solid rgba(220,226,238,.78)!important;background:rgba(248,249,253,.8)!important;color:var(--alto-ink)!important;backdrop-filter:blur(16px)}
.alto-public-product .alto-nav :is(a,strong,button){color:var(--alto-ink)!important}.alto-public-product .alto-nav a:hover{color:#455bc5!important}
.alto-public-product .alto-brand .brand-symbol{filter:none}.alto-public-product .nav-login{border-color:#cfd8ee!important;background:rgba(255,255,255,.75)!important}.alto-public-product .nav-register{background:var(--alto-gradient)!important;color:#fff!important;border:0!important}
.alto-public-product :is(.login-shell,.register-shell,.business-shell,.booking-shell,.onboarding-shell){color:var(--alto-ink)!important}
.alto-public-product :is(.login-card,.register-card,.register-copy,.business-card,.booking-card,.onboarding-card,.auth-card){background:rgba(255,255,255,.96)!important;border:1px solid var(--alto-line)!important;box-shadow:var(--alto-shadow)!important;color:var(--alto-ink)!important;border-radius:20px!important}
.alto-public-product :is(.login-card h1,.register-card h1,.register-copy h1,.booking-title h1,.booking-card h1,.business-intro h1,.onboarding-card h1){color:var(--alto-ink)!important;letter-spacing:-.04em!important}
.alto-public-product :is(.login-card p,.register-card p,.register-copy p,.booking-title p,.booking-card p,.business-intro p,.form-hint,.field-label){color:var(--alto-muted)!important}
.alto-public-product :is(.login-card label,.register-card label,.booking-card label,.onboarding-card label){color:#314565!important;font-weight:650!important}
.alto-public-product :is(.login-card input,.register-card input,.booking-card input,.booking-card textarea,.onboarding-card input,.onboarding-card select){min-height:48px!important;font-size:max(16px,1rem)!important}
.alto-public-product :is(.login-card button[type="submit"],.register-card button[type="submit"],.auth-submit,.register-submit){min-height:50px!important;border-radius:12px!important;font-weight:750!important}
.alto-public-product :is(.form-error,.error-message){background:#fff1f3!important;color:#ae3850!important;border:1px solid #ffd9df!important;border-radius:10px!important}
.alto-public-product :is(.form-success,.success-message){background:#effaf5!important;color:#247452!important;border:1px solid #d5f0e3!important;border-radius:10px!important}
.alto-public-product .booking-card{max-width:780px!important}.alto-public-product .booking-title{border-bottom-color:var(--alto-line)!important}
.alto-public-product .booking-badge{background:#f2f5ff!important;border-color:#d9e0fa!important;color:#4e60bd!important}
.alto-public-product .booking-progress{border-color:var(--alto-line)!important;background:#fafbff!important}.alto-public-product .booking-progress :is(span,p,small){color:#72809b!important}.alto-public-product .booking-progress .active{color:#3850bf!important}.alto-public-product .booking-progress::before{background:linear-gradient(90deg,#4f7cff,#9368ff)!important}
.alto-public-product :is(.booking-step,.booking-step-panel,.booking-selection,.booking-form-section){background:#fff!important;border:1px solid var(--alto-line)!important;border-radius:14px!important;box-shadow:none!important}
.alto-public-product :is(.service-option,.professional-option,.extra-option,.date-option,.time-option,.booking-option){background:#fff!important;border:1px solid #dfe6f2!important;color:var(--alto-ink)!important;border-radius:12px!important}.alto-public-product :is(.service-option,.professional-option,.extra-option,.date-option,.time-option,.booking-option):hover{border-color:#aab8ef!important;background:#f8f9ff!important}.alto-public-product :is(.service-option,.professional-option,.extra-option,.date-option,.time-option,.booking-option).selected{background:#f0f2ff!important;border-color:#8495ec!important;color:#3448b1!important;box-shadow:0 6px 16px rgba(83,103,208,.12)!important}
.alto-public-product .booking-wizard-actions{border-top-color:var(--alto-line)!important}.alto-public-product .booking-wizard-actions button{min-height:46px!important;border-radius:11px!important}
.alto-public-product :is(.business-card,.onboarding-card){box-shadow:0 7px 20px rgba(29,50,90,.05)!important}.alto-public-product .business-card:hover{transform:translateY(-2px);border-color:#cdd7f8!important;box-shadow:var(--alto-shadow)!important}

@media (max-width:780px){
  .alto-product-panel .main-content{padding:0 14px 84px!important}.alto-product-panel .topbar{margin:0 -14px;padding:16px 14px!important}.alto-product-panel .topbar h1{font-size:1.38rem!important}
  .alto-product-panel .dashboard-summary{padding:20px!important;border-radius:16px!important}.alto-product-panel .metrics{gap:10px!important}.alto-product-panel :is(.panel,.content-panel,.section-card){border-radius:14px!important}
  .alto-product-panel :is(.table-wrap,table){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.alto-product-panel .sidebar{box-shadow:0 -8px 22px rgba(24,42,80,.07)!important}
  .alto-public-product:not(.alto-public-home){padding-bottom:24px}.alto-public-product :is(.login-shell,.register-shell,.booking-shell,.business-shell,.onboarding-shell){padding-inline:16px!important}.alto-public-product :is(.login-card,.register-card,.register-copy,.booking-card,.onboarding-card){border-radius:16px!important;box-shadow:0 8px 24px rgba(29,50,90,.06)!important}
  .alto-public-product .register-shell{gap:16px!important}.alto-public-product .register-copy{padding:22px!important}.alto-public-product .booking-title h1{font-size:1.65rem!important}.alto-public-product .booking-progress{overflow:auto!important;-webkit-overflow-scrolling:touch}.alto-public-product .booking-progress-stages{min-width:440px!important}
  .alto-public-product :is(.service-option,.professional-option,.extra-option,.date-option,.time-option,.booking-option){min-height:54px!important}.alto-public-product .booking-wizard-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96)!important;padding-top:12px!important}
}

@media (prefers-reduced-motion:reduce){.alto-product-panel *,.alto-public-product *{scroll-behavior:auto!important;transition:none!important}}

/* Canonical light tokens. The panel applies these again after the historical
   runtime styles are created, so every component resolves the same palette. */
:root{--bg:#f6f8fc;--surface:#fff;--surface2:#f8faff;--line:#e3e8f2;--text:#11254a;--muted:#6d7a91;--blue:#4f7cff;--violet:#8768ec;--cyan:#30a9c5;--amber:#b87916;--green:#19865b}
body.alto-product-panel{--bg:#f6f8fc;--surface:#fff;--surface2:#f8faff;--line:#e3e8f2;--text:#11254a;--muted:#6d7a91;background:var(--bg)!important;color:var(--text)!important}
body.alto-product-panel :is(.basic-client-summary,.metrics,.content-grid,.settings-grid,.agenda-layout,.rendimiento-summary){background:transparent!important}
body.alto-product-panel .basic-client-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0!important}
body.alto-product-panel .basic-client-summary>article,body.alto-product-panel .rendimiento-summary>article{min-width:0;padding:17px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--surface)!important;box-shadow:0 5px 16px rgba(29,50,90,.045)!important;color:var(--text)!important}
body.alto-product-panel .basic-client-summary :is(span,p,small),body.alto-product-panel .rendimiento-summary :is(span,p,small){color:var(--muted)!important}
body.alto-product-panel .basic-client-summary strong,body.alto-product-panel .rendimiento-summary strong{color:var(--text)!important}
body.alto-product-panel :is(.person strong,.client-row-action strong,.client-profile .profile-line strong){color:var(--text)!important}
body.alto-product-panel :is(.person small,.client-row-action small,.client-profile .profile-line,.profile-history small){color:var(--muted)!important}
body.alto-product-panel .client-row-action:hover td{background:#f7f9fe!important}
body.alto-product-panel .client-row-action:focus-visible{outline:2px solid rgba(79,124,255,.46)!important;outline-offset:-2px!important}
body.alto-product-panel .client-profile .profile-line{border-color:var(--line)!important}
body.alto-product-panel .profile-history{border-color:var(--line)!important;border-radius:11px!important;background:#f8faff!important}
body.alto-product-panel .profile-history p{color:var(--text)!important}
body.alto-product-panel .nav-item.active{color:#354db9!important;background:#eef1ff!important;border:1px solid #d7defa!important;outline:0!important;box-shadow:none!important}
body.alto-product-panel .nav-item.active span{background:var(--alto-gradient)!important;color:#fff!important;box-shadow:0 5px 12px rgba(79,124,255,.18)!important}
body.alto-product-panel .nav-item:focus-visible{outline:2px solid rgba(79,124,255,.46)!important;outline-offset:2px!important}
body.alto-product-panel .demo-mode-card{background:#fff!important;border-color:var(--line)!important}
body.alto-product-panel .mode-option{background:#fff!important;border-color:var(--line)!important;color:#40516b!important}
body.alto-product-panel .mode-option:hover,body.alto-product-panel .mode-option.active{background:#eef1ff!important;border-color:#b7c4f3!important;color:#354db9!important}
body.alto-product-panel .operation-state-current{background:#eef1ff!important;color:#465ac4!important}
body.alto-product-panel :is(.open,.quote,.human,.follow,.done,.active,.inactive).status{border:1px solid #dce4f8!important;background:#f0f4ff!important;color:#465ac4!important}
body.alto-product-panel :is(.setup-modal,.modal){background:#fff!important;color:var(--text)!important;border-color:var(--line)!important}
body.alto-product-panel :is(.setup-modal label,.modal label){color:#40516b!important}
body.alto-product-panel :is(.setup-modal .muted,.modal .muted){color:var(--muted)!important}
body.alto-product-panel .export-button{color:#fff!important;border-color:transparent!important;background:var(--alto-gradient)!important;box-shadow:0 8px 18px rgba(79,124,255,.16)!important}
body.alto-product-panel .export-button::before{background:rgba(255,255,255,.18)!important;color:#fff!important}
body.alto-product-panel :is(.board-column,.agenda-panel,.agenda-performance,.performance-chart,.rendimiento-person){border-color:var(--line)!important;background:var(--surface)!important}
body.alto-product-panel .board-column{background:#f3f6fb!important}
body.alto-product-panel :is(.operation-card,.agenda-service-item,.agenda-summary>div,.agenda-performance-card,.rendimiento-person-data span){background:#fff!important;border-color:var(--line)!important;color:var(--text)!important}
body.alto-product-panel :is(.operation-card p,.operation-card small,.agenda-performance-card small,.agenda-performance-card>p,.rendimiento-person header p,.rendimiento-person-data small){color:var(--muted)!important}
body.alto-product-panel :is(.operation-card h3,.agenda-performance-card strong,.agenda-performance-stats b,.rendimiento-person h3,.rendimiento-person-data strong){color:var(--text)!important}
body.alto-product-panel .alto-panel .suggestions button{background:#f8faff!important;border-color:var(--line)!important;color:#40516b!important}
body.alto-product-panel .alto-panel .suggestions button:hover{background:#f0f3ff!important;border-color:#cbd6f6!important;color:#354db9!important}
@media(max-width:720px){body.alto-product-panel .basic-client-summary{grid-template-columns:1fr;gap:10px;margin:12px 0!important}body.alto-product-panel .basic-client-summary>article{min-height:0!important;padding:15px!important}}

/* Business picker uses the same canonical public surface. The historic picker
   is injected at runtime, so these selectors intentionally target its real
   class names instead of introducing a second card component. */
.alto-public-product .business-shell{color:var(--alto-ink)!important}
.alto-public-product .business-intro{padding-bottom:24px;border-bottom:1px solid var(--alto-line)!important}
.alto-public-product .business-intro p{color:var(--alto-muted)!important}
.alto-public-product .business-count{background:#f3f6ff!important;border:1px solid #dce4fb!important;color:#4a5dbf!important;box-shadow:none!important}
.alto-public-product .business-grid{gap:16px!important}
.alto-public-product .business-choice,.alto-public-product .business-choice.business-pro{
  min-width:0;background:#fff!important;background-image:none!important;border:1px solid var(--alto-line)!important;
  border-radius:16px!important;box-shadow:0 6px 18px rgba(29,50,90,.05)!important;color:var(--alto-ink)!important;
}
.alto-public-product .business-choice:hover{border-color:#c7d2f5!important;box-shadow:0 13px 27px rgba(42,63,112,.11)!important}
.alto-public-product .business-choice.business-pro{background:linear-gradient(145deg,#fff 0%,#f5f4ff 100%)!important;border-color:#d8ddfb!important}
.alto-public-product .business-icon{background:#eef1ff!important;color:#4d60c8!important;border:1px solid #e0e6fc!important}
.alto-public-product .business-choice.business-pro .business-icon{background:var(--alto-gradient)!important;border-color:transparent!important;color:#fff!important}
.alto-public-product .business-plan{background:#f3f5ff!important;border:1px solid #dce3fb!important;color:#5263bb!important}
.alto-public-product .business-choice :is(h2,strong){color:var(--alto-ink)!important}
.alto-public-product .business-choice p,.alto-public-product .business-feature,.alto-public-product .business-enter{color:var(--alto-muted)!important}
.alto-public-product .business-feature i{background:#28a873!important;box-shadow:0 0 0 4px rgba(40,168,115,.10)!important}
.alto-public-product .business-enter{border-top:1px solid var(--alto-line)!important}
.alto-public-product .business-enter strong{color:#455ac2!important}
@media(max-width:780px){.alto-public-product .business-intro{padding-bottom:18px!important}.alto-public-product .business-grid{gap:12px!important}.alto-public-product .business-choice{border-radius:14px!important}}

/* Navigation icon system: modern outlined symbols with one treatment on
   desktop and the compact, labelled tab bar on touch screens. */
.alto-product-panel .nav-item>.alto-nav-icon{display:grid!important;place-items:center;flex:none;width:28px!important;height:28px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:currentColor!important;box-shadow:none!important}
.alto-product-panel .alto-nav-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.alto-product-panel .nav-item.active>.alto-nav-icon{background:#e8edff!important;color:#4c60cd!important;box-shadow:none!important}
.alto-product-panel .nav-item.active>.alto-nav-icon svg{stroke:currentColor!important}
@media(max-width:720px){
  body.alto-product-panel .app-shell{padding-bottom:78px!important}
  body.alto-product-panel .sidebar{position:fixed!important;z-index:80!important;inset:auto 0 0!important;width:100%!important;height:78px!important;padding:7px 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.96)!important;border-top:1px solid #e1e7f1!important;border-right:0!important;box-shadow:0 -8px 24px rgba(29,50,90,.08)!important;backdrop-filter:blur(16px)!important}
  body.alto-product-panel .sidebar :is(.brand,.business-name,.sidebar-bottom,.panel-mobile-toggle){display:none!important}
  body.alto-product-panel .sidebar nav{display:flex!important;align-items:stretch!important;width:100%!important;height:100%!important;gap:3px!important;overflow:visible!important}
  body.alto-product-panel .sidebar nav>.nav-item{display:flex!important;flex:1 1 0!important;min-width:0!important;height:auto!important;padding:5px 2px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#748198!important;font-size:10px!important;font-weight:700!important;line-height:1.1!important;letter-spacing:0!important;transform:none!important;box-shadow:none!important}
  body.alto-product-panel .sidebar nav>.nav-item[data-view="conversaciones"],body.alto-product-panel .sidebar nav>.nav-item[data-view="catalogo"],body.alto-product-panel .sidebar nav>.nav-item[data-view="configuracion"]{display:none!important}
  body.alto-product-panel .sidebar nav>.nav-item>.alto-nav-icon{width:29px!important;height:27px!important;border-radius:8px!important;color:currentColor!important}
  body.alto-product-panel .sidebar nav>.nav-item>.alto-nav-icon svg{width:19px!important;height:19px!important}
  body.alto-product-panel .sidebar nav>.nav-item.active{background:#f0efff!important;color:#5266d4!important;box-shadow:none!important}
  body.alto-product-panel .sidebar nav>.nav-item.active>.alto-nav-icon{background:#e3e5ff!important;color:#5568db!important}
  body.alto-product-panel .sidebar nav>.nav-item b{display:none!important}
  body.alto-product-panel .sidebar nav>.mobile-more-button{display:flex!important;flex:1 1 0!important;min-width:0!important;height:auto!important;padding:5px 2px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#748198!important;font:700 10px/1.1 Inter,Arial,sans-serif!important;cursor:pointer!important;box-shadow:none!important}
  body.alto-product-panel .mobile-more-button>.alto-nav-icon{display:grid!important;place-items:center;width:29px!important;height:27px!important;color:currentColor!important}
  body.alto-product-panel .mobile-more-button>.alto-nav-icon svg{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important}
  body.alto-product-panel .mobile-more-button em{font-style:normal!important}
  body.alto-product-panel .mobile-more-button[aria-expanded="true"]{background:#f0efff!important;color:#5266d4!important;box-shadow:none!important}
  body.alto-product-panel .mobile-more-menu{right:10px!important;bottom:88px!important;border-color:#e0e6f1!important;background:#fff!important;box-shadow:0 16px 34px rgba(29,50,90,.15)!important}
  body.alto-product-panel .mobile-more-menu button{color:#314565!important}
}

/* Landing demo frame: the product preview now belongs to the same clear
   ALTO system on every breakpoint instead of falling back to the old navy
   demo palette. The real panel and its route remain unchanged. */
.alto-public-home .real-panel-viewport{background:#f6f8fc!important}
@media(max-width:760px){
  .alto-public-home .mobile-panel-demo{
    border-color:#d7dfed!important;background:linear-gradient(155deg,#fff 0%,#f5f7ff 64%,#efebff 100%)!important;
    color:#1b315a!important;box-shadow:0 20px 42px rgba(37,55,108,.16),inset 0 0 0 1px rgba(255,255,255,.95)!important;
  }
  .alto-public-home .mobile-panel-demo::before{background:radial-gradient(circle at 90% 12%,rgba(127,102,232,.18),transparent 33%)!important}
  .alto-public-home .mobile-demo-notch{background:#26375d!important;box-shadow:0 1px 0 rgba(255,255,255,.35)!important}
  .alto-public-home .mobile-demo-logo{color:#1d3159!important}.alto-public-home .mobile-demo-logo i{background:linear-gradient(135deg,#477ff1,#9165e6)!important}
  .alto-public-home .mobile-panel-demo header small{border-color:#d9e0f2!important;background:#fff!important;color:#6174c7!important}
  .alto-public-home .mobile-demo-preview{border-color:#dce4f3!important;background:linear-gradient(145deg,#f4f6ff,#eeeaff)!important;box-shadow:0 8px 18px rgba(54,72,139,.06)!important}
  .alto-public-home .mobile-demo-preview p{color:#6678a7!important}.alto-public-home .mobile-demo-preview h3{color:#1b315a!important}
  .alto-public-home .mobile-demo-preview>div span{background:#fff!important;color:#66748e!important;box-shadow:inset 0 0 0 1px #e1e7f2!important}
  .alto-public-home .mobile-demo-preview b{color:#334f9c!important}
  .alto-public-home .mobile-panel-demo footer{justify-content:flex-end!important;color:#4e63bd!important}
  .alto-public-home .mobile-panel-demo footer b{margin-left:0!important;color:#4e63bd!important;font-size:.69rem!important}
  .alto-public-home .mobile-real-panel{background:#f6f8fc!important}
}

/* Agenda mobile: keep the title and its explanatory copy inside the card at
   narrow widths. The layout remains the same; this only removes intrinsic
   minimum widths inherited from the desktop flex header. */
@media(max-width:720px){
  body.alto-product-panel .basic-agenda{width:100%!important;max-width:none!important;min-width:0!important;padding:15px!important}
  body.alto-product-panel .agenda-head{width:100%!important;min-width:0!important;gap:12px!important}
  body.alto-product-panel .agenda-head>div{width:100%!important;min-width:0!important}
  body.alto-product-panel .agenda-head h2{max-width:100%!important;margin:0!important;font-size:1.32rem!important;line-height:1.16!important;letter-spacing:-.035em!important;overflow-wrap:anywhere!important}
  body.alto-product-panel .agenda-head .muted{max-width:100%!important;line-height:1.5!important;overflow-wrap:anywhere!important}
  body.alto-product-panel .agenda-controls{display:flex!important;align-items:stretch!important;flex-wrap:wrap!important;width:100%!important;min-width:0!important;gap:8px!important}
  body.alto-product-panel .agenda-days{flex:1 1 100%!important;width:100%!important;max-width:100%!important;min-width:0!important}
  body.alto-product-panel .agenda-test-button{margin-left:0!important}
}

/* On desktop the day controls used to shrink the text column down to a few
   characters. Let the header wrap as a unit instead, preserving a readable
   title and moving the controls below only when the panel is genuinely tight. */
@media(min-width:721px){
  body.alto-product-panel .basic-agenda{padding:26px!important}
  body.alto-product-panel .agenda-head{align-items:flex-start!important;flex-wrap:wrap!important}
  body.alto-product-panel .agenda-head>div:first-child{flex:1 1 360px!important;min-width:0!important}
  body.alto-product-panel .agenda-controls{flex:0 1 auto!important;min-width:0!important;margin-left:auto!important}
  body.alto-product-panel .agenda-head h2{max-width:100%!important;overflow-wrap:anywhere!important}
}

/* Public booking flow: remove the last dark controls left by the historical
   reservation stylesheet. Selection is now signalled by a precise outline and
   check badge rather than a washed-out fill. */
.alto-public-product .booking-card :is(.booking-step h2,.booking-step-copy,.booking-hours::before){color:var(--alto-ink)!important}
.alto-public-product .booking-step-copy{color:var(--alto-muted)!important}
.alto-public-product .booking-options button{
  position:relative!important;background:#fff!important;background-image:none!important;border:1px solid #dbe3ef!important;
  color:var(--alto-ink)!important;box-shadow:0 2px 6px rgba(29,50,90,.035)!important;
}
.alto-public-product .booking-options button small{color:var(--alto-muted)!important}
.alto-public-product .booking-options button:hover{background:#f8faff!important;border-color:#b9c6eb!important;box-shadow:0 6px 15px rgba(49,70,127,.08)!important;transform:translateY(-1px)}
.alto-public-product .booking-options button.active{
  background:#fff!important;background-image:none!important;border-color:#667ce4!important;color:var(--alto-ink)!important;
  box-shadow:0 0 0 3px rgba(94,115,223,.13),0 7px 17px rgba(54,74,154,.10)!important;
}
.alto-public-product .booking-options button.active::after{
  content:"✓"!important;display:grid!important;place-items:center!important;position:absolute!important;z-index:2!important;
  top:8px!important;right:8px!important;width:18px!important;height:18px!important;border-radius:50%!important;
  background:var(--alto-gradient)!important;color:#fff!important;font:800 11px/1 Inter,Arial,sans-serif!important;
  box-shadow:0 3px 8px rgba(72,91,199,.25)!important;
}
.alto-public-product .booking-options .booking-service.active::after{top:9px!important;right:9px!important}
.alto-public-product .booking-service img{background:#f3f6fb!important}
.alto-public-product .booking-options button:disabled{background:#f7f8fb!important;border-color:#e4e8ef!important;color:#a4afc0!important;box-shadow:none!important;text-decoration:line-through!important}
.alto-public-product .booking-options button:disabled::after{display:none!important}
.alto-public-product .booking-card .booking-days{border-bottom-color:#dfe5ef!important;scrollbar-color:#9aaae2 #edf1f7!important}
.alto-public-product .booking-card .booking-days::-webkit-scrollbar-track{background:#edf1f7!important}.alto-public-product .booking-card .booking-days::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#7490eb,#9b80e7)!important}
.alto-public-product .booking-card .booking-hours::after{background:linear-gradient(90deg,#c8d2eb,transparent)!important}
.alto-public-product .booking-progress{background:#f8faff!important;border-color:#e0e6f1!important}
.alto-public-product .booking-progress-top{color:#66748d!important}.alto-public-product .booking-progress-top strong{color:var(--alto-ink)!important}.alto-public-product .booking-progress-line{background:#e4e9f3!important}
.alto-public-product .booking-progress-stages span.active{color:#425ac2!important}.alto-public-product .booking-progress-stages span.active i{background:#5d77e1!important}

/* Dashboard summary: a light premium surface that belongs to the product UI,
   keeping the blue/violet identity without introducing a heavy dark slab. */
body.alto-product-panel .dashboard-summary{
  border:1px solid #dbe3f5!important;
  background:radial-gradient(circle at 91% 16%,rgba(143,112,231,.20),transparent 29%),linear-gradient(112deg,#f9fbff 0%,#edf3ff 55%,#f3efff 100%)!important;
  box-shadow:0 12px 30px rgba(48,72,139,.10)!important;
}
body.alto-product-panel .dashboard-summary :is(h2,strong){color:#142b56!important}
body.alto-product-panel .dashboard-summary .eyebrow{color:#6075a8!important}
body.alto-product-panel .dashboard-summary p{color:#536783!important}
body.alto-product-panel .summary-flow{background:rgba(255,255,255,.62)!important;border:1px solid rgba(175,190,231,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important}
body.alto-product-panel .flow-heading{color:#647591!important}body.alto-product-panel .flow-heading strong{color:#30496f!important}
body.alto-product-panel .flow-legend{color:#62738e!important}
body.alto-product-panel .summary-flow .flow-heading span{color:#647591!important}
body.alto-product-panel .summary-flow .flow-legend span{color:#62738e!important}

/* Settings workspace ------------------------------------------------------
   This is intentionally scoped to Configuración. It sits after the legacy
   runtime cascade so old dark dialog/card declarations cannot leak back into
   the clear product surface. No controls, handlers or form fields change. */
body.alto-product-panel #configuracion.alto-settings-workspace{max-width:1180px!important}
body.alto-product-panel #configuracion .section-heading{margin-bottom:0!important}
body.alto-product-panel #configuracion .section-heading h2{color:var(--alto-ink)!important;font-size:clamp(1.6rem,2.2vw,2.05rem)!important;letter-spacing:-.045em!important}
body.alto-product-panel #configuracion .section-heading .muted{max-width:570px!important;color:var(--alto-muted)!important;font-size:.9rem!important;line-height:1.55!important}
body.alto-product-panel .settings-overview{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;
  margin:22px 0 20px!important;padding:22px 24px!important;min-height:118px!important;
  border:1px solid #dce4f3!important;border-radius:17px!important;
  background:radial-gradient(circle at 92% 12%,rgba(130,105,232,.17),transparent 30%),linear-gradient(112deg,#fff 0%,#f7f9ff 58%,#f3f0ff 100%)!important;
  box-shadow:0 10px 24px rgba(34,57,112,.055)!important;color:var(--alto-ink)!important;overflow:hidden!important;
}
body.alto-product-panel .settings-overview .eyebrow{margin:0 0 6px!important;color:#6276a5!important}
body.alto-product-panel .settings-overview h3{margin:0!important;color:#172d56!important;font-size:1.08rem!important;letter-spacing:-.025em!important}
body.alto-product-panel .settings-overview p:not(.eyebrow){margin:5px 0 0!important;color:#65758e!important;font-size:.8rem!important;line-height:1.45!important}
body.alto-product-panel .settings-overview>span{display:flex!important;align-items:end!important;gap:7px!important;align-self:stretch!important;padding:13px 6px 4px!important}
body.alto-product-panel .settings-overview>span i{display:block!important;width:9px!important;border-radius:99px!important;background:var(--alto-gradient)!important;box-shadow:0 4px 10px rgba(77,96,203,.18)!important}
body.alto-product-panel .settings-overview>span i:nth-child(1){height:25px!important;opacity:.55!important}
body.alto-product-panel .settings-overview>span i:nth-child(2){height:47px!important;opacity:.75!important}
body.alto-product-panel .settings-overview>span i:nth-child(3){height:68px!important}
body.alto-product-panel #configuracion .settings-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;margin:0!important}
body.alto-product-panel #configuracion .settings-card{
  position:relative!important;isolation:isolate!important;min-width:0!important;min-height:142px!important;padding:20px!important;
  align-items:flex-start!important;gap:15px!important;border:1px solid #e0e6f0!important;border-radius:15px!important;
  background:#fff!important;box-shadow:0 5px 16px rgba(29,50,90,.042)!important;color:var(--alto-ink)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body.alto-product-panel #configuracion .settings-card:hover{border-color:#cbd6f0!important;box-shadow:0 12px 26px rgba(41,61,113,.085)!important;transform:translateY(-1px)!important}
body.alto-product-panel #configuracion .settings-card>div{min-width:0!important;padding-right:4px!important}
body.alto-product-panel #configuracion .settings-card h3{margin:1px 0 0!important;color:#19315b!important;font-size:.96rem!important;line-height:1.3!important;letter-spacing:-.015em!important}
body.alto-product-panel #configuracion .settings-card p{margin:6px 0 0!important;color:#697a94!important;font-size:.78rem!important;line-height:1.5!important}
body.alto-product-panel #configuracion .settings-card .alto-settings-icon{
  display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;margin:0!important;
  border:1px solid #e0e6fb!important;border-radius:12px!important;background:#f0f3ff!important;color:#5267cf!important;box-shadow:none!important;
}
body.alto-product-panel #configuracion .alto-settings-icon svg{display:block!important;width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.alto-product-panel #configuracion .settings-card .text-button{
  flex:0 0 auto!important;align-self:flex-start!important;min-height:36px!important;margin:1px 0 0!important;padding:0 11px!important;
  border:1px solid #dce3f2!important;border-radius:9px!important;background:#fff!important;color:#455dc3!important;
  font:750 .7rem/34px Inter,Arial,sans-serif!important;letter-spacing:.01em!important;white-space:nowrap!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
body.alto-product-panel #configuracion .settings-card .text-button:hover{border-color:#aebdf0!important;background:#f2f4ff!important;color:#354db9!important;box-shadow:0 4px 10px rgba(69,89,187,.10)!important}
body.alto-product-panel #configuracion .settings-card .text-button:focus-visible{outline:2px solid rgba(79,124,255,.42)!important;outline-offset:2px!important}
body.alto-product-panel #configuracion .settings-card.demo-mode-card{background:linear-gradient(135deg,#fff 0%,#f6f7ff 100%)!important}
body.alto-product-panel #configuracion .settings-card.product-mode-card{background:linear-gradient(135deg,#fff 0%,#f7f5ff 100%)!important;border-color:#dfe2f8!important}
body.alto-product-panel #configuracion .settings-card.product-mode-card .alto-settings-icon{background:var(--alto-gradient)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 6px 13px rgba(85,100,211,.18)!important}

/* Existing modal fields keep their names and save paths, with one clear
   presentation shared by business, agenda, rules and appearance settings. */
body.alto-product-panel .setup-dialog{max-height:min(720px,calc(100dvh - 32px))!important;padding:0!important;border:1px solid #dce4f0!important;border-radius:18px!important;background:#fff!important;color:var(--alto-ink)!important;box-shadow:0 24px 70px rgba(20,38,82,.22)!important}
body.alto-product-panel .setup-dialog::backdrop{background:rgba(22,35,63,.34)!important;backdrop-filter:blur(3px)!important}
body.alto-product-panel .setup-modal{padding:25px!important;background:#fff!important;color:var(--alto-ink)!important}
body.alto-product-panel .setup-modal h2{color:#17305b!important;font-size:1.22rem!important;letter-spacing:-.03em!important}
body.alto-product-panel .setup-modal .muted{color:#687a94!important;line-height:1.55!important}
body.alto-product-panel .setup-modal label{color:#405570!important;font-size:.74rem!important;font-weight:720!important}
body.alto-product-panel .setup-modal :is(input,select,textarea){min-height:44px!important;border:1px solid #d9e1ee!important;border-radius:10px!important;background:#fff!important;color:#1d335b!important;box-shadow:0 1px 2px rgba(25,47,91,.02)!important}
body.alto-product-panel .setup-modal textarea{min-height:92px!important}
body.alto-product-panel .setup-modal :is(input,select,textarea)::placeholder{color:#98a5b8!important}
body.alto-product-panel .setup-modal :is(input,select,textarea):hover{border-color:#bcc9e8!important}
body.alto-product-panel .setup-modal :is(input,select,textarea):focus{outline:0!important;border-color:#7a8ee5!important;box-shadow:0 0 0 3px rgba(99,119,221,.14)!important}
body.alto-product-panel .setup-actions{margin-top:22px!important;padding-top:16px!important;border-top:1px solid #e8edf5!important}
body.alto-product-panel .setup-actions button{min-height:40px!important;border:1px solid #d9e1ee!important;border-radius:10px!important;background:#fff!important;color:#405570!important;font-weight:720!important}
body.alto-product-panel .setup-actions button:hover{border-color:#bdc9e9!important;background:#f5f7ff!important}
body.alto-product-panel .setup-actions .save-setup{border-color:transparent!important;background:var(--alto-gradient)!important;color:#fff!important;box-shadow:0 8px 18px rgba(77,96,203,.20)!important}
body.alto-product-panel .setup-actions .save-setup:hover{background:linear-gradient(110deg,#456fea,#8f69e7)!important;box-shadow:0 10px 22px rgba(77,96,203,.25)!important}
body.alto-product-panel .setup-dialog :is(.policy-chip,.theme-current){border-color:#dce4f6!important;background:#f2f4ff!important;color:#5164c1!important}
body.alto-product-panel .setup-dialog :is(.theme-option,.appearance-option,.mode-option){border-color:#dbe3f0!important;background:#fff!important;color:#405570!important}
body.alto-product-panel .setup-dialog :is(.theme-option,.appearance-option,.mode-option):hover{border-color:#b8c5e9!important;background:#f5f7ff!important}
body.alto-product-panel .setup-dialog :is(.theme-option,.appearance-option,.mode-option).active{border-color:#8496e5!important;background:#f1f3ff!important;color:#4058be!important;box-shadow:0 0 0 3px rgba(91,111,215,.12)!important}
body.alto-product-panel .setup-dialog::-webkit-scrollbar-track{background:#f3f6fb!important}
body.alto-product-panel .setup-dialog::-webkit-scrollbar-thumb{border-color:#f3f6fb!important;background:linear-gradient(180deg,#6f85e7,#9677e4)!important}

@media(max-width:720px){
  body.alto-product-panel #configuracion .section-heading h2{font-size:1.6rem!important}
  body.alto-product-panel .settings-overview{margin:17px 0 14px!important;min-height:0!important;padding:19px!important;align-items:flex-start!important}
  body.alto-product-panel .settings-overview>span{display:none!important}
  body.alto-product-panel #configuracion .settings-grid{grid-template-columns:1fr!important;gap:10px!important}
  body.alto-product-panel #configuracion .settings-card{min-height:0!important;padding:17px!important;gap:12px!important;flex-wrap:nowrap!important}
  body.alto-product-panel #configuracion .settings-card>div{flex:1 1 auto!important;min-width:0!important;padding-right:0!important}
  body.alto-product-panel #configuracion .settings-card .text-button{width:auto!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0 12px!important;font-size:.7rem!important;line-height:42px!important;text-align:center!important}
  body.alto-product-panel .setup-dialog{width:min(100% - 22px,470px)!important;max-height:calc(100dvh - 22px)!important;border-radius:16px!important}
  body.alto-product-panel .setup-modal{padding:21px 18px!important}
  body.alto-product-panel .setup-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  body.alto-product-panel .setup-actions button{width:100%!important;min-height:44px!important}
}
