
:root{
  --salud-bg:#EAEEF5;
  --salud-surface:#FFFFFF;
  --salud-ink:#211F40;
  --salud-muted:#667085;
  --salud-primary:#2D9CDB;
  --salud-accent:#2BB673;
  --salud-line:#D6E0EA;
  --salud-support:#F7FBFE;
  --salud-danger:#211F40;
}
.salud-policy,
.salud-workflow-account,
.salud-booking-gate,
.salud-workflow-search,
.salud-workflow-bookings,
.salud-workflow-enhanced-list{
  font-family:Montserrat,sans-serif;
  color:var(--salud-ink);
}
.salud-workflow-primary,
.salud-workflow-secondary,
.salud-workflow-danger,
.salud-workflow-text-link,
.salud-workflow-clear,
.salud-workflow-actions summary,
.salud-workflow-inline button,
.salud-workflow-completion button{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:11px 20px;
  border-radius:50px;
  border:1px solid transparent;
  font:700 14px/1.2 Montserrat,sans-serif;
  color:var(--salud-ink)!important;
  text-align:center;
  text-decoration:none!important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease;
}
.salud-workflow-primary{
  background:var(--salud-accent);
  border-color:var(--salud-accent);
  box-shadow:0 8px 18px rgba(43,182,115,.16);
}
.salud-workflow-secondary,
.salud-workflow-text-link,
.salud-workflow-actions summary{
  background:var(--salud-surface);
  border-color:var(--salud-primary);
}
.salud-workflow-danger{
  background:var(--salud-bg);
  border-color:var(--salud-muted);
  color:var(--salud-ink)!important;
}
.salud-workflow-primary:hover{
  background:var(--salud-accent);
  border-color:var(--salud-accent);
  box-shadow:0 11px 22px rgba(43,182,115,.23);
  transform:translateY(-1px);
}
.salud-workflow-secondary:hover,
.salud-workflow-text-link:hover,
.salud-workflow-actions summary:hover{
  background:var(--salud-support);
  border-color:var(--salud-primary);
  transform:translateY(-1px);
}
.salud-workflow-danger:hover{
  background:var(--salud-support);
  border-color:var(--salud-ink);
  transform:translateY(-1px);
}
.salud-workflow-primary:active,
.salud-workflow-secondary:active,
.salud-workflow-danger:active,
.salud-workflow-actions summary:active{
  box-shadow:none;
  transform:translateY(1px);
}
.salud-workflow-primary:focus-visible,
.salud-workflow-secondary:focus-visible,
.salud-workflow-danger:focus-visible,
.salud-workflow-actions summary:focus-visible,
.salud-workflow-search input:focus,
.salud-workflow-search select:focus,
.salud-workflow-actions select:focus,
.salud-workflow-actions textarea:focus{
  outline:3px solid rgba(45,156,219,.28);
  outline-offset:3px;
}
.salud-policy{
  max-width:1060px;
  margin:0 auto;
}
.salud-policy-hero{
  max-width:760px;
  margin-bottom:36px;
}
.salud-policy-label{
  margin:0 0 12px;
  color:#211F40;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.salud-policy h1{
  margin:0 0 16px;
  max-width:740px;
  color:var(--salud-ink);
  font-size:clamp(34px,5vw,56px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.salud-policy-hero>p:last-child{
  max-width:690px;
  margin:0;
  color:var(--salud-ink);
  font-size:18px;
  line-height:1.65;
}
.salud-policy-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:0 0 20px;
}
.salud-policy-grid section,
.salud-policy-copy,
.salud-policy-highlight{
  background:var(--salud-surface);
  border:1px solid var(--salud-line);
  border-radius:20px;
}
.salud-policy-grid section{padding:28px}
.salud-policy h2{
  margin:0 0 10px;
  color:var(--salud-ink);
  font-size:22px;
  line-height:1.2;
}
.salud-policy p{
  color:var(--salud-muted);
  line-height:1.7;
}
.salud-policy-grid p{margin:0}
.salud-policy-highlight{
  margin:20px 0;
  padding:30px;
  border-left:6px solid var(--salud-accent);
  background:#F7FBFE;
}
.salud-policy-copy{padding:34px}
.salud-policy-copy h2:not(:first-child){margin-top:28px}
.salud-policy-copy p{max-width:760px}
.salud-policy-updated{margin-top:30px;font-size:13px}
.salud-booking-gate{
  padding:28px;
  background:var(--salud-support);
  border:1px solid var(--salud-line);
  border-radius:20px;
}
.salud-booking-gate h1,
.salud-booking-gate h3{margin:0 0 10px;color:var(--salud-ink)}
.salud-booking-gate p{margin:0 0 18px;color:var(--salud-muted);line-height:1.6}
.salud-booking-gate>div{display:flex;flex-wrap:wrap;gap:10px}
.salud-booking-address,
.salud-workflow-address-card{
  display:flex;
  gap:6px;
  flex-direction:column;
  padding:18px 20px;
  margin-bottom:20px;
  background:#F7FBFE;
  border:1px solid #2BB673;
  border-radius:12px;
  color:var(--salud-ink);
}
.salud-booking-address span,
.salud-workflow-address-card span{font-size:15px}
.salud-booking-address small,
.salud-workflow-address-card p{margin:0;color:var(--salud-muted);font-size:13px;line-height:1.5}
.salud-workflow-account{
  max-width:1120px;
  margin:0 auto;
  padding:64px 24px 88px;
}
.salud-workflow-account-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.salud-workflow-account-header span{
  color:#211F40;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.salud-workflow-account-header h1{
  margin:8px 0 8px;
  color:var(--salud-ink);
  font-size:clamp(34px,5vw,48px);
  line-height:1.08;
}
.salud-workflow-account-header p{margin:0;color:var(--salud-muted)}
.salud-workflow-metrics,
.salud-dashboard-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:24px;
}
.salud-workflow-metrics article{
  padding:22px;
  background:var(--salud-surface);
  border:1px solid var(--salud-line);
  border-radius:20px;
}
.salud-workflow-metrics strong{display:block;font-size:32px;line-height:1;color:var(--salud-ink)}
.salud-workflow-metrics span{display:block;margin-top:8px;color:var(--salud-muted);font-size:13px}
.salud-workflow-address-card{margin:0 0 32px}
.salud-workflow-address-card>div{display:flex;justify-content:space-between;gap:18px}
.salud-workflow-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:34px 0 18px;
}
.salud-workflow-section-head h2{margin:0 0 6px;color:var(--salud-ink);font-size:26px}
.salud-workflow-section-head p{margin:0;color:var(--salud-muted)}
.salud-workflow-section-head>a{color:#211F40;font-weight:700}
.salud-workflow-bookings{display:grid;gap:14px}
.salud-workflow-booking{
  display:grid;
  grid-template-columns:minmax(170px,.65fr) minmax(280px,1.35fr) minmax(220px,1fr);
  gap:22px;
  align-items:start;
  padding:24px;
  background:var(--salud-surface);
  border:1px solid var(--salud-line);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(33,31,64,.05);
}
.salud-workflow-booking-date{display:flex;flex-direction:column;gap:6px}
.salud-workflow-booking-date strong{font-size:16px;line-height:1.4}
.salud-workflow-booking-date span{color:var(--salud-muted);font-size:14px}
.salud-workflow-status,
.salud-workflow-completed{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 11px;
  margin-bottom:9px;
  border:1px solid var(--salud-line);
  border-radius:50px;
  background:var(--salud-support);
  color:var(--salud-ink);
  font-size:12px;
  font-weight:700;
}
.salud-workflow-status.is-approved,
.salud-workflow-completed{
  background:var(--salud-support);
  border-color:var(--salud-accent);
}
.salud-workflow-status.is-pending{
  background:var(--salud-bg);
  border-color:var(--salud-primary);
}
.salud-workflow-status.is-canceled,
.salud-workflow-status.is-rejected,
.salud-workflow-status.is-no-show{
  background:var(--salud-bg);
  border-color:var(--salud-line);
}
.salud-workflow-booking-main h3{margin:0 0 10px;color:var(--salud-ink);font-size:18px}
.salud-workflow-booking-main>p{margin:0;color:var(--salud-muted)}
.salud-workflow-booking-main dl{display:grid;gap:7px;margin:12px 0 0}
.salud-workflow-booking-main dl div{display:grid;grid-template-columns:135px 1fr;gap:10px}
.salud-workflow-booking-main dt{color:var(--salud-muted);font-size:12px;font-weight:700}
.salud-workflow-booking-main dd{margin:0;color:var(--salud-ink);font-size:13px;word-break:break-word}
.salud-workflow-booking-side{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%}
.salud-workflow-actions{width:100%;display:grid;gap:10px}
.salud-workflow-actions details{width:100%}
.salud-workflow-actions summary{width:100%;justify-content:space-between;list-style:none}
.salud-workflow-actions summary::after{
  content:"›";
  font-size:20px;
  font-weight:700;
  line-height:1;
  transform:rotate(90deg);
  transition:transform .15s ease;
}
.salud-workflow-actions summary::-webkit-details-marker{display:none}
.salud-workflow-actions details[open]{
  padding:12px;
  background:var(--salud-support);
  border:1px solid var(--salud-line);
  border-radius:16px;
}
.salud-workflow-actions details[open] summary{margin-bottom:12px}
.salud-workflow-actions details[open] summary::after{transform:rotate(-90deg)}
.salud-workflow-actions form{display:grid;gap:12px}
.salud-workflow-actions label{display:grid;gap:6px}
.salud-workflow-actions label>span{font-size:12px;font-weight:700;color:var(--salud-ink)}
.salud-workflow-actions select,
.salud-workflow-actions textarea,
.salud-workflow-search input,
.salud-workflow-search select{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  color:var(--salud-ink);
  background:var(--salud-surface);
  border:1px solid var(--salud-line);
  border-radius:12px;
  font:400 14px/1.35 Montserrat,sans-serif;
}
.salud-workflow-actions textarea{resize:vertical}
.salud-workflow-confirm{grid-template-columns:20px 1fr!important;align-items:start}
.salud-workflow-confirm input{margin-top:3px}
.salud-workflow-confirm a{color:#211F40}
.salud-workflow-request{
  width:100%;
  padding:16px;
  background:#F7FBFE;
  border:1px solid #2D9CDB;
  border-radius:16px;
}
.salud-workflow-request p{margin:7px 0;color:var(--salud-ink)}
.salud-workflow-request small{color:var(--salud-muted)}
.salud-workflow-request>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.salud-workflow-request form{margin:0}
.salud-workflow-cutoff{margin:0;color:var(--salud-muted);font-size:12px;line-height:1.5}
.salud-workflow-cutoff a{color:#211F40}
.salud-workflow-inline,
.salud-workflow-completion>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
}
.salud-workflow-inline form,
.salud-workflow-completion form{width:100%;margin:0}
.salud-workflow-inline button,
.salud-workflow-completion button{
  width:100%;
  min-height:46px;
  padding:10px 15px;
  background:var(--salud-accent);
  border-color:var(--salud-accent);
}
.salud-workflow-inline form:last-child button,
.salud-workflow-completion form:last-child button{background:var(--salud-surface);border-color:var(--salud-primary)}
.salud-workflow-completion{width:100%}
.salud-workflow-completion strong{display:block;margin-bottom:10px}
.salud-workflow-notice{
  margin:0 0 20px;
  padding:14px 18px;
  border-radius:12px;
  border:1px solid #2BB673;
  background:#F7FBFE;
  color:#211F40;
  font:600 14px/1.5 Montserrat,sans-serif;
}
.salud-workflow-notice.is-error{border-color:#2D9CDB;background:#EAEEF5;color:#211F40}
.salud-workflow-notice.is-info{border-color:#2D9CDB;background:#F7FBFE;color:#211F40}
.salud-workflow-empty{
  padding:34px;
  text-align:left;
  background:var(--salud-surface);
  border:1px solid var(--salud-line);
  border-radius:20px;
}
.salud-workflow-empty h3{margin:0 0 8px;color:var(--salud-ink)}
.salud-workflow-empty p{margin:0 0 18px;color:var(--salud-muted)}
.salud-dashboard:has(.salud-workflow-enhanced-list) .salud-dashboard-bookings{display:none!important}
.salud-dashboard:has(.salud-workflow-enhanced-list)>.salud-dashboard-empty{display:none!important}
.salud-workflow-enhanced-list{margin-top:18px}
.salud-dashboard.has-salud-workflow .salud-dashboard-tabs{
  gap:7px;
  padding:7px;
  background:var(--salud-surface);
  border:1px solid var(--salud-line);
  border-radius:50px;
}
.salud-dashboard.has-salud-workflow .salud-dashboard-tabs a{
  min-height:42px;
  padding:10px 18px;
  border-radius:50px;
  color:var(--salud-ink)!important;
  font-weight:700;
}
.salud-dashboard.has-salud-workflow .salud-dashboard-tabs a.is-active{
  background:var(--salud-primary);
  color:var(--salud-ink)!important;
}
.salud-dashboard.has-salud-workflow .salud-dashboard-primary,
.salud-dashboard.has-salud-workflow button.salud-dashboard-primary{
  background:var(--salud-accent)!important;
  border-color:var(--salud-accent)!important;
  color:var(--salud-ink)!important;
  border-radius:50px!important;
}
.salud-dashboard.has-salud-workflow .salud-dashboard-secondary{
  background:var(--salud-surface)!important;
  border:1px solid var(--salud-primary)!important;
  color:var(--salud-ink)!important;
  border-radius:50px!important;
}
.salud-workflow-search{
  display:grid;
  grid-template-columns:1.2fr repeat(4,minmax(145px,1fr)) auto;
  gap:12px;
  align-items:end;
}
.salud-workflow-search label{display:grid;gap:7px}
.salud-workflow-search label>span{color:var(--salud-ink);font-size:12px;font-weight:700}
.salud-workflow-search .salud-workflow-primary{min-height:44px;white-space:nowrap}
.salud-workflow-clear{grid-column:1/-1;min-height:auto;padding:0;border:0;color:#211F40!important;justify-content:flex-start}
.salud-workflow-results-head{margin:0 0 18px;color:var(--salud-muted)}
.salud-workflow-results-head p{margin:0}
.salud-workflow-results-head strong{color:var(--salud-ink);font-size:22px}
.salud-prof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.salud-prof-card{
  display:flex;
  flex-direction:column;
  padding:24px;
  background:var(--salud-surface);
  border:1px solid var(--salud-line);
  border-radius:20px;
  color:var(--salud-ink);
}
.salud-prof-avatar{
  width:84px;height:84px;margin-bottom:18px;
  display:grid;place-items:center;overflow:hidden;
  border-radius:50%;background:var(--salud-bg);
  color:var(--salud-primary);font-size:28px;font-weight:700
}
.salud-prof-avatar img{width:100%;height:100%;object-fit:cover}
.salud-prof-card h3{margin:0 0 10px;color:var(--salud-ink);font-size:21px}
.salud-prof-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.salud-prof-meta span{padding:6px 9px;border-radius:50px;background:#F7FBFE;color:#211F40;font-size:11px;font-weight:700}
.salud-prof-desc{margin:0 0 20px;color:var(--salud-muted);font-size:14px;line-height:1.6}
.salud-prof-link{margin-top:auto;color:#211F40!important;font-weight:700;text-decoration:none!important}
.salud-workflow-pagination{display:flex;gap:8px;justify-content:center;margin-top:28px}
.salud-workflow-pagination a,
.salud-workflow-pagination span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--salud-line);border-radius:50%;color:var(--salud-ink);text-decoration:none;background:var(--salud-surface)}
.salud-workflow-pagination span{background:var(--salud-primary);font-weight:700}
.salud-workflow-admin{font-family:Montserrat,sans-serif;color:var(--salud-ink)}
.salud-workflow-admin-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.salud-workflow-admin-cards article{padding:20px;background:#fff;border:1px solid var(--salud-line);border-radius:12px}
.salud-workflow-admin-cards strong{display:block;font-size:26px;color:var(--salud-ink)}
.salud-workflow-admin-cards span{display:block;margin-top:7px;color:var(--salud-muted);font-size:12px}
.salud-workflow-admin-cards .is-warning{border-color:#2D9CDB;background:#F7FBFE}
.salud-workflow-admin-cards .is-ok{border-color:#2BB673;background:#F7FBFE}
.salud-workflow-admin-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:16px;background:#fff;border:1px solid var(--salud-line);border-radius:12px}
.salud-workflow-admin-email{margin:0 0 18px;padding:18px;background:#fff;border-left:4px solid var(--salud-primary);border-radius:8px}
.salud-workflow-admin-email h2{margin-top:0}
.salud-workflow-admin-table{overflow:auto;background:#fff;border:1px solid var(--salud-line);border-radius:12px}
.salud-workflow-admin-table table{border:0}
.salud-workflow-admin-status{display:inline-block;padding:4px 8px;border-radius:50px;background:#F7FBFE;font-weight:700;font-size:11px}
.salud-workflow-admin-status.is-accepted,
.salud-workflow-admin-status.is-logged{background:#F7FBFE;color:#211F40}
.salud-workflow-admin-status.is-declined{background:#EAEEF5;color:#211F40}
@media(max-width:1100px){
  .salud-workflow-search{grid-template-columns:repeat(2,minmax(0,1fr))}
  .salud-workflow-search .salud-workflow-primary{width:100%}
  .salud-prof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .salud-policy-grid{grid-template-columns:1fr}
  .salud-workflow-account{padding:42px 16px 64px}
  .salud-workflow-account-header{flex-direction:column}
  .salud-workflow-metrics{grid-template-columns:1fr}
  .salud-workflow-booking{grid-template-columns:1fr;gap:16px;padding:20px}
  .salud-workflow-booking-main dl div{grid-template-columns:115px 1fr}
  .salud-workflow-booking-side{width:100%}
  .salud-workflow-section-head{align-items:flex-start;flex-direction:column}
  .salud-dashboard.has-salud-workflow .salud-dashboard-tabs{border-radius:20px;overflow-x:auto}
  .salud-workflow-admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .salud-policy-grid section,
  .salud-policy-copy,
  .salud-policy-highlight{padding:22px}

  .salud-dashboard.has-salud-workflow,
  .salud-dashboard.has-salud-workflow>*,
  .salud-workflow-bookings,
  .salud-workflow-booking,
  .salud-workflow-booking>*{min-width:0;max-width:100%}

  .salud-dashboard.has-salud-workflow .salud-dashboard-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    overflow:visible;
    padding:8px;
    border-radius:20px;
  }

  .salud-dashboard.has-salud-workflow .salud-dashboard-tabs a{
    width:100%;
    min-width:0;
    padding:10px 8px;
    text-align:center;
    white-space:normal;
  }

  .salud-dashboard.has-salud-workflow .salud-dashboard-tabs a::before{display:none}

  .salud-workflow-booking{overflow:hidden}
  .salud-workflow-booking-main h3,
  .salud-workflow-booking-main dd,
  .salud-workflow-request p,
  .salud-workflow-cutoff{overflow-wrap:anywhere}

  .salud-workflow-booking-main dl div{
    grid-template-columns:1fr;
    gap:3px;
  }

  .salud-workflow-booking-side,
  .salud-workflow-actions,
  .salud-workflow-actions details,
  .salud-workflow-actions form,
  .salud-workflow-actions button,
  .salud-workflow-actions summary,
  .salud-workflow-request,
  .salud-workflow-request form,
  .salud-workflow-request button,
  .salud-workflow-inline,
  .salud-workflow-inline form,
  .salud-workflow-inline button,
  .salud-workflow-completion,
  .salud-workflow-completion>div,
  .salud-workflow-completion form,
  .salud-workflow-completion button{width:100%}

  .salud-workflow-actions details[open]{padding:10px}
  .salud-workflow-request>div,
  .salud-workflow-inline,
  .salud-workflow-completion>div{
    display:grid;
    grid-template-columns:1fr;
  }

  .salud-workflow-confirm{grid-template-columns:20px minmax(0,1fr)!important}
  .salud-workflow-search{grid-template-columns:1fr}
  .salud-prof-grid{grid-template-columns:1fr}
  .salud-workflow-address-card>div{flex-direction:column}
  .salud-workflow-address-card form,
  .salud-workflow-address-card input,
  .salud-workflow-address-card select,
  .salud-workflow-address-card button{width:100%;min-width:0}
  .salud-workflow-admin-cards{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .salud-workflow-primary,
  .salud-workflow-secondary,
  .salud-workflow-danger,
  .salud-workflow-actions summary,
  .salud-workflow-actions summary::after{transition:none}
}

.salud-workflow-address-card details{margin-top:8px}
.salud-workflow-address-card summary{width:max-content;color:#211F40;font-size:13px;font-weight:700;cursor:pointer}
.salud-workflow-address-card form{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px;align-items:end;margin-top:14px}
.salud-workflow-address-card label{display:grid;gap:6px}
.salud-workflow-address-card label>span{color:var(--salud-ink);font-size:12px;font-weight:700}
.salud-workflow-address-card input,
.salud-workflow-address-card select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--salud-line);border-radius:12px;background:#fff;color:var(--salud-ink);font:400 14px/1.3 Montserrat,sans-serif}
@media(max-width:700px){.salud-workflow-address-card form{grid-template-columns:1fr}}
