/*
 * Dra. Stefania Rosse — Identidade Visual Completa v0.65.0
 * Camada final de consistência para site + app + painel + WP admin.
 */

:root{
  --stef-green:#4A8C84;
  --stef-brown:#7A5230;
  --stef-nude:#E8BFB3;
  --stef-cream:#F0EDE6;
  --stef-charcoal:#2C2C2C;

  --stef-surface:#F7F4EF;
  --stef-line:#D8D0C6;
  --stef-muted:#68615D;
  --stef-green-soft:#DDE9E5;
  --stef-nude-soft:rgba(232,191,179,.34);
  --stef-brown-soft:rgba(122,82,48,.10);

  --stef-display:"Nunito",Arial,sans-serif;
  --stef-body:"Lato",Arial,sans-serif;
  --stef-radius-sm:10px;
  --stef-radius-md:16px;
  --stef-radius-lg:22px;
  --stef-shadow:0 16px 46px rgba(44,44,44,.045);
}

/* ---------- Foundation ---------- */
.stef-app-shell,
.stef-booking,
.stef-auth,
.stef-home-v604,
.stef-resp-shell,
.stef-site-header,
.stef-site-footer,
.stef-wrap{
  font-family:var(--stef-body)!important;
}

.stef-app-shell,
.stef-booking,
.stef-home-v604,
.stef-resp-shell,
.stef-wrap{
  color:var(--stef-charcoal)!important;
}

.stef-app-shell,
.stef-booking,
.stef-auth,
.stef-resp-shell,
.stef-wrap{
  background:var(--stef-cream)!important;
}

.stef-app-shell h1,.stef-app-shell h2,.stef-app-shell h3,
.stef-booking h1,.stef-booking h2,.stef-booking h3,
.stef-auth h1,.stef-auth h2,.stef-auth h3,
.stef-home-v604 h1,.stef-home-v604 h2,.stef-home-v604 h3,
.stef-resp-shell h1,.stef-resp-shell h2,.stef-resp-shell h3,
.stef-wrap h1,.stef-wrap h2,.stef-wrap h3,
.stef-site-footer h2{
  font-family:var(--stef-display)!important;
  font-weight:800!important;
}

.stef-eyebrow,
.stef-booking__eyebrow,
.stef-auth__eyebrow,
.stef-home-v604__eyebrow,
.stef-home-v604 [class*="eyebrow"],
.stef-resp-card__label,
.stef-site-footer__label,
.stef-kicker{
  font-family:var(--stef-body)!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
}

/* ---------- Public site ---------- */
.stef-site-header{
  color:var(--stef-charcoal)!important;
}

.stef-site-header.is-solid,
.stef-site-header.is-scrolled,
.stef-site-header.is-menu-open{
  background:rgba(240,237,230,.96)!important;
}

.stef-site-brand strong{
  color:var(--stef-green)!important;
}

.stef-site-brand span,
.stef-site-nav a.is-current{
  color:var(--stef-brown)!important;
}

.stef-site-nav a{
  color:var(--stef-charcoal)!important;
}

.stef-site-nav a::after{
  background:var(--stef-green)!important;
}

.stef-site-header__action a,
.stef-home-v604__cta,
.stef-home-v604__doctor-cta,
.stef-home-v604__final-primary,
.stef-booking__primary,
.stef-auth__submit,
.stef-resp-shell .stef-primary{
  background:var(--stef-green)!important;
  border-color:var(--stef-green)!important;
  color:var(--stef-cream)!important;
}

.stef-site-header__action a:hover,
.stef-home-v604__cta:hover,
.stef-home-v604__doctor-cta:hover,
.stef-home-v604__final-primary:hover,
.stef-booking__primary:hover,
.stef-auth__submit:hover,
.stef-resp-shell .stef-primary:hover{
  background:var(--stef-brown)!important;
  border-color:var(--stef-brown)!important;
}

.stef-home-v604__how,
.stef-home-v604__doctor,
.stef-home-v604__questions{
  background:var(--stef-cream)!important;
}

.stef-home-v604__phases,
.stef-home-v604__difference{
  background:var(--stef-surface)!important;
}

.stef-home-v604__continuity{
  background:var(--stef-green)!important;
}

.stef-home-v604__final{
  background:var(--stef-nude-soft)!important;
}

.stef-home-v604__phase-card,
.stef-home-v604__care-panel,
.stef-home-v604__care-card,
.stef-home-v604__faq-item,
.stef-home-v604__doctor-principles article{
  border-color:rgba(122,82,48,.14)!important;
}

.stef-site-footer{
  background:var(--stef-green)!important;
  color:var(--stef-cream)!important;
}

/* ---------- Booking ---------- */
.stef-booking__step,
.stef-booking__success,
.stef-booking__type,
.stef-booking__review article,
.stef-booking__child,
.stef-booking__new-patient,
.stef-booking input,
.stef-booking select,
.stef-booking textarea{
  background:var(--stef-surface)!important;
  border-color:rgba(122,82,48,.15)!important;
}

.stef-booking input:focus,
.stef-booking select:focus,
.stef-booking textarea:focus{
  border-color:var(--stef-green)!important;
  box-shadow:0 0 0 3px rgba(74,140,132,.11)!important;
}

.stef-booking__type.is-active,
.stef-booking__child.is-active,
.stef-booking__new-child.is-active{
  background:var(--stef-nude-soft)!important;
  border-color:var(--stef-brown)!important;
}

.stef-booking__slot{
  background:var(--stef-surface)!important;
  color:var(--stef-green)!important;
  border-color:rgba(122,82,48,.18)!important;
}

.stef-booking__slot.is-active{
  background:var(--stef-green)!important;
  border-color:var(--stef-green)!important;
  color:var(--stef-cream)!important;
}

/* ---------- Login ---------- */
body.stefania-login-page,
.stef-auth,
.stef-auth__form-panel{
  background:var(--stef-cream)!important;
}

.stef-auth__brand-panel{
  background:var(--stef-green)!important;
}

.stef-auth__field input{
  background:var(--stef-surface)!important;
  border-color:rgba(122,82,48,.16)!important;
  color:var(--stef-charcoal)!important;
}

.stef-auth__site-link{
  background:var(--stef-nude-soft)!important;
  border-color:rgba(122,82,48,.18)!important;
}

.stef-auth__site-link strong{
  color:var(--stef-brown)!important;
}

/* ---------- Admin app ---------- */
.stef-app-main{
  background:var(--stef-cream)!important;
}

body.stef-sidebar-viewport-root > #stef-sidebar.stef-sidebar,
.stef-sidebar{
  background:var(--stef-green)!important;
}

.stef-side-brand strong{
  color:var(--stef-cream)!important;
}

.stef-side-brand span,
.stef-side-foot,
.stef-side-foot small{
  color:rgba(240,237,230,.76)!important;
}

.stef-sidebar .stef-nav a{
  color:rgba(240,237,230,.86)!important;
}

.stef-sidebar .stef-nav a.active{
  background:var(--stef-cream)!important;
  color:var(--stef-green)!important;
}

.stef-sidebar .stef-nav a:not(.active):hover{
  background:rgba(240,237,230,.14)!important;
  color:var(--stef-cream)!important;
}

.stef-side-actions .stef-nav-logout{
  border-color:rgba(240,237,230,.24)!important;
  background:rgba(240,237,230,.08)!important;
  color:var(--stef-cream)!important;
}

.stef-panel,
.stef-card,
.stef-stat,
.stef-app-metrics article,
.stef-calendar-card,
.stef-calendar-shell,
.stef-patient-card,
.stef-consult-card,
.stef-detail-panel,
.stef-modal-panel,
.stef-form-card,
.stef-datepicker,
.stef-waitlist-card,
.stef-settings-card,
.stef-finance-card,
.stef-document-card,
.stef-communication-card{
  background:var(--stef-surface)!important;
  border-color:rgba(122,82,48,.14)!important;
  box-shadow:var(--stef-shadow)!important;
}

.stef-app-shell input,
.stef-app-shell select,
.stef-app-shell textarea,
.stef-app-shell .stef-search{
  background:var(--stef-surface)!important;
  color:var(--stef-charcoal)!important;
  border-color:rgba(122,82,48,.16)!important;
  font-family:var(--stef-body)!important;
}

.stef-app-shell input:focus,
.stef-app-shell select:focus,
.stef-app-shell textarea:focus{
  border-color:var(--stef-green)!important;
  box-shadow:0 0 0 3px rgba(74,140,132,.10)!important;
}

.stef-primary,
.stef-button-primary,
.stef-btn-primary{
  background:var(--stef-green)!important;
  border-color:var(--stef-green)!important;
  color:var(--stef-cream)!important;
}

.stef-primary:hover,
.stef-button-primary:hover,
.stef-btn-primary:hover{
  background:var(--stef-brown)!important;
  border-color:var(--stef-brown)!important;
}

.stef-secondary,
.stef-button-secondary,
.stef-btn-secondary{
  background:transparent!important;
  border-color:rgba(74,140,132,.42)!important;
  color:var(--stef-green)!important;
}

.stef-table th,
.stef-data-table th,
.stef-patients-table th{
  color:var(--stef-brown)!important;
  font-family:var(--stef-body)!important;
  font-weight:700!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

.stef-table td,
.stef-data-table td,
.stef-patients-table td{
  color:var(--stef-charcoal)!important;
  border-color:rgba(122,82,48,.10)!important;
}

.stef-badge.is-success,
.stef-status-confirmed,
.stef-status-active,
.stef-chip.green{
  background:var(--stef-green-soft)!important;
  color:#356F68!important;
}

.stef-badge.is-warning,
.stef-status-pending,
.stef-status-waiting{
  background:var(--stef-nude-soft)!important;
  color:var(--stef-brown)!important;
}

.stef-badge.is-neutral,
.stef-status-archived{
  background:rgba(44,44,44,.07)!important;
  color:var(--stef-charcoal)!important;
}

.stef-tabs button.active,
.stef-segmented button.active,
.stef-filter-chip.active{
  background:var(--stef-green)!important;
  border-color:var(--stef-green)!important;
  color:var(--stef-cream)!important;
}

/* Growth / visual data */
.stef-growth-chart svg [stroke="#3F5548"],
.stef-growth-chart svg [stroke="#4A8C84"]{
  stroke:var(--stef-green)!important;
}

/* ---------- Responsible panel ---------- */
.stef-resp-shell--brand{
  background:var(--stef-cream)!important;
}

.stef-resp-brand-head{
  background:var(--stef-green)!important;
}

.stef-resp-card{
  background:var(--stef-surface)!important;
  border-color:rgba(122,82,48,.14)!important;
}

.stef-resp-card--next{
  background:var(--stef-nude-soft)!important;
}

/* ---------- WordPress admin ---------- */
.stef-wrap{
  background:var(--stef-cream)!important;
  color:var(--stef-charcoal)!important;
}

.stef-wrap .stef-brand strong,
.stef-wrap .stef-header h1,
.stef-wrap .stef-card h2,
.stef-wrap .stef-empty h3{
  font-family:var(--stef-display)!important;
  font-weight:800!important;
}

.stef-wrap .stef-card,
.stef-wrap .stef-metric,
.stef-wrap .stef-side-card,
.stef-wrap .stef-admin-list{
  background:var(--stef-surface)!important;
  border-color:rgba(122,82,48,.14)!important;
}

.stef-wrap .stef-open-app{
  background:var(--stef-green)!important;
  color:var(--stef-cream)!important;
}

.stef-wrap .stef-open-app:hover{
  background:var(--stef-brown)!important;
}

/* ---------- Brand signature: restrained use ---------- */
.stef-sidebar::after{
  content:"";
  position:absolute;
  right:-32px;
  bottom:76px;
  width:165px;
  height:165px;
  opacity:.055;
  background:url("../img/brand/monogram-sr-cream-fallback.svg") center/contain no-repeat;
  pointer-events:none;
}

.stef-booking__workspace{
  position:relative;
}

.stef-booking__workspace::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-36px;
  width:170px;
  height:170px;
  opacity:.035;
  background:url("../img/brand/monogram-sr-green-fallback.svg") center/contain no-repeat;
  pointer-events:none;
}

@media(max-width:767px){
  .stef-sidebar::after{
    opacity:.035;
  }
}

/* ---------- Typography scale ---------- */
.stef-app-title h1,
.stef-agenda-heading h1{
  font-size:clamp(30px,3vw,38px)!important;
  line-height:1.05!important;
}

.stef-panel-head h2,
.stef-modal-title,
.stef-detail-panel h2{
  font-size:clamp(21px,2vw,27px)!important;
  line-height:1.08!important;
}

.stef-app-shell h3{
  line-height:1.12!important;
}

@media(max-width:640px){
  .stef-app-title h1,
  .stef-agenda-heading h1{
    font-size:30px!important;
  }
}


.stef-app-brand-arc{
  position:absolute;
  right:34px;
  top:28px;
  width:82px;
  height:58px;
  opacity:.62;
  z-index:0;
}

.stef-app-main{
  position:relative;
}

@media(max-width:800px){
  .stef-app-brand-arc{
    display:none;
  }
}


/* v0.65.1 — prioridade final para a assinatura do rodapé */
.stef-site-footer .stef-site-brand--footer strong,
.stef-site-footer .stef-site-brand--footer span{
  color:var(--stef-cream)!important;
}

.stef-site-footer .stef-site-brand--footer strong{
  opacity:1!important;
}

.stef-site-footer .stef-site-brand--footer span{
  opacity:.88!important;
}

.stef-site-footer__brand>p{
  color:rgba(240,237,230,.84)!important;
}


/* v0.65.2 — prioridade final para calendário e ação Sair */
.stef-app-shell .stef-calendar-month .stef-day-number{
  width:29px!important;
  height:29px!important;
  margin:0 auto!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  text-align:center!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  font-size:12px!important;
  letter-spacing:0!important;
}

body.stef-sidebar-viewport-root > #stef-sidebar,
body.stef-sidebar-viewport-root > #stef-sidebar *{
  box-sizing:border-box!important;
}

body.stef-sidebar-viewport-root > #stef-sidebar .stef-side-actions{
  width:100%!important;
  overflow:hidden!important;
}

body.stef-sidebar-viewport-root > #stef-sidebar .stef-nav-logout{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

body.stef-sidebar-viewport-root > #stef-sidebar .stef-nav-logout::before,
body.stef-sidebar-viewport-root > #stef-sidebar .stef-nav-logout::after{
  display:none!important;
  content:none!important;
}


/* v0.65.4 — prioridade final para tela de confirmação */
.stef-booking__layout.is-booking-success{
  grid-template-columns:minmax(0,1fr)!important;
}

.stef-booking__layout.is-booking-success .stef-booking__workspace{
  grid-column:1/-1!important;
  width:100%!important;
}

.stef-booking__layout.is-booking-success .stef-booking__success{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* v0.70.0 — superfícies integradas */
.stef-ecosystem-center,
.stef-rp__sync-ribbon{
  font-family:"Lato",Arial,sans-serif;
}
