/* PSKLOUD Brand Theme — Premium Soft */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
	--psk-green: #8CC63F;
	--psk-green-dark: #6fa82e;
	--psk-green-hover: #7ab332;
	--psk-blue: #0066A4;
	--psk-blue-dark: #004d7a;
	--psk-blue-light: #1a7fbf;
	--psk-grey: #6D6E71;
	--psk-grey-light: #9a9b9e;
	--psk-grey-lighter: #e8e9ea;
	--psk-grey-bg: #f4f6f8;
	--psk-white: #ffffff;
	--psk-text: #3d3e40;
	--psk-shadow: 0 4px 24px rgba(0, 102, 164, 0.10);
	--psk-shadow-sm: 0 2px 10px rgba(109, 110, 113, 0.12);
	--psk-shadow-hover: 0 8px 28px rgba(0, 102, 164, 0.18);
	--psk-radius: 12px;
	--psk-radius-sm: 8px;
	--psk-transition: 0.2s ease;
}

/* Bootstrap overrides */
.btn {
	border-radius: var(--psk-radius-sm);
	font-weight: 500;
	transition: background-color var(--psk-transition), border-color var(--psk-transition),
		box-shadow var(--psk-transition), transform var(--psk-transition);
}

.btn-primary {
	background-color: var(--psk-blue);
	border-color: var(--psk-blue);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	background-color: var(--psk-blue-dark) !important;
	border-color: var(--psk-blue-dark) !important;
	box-shadow: 0 4px 12px rgba(0, 102, 164, 0.35);
}

.btn-success {
	background-color: var(--psk-green);
	border-color: var(--psk-green);
	color: var(--psk-white);
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
	background-color: var(--psk-green-hover) !important;
	border-color: var(--psk-green-hover) !important;
	color: var(--psk-white) !important;
	box-shadow: 0 4px 12px rgba(140, 198, 63, 0.4);
}

.btn-outline-secondary {
	color: var(--psk-grey);
	border-color: var(--psk-grey-lighter);
}

.btn-outline-secondary:hover {
	background-color: var(--psk-grey-bg);
	border-color: var(--psk-grey-light);
	color: var(--psk-text);
}

.btn-danger {
	border-radius: var(--psk-radius-sm);
}

.btn-warning {
	background-color: var(--psk-grey, #6D6E71);
	border-color: var(--psk-grey, #6D6E71);
	color: var(--psk-white, #fff);
}

.btn-warning:hover,
.btn-warning:focus {
	background-color: #5a5b5e !important;
	border-color: #5a5b5e !important;
	color: var(--psk-white, #fff) !important;
}

.btn-info {
	background-color: var(--psk-blue-light, #1a7fbf);
	border-color: var(--psk-blue-light, #1a7fbf);
}

.btn-info:hover,
.btn-info:focus {
	background-color: var(--psk-blue, #0066A4) !important;
	border-color: var(--psk-blue, #0066A4) !important;
}

.btn-link {
	color: var(--psk-blue);
}

.btn-link:hover {
	color: var(--psk-blue-dark);
}

/* Form controls */
.form-control {
	border-radius: var(--psk-radius-sm);
	border-color: var(--psk-grey-lighter);
	color: var(--psk-text);
	transition: border-color var(--psk-transition), box-shadow var(--psk-transition);
}

.form-control:focus {
	border-color: var(--psk-blue-light);
	box-shadow: 0 0 0 3px rgba(0, 102, 164, 0.15);
}

.input-group-text {
	background-color: var(--psk-grey-bg);
	border-color: var(--psk-grey-lighter);
	color: var(--psk-blue);
	border-radius: var(--psk-radius-sm) 0 0 var(--psk-radius-sm);
}

select.form-control,
select {
	border-radius: var(--psk-radius-sm);
}

/* Modals */
.modal-content {
	border: none;
	border-radius: var(--psk-radius);
	overflow: hidden;
	box-shadow: var(--psk-shadow-hover);
}

.modal-footer {
	background-color: var(--psk-grey-bg);
	border-top: 1px solid var(--psk-grey-lighter);
	padding: 12px 20px;
}

/* Tables */
table {
	border-collapse: separate;
	border-spacing: 0;
}

table thead th {
	background-color: var(--psk-blue) !important;
	color: var(--psk-white) !important;
	font-weight: 600;
	border-color: var(--psk-blue-dark) !important;
	padding: 10px 12px;
	white-space: nowrap;
}

table thead th:first-child {
	border-radius: var(--psk-radius-sm) 0 0 0;
}

table thead th:last-child {
	border-radius: 0 var(--psk-radius-sm) 0 0;
}

table.table-bordered {
	border: 1px solid var(--psk-grey-lighter);
	border-radius: var(--psk-radius-sm);
	overflow: hidden;
}

table.table-bordered td,
table.table-bordered th {
	border-color: var(--psk-grey-lighter);
}

table tbody td {
	color: var(--psk-text);
	padding: 8px 12px;
	vertical-align: middle;
}

.table-hover tbody tr:hover {
	background-color: rgba(0, 102, 164, 0.05) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(244, 246, 248, 0.7);
}

/* Pagination */
#paginado > div {
	border-radius: var(--psk-radius-sm);
	transition: background-color var(--psk-transition), transform var(--psk-transition);
}

#paginado > div:hover {
	background-color: var(--psk-blue-dark);
	transform: translateY(-1px);
}

/* Background overlay */
#fondo::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(244, 246, 248, 0.92) 0%, rgba(255, 255, 255, 0.88) 50%, rgba(0, 102, 164, 0.06) 100%);
	pointer-events: none;
}

#fondo img {
	object-fit: cover;
	opacity: 0.35;
}

/* Status badges in tables */
table .btn-sm {
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	padding: 4px 12px;
	pointer-events: none;
	letter-spacing: 0.2px;
}

table .btn-success.btn-sm {
	background-color: rgba(140, 198, 63, 0.15) !important;
	border-color: transparent !important;
	color: #5a8a1f !important;
}

table .btn-danger.btn-sm {
	background-color: rgba(220, 53, 69, 0.12) !important;
	border-color: transparent !important;
	color: #c82333 !important;
}

table .btn-info.btn-sm {
	background-color: rgba(0, 102, 164, 0.12) !important;
	border-color: transparent !important;
	color: var(--psk-blue) !important;
}

table .btn-warning.btn-sm {
	background-color: rgba(109, 110, 113, 0.12) !important;
	border-color: transparent !important;
	color: var(--psk-grey) !important;
}

/* SweetAlert2 toast — PSKLOUD */
.swal2-container.swal2-top-end {
	padding: 16px;
}

.psk-toast-popup {
	font-family: 'Inter', Arial, sans-serif !important;
	border-radius: var(--psk-radius-sm) !important;
	box-shadow: var(--psk-shadow) !important;
	border: 1px solid var(--psk-grey-lighter) !important;
	padding: 12px 16px !important;
	min-width: 320px;
}

.psk-toast-popup.swal2-icon-success {
	border-left: 4px solid var(--psk-green) !important;
}

.psk-toast-popup.swal2-icon-error {
	border-left: 4px solid #dc3545 !important;
}

.psk-toast-popup.swal2-icon-info {
	border-left: 4px solid var(--psk-blue) !important;
}

.psk-toast-title {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--psk-text) !important;
}

.psk-toast-body {
	font-size: 13px !important;
	color: var(--psk-grey) !important;
	text-align: left !important;
	margin-top: 4px !important;
}

.psk-toast-body b {
	color: var(--psk-text);
}

.psk-toast-progress {
	background: var(--psk-green) !important;
}

.psk-toast-popup .swal2-icon {
	scale: 0.75;
	margin: 0 10px 0 0 !important;
}

.psk-toast-popup .swal2-icon.swal2-success {
	border-color: var(--psk-green) !important;
	color: var(--psk-green) !important;
}

.psk-toast-popup .swal2-icon.swal2-success [class^='swal2-success-line'] {
	background-color: var(--psk-green) !important;
}

.psk-toast-popup .swal2-icon.swal2-success .swal2-success-ring {
	border-color: rgba(140, 198, 63, 0.3) !important;
}

.psk-toast-popup .swal2-icon.swal2-info {
	border-color: var(--psk-blue) !important;
	color: var(--psk-blue) !important;
}
