/* ============================================================
   Cadatah · Premium Purple Identity (overlay)
   Padroniza sombras, bordas, raios e espaçamentos da Landing
   e do Painel Administrativo. Carregar SEMPRE por último.
   ============================================================ */

:root {
  /* ----- Paleta unificada ----- */
  --pp-purple-50:  #F4F2FB;
  --pp-purple-100: #E7E3F5;
  --pp-purple-200: #CFC8EB;
  --pp-purple-300: #AAA3DF;
  --pp-purple-400: #8C84CC;
  --pp-purple-500: #7C76C0;
  --pp-purple:     #6F6BB3;
  --pp-purple-700: #5A569A;
  --pp-purple-800: #403D7A;
  --pp-purple-900: #2A2858;
  --pp-ink:        #1B1730;
  --pp-ink-soft:   #45434D;
  --pp-muted:      #6B6786;
  --pp-cream:      #FFF8EA;
  --pp-paper:      #FFFCF4;

  /* ----- Espaçamento (escala 4px) ----- */
  --pp-space-1: 4px;
  --pp-space-2: 8px;
  --pp-space-3: 12px;
  --pp-space-4: 16px;
  --pp-space-5: 20px;
  --pp-space-6: 24px;
  --pp-space-8: 32px;
  --pp-space-10: 40px;
  --pp-space-12: 48px;

  /* ----- Raios padronizados ----- */
  --pp-radius-xs: 8px;
  --pp-radius-sm: 12px;
  --pp-radius-md: 16px;
  --pp-radius-lg: 22px;
  --pp-radius-xl: 28px;
  --pp-radius-pill: 999px;

  /* ----- Bordas premium ----- */
  --pp-border:      1px solid rgba(111, 107, 179, 0.18);
  --pp-border-soft: 1px solid rgba(111, 107, 179, 0.10);
  --pp-border-strong: 1px solid rgba(64, 61, 122, 0.28);

  /* ----- Sombras coesas (mesma cor base) ----- */
  --pp-shadow-xs: 0 1px 2px rgba(48, 38, 95, 0.06);
  --pp-shadow-sm: 0 4px 12px -4px rgba(64, 61, 122, 0.14);
  --pp-shadow-md: 0 12px 32px -14px rgba(64, 61, 122, 0.26);
  --pp-shadow-lg: 0 24px 60px -22px rgba(48, 38, 95, 0.34);
  --pp-shadow-xl: 0 40px 100px -28px rgba(48, 38, 95, 0.44);
  --pp-glow:      0 18px 46px -10px rgba(111, 107, 179, 0.55);

  /* ----- Gradientes ----- */
  --pp-gradient: linear-gradient(135deg, #6F6BB3 0%, #8C84CC 55%, #AAA3DF 100%);
  --pp-gradient-deep: linear-gradient(135deg, #30265F 0%, #6F6BB3 60%, #AAA3DF 100%);

  /* ----- Foco acessível ----- */
  --pp-focus-ring: 0 0 0 3px rgba(111, 107, 179, 0.35);
}

/* ===========================================================
   LANDING (landing.html — Tailwind)
   Reforço de superfícies e CTAs
   =========================================================== */

/* Botão primário roxo com gradiente premium */
.bg-primary-600,
.bg-primary,
.landing-primary {
  background: var(--pp-gradient) !important;
  box-shadow: var(--pp-glow) !important;
  border-radius: var(--pp-radius-pill);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.bg-primary-600:hover,
.bg-primary:hover,
.landing-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 22px 56px -12px rgba(111, 107, 179, 0.65) !important;
}

/* Cards / superfícies brancas dentro da landing */
.landing-window,
.landing-feature-grid article,
.landing-flow-grid article,
.bg-white\/80,
.bg-white\/70,
.bg-white {
  border: var(--pp-border);
  box-shadow: var(--pp-shadow-md);
  border-radius: var(--pp-radius-lg);
}

/* Navbar pílula */
.landing-nav nav,
header nav.rounded-full {
  border: var(--pp-border) !important;
  box-shadow: var(--pp-shadow-sm) !important;
  backdrop-filter: blur(18px);
}

/* Selo / pill / chip */
.landing-eyebrow,
.landing-proof span {
  border-radius: var(--pp-radius-pill);
  box-shadow: var(--pp-shadow-xs);
}

/* Foco visível consistente */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: none;
  box-shadow: var(--pp-focus-ring);
  border-radius: var(--pp-radius-sm);
}

/* ===========================================================
   PAINEL (admin / owner / builder / onboarding / public)
   Aplica via classes existentes + tokens cdt-*
   =========================================================== */

body:not(.cadatah-auth-page) {
  /* Reescreve tokens já usados pelo panel-modern.css */
  --cdt-line:     rgba(111, 107, 179, 0.18);
  --cdt-shadow-sm: var(--pp-shadow-sm);
  --cdt-shadow:    var(--pp-shadow-md);
  --cdt-shadow-lg: var(--pp-shadow-lg);
  --cdt-radius-sm: var(--pp-radius-sm);
  --cdt-radius:    var(--pp-radius-md);
  --cdt-radius-lg: var(--pp-radius-lg);
}

/* Hero do painel */
body:not(.cadatah-auth-page) .hero {
  border: var(--pp-border) !important;
  border-radius: var(--pp-radius-xl) !important;
  box-shadow: var(--pp-shadow-md) !important;
  padding: var(--pp-space-6) var(--pp-space-8) !important;
}
@media (max-width: 720px) {
  body:not(.cadatah-auth-page) .hero {
    padding: var(--pp-space-5) var(--pp-space-5) !important;
    border-radius: var(--pp-radius-lg) !important;
  }
}

/* Cards de stat / panel / card / inspector */
body:not(.cadatah-auth-page) .hero-stats > div,
body:not(.cadatah-auth-page) .panel,
body:not(.cadatah-auth-page) .card,
body:not(.cadatah-auth-page) .inspector-card,
body:not(.cadatah-auth-page) .onboarding-card,
body:not(.cadatah-auth-page) .onboarding-panel,
body:not(.cadatah-auth-page) .week-day-card,
body:not(.cadatah-auth-page) .cdt-pending-list,
body:not(.cadatah-auth-page) .cdt-today-row,
body:not(.cadatah-auth-page) .cdt-agenda-row,
body:not(.cadatah-auth-page) .builder-sidebar,
body:not(.cadatah-auth-page) .builder-inspector,
body:not(.cadatah-auth-page) .product-compact-editor,
body:not(.cadatah-auth-page) .product-compact-summary {
  border: var(--pp-border) !important;
  border-radius: var(--pp-radius-md) !important;
  box-shadow: var(--pp-shadow-sm) !important;
}

body:not(.cadatah-auth-page) .panel,
body:not(.cadatah-auth-page) .card,
body:not(.cadatah-auth-page) .onboarding-panel,
body:not(.cadatah-auth-page) .onboarding-card {
  padding: var(--pp-space-6) !important;
}
@media (max-width: 720px) {
  body:not(.cadatah-auth-page) .panel,
  body:not(.cadatah-auth-page) .card,
  body:not(.cadatah-auth-page) .onboarding-panel,
  body:not(.cadatah-auth-page) .onboarding-card {
    padding: var(--pp-space-5) !important;
    border-radius: var(--pp-radius-md) !important;
  }
}

/* Botões primários do painel */
body:not(.cadatah-auth-page) .btn:not(.secondary):not(.ghost):not(.danger),
body:not(.cadatah-auth-page) .btn-primary,
body:not(.cadatah-auth-page) .builder-topbar .btn:not(.secondary),
body:not(.cadatah-auth-page) button.primary {
  background: var(--pp-gradient) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--pp-radius-pill) !important;
  box-shadow: var(--pp-glow) !important;
  padding: 10px 18px !important;
  font-weight: 700 !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body:not(.cadatah-auth-page) .btn:not(.secondary):not(.ghost):not(.danger):hover,
body:not(.cadatah-auth-page) .btn-primary:hover,
body:not(.cadatah-auth-page) .builder-topbar .btn:not(.secondary):hover,
body:not(.cadatah-auth-page) button.primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 22px 56px -12px rgba(111, 107, 179, 0.65) !important;
}

/* Botões secundários */
body:not(.cadatah-auth-page) .btn.secondary {
  background: #fff !important;
  color: var(--pp-purple-800) !important;
  border: var(--pp-border-strong) !important;
  border-radius: var(--pp-radius-pill) !important;
  box-shadow: var(--pp-shadow-xs) !important;
  padding: 10px 18px !important;
  font-weight: 650 !important;
}
body:not(.cadatah-auth-page) .btn.secondary:hover {
  background: var(--pp-purple-50) !important;
  border-color: var(--pp-purple-400) !important;
}

/* Inputs / selects / textareas */
body:not(.cadatah-auth-page) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body:not(.cadatah-auth-page) select,
body:not(.cadatah-auth-page) textarea {
  border: var(--pp-border) !important;
  border-radius: var(--pp-radius-sm) !important;
  background: #fff !important;
  color: var(--pp-ink) !important;
  caret-color: var(--pp-ink);
  box-shadow: var(--pp-shadow-xs) !important;
  padding: 10px 12px !important;
  transition: border-color .18s ease, box-shadow .18s ease;
}
body:not(.cadatah-auth-page) select option {
  background: #fff;
  color: var(--pp-ink);
}
body:not(.cadatah-auth-page) input:focus,
body:not(.cadatah-auth-page) select:focus,
body:not(.cadatah-auth-page) textarea:focus {
  outline: none !important;
  border-color: var(--pp-purple) !important;
  box-shadow: var(--pp-focus-ring) !important;
}

/* Tabs (visao geral / hoje / agenda etc.) */
body:not(.cadatah-auth-page) .tab,
body:not(.cadatah-auth-page) .cdt-admin-tabs button {
  border-radius: var(--pp-radius-pill) !important;
  padding: 10px 18px !important;
  border: var(--pp-border-soft) !important;
}
body:not(.cadatah-auth-page) .tab.active,
body:not(.cadatah-auth-page) .cdt-admin-tabs button.is-active {
  background: var(--pp-gradient) !important;
  color: #fff !important;
  box-shadow: var(--pp-glow) !important;
  border-color: transparent !important;
}

/* Sidebar nav-tab ativa: glow sutil */
body:not(.cadatah-auth-page) .sidebar .nav-tab.active {
  box-shadow: var(--pp-shadow-sm), 0 0 0 1px var(--pp-purple-200) inset !important;
}

/* Espaçamento global do main */
body:not(.cadatah-auth-page) .main {
  gap: var(--pp-space-6) !important;
  padding: var(--pp-space-8) var(--pp-space-8) var(--pp-space-12) !important;
}
@media (max-width: 720px) {
  body:not(.cadatah-auth-page) .main {
    gap: var(--pp-space-5) !important;
    padding: var(--pp-space-5) var(--pp-space-4) var(--pp-space-10) !important;
  }
}

/* Foco premium em todos os controles do painel */
body:not(.cadatah-auth-page) a:focus-visible,
body:not(.cadatah-auth-page) button:focus-visible,
body:not(.cadatah-auth-page) [role="button"]:focus-visible {
  outline: none !important;
  box-shadow: var(--pp-focus-ring) !important;
}

/* Preserva o WYSIWYG do builder (preview do site cliente) */
body:not(.cadatah-auth-page) .builder-preview,
body:not(.cadatah-auth-page) .builder-preview * {
  /* Não impor tokens premium dentro do preview */
}
