:root {
  /* Marca */
  --primary:        #1A7A5E;
  --primary-mid:    #27AE7A;
  --primary-hover:  #155f49;
  --primary-light:  #D5F0E6;
  --gold:           #C49A2A;
  --gold-light:     #FDF3DC;
  --accent:         #7D4FA0;
  --accent-light:   #EDE5F8;

  /* Base */
  --bg:             #F7F3ED;
  --card:           #FFFFFF;
  --sidebar-bg:     linear-gradient(180deg, #1A7A5E 0%, #155f49 100%);
  --danger:         #B91C1C;
  --danger-light:   #FEE2E2;

  /* Tipografia */
  --text:           #1C2B2B;
  --text-mid:       #3A5050;
  --muted:          #7A9090;
  --label-color:    #C49A2A;

  /* Bordas e sombras */
  --line:           #E0EDE8;
  --shadow-sm:      0 2px 8px rgba(26,122,94,0.06);
  --shadow-md:      0 8px 28px rgba(26,122,94,0.10);
  --shadow-lg:      0 18px 48px rgba(26,122,94,0.14);
  --radius-sm:      12px;
  --radius-md:      18px;
  --radius-lg:      24px;
  --radius-xl:      30px;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: 'DM Sans', system-ui, sans-serif; background: var(--bg); color: var(--text); }
.hidden { display: none !important; }

.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, #d1fae5, transparent 35%), var(--bg); }
.auth-card { width: 100%; max-width: 430px; background: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.7); border-radius: 28px; box-shadow: var(--shadow-md); padding: 32px; }
.brand-mark { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: var(--primary-light); font-size: 27px; }
h1, h2, p { margin-top: 0; }
h1 { font-size: 30px; letter-spacing: -0.04em; }
h2 { font-size: 19px; letter-spacing: -0.02em; }
.muted { color: var(--muted); line-height: 1.55; }
.tiny { color: var(--muted); font-size: 12px; line-height: 1.4; margin-bottom: 0; }
label { display: block; font-size: 13px; font-weight: 600; margin: 14px 0 6px; }
.input { width: 100%; border: 1px solid var(--line); border-radius: 14px; padding: 13px 14px; font: inherit; outline: none; background: #fff; }
.input:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(15,118,110,.10); }
.textarea { min-height: 96px; resize: vertical; }
.tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: #eef2f7; padding: 5px; border-radius: 14px; margin: 24px 0; }
.tab { border: 0; border-radius: 11px; padding: 10px; cursor: pointer; color: var(--muted); font-weight: 700; }
.tab.active { background: white; color: var(--text); box-shadow: 0 3px 12px rgba(0,0,0,.06); }
.button { border: 0; border-radius: 14px; padding: 13px 18px; background: var(--primary); color: white; font-weight: 700; cursor: pointer; font: inherit; }
.button:hover { background: var(--primary-hover); }
.button.full { width: 100%; margin-top: 18px; }
.button.secondary { background: #134e4a; }
.button.whatsapp { background: #16a34a; }

.app { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 255px; background: var(--sidebar-bg); color: white; padding: 22px; display: flex; flex-direction: column; }
.sidebar-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.sidebar-brand small { display: block; color: #a7b0c0; }
.brand-icon { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.1); }
#navItems { display: grid; gap: 8px; }
.nav-button, .sidebar-logout { width: 100%; border: 0; border-radius: 13px; padding: 12px 14px; color: #e5e7eb; background: transparent; text-align: left; cursor: pointer; font-weight: 600; }
.nav-button:hover, .nav-button.active { background: rgba(255,255,255,.10); }
.sidebar-logout { margin-top: auto; color: #fecaca; }
.main { margin-left: 255px; padding: 32px; width: calc(100% - 255px); }
.header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.eyebrow { color: var(--primary); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }
.badge { display: inline-flex; align-items: center; border-radius: 999px; background: var(--primary-light); color: var(--primary); padding: 8px 12px; font-size: 13px; font-weight: 800; }
.grid { display: grid; gap: 18px; margin-bottom: 18px; }
.grid.two { grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); }
.grid.three { grid-template-columns: repeat(3, 1fr); }
.card { background: var(--card); border: 1px solid rgba(229,231,235,.75); border-radius: 24px; padding: 22px; box-shadow: var(--shadow-md); }
.soft-card { background: linear-gradient(145deg, #ffffff, #f0fdfa); }
.card-header-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.invite-box { margin-top: 22px; border: 1px dashed #99f6e4; border-radius: 18px; padding: 16px; background: rgba(236,253,245,.75); }
.chart-wrap { height: 290px; max-height: 290px; }
.chart-wrap canvas { width: 100% !important; height: 100% !important; }
.list { display: grid; gap: 12px; }
.list-item { border: 1px solid var(--line); border-radius: 18px; padding: 16px; background: #fff; }
.list-item strong { display: block; margin-bottom: 5px; }
.list-item.alert { border-color: #fecaca; background: #fff7f7; }
.metric span { display: block; color: var(--muted); font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.metric strong { font-size: 26px; letter-spacing: -0.03em; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 99; background: #111827; color: white; border-radius: 16px; padding: 13px 16px; box-shadow: var(--shadow-md); opacity: 0; pointer-events: none; transform: translateY(10px); transition: .25s ease; max-width: 360px; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 860px) {
  .app { display: block; }
  .sidebar { position: static; width: 100%; height: auto; }
  .main { margin-left: 0; width: 100%; padding: 18px; }
  .grid.two, .grid.three { grid-template-columns: 1fr; }
  .header { align-items: flex-start; flex-direction: column; gap: 12px; }
}

/* Escolha clara de perfil na criação de conta */
.role-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 8px;
}
.role-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 16px;
  padding: 14px;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: var(--text);
  transition: .2s ease;
}
.role-card span {
  display: block;
  font-weight: 800;
  margin-bottom: 4px;
}
.role-card small {
  display: block;
  color: var(--muted);
  line-height: 1.3;
}
.role-card.active {
  border-color: var(--primary);
  background: var(--primary-light);
  box-shadow: 0 0 0 4px rgba(15,118,110,.10);
}
.repair-box {
  margin-top: 20px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
@media (max-width: 520px) {
  .role-grid { grid-template-columns: 1fr; }
}

/* Registro emocional guiado */
.chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 12px;
}
.emotion-chip,
.scale-grid button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 9px 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: .2s ease;
}
.emotion-chip:hover,
.scale-grid button:hover {
  border-color: var(--primary);
  background: var(--primary-light);
}
.emotion-chip.active,
.scale-grid button.active {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}
.scale-grid {
  display: grid;
  grid-template-columns: repeat(11, minmax(34px, 1fr));
  gap: 6px;
  margin: 8px 0 10px;
}
.scale-grid button {
  padding: 9px 0;
  border-radius: 12px;
}
.compact-input {
  max-width: 160px;
}
.guidance-box {
  border: 1px solid #99f6e4;
  background: rgba(236,253,245,.75);
  border-radius: 18px;
  padding: 15px 16px;
  margin: 14px 0 16px;
}
.guidance-box ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.5;
}
.small-textarea {
  min-height: 72px;
}
.category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 16px;
  padding: 6px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
}
.category-chip {
  border: 1px solid transparent;
  background: transparent;
  color: #475569;
  border-radius: 999px;
  padding: 10px 15px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.category-chip:hover {
  transform: translateY(-1px);
  background: #ffffff;
  border-color: #cbd5e1;
  color: #0f766e;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}
.category-chip.active {
  background: linear-gradient(135deg, #0f766e, #10b981);
  border-color: #10b981;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(16, 185, 129, 0.22);
}
.hint-text {
  margin-top: -4px;
  margin-bottom: 8px;
}
@media (max-width: 620px) {
  .scale-grid { grid-template-columns: repeat(6, 1fr); }
}

/* Botões de corpo com aparência de app */
.body-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 16px;
}
.body-grid .body-chip {
  border: 1px solid #dbe4ea;
  background: #ffffff;
  color: #344054;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.body-grid .body-chip:hover {
  transform: translateY(-1px);
  background: #ecfdf5;
  border-color: #10b981;
  color: #047857;
  box-shadow: 0 8px 18px rgba(16, 185, 129, 0.12);
}
.body-grid .body-chip.active {
  background: #10b981;
  border-color: #10b981;
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.22);
}

/* Relatório automático do terapeuta */
.report-box {
  margin: 14px 0 18px;
}
.report-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.report-card {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 14px;
}
.report-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
}
.report-card strong {
  font-size: 22px;
  color: var(--text);
}
.clinical-summary {
  border: 1px solid #ccfbf1;
  background: #f0fdfa;
  border-radius: 18px;
  padding: 14px 16px;
}
.clinical-summary p {
  margin: 7px 0;
  color: #334155;
}
.section-subtitle {
  font-size: 14px;
  margin: 18px 0 10px;
  color: var(--text);
}

@media (max-width: 720px) {
  .report-grid { grid-template-columns: 1fr; }
}


/* =====================================================
   AJUSTE PREMIUM - categorias, emoções, corpo e responsivo
   ===================================================== */
.category-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  margin: 12px 0 18px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.category-chip {
  position: relative;
  min-height: 54px;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  color: #334155;
  border-radius: 18px;
  padding: 13px 16px;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: -0.01em;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.055);
  overflow: hidden;
}
.category-chip::before {
  content: "";
  position: absolute;
  inset: auto 14px 10px 14px;
  height: 3px;
  border-radius: 999px;
  background: transparent;
  transition: .18s ease;
}
.category-chip:hover {
  transform: translateY(-1px);
  background: #ffffff;
  border-color: #99f6e4;
  color: #0f766e;
  box-shadow: 0 12px 28px rgba(15, 118, 110, 0.10);
}
.category-chip.active {
  background: linear-gradient(135deg, #0f766e, #10b981);
  border-color: #10b981;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(16, 185, 129, 0.22);
}
.category-chip.active::before { background: rgba(255,255,255,.85); }

.chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 10px 0 14px;
}
.emotion-chip.emotion-card {
  min-height: 54px;
  justify-content: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 16px;
  padding: 12px 13px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  color: #1f2937;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045);
  text-align: left;
}
.emotion-chip.emotion-card .emotion-icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #ecfdf5;
  color: #0f766e;
  font-weight: 900;
  font-size: 15px;
}
.emotion-chip.emotion-card:hover {
  transform: translateY(-1px);
  border-color: #99f6e4;
  background: #f8fffc;
  box-shadow: 0 12px 26px rgba(15, 118, 110, 0.10);
}
.emotion-chip.emotion-card.active {
  border-color: #10b981;
  background: linear-gradient(145deg, #ecfdf5, #ffffff);
  color: #064e3b;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12), 0 12px 26px rgba(15, 118, 110, 0.10);
}
.emotion-chip.emotion-card.active .emotion-icon {
  background: linear-gradient(135deg, #0f766e, #10b981);
  color: #ffffff;
}

.body-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin: 10px 0 16px;
}
.body-grid .body-chip {
  min-height: 46px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  color: #344054;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}
.body-grid .body-chip:hover {
  transform: translateY(-1px);
  background: #f8fffc;
  border-color: #99f6e4;
  color: #0f766e;
  box-shadow: 0 12px 26px rgba(15, 118, 110, 0.10);
}
.body-grid .body-chip.active {
  background: linear-gradient(135deg, #0f766e, #10b981);
  border-color: #10b981;
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(16, 185, 129, 0.20);
}

.scale-grid button.active {
  background: linear-gradient(135deg, #0f766e, #10b981);
  border-color: #10b981;
  box-shadow: 0 10px 22px rgba(16, 185, 129, 0.18);
}

@media (max-width: 1180px) {
  .category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .category-tabs, .chip-grid, .body-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   IDENTIDADE PREMIUM VERDE - atualização final
   ===================================================== */
body {
  background:
    radial-gradient(circle at top left, rgba(205, 244, 219, 0.55), transparent 34%),
    linear-gradient(180deg, #f7fbf8 0%, #f2f8f4 100%);
}
.auth-shell {
  background:
    radial-gradient(circle at top left, rgba(187, 238, 205, 0.70), transparent 36%),
    linear-gradient(180deg, #f7fbf8 0%, #eef7f1 100%);
}
.sidebar { background: linear-gradient(180deg, #174437 0%, #1f5b45 100%); }
.brand-icon, .brand-mark { background: #e7f7ed; color: #257653; }
.button { background: linear-gradient(135deg, #2f8f67, #53b884); box-shadow: 0 10px 22px rgba(47, 143, 103, 0.18); }
.button:hover { background: linear-gradient(135deg, #257653, #3fa574); }
.card { border-color: rgba(206, 226, 215, 0.9); box-shadow: 0 14px 34px rgba(31, 91, 69, 0.075); }
.input:focus { border-color: #53b884; box-shadow: 0 0 0 4px rgba(83,184,132,.14); }
.badge, .clinical-summary, .guidance-box { background: #edf8f1; border-color: #c9ead6; color: #257653; }
.category-tabs { grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; }
.category-chip {
  min-height: 72px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  border: 1px solid #dfe9e3;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
  color: #24463a;
  border-radius: 20px;
  padding: 14px 16px;
  box-shadow: 0 10px 24px rgba(31, 91, 69, 0.055);
}
.category-chip::after { content: attr(data-label); display: block; font-size: 11px; font-weight: 650; color: #6b7f76; line-height: 1.25; }
.category-chip:hover { background: #fbfffc; border-color: #bfe6ce; color: #257653; box-shadow: 0 14px 28px rgba(47, 143, 103, 0.11); }
.category-chip.active { background: linear-gradient(145deg, #edf8f1 0%, #ffffff 100%); border-color: #53b884; color: #257653; box-shadow: 0 0 0 3px rgba(83,184,132,.12), 0 16px 32px rgba(47, 143, 103, 0.13); }
.category-chip.active::before { background: #53b884; }
.category-chip.active::after { color: #4f6f61; }
.chip-grid { grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 12px; }
.emotion-chip.emotion-card { min-height: 70px; border-radius: 20px; background: #ffffff; border-color: #dfe9e3; color: #1b342b; box-shadow: 0 10px 24px rgba(31, 91, 69, 0.055); }
.emotion-chip.emotion-card .emotion-icon { width: 34px; height: 34px; flex-basis: 34px; border-radius: 14px; background: #edf8f1; color: #2f8f67; font-size: 13px; letter-spacing: -0.02em; border: 1px solid #d4eddd; }
.emotion-chip.emotion-card:hover { background: #fbfffc; border-color: #bfe6ce; box-shadow: 0 14px 28px rgba(47, 143, 103, 0.10); }
.emotion-chip.emotion-card.active { background: linear-gradient(145deg, #edf8f1, #ffffff); border-color: #53b884; color: #174437; box-shadow: 0 0 0 3px rgba(83,184,132,.13), 0 14px 28px rgba(47, 143, 103, 0.11); }
.emotion-chip.emotion-card.active .emotion-icon { background: #2f8f67; border-color: #2f8f67; color: #ffffff; }
.scale-grid button { background: #ffffff; border-color: #dfe9e3; color: #24463a; }
.scale-grid button:hover { background: #edf8f1; border-color: #bfe6ce; color: #257653; }
.scale-grid button.active { background: #2f8f67; border-color: #2f8f67; color: #ffffff; box-shadow: 0 10px 22px rgba(47, 143, 103, 0.20); }
.body-grid .body-chip { border-color: #dfe9e3; color: #24463a; background: #ffffff; border-radius: 18px; }
.body-grid .body-chip:hover { background: #edf8f1; border-color: #bfe6ce; color: #257653; }
.body-grid .body-chip.active { background: linear-gradient(145deg, #edf8f1, #ffffff); border-color: #53b884; color: #257653; box-shadow: 0 0 0 3px rgba(83,184,132,.12), 0 12px 24px rgba(47, 143, 103, 0.10); }
@media (max-width: 1180px) { .category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .category-tabs, .chip-grid, .body-grid { grid-template-columns: 1fr; } }

/* Ajuste final: emoções com ícones limpos, seleção múltipla e verde saúde mental */
.emotion-chip.emotion-card {
  position: relative;
  justify-content: flex-start;
  gap: 12px;
  min-height: 64px;
  padding: 14px 44px 14px 14px;
  border: 1.5px solid #dcebe3;
  border-radius: 18px;
  background: linear-gradient(145deg, #ffffff 0%, #fbfffc 100%);
  color: var(--text);
  box-shadow: 0 8px 22px rgba(31, 91, 69, 0.055);
}

.emotion-chip.emotion-card .emotion-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 14px;
  background: var(--primary-light);
  border: 1px solid var(--line);
  color: var(--primary-hover);
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
}

.emotion-chip.emotion-card .emotion-name {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.emotion-chip.emotion-card .emotion-check {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%) scale(.8);
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: transparent;
  border: 1px solid #dcebe3;
  font-size: 13px;
  font-weight: 900;
  transition: all .18s ease;
}

.emotion-chip.emotion-card:hover {
  background: var(--primary-light);
  border-color: var(--primary-mid);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(47, 143, 103, 0.11);
}

.emotion-chip.emotion-card.active {
  background: linear-gradient(145deg, var(--primary-light), #ffffff);
  border-color: var(--primary);
  color: #123f31;
  box-shadow: 0 0 0 3px rgba(63, 163, 111, .16), 0 14px 30px rgba(47, 143, 103, 0.14);
}

.emotion-chip.emotion-card.active .emotion-icon {
  background: var(--primary);
  border-color: var(--primary);
  color: #ffffff;
}

.emotion-chip.emotion-card.active .emotion-check {
  transform: translateY(-50%) scale(1);
  background: var(--primary);
  border-color: var(--primary);
  color: #ffffff;
}

.category-chip.active,
.body-grid .body-chip.active,
.scale-grid button.active {
  background: linear-gradient(145deg, var(--primary-light), #ffffff) !important;
  border-color: var(--primary) !important;
  color: var(--primary-hover) !important;
  box-shadow: 0 0 0 3px rgba(63, 163, 111, .14), 0 12px 24px rgba(47,143,103,.12) !important;
}

.button,
.primary-button {
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
}

/* Refinamento premium final: ícones SVG, seleção clara e espaçamento do salvar */
.save-record-button { margin-top: 22px !important; align-self: flex-start; }
.emotion-chip.emotion-card .emotion-icon svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.emotion-chip.emotion-card.active { background: linear-gradient(145deg, #dff4e8 0%, #ffffff 100%) !important; border-color: #2f8f67 !important; box-shadow: 0 0 0 3px rgba(47, 143, 103, .18), 0 14px 30px rgba(47, 143, 103, 0.16) !important; }
.emotion-chip.emotion-card.active .emotion-name { color: #174437; }
.intervention-box { margin-top: 14px; margin-bottom: 16px; padding: 16px; border-radius: 18px; border: 1px solid #c7ead8; background: linear-gradient(145deg, #f2fbf6 0%, #ffffff 100%); color: #18362d; box-shadow: 0 10px 22px rgba(31, 91, 69, 0.055); }
.intervention-box strong { display: block; margin-bottom: 6px; color: #257653; }
.intervention-box ul { margin: 8px 0 0 18px; padding: 0; }
.intervention-box li { margin: 5px 0; color: #24463a; }
.intervention-box .intervention-note { font-size: 12px; color: #60746c; margin-top: 10px; }


/* === Refinamento lúdico: mapa corporal + identidade verde premium === */
.body-selector-panel{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;align-items:stretch;margin:14px 0 16px}.body-figure-card,.body-helper-card{border:1px solid #cfe9db;background:linear-gradient(145deg,#f7fcf9 0%,#fff 100%);border-radius:24px;box-shadow:0 14px 32px rgba(47,143,103,.08)}.body-figure-card{padding:16px;display:flex;justify-content:center;min-height:420px}.body-helper-card{padding:18px;color:#25483c}.body-helper-card strong{color:#1f6f4f;font-size:16px}.body-helper-card p{color:#60746c;line-height:1.55;margin:8px 0 14px}.selected-body-list{min-height:46px;border-radius:16px;background:#edf8f1;border:1px dashed #a9dcbc;color:#2f6f53;font-size:13px;font-weight:650;padding:12px}.body-map{width:100%;max-width:260px;height:auto;overflow:visible}.body-outline{fill:url(#bodyFill);stroke:#9bd2b0;stroke-width:2.2;filter:drop-shadow(0 10px 18px rgba(47,143,103,.12))}.body-zone{cursor:pointer;color:#2f8f67}.body-zone>circle,.body-zone>ellipse,.body-zone>rect,.body-zone>path{fill:rgba(47,143,103,.05);stroke:rgba(47,143,103,.25);stroke-width:1.4;transition:all .18s ease}.body-zone:hover>circle,.body-zone:hover>ellipse,.body-zone:hover>rect,.body-zone:hover>path{fill:rgba(47,143,103,.16);stroke:#2f8f67}.body-zone.active>circle,.body-zone.active>ellipse,.body-zone.active>rect,.body-zone.active>path{fill:rgba(47,143,103,.30);stroke:#1f7a55;stroke-width:2.2}.body-zone text{font-size:10px;font-weight:700;text-anchor:middle;fill:#1f6f4f;pointer-events:none;opacity:.8}.body-grid{gap:10px!important;margin-top:12px!important}.body-grid .body-chip{display:inline-flex!important;align-items:center;gap:8px;padding:10px 13px!important;border-radius:999px!important;background:#fff!important;border:1px solid #cfe9db!important;color:#25483c!important;box-shadow:0 8px 18px rgba(47,143,103,.06);transition:all .18s ease}.body-grid .body-chip:hover{transform:translateY(-1px);background:#f0fbf5!important;border-color:#85cfa4!important}.body-grid .body-chip.active{background:linear-gradient(145deg,#dff4e8 0%,#fff 100%)!important;border-color:#2f8f67!important;color:#174437!important;box-shadow:0 0 0 3px rgba(47,143,103,.14),0 14px 28px rgba(47,143,103,.12)!important}.body-chip-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#edf8f1;color:#2f8f67;font-weight:800;flex:0 0 auto}.body-chip.active .body-chip-icon{background:#2f8f67;color:white}.emotion-chip.emotion-card{display:flex!important;align-items:center;gap:12px;justify-content:flex-start;min-height:58px;border-radius:18px!important;background:#fff!important;border:1px solid #d7ebe0!important;box-shadow:0 10px 24px rgba(47,143,103,.07)}.emotion-chip.emotion-card .emotion-icon{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#edf8f1;color:#2f8f67;flex:0 0 auto}.emotion-chip.emotion-card .emotion-icon svg{width:25px!important;height:25px!important;stroke-width:1.8!important}.emotion-chip.emotion-card:hover{background:#f5fbf8!important;border-color:#9bd2b0!important;transform:translateY(-1px)}.emotion-chip.emotion-card.active{background:linear-gradient(145deg,#dff4e8 0%,#fff 100%)!important;border-color:#2f8f67!important}.emotion-chip.emotion-card.active .emotion-icon{background:#2f8f67;color:white}.emotion-chip.emotion-card .emotion-check{margin-left:auto;width:24px;height:24px;border-radius:999px;background:#2f8f67;color:white;display:none;align-items:center;justify-content:center;font-size:13px;font-weight:800}.emotion-chip.emotion-card.active .emotion-check{display:inline-flex}@media(max-width:760px){.body-selector-panel{grid-template-columns:1fr}.body-figure-card{min-height:auto}.body-map{max-width:230px}}

/* === AJUSTE PREMIUM DO MAPA CORPORAL — VERSÃO MAIS LIMPA === */
.premium-body-selector {
  grid-template-columns: minmax(260px, 360px) 1fr !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.premium-body-card {
  position: relative;
  min-height: 520px !important;
  padding: 20px 18px 16px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 32%, rgba(47, 143, 103, 0.10), transparent 34%),
    linear-gradient(145deg, #f8fcfa 0%, #ffffff 100%) !important;
  border: 1px solid #cfe9db !important;
  box-shadow: 0 18px 42px rgba(47, 143, 103, 0.10) !important;
}

.body-card-title {
  text-align: center;
  color: #1f6f4f;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 2px;
}

.body-card-subtitle {
  text-align: center;
  color: #6b7f77;
  font-size: 12px;
  margin: 0 0 6px;
}

.premium-body-map {
  display: block;
  width: 100%;
  max-width: 300px !important;
  margin: 0 auto;
  overflow: visible;
}

.body-silhouette circle,
.body-silhouette path {
  fill: url(#premiumBodyFill);
  stroke: #94d0ad;
  stroke-width: 2.2;
}

.premium-body-map .body-outline,
.premium-body-map .body-zone text {
  display: none !important;
}

.premium-body-map .body-zone {
  cursor: pointer;
  color: #2f8f67;
}

.premium-body-map .body-zone > circle,
.premium-body-map .body-zone > ellipse,
.premium-body-map .body-zone > rect,
.premium-body-map .body-zone > path {
  fill: rgba(47, 143, 103, 0.06) !important;
  stroke: rgba(47, 143, 103, 0.20) !important;
  stroke-width: 1.5 !important;
  transition: fill .18s ease, stroke .18s ease, stroke-width .18s ease, filter .18s ease;
}

.premium-body-map .body-zone:hover > circle,
.premium-body-map .body-zone:hover > ellipse,
.premium-body-map .body-zone:hover > rect,
.premium-body-map .body-zone:hover > path {
  fill: rgba(47, 143, 103, 0.16) !important;
  stroke: #2f8f67 !important;
  stroke-width: 2 !important;
  filter: drop-shadow(0 8px 12px rgba(47, 143, 103, 0.16));
}

.premium-body-map .body-zone.active > circle,
.premium-body-map .body-zone.active > ellipse,
.premium-body-map .body-zone.active > rect,
.premium-body-map .body-zone.active > path {
  fill: rgba(47, 143, 103, 0.36) !important;
  stroke: #1f7a55 !important;
  stroke-width: 2.7 !important;
  filter: drop-shadow(0 10px 16px rgba(47, 143, 103, 0.22));
}

/* As costas ficam como camada discreta para não poluir o desenho frontal */
.premium-body-map .body-zone-back > path {
  fill: rgba(47, 143, 103, 0.025) !important;
  stroke: rgba(47, 143, 103, 0.12) !important;
  stroke-dasharray: 5 5;
}

.premium-body-map .body-zone-back:hover > path,
.premium-body-map .body-zone-back.active > path {
  fill: rgba(47, 143, 103, 0.22) !important;
  stroke: #1f7a55 !important;
  stroke-dasharray: none;
}

.body-mini-legend {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 2px;
  color: #6b7f77;
  font-size: 11px;
  font-weight: 650;
}

.body-mini-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.body-mini-legend i {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
  background: rgba(47, 143, 103, 0.10);
  border: 1px solid rgba(47, 143, 103, 0.30);
}

.body-mini-legend .selected-dot {
  background: rgba(47, 143, 103, 0.36);
  border-color: #1f7a55;
}

.premium-body-helper {
  background:
    linear-gradient(145deg, #ffffff 0%, #f7fcf9 100%) !important;
  border: 1px solid #cfe9db !important;
}

.body-instruction-box {
  border-radius: 18px;
  background: #edf8f1;
  border: 1px solid #cfe9db;
  color: #25483c;
  padding: 14px;
  line-height: 1.5;
  margin: 12px 0 14px;
}

.body-instruction-box span {
  display: block;
  color: #1f6f4f;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.selected-body-list {
  background: #f7fcf9 !important;
  border: 1px dashed #9bd2b0 !important;
  color: #1f6f4f !important;
}

.botao-salvar,
#salvarRegistro,
button[onclick="salvarRegistro()"] {
  margin-top: 18px !important;
}

@media (max-width: 760px) {
  .premium-body-selector {
    grid-template-columns: 1fr !important;
  }

  .premium-body-card {
    min-height: auto !important;
  }

  .premium-body-map {
    max-width: 250px !important;
  }
}

/* ===============================
   MAPA CORPORAL PREMIUM ABSURDO
   =============================== */
.body-map-absurdo{grid-template-columns:minmax(280px,430px) 1fr!important;gap:18px!important;align-items:stretch!important;margin:16px 0 18px!important}.body-map-card{position:relative;overflow:hidden;min-height:560px!important;padding:18px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;background:radial-gradient(circle at 50% 15%,rgba(187,247,208,.35),transparent 34%),linear-gradient(145deg,#fff 0%,#f4fbf7 100%)!important}.body-map-card:before{content:"";position:absolute;inset:16px;border-radius:26px;border:1px solid rgba(47,143,103,.10);pointer-events:none}.body-map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:2}.body-map-header strong{display:block;color:#14533d;font-size:16px;font-weight:800}.body-map-header span{display:block;color:#6b8178;font-size:12px;margin-top:2px}.mini-clear-btn{border:1px solid #cfe9db;background:#fff;color:#1f6f4f;border-radius:999px;padding:8px 12px;font-weight:750;font-size:12px;cursor:pointer;box-shadow:0 8px 20px rgba(47,143,103,.07)}.mini-clear-btn:hover{background:#edf8f1;border-color:#8fd0ab}.clean-human-map{width:min(100%,300px)!important;max-width:300px!important;margin:10px auto 0!important;display:block;overflow:visible!important}.clean-human-map .human-outline path{fill:none!important;stroke:#0f513c!important;stroke-width:2.3!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.86!important;filter:drop-shadow(0 8px 16px rgba(47,143,103,.09))}.clean-human-map .body-hotspot>circle{fill:rgba(47,143,103,.16)!important;stroke:rgba(47,143,103,.38)!important;stroke-width:2!important;filter:drop-shadow(0 8px 12px rgba(47,143,103,.16));transform-box:fill-box;transform-origin:center;transition:transform .18s ease,fill .18s ease,stroke .18s ease,filter .18s ease}.clean-human-map .body-hotspot:hover>circle{fill:rgba(47,143,103,.32)!important;stroke:#2f8f67!important;transform:scale(1.12);filter:drop-shadow(0 0 16px rgba(47,143,103,.32))}.clean-human-map .body-hotspot.active>circle{fill:#2f8f67!important;stroke:#fff!important;stroke-width:3!important;transform:scale(1.18);filter:drop-shadow(0 0 22px rgba(47,143,103,.55))}.clean-human-map .heart-spot>path{fill:#2f8f67!important;stroke:none!important;opacity:.78;pointer-events:none}.clean-human-map .heart-spot.active>path{fill:#fff!important;opacity:1}.clean-human-map.intensity-low .body-hotspot.active>circle{filter:drop-shadow(0 0 12px rgba(47,143,103,.32))}.clean-human-map.intensity-mid .body-hotspot.active>circle{filter:drop-shadow(0 0 22px rgba(47,143,103,.55))}.clean-human-map.intensity-high .body-hotspot.active>circle{filter:drop-shadow(0 0 32px rgba(16,185,129,.78))}.body-map-tip{margin-top:12px;border:1px solid rgba(47,143,103,.14);background:rgba(237,248,241,.76);border-radius:18px;padding:12px 14px;position:relative;z-index:2}.body-map-tip strong{display:block;color:#14533d;font-size:13px;margin-bottom:4px}.body-map-tip span{color:#5f746b;font-size:12px;line-height:1.45}.clean-body-helper{min-height:560px!important;background:linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(245,251,248,.96) 100%)!important}.helper-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.helper-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#e0f4e8;color:#1f6f4f;font-weight:900}.selected-body-pills{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:88px!important}.selected-body-pills .selected-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#e0f4e8;color:#14533d;font-weight:800;font-size:12px;border:1px solid rgba(47,143,103,.15)}.selected-body-pills .selected-pill button{border:0;background:transparent;color:#14533d;cursor:pointer;font-weight:900;font-size:14px;padding:0;line-height:1}.body-grid .body-chip{min-height:48px!important;border-radius:18px!important}@media(max-width:900px){.body-map-absurdo{grid-template-columns:1fr!important}.body-map-card,.clean-body-helper{min-height:auto!important}.clean-human-map{max-width:260px!important}}

/* === AJUSTE FINAL: mapa corporal premium limpo === */
.body-map-absurdo{grid-template-columns:minmax(320px,430px) 1fr!important;align-items:stretch!important}.body-map-card{overflow:hidden!important;min-height:540px!important;background:radial-gradient(circle at 50% 18%,rgba(187,247,208,.36),transparent 38%),linear-gradient(145deg,#fff 0%,#f6fbf8 100%)!important}.final-human-map{width:min(100%,260px)!important;max-width:260px!important;height:390px!important;margin:8px auto 0!important;display:block!important;overflow:visible!important}.final-human-map .human-outline{display:none!important}.final-human-outline circle,.final-human-outline path{fill:none!important;stroke:#1f6f4f!important;stroke-width:2.2!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.88!important;filter:none!important}.final-human-map .final-point>circle{fill:#dff4e7!important;stroke:#6fbd91!important;stroke-width:2.2!important;cursor:pointer!important;transition:transform .18s ease,fill .18s ease,stroke .18s ease,filter .18s ease;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 6px 10px rgba(47,143,103,.13))}.final-human-map .final-point:hover>circle{fill:#bfe8cf!important;stroke:#2f8f67!important;transform:scale(1.14)}.final-human-map .final-point.active>circle{fill:#2f8f67!important;stroke:#fff!important;stroke-width:3!important;transform:scale(1.18);filter:drop-shadow(0 0 16px rgba(47,143,103,.48))}.final-human-map.intensity-high .final-point.active>circle{filter:drop-shadow(0 0 24px rgba(16,185,129,.70))}.final-human-map .heart-spot>path{fill:#2f8f67!important;stroke:none!important;opacity:.8!important;pointer-events:none!important}.final-human-map .heart-spot.active>path{fill:#fff!important;opacity:1!important}.body-map-tip{margin-top:10px!important}@media(max-width:900px){.final-human-map{height:350px!important;max-width:235px!important}}

/* === MAPA CORPORAL ELEGANTE — AJUSTE FINAL REAL === */
.body-map-absurdo {
  grid-template-columns: minmax(340px, 430px) 1fr !important;
  gap: 18px !important;
}

.body-map-card {
  min-height: 590px !important;
  padding: 18px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 20%, rgba(209, 250, 229, .55), transparent 38%),
    linear-gradient(145deg, #ffffff 0%, #f5fbf8 100%) !important;
}

.elegant-body-map {
  width: min(100%, 310px) !important;
  max-width: 310px !important;
  height: 430px !important;
  margin: 4px auto 0 !important;
  display: block !important;
  overflow: visible !important;
}

.elegant-body-map .final-human-outline,
.elegant-body-map .human-outline,
.elegant-body-map .body-outline,
.elegant-body-map .body-zone > circle:not(.hit-area):not(.marker),
.elegant-body-map .body-zone > ellipse,
.elegant-body-map .body-zone > rect {
  display: none !important;
}

.elegant-body-map .body-silhouette circle,
.elegant-body-map .body-silhouette path {
  fill: url(#bodySoftFill) !important;
  stroke: #1f6f4f !important;
  stroke-width: 2.05 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: .92 !important;
  filter: drop-shadow(0 12px 18px rgba(47, 143, 103, .10));
}

.elegant-body-map .body-silhouette path {
  fill: none !important;
}

.elegant-body-map .hit-area {
  fill: transparent !important;
  stroke: transparent !important;
  cursor: pointer !important;
}

.elegant-body-map .marker {
  fill: #e6f7ed !important;
  stroke: #55aa7b !important;
  stroke-width: 2.2 !important;
  cursor: pointer !important;
  filter: drop-shadow(0 4px 8px rgba(47, 143, 103, .13));
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .18s ease, fill .18s ease, stroke .18s ease, filter .18s ease;
}

.elegant-body-map .marker.small {
  opacity: .92;
}

.elegant-body-map .marker-heart {
  fill: rgba(47, 143, 103, .16) !important;
  stroke: #55aa7b !important;
}

.elegant-body-map .heart-icon {
  fill: #2f8f67 !important;
  stroke: none !important;
  opacity: .72 !important;
  pointer-events: none !important;
  transition: fill .18s ease, opacity .18s ease;
}

.elegant-body-map .elegant-point:hover .marker {
  fill: #c9f0d9 !important;
  stroke: #2f8f67 !important;
  transform: scale(1.16);
  filter: drop-shadow(0 0 14px rgba(47, 143, 103, .34));
}

.elegant-body-map .elegant-point.active .marker {
  fill: #2f8f67 !important;
  stroke: #ffffff !important;
  stroke-width: 3 !important;
  transform: scale(1.2);
  filter: drop-shadow(0 0 18px rgba(47, 143, 103, .58));
}

.elegant-body-map .elegant-point.active .heart-icon {
  fill: #ffffff !important;
  opacity: 1 !important;
}

.elegant-body-map.intensity-low .elegant-point.active .marker {
  filter: drop-shadow(0 0 12px rgba(47, 143, 103, .35));
}

.elegant-body-map.intensity-mid .elegant-point.active .marker {
  filter: drop-shadow(0 0 20px rgba(47, 143, 103, .56));
}

.elegant-body-map.intensity-high .elegant-point.active .marker {
  filter: drop-shadow(0 0 30px rgba(16, 185, 129, .78));
}

.body-map-tip {
  margin-top: 14px !important;
  border-radius: 18px !important;
  background: rgba(237, 248, 241, .88) !important;
  border: 1px solid rgba(47, 143, 103, .14) !important;
}

.clean-body-helper {
  min-height: 590px !important;
}

@media (max-width: 900px) {
  .body-map-absurdo {
    grid-template-columns: 1fr !important;
  }
  .body-map-card,
  .clean-body-helper {
    min-height: auto !important;
  }
  .elegant-body-map {
    max-width: 275px !important;
    height: 395px !important;
  }
}

/* ===== MAPA CORPORAL CLÍNICO AVANÇADO - FINAL ===== */
.body-map-card{min-height:560px!important;}
.clinical-map-tabs{display:flex;gap:8px;justify-content:center;margin:12px 0 6px;position:relative;z-index:4}
.clinical-map-tab{border:1px solid #cfe9db;background:#ffffff;color:#1f6f4f;border-radius:999px;padding:8px 18px;font-weight:800;font-size:13px;cursor:pointer;box-shadow:0 8px 18px rgba(47,143,103,.06);transition:all .18s ease}
.clinical-map-tab:hover{background:#edf8f1;border-color:#8fd0ab;transform:translateY(-1px)}
.clinical-map-tab.active{background:#2f8f67;color:#fff;border-color:#2f8f67;box-shadow:0 12px 26px rgba(47,143,103,.18)}
.clinical-body-stage{min-height:385px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;padding:4px 0 0}
.clinical-map-view{display:none!important;width:min(100%,260px)!important;max-width:260px!important;height:385px!important;margin:0 auto!important;overflow:visible!important}
.clinical-map-view.active{display:block!important}
.clinical-human-map .clinical-outline path{fill:url(#clinicalBodyFill);stroke:#1f6f4f!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.72!important;filter:drop-shadow(0 10px 18px rgba(47,143,103,.08))}
.clinical-human-map .clinical-zone{cursor:pointer;outline:none}
.clinical-human-map .clinical-zone .zone-fill{fill:rgba(47,143,103,0);stroke:rgba(47,143,103,0);stroke-width:1.5;transition:fill .18s ease,stroke .18s ease,filter .18s ease,opacity .18s ease;filter:none}
.clinical-human-map .clinical-zone:hover .zone-fill{fill:rgba(47,143,103,.12);stroke:rgba(47,143,103,.32)}
.clinical-human-map .clinical-zone.active .zone-fill{fill:rgba(47,143,103,.28);stroke:#2f8f67;filter:drop-shadow(0 0 12px rgba(47,143,103,.22))}
.clinical-human-map.intensity-mid .clinical-zone.active .zone-fill{fill:rgba(47,143,103,.34)}
.clinical-human-map.intensity-high .clinical-zone.active .zone-fill{fill:rgba(47,143,103,.42);filter:drop-shadow(0 0 18px rgba(47,143,103,.32))}
.clinical-human-map .clinical-zone text{font-size:10px;font-weight:800;text-anchor:middle;fill:#14533d;opacity:0;pointer-events:none;letter-spacing:.01em;transition:opacity .18s ease}
.clinical-human-map .clinical-zone:hover text,.clinical-human-map .clinical-zone.active text{opacity:.95}
.clinical-human-map .clinical-zone.active text{fill:#0f513c}
.clinical-human-map .heart-zone{fill:rgba(47,143,103,0)!important;stroke:rgba(47,143,103,0)!important}
.clinical-human-map .clinical-zone:hover .heart-zone{fill:rgba(47,143,103,.16)!important;stroke:rgba(47,143,103,.34)!important}
.clinical-human-map .clinical-zone.active .heart-zone{fill:rgba(47,143,103,.38)!important;stroke:#2f8f67!important}
.selected-body-pills{background:#fbfffd!important;border-color:#b7e3c8!important}
.selected-body-pills .selected-pill{background:#e6f7ed!important;border:1px solid #b7e3c8!important;color:#14533d!important;box-shadow:0 6px 14px rgba(47,143,103,.08)}
@media(max-width:900px){.clinical-map-view{height:345px!important;max-width:230px!important}.clinical-body-stage{min-height:345px}.body-map-card{min-height:auto!important}}


/* ATRIA MIND — versão completa integrada limpa */
.atria-logo svg,.atria-logo-small svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.wizard-card{overflow:hidden}.wizard-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.wizard-counter{background:var(--primary-light);color:var(--primary);border:1px solid #c7ead8;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;white-space:nowrap}.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 22px}.wizard-progress span{height:7px;border-radius:999px;background:#dfe9e3}.wizard-progress span.active{background:linear-gradient(135deg,var(--primary),var(--primary-mid))}.wizard-step{display:none;animation:fadeIn .18s ease}.wizard-step.active{display:block}.wizard-step h3{margin:0 0 8px;font-size:22px;letter-spacing:-.03em;color:var(--text)}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #e0ece5}.wizard-actions .button{min-width:130px}.summary-box{margin-top:16px;padding:16px;border-radius:18px;background:linear-gradient(145deg,#f2fbf6,#fff);border:1px solid #c7ead8}.summary-box p{margin:8px 0;color:#24463a}.sensation-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.sensation-chip{border:1px solid #dcebe3;background:#fff;color:var(--text);border-radius:18px;padding:12px 14px;min-height:46px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;box-shadow:0 8px 20px rgba(31,91,69,.045);transition:all .18s ease}.sensation-chip:hover{transform:translateY(-1px);background:var(--primary-light);border-color:var(--primary-mid)}.sensation-chip.active{background:linear-gradient(145deg,var(--primary-light),#fff);border-color:var(--primary);color:var(--primary-hover);box-shadow:0 0 0 3px rgba(63,163,111,.14),0 12px 24px rgba(47,143,103,.12)}.body-grid .body-chip{font-family:Inter,system-ui,sans-serif!important;font-size:13px!important;font-weight:750!important;justify-content:flex-start}.body-grid .body-chip span:last-child{overflow:hidden;text-overflow:ellipsis}.body-chip-icon{font-family:Inter,system-ui,sans-serif!important;font-size:14px}.therapist-chart-wrap{margin:12px 0 18px;height:230px}.task-done-btn{margin-top:10px;padding:9px 12px;font-size:12px}.list-item.completed{opacity:.72;background:#f7fcf9}.metric:nth-child(1){background:linear-gradient(145deg,#fff,#edf8f1)}.metric:nth-child(2){background:linear-gradient(145deg,#fff,#fff7ed)}.metric:nth-child(3){background:linear-gradient(145deg,#fff,#eff6ff)}.metric::before{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:12px;margin-bottom:10px;font-weight:900}.metric:nth-child(1)::before{content:"👥";background:#e7f7ed}.metric:nth-child(2)::before{content:"⚠";background:#ffedd5;color:#c2410c}.metric:nth-child(3)::before{content:"#";background:#dbeafe;color:#1d4ed8}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.body-selector-panel,.body-map-absurdo,.clinical-body-stage,.clinical-map-tabs,.body-map-card{display:none!important}@media(max-width:860px){.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:74px;padding:10px 14px;z-index:40;flex-direction:row;align-items:center;justify-content:space-between}.sidebar-brand small{display:none}.sidebar-brand{margin:0}#navItems{display:none}.sidebar-logout{margin:0;width:auto;background:rgba(255,255,255,.10);text-align:center}.main{padding-bottom:96px}.wizard-header{flex-direction:column}.wizard-actions{position:sticky;bottom:82px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:12px;margin-left:-12px;margin-right:-12px;border-radius:18px}}


/* === Atria Mind - ajustes finais desta versão === */
.atria-logo,
.atria-logo-small {
  color: var(--primary);
}
.atria-logo svg,
.atria-logo-small svg {
  width: 30px;
  height: 30px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.atria-logo svg path:first-child,
.atria-logo-small svg path:first-child {
  stroke-width: 1.8;
}
.body-grid .body-chip {
  align-items: center;
  gap: 9px;
  min-height: 52px !important;
}
.body-chip-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.body-grid .body-chip.active .body-chip-icon {
  background: var(--primary);
  color: white;
}
.body-selector-panel,
.body-map-absurdo,
.clinical-body-stage,
.clinical-map-tabs,
.body-map-card,
.final-body-selector,
.final-body-map,
.elegant-body-map,
.clinical-human-map {
  display: none !important;
}


/* =====================================================
   IDENTIDADE ATRIA MIND — premium restaurada
   Aplicada sobre a versão completa, sem perder funções.
   ===================================================== */
body { font-family: 'DM Sans', system-ui, sans-serif !important; background: radial-gradient(circle at top left, rgba(213,240,230,.70), transparent 32%), linear-gradient(180deg,#F7F3ED 0%,#FBF8F2 100%) !important; color: var(--text) !important; }
h1, .header h1, .logo, .auth-card h1 { font-family: 'DM Serif Display', Georgia, serif !important; letter-spacing: -.02em; }
.auth-card, .card { border-color: rgba(229,231,235,.85) !important; box-shadow: var(--shadow-md) !important; }
.sidebar { background: linear-gradient(180deg,#1A7A5E 0%,#155f49 100%) !important; }
.sidebar-brand strong { font-family: 'DM Serif Display', Georgia, serif; font-size: 18px; letter-spacing: -.01em; }
.sidebar-brand small { color: rgba(255,255,255,.74) !important; }
.brand-mark, .brand-icon { background: transparent !important; color: #1A7A5E !important; }
.atria-logo svg, .atria-logo-small svg { width:54px; height:54px; display:block; }
.atria-logo-small svg { width:42px; height:42px; }
.atria-logo svg rect, .atria-logo-small svg rect { fill:#1A7A5E; }
.atria-logo svg path, .atria-logo-small svg path { fill:none; stroke:#FFFFFF; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; }
.atria-logo svg path:first-of-type, .atria-logo-small svg path:first-of-type { fill:#FFFFFF; stroke:none; opacity:.98; }
.button, .button.full { background: linear-gradient(135deg,#1A7A5E,#27AE7A) !important; box-shadow: 0 12px 24px rgba(26,122,94,.18) !important; }
.button:hover { background: linear-gradient(135deg,#155f49,#1A7A5E) !important; }
.button.secondary { background:#D5F0E6 !important; color:#1A7A5E !important; box-shadow:none !important; }
.eyebrow, .badge, .intervention-box strong { color:#1A7A5E !important; }
.badge, .guidance-box, .soft-card, .invite-box { background:#D5F0E6 !important; border-color: rgba(26,122,94,.18) !important; }
.category-chip.active, .emotion-chip.emotion-card.active, .body-grid .body-chip.active, .sensation-chip.active, .scale-grid button.active { border-color:#1A7A5E !important; background:linear-gradient(145deg,#D5F0E6 0%,#FFFFFF 100%) !important; color:#1A7A5E !important; box-shadow:0 0 0 3px rgba(26,122,94,.13),0 12px 24px rgba(26,122,94,.10) !important; }
.emotion-chip.emotion-card .emotion-icon, .body-chip-icon { background:#EDE5F8 !important; color:#7D4FA0 !important; border-color:rgba(125,79,160,.16) !important; }
.emotion-chip.emotion-card.active .emotion-icon, .body-chip.active .body-chip-icon { background:#1A7A5E !important; color:#FFFFFF !important; border-color:#1A7A5E !important; }
.intervention-box { background:linear-gradient(145deg,#EDE5F8 0%,#FFFFFF 100%) !important; border-color:rgba(125,79,160,.22) !important; }
.wizard-card { overflow:hidden; }
.wizard-progress span.active { background:#1A7A5E !important; }
input, textarea, select, .input { font-family: 'DM Sans', system-ui, sans-serif !important; }

/* =====================================================
   ATRIA MIND — LGPD, termos e alerta clínico
   ===================================================== */
.lgpd-consent { display:flex; align-items:flex-start; gap:10px; margin:14px 0 4px; padding:12px 14px; border:1px solid rgba(26,122,94,.16); background:rgba(213,240,230,.45); border-radius:16px; color:var(--text); font-size:12.5px; line-height:1.45; }
.lgpd-consent input { width:16px; height:16px; margin:2px 0 0; accent-color:var(--primary); flex:0 0 auto; }
.legal-link { border:0; background:transparent; color:var(--primary); padding:0; margin:0; font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; box-shadow:none !important; }
.legal-link:hover { color:var(--primary-hover); background:transparent !important; }
.legal-modal { position:fixed; inset:0; z-index:999; display:grid; place-items:center; padding:20px; background:rgba(44,62,80,.42); backdrop-filter:blur(6px); }
.legal-modal-card { position:relative; width:min(100%,620px); max-height:86vh; overflow:auto; background:var(--card); border-radius:26px; padding:28px; border:1px solid rgba(229,231,235,.9); box-shadow:0 28px 70px rgba(26,122,94,.18); }
.legal-modal-card h2 { font-family:'DM Serif Display', Georgia, serif; font-size:28px; color:var(--primary); margin-bottom:12px; }
.legal-modal-card p { color:var(--text); line-height:1.65; margin:12px 0; }
.legal-modal-close { position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:999px; border:1px solid var(--line); background:#fff !important; color:var(--text) !important; box-shadow:none !important; padding:0; margin:0; font-size:22px; line-height:1; }
.clinical-alert { margin:14px 0 16px; padding:15px 16px; border-radius:18px; border:1px solid var(--danger-light); background:linear-gradient(145deg,var(--danger-light),#fff); color:#7f1d1d; }
.clinical-alert strong { display:block; margin-bottom:6px; color:var(--danger); }
.clinical-alert p { margin:0; line-height:1.5; }


/* === Navegação lateral do paciente: histórico e tarefas sob demanda === */
.patient-side-panel {
  animation: fadeIn .18s ease;
}
.panel-back-btn {
  white-space: nowrap;
}
#navItems .nav-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
#navItems .nav-button::before {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(255,255,255,.10);
  font-size: 13px;
}
#navDiario::before { content: "✦"; }
#navHistorico::before { content: "↺"; }
#navTarefas::before { content: "✓"; }

@media (max-width: 860px) {
  #navItems {
    display: flex !important;
    gap: 8px;
    flex: 1;
    justify-content: center;
  }
  #navItems .nav-button {
    width: auto;
    min-width: 0;
    padding: 10px 11px;
    font-size: 12px;
    border-radius: 14px;
    justify-content: center;
    white-space: nowrap;
  }
  #navItems .nav-button::before {
    display: none;
  }
  .sidebar-brand {
    max-width: 48px;
    overflow: hidden;
  }
  .panel-back-btn {
    width: 100%;
    margin-top: 10px;
  }
}
@media (max-width: 520px) {
  #navItems .nav-button {
    padding: 9px 8px;
    font-size: 11px;
  }
  .sidebar-logout {
    padding: 9px 10px;
    font-size: 12px;
  }
}

/* ==========================================
   TELA DE TERMOS DE USO — Atria Mind
   Implementação conforme briefing LGPD/CFP
   ========================================== */
.termos-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(26, 122, 94, 0.08);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.termos-card {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(26, 122, 94, 0.15);
  width: 100%;
  max-width: 620px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #D5F0E6;
}
.termos-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid #E5E7EB;
  flex-shrink: 0;
}
.termos-titulo {
  font-size: 17px;
  font-weight: 700;
  color: #1A7A5E;
  margin: 0 0 2px;
}
.termos-sub {
  font-size: 12px;
  color: #7A7590;
  margin: 0;
}
.termos-corpo {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
  font-size: 13.5px;
  line-height: 1.7;
  color: #1E1B26;
}
.termos-corpo h3 {
  font-size: 14px;
  font-weight: 700;
  color: #1A7A5E;
  margin: 20px 0 6px;
}
.termos-corpo h3:first-child { margin-top: 0; }
.termos-corpo p { margin: 0 0 10px; }
.termos-corpo ul { margin: 6px 0 12px 20px; padding: 0; }
.termos-corpo ul li { margin-bottom: 4px; }
.termos-footer {
  padding: 16px 24px 20px;
  border-top: 1px solid #E5E7EB;
  flex-shrink: 0;
  background: #F7F3ED;
}
.termos-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #1E1B26;
  cursor: pointer;
  margin-bottom: 14px;
  line-height: 1.5;
}
.termos-checkbox-label input[type=checkbox] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #1A7A5E;
  cursor: pointer;
}
#btnAceitar:disabled {
  background: #9ACFC4 !important;
  cursor: not-allowed;
  opacity: 0.7;
}
#btnAceitar:not(:disabled) { background: #1A7A5E !important; }
@media (max-width: 640px) {
  .termos-card { max-height: 95vh; border-radius: 18px; }
  .termos-header { padding: 16px 18px 12px; }
  .termos-corpo { padding: 16px 18px; }
  .termos-footer { padding: 14px 18px 18px; }
}


/* ==========================================
   REVISÃO DO REGISTRO — modal premium
   ========================================== */
.review-modal {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(44, 62, 80, .42);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.review-modal.hidden { display: none !important; }
.review-box {
  width: min(100%, 640px);
  max-height: 88vh;
  overflow: auto;
  background: var(--card);
  border: 1px solid rgba(213, 240, 230, .95);
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 28px 70px rgba(26, 122, 94, .18);
}
.review-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.review-header h2 {
  margin: 0;
  color: var(--text);
  font-size: 24px;
}
.review-close {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff !important;
  color: var(--text) !important;
  box-shadow: none !important;
  padding: 0;
  margin: 0;
  font-size: 24px;
  line-height: 1;
}
.review-content {
  display: grid;
  gap: 10px;
  padding: 6px 0 4px;
}
.review-content p {
  margin: 0;
  line-height: 1.55;
  color: var(--text);
  background: linear-gradient(145deg, #F7F3ED 0%, #FFFFFF 100%);
  border: 1px solid rgba(229, 231, 235, .85);
  border-radius: 16px;
  padding: 11px 13px;
}
.review-content strong { color: var(--primary); }
.review-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
@media (max-width: 620px) {
  .review-box { padding: 18px; border-radius: 20px; }
  .review-actions { flex-direction: column; }
  .review-actions .button { width: 100%; }
}

/* =====================================================
   HEADER PREMIUM ATRIA MIND — correção final de marca
   ===================================================== */
.auth-brand-premium {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 22px !important;
}

.auth-brand-logo {
  width: 250px !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.auth-product-badge {
  border: 1px solid rgba(26, 122, 94, .18) !important;
  background: linear-gradient(145deg, #edf8f1, #ffffff) !important;
  color: #1A7A5E !important;
  border-radius: 999px !important;
  padding: 8px 13px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  box-shadow: 0 8px 22px rgba(26, 122, 94, .10) !important;
}

.sidebar-brand { gap: 12px !important; align-items: center !important; }

.premium-sidebar-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.12) !important;
}

.premium-sidebar-icon img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  display: block !important;
}

.sidebar-brand-product {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.sidebar-brand-product strong {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 20px !important;
  line-height: 1.04 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

.sidebar-brand-product small {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  max-width: 150px !important;
}

.sidebar-logo-wordmark { display: none !important; }
.termos-logo img { width: 40px !important; height: 40px !important; object-fit: contain !important; }

@media (max-width: 860px) {
  .sidebar-brand-product { display: none !important; }
  .premium-sidebar-icon { width: 46px !important; height: 46px !important; min-width: 46px !important; }
}

/* =====================================================
   POLIMENTO FINAL — login premium sem ruído visual
   ===================================================== */
.auth-shell {
  padding: 28px !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(213, 240, 230, .92), transparent 30%),
    radial-gradient(circle at 82% 90%, rgba(237, 229, 248, .42), transparent 34%),
    linear-gradient(180deg, #f8fbf8 0%, #eef8f2 100%) !important;
}

.auth-card {
  max-width: 465px !important;
  padding: 40px 38px 34px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(199, 234, 216, .95) !important;
  box-shadow: 0 28px 78px rgba(31, 91, 69, .14) !important;
}

.auth-brand-premium {
  margin-bottom: 28px !important;
  gap: 0 !important;
}

.auth-brand-logo {
  width: 224px !important;
  max-width: 86% !important;
  height: auto !important;
  display: block !important;
}

.auth-product-badge { display: none !important; }

.auth-card h1 {
  max-width: 390px !important;
  font-size: 33px !important;
  line-height: 1.12 !important;
  margin-bottom: 18px !important;
  color: #1f3340 !important;
}

.auth-subtitle {
  max-width: 390px !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  margin-bottom: 26px !important;
  color: #6a617f !important;
}

.auth-card .tabs {
  margin: 24px 0 24px !important;
  border-radius: 16px !important;
}

.auth-card .tab { min-height: 38px !important; }

.auth-card .input {
  min-height: 55px !important;
  border-radius: 17px !important;
}

.auth-card .button.full {
  min-height: 55px !important;
  border-radius: 17px !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.auth-card .button.full:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(26, 122, 94, .22) !important;
}

.sidebar-brand-product strong {
  font-size: 19px !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
}

.sidebar-brand-product small {
  font-size: 11.2px !important;
  line-height: 1.24 !important;
}

@media (max-width: 520px) {
  .auth-shell { padding: 18px !important; }
  .auth-card { padding: 32px 24px 28px !important; border-radius: 28px !important; }
  .auth-brand-logo { width: 205px !important; max-width: 92% !important; }
  .auth-card h1 { font-size: 30px !important; }
}

/* =====================================================
   CORREÇÃO FINAL — painel "Seu cuidado agora" restaurado
   Devolve as divisões visuais premium entre vínculo, leitura semanal e tarefa.
   ===================================================== */
.clinical-panel {
  position: sticky !important;
  top: 24px !important;
  align-self: start !important;
  min-height: auto !important;
  height: auto !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at top right, rgba(83, 184, 132, .20), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f3fbf6 100%) !important;
  border: 1px solid #cdeadd !important;
  box-shadow: 0 18px 44px rgba(31, 91, 69, .10) !important;
}

.clinical-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, #1A7A5E, #53b884, #D5F0E6);
}

.clinical-panel-top {
  position: relative;
  z-index: 1;
  margin-bottom: 16px !important;
}

.panel-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  color: #1A7A5E !important;
  background: rgba(237, 248, 241, .92) !important;
  border: 1px solid #c9ead6 !important;
  border-radius: 999px !important;
  padding: 8px 10px !important;
  margin-bottom: 12px !important;
}

.clinical-panel h2 {
  font-size: 22px !important;
  margin-bottom: 8px !important;
  color: #123f31 !important;
}

#linkedCarePanel {
  display: grid;
  gap: 14px;
}

#linkedCarePanel.hidden,
#unlinkedCarePanel.hidden {
  display: none !important;
}

.care-professional-card,
.care-insight-card,
.care-task-card,
.premium-invite-box {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(191, 230, 206, .95) !important;
  border-radius: 22px !important;
  padding: 16px !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: 0 12px 28px rgba(31, 91, 69, .07) !important;
  margin-top: 0 !important;
}

.care-professional-card {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.care-icon {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 15px !important;
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, #1A7A5E, #27AE7A) !important;
  box-shadow: 0 10px 22px rgba(26, 122, 94, .18) !important;
}

.care-professional-card small,
.care-insight-card small,
.care-task-card small {
  display: block !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  color: #60746c !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

.care-professional-card strong,
.care-insight-card strong,
.care-task-card strong {
  display: block !important;
  color: #123f31 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
}

.care-insight-card p,
.care-task-card p,
.premium-invite-box p {
  margin: 8px 0 0 !important;
  color: #40584f !important;
  line-height: 1.55 !important;
}

.care-insight-card {
  padding-right: 42px !important;
}

.care-insight-card::after {
  content: "";
  position: absolute;
  inset: 16px 16px auto auto;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #9ed8ba;
  box-shadow: 0 0 0 7px rgba(158, 216, 186, .16);
}

.care-insight-card.leve { background: linear-gradient(145deg, #f2fbf6, #ffffff) !important; }
.care-insight-card.media { background: linear-gradient(145deg, #fbfbf2, #ffffff) !important; }
.care-insight-card.alta { background: linear-gradient(145deg, #fff8ed, #ffffff) !important; border-color: #f4d6ad !important; }
.care-insight-card.intensa { background: linear-gradient(145deg, #fff2f2, #ffffff) !important; border-color: #fecaca !important; }
.care-insight-card.intensa::after { background: #dc2626; box-shadow: 0 0 0 7px rgba(220, 38, 38, .10); }

.care-task-card {
  background: linear-gradient(145deg, rgba(237, 248, 241, .92), #ffffff) !important;
}

.task-due {
  display: inline-flex !important;
  margin-top: 10px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #edf8f1 !important;
  color: #1A7A5E !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.premium-invite-box {
  border-style: solid !important;
  margin-top: 16px !important;
}

.premium-invite-box .input { margin-top: 12px !important; }
.premium-invite-box .button { margin-top: 10px !important; }

@media (max-width: 860px) {
  .clinical-panel {
    position: relative !important;
    top: auto !important;
  }
}


/* UPGRADE — PAINEL DO TERAPEUTA + INTELIGÊNCIA CLÍNICA */
.priority-list { display: grid; gap: 10px; }
.priority-patient-card { width: 100%; border: 1px solid rgba(26,122,94,.16); background: #fff; border-radius: 18px; padding: 13px; display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; text-align: left; cursor: pointer; transition: .18s ease; }
.priority-patient-card:hover { transform: translateY(-1px); border-color: #1A7A5E; box-shadow: 0 14px 28px rgba(26,122,94,.10); }
.priority-patient-card.high { border-color: rgba(185,28,28,.24); background: linear-gradient(145deg,#fff7f7,#fff); }
.priority-patient-card.medium { border-color: rgba(217,119,6,.22); background: linear-gradient(145deg,#fffaf0,#fff); }
.priority-avatar { width: 42px; height: 42px; border-radius: 15px; display: grid; place-items: center; background: #D5F0E6; color: #1A7A5E; font-weight: 900; }
.priority-info strong { display: block; color: #163229; margin-bottom: 3px; }
.priority-info small { color: #7A7590; line-height: 1.35; }
.priority-level { white-space: nowrap; border-radius: 999px; padding: 7px 10px; font-size: 11px; font-weight: 850; color: #1A7A5E; background: #D5F0E6; }
.priority-patient-card.high .priority-level { color: #991B1B; background: #FEE2E2; }
.priority-patient-card.medium .priority-level { color: #92400E; background: #FEF3C7; }
.clinical-intelligence-card { background: linear-gradient(145deg, #ffffff 0%, #f8fbf9 100%); }
.clinical-intelligence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.intelligence-card { border: 1px solid rgba(26,122,94,.16); border-radius: 20px; padding: 16px; background: rgba(255,255,255,.86); box-shadow: 0 10px 24px rgba(26,122,94,.055); }
.intelligence-card.featured { background: linear-gradient(145deg,#D5F0E6,#ffffff); border-color: rgba(26,122,94,.22); }
.intelligence-card.wide { grid-column: 1 / -1; }
.intelligence-card.action { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.intelligence-card span { display: block; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: #1A7A5E; margin-bottom: 7px; }
.intelligence-card strong { display: block; color: #163229; font-size: 18px; line-height: 1.25; }
.intelligence-card p { color: #40584f; line-height: 1.55; margin: 0; }
.intelligence-card ul { margin: 0; padding-left: 18px; color: #40584f; line-height: 1.55; }
.intelligence-card li { margin: 5px 0; }
@media (max-width: 860px) { .clinical-intelligence-grid { grid-template-columns: 1fr; } .priority-patient-card { grid-template-columns: 40px 1fr; } .priority-level { grid-column: 2; justify-self: start; } }


/* =====================================================
   NAVEGAÇÃO TERAPEUTA POR ÁREAS — ajuste solicitado
   ===================================================== */
#navTherapistInteligencia::before { content: "✦"; }
#navTherapistPacientes::before { content: "👥"; }
#navTherapistAlertas::before { content: "!"; }
#navTherapistTarefas::before { content: "✓"; }
#navTherapistRelatorios::before { content: "▦"; }

.therapist-detail > .hidden,
.therapist-premium > .hidden,
.therapist-layout > .hidden {
  display: none !important;
}

.clinical-intelligence-card,
.therapist-tasks-card,
.timeline-card,
.weekly-focus-card,
.patient-clinical-header,
.therapist-detail-grid,
#alertasClinicosPaciente {
  animation: fadeIn .18s ease;
}

.clinical-intelligence-card:not(.hidden),
.therapist-tasks-card:not(.hidden),
.timeline-card:not(.hidden),
.weekly-focus-card:not(.hidden),
.patient-clinical-header:not(.hidden) {
  display: block;
}

.therapist-detail-grid:not(.hidden),
#alertasClinicosPaciente:not(.hidden) {
  display: grid;
}






/* =====================================================
   ATRIA MIND — Botão de crise e plano de segurança
   ===================================================== */
.btn-crise-global {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9000;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #B91C1C;
  color: white;
  border: none;
  border-radius: 28px;
  padding: 12px 20px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(185,28,28,0.35);
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}
.btn-crise-global:hover {
  background: #991B1B;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(185,28,28,0.45);
}
.btn-crise-global.hidden { display: none; }
.crise-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.crise-overlay.hidden { display: none; }
.crise-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 20, 0.72);
  backdrop-filter: blur(3px);
}
.crise-modal {
  position: relative;
  background: #FFFFFF;
  border-radius: 20px;
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 24px 64px rgba(0,0,0,0.25);
}
.crise-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 24px 20px;
  border-bottom: 1px solid #F3F4F6;
  position: sticky;
  top: 0;
  background: #FFFFFF;
  z-index: 1;
}
.crise-header-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #FEE2E2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #B91C1C;
}
.crise-titulo {
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  font-weight: 400;
  color: #1A1A2E;
  margin: 0 0 2px;
}
.crise-subtitulo { font-size: 13px; color: #7A7590; margin: 0; }
.crise-fechar {
  margin-left: auto;
  background: none;
  border: none;
  font-size: 22px;
  color: #9CA3AF;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  flex-shrink: 0;
  transition: color 0.15s, background 0.15s;
}
.crise-fechar:hover { color: #374151; background: #F3F4F6; }
.crise-corpo { padding: 20px 24px 24px; }
.crise-ancora {
  background: #F7F3ED;
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 20px;
}
.crise-ancora-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #7A7590;
  margin-bottom: 8px;
}
.crise-ancora-texto { font-size: 13px; color: #2C3E50; margin-bottom: 8px; }
.crise-textarea {
  width: 100%;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  padding: 10px 12px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #2C3E50;
  resize: none;
  outline: none;
  transition: border-color 0.2s;
}
.crise-textarea:focus { border-color: #1A7A5E; }
.crise-passos { display: flex; flex-direction: column; gap: 14px; }
.crise-passo {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #F9FAFB;
  border-radius: 14px;
  padding: 16px;
}
.crise-passo-urgente { background: #FEF2F2; border: 1px solid #FECACA; }
.crise-passo-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #1A7A5E;
  color: white;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.crise-urgente { background: #B91C1C; }
.crise-passo-conteudo { flex: 1; }
.crise-passo-conteudo strong { display: block; font-size: 14px; font-weight: 600; color: #1A1A2E; margin-bottom: 5px; }
.crise-passo-conteudo p { font-size: 13px; color: #4B5563; line-height: 1.55; margin: 0 0 10px; }
.crise-btn-principal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #B91C1C;
  color: white;
  border: none;
  border-radius: 10px;
  padding: 10px 18px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s;
}
.crise-btn-principal:hover { background: #991B1B; }
.crise-btn-secundario {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: white;
  color: #1A7A5E;
  border: 1px solid #D5F0E6;
  border-radius: 10px;
  padding: 9px 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.crise-btn-secundario:hover { background: #D5F0E6; }
.crise-contatos { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.crise-nota-cvv { font-size: 12px !important; color: #9CA3AF !important; margin-top: 8px !important; margin-bottom: 0 !important; }
.crise-nota-terapeuta {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 20px;
  padding: 12px 14px;
  background: #EDE5F8;
  border-radius: 10px;
  font-size: 12px;
  color: #5B2D8E;
  line-height: 1.5;
}
.crise-nota-terapeuta svg { flex-shrink: 0; margin-top: 1px; }
.crise-respiracao {
  background: #D5F0E6;
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 10px;
  text-align: center;
  display: none;
}
.crise-respiracao.ativa { display: block; }
.crise-respiracao-circulo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #1A7A5E;
  margin: 12px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
  font-weight: 600;
  transition: transform 4s ease-in-out;
}
.crise-respiracao-instrucao { font-size: 14px; font-weight: 600; color: #1A7A5E; margin-bottom: 4px; }
.crise-respiracao-contador { font-size: 28px; font-weight: 700; color: #1A7A5E; font-family: 'DM Serif Display', serif; }
@media (max-width: 640px) {
  .btn-crise-global { bottom: 88px; right: 16px; padding: 11px 16px; font-size: 13px; }
  .crise-modal { max-height: 92vh; border-radius: 18px; }
  .crise-header, .crise-corpo { padding-left: 18px; padding-right: 18px; }
  .crise-passo { gap: 10px; padding: 14px; }
}


/* =====================================================
   MATERIAIS DE APOIO — UX PREMIUM
   ===================================================== */
.materials-patient-panel,
.therapist-materials-card {
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(125,79,160,.10), transparent 32%),
    linear-gradient(145deg, #ffffff 0%, #fbfffc 100%);
}

.materials-premium-grid {
  display: grid;
  grid-template-columns: minmax(280px, .88fr) minmax(320px, 1.12fr);
  gap: 18px;
  margin-top: 18px;
}

.material-upload-panel,
.materials-sent-panel {
  border: 1px solid rgba(213, 240, 230, .95);
  background: rgba(255,255,255,.86);
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 14px 32px rgba(26,122,94,.07);
}

.material-upload-panel .button.full { margin-top: 16px; }

.material-dropzone {
  border: 1px dashed rgba(26,122,94,.35);
  background: linear-gradient(145deg, #F7F3ED 0%, #FFFFFF 100%);
  border-radius: 18px;
  padding: 14px;
}

.material-file-input {
  background: #fff !important;
}

.materials-sent-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.materials-sent-header strong {
  color: var(--text);
  font-size: 16px;
}
.materials-sent-header small {
  color: var(--muted);
  font-size: 12px;
}

.premium-materials-list {
  display: grid;
  gap: 12px;
}

.material-card-premium {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: flex-start;
  border: 1px solid rgba(229,231,235,.88);
  background: #fff;
  border-radius: 20px;
  padding: 15px;
  box-shadow: 0 10px 24px rgba(31,91,69,.055);
}

.material-file-badge {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .04em;
  color: #1A7A5E;
  background: #D5F0E6;
  border: 1px solid rgba(26,122,94,.16);
}
.material-file-badge.pdf { color: #B91C1C; background: #FEE2E2; border-color: #FECACA; }
.material-file-badge.img { color: #7D4FA0; background: #EDE5F8; border-color: rgba(125,79,160,.20); }
.material-file-badge.doc { color: #1D4ED8; background: #DBEAFE; border-color: #BFDBFE; }
.material-file-badge.xls { color: #047857; background: #D1FAE5; border-color: #A7F3D0; }

.material-content { min-width: 0; }
.material-title-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.material-title-row strong {
  color: var(--text);
  font-size: 15px;
  line-height: 1.25;
}
.material-title-row span,
.material-content small,
.material-meta-row span {
  color: var(--muted);
  font-size: 12px;
}
.material-content p {
  color: #40584f;
  line-height: 1.5;
  margin: 8px 0 12px;
}
.material-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid rgba(229,231,235,.75);
  padding-top: 10px;
}
.material-meta-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.material-download-btn {
  flex: 0 0 auto;
  padding: 9px 12px !important;
  font-size: 12px !important;
  border-radius: 12px !important;
}

#navMateriais::before { content: "▣"; }
#navTherapistMateriais::before { content: "▣"; }

@media (max-width: 900px) {
  .materials-premium-grid { grid-template-columns: 1fr; }
  .material-card-premium { grid-template-columns: 48px 1fr; }
  .material-file-badge { width: 48px; height: 48px; border-radius: 16px; }
  .material-meta-row { flex-direction: column; align-items: stretch; }
  .material-download-btn { width: 100%; }
}

/* =====================================================
   CADASTRO COMPLEMENTAR OBRIGATÓRIO — PACIENTE
   ===================================================== */
.cadastro-completo-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(213, 240, 230, .78), transparent 34%),
    linear-gradient(180deg, #F7F3ED 0%, #FBF8F2 100%);
  font-family: 'DM Sans', system-ui, sans-serif;
  color: #2C3E50;
}
.cadastro-completo-screen.hidden { display: none !important; }
.cadastro-completo-card {
  width: min(100%, 920px);
  max-height: 94vh;
  overflow: auto;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(213,240,230,.95);
  border-radius: 32px;
  padding: 34px;
  box-shadow: 0 28px 80px rgba(26,122,94,.16);
}
.cadastro-completo-brand img {
  width: 190px;
  max-width: 75%;
  display: block;
  margin-bottom: 22px;
}
.cadastro-completo-header h1 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1.02;
  color: #163229;
  margin-bottom: 10px;
}
.cadastro-completo-header .muted {
  max-width: 660px;
  margin-bottom: 22px;
}
.cadastro-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 20px 0 24px;
}
.cadastro-progress-step {
  position: relative;
  border: 1px solid #dfe9e3;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
  color: #60746c;
  border-radius: 999px;
  padding: 11px 14px;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
}
.cadastro-progress-step.active,
.cadastro-progress-step.complete {
  border-color: #1A7A5E;
  background: linear-gradient(145deg, #D5F0E6, #ffffff);
  color: #1A7A5E;
  box-shadow: 0 0 0 3px rgba(26,122,94,.10);
}
.cadastro-progress-step.complete::after {
  content: "✓";
  margin-left: 6px;
}
.cadastro-completo-form {
  display: grid;
  gap: 18px;
}
.cadastro-section {
  border: 1px solid rgba(229,231,235,.90);
  border-radius: 24px;
  padding: 20px;
  background: linear-gradient(145deg, #ffffff 0%, #fffdf9 100%);
  box-shadow: 0 10px 28px rgba(26,122,94,.055);
  margin: 0;
}
.cadastro-section legend {
  padding: 0 8px;
  color: #1A7A5E;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cadastro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.cadastro-grid.two-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cadastro-grid .field-span-2 { grid-column: span 2; }
.cadastro-grid label {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 750;
  color: #2C3E50;
}
.cadastro-grid .input {
  min-height: 52px;
  border-radius: 17px;
  border-color: #dfe9e3;
}
.cadastro-grid .input:focus {
  border-color: #1A7A5E;
  box-shadow: 0 0 0 4px rgba(26,122,94,.13);
}
.cadastro-grid .input.cadastro-invalid {
  border-color: #FCA5A5;
  background: #fffafa;
}
.cadastro-status {
  margin-top: 6px;
}
.cadastro-status.ok { color: #1A7A5E; }
.cadastro-status.erro { color: #B91C1C; }
.cadastro-actions {
  position: sticky;
  bottom: -34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0 0;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.96) 35%);
}
.cadastro-actions .tiny { max-width: 540px; }
#btnSalvarCadastroComplementar {
  min-width: 250px;
  min-height: 52px;
  border-radius: 18px;
}
#btnSalvarCadastroComplementar:disabled {
  background: #9ACFC4 !important;
  cursor: not-allowed;
  opacity: .68;
  box-shadow: none !important;
}
@media (max-width: 760px) {
  .cadastro-completo-screen { padding: 14px; align-items: start; }
  .cadastro-completo-card { padding: 24px 18px; border-radius: 24px; max-height: none; }
  .cadastro-progress { grid-template-columns: 1fr; }
  .cadastro-grid,
  .cadastro-grid.two-cols { grid-template-columns: 1fr; }
  .cadastro-grid .field-span-2 { grid-column: auto; }
  .cadastro-actions { position: static; flex-direction: column; align-items: stretch; }
  #btnSalvarCadastroComplementar { width: 100%; min-width: 0; }
}


/* =====================================================
   LEITURA CLÍNICA INICIAL AUTOMÁTICA
   ===================================================== */
.initial-clinical-reading-card {
  background:
    radial-gradient(circle at top right, rgba(26,122,94,.10), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffdf9 100%);
  border-color: rgba(26,122,94,.16) !important;
}

.initial-reading-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 14px;
  margin-top: 18px;
}

/* Card dados de base — fundo verde claro */
.initial-reading-card.principal {
  background: linear-gradient(145deg, var(--primary-light) 0%, #FFFFFF 100%);
  border-color: rgba(26,122,94,0.18);
  border-radius: var(--radius-md);
  padding: 20px;
}
.initial-reading-card.principal strong {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 19px;
  color: var(--text);
  display: block;
  margin-bottom: 10px;
}
.initial-reading-card.principal p {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.7;
  margin: 5px 0;
}

/* Card hipóteses — fundo branco */
.initial-reading-card {
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 20px;
  box-shadow: var(--shadow-sm);
}
.initial-reading-card li {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.65;
  margin: 7px 0;
  padding-left: 4px;
}
.initial-reading-card ul {
  margin: 0;
  padding-left: 16px;
}

/* Nota clínica — fundo roxo */
.initial-reading-note {
  grid-column: 1 / -1;
  background: linear-gradient(145deg, var(--accent-light) 0%, #FFFFFF 100%);
  border: 1px solid rgba(125,79,160,0.18);
  border-radius: var(--radius-md);
  padding: 16px 20px;
}
.initial-reading-note strong {
  color: var(--accent);
  font-size: 14px;
  display: block;
  margin-bottom: 5px;
}
.initial-reading-note p {
  font-size: 13px;
  color: #5f5870;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 860px) {
  .initial-reading-grid { grid-template-columns: 1fr; }
}


/* =====================================================
   PWA + NOTIFICAÇÕES LOCAIS — banner do paciente
   ===================================================== */
.notification-banner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(26, 122, 94, .16);
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(213,240,230,.42));
  box-shadow: 0 14px 34px rgba(26,122,94,.08);
}
.notification-banner-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #D5F0E6;
  color: #1A7A5E;
  font-size: 22px;
  font-weight: 900;
}
.notification-banner-copy strong {
  display: block;
  color: #1A7A5E;
  font-size: 15px;
  margin-bottom: 3px;
}
.notification-banner-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.notification-banner-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.notification-banner-actions .button {
  margin: 0 !important;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .notification-banner {
    grid-template-columns: auto 1fr;
  }
  .notification-banner-actions {
    grid-column: 1 / -1;
    width: 100%;
  }
  .notification-banner-actions .button {
    flex: 1;
  }
}

/* =====================================================
   FILTRO DE PERÍODO — gráfico do paciente
   ===================================================== */
.patient-chart-header {
  align-items: flex-start;
  gap: 18px;
}
.chart-period-average {
  margin: 6px 0 0;
  color: #7A7590;
  font-size: 12.5px;
  line-height: 1.35;
}
.period-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  max-width: 390px;
}
.period-filter {
  border: 1px solid rgba(26, 122, 94, .18);
  background: #ffffff;
  color: #1A7A5E;
  border-radius: 999px;
  padding: 8px 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: .18s ease;
  box-shadow: 0 8px 18px rgba(26, 122, 94, .06);
}
.period-filter:hover {
  transform: translateY(-1px);
  background: #D5F0E6;
  border-color: rgba(26, 122, 94, .30);
}
.period-filter.active {
  background: #1A7A5E;
  color: #ffffff;
  border-color: #1A7A5E;
  box-shadow: 0 10px 22px rgba(26, 122, 94, .18);
}
@media (max-width: 760px) {
  .patient-chart-header {
    flex-direction: column;
  }
  .period-filter-group {
    justify-content: flex-start;
    max-width: none;
    width: 100%;
  }
}

/* =====================================================
   ANÁLISE COMPLETA DO GRÁFICO DO PACIENTE
   ===================================================== */
.chart-analysis-card {
  margin-top: 18px;
  border: 1px solid rgba(26, 122, 94, .16);
  border-radius: 22px;
  padding: 18px;
  background: linear-gradient(145deg, #ffffff 0%, #F7F3ED 100%);
  box-shadow: 0 10px 28px rgba(26,122,94,.06);
}
.chart-analysis-card > strong,
.chart-analysis-top strong {
  display: block;
  color: #1A7A5E;
  font-size: 16px;
  margin-bottom: 6px;
}
.chart-analysis-card p {
  margin: 10px 0 14px;
  line-height: 1.62;
  color: #2C3E50;
}
.chart-analysis-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 8px;
}
.chart-analysis-kicker {
  display: inline-block;
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #7A7590;
}
.chart-analysis-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 850;
  border: 1px solid rgba(26,122,94,.16);
  background: #D5F0E6;
  color: #1A7A5E;
}
.chart-analysis-badge.alta {
  background: #FFF3D6;
  border-color: rgba(201, 162, 39, .35);
  color: #8A6500;
}
.chart-analysis-badge.leve {
  background: #D5F0E6;
  color: #1A7A5E;
}
.chart-analysis-badge.media,
.chart-analysis-badge.neutra {
  background: #EDE5F8;
  border-color: rgba(125,79,160,.18);
  color: #7D4FA0;
}
.chart-analysis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}
.chart-analysis-grid div {
  border: 1px solid rgba(229,231,235,.9);
  border-radius: 16px;
  padding: 12px;
  background: rgba(255,255,255,.75);
}
.chart-analysis-grid small,
.chart-events-box small {
  display: block;
  color: #7A7590;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.chart-analysis-grid b {
  color: #2C3E50;
  font-size: 15px;
}
.chart-events-box {
  margin-top: 12px;
  border-top: 1px solid rgba(229,231,235,.85);
  padding-top: 12px;
}
.chart-events-box ul {
  margin: 8px 0 0 18px;
  padding: 0;
  color: #60746c;
  line-height: 1.55;
}
.chart-events-box li {
  margin: 5px 0;
}
@media (max-width: 720px) {
  .chart-analysis-top { flex-direction: column; }
  .chart-analysis-grid { grid-template-columns: 1fr; }
}


/* =====================================================
   ANÁLISE DO GRÁFICO NO PAINEL DO TERAPEUTA
   ===================================================== */
.therapist-chart-card .patient-chart-header {
  align-items: flex-start;
}
.therapist-period-filter-group {
  justify-content: flex-end;
  max-width: 410px;
}
.therapist-chart-analysis-card {
  margin-top: 16px;
  background: linear-gradient(145deg, #ffffff 0%, #F7F3ED 100%);
  border-color: rgba(26, 122, 94, .18);
}
.therapist-chart-analysis-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.therapist-questions-box {
  margin-top: 12px;
  border: 1px solid rgba(125,79,160,.18);
  background: linear-gradient(145deg, #EDE5F8 0%, #ffffff 100%);
  border-radius: 18px;
  padding: 13px 14px;
}
.therapist-questions-box small {
  display: block;
  color: #7D4FA0;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 6px;
}
.therapist-questions-box ul {
  margin: 0;
  padding-left: 18px;
  color: #2C3E50;
  line-height: 1.55;
}
.therapist-questions-box li { margin: 4px 0; }
@media (max-width: 860px) {
  .therapist-chart-analysis-grid { grid-template-columns: 1fr 1fr; }
  .therapist-period-filter-group { justify-content: flex-start; max-width: none; }
}
@media (max-width: 560px) {
  .therapist-chart-analysis-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   ATRIA MIND — REFINAMENTO ESTÉTICO PREMIUM FINAL
   Escopo: somente estética. IDs, eventos e lógica preservados.
   ===================================================== */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--text) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(213, 240, 230, .78), transparent 34%),
    radial-gradient(circle at 90% 12%, rgba(237, 229, 248, .46), transparent 30%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg) 100%) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3,
.header h1,
.auth-card h1,
.termos-titulo,
.sidebar-brand strong {
  color: var(--text);
  letter-spacing: -.025em;
}
h1, .header h1, .auth-card h1 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
}
h2, h3 { font-weight: 800; }
.muted { color: var(--muted) !important; }
.tiny { color: rgba(122,117,144,.92) !important; }

/* Superfícies e cards */
.card,
.auth-card,
.termos-card,
.review-box,
.legal-modal-card,
.list-item,
.report-card,
.patient-homework-card,
.material-card,
.priority-item,
.clinical-alert-card,
.chart-analysis-card,
.therapist-chart-analysis-card {
  border: 1px solid rgba(231, 221, 208, .86) !important;
  box-shadow: var(--shadow-sm) !important;
}
.card,
.auth-card,
.termos-card,
.review-box,
.legal-modal-card {
  border-radius: var(--radius-xl) !important;
  background: rgba(255, 255, 255, .92) !important;
  backdrop-filter: blur(10px);
}
.card {
  position: relative;
  overflow: hidden;
}
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.32), transparent 44%);
}
.card > * { position: relative; z-index: 1; }
.soft-card,
.clinical-panel,
.therapist-hero,
.weekly-focus-card,
.clinical-intelligence-card,
.therapist-chart-card {
  background:
    radial-gradient(circle at top right, rgba(213,240,230,.58), transparent 38%),
    linear-gradient(145deg, #FFFFFF 0%, #FBF8F2 100%) !important;
  border-color: rgba(26,122,94,.16) !important;
}

/* Login premium */
.auth-shell {
  background:
    radial-gradient(circle at 16% 8%, rgba(213,240,230,.82), transparent 34%),
    radial-gradient(circle at 86% 14%, rgba(196,154,42,.12), transparent 32%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg) 100%) !important;
}
.auth-card {
  max-width: 486px !important;
  padding: 42px 40px 36px !important;
  box-shadow: 0 30px 86px rgba(26,122,94,.15) !important;
}
.auth-brand-premium { margin-bottom: 24px !important; }
.auth-brand-logo { max-width: 235px !important; height: auto; }
.auth-card h1 {
  font-size: clamp(32px, 4vw, 42px) !important;
  line-height: 1.02 !important;
  margin-bottom: 14px !important;
}
.auth-subtitle {
  font-size: 15.8px !important;
  color: #6F667F !important;
}
.tabs {
  background: rgba(247,243,237,.86) !important;
  border: 1px solid rgba(231,221,208,.92) !important;
  border-radius: 18px !important;
  padding: 6px !important;
}
.tab {
  border-radius: 14px !important;
  font-weight: 800 !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.tab:hover { transform: translateY(-1px); }
.tab.active {
  color: var(--primary) !important;
  box-shadow: 0 10px 26px rgba(26,122,94,.10) !important;
}

/* Formulários */
label {
  color: var(--text) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}
.input,
input,
textarea,
select {
  border-color: rgba(231,221,208,.96) !important;
  border-radius: var(--radius-md) !important;
  background: rgba(255,255,255,.96) !important;
  color: var(--text) !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.input:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px rgba(26, 122, 94, .13) !important;
  outline: none !important;
}
.input:hover,
textarea:hover,
select:hover { border-color: rgba(26,122,94,.32) !important; }

/* Botões */
.button,
button.button,
.primary-button {
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
  color: #FFFFFF !important;
  box-shadow: 0 14px 30px rgba(26,122,94,.20) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.button:hover,
button.button:hover {
  transform: translateY(-1px);
  filter: saturate(1.04);
  box-shadow: 0 18px 38px rgba(26,122,94,.24) !important;
}
.button:active { transform: translateY(0); }
.button.secondary {
  background: linear-gradient(145deg, var(--primary-light), #FFFFFF) !important;
  color: var(--primary) !important;
  box-shadow: none !important;
  border: 1px solid rgba(26,122,94,.18) !important;
}
.button.whatsapp {
  background: linear-gradient(135deg, #16A34A, #22C55E) !important;
}
button:disabled,
.button:disabled {
  opacity: .62;
  cursor: not-allowed;
  transform: none !important;
}

/* Sidebar / navegação */
.sidebar {
  background:
    radial-gradient(circle at 20% 0%, rgba(213,240,230,.12), transparent 30%),
    linear-gradient(180deg, #174D3D 0%, #113B30 100%) !important;
  box-shadow: 18px 0 48px rgba(17,59,48,.10);
}
.sidebar-brand {
  border-bottom: 1px solid rgba(255,255,255,.13) !important;
  padding-bottom: 22px !important;
}
.premium-sidebar-icon {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.14) !important;
}
.sidebar-brand strong {
  color: #FFFFFF !important;
  font-size: 19px !important;
}
.sidebar-brand small { color: rgba(255,255,255,.70) !important; }
.nav-button,
.sidebar-logout {
  border-radius: 16px !important;
  color: rgba(255,255,255,.78) !important;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.nav-button:hover,
.nav-button.active {
  background: rgba(255,255,255,.12) !important;
  color: #FFFFFF !important;
  transform: translateX(2px);
}
.sidebar-logout { color: #FECACA !important; }

/* Header e indicadores */
.main { padding: 34px !important; }
.header {
  padding: 4px 2px 10px;
  border-bottom: 1px solid rgba(231,221,208,.62);
}
.eyebrow {
  color: var(--primary) !important;
  font-weight: 950 !important;
  letter-spacing: .11em !important;
}
.badge,
.wizard-counter,
.task-due,
.homework-status,
.priority-mini-badge,
.panel-kicker {
  border-radius: 999px !important;
  background: linear-gradient(145deg, var(--primary-light), #FFFFFF) !important;
  color: var(--primary) !important;
  border: 1px solid rgba(26,122,94,.16) !important;
  box-shadow: 0 8px 18px rgba(26,122,94,.07) !important;
}

/* Métricas, painéis e relatórios */
.metric,
.premium-metric {
  border-radius: 26px !important;
  background: linear-gradient(145deg, #FFFFFF 0%, #FBF8F2 100%) !important;
}
.metric strong,
.report-card strong,
.invite-code-card strong {
  color: var(--text) !important;
}
.invite-code-card {
  background:
    radial-gradient(circle at 90% 0%, rgba(196,154,42,.25), transparent 36%),
    linear-gradient(145deg, #174D3D 0%, var(--primary) 100%) !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}
.invite-code-card strong { color: #FFFFFF !important; }

.report-card,
.chart-analysis-grid > div,
.clinical-intelligence-item,
.focus-mini-card,
.material-card,
.priority-item {
  background: linear-gradient(145deg, #FFFFFF 0%, #FFFCF7 100%) !important;
  border-radius: 22px !important;
  border-color: rgba(231,221,208,.92) !important;
}
.clinical-summary,
.premium-clinical-summary,
.guidance-box,
.summary-box,
.body-instruction-box {
  background: linear-gradient(145deg, var(--primary-light) 0%, #FFFFFF 100%) !important;
  border: 1px solid rgba(26,122,94,.16) !important;
  border-radius: 22px !important;
}
.intervention-box,
.therapist-questions-box {
  background: linear-gradient(145deg, var(--accent-light) 0%, #FFFFFF 100%) !important;
  border: 1px solid rgba(125,79,160,.18) !important;
  border-radius: 22px !important;
}
.therapist-questions-box small,
.intervention-box strong { color: var(--accent) !important; }

/* Wizard, chips e seleção */
.wizard-progress span {
  height: 8px !important;
  background: rgba(231,221,208,.94) !important;
}
.wizard-progress span.active {
  background: linear-gradient(90deg, var(--primary), var(--primary-mid)) !important;
}
.category-chip,
.emotion-chip.emotion-card,
.body-grid .body-chip,
.sensation-chip,
.period-filter-btn,
.therapist-period-filter-group .period-filter-btn {
  border-radius: 20px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(231,221,208,.96) !important;
  box-shadow: 0 8px 22px rgba(38,59,53,.045) !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.category-chip:hover,
.emotion-chip.emotion-card:hover,
.body-grid .body-chip:hover,
.sensation-chip:hover,
.period-filter-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(26,122,94,.34) !important;
  box-shadow: 0 14px 30px rgba(26,122,94,.09) !important;
}
.category-chip.active,
.emotion-chip.emotion-card.active,
.body-grid .body-chip.active,
.sensation-chip.active,
.scale-grid button.active,
.period-filter-btn.active {
  background: linear-gradient(145deg, var(--primary-light) 0%, #FFFFFF 100%) !important;
  border-color: var(--primary) !important;
  color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(26,122,94,.12), 0 14px 30px rgba(26,122,94,.10) !important;
}
.emotion-chip.emotion-card .emotion-icon,
.body-chip-icon,
.helper-icon,
.care-icon {
  background: var(--accent-light) !important;
  color: var(--accent) !important;
  border: 1px solid rgba(125,79,160,.15) !important;
}
.emotion-chip.emotion-card.active .emotion-icon,
.body-chip.active .body-chip-icon,
.care-icon {
  background: var(--primary) !important;
  color: #FFFFFF !important;
  border-color: var(--primary) !important;
}
.scale-grid button {
  border-radius: 16px !important;
  background: #FFFFFF !important;
  border-color: rgba(231,221,208,.96) !important;
}

/* Gráficos e análise */
.chart-wrap,
.therapist-chart-wrap {
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(247,243,237,.40));
  border: 1px solid rgba(231,221,208,.64);
  padding: 14px;
}
.patient-chart-toolbar,
.therapist-chart-toolbar,
.period-filter-group,
.therapist-period-filter-group {
  gap: 8px !important;
}
.period-filter-btn {
  padding: 9px 12px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  color: #5E6C67 !important;
}
.period-filter-btn.active { color: var(--primary) !important; }
.patient-chart-average,
.therapist-chart-average {
  color: var(--muted) !important;
  font-size: 12.5px !important;
}
.chart-analysis-card,
.therapist-chart-analysis-card {
  background:
    radial-gradient(circle at top right, rgba(196,154,42,.10), transparent 28%),
    linear-gradient(145deg, #FFFFFF 0%, #FFFCF7 100%) !important;
  border-radius: 24px !important;
}
.chart-analysis-card strong,
.therapist-chart-analysis-card strong { color: var(--text) !important; }
.chart-events-box {
  border-top-color: rgba(196,154,42,.24) !important;
}
.chart-events-box li::marker,
.therapist-questions-box li::marker { color: var(--gold); }

/* Cadastro complementar obrigatório */
.cadastro-completo-screen,
#cadastroCompletoScreen {
  background:
    radial-gradient(circle at 15% 0%, rgba(213,240,230,.76), transparent 36%),
    radial-gradient(circle at 88% 15%, rgba(196,154,42,.12), transparent 34%),
    linear-gradient(180deg, var(--bg), var(--bg)) !important;
}
.cadastro-completo-card,
.cadastro-card,
.complete-profile-card {
  border-radius: 32px !important;
  border: 1px solid rgba(231,221,208,.9) !important;
  box-shadow: 0 28px 78px rgba(26,122,94,.14) !important;
}
.cadastro-progress-step.active,
.complete-step.active,
.progress-step.active {
  color: var(--primary) !important;
}
.cadastro-progress-step.active::before,
.complete-step.active::before,
.progress-step.active::before {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* Termos, revisão e crise */
.termos-overlay,
.review-modal,
.legal-modal,
.crise-overlay {
  background: rgba(38,59,53,.38) !important;
  backdrop-filter: blur(8px) !important;
}
.termos-logo {
  background: linear-gradient(145deg, var(--primary-light), #FFFFFF) !important;
  border-color: rgba(26,122,94,.16) !important;
}
.clinical-alert,
.alert-metric,
.clinical-alert-card.high {
  border-color: rgba(185,28,28,.18) !important;
  background: linear-gradient(145deg, var(--danger-light), #FFFFFF) !important;
}
.btn-crise-global {
  box-shadow: 0 18px 42px rgba(185,28,28,.24) !important;
}

/* Materiais */
.material-dropzone,
.material-upload-panel,
.materials-sent-panel {
  border-radius: 24px !important;
  border-color: rgba(231,221,208,.9) !important;
  background: linear-gradient(145deg, #FFFFFF 0%, #FFFCF7 100%) !important;
}
.material-file-input {
  background: rgba(247,243,237,.50) !important;
}

/* Tabelas/listas e estados vazios */
.empty-state {
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(213,240,230,.50), rgba(255,255,255,.94)) !important;
  border: 1px dashed rgba(26,122,94,.22) !important;
}

/* ==========================================
   PASSO 12 — Estados vazios premium
   ========================================== */
.empty-state-premium {
  text-align: center !important;
  padding: 48px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: none !important;
}
.empty-state-premium svg {
  color: #C8DDD8 !important;
  width: 40px !important;
  height: 40px !important;
  margin-bottom: 6px !important;
}
.empty-state-premium strong {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 17px !important;
  font-style: italic !important;
  color: #A0B8B0 !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}
.empty-state-premium p {
  font-size: 13px !important;
  color: #B8CAC4 !important;
  max-width: 280px !important;
  margin: 0 auto !important;
  line-height: 1.55 !important;
}
.list-item {
  border-radius: 22px !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.list-item:hover {
  transform: translateY(-1px);
  border-color: rgba(26,122,94,.20) !important;
  box-shadow: 0 14px 32px rgba(26,122,94,.08) !important;
}
.patient-card-button {
  border-radius: 22px !important;
  border: 1px solid rgba(231,221,208,.92) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 8px 22px rgba(38,59,53,.045) !important;
}
.patient-card-button:hover,
.patient-card-button.active {
  border-color: rgba(26,122,94,.28) !important;
  background: linear-gradient(145deg, var(--primary-light), #FFFFFF) !important;
}
.patient-avatar {
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
  color: #FFFFFF !important;
}

/* Toast */
.toast {
  border-radius: 18px !important;
  background: rgba(18, 53, 42, .96) !important;
  box-shadow: 0 20px 50px rgba(18,53,42,.22) !important;
}

/* Responsividade refinada */
@media (max-width: 980px) {
  .main { padding: 24px !important; }
  .therapist-hero { flex-direction: column; align-items: stretch !important; }
  .invite-code-card { width: 100%; }
}
@media (max-width: 860px) {
  .sidebar {
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -18px 48px rgba(17,59,48,.12);
  }
  .nav-button:hover,
  .nav-button.active { transform: translateY(-1px); }
  .main { padding: 18px !important; padding-bottom: 100px !important; }
  .header { border-bottom: 0; }
  .card, .auth-card, .termos-card, .review-box { border-radius: 24px !important; }
}
@media (max-width: 560px) {
  .auth-card { padding: 30px 24px !important; }
  .auth-brand-logo { max-width: 210px !important; }
  .auth-card h1 { font-size: 32px !important; }
  .card { padding: 18px !important; }
  .period-filter-group,
  .therapist-period-filter-group { justify-content: flex-start !important; }
  .period-filter-btn { flex: 1 1 auto; }
}

/* ==========================================
   PASSO 2 — TIPOGRAFIA GLOBAL
   Tipografia, labels de seção e transições globais
   ========================================== */
body {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  color: var(--text) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

h1,
h2,
.auth-card h1,
.wizard-step h3,
.termos-titulo,
.crise-titulo,
.cadastro-completo-header h1 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  letter-spacing: -0.02em !important;
  color: var(--text) !important;
}

h1 { font-size: clamp(26px, 3vw, 34px) !important; }
h2 { font-size: clamp(18px, 2vw, 22px) !important; }
h3 { font-size: 18px !important; }

/* Labels uppercase (eyebrow, seção) */
.eyebrow,
[class*="eyebrow"],
.intelligence-card > span,
.initial-reading-card > span,
.care-professional-card small,
.care-insight-card small,
.care-task-card small {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
}

/* Texto de apoio */
.muted,
.tiny { color: var(--muted) !important; }
.tiny { font-size: 12px !important; line-height: 1.45 !important; }

/* Transição global */
* {
  transition-property: border-color, box-shadow, background, transform, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

/* ==========================================
   PASSO 4 — CARDS PREMIUM
   ========================================== */
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  box-shadow: var(--shadow-sm);
}

/* Cards com hover */
.priority-patient-card:hover,
.list-item:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  border-color: rgba(26,122,94,0.22);
}

/* =====================================================
   PASSO 5 — TELA DE LOGIN (.auth-card)
   Refinamento premium da autenticação, inputs e botões.
   ===================================================== */
.auth-shell {
  background:
    radial-gradient(circle at 18% 10%, rgba(213,240,230,0.85), transparent 32%),
    radial-gradient(circle at 82% 90%, rgba(237,229,248,0.40), transparent 34%),
    linear-gradient(180deg, #F8FBF8 0%, #EEF8F2 100%) !important;
}

.auth-card {
  max-width: 460px !important;
  padding: 44px 40px 36px !important;
  border-radius: var(--radius-xl) !important;
  border: 1px solid rgba(199,234,216,0.95) !important;
  box-shadow: var(--shadow-lg) !important;
  background: rgba(255,255,255,0.97) !important;
}

/* Headline */
.auth-card h1 {
  font-size: clamp(26px, 3vw, 32px) !important;
  line-height: 1.12 !important;
  color: #1A2B22 !important;
  margin-bottom: 12px !important;
}

.auth-subtitle {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--muted) !important;
  margin-bottom: 28px !important;
}

/* Tabs Entrar / Criar conta */
.tabs {
  background: #EEF2EC !important;
  border-radius: 14px !important;
  padding: 5px !important;
  gap: 6px !important;
  margin: 0 0 24px !important;
}

.tab {
  border-radius: 11px !important;
  padding: 10px 16px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--muted) !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.tab.active {
  background: #FFFFFF !important;
  color: var(--primary) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07) !important;
}

/* Inputs */
label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin: 14px 0 6px !important;
  display: block !important;
}

.input {
  border: 1.5px solid var(--line) !important;
  border-radius: 14px !important;
  padding: 13px 16px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--text) !important;
  background: #FFFFFF !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

.input:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(26,122,94,0.12) !important;
}

.input::placeholder { color: #AABCB5 !important; }

/* Botão principal */
.button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 14px !important;
  padding: 13px 20px !important;
  border: none !important;
  cursor: pointer !important;
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 22px rgba(26,122,94,0.22) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.button:hover {
  background: linear-gradient(135deg, var(--primary-hover), var(--primary)) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 28px rgba(26,122,94,0.28) !important;
}

.button:active {
  transform: translateY(0) !important;
  box-shadow: var(--shadow-sm) !important;
}

.button.full {
  width: 100% !important;
  margin-top: 20px !important;
}

.button.secondary {
  background: var(--primary-light) !important;
  color: var(--primary) !important;
  box-shadow: none !important;
}

.button.secondary:hover {
  background: #C2E8D6 !important;
}

/* =====================================================
   PASSO 6 — Tarefas do terapeuta e sugestões refinadas
   ===================================================== */
.task-item-card {
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 20px 22px;
  margin-bottom: 12px;
  border-left: 3px solid var(--primary);
  box-shadow: var(--shadow-sm);
}
.task-item-card.concluida,
.task-item-card.done,
.task-item-card.answered {
  border-left-color: var(--gold);
  opacity: 0.88;
}
.task-item-title {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 8px;
}
.task-item-body {
  font-size: 14px;
  color: var(--text-mid);
  line-height: 1.65;
  margin: 0 0 14px;
  white-space: pre-line;
}
.task-item-response {
  background: #F7F3ED;
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  margin-bottom: 10px;
}
.task-item-response-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}
.task-item-response-text {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.6;
  margin: 0 0 8px;
  white-space: pre-line;
}
.task-item-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  margin-top: 4px;
}
.task-item-date {
  font-size: 12px;
  color: var(--muted);
}
.task-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: var(--primary-light);
  color: var(--primary);
}
.task-status-badge.pendente,
.task-status-badge.pending {
  background: #FDF3DC;
  color: #8A6500;
}
.task-status-badge.respondida,
.task-status-badge.answered,
.task-status-badge.done {
  background: var(--primary-light);
  color: var(--primary);
}
.response-metrics {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.response-metrics span {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(26,122,94,0.08);
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
}

.suggestion-list-refined {
  display: grid;
  gap: 10px;
}
.suggestion-item {
  background: #F7F3ED;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 18px 20px;
  margin-bottom: 10px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.suggestion-item-content { flex: 1; }
.suggestion-item-category {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 5px;
}
.suggestion-item-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 6px;
}
.suggestion-item-desc {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.6;
  white-space: pre-line;
}
.btn-usar-sugestao {
  flex-shrink: 0;
  background: var(--primary-light);
  color: var(--primary);
  border: 1px solid rgba(26,122,94,0.22);
  border-radius: 10px;
  padding: 8px 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.18s ease;
}
.btn-usar-sugestao:hover {
  background: var(--primary);
  color: #FFFFFF;
  border-color: var(--primary);
}
@media (max-width: 680px) {
  .suggestion-item { flex-direction: column; }
  .btn-usar-sugestao { width: 100%; }
  .task-item-card { padding: 18px 16px; }
}


/* =====================================================
   PASSO 7 — TELA DE ALERTAS / FILA DE ATENÇÃO
   ===================================================== */
.priority-patient-card {
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 15px 18px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 14px;
  align-items: center;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: all 0.2s ease;
}
.priority-avatar {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background: var(--primary-light);
  color: var(--primary);
  font-weight: 800;
  font-size: 15px;
  display: grid;
  place-items: center;
}
.priority-info strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  display: block;
  margin-bottom: 3px;
}
.priority-info small { font-size: 12px; color: var(--muted); }
.priority-level {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.priority-patient-card.medium .priority-level {
  background: var(--gold-light);
  color: #8A6500;
}
.priority-patient-card.high {
  border-color: rgba(185,28,28,0.20);
  background: linear-gradient(145deg, #FFF7F7, #FFFFFF);
}
.priority-patient-card.high .priority-avatar {
  background: #FEE2E2;
  color: #B91C1C;
}
.priority-patient-card.high .priority-level {
  background: #FEE2E2;
  color: #B91C1C;
}
.alert-detail-card {
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 26px 28px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 20px;
}
.alert-detail-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}
.alert-detail-name {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 22px;
  color: var(--text);
  margin-bottom: 6px;
}
.alert-detail-meta { font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.alert-content-block {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.alert-content-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--danger);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.alert-content-title::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--danger);
  box-shadow: 0 0 0 4px rgba(185,28,28,0.15);
  flex-shrink: 0;
}
.alert-content-desc {
  font-size: 14px;
  color: var(--text-mid);
  line-height: 1.65;
}
.empty-alerts-state {
  text-align: center;
  padding: 60px 24px;
  color: var(--muted);
}
.empty-alerts-state svg { color: #C8DDD8; margin-bottom: 16px; }
.empty-alerts-state strong {
  display: block;
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 18px;
  font-style: italic;
  color: #A0B8B0;
  margin-bottom: 6px;
}
.empty-alerts-state p { font-size: 13px; }

@media (max-width: 640px) {
  .priority-patient-card {
    grid-template-columns: 40px 1fr;
  }
  .priority-level {
    grid-column: 2;
    justify-self: start;
    margin-top: -4px;
  }
  .alert-detail-card { padding: 22px 20px; }
}

/* =====================================================
   PASSO 8 — INTELIGÊNCIA CLÍNICA PREMIUM
   ===================================================== */
.clinical-intelligence-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 14px;
  margin-top: 18px;
}

.intelligence-card.featured {
  background: linear-gradient(145deg, var(--primary-light) 0%, #FFFFFF 100%);
  border-color: rgba(26,122,94,0.22);
  grid-column: 1 / -1;
  border-radius: var(--radius-md);
  padding: 20px 22px;
}
.intelligence-card.featured strong {
  display: block;
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 22px;
  color: var(--text);
  margin-bottom: 6px;
}
.intelligence-card.featured .meta-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--muted);
  margin-top: 4px;
}
.intelligence-card.featured .meta-row span::before { content: "· "; }
.intelligence-card.featured .meta-row span:first-child::before { content: ""; }

.intelligence-card {
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 18px 20px;
  box-shadow: var(--shadow-sm);
}
.intelligence-card > span {
  display: block;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 8px;
}
.intelligence-card p,
.intelligence-card li {
  font-size: 14px;
  color: var(--text-mid);
  line-height: 1.65;
}
.intelligence-card p { margin: 0; }
.intelligence-card ul {
  padding-left: 18px;
  margin: 0;
}
.intelligence-card li { margin: 5px 0; }
.intelligence-card.wide { grid-column: 1 / -1; }

.intelligence-card.action {
  grid-column: 1 / -1;
  background: #F7F3ED;
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.intelligence-card.action > span {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin-bottom: 0;
}
.intelligence-card.action strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  flex: 1 1 280px;
}
.btn-ir-tarefas {
  background: var(--primary-light);
  color: var(--primary);
  border: 1px solid rgba(26,122,94,0.22);
  border-radius: 10px;
  padding: 10px 18px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.18s ease;
}
.btn-ir-tarefas:hover { background: var(--primary); color: #FFFFFF; }

@media (max-width: 860px) {
  .clinical-intelligence-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   PASSO 10 — MATERIAIS DE APOIO
   Refinamento premium da área de upload
   ===================================================== */
.material-dropzone {
  border: 2px dashed rgba(26,122,94,0.30) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
  text-align: center !important;
  background: linear-gradient(145deg, #F7F3ED, #FFFFFF) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.material-dropzone:hover {
  border-color: var(--primary) !important;
  background: var(--primary-light) !important;
}

.material-dropzone p {
  font-size: 13px !important;
  color: var(--muted) !important;
  margin: 8px 0 0 !important;
}

.material-dropzone .material-file-input,
.material-file-input {
  cursor: pointer;
}

.button.full {
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
  box-shadow: 0 8px 22px rgba(26,122,94,0.22) !important;
}

/* =====================================================
   PASSO 11 — MÉTRICAS DO TERAPEUTA
   ===================================================== */
.metric::before { display: none !important; }

.metric {
  background: #FFFFFF !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px 26px !important;
  box-shadow: var(--shadow-sm) !important;
  position: relative !important;
  overflow: hidden !important;
}

.metric-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

.metric-icon-pacientes {
  background: #E7F7ED;
  color: var(--primary);
}

.metric-icon-alertas {
  background: #FFE4D6;
  color: #C2410C;
}

.metric-icon-tarefas {
  background: #DBEAFE;
  color: #1D4ED8;
}

.metric span {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  display: block !important;
  margin-bottom: 8px !important;
}

.metric strong {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 38px !important;
  color: var(--text) !important;
  letter-spacing: -0.03em !important;
  display: block !important;
  line-height: 1 !important;
  margin-bottom: 4px !important;
}

.metric small {
  font-size: 12px !important;
  color: var(--muted) !important;
}

/* =====================================================
   PASSO 13 — MICRO-INTERAÇÕES GLOBAIS
   ===================================================== */

/* Cards interativos */
.priority-patient-card,
.list-item,
.func-card,
.material-card-premium {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

/* Chips de emoção, corpo e sensação */
.emotion-chip,
.body-chip,
.sensation-chip,
.category-chip {
  transition: transform 0.15s ease, background 0.15s ease,
              border-color 0.15s ease, box-shadow 0.15s ease;
}
.emotion-chip:hover,
.body-chip:hover,
.sensation-chip:hover,
.category-chip:hover {
  transform: translateY(-1px);
}
.emotion-chip.active,
.body-chip.active,
.sensation-chip.active,
.category-chip.active {
  transform: scale(1.02);
}

/* Entradas de tela */
.screen:not(.hidden),
.wizard-step.active,
.care-professional-card,
.care-insight-card,
.care-task-card {
  animation: atria-fade-in 0.25s ease;
}
@keyframes atria-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Botão de crise */
.btn-crise-global {
  border-radius: 28px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 16px rgba(185,28,28,0.35);
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}
.btn-crise-global:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(185,28,28,0.45);
}
