/* DVYER Lite Console v19
   Capa visual ligera y progresiva. No oculta contenido ni requiere animaciones. */

:root {
  --dv19-bg: #07101f;
  --dv19-bg-2: #0a1426;
  --dv19-panel: #0e1a2d;
  --dv19-panel-2: #111f34;
  --dv19-border: rgba(148, 163, 184, .18);
  --dv19-border-strong: rgba(96, 165, 250, .38);
  --dv19-text: #edf4ff;
  --dv19-muted: #9dadc5;
  --dv19-accent: #6d78ff;
  --dv19-accent-2: #27c7d8;
  --dv19-success: #34d399;
  --dv19-warning: #fbbf24;
  --dv19-danger: #fb7185;
  --dv19-radius: 14px;
  --dv19-shadow: 0 10px 28px rgba(0, 0, 0, .2);
}

html { color-scheme: dark; background: var(--dv19-bg); }
html, body { min-height: 100%; overflow-x: clip; }
body.dv19-lite {
  background: var(--dv19-bg) !important;
  color: var(--dv19-text) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.dv19-lite::before,
body.dv19-lite::after,
body.dv19-lite .ambient-grid,
body.dv19-lite .ambient-wave,
body.dv19-lite .auth-ambient,
body.dv19-lite .dv17-sidebar-card,
body.dv19-lite .dv17-api-visual {
  display: none !important;
}

/* Se eliminan efectos costosos de versiones anteriores. */
body.dv19-lite *,
body.dv19-lite *::before,
body.dv19-lite *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
}
body.dv19-lite :is(.reveal,.dv17-enter,.dv-neon-pulse) {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
body.dv19-lite :is(.surface-card,.panel,.live-panel,.service-card,.plan-card,.endpoint-card,.workspace-health-card,.dashboard-section,.auth-panel,.auth-showcase,.admin-card,.dv-ai-admin-card,.api-playground,.metric-card,.metric-item,.overview-card,.quick-actions-card) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

body.dv19-lite :is(.container,.profile-main,.admin-content,.docs-content,.tester-content,.store-content) {
  min-width: 0;
}

body.dv19-lite :is(.site-header,.profile-appbar,.admin-appbar,.docs-appbar,.tester-appbar,.store-appbar) {
  background: rgba(7, 16, 31, .97) !important;
  border-color: var(--dv19-border) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.dv19-lite :is(.surface-card,.panel,.live-panel,.service-card,.plan-card,.endpoint-card,.workspace-health-card,.dashboard-section,.auth-panel,.auth-showcase,.admin-card,.api-playground,.overview-card,.quick-actions-card,.metric-card,.metric-item) {
  background: var(--dv19-panel) !important;
  border: 1px solid var(--dv19-border) !important;
  border-radius: var(--dv19-radius) !important;
  box-shadow: none !important;
}

body.dv19-lite :is(h1,h2,h3,h4,strong,.brand strong,.sidebar-brand strong) { color: var(--dv19-text) !important; }
body.dv19-lite :is(p,small,.muted,.section-heading > p,.metric-label,.card-copy) { color: var(--dv19-muted); }

body.dv19-lite :is(input,select,textarea) {
  max-width: 100%;
  background: #091426 !important;
  color: var(--dv19-text) !important;
  border: 1px solid var(--dv19-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
body.dv19-lite :is(input,select,textarea):focus {
  border-color: var(--dv19-border-strong) !important;
  outline: 2px solid rgba(96,165,250,.16) !important;
  outline-offset: 1px;
}

body.dv19-lite :is(.button,.account-button,.admin-plan-shortcut,.appbar-link,.github-auth-button,.docs-command-open,button[type="submit"]) {
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: background-color .12s ease, border-color .12s ease, opacity .12s ease !important;
  transform: none !important;
}
body.dv19-lite :is(.button-primary,.request-submit,.mobile-cta,.button-ultra) {
  background: var(--dv19-accent) !important;
  border-color: var(--dv19-accent) !important;
  color: #fff !important;
}
body.dv19-lite :is(.button-secondary,.account-button,.admin-plan-shortcut,.appbar-link,.github-auth-button,.docs-command-open) {
  background: #101d31 !important;
  border-color: var(--dv19-border) !important;
  color: var(--dv19-text) !important;
}
@media (hover:hover) and (pointer:fine) {
  body.dv19-lite :is(.button,.account-button,.admin-plan-shortcut,.appbar-link,.github-auth-button,.docs-command-open,button[type="submit"]):hover {
    filter: brightness(1.08) !important;
  }
}

/* Portada: se conserva la estructura funcional y se elimina la decoración pesada. */
body.home-page.dv19-lite .site-header { position: sticky !important; top: 0; }
body.home-page.dv19-lite .header-inner { min-height: 70px; }
body.home-page.dv19-lite .hero-section { padding-top: clamp(34px, 6vw, 72px) !important; }
body.home-page.dv19-lite .hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
  gap: clamp(24px, 4vw, 52px) !important;
  align-items: center !important;
}
body.home-page.dv19-lite .dv17-hero-stack { display: block !important; min-width: 0; }
body.home-page.dv19-lite .api-playground { width: 100%; }
body.home-page.dv19-lite .metrics-strip,
body.home-page.dv19-lite .services-grid,
body.home-page.dv19-lite .plans-grid,
body.home-page.dv19-lite .live-dashboard {
  gap: 14px !important;
}
body.home-page.dv19-lite .metrics-strip { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
body.home-page.dv19-lite .service-card,
body.home-page.dv19-lite .plan-card { min-width: 0; }

/* Paneles internos: columnas estables y legibles. */
body.profile-page.dv19-lite .overview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
body.profile-page.dv19-lite .overview-grid > * { min-width: 0 !important; width: auto !important; }
body.profile-page.dv19-lite .usage-layout,
body.profile-page.dv19-lite .usage-stats,
body.profile-page.dv19-lite .profile-grid,
body.profile-page.dv19-lite .security-grid {
  min-width: 0 !important;
}
body.profile-page.dv19-lite .usage-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}
body.profile-page.dv19-lite .usage-stats > * { min-width: 0 !important; overflow-wrap: anywhere; }

body.dv19-lite :is(.admin-grid,.dv-ai-admin-grid,.docs-layout,.tester-layout,.store-layout,.profile-grid,.security-grid) > * {
  min-width: 0 !important;
}
body.admin-page.dv19-lite .dv-ai-admin-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr) !important;
  gap: 16px !important;
}
body.admin-page.dv19-lite .dv-ai-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 12px !important;
}
body.admin-page.dv19-lite .dv-ai-limit-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}

/* Asistente ligero y movible. */
.dv-assistant-root {
  position: fixed;
  inset: 0;
  z-index: 2147482000;
  pointer-events: none;
  font-family: Manrope, system-ui, sans-serif;
}
.dv-assistant-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(147,197,253,.5) !important;
  border-radius: 18px !important;
  background: #172554 !important;
  color: #dbeafe !important;
  box-shadow: var(--dv19-shadow) !important;
  cursor: grab;
  touch-action: none;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  transition: box-shadow .12s ease, background-color .12s ease !important;
}
.dv-assistant-launcher:active { cursor: grabbing; }
.dv-assistant-launcher.is-dragging { box-shadow: 0 14px 34px rgba(0,0,0,.34) !important; }
.dv-assistant-launcher-robot { width: 30px; height: 30px; display: grid; place-items: center; }
.dv-assistant-robot-svg { width: 100%; height: 100%; }
.dv-assistant-launcher-label {
  position: absolute;
  right: -4px;
  top: -5px;
  min-width: 23px;
  height: 20px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--dv19-accent-2);
  color: #04131b;
  font-size: 10px;
  font-weight: 800;
}
.dv-assistant-panel {
  position: fixed;
  right: 22px;
  bottom: 92px;
  width: min(410px, calc(100vw - 32px));
  max-height: min(660px, calc(100dvh - 116px));
  display: grid;
  grid-template-rows: auto auto minmax(140px,1fr) auto auto;
  overflow: hidden;
  border: 1px solid var(--dv19-border-strong);
  border-radius: 16px;
  background: #081426;
  color: var(--dv19-text);
  box-shadow: 0 18px 48px rgba(0,0,0,.38);
  pointer-events: auto;
}
.dv-assistant-panel[hidden] { display: none !important; }
.dv-assistant-header {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto 34px;
  gap: 10px;
  align-items: center;
  min-height: 64px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--dv19-border);
  background: #0d1a2e;
}
.dv-assistant-orb { width: 36px; height: 36px; display:grid; place-items:center; color:#93c5fd; }
.dv-assistant-title { min-width:0; display:grid; gap:2px; }
.dv-assistant-title strong { font-size:14px; }
.dv-assistant-title span { color:var(--dv19-muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-assistant-quota { font-size:10px; color:#bfdbfe; border:1px solid var(--dv19-border); border-radius:999px; padding:5px 7px; white-space:nowrap; }
.dv-assistant-close { width:32px; height:32px; padding:0; border:0 !important; background:transparent !important; color:var(--dv19-muted) !important; font-size:24px; }
.dv-assistant-messages { min-height:180px; overflow:auto; padding:14px; display:flex; flex-direction:column; gap:10px; overscroll-behavior:contain; }
.dv-assistant-message { display:flex; }
.dv-assistant-message.is-user { justify-content:flex-end; }
.dv-assistant-bubble { max-width:88%; padding:10px 12px; border-radius:12px; background:#13233a; color:var(--dv19-text); font-size:13px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.dv-assistant-message.is-user .dv-assistant-bubble { background:#3446b8; color:#fff; }
.dv-assistant-message.is-error .dv-assistant-bubble { background:rgba(251,113,133,.12); border:1px solid rgba(251,113,133,.3); }
.dv-assistant-message.is-warning .dv-assistant-bubble { background:rgba(251,191,36,.1); border:1px solid rgba(251,191,36,.28); }
.dv-assistant-suggestions { display:flex; gap:7px; overflow:auto; padding:0 12px 10px; scrollbar-width:none; }
.dv-assistant-suggestion { flex:0 0 auto; padding:7px 9px; border:1px solid var(--dv19-border) !important; border-radius:999px !important; background:#0f1d31 !important; color:#c8d6ea !important; font-size:11px; }
.dv-assistant-form { display:grid; grid-template-columns:minmax(0,1fr) 42px; gap:8px; padding:10px 12px 12px; border-top:1px solid var(--dv19-border); background:#0a1628; }
.dv-assistant-input { min-height:42px; max-height:110px; resize:none; padding:10px 11px !important; font-size:13px; }
.dv-assistant-send { width:42px; height:42px; display:grid; place-items:center; padding:0; border:0 !important; border-radius:10px !important; background:var(--dv19-accent) !important; color:#fff !important; }
.dv-assistant-send svg { width:19px; height:19px; }
.dv-assistant-send.is-cooldown { background:#334155 !important; font-size:11px; font-weight:800; }
.dv-assistant-footnote { grid-column:1/-1; color:var(--dv19-muted); font-size:10px; }
.dv-assistant-typing { display:inline-flex; gap:4px; align-items:center; height:18px; }
.dv-assistant-typing i { width:5px; height:5px; border-radius:50%; background:#93c5fd; }
.dv-assistant-setup { padding:18px; display:grid; gap:11px; }
.dv-assistant-setup-icon { width:46px; height:46px; color:#93c5fd; }
.dv-assistant-setup p,.dv-assistant-setup small { margin:0; color:var(--dv19-muted); }
.dv-assistant-setup-actions { display:flex; flex-wrap:wrap; gap:8px; }
.dv-assistant-setup-primary,.dv-assistant-setup-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 12px; border-radius:9px; text-decoration:none; }
.dv-assistant-setup-primary { background:var(--dv19-accent); color:#fff; }
.dv-assistant-setup-secondary { border:1px solid var(--dv19-border) !important; background:#101d31 !important; color:var(--dv19-text) !important; }

/* Admin IA simple. */
.dv-ai-admin-card { padding:18px !important; }
.dv-ai-admin-heading,.dv-ai-switch-row,.dv-ai-summary-item,.dv-ai-actions { display:flex; gap:12px; align-items:center; justify-content:space-between; }
.dv-ai-switch-row small { display:block; color:var(--dv19-muted); }
.dv-ai-admin-section label { display:grid; gap:6px; min-width:0; }
.dv-ai-admin-section label > span { color:var(--dv19-muted); font-size:12px; }
.dv-ai-full-field { margin-top:12px; }
.dv-ai-actions { justify-content:flex-start; flex-wrap:wrap; margin-top:14px; }
.dv-ai-feedback { min-height:22px; }
.dv-ai-feedback.is-success { color:var(--dv19-success); }
.dv-ai-feedback.is-error { color:var(--dv19-danger); }
.dv-ai-status { padding:5px 8px; border:1px solid var(--dv19-border); border-radius:999px; color:var(--dv19-warning); font-size:11px; }
.dv-ai-status.is-ready { color:var(--dv19-success); }
.dv-ai-summary-list { display:grid; gap:8px; }
.dv-ai-summary-item { padding:10px 0; border-bottom:1px solid var(--dv19-border); }
.dv-ai-security-note { margin-top:14px; padding:12px; border-radius:10px; background:#0a1628; color:var(--dv19-muted); line-height:1.55; }

@media (max-width: 1100px) {
  body.home-page.dv19-lite .hero-grid { grid-template-columns:1fr !important; }
  body.home-page.dv19-lite .metrics-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body.profile-page.dv19-lite .overview-grid,
  body.admin-page.dv19-lite .dv-ai-admin-grid { grid-template-columns:1fr !important; }
}

@media (max-width: 760px) {
  body.dv19-lite { font-size:14px; }
  body.dv19-lite :is(.container,.profile-main,.admin-content,.docs-content,.tester-content,.store-content) { width:100%; max-width:100%; }
  body.home-page.dv19-lite .metrics-strip,
  body.profile-page.dv19-lite .usage-stats,
  body.admin-page.dv19-lite .dv-ai-form-grid,
  body.admin-page.dv19-lite .dv-ai-limit-grid { grid-template-columns:1fr !important; }
  body.dv19-lite :is(.hero-actions,.dv-ai-actions,.auth-tabs) { flex-wrap:wrap; }
  .dv-assistant-panel {
    left: 8px;
    right: 8px;
    bottom: 78px;
    width:auto;
    max-height:min(72dvh, 620px);
    border-radius:14px;
  }
  .dv-assistant-launcher { width:54px; height:54px; right:14px; bottom:14px; border-radius:16px !important; }
  .dv-assistant-header { grid-template-columns:34px minmax(0,1fr) 30px; }
  .dv-assistant-quota { grid-column:2; justify-self:start; }
  .dv-assistant-close { grid-column:3; grid-row:1/3; }
}

@media (max-width: 420px) {
  .dv-assistant-panel { left:6px; right:6px; bottom:72px; max-height:76dvh; }
  .dv-assistant-messages { padding:11px; }
  .dv-assistant-bubble { max-width:93%; }
}

@media (prefers-reduced-motion: reduce) {
  body.dv19-lite *, body.dv19-lite *::before, body.dv19-lite *::after { transition:none !important; animation:none !important; }
}
