/* VetChip UI Foundation 7.1 — visual hierarchy refinement.
   This layer exists to neutralize legacy catch-all button colors without changing behavior. */

/* Authenticated shell: brand belongs to the navigation rail, not a second header. */
body.vc-authenticated-shell .vc-app-header{display:none}
.vc-app .vc-sidebar-brand{
  width:100%;min-height:58px;display:flex;align-items:center;gap:11px;margin:0 0 18px;padding:8px 10px;
  border:0;border-radius:12px;background:transparent;color:var(--vc-color-on-brand);font-size:20px;font-weight:850;
  letter-spacing:-.02em;text-align:left;cursor:pointer
}
.vc-app .vc-sidebar-brand img{width:40px;height:40px;display:block;border-radius:10px;box-shadow:0 3px 12px rgb(0 0 0 / 16%)}
.vc-app .vc-sidebar-brand:hover{background:var(--vc-color-brand-hover)}
.vc-app .vc-sidebar-brand:focus-visible{outline:0;box-shadow:var(--vc-focus-ring)}

/* One navigation palette for every authenticated profile. Role identity stays in content, not chrome. */
.vc-app #vxSidebar,.vc-app #vxMenuDialog{background:var(--vc-color-brand)!important;color:var(--vc-color-on-brand)!important}
.vc-app #vxSidebar .app-nav button{
  background:transparent!important;color:#e8f0f4!important;border-color:transparent!important;box-shadow:none!important
}
.vc-app #vxSidebar .app-nav button:hover:not(:disabled){background:var(--vc-color-brand-hover)!important;color:#fff!important}
.vc-app #vxSidebar .app-nav button.active,
.vc-app #vxSidebar .app-nav button[aria-current="page"]{
  background:#fff!important;color:var(--vc-color-brand)!important;border-color:#fff!important;
  box-shadow:inset 4px 0 0 var(--vc-color-action)!important;font-weight:800
}
.vc-app #vxSidebar .vc-nav-group-label{color:#bfcfd8!important;opacity:1}
.vc-app #vxMenuTitle{color:#d9e5ea!important}

/* Disabled must remain readable: no near-white text disappearing into the canvas. */
.vc-app button:disabled,
.vc-app [aria-disabled="true"]{
  opacity:1!important;background:var(--vc-color-surface-muted)!important;color:var(--vc-color-text-muted)!important;
  border-color:var(--vc-color-border)!important;box-shadow:none!important;cursor:not-allowed!important
}

/* Primary action: reserved for the main action of a block. */
.vc-app :is(.vc-primary,.vc-prof-primary,.vc-button--primary),
.vc-app .search-box>button:not(:disabled),
.vc-app .vc-tutor-hero>button:not(:disabled),
.vc-app .vc-tutor-page-head>button:not(:disabled){
  background:var(--vc-color-action)!important;color:var(--vc-color-on-action)!important;border-color:var(--vc-color-action)!important
}
.vc-app :is(.vc-primary,.vc-prof-primary,.vc-button--primary):hover:not(:disabled),
.vc-app .search-box>button:hover:not(:disabled),
.vc-app .vc-tutor-hero>button:hover:not(:disabled),
.vc-app .vc-tutor-page-head>button:hover:not(:disabled){
  background:var(--vc-color-action-hover)!important;color:#fff!important;border-color:var(--vc-color-action-hover)!important
}

/* Secondary actions and dashboard shortcuts: white surfaces, dark text. */
.vc-app :is(.quick-actions button,.dash-row button,.vc-prof-dashboard-shortcut-grid button,.vc-tutor-quick),
.vc-app .vc-prof-page button:not(.vc-prof-primary):not(.vc-prof-kpi):not(.active):not(.selected),
.vc-app .vc-prof-dialog button:not(.vc-prof-primary):not(.vc-prof-kpi):not(.active):not(.selected){
  background:var(--vc-color-surface)!important;color:var(--vc-color-brand)!important;border:1px solid var(--vc-color-border)!important;
  box-shadow:none!important
}
.vc-app :is(.quick-actions button,.dash-row button,.vc-prof-dashboard-shortcut-grid button,.vc-tutor-quick):hover:not(:disabled),
.vc-app .vc-prof-page button:not(.vc-prof-primary):not(.vc-prof-kpi):not(.active):not(.selected):hover:not(:disabled),
.vc-app .vc-prof-dialog button:not(.vc-prof-primary):not(.vc-prof-kpi):not(.active):not(.selected):hover:not(:disabled){
  background:var(--vc-color-surface-muted)!important;color:var(--vc-color-brand)!important;border-color:#aebfc5!important
}

/* Professional KPI cards are status filters and intentionally use the action surface.
   Keep this rule independent of body classes so a transient account-state class can never
   produce white cards with white labels. */
.vc-app button.vc-prof-kpi,
.vc-app button.vc-prof-kpi:disabled,
.vc-app button.vc-prof-kpi[aria-disabled="true"]{
  min-height:94px!important;padding:14px!important;text-align:left!important;
  background:#0f766e!important;color:#fff!important;border:1px solid #0f766e!important;
  opacity:1!important;box-shadow:none!important
}
.vc-app button.vc-prof-kpi span,
.vc-app button.vc-prof-kpi strong,
.vc-app button.vc-prof-kpi small{color:#fff!important}
.vc-app button.vc-prof-kpi span,.vc-app button.vc-prof-kpi small{opacity:.88}
.vc-app button.vc-prof-kpi:hover:not(:disabled){
  background:#115e59!important;color:#fff!important;border-color:#115e59!important;
  transform:translateY(-1px);box-shadow:var(--vc-shadow-sm)!important
}

/* Tutor shortcuts: text-first cards, no decorative emoji. */
.vc-app .vc-tutor-quick{min-height:118px!important;padding:16px!important;align-content:start!important}
.vc-app .vc-tutor-quick-icon{display:none!important}
.vc-app .vc-tutor-quick strong{color:var(--vc-color-brand)!important;font-size:14px}
.vc-app .vc-tutor-quick small{color:var(--vc-color-text-muted)!important;line-height:1.45}
.vc-app .vc-tutor-quick.is-locked{background:var(--vc-color-surface-muted)!important;border-style:dashed!important}
.vc-app .vc-tutor-quick.is-locked::after{color:var(--vc-color-warning)!important}

/* Notifications and quiet controls are secondary, never competing with the page CTA. */
.vc-app #btnAvisos,.vc-app .vc-notice-actions button,.vc-app #maisAvisos{
  background:var(--vc-color-surface)!important;color:var(--vc-color-brand)!important;border:1px solid var(--vc-color-border)!important
}
.vc-app #btnAvisos:hover:not(:disabled),.vc-app .vc-notice-actions button:hover:not(:disabled),.vc-app #maisAvisos:hover:not(:disabled){
  background:var(--vc-color-surface-muted)!important;color:var(--vc-color-brand)!important
}

/* Profession colors are subtle identity accents only; app chrome remains shared. */
.vc-prof-theme-vet{--vc-prof-accent:#3f806d;--vc-prof-soft:#edf6f2;--vc-prof-ink:#285548}
.vc-prof-theme-farrier{--vc-prof-accent:#80664f;--vc-prof-soft:#f6f2ee;--vc-prof-ink:#4f3e30}
.vc-prof-theme-groomer{--vc-prof-accent:#6f6288;--vc-prof-soft:#f4f2f7;--vc-prof-ink:#463c59}

@media(max-width:900px){
  .vc-app .vc-sidebar-brand{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.vc-app .vc-prof-kpi:hover:not(:disabled){transform:none}}

/* Meus animais reuses navigation buttons as contextual actions. Once moved out of the sidebar,
   they must stop looking like dark-navigation pills. */
.vc-app #pagMeusAnimais>.vx-actions>.nav-pill{
  flex:0 0 auto;min-width:0;background:var(--vc-color-surface)!important;color:var(--vc-color-brand)!important;
  border:1px solid var(--vc-color-border)!important;padding:10px 14px!important;text-align:center!important
}
.vc-app #pagMeusAnimais>.vx-actions>.nav-pill:hover:not(:disabled){background:var(--vc-color-surface-muted)!important;color:var(--vc-color-brand)!important}
.vc-app #pagMeusAnimais>.vx-actions>button:not(.nav-pill):not(:disabled){
  background:var(--vc-color-action)!important;color:#fff!important;border:1px solid var(--vc-color-action)!important
}
.vc-app #pagMeusAnimais>.vx-actions>button:not(.nav-pill):hover:not(:disabled){background:var(--vc-color-action-hover)!important;border-color:var(--vc-color-action-hover)!important}

/* VetChip Bloco 4 — Transferência de Embriões */
.vc-te-section{border-top:1px solid rgba(148,163,184,.25);padding-top:1rem}
.vc-te-toolbar{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:.35rem 0 1rem}
.vc-te-360{border:1px solid rgba(16,185,129,.28);border-radius:16px;padding:1rem;background:rgba(236,253,245,.65);margin-bottom:1rem}
.vc-te-subsection{display:grid;gap:.75rem;margin-top:1rem}
.vc-te-subsection>h4{margin:.25rem 0 0;font-size:1rem}
.vc-te-card{border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:.9rem;background:var(--card,#fff);display:grid;gap:.75rem}
.vc-te-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.vc-te-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.55rem .8rem}
.vc-repro-badge.success{background:#dcfce7;color:#166534}
@media(max-width:640px){.vc-te-toolbar{align-items:stretch}.vc-te-toolbar .vc-repro-btn{width:100%}.vc-te-grid{grid-template-columns:1fr}}

.vc-te-flow{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.vc-te-flow span{font-size:.78rem;padding:.28rem .5rem;border-radius:999px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.24)}
