/*
 * FOXsalon system refinements
 * Layout/acabamento segue o padrão FoxBarber.
 * Cores são fornecidas dinamicamente pelo Personalizar através de functions.php.
 */

/* Logo oficial FOXsalon em acesso e sidebars. */
.nc-login-intro .nc-app-brand{
  width:clamp(150px,16vw,205px)!important;
  height:clamp(118px,13vw,164px)!important;
  margin-bottom:4px;
}
.nc-app-sidebar .nc-app-brand,.nc-management-sidebar .nc-app-brand{
  width:158px!important;
  height:132px!important;
  margin-left:0!important;
}
.nc-app-brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Ponte de paleta: mantém o desenho FoxBarber, sem cores fixas do salão. */
.nc-client-page,.nc-management-page{
  --nc-ui-surface:var(--foxfy-card-light);
  --nc-ui-surface-2:var(--foxfy-bg-light-alt);
  --nc-ui-line:var(--foxfy-line-soft);
  --nc-ui-line-strong:var(--foxfy-line-strong);
  --nc-qa-text:var(--foxfy-text-dark);
  --nc-qa-muted:var(--foxfy-muted-dark);
  --nc-qa-soft:var(--foxfy-muted-dark);
  --nc-qa-bronze:var(--nc-gold);
  --nc-qa-bronze-dark:var(--foxfy-button-hover);
  --nc-qa-surface:var(--foxfy-card-light);
  --nc-qa-surface-alt:var(--foxfy-bg-light-alt);
  --nc-qa-line:var(--foxfy-line-soft);
  background:var(--foxfy-bg-dark)!important;
}
.nc-app-main{background:var(--foxfy-app-bg)!important;color:var(--foxfy-text-dark)!important}
.nc-management-main{background:var(--foxfy-management-bg)!important;color:var(--foxfy-text-dark)!important}
.nc-app-sidebar,.nc-management-sidebar{
  background:linear-gradient(180deg,var(--foxfy-bg-dark-alt),var(--foxfy-bg-dark))!important;
  border-right-color:var(--foxfy-line-on-dark)!important;
}
.nc-app-sidebar::after,.nc-management-sidebar::after{
  background:radial-gradient(circle at 50% 0,var(--foxfy-accent-glow),transparent 56%)!important;
}
.nc-app-sidebar .nc-demo-badge,.nc-management-sidebar .nc-demo-badge{
  border-color:var(--foxfy-line-on-dark)!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--nc-gold-light)!important;
}
.nc-client-page .nc-app-nav a,.nc-management-page .nc-app-nav a{color:var(--foxfy-muted-light)!important}
.nc-client-page .nc-app-nav a:hover,.nc-management-page .nc-app-nav a:hover{
  background:var(--foxfy-accent-soft)!important;
  color:var(--foxfy-text-light)!important;
}
.nc-client-page .nc-app-nav a.is-active,.nc-management-page .nc-app-nav a.is-active{
  background:linear-gradient(90deg,var(--foxfy-accent-medium),var(--foxfy-accent-faint))!important;
  color:var(--foxfy-text-light)!important;
  box-shadow:inset 3px 0 var(--nc-gold)!important;
}
.nc-client-page .nc-app-nav a.is-active svg,.nc-management-page .nc-app-nav a.is-active svg{color:var(--nc-gold-light)!important}
.nc-client-account,.nc-management-account{border-top-color:var(--foxfy-line-on-dark)!important}
.nc-client-account-profile strong,.nc-management-user-profile strong{color:var(--foxfy-text-light)!important}
.nc-client-account-profile small,.nc-management-user-profile small{color:var(--foxfy-muted-light)!important}

.nc-app-topbar,.nc-management-topbar{
  background:var(--foxfy-topbar-bg)!important;
  border-bottom-color:var(--foxfy-line-soft)!important;
  box-shadow:0 10px 30px var(--foxfy-shadow-faint)!important;
}
.nc-app-topbar .nc-overline,.nc-management-topbar .nc-overline,.nc-page-title .nc-overline{color:var(--nc-gold)!important}
.nc-app-topbar p,.nc-management-topbar p,.nc-page-title h1{color:var(--foxfy-text-dark)!important}
.nc-page-title h1 em{color:var(--nc-gold)!important}
.nc-page-title p{color:var(--foxfy-muted-dark)!important}
.nc-page-title::after{background:linear-gradient(90deg,var(--nc-gold),var(--nc-gold-light))!important}
.nc-topbar-actions>button,.nc-management-topbar button,.nc-avatar-link{
  border-color:var(--foxfy-line-soft)!important;
  background:var(--foxfy-card-light)!important;
  color:var(--nc-gold)!important;
}

.nc-client-page .nc-primary-button,.nc-management-page .nc-primary-button{
  border-color:var(--foxfy-button-bg)!important;
  background:var(--foxfy-button-bg)!important;
  color:var(--foxfy-button-text)!important;
  box-shadow:0 10px 22px var(--foxfy-button-shadow)!important;
}
.nc-client-page .nc-primary-button:hover,.nc-management-page .nc-primary-button:hover{
  border-color:var(--foxfy-button-hover)!important;
  background:var(--foxfy-button-hover)!important;
}
.nc-client-page .nc-secondary-button,.nc-management-page .nc-secondary-button{
  border-color:var(--foxfy-line-strong)!important;
  background:var(--foxfy-card-light)!important;
  color:var(--foxfy-text-dark)!important;
}

.nc-client-page .nc-booking-card,.nc-client-page .nc-inline-card,.nc-client-page .nc-detail-panel,
.nc-client-page .nc-profile-card,.nc-client-page .nc-client-empty-state,.nc-client-page .nc-client-payment-summary,
.nc-client-page .nc-review-compose-card,.nc-management-page .nc-management-panel,.nc-management-page .nc-booking-card,
.nc-management-page .nc-integration-card,.nc-management-page .nc-team-management-card,.nc-management-page .nc-client-card,
.nc-management-page .nc-service-card,.nc-management-page .nc-finance-panel{
  border-color:var(--foxfy-line-soft)!important;
  background:var(--foxfy-card-light)!important;
  box-shadow:0 11px 28px var(--foxfy-shadow-faint)!important;
}
.nc-client-page .nc-booking-card::before,.nc-management-page .nc-booking-card::before{
  background:linear-gradient(180deg,var(--nc-gold),var(--nc-gold-light))!important;
}
.nc-booking-card h3,.nc-management-panel h3,.nc-panel-heading h3,.nc-profile-card h2{color:var(--foxfy-text-dark)!important}
.nc-booking-meta,.nc-management-panel p,.nc-profile-card p,.nc-client-action-grid a small,.nc-more-grid small{color:var(--foxfy-muted-dark)!important}
.nc-profile-card span{color:var(--nc-gold)!important}

.nc-metric-grid article{
  border-color:var(--foxfy-line-soft)!important;
  background:var(--foxfy-card-light)!important;
  box-shadow:0 10px 26px var(--foxfy-shadow-faint)!important;
}
.nc-metric-grid article>span{
  border-color:var(--foxfy-line-soft)!important;
  background:var(--foxfy-bg-light-alt)!important;
  color:var(--nc-gold)!important;
}
.nc-metric-grid b{color:var(--foxfy-text-dark)!important}

.nc-client-hero-card,.nc-detail-hero,.nc-loyalty-card,.nc-date-selector{
  background:linear-gradient(115deg,var(--foxfy-bg-dark-alt),var(--foxfy-card-dark))!important;
  color:var(--foxfy-text-light)!important;
}
.nc-client-hero-card h2,.nc-detail-hero h2,.nc-loyalty-card h3{color:var(--foxfy-text-light)!important}
.nc-client-hero-card p,.nc-detail-hero p{color:var(--foxfy-muted-light)!important}
.nc-client-hero-number,.nc-detail-date{border-color:var(--foxfy-line-on-dark)!important;background:rgba(255,255,255,.04)!important}
.nc-client-hero-number b,.nc-detail-hero>strong,.nc-loyalty-card>span{color:var(--nc-gold-light)!important}
.nc-profile-avatar,.nc-client-avatar,.nc-avatar-link{background:linear-gradient(135deg,var(--nc-gold),var(--nc-gold-light))!important}

.nc-login-page{background:var(--foxfy-bg-dark)!important}
.nc-login-card,.nc-demo-modal{
  background:var(--foxfy-card-light)!important;
  color:var(--foxfy-text-dark)!important;
  border-color:var(--foxfy-line-soft)!important;
}
.nc-login-heading h2,.nc-modal-heading h2{color:var(--foxfy-text-dark)!important}
.nc-login-heading p,.nc-modal-heading p{color:var(--foxfy-muted-dark)!important}
.nc-login-card .nc-step-label,.nc-login-card .nc-overline,.nc-modal-heading .nc-overline{color:var(--nc-gold)!important}
.nc-login-icon{background:var(--foxfy-bg-light-alt)!important;color:var(--nc-gold)!important}
.nc-field-label,.nc-modal-field{color:var(--foxfy-text-dark)!important}
.nc-field-label input,.nc-field-label select,.nc-field-label textarea,
.nc-modal-field input,.nc-modal-field select,.nc-modal-field textarea{
  border-color:var(--foxfy-line-strong)!important;
  background:var(--foxfy-card-light)!important;
  color:var(--foxfy-text-dark)!important;
}
.nc-field-label input::placeholder,.nc-modal-field input::placeholder,.nc-field-label textarea::placeholder{color:var(--foxfy-muted-dark)!important;opacity:.78!important}
.nc-field-label input:focus,.nc-field-label select:focus,.nc-field-label textarea:focus,
.nc-modal-field input:focus,.nc-modal-field select:focus,.nc-modal-field textarea:focus{
  border-color:var(--nc-gold)!important;
  box-shadow:0 0 0 3px var(--foxfy-accent-faint)!important;
}

/* CPF/CNPJ e blocos de cadastro: contraste sempre suficiente, mas dentro da paleta oficial. */
.nc-login-card .nc-owner-document-fieldset,.nc-login-card .nc-setup-validation{
  border-color:var(--foxfy-line-soft)!important;
  background:var(--foxfy-bg-light-alt)!important;
  color:var(--foxfy-text-dark)!important;
}
.nc-login-card .nc-owner-document-fieldset legend,.nc-login-card .nc-owner-document-input>span{color:var(--foxfy-text-dark)!important;font-weight:700!important}
.nc-login-card .nc-owner-document-fieldset legend span,.nc-login-card .nc-owner-document-fieldset>small{color:var(--foxfy-muted-dark)!important}
.nc-login-card .nc-owner-document-choice label{
  border-color:var(--foxfy-line-soft)!important;
  background:var(--foxfy-card-light)!important;
  color:var(--foxfy-text-dark)!important;
}
.nc-login-card .nc-owner-document-choice input{accent-color:var(--nc-gold)!important}

.nc-more-grid>a,.nc-more-grid>button,.nc-open-slots button,.nc-slot-grid button,.nc-preference-section,.nc-slot-section{
  border-color:var(--foxfy-line-soft)!important;
  background:var(--foxfy-card-light)!important;
  color:var(--foxfy-text-dark)!important;
}
.nc-more-grid a>span,.nc-more-grid button>span:first-child{background:var(--foxfy-bg-dark-alt)!important;color:var(--nc-gold-light)!important}
.nc-slot-grid button:hover,.nc-slot-grid button.is-selected,.nc-open-slots button:hover{
  border-color:var(--nc-gold)!important;
  background:var(--foxfy-bg-dark-alt)!important;
  color:var(--foxfy-text-light)!important;
}
.nc-client-tip,.nc-inline-card{background:var(--foxfy-bg-light-alt)!important;border-left-color:var(--nc-gold)!important;color:var(--foxfy-text-dark)!important}
.nc-management-customize-shortcut{border-color:var(--foxfy-line-on-dark)!important;background:var(--foxfy-accent-faint)!important;color:var(--nc-gold-light)!important}

.nc-status-pending{color:var(--nc-pending)!important}.nc-status-confirmed,.nc-status-completed{color:var(--nc-success)!important}.nc-status-cancelled{color:var(--nc-danger)!important}

/* Notificações isoladas do texto do topbar. */
.nc-client-page .nc-client-notifications .nc-notification-empty p,
.nc-client-page .nc-client-notifications .nc-notification-item p{
  overflow:visible!important;width:auto!important;max-width:none!important;
  color:var(--foxfy-muted-dark)!important;font:400 10px/1.55 Manrope,Arial,sans-serif!important;
  letter-spacing:0!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere;
}
.nc-client-page .nc-client-notifications .nc-notification-empty b,
.nc-client-page .nc-client-notifications .nc-notification-item b{
  color:var(--foxfy-text-dark)!important;font:700 11px/1.35 Manrope,Arial,sans-serif!important;
  letter-spacing:0!important;white-space:normal!important;
}

.nc-profile-account-actions .nc-logout-button{
  border-color:var(--foxfy-line-soft)!important;
  background:linear-gradient(180deg,var(--foxfy-card-light),var(--foxfy-bg-light-alt))!important;
  color:var(--foxfy-text-dark)!important;
}
.nc-profile-account-actions .nc-logout-button>svg{background:var(--foxfy-accent-faint)!important;color:var(--nc-gold)!important}

@media(max-width:760px){
  .nc-login-intro .nc-app-brand{width:156px!important;height:126px!important}
  .nc-app-sidebar .nc-app-brand,.nc-management-sidebar .nc-app-brand{width:148px!important;height:120px!important}
  .nc-client-shell>.nc-app-nav,.nc-management-shell>.nc-app-nav{
    background:var(--foxfy-mobile-nav-bg)!important;
    border-top-color:var(--foxfy-line-on-dark)!important;
    box-shadow:0 -12px 32px var(--foxfy-shadow-dark)!important;
  }
  .nc-client-shell>.nc-app-nav a,.nc-management-shell>.nc-app-nav a{color:var(--foxfy-muted-light)!important}
  .nc-client-shell>.nc-app-nav a.is-active,.nc-management-shell>.nc-app-nav a.is-active{
    background:var(--foxfy-accent-soft)!important;
    color:var(--foxfy-text-light)!important;
    border-top-color:var(--nc-gold)!important;
  }
}


/* ===== FOXsalon 1.0.5 DEV — refinamento de ações, agenda e perfil ===== */
/* Ações principais: usa o tom escuro oficial da paleta do site para evitar botões claros demais. */
.nc-client-page .nc-primary-button,
.nc-management-page .nc-primary-button{
  border-color:var(--foxfy-button-hover)!important;
  background:var(--foxfy-button-hover)!important;
  color:var(--foxfy-button-text)!important;
  box-shadow:0 10px 24px var(--foxfy-button-shadow)!important;
}
.nc-client-page .nc-primary-button:hover,
.nc-management-page .nc-primary-button:hover{
  border-color:var(--foxfy-bg-dark-alt)!important;
  background:var(--foxfy-bg-dark-alt)!important;
  color:var(--foxfy-text-light)!important;
  box-shadow:0 13px 28px var(--foxfy-shadow-faint)!important;
}
.nc-client-page .nc-primary-button:active,
.nc-management-page .nc-primary-button:active{
  transform:translateY(0);
}

/* Agenda da gestão: a data selecionada acompanha a cor oficial escura do site. */
.nc-management-page .nc-date-strip button.is-active{
  border-color:var(--foxfy-button-hover)!important;
  background:var(--foxfy-button-hover)!important;
  color:var(--foxfy-text-light)!important;
  box-shadow:0 8px 20px var(--foxfy-button-shadow)!important;
}
.nc-management-page .nc-date-strip button.is-active span,
.nc-management-page .nc-date-strip button.is-active b,
.nc-management-page .nc-date-strip button.is-active small{
  color:inherit!important;
}
.nc-management-page .nc-date-strip button:not(:disabled):not(.is-active):hover{
  background:var(--foxfy-bg-light-alt)!important;
  color:var(--foxfy-text-dark)!important;
}

/* Ícones dos atalhos: cantos suaves para acompanhar os cards arredondados. */
.nc-management-page .nc-more-grid>a>span,
.nc-management-page .nc-more-grid>button>span:first-child{
  border-radius:12px!important;
  overflow:hidden;
}

/* Perfil da gestão: dá respiro real entre o último campo e a ação de salvar. */
.nc-management-profile-card form>.nc-primary-button{
  margin-top:22px!important;
  min-width:190px;
}
.nc-management-profile-card .nc-profile-security-divider{
  margin-top:24px;
}

/* Logout do cliente: bloco independente, mais elegante e com respiro dos cards vizinhos. */
.nc-profile-account-actions{
  margin:22px 0 26px!important;
}
.nc-profile-account-actions .nc-logout-button{
  min-height:72px;
  padding:16px 19px!important;
  gap:14px!important;
  border-color:var(--foxfy-line-soft)!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,var(--foxfy-card-light),var(--foxfy-bg-light-alt))!important;
  box-shadow:0 10px 26px var(--foxfy-shadow-faint)!important;
  color:var(--foxfy-text-dark)!important;
}
.nc-profile-account-actions .nc-logout-button:hover{
  border-color:var(--foxfy-line-strong)!important;
  background:var(--foxfy-card-light)!important;
  box-shadow:0 14px 30px var(--foxfy-shadow-faint)!important;
}
.nc-profile-account-actions .nc-logout-button>svg{
  box-sizing:content-box;
  width:19px!important;
  height:19px!important;
  padding:10px!important;
  border-radius:12px!important;
  background:var(--foxfy-accent-faint)!important;
  color:var(--foxfy-button-hover)!important;
}
.nc-profile-account-actions .nc-logout-button b{
  color:var(--foxfy-text-dark)!important;
  font-size:11px!important;
}
.nc-profile-account-actions .nc-logout-button small{
  color:var(--foxfy-muted-dark)!important;
  font-size:8px!important;
}
.nc-profile-account-actions .nc-logout-button::after{
  color:var(--foxfy-button-hover)!important;
}

@media(max-width:760px){
  .nc-management-profile-card form>.nc-primary-button{
    width:100%;
    margin-top:20px!important;
    justify-content:center;
  }
  .nc-profile-account-actions{
    margin:19px 0 24px!important;
  }
  .nc-profile-account-actions .nc-logout-button{
    min-height:70px;
    padding:15px 16px!important;
  }
}


/* ===== FOXsalon 1.0.6 DEV — financeiro e Mercado Pago mobile ===== */
/* Financeiro: os ícones seguem o tom escuro oficial da paleta do site, sem marrom herdado. */
.nc-management-page .nc-finance-metrics article>span{
  border-color:var(--foxfy-line-strong)!important;
  background:linear-gradient(135deg,var(--foxfy-button-hover),var(--foxfy-bg-dark-alt))!important;
  color:var(--foxfy-text-light)!important;
  box-shadow:0 7px 17px var(--foxfy-shadow-faint)!important;
}
.nc-management-page .nc-finance-metrics article>span svg{
  color:inherit!important;
}

/* Mercado Pago no mobile: logo permanece à esquerda, centralizada verticalmente com o conteúdo. */
@media(max-width:760px){
  .nc-management-page .nc-finance-dev-note{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
  }
  .nc-management-page .nc-finance-dev-note .foxfy-mp-inline-logo{
    width:120px!important;
    height:auto!important;
    max-width:100%!important;
    margin:0!important;
    align-self:center!important;
    justify-self:start!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .nc-management-page .nc-finance-dev-note>div{
    min-width:0;
    align-self:center;
  }
}
@media(max-width:380px){
  .nc-management-page .nc-finance-dev-note{
    grid-template-columns:105px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .nc-management-page .nc-finance-dev-note .foxfy-mp-inline-logo{
    width:105px!important;
  }
}
