/* LEGISTAMP CLEAN CORPORATE SAAS DESIGN SYSTEM */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --bg-primary: #F8FAFC;
  --bg-secondary: #FFFFFF;
  --bg-card: #FFFFFF;
  --bg-card-hover: #F1F5F9;
  
  --navy-dark: #0A192F;
  --navy-primary: #0E2542;
  --navy-light: #1E3A5F;
  --navy-muted: #334155;
  
  --gold-primary: #B8860B;
  --gold-light: #D4AF37;
  --gold-accent: #C5A059;
  --gold-subtle: #FEF9C3;
  
  --emerald-verified: #059669;
  --emerald-bg: #ECFDF5;
  --emerald-border: #A7F3D0;
  
  --text-main: #0F172A;
  --text-secondary: #334155;
  --text-muted: #64748B;
  
  --border-light: #E2E8F0;
  --border-focus: #0E2542;
  
  --shadow-subtle: 0 1px 3px 0 rgba(0, 0, 0, 0.06), 0 1px 2px 0 rgba(0, 0, 0, 0.04);
  --shadow-card: 0 4px 20px -2px rgba(15, 23, 42, 0.06), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
  --shadow-card-hover: 0 10px 30px -4px rgba(15, 23, 42, 0.1), 0 4px 10px -2px rgba(15, 23, 42, 0.04);
}

html {
  font-size: 79% !important;
  overflow-x: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
}

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: var(--bg-primary);
  color: var(--text-main);
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow-x: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
  letter-spacing: -0.01em;
}

main {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 0%;
}

/* Escala tipográfica corporativa refinada y compacta */
h1 {
  font-size: 1.85rem !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em;
}

h2 {
  font-size: 1.4rem !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em;
}

h3 {
  font-size: 1.12rem !important;
  line-height: 1.35 !important;
  letter-spacing: -0.015em;
}

h4 {
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
}

.text-5xl {
  font-size: 2.15rem !important;
  line-height: 1.15 !important;
}

.text-4xl {
  font-size: 1.75rem !important;
  line-height: 1.2 !important;
}

.text-3xl {
  font-size: 1.45rem !important;
  line-height: 1.25 !important;
}

.text-2xl {
  font-size: 1.22rem !important;
  line-height: 1.3 !important;
}

.text-xl {
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
}

.text-lg {
  font-size: 0.94rem !important;
  line-height: 1.4 !important;
}

/* Preservación estricta del tamaño de la Navbar */
header {
  font-size: 1.15rem !important;
}

header nav a, header .nav-link, header button, header .text-sm {
  font-size: 1.01rem !important;
}

header .text-xs {
  font-size: 0.86rem !important;
}

header .btn-gold {
  font-size: 0.86rem !important;
  padding: 0.55rem 0.95rem !important;
}

.font-serif-ceremonial {
  font-family: 'Plus Jakarta Sans', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.font-mono-code {
  font-family: 'JetBrains Mono', monospace;
}

/* Paneles y Tarjetas Limpias */
.glass-panel {
  background: var(--bg-card);
  border: 1px solid var(--border-light);
  box-shadow: var(--shadow-card);
  border-radius: 16px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Compatibilidad de modo corporativo claro y alto contraste */
.glass-panel .text-slate-400 {
  color: var(--text-muted);
}

.glass-panel .text-slate-300 {
  color: var(--text-secondary);
}

/* Soporte de alto contraste garantizado para contenedores y secciones oscuras */
.bg-navy-900, .bg-navy-950, .bg-slate-900, .bg-slate-950, .dark-panel {
  color: #F8FAFC;
}

.bg-navy-900 h1, .bg-navy-900 h2, .bg-navy-900 h3, .bg-navy-900 h4,
.bg-navy-950 h1, .bg-navy-950 h2, .bg-navy-950 h3, .bg-navy-950 h4,
.bg-slate-900 h1, .bg-slate-900 h2, .bg-slate-900 h3, .bg-slate-900 h4,
.bg-slate-950 h1, .bg-slate-950 h2, .bg-slate-950 h3, .bg-slate-950 h4,
.bg-navy-900 .text-white, .bg-navy-950 .text-white,
.bg-slate-900 .text-white, .bg-slate-950 .text-white {
  color: #FFFFFF !important;
}

.bg-navy-900 .text-slate-300, .bg-navy-950 .text-slate-300,
.bg-slate-900 .text-slate-300, .bg-slate-950 .text-slate-300 {
  color: #E2E8F0 !important;
}

.bg-navy-900 .text-slate-400, .bg-navy-950 .text-slate-400,
.bg-slate-900 .text-slate-400, .bg-slate-950 .text-slate-400 {
  color: #CBD5E1 !important;
}

.glass-panel:hover {
  border-color: #CBD5E1;
  box-shadow: var(--shadow-card-hover);
}

/* Botones Corporativos */
.btn-gold {
  background: var(--navy-primary);
  color: #FFFFFF;
  font-weight: 600;
  padding: 0.7rem 1.5rem;
  border-radius: 10px;
  border: 1px solid transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-shadow: 0 2px 8px rgba(14, 37, 66, 0.2);
  transition: all 0.2s ease;
  text-decoration: none;
}

.btn-gold:hover {
  background: var(--navy-light);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(14, 37, 66, 0.3);
  color: #FFFFFF;
}

.btn-outline-gold {
  background: #FFFFFF;
  color: var(--navy-primary);
  border: 1px solid var(--border-light);
  font-weight: 600;
  padding: 0.7rem 1.5rem;
  border-radius: 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
  text-decoration: none;
  box-shadow: var(--shadow-subtle);
}

.btn-outline-gold:hover {
  background: #F8FAFC;
  border-color: #94A3B8;
  color: var(--navy-dark);
}

/* Badges */
.badge-gold {
  background: #FEF9C3;
  color: #854D0E;
  border: 1px solid #FDE047;
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  font-size: 0.825rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: inline-block;
}

.badge-verified {
  background: var(--emerald-bg);
  color: var(--emerald-verified);
  border: 1px solid var(--emerald-border);
  padding: 0.35rem 0.95rem;
  border-radius: 9999px;
  font-size: 0.825rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  letter-spacing: 0.03em;
}

/* Dropzone Corporativo Drag & Drop */
.dropzone-luxury {
  border: 2px dashed #CBD5E1;
  background: #F8FAFC;
  border-radius: 16px;
  padding: 3rem 2rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
}

.dropzone-luxury:hover, .dropzone-luxury.dragover {
  border-color: var(--navy-primary);
  background: #F1F5F9;
  box-shadow: 0 0 0 4px rgba(14, 37, 66, 0.05);
}

/* Formularios Corporativos */
.input-luxury {
  background: #FFFFFF;
  border: 1px solid var(--border-light);
  color: var(--text-main);
  padding: 0.8rem 1.1rem;
  border-radius: 10px;
  width: 100%;
  box-sizing: border-box;
  outline: none;
  font-size: 1rem;
  transition: all 0.2s ease;
  box-shadow: var(--shadow-subtle);
}

.input-luxury:focus {
  border-color: var(--navy-primary);
  box-shadow: 0 0 0 3px rgba(14, 37, 66, 0.1);
}

.input-luxury::placeholder {
  color: #94A3B8;
}

/* Barra de progreso de emisión masiva */
.progress-container {
  background: #E2E8F0;
  border-radius: 9999px;
  height: 10px;
  overflow: hidden;
  position: relative;
}

.progress-bar-gold {
  height: 100%;
  background: linear-gradient(90deg, #0E2542, #1E3A5F, #059669);
  border-radius: 9999px;
  transition: width 0.3s ease;
}
