/* Global elegant palette - ServiCont */
:root {
	--sv-bg: #eef2ff;
	--sv-bg-soft: #f8fafc;
	--sv-surface: #ffffff;
	--sv-text: #0f172a;
	--sv-muted: #64748b;
	--sv-primary: #4f46e5;
	--sv-primary-2: #3b82f6;
	--sv-accent: #22d3ee;
	--sv-border: #dbe3f3;
	--sv-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
	--sv-shadow-lg: 0 18px 36px rgba(15, 23, 42, 0.12);
}

body {
	background: linear-gradient(180deg, #f8fbff 0%, var(--sv-bg) 100%);
	color: var(--sv-text);
}

a {
	color: var(--sv-primary);
}

a:hover {
	color: #3730a3;
}

.container-fluid > header {
	margin: 12px 0 18px;
	padding: 12px 14px;
	border-radius: 12px;
	background: linear-gradient(135deg, #1e3a8a 0%, #3730a3 55%, #2563eb 100%);
	color: #ffffff;
	box-shadow: var(--sv-shadow);
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.container-fluid > header h1 {
	color: #ffffff;
	font-weight: 700;
	letter-spacing: 0.2px;
}

.page-wrap,
.main-content,
.content-wrapper {
	color: var(--sv-text);
}

.card,
.modal-content,
.contabilidad-card-professional,
.menu-card {
	border-radius: 12px;
	border: 1px solid var(--sv-border);
	box-shadow: var(--sv-shadow);
	background: var(--sv-surface);
}

.card:hover,
.contabilidad-card-professional:hover,
.menu-card:hover {
	box-shadow: var(--sv-shadow-lg);
}

.card-header,
.modal-header,
.contabilidad-card-header {
	background: linear-gradient(135deg, #eff6ff 0%, #e0e7ff 100%);
	border-bottom: 1px solid var(--sv-border);
	color: #1e1b4b;
	font-weight: 700;
}

.btn {
	border-radius: 10px;
	font-weight: 600;
}

.btn-primary,
.btn-login,
.contabilidad-card-btn,
.menu-btn,
.btn.btn-primary {
	background: linear-gradient(135deg, var(--sv-primary-2) 0%, var(--sv-primary) 100%);
	border: none;
	color: #fff;
	box-shadow: 0 8px 16px rgba(79, 70, 229, 0.25);
}

.btn-primary:hover,
.btn-login:hover,
.contabilidad-card-btn:hover,
.menu-btn:hover,
.btn.btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(79, 70, 229, 0.3);
	color: #fff;
}

.btn-outline-primary {
	border-color: var(--sv-primary);
	color: var(--sv-primary);
}

.btn-outline-primary:hover {
	background: var(--sv-primary);
	border-color: var(--sv-primary);
	color: #fff;
}

.btn-secondary {
	background: #475569;
	border-color: #475569;
}

.btn-success {
	background: linear-gradient(135deg, #10b981 0%, #059669 100%);
	border: none;
}

.btn-danger {
	background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
	border: none;
}

.btn-warning {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
	border: none;
	color: #fff;
}

.btn-info {
	background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
	border: none;
}

.form-control,
.form-input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
select,
textarea {
	border-radius: 10px;
	border: 1px solid var(--sv-border);
	box-shadow: none;
}

.form-control:focus,
.form-input:focus,
input:focus,
select:focus,
textarea:focus {
	border-color: var(--sv-primary-2);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.table {
	background: var(--sv-surface);
	border-radius: 10px;
	overflow: hidden;
}

.table thead th {
	background: linear-gradient(135deg, #e0e7ff 0%, #eef2ff 100%);
	color: #312e81;
	border-bottom: 1px solid var(--sv-border);
	font-weight: 700;
}

.table td,
.table th {
	border-color: #e5e7eb;
}

.badge-primary {
	background: var(--sv-primary);
}

.badge-info {
	background: #0891b2;
}

.pagination .page-link {
	color: var(--sv-primary);
	border-color: var(--sv-border);
}

.pagination .page-item.active .page-link {
	background: var(--sv-primary);
	border-color: var(--sv-primary);
}

.breadcrumb {
	background: #f1f5f9;
	border-radius: 8px;
}

.alert {
	border-radius: 10px;
	border: none;
}

footer,
.footer {
	margin-top: 20px;
	padding: 14px 16px;
	border-radius: 12px;
	background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
	color: #cbd5e1;
}

footer a,
.footer a {
	color: #93c5fd;
}