/* Tema rápido para licitaciones - basado en Bootstrap 5 */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
:root{
  --brand-primary:#0d6efd;
  --brand-success:#198754;
  --brand-dark:#0b132b;
  --brand-accent:#00b4d8;
  --brand-bg:#f6f8fb;
  /* Variables extendidas (compat con estilos aportados) */
  --primary: #3498db;
  --primary-dark: #2980b9;
  --secondary: #3498db;
  --accent: #f1c40f;
  --bg-light: #ffffff;
  --bg-medium: #f8f9fa;
  --text-light: #ffffff;
  --border-radius: 8px;
  --border-radius-lg: 16px;
  --shadow-sm: 0 2px 5px rgba(0,0,0,0.1);
  --shadow-lg: 0 10px 30px rgba(0,0,0,0.15);
  --transition-speed: 0.3s;
}

/* Fondo general suave */
body{
  background: radial-gradient(1200px 600px at 10% -10%, #eef3ff 0%, rgba(238,243,255,0) 60%),
              radial-gradient(1000px 500px at 110% 10%, #eafaf2 0%, rgba(234,250,242,0) 50%),
              var(--brand-bg) !important;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #495057;
}

.small-hint{ color:#6c757d; }

/* Navbar con degradado y sutil blur */
.navbar{
  background: linear-gradient(90deg, var(--brand-dark), #1c2541) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
.navbar .navbar-brand{ font-weight: 600; letter-spacing:.2px; }

/* Tarjetas elevadas */
.card{
  border: 0 !important;
  border-radius: var(--border-radius-lg);
  box-shadow: 0 8px 24px rgba(13,110,253,.10);
  transition: transform .15s ease, box-shadow .15s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(13,110,253,.16);
}
.card .card-title{ font-weight: 700; }
.card.border-primary{ border-left: 6px solid rgba(13,110,253,.6) !important; }
.card.border-success{ border-left: 6px solid rgba(25,135,84,.6) !important; }

/* Encabezado de tarjetas estilo Poppins */
.card-header{
  background-color: var(--primary);
  color: var(--text-light);
  padding: 1rem 1.25rem;
  font-weight: 600;
}

/* Encabezado del título principal del formulario, un poco más oscuro */
.form-title-header{
  background-color: var(--primary-dark) !important;
}

/* Botones con micro-interacción */
.btn{ border-radius: 10px; transition: transform .12s ease, box-shadow .12s ease; }
.btn:hover{ transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0,0,0,.12); }
.btn:active{ transform: translateY(0); }

/* Afinar primarios y success sin romper el branding */
.btn-primary{
  background-color: var(--primary);
  border-color: var(--primary);
  transition: all var(--transition-speed) ease;
}
.btn-primary:hover{
  background-color: var(--primary-dark);
  border-color: var(--primary-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.btn-success{
  background-image: linear-gradient(180deg, #24a86b, #198754);
  border: 0;
}
.btn-success:hover{ filter: brightness(1.03); }

/* Badges y alerts más legibles */
.badge{ border-radius: 8px; }
.alert{ border: 0; border-radius: 12px; box-shadow: 0 6px 16px rgba(0,0,0,.06); }

/* Inputs y focus */
.form-control{ border-radius: var(--border-radius); background-color: var(--bg-light); }
.form-control:focus{ border-color: var(--secondary); box-shadow: 0 0 0 .2rem rgba(52,152,219,.25); }

/* Tablas admin */
.table{ --bs-table-striped-bg: rgba(13,110,253,.04); }
.table thead th{ background: linear-gradient(180deg,#f7f9ff,#eef3ff); border-bottom: 1px solid #e3e9f9; }
/* Legibilidad en tablas y comportamiento móvil */
.table td, .table th{ word-break: break-word; overflow-wrap: anywhere; }
@media (max-width: 576px){
  .table td .btn, .table th .btn{ white-space: nowrap; }
}
.table-responsive{ -webkit-overflow-scrolling: touch; }

/* Contenedor espaciado */
.container{ max-width: 1080px; }

/* Footer invisible (si existiera) */
.footer-muted{ color:#8a94a6; font-size:.9rem; }

/* Utilidades y texto */
.required{ color:#e74c3c; }
.main-content{ margin-top:20px; padding-bottom:60px; }
.footer{ text-align:center; padding:20px 0; color:#7f8c8d; font-size:.85rem; margin-top:40px; }
.page-title{ font-weight:600; }
.page-subtitle{ color:#6c757d; }
