:root{
	--bg: #f4f7fb; /* light page background */
	--muted: #0f1724; /* dark text */
	--accent: #3b82f6; /* lighter blue */
	--accent-2: #60a5fa;
	--card: #ffffff;
	--soft: #6b7280;
}
 body { background: var(--bg); color:var(--muted); font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; }
 #sidebar { width: 220px; min-height:100vh; transition: width .2s; background: #ffffff; }
 #sidebar .nav-link { color:var(--muted); }
 #sidebar .sidebar-header strong { color:var(--accent); }
#sidebar.collapsed { width: 60px; }
#appWrapper main { min-height: 80vh; }
 .card, .auth-box { border-radius:12px; background: var(--card); }
.badge-status-pendiente { background:#f59e0b; color:#081018; }
.badge-status-activo { background:var(--accent); color:#fff; }
.badge-status-mora { background:#ef4444; color:#fff; }
.badge-status-cerrado { background:#10b981; color:#04201a; }

/* Auth page */
.auth-container { min-height: 85vh; padding: 40px; }
.auth-box { max-width:900px; width:100%; }
.auth-box .col-md-6 { min-height:320px; }
.auth-box .bg-primary { background: linear-gradient(135deg,var(--accent),var(--accent-2)); color: #fff; }
.auth-box .lead { opacity:0.95; color: #f8fafc }

/* Top navbar tweaks */
.navbar { background: transparent; }

/* Tables and cards: lighter backgrounds */
.card, .table, .list-group-item { background: rgba(255,255,255,0.03); color:var(--muted); border: none; }
.btn-primary { background: var(--accent); border: none; }
.btn-outline-danger { border-color: rgba(255,255,255,0.06); color: #fff; }

/* Dashboard cards */
.card { padding: 0; overflow: hidden; border-radius: 12px; box-shadow: 0 6px 18px rgba(15,23,36,0.06); background: var(--card); }
.card .card-body { padding: 20px; }
.card h6 { color: rgba(15,23,36,0.85); font-weight:600; margin-bottom:8px }
.card h3 { color: var(--muted); margin:0; font-weight:700 }

/* Tables */
.table { color:var(--muted); }
.table thead th { color: rgba(15,23,36,0.8); border-bottom:1px solid rgba(15,23,36,0.06); }
.table tbody tr { border-bottom:1px solid rgba(15,23,36,0.03); }
.table-sm td, .table-sm th { padding: .6rem .6rem; }

/* Modals (Bootstrap) */
.modal-content { background: #ffffff; border-radius:12px; color: #0b1220; }
.modal-header { border-bottom: 1px solid rgba(15,23,36,0.06); }
.modal-footer { border-top: 1px solid rgba(15,23,36,0.06); }

/* Forms */
.form-control { background: #fff; border: 1px solid rgba(15,23,36,0.08); color: #0b1220; }
.form-select { background: #fff; border: 1px solid rgba(15,23,36,0.08); color: #0b1220; }

/* Buttons */
.btn { border-radius:8px; }
.btn-primary { box-shadow: 0 6px 14px rgba(59,130,246,0.12); background: linear-gradient(90deg,var(--accent),var(--accent-2)); color: #fff; }
.btn-primary:hover { opacity: .95; }

/* Responsive tweaks */
@media (max-width: 767px) {
	#sidebar { display:none; }
	.auth-box { margin: 20px; }
}

/* Sidebar and nav tweaks */
#sidebar .nav-link { padding: 12px 16px; border-radius: 8px; transition: background .15s, transform .08s; }
#sidebar .nav-link:hover { background: rgba(37,99,235,0.08); transform: translateX(3px); color: #fff; }
#sidebar .nav-link.active { background: linear-gradient(90deg, var(--accent) 0%, #3b82f6 100%); color: #fff; box-shadow: 0 6px 18px rgba(37,99,235,0.12); }

/* Modern primary button (used for module CTAs) */
.btn-primary {
	border: none;
	color: #fff;
	padding: 10px 18px;
	font-weight: 600;
	transition: transform .08s ease, box-shadow .08s ease, opacity .08s;
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(59,130,246,0.12); }
.btn-outline-secondary { color: rgba(255,255,255,0.85); border-color: rgba(255,255,255,0.06); }

/* Module buttons (for actions like Registrar, Nuevo) */
.module-btn {
	display:inline-flex; align-items:center; gap:.6rem; justify-content:center;
	padding:.6rem 1rem; border-radius:999px; font-weight:700; cursor:pointer;
	background: linear-gradient(90deg, var(--accent), var(--accent-2));
	color:#fff; border:none; box-shadow: 0 8px 22px rgba(59,130,246,0.08);
}
.module-btn:focus, .module-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(59,130,246,0.10); }

/* Small action buttons (pill) */
.btn-pill { border-radius: 999px; padding: .45rem .9rem; }

/* Status badges with better contrast */
.badge-status-pendiente { background:#f59e0b; color:#081018; }
.badge-status-activo { background:linear-gradient(90deg,var(--accent),var(--accent-2)); color:#fff; }
.badge-status-mora { background:linear-gradient(90deg,#ef4444,#f97316); color:#fff; }
.badge-status-cerrado { background:linear-gradient(90deg,#10b981,#34d399); color:#04201a; }

/* Utility: subtle divider line */
.soft-divider { height:1px; background: rgba(255,255,255,0.03); margin: 12px 0; }
