@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
  --clinical-font: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --clinical-page: #f8fafb;
  --clinical-sidebar: #f5f3fa;
  --clinical-surface: #ffffff;
  --clinical-border: #e3e5eb;
  --clinical-text: #20242a;
  --clinical-muted: #6f7581;
  --clinical-purple: #6847c6;
  --clinical-purple-soft: #f0ebff;
  --clinical-green: #2f8a78;
  --clinical-coral: #d8665f;
  --clinical-amber: #d99a3d;
}

html, body, body *, button, input, select, textarea {
  font-family: var(--clinical-font) !important;
  letter-spacing: 0 !important;
}

body {
  background: var(--clinical-page) !important;
  color: var(--clinical-text) !important;
}

.sidebar {
  width: 264px !important;
  background: var(--clinical-sidebar) !important;
  border-right: 1px solid var(--clinical-border) !important;
  box-shadow: none !important;
}

.sidebar .logo {
  min-height: 118px !important;
  padding: 26px 22px !important;
  border-bottom: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
}

.logo-mark { align-items: flex-start !important; gap: 12px !important; }
.logo-icon { width: 42px !important; height: 42px !important; flex: 0 0 42px !important; }
.logo-text { font-size: 19px !important; font-weight: 800 !important; line-height: 1.1 !important; }
.logo-sub {
  margin-top: 5px !important;
  color: var(--clinical-purple) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}

.nav { padding: 8px 12px 128px !important; }
.nav-section { margin-bottom: 14px !important; }
.nav-label {
  padding: 0 12px 7px !important;
  color: #9893a3 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
}
.nav-item {
  min-height: 50px !important;
  margin: 3px 0 !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  color: #625e69 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  gap: 12px !important;
}
.nav-item:hover { background: rgba(255,255,255,.66) !important; color: var(--clinical-text) !important; }
.nav-item.active {
  background: #ffffff !important;
  color: var(--clinical-purple) !important;
  box-shadow: 0 8px 22px rgba(52, 43, 79, .07) !important;
}
.nav-item.active::before { display: none !important; }
.nav-icon { width: 17px !important; height: 17px !important; }
.nav-badge { margin-left: auto !important; background: var(--clinical-purple) !important; color: #fff !important; }

.sidebar-user {
  background: var(--clinical-sidebar) !important;
  border-top: 1px solid var(--clinical-border) !important;
  padding: 16px !important;
}
.account-actions { gap: 5px !important; }
.account-btn { border-radius: 7px !important; background: rgba(255,255,255,.65) !important; }

.main {
  margin-left: 264px !important;
  background: var(--clinical-page) !important;
}

.topbar {
  min-height: 80px !important;
  height: auto !important;
  padding: 18px 42px !important;
  background: var(--clinical-page) !important;
  border-bottom: 0 !important;
}
.topbar-title { font-size: 19px !important; font-weight: 800 !important; }
.topbar-sub { color: var(--clinical-muted) !important; }
.topbar-actions { margin-left: auto !important; }

.content { padding: 20px 42px 56px !important; }
.dashboard-hero {
  min-height: 160px !important;
  margin: 0 0 20px !important;
  padding: 14px 0 28px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.dashboard-hero::before, .dashboard-hero::after { display: none !important; }
.hero-kicker {
  margin-bottom: 14px !important;
  color: var(--clinical-purple) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}
.hero-date { display: none !important; }
.hero-title {
  margin-bottom: 10px !important;
  color: var(--clinical-text) !important;
  font-size: 43px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
}
.hero-sub { max-width: 720px !important; color: #4e535d !important; font-size: 15px !important; line-height: 1.5 !important; }

.btn {
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.btn-primary { background: var(--clinical-purple) !important; border-color: var(--clinical-purple) !important; box-shadow: none !important; }
.btn-ghost { background: #fff !important; border: 1px solid var(--clinical-border) !important; }

.stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 34px !important;
}
.stat-card {
  min-height: 145px !important;
  padding: 22px 22px 18px !important;
  background: var(--clinical-surface) !important;
  border: 1px solid var(--clinical-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 28px rgba(31,36,48,.04) !important;
}
.stat-card::after { display: none !important; }
.stat-card:hover { transform: none !important; box-shadow: 0 12px 30px rgba(31,36,48,.07) !important; }
.stat-label { color: #545966 !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .08em !important; }
.stat-value { margin-top: 17px !important; font-size: 34px !important; font-weight: 700 !important; }
.stat-card.lilac .stat-value { color: var(--clinical-purple) !important; }
.stat-card.brown .stat-value { color: var(--clinical-coral) !important; }
.stat-card.teal .stat-value { color: var(--clinical-green) !important; }
.stat-card.amber .stat-value { color: #a66c16 !important; }
.stat-delta { color: var(--clinical-muted) !important; font-size: 11px !important; }
.stat-icon { top: 20px !important; right: 20px !important; opacity: .16 !important; }

.card, .inv-card, .evo-card, .settings-panel, .resultado-card, .person-card, .schema-panel {
  background: #fff !important;
  border: 1px solid var(--clinical-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 9px 26px rgba(31,36,48,.035) !important;
}
.card-header { min-height: 54px !important; padding: 0 18px !important; border-bottom-color: var(--clinical-border) !important; }
.card-title, .section-title { color: var(--clinical-text) !important; font-weight: 750 !important; }
.section-title { font-size: 23px !important; }
.section-sub { color: var(--clinical-muted) !important; }
.card-action { color: var(--clinical-purple) !important; font-weight: 700 !important; }
.filter-tab, .cat-btn, .chip, .pill { border-radius: 7px !important; }
.filter-tab.active, .cat-btn.active { background: var(--clinical-purple) !important; color: #fff !important; }

input, select, textarea {
  background: #fff !important;
  border: 1px solid #d8dbe3 !important;
  border-radius: 7px !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--clinical-purple) !important;
  box-shadow: 0 0 0 3px rgba(104,71,198,.11) !important;
}

#tab-alertas .hero-title { font-size: 36px !important; }
.tabs { background: #fff !important; border-bottom-color: var(--clinical-border) !important; }
.tab { font-weight: 600 !important; }
.tab.active { color: var(--clinical-purple) !important; }

@media (max-width: 1100px) {
  .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .content { padding-inline: 28px !important; }
  .topbar { padding-inline: 28px !important; }
}

@media (max-width: 760px) {
  .sidebar { width: min(86vw, 310px) !important; }
  .main { margin-left: 0 !important; }
  .topbar { padding: 16px !important; }
  .content { padding: 16px 14px 78px !important; }
  .dashboard-hero { min-height: 0 !important; padding: 8px 0 22px !important; }
  .hero-title { font-size: 31px !important; }
  .hero-sub { font-size: 14px !important; }
  .stats-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .stat-card { min-height: 132px !important; padding: 17px !important; }
  .stat-value { font-size: 29px !important; }
  #tab-alertas .hero-title { font-size: 28px !important; }
}

@media (max-width: 420px) {
  .stats-grid { grid-template-columns: 1fr !important; }
}

/* Assistente clínico: mesma linguagem do painel principal. */
.layout .rail {
  background: var(--clinical-sidebar) !important;
  border-right-color: var(--clinical-border) !important;
}
.layout .module { border-bottom-color: var(--clinical-border) !important; }
.layout .module h1 { color: var(--clinical-text) !important; font-weight: 800 !important; }
.layout .step-link { border-radius: 8px !important; color: #625e69 !important; }
.layout .step-link.active {
  background: #fff !important;
  color: var(--clinical-purple) !important;
  box-shadow: 0 8px 22px rgba(52,43,79,.07) !important;
}
.layout .step-link.done b { background: var(--clinical-green) !important; border-color: var(--clinical-green) !important; }
.layout .panel, .layout .patient-bar {
  border-color: var(--clinical-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 28px rgba(31,36,48,.04) !important;
}
.layout .stage, .layout .eyebrow { color: var(--clinical-purple) !important; }
.layout .progress div { background: var(--clinical-purple) !important; }
