.clinica-progresso{position:fixed;z-index:10900;top:0;left:0;right:0;padding:7px 16px;background:#164e36;color:#fff;font:600 13px/1.4 system-ui;text-align:center;box-shadow:0 2px 10px #0002;pointer-events:none}
.clinica-progresso:after{content:"";display:block;height:3px;position:absolute;bottom:0;left:0;width:35%;background:#e6c376;animation:clinica-progresso 1.2s ease-in-out infinite}
.clinica-transicao{min-height:100vh;display:grid;place-items:center;background:#f4f7f4;color:#164e36;font-family:system-ui}.clinica-transicao h1{font-size:1.3rem}
.clinica-erro{position:fixed;z-index:10910;bottom:20px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px));border:1px solid #a86124;border-radius:14px;padding:20px;background:#fff9ed;color:#382510;box-shadow:0 12px 45px #0004;font:15px/1.5 system-ui}
.clinica-erro p{margin:0 0 12px}.clinica-erro button{padding:8px 12px;margin:4px 8px 0 0;border:1px solid #6c5734;border-radius:8px;background:#fff;color:#382510;cursor:pointer;font:inherit}.clinica-erro button:focus-visible{outline:3px solid #164e36;outline-offset:3px}
.clinica-confirmar{max-width:min(480px,calc(100% - 32px));padding:24px;border:1px solid #b7cdbd;border-radius:16px;background:#fff;color:#173b28;font:16px/1.5 system-ui;box-shadow:0 20px 70px #0005}.clinica-confirmar::backdrop{background:#071c13a6}.clinica-confirmar button{padding:10px 14px;border:1px solid #164e36;border-radius:9px;margin:4px;background:#fff;color:#164e36;font:inherit;cursor:pointer}.clinica-confirmar button:last-child{background:#164e36;color:#fff}.clinica-confirmar button:focus-visible{outline:3px solid #b88a30;outline-offset:3px}
@keyframes clinica-progresso{0%{left:0}50%{left:65%}100%{left:0}}
@media(prefers-reduced-motion:reduce){.clinica-progresso:after{animation:none;width:100%}}
@media print{.clinica-progresso,.clinica-erro{display:none!important}}

/* Em aparelhos modestos, conserva a marca e prioriza os controles da tela.
   A classe é definida pelo runtime antes da primeira pintura. Indicadores de
   carregamento permanecem animados; somente a decoração é simplificada. */
html.clinica-leve .bg-cubes,
html.clinica-leve .bg-grain,
html.clinica-leve .bg-spot,
html.clinica-leve .login-fx,
html.clinica-leve .login-trail,
html.clinica-leve .brand-glare,
html.clinica-leve .login-page::after,
html.clinica-leve .brand-mark::after,
html.clinica-leve .hero::after,
html.clinica-leve .svc-card::after,
html.clinica-leve .wa-float::after {
  display: none;
}
html.clinica-leve .bg-aurora,
html.clinica-leve .bg-aurora::before,
html.clinica-leve .bg-aurora::after,
html.clinica-leve .content,
html.clinica-leve .reveal,
html.clinica-leve .login-card,
html.clinica-leve .brand-center h1 .accent,
html.clinica-leve .hero-visual,
html.clinica-leve .hero-status.is-open .dot,
html.clinica-leve .kpi-trend,
html.clinica-leve .week-bar,
html.clinica-leve .rank-bar span,
html.clinica-leve .tl-row.em_atendimento .tl-dot,
html.clinica-leve .atl-row.em_atendimento .atl-dot,
html.clinica-leve .atl-in,
html.clinica-leve .atl-now-pin::before,
html.clinica-leve .pdv-fechar-ready,
html.clinica-leve .donut-seg,
html.clinica-leve .caixa-bar span,
html.clinica-leve .success-badge,
html.clinica-leve .svc-row,
html.clinica-leve .day-chip,
html.clinica-leve .slot-in {
  animation: none;
  transition: none;
  will-change: auto;
}
html.clinica-leve .reveal {
  opacity: 1;
  transform: none;
}
html.clinica-leve .bg-aurora,
html.clinica-leve .hero-visual {
  transform: none;
}
html.clinica-leve .vnav,
html.clinica-leve .hero-status,
html.clinica-leve .photo-count,
html.clinica-leve .st-fotos,
html.clinica-leve .st-stock,
html.clinica-leve .login-theme-toggle {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html.clinica-leve .sidebar {
  view-transition-name: none;
}
html.clinica-leve::view-transition-group(*),
html.clinica-leve::view-transition-old(*),
html.clinica-leve::view-transition-new(*) {
  animation: none;
}
