/* ReservaPyme 0.8.9 · Pulse Pilates brand refinements. */
.pulse-real-logo{width:104px;height:62px;object-fit:contain;display:block}
body.pulse-standalone{margin:0!important;background:#f6f3ec!important}
html:has(body.pulse-standalone){margin-top:0!important}
body.pulse-standalone > :not(.pulse-app):not(script):not(style):not(link){display:none!important}
body.pulse-standalone .pulse-app{margin:0;width:100%;max-width:none}
.pulse-app .pulse-push-state{padding:14px;border-radius:12px;background:#eee8dc;color:#211e19!important;line-height:1.5}
@media(max-width:760px){
 .pulse-app[data-pulse-app="customer"] .pulse-tabs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}
 .pulse-app[data-pulse-app="customer"] .pulse-tabs button{width:auto!important;min-width:0;flex-basis:auto!important;padding:6px 1px!important;font-size:10px;min-height:58px}
 .pulse-app[data-pulse-app="customer"] .pulse-sidebar{left:0;right:0;bottom:0;border-radius:18px 18px 0 0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));}
 .pulse-app[data-pulse-app="customer"]{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .pulse-app[data-pulse-app="customer"] .pulse-welcome h1{font-size:22px;overflow-wrap:anywhere}
 .pulse-app[data-pulse-app="customer"] .pulse-section-head h2{font-size:28px}
 .pulse-app[data-pulse-app="customer"] .pulse-workspace{padding:20px 16px}
}
.pulse-app[data-pulse-app="admin"] .pulse-workspace{max-width:1600px}
.pulse-app[data-pulse-app="customer"] .pulse-workspace{max-width:1220px}
.pulse-app-header{background:#fffdf8;color:#1b1915;border-bottom:1px solid #ded8cc;box-shadow:0 3px 18px rgba(24,31,26,.04)}
.pulse-app-header .pulse-product-mark strong{color:#173e31}
.pulse-app-header .pulse-product-mark small{color:#7a725f}
.pulse-app-header .pulse-mode-switch{color:#173e31;border-color:#cfc8ba;background:#fff}
.pulse-app-header .pulse-mode-switch:hover{background:#f1ede4;color:#173e31}
.pulse-utility-nav{display:flex;align-items:center;gap:7px;margin-left:auto}
.pulse-utility-nav button{min-height:36px!important;padding:0 12px!important;border:1px solid #d8d1c5!important;border-radius:999px!important;background:#fff!important;color:#173e31!important;font-size:10px!important;font-weight:800!important;box-shadow:none!important}
.pulse-utility-nav button:hover,.pulse-utility-nav button.active{background:#173e31!important;color:#fff!important;border-color:#173e31!important}
.pulse-utility-nav .pulse-nav-icon,.pulse-utility-nav .pulse-nav-icon svg{width:16px;height:16px}

@media(min-width:761px){
 .pulse-sidebar,.pulse-app[data-pulse-app="customer"] .pulse-sidebar{background:#fffdf8;border-right:1px solid #ded8cc;border-top:0}
 .pulse-sidebar-brand{color:#1b1915;border-bottom-color:#e6e0d5}
 .pulse-sidebar-brand .pulse-wordmark{color:#173e31}
 .pulse-sidebar-brand small{color:#786f60}
 .pulse-tabs button,.pulse-tabs a{color:#5f5a50}
 .pulse-tabs button:hover,.pulse-tabs a:hover{background:#f0ece3;color:#173e31}
 .pulse-tabs button.active,.pulse-tabs a.active{background:#173e31;color:#fff}
}
.pulse-app[data-pulse-app="customer"] .pulse-next-class{min-height:190px;padding:24px}
.pulse-app[data-pulse-app="customer"] .pulse-plan-card:first-child{border-color:#b8ad98;box-shadow:0 0 0 1px #b8ad98 inset}
.pulse-app[data-pulse-app="admin"] .pulse-section-head:has(+ .pulse-setup-strip){margin-bottom:12px}
.pulse-app .pulse-empty{background:#fffdf8}
.pulse-app .pulse-filterbar,.pulse-app .pulse-searchbar{background:#f0ece3}
.pulse-app .pulse-notification-hero{background:#173e31;border-color:#173e31}
.pulse-app .pulse-primary{background:#173e31;border-color:#173e31}
.pulse-app .pulse-primary:hover{background:#0e3025;border-color:#0e3025}
.pulse-app .pulse-next-class{background:#173e31;border-color:#173e31}
.pulse-membership-focus{margin:18px 0;padding:24px;border-color:#b9cbbf!important;background:#f7fbf8!important;box-shadow:0 10px 34px rgba(23,62,49,.07)!important}
.pulse-membership-focus::before{content:"PLAN ACTIVO DEL MES";display:inline-flex;margin-bottom:12px;border-radius:999px;background:#dcebe2;color:#1d644c;padding:5px 9px;font-size:9px;font-weight:900;letter-spacing:.09em}
.pulse-membership-focus.pulse-warning-card::before{content:"ESTADO DEL PLAN";background:#f7edd8;color:#8a6127}
.pulse-plan-progress{height:6px;margin-top:15px;border-radius:999px;background:#e5e0d7;overflow:hidden}
.pulse-plan-progress span{display:block;height:100%;border-radius:inherit;background:#28745b}

.pulse-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 26px}
.pulse-guide-step{min-height:190px;padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.pulse-guide-step .pulse-guide-number{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:20px;border-radius:50%;background:#173e31;color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}
.pulse-guide-step .pulse-secondary{margin-top:auto}
.pulse-guide-step p{font-size:14px}
.pulse-view details{padding:13px 0;border-top:1px solid #e4ded2}
.pulse-view details:first-of-type{margin-top:10px}
.pulse-view details p{margin:9px 0 0}

.pulse-support-list{display:grid;gap:10px;margin-top:18px}
.pulse-support-case{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.pulse-support-case h3,.pulse-support-case p{grid-column:2}
.pulse-support-case>.pulse-badge{grid-row:1/4}
.pulse-support-case>button{grid-column:3;grid-row:1/4}
.pulse-message-list{display:grid;gap:10px;max-height:46vh;overflow:auto;padding:5px}
.pulse-message{max-width:82%;border:1px solid #ded8cc;border-radius:16px 16px 16px 5px;background:#fff;padding:13px 15px}
.pulse-message.staff{margin-left:auto;border-radius:16px 16px 5px 16px;background:#e5f0e9;border-color:#c8ded1}
.pulse-message strong{font-size:11px;color:#173e31}
.pulse-message p{margin:4px 0;color:#302d28;white-space:pre-wrap}
.pulse-message small{font-size:10px;color:#756f65}
.pulse-support-reply{padding-top:15px;border-top:1px solid #ded8cc}
.pulse-support-manage{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:14px;border-radius:14px;background:#f0ece3}

/* Calm table rhythm for operational screens. */
.pulse-order-row:nth-child(even),.pulse-booking-row:nth-child(even),.pulse-customer-row:nth-child(even){background:#fcfaf5}
.pulse-order-row:hover,.pulse-booking-row:hover,.pulse-customer-row:hover{border-color:#c5bcad}

/* Make automatic schedule feel like a first-class feature. */
.pulse-rule-row::before{content:"AUTO";align-self:start;justify-self:start;grid-column:1/-1;display:inline-flex;min-height:22px;align-items:center;border-radius:999px;background:#eee8dc;padding:0 8px;font-size:8px;font-weight:900;letter-spacing:.13em;color:#6b6357}
.pulse-preview-box strong{color:#1b1915}

/* WordPress theme isolation. */
.pulse-app .pulse-dashboard,.pulse-app .pulse-workspace,.pulse-app .pulse-view,.pulse-app .pulse-card{max-width:none}
.pulse-app .pulse-tabs button::before,.pulse-app .pulse-tabs button::after{display:none!important}
.pulse-app button,.pulse-app input,.pulse-app select,.pulse-app textarea{box-shadow:none}
.pulse-app button.pulse-primary{color:#f8f3e9!important}
.pulse-app button.pulse-secondary{color:#1b1915!important}
.pulse-app .pulse-sidebar button{margin:0}

@media(max-width:760px){
 .pulse-app-header{padding-inline:12px}
 .pulse-utility-nav{gap:4px;margin-left:0}
 .pulse-utility-nav button{width:34px;min-height:34px!important;padding:0!important;font-size:0!important}
 .pulse-utility-nav .pulse-nav-icon,.pulse-utility-nav .pulse-nav-icon svg{width:18px;height:18px}
 body:has(.pulse-app){overflow-x:hidden}
  .pulse-app[data-pulse-app="customer"] .pulse-tabs button{flex-basis:67px;width:67px}
  .pulse-app[data-pulse-app="admin"] .pulse-tabs button{flex-basis:70px;width:70px}
  .pulse-app .pulse-sidebar{background:#11100e}
  .pulse-guide-grid{grid-template-columns:1fr}
  .pulse-guide-step{min-height:0}
  .pulse-support-case{grid-template-columns:1fr}.pulse-support-case>*{grid-column:1!important;grid-row:auto!important}.pulse-support-case>button{justify-self:stretch}
  .pulse-support-manage{grid-template-columns:1fr}
}
