:root {
  --lvx-saude-primary: var(--sistema-cor-primaria, #1264d8);
  --lvx-saude-secondary: var(--sistema-cor-secundaria, #0f2f57);
  --lvx-saude-bg: var(--sistema-fundo-pagina, #f5f8fc);
  --lvx-saude-card: var(--sistema-fundo-card, #ffffff);
  --lvx-saude-text: var(--sistema-cor-texto, #10233f);
  --lvx-saude-muted: var(--sistema-cor-texto-suave, #64748b);
  --lvx-saude-border: var(--sistema-cor-borda, #dbe7f5);
  --lvx-saude-radius-card: var(--sistema-radius-card, 22px);
  --lvx-saude-radius-button: var(--sistema-radius-botao, 999px);
}

.lvx-saude-home,
.lvx-saude-home * { box-sizing: border-box; }

.lvx-saude-home {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 18px max(22px, calc((100vw - 1180px) / 2)) 46px;
  color: var(--lvx-saude-text);
  font-family: inherit;
  background:
    radial-gradient(circle at 7% 10%, rgba(18,100,216,.08), transparent 22%),
    radial-gradient(circle at 96% 28%, rgba(15,47,87,.10), transparent 20%),
    linear-gradient(180deg, #f7fbff 0%, var(--lvx-saude-bg) 64%, #ffffff 100%);
  min-height: 100vh;
}

.lvx-diamond {
  position: absolute;
  display: block;
  pointer-events: none;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(18,100,216,.18);
  border-radius: 28px;
  transform: rotate(45deg);
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(18,100,216,.08));
  box-shadow: 0 24px 80px rgba(18,100,216,.08);
  opacity: .9;
}

.lvx-diamond-1 { top: 96px; right: -64px; }
.lvx-diamond-2 { top: 530px; left: -92px; width: 210px; height: 210px; opacity: .55; }
.lvx-diamond-3 { bottom: 190px; right: 8%; width: 86px; height: 86px; border-radius: 18px; opacity: .52; }

.lvx-saude-topbar,
.lvx-saude-hero,
.lvx-saude-section,
.lvx-saude-access,
.lvx-saude-footer { position: relative; z-index: 2; }

.lvx-saude-topbar {
  position: sticky;
  top: 12px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 14px;
  background: rgba(255,255,255,.86);
  border: 1px solid var(--lvx-saude-border);
  border-radius: var(--lvx-saude-radius-card);
  box-shadow: 0 16px 46px rgba(15,23,42,.07);
  backdrop-filter: blur(14px);
}

.lvx-saude-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: max-content;
  color: var(--lvx-saude-secondary);
  text-decoration: none;
}

.lvx-saude-brand img { width: 38px; height: 38px; object-fit: contain; }

.lvx-saude-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #fff;
  background: linear-gradient(135deg, var(--lvx-saude-primary), var(--lvx-saude-secondary));
  border-radius: 14px;
  font-weight: 800;
}

.lvx-saude-nav { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }

.lvx-saude-nav a,
.lvx-saude-top-cta {
  color: var(--lvx-saude-text);
  text-decoration: none;
  padding: 9px 12px;
  border-radius: var(--lvx-saude-radius-button);
  font-size: 14px;
  line-height: 1.2;
}

.lvx-saude-nav a:hover,
.lvx-saude-top-cta:hover { background: #eef5ff; }

.lvx-saude-top-cta { color: #fff; background: var(--lvx-saude-secondary); min-width: max-content; }

.lvx-saude-hero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
  padding: 54px 0 30px;
}

.lvx-saude-hero-content,
.lvx-saude-hero-card,
.lvx-saude-card,
.lvx-saude-split,
.lvx-saude-demo,
.lvx-saude-access,
.lumavix-saude-admin-card,
.lvx-saude-admin-hero {
  border-radius: var(--lvx-saude-radius-card);
  border: 1px solid var(--lvx-saude-border);
  background: var(--lvx-saude-card);
  box-shadow: 0 12px 34px rgba(15,23,42,.05);
}

.lvx-saude-hero-content {
  padding: clamp(30px, 5vw, 56px);
  min-height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at top right, rgba(18,100,216,.14), transparent 31%),
    linear-gradient(180deg, #fff, #f9fcff);
}

.lvx-saude-kicker,
.lvx-saude-section-head span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 7px 12px;
  border-radius: var(--lvx-saude-radius-button);
  color: var(--lvx-saude-primary);
  background: #eef5ff;
  font-size: 13px;
  font-weight: 800;
}

.lvx-saude-hero h1 {
  margin: 0;
  color: var(--lvx-saude-secondary);
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.lvx-saude-hero p,
.lvx-saude-section p,
.lvx-saude-card p { color: var(--lvx-saude-muted); line-height: 1.65; }

.lvx-saude-hero p { max-width: 720px; margin: 18px 0 0; font-size: 18px; }

.lvx-saude-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.lvx-saude-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border-radius: var(--lvx-saude-radius-button);
  font-weight: 800;
  text-decoration: none;
  line-height: 1.2;
  border: 1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.lvx-saude-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(15,23,42,.10); }
.lvx-saude-btn-primary { color: #fff; background: linear-gradient(135deg, var(--lvx-saude-primary), var(--lvx-saude-secondary)); }
.lvx-saude-btn-secondary { color: var(--lvx-saude-secondary); background: #fff; border-color: var(--lvx-saude-border); }

.lvx-saude-hero-card { padding: 24px; min-height: 360px; background: linear-gradient(180deg, #fff, #f8fbff); }
.lvx-saude-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.lvx-saude-card-head span { color: var(--lvx-saude-muted); }
.lvx-saude-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lvx-saude-mini-grid div { padding: 18px; background: #fff; border: 1px solid var(--lvx-saude-border); border-radius: 18px; }
.lvx-saude-mini-grid strong { display: block; color: var(--lvx-saude-primary); font-size: 34px; line-height: 1; }
.lvx-saude-mini-grid span { display: block; margin-top: 8px; color: var(--lvx-saude-muted); font-size: 14px; }
.lvx-saude-progress { margin-top: 18px; padding: 18px; background: #fff; border: 1px solid var(--lvx-saude-border); border-radius: 18px; }
.lvx-saude-progress span { display: block; margin-bottom: 10px; font-weight: 800; }
.lvx-saude-progress div { overflow: hidden; height: 10px; background: #e8f0fb; border-radius: 99px; }
.lvx-saude-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--lvx-saude-primary), var(--lvx-saude-secondary)); border-radius: inherit; }

.lvx-saude-section { max-width: 1180px; margin: 0 auto; padding: 38px 0; }
.lvx-saude-section-head { max-width: 760px; margin-bottom: 22px; }
.lvx-saude-section h2,
.lvx-saude-demo h2,
.lvx-saude-split h2 { margin: 0; color: var(--lvx-saude-secondary); font-size: clamp(26px, 3.5vw, 40px); line-height: 1.1; letter-spacing: -.03em; }
.lvx-saude-grid { display: grid; gap: 14px; }
.lvx-saude-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lvx-saude-card { padding: 22px; }
.lvx-saude-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 16px; color: #fff; background: var(--lvx-saude-primary); border-radius: 12px; font-weight: 900; }
.lvx-saude-card h3 { margin: 0 0 8px; color: var(--lvx-saude-secondary); font-size: 18px; }
.lvx-saude-card p { margin: 0; font-size: 14px; }

.lvx-saude-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 26px; padding: 30px; }
.lvx-saude-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lvx-saude-benefits div { padding: 16px; border-radius: 16px; border: 1px solid var(--lvx-saude-border); background: #f8fbff; font-weight: 800; color: var(--lvx-saude-secondary); }
.lvx-saude-roadmap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.lvx-saude-roadmap div { display: flex; flex-direction: column; gap: 16px; min-height: 160px; padding: 22px; border-radius: var(--lvx-saude-radius-card); border: 1px solid var(--lvx-saude-border); background: linear-gradient(180deg, #fff, #f8fbff); }
.lvx-saude-roadmap strong { color: var(--lvx-saude-primary); font-size: 32px; }
.lvx-saude-roadmap span { color: var(--lvx-saude-secondary); font-weight: 900; }
.lvx-saude-demo,
.lvx-saude-access { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 30px; }
.lvx-saude-access { max-width: 1180px; margin: 18px auto 0; }
.lvx-saude-access strong,
.lvx-saude-access span { display: block; }
.lvx-saude-access span { margin-top: 6px; color: var(--lvx-saude-muted); }
.lvx-saude-footer { max-width: 1180px; margin: 0 auto; padding: 26px 0 0; color: var(--lvx-saude-muted); text-align: center; font-size: 14px; }

/* Admin */
.lvx-saude-admin-shell { --lvx-saude-bg: #f5f8fc; color: var(--lvx-saude-text); }
.lvx-saude-admin-hero { display:flex; align-items:center; justify-content:space-between; gap:18px; margin: 18px 0; padding: 24px; background: linear-gradient(135deg, #fff, #f8fbff); }
.lvx-saude-admin-hero h1 { margin: 0 0 8px; color: var(--lvx-saude-secondary); font-size: 30px; }
.lvx-saude-admin-hero p { margin: 0; color: var(--lvx-saude-muted); }
.lumavix-saude-admin-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 18px; margin-top: 18px; }
.lumavix-saude-admin-card { padding: 20px; max-width: 100%; background:#fff; }
.lumavix-saude-admin-card h2 { margin-top:0; color: var(--lvx-saude-secondary); }
.lumavix-saude-admin-fields { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lumavix-saude-field { display: block; margin: 0; }
.lumavix-saude-field span { display: block; margin-bottom: 6px; font-weight: 700; color: var(--lvx-saude-secondary); }
.lumavix-saude-field input { width: 100%; min-height: 44px; border-radius: 12px; border: 1px solid var(--lvx-saude-border); padding: 8px 12px; }
.lumavix-saude-admin-checks { display:grid; gap:10px; margin: 18px 0; }
.lumavix-saude-check { display:flex; gap:8px; align-items:flex-start; padding: 12px; border:1px solid var(--lvx-saude-border); border-radius: 14px; background:#f8fbff; }
.lvx-saude-admin-action-form { margin: 10px 0; }
.lvx-saude-ok { color:#047857; font-weight:800; }
.lvx-saude-warn { color:#b45309; font-weight:800; }

@media (max-width: 980px) {
  .lvx-saude-topbar,
  .lvx-saude-demo,
  .lvx-saude-access,
  .lvx-saude-admin-hero { align-items: flex-start; flex-direction: column; }
  .lvx-saude-nav { justify-content: flex-start; }
  .lvx-saude-hero,
  .lvx-saude-split,
  .lumavix-saude-admin-grid,
  .lumavix-saude-admin-fields { grid-template-columns: 1fr; }
  .lvx-saude-grid-4,
  .lvx-saude-roadmap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .lvx-saude-home { padding: 12px 10px 28px; }
  .lvx-saude-topbar { position: static; }
  .lvx-saude-nav a,
  .lvx-saude-top-cta,
  .lvx-saude-btn { width: 100%; justify-content: center; text-align: center; white-space: normal; }
  .lvx-saude-nav { width: 100%; }
  .lvx-saude-nav a { flex: 1 1 44%; }
  .lvx-saude-hero { padding-top: 20px; }
  .lvx-saude-hero-content,
  .lvx-saude-hero-card,
  .lvx-saude-split,
  .lvx-saude-demo,
  .lvx-saude-access { padding: 20px; }
  .lvx-saude-grid-4,
  .lvx-saude-roadmap,
  .lvx-saude-benefits,
  .lvx-saude-mini-grid { grid-template-columns: 1fr; }
  .lvx-diamond { display:none; }
}

/* Página de acesso por cliente */
.lvx-saude-access-page {
  padding-top: 42px;
}

.lvx-saude-access-hero {
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto 28px;
  padding: clamp(28px, 5vw, 54px);
  text-align: center;
  border-radius: var(--lvx-saude-radius-card);
  border: 1px solid var(--lvx-saude-border);
  background: linear-gradient(180deg, #fff, #f8fbff);
  box-shadow: 0 12px 34px rgba(15,23,42,.05);
}

.lvx-saude-access-hero .lvx-saude-kicker {
  margin-left: auto;
  margin-right: auto;
}

.lvx-saude-access-hero h1 {
  margin: 0;
  color: var(--lvx-saude-secondary);
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.lvx-saude-access-hero p {
  max-width: 680px;
  margin: 16px auto 24px;
  color: var(--lvx-saude-muted);
  line-height: 1.65;
  font-size: 17px;
}

.lvx-saude-client-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
}

.lvx-saude-client-card {
  position: relative;
  min-height: 280px;
  padding: 68px 24px 24px;
  text-align: center;
  border-radius: var(--lvx-saude-radius-card);
  border: 1px solid var(--lvx-saude-border);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 48px rgba(15,23,42,.07);
}

.lvx-saude-client-logo {
  position: absolute;
  top: -38px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px;
  padding: 12px;
  border-radius: 28px;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--lvx-saude-border);
  box-shadow: 0 20px 46px rgba(15,23,42,.12);
  transition: transform .18s ease, box-shadow .18s ease;
}

.lvx-saude-client-logo:hover {
  transform: translateX(-50%) translateY(-3px);
  box-shadow: 0 24px 54px rgba(15,23,42,.16);
}

.lvx-saude-client-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lvx-saude-client-logo span,
.lvx-saude-client-logo-empty {
  color: #fff;
  background: linear-gradient(135deg, var(--lvx-saude-primary), var(--lvx-saude-secondary));
  font-size: 38px;
  font-weight: 900;
}

.lvx-saude-client-logo span {
  display: inline-flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
}

.lvx-saude-client-card h2 {
  margin: 10px 0 8px;
  color: var(--lvx-saude-secondary);
  font-size: 24px;
}

.lvx-saude-client-card p {
  min-height: 76px;
  margin: 0 0 20px;
  color: var(--lvx-saude-muted);
  line-height: 1.55;
}

.lvx-saude-admin-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lvx-saude-clients-admin-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 14px 0 20px;
}

.lvx-saude-client-admin-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--lvx-saude-border);
  border-radius: 16px;
  background: #f8fbff;
}

.lvx-saude-client-admin-card strong {
  color: var(--lvx-saude-secondary);
}

@media (max-width: 980px) {
  .lvx-saude-client-grid,
  .lvx-saude-clients-admin-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .lvx-saude-access-page { padding-top: 18px; }
  .lvx-saude-client-grid,
  .lvx-saude-clients-admin-list {
    grid-template-columns: 1fr;
  }
  .lvx-saude-client-card {
    margin-top: 34px;
  }
  .lvx-saude-admin-actions {
    justify-content: flex-start;
  }
}

/* Acesso simplificado */
.lvx-saude-access-hero-simple {
  max-width: 760px;
  margin-bottom: 22px;
  padding: clamp(26px, 4vw, 42px);
}

.lvx-saude-access-hero-simple h1 {
  font-size: clamp(34px, 4.4vw, 64px);
}

.lvx-saude-client-grid-simple {
  grid-template-columns: repeat(auto-fit, minmax(180px, 220px));
  justify-content: center;
  gap: 22px;
  max-width: 980px;
}

.lvx-saude-client-card-simple {
  min-height: auto;
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 18px;
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(10px);
}

.lvx-saude-client-card-simple.is-empty {
  padding: 28px;
}

.lvx-saude-client-logo-float,
.lvx-saude-client-card-simple .lvx-saude-client-logo,
.lvx-saude-client-card-simple .lvx-saude-client-logo-empty {
  position: static;
  transform: none;
  width: 112px;
  height: 112px;
  border-radius: 32px;
  box-shadow: 0 20px 60px rgba(15,23,42,.10);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.lvx-saude-client-logo-float:hover,
.lvx-saude-client-card-simple .lvx-saude-client-logo:hover {
  transform: translateY(-4px);
}

.lvx-saude-client-card-simple .lvx-saude-client-logo img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 20px;
}

.lvx-saude-client-card-simple .lvx-saude-client-logo span {
  font-size: 42px;
}

.lvx-saude-client-access-btn {
  min-width: 136px;
}

/* Admin mídia */
.lvx-saude-media-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.lvx-saude-media-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 78px;
  margin-top: 10px;
  padding: 10px;
  border: 1px dashed var(--lvx-saude-border);
  border-radius: 14px;
  background: #fff;
  color: var(--lvx-saude-muted);
}

.lvx-saude-media-preview img {
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}

.lvx-saude-media-preview.is-empty {
  font-size: 13px;
}

@media (max-width: 640px) {
  .lvx-saude-media-row {
    grid-template-columns: 1fr;
  }

  .lvx-saude-client-grid-simple {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .lvx-saude-client-card-simple {
    margin-top: 0;
    padding: 18px;
  }

  .lvx-saude-client-card-simple .lvx-saude-client-logo {
    width: 92px;
    height: 92px;
  }
}


/* v1.0.4 — logo maior e melhor ajuste */
.lvx-saude-client-grid-simple {
  grid-template-columns: repeat(auto-fit, minmax(200px, 240px));
  gap: 24px;
}

.lvx-saude-client-card-simple {
  padding: 28px 22px 24px;
  gap: 20px;
}

.lvx-saude-client-logo-float,
.lvx-saude-client-card-simple .lvx-saude-client-logo,
.lvx-saude-client-card-simple .lvx-saude-client-logo-empty {
  width: 136px;
  height: 136px;
  padding: 10px;
  border-radius: 36px;
}

.lvx-saude-client-card-simple .lvx-saude-client-logo img,
.lvx-saude-client-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 18px;
}

.lvx-saude-client-card-simple .lvx-saude-client-logo span {
  font-size: 48px;
}

@media (max-width: 640px) {
  .lvx-saude-client-grid-simple {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lvx-saude-client-card-simple .lvx-saude-client-logo {
    width: 112px;
    height: 112px;
    border-radius: 28px;
  }
}


/* v1.0.5 — página de acesso mais limpa */
.lvx-saude-access-page {
  padding-top: 24px;
}

.lvx-saude-access-hero-minimal {
  max-width: 680px;
  margin: 0 auto 18px;
  padding: 8px 0 2px;
  text-align: center;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.lvx-saude-access-hero-minimal .lvx-saude-kicker {
  margin-left: auto;
  margin-right: auto;
}

.lvx-saude-access-hero-minimal h1 {
  margin: 0;
  color: var(--lvx-saude-secondary);
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.lvx-saude-access-hero-minimal p {
  max-width: 560px;
  margin: 14px auto 0;
  color: var(--lvx-saude-muted);
  line-height: 1.55;
  font-size: 16px;
}

.lvx-saude-client-grid-simple {
  margin-top: 10px;
}

@media (max-width: 640px) {
  .lvx-saude-access-page {
    padding-top: 10px;
  }

  .lvx-saude-access-hero-minimal {
    margin-bottom: 14px;
  }

  .lvx-saude-access-hero-minimal h1 {
    font-size: 34px;
  }
}


/* v1.0.6 — logo maior na página de acesso */
.lvx-saude-client-grid-simple {
  grid-template-columns: repeat(auto-fit, minmax(220px, 250px));
  gap: 26px;
}

.lvx-saude-client-card-simple {
  padding: 30px 24px 24px;
}

.lvx-saude-client-logo-float,
.lvx-saude-client-card-simple .lvx-saude-client-logo,
.lvx-saude-client-card-simple .lvx-saude-client-logo-empty {
  width: 156px;
  height: 156px;
  padding: 10px;
  border-radius: 40px;
}

.lvx-saude-client-card-simple .lvx-saude-client-logo img,
.lvx-saude-client-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 640px) {
  .lvx-saude-client-card-simple .lvx-saude-client-logo {
    width: 122px;
    height: 122px;
    border-radius: 30px;
  }
}
