/* ==========================================================================
   School Management Pro — Modern Blue/Gray Theme
   Capa de sobreescritura visual. No modifica la logica del plugin,
   solo el aspecto (colores, tipografia, espaciados, sombras, radios).
   Se carga al final, despues de Bootstrap y de los CSS propios del plugin.
   ========================================================================== */

:root {
	--wlsm-blue-50:  #eff6ff;
	--wlsm-blue-100: #dbeafe;
	--wlsm-blue-200: #bfdbfe;
	--wlsm-blue-300: #93c5fd;
	--wlsm-blue-400: #60a5fa;
	--wlsm-blue-500: #3b82f6;
	--wlsm-blue-600: #2563eb;
	--wlsm-blue-700: #1d4ed8;
	--wlsm-blue-800: #1e40af;
	--wlsm-blue-900: #1e3a8a;

	--wlsm-gray-50:  #f8fafc;
	--wlsm-gray-100: #f1f5f9;
	--wlsm-gray-200: #e2e8f0;
	--wlsm-gray-300: #cbd5e1;
	--wlsm-gray-400: #94a3b8;
	--wlsm-gray-500: #64748b;
	--wlsm-gray-600: #475569;
	--wlsm-gray-700: #334155;
	--wlsm-gray-800: #1e293b;
	--wlsm-gray-900: #0f172a;

	--wlsm-success: #2563a8;
	--wlsm-danger:  #dc2626;
	--wlsm-warning: #d97706;

	--wlsm-radius-sm: 6px;
	--wlsm-radius-md: 10px;
	--wlsm-radius-lg: 14px;

	--wlsm-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);
	--wlsm-shadow-md: 0 2px 8px rgba(15, 23, 42, .08);
	--wlsm-shadow-lg: 0 8px 24px rgba(15, 23, 42, .10);

	--wlsm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   Base / tipografia
   -------------------------------------------------------------------------- */
.wlsm,
.wlsm-container,
.wlsm-shortcode-entity,
#wlsm-app,
.wrap.wlsm,
.license-container {
	font-family: var(--wlsm-font);
	color: var(--wlsm-gray-800);
}

.wlsm h1, .wlsm h2, .wlsm h3, .wlsm h4, .wlsm h5, .wlsm h6,
.wlsm-container h1, .wlsm-container h2, .wlsm-container h3,
.wlsm-container h4, .wlsm-container h5, .wlsm-container h6 {
	color: var(--wlsm-gray-900);
	font-weight: 600;
}

.wlsm a,
.wlsm-container a {
	color: var(--wlsm-blue-600);
}
.wlsm a:hover,
.wlsm-container a:hover {
	color: var(--wlsm-blue-800);
}

/* --------------------------------------------------------------------------
   Botones (Bootstrap overrides)
   -------------------------------------------------------------------------- */
.wlsm .btn,
.wlsm-container .btn,
.wrap.wlsm .btn {
	border-radius: var(--wlsm-radius-sm);
	font-weight: 500;
	letter-spacing: .01em;
	box-shadow: none;
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.wlsm .btn-primary,
.wlsm-container .btn-primary,
.wrap.wlsm .btn-primary,
input.button.button-primary,
#wlsm-save-class-btn {
	background-color: var(--wlsm-blue-600) !important;
	border-color: var(--wlsm-blue-600) !important;
	color: #fff !important;
}
.wlsm .btn-primary:hover,
.wlsm-container .btn-primary:hover,
.wrap.wlsm .btn-primary:hover,
input.button.button-primary:hover {
	background-color: var(--wlsm-blue-700) !important;
	border-color: var(--wlsm-blue-700) !important;
}

.wlsm .btn-secondary,
.wlsm-container .btn-secondary {
	background-color: var(--wlsm-gray-500) !important;
	border-color: var(--wlsm-gray-500) !important;
	color: #fff !important;
}
.wlsm .btn-secondary:hover,
.wlsm-container .btn-secondary:hover {
	background-color: var(--wlsm-gray-600) !important;
	border-color: var(--wlsm-gray-600) !important;
}

.wlsm .btn-success,
.wlsm-container .btn-success {
	background-color: var(--wlsm-success) !important;
	border-color: var(--wlsm-success) !important;
}
.wlsm .btn-danger,
.wlsm-container .btn-danger {
	background-color: var(--wlsm-danger) !important;
	border-color: var(--wlsm-danger) !important;
}
.wlsm .btn-warning,
.wlsm-container .btn-warning {
	background-color: var(--wlsm-warning) !important;
	border-color: var(--wlsm-warning) !important;
	color: #fff !important;
}
.wlsm .btn-info,
.wlsm-container .btn-info {
	background-color: var(--wlsm-blue-400) !important;
	border-color: var(--wlsm-blue-400) !important;
	color: #fff !important;
}
.wlsm .btn-light,
.wlsm-container .btn-light {
	background-color: var(--wlsm-gray-100) !important;
	border-color: var(--wlsm-gray-200) !important;
	color: var(--wlsm-gray-700) !important;
}
.wlsm .btn-outline-primary,
.wlsm-container .btn-outline-primary {
	color: var(--wlsm-blue-600) !important;
	border-color: var(--wlsm-blue-600) !important;
}
.wlsm .btn-outline-primary:hover,
.wlsm-container .btn-outline-primary:hover {
	background-color: var(--wlsm-blue-600) !important;
	color: #fff !important;
}

/* --------------------------------------------------------------------------
   Formularios
   -------------------------------------------------------------------------- */
.wlsm .form-control,
.wlsm-container .form-control,
.wlsm-form-control,
.wrap.wlsm .form-control,
.wlsm select,
.license-container input[type="text"] {
	border: 1px solid var(--wlsm-gray-300);
	border-radius: var(--wlsm-radius-sm);
	background-color: #fff;
	color: var(--wlsm-gray-800);
}
.wlsm .form-control:focus,
.wlsm-container .form-control:focus,
.wlsm-form-control:focus {
	border-color: var(--wlsm-blue-500);
	box-shadow: 0 0 0 3px var(--wlsm-blue-100);
}
.wlsm label,
.wlsm-container label,
.wlsm-form-label {
	color: var(--wlsm-gray-700);
	font-weight: 500;
}

/* --------------------------------------------------------------------------
   Tarjetas / bloques / paneles
   -------------------------------------------------------------------------- */
.wlsm .card,
.wlsm-container .card,
.wrap.wlsm .card {
	border: 1px solid var(--wlsm-gray-200);
	border-radius: var(--wlsm-radius-lg);
	box-shadow: var(--wlsm-shadow-sm);
}
.wlsm .card-header,
.wlsm-container .card-header {
	background-color: var(--wlsm-gray-50);
	border-bottom: 1px solid var(--wlsm-gray-200);
	font-weight: 600;
	color: var(--wlsm-gray-800);
}

.wlsm .wlsm-main-header,
.wlsm .wlsm-main-header .card-header {
	background-color: var(--wlsm-blue-50) !important;
	border: 1px solid var(--wlsm-blue-100) !important;
	box-shadow: var(--wlsm-shadow-sm) !important;
	border-radius: var(--wlsm-radius-lg) !important;
}

.wlsm .wlsm-section-heading-block {
	background-color: var(--wlsm-blue-700) !important;
	box-shadow: none !important;
	border-radius: var(--wlsm-radius-md) !important;
}

.wlsm .wlsm-school-card {
	color: var(--wlsm-gray-800) !important;
	box-shadow: var(--wlsm-shadow-sm) !important;
	border: 1px solid var(--wlsm-gray-200);
	border-radius: var(--wlsm-radius-lg) !important;
}
.wlsm .wlsm-school-card-border {
	background-color: var(--wlsm-blue-600) !important;
	box-shadow: none !important;
}
.wlsm .wlsm-school-card-link:hover .wlsm-school-card,
.wlsm .wlsm-staff-school-card-link:hover .wlsm-school-card {
	background-color: var(--wlsm-blue-600) !important;
	box-shadow: var(--wlsm-shadow-md) !important;
}

.wlsm .wlsm-group,
.wlsm .wlsm-form-section {
	background-color: #fff;
	border: 1px solid var(--wlsm-gray-200) !important;
	box-shadow: var(--wlsm-shadow-sm) !important;
	border-radius: var(--wlsm-radius-lg) !important;
}

.wlsm .wlsm-students-block,
.wlsm .wlsm-table-block {
	background-color: var(--wlsm-gray-50) !important;
	border: 1px solid var(--wlsm-gray-200) !important;
	box-shadow: none !important;
	border-radius: var(--wlsm-radius-lg) !important;
}

/* Estadisticas del dashboard: mismo azul en vez de multicolor */
.wlsm .wlsm-stats-block {
	background-color: #fff;
	box-shadow: var(--wlsm-shadow-sm) !important;
	border-radius: var(--wlsm-radius-md) !important;
	border: 1px solid var(--wlsm-gray-200);
}
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 1) .wlsm-stats-block,
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 2) .wlsm-stats-block,
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 3) .wlsm-stats-block,
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 4) .wlsm-stats-block {
	border-left: 4px solid var(--wlsm-blue-500) !important;
}
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 1) .wlsm-stats-block .wlsm-stats-icon,
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 2) .wlsm-stats-block .wlsm-stats-icon,
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 3) .wlsm-stats-block .wlsm-stats-icon,
.wlsm .wlsm-stats-blocks .col-md-4:nth-of-type(4n + 4) .wlsm-stats-block .wlsm-stats-icon {
	color: var(--wlsm-blue-500) !important;
}
.wlsm .wlsm-stats-counter { color: var(--wlsm-gray-900); }
.wlsm .wlsm-stats-label { color: var(--wlsm-gray-500) !important; }

/* --------------------------------------------------------------------------
   Tablas / DataTables
   -------------------------------------------------------------------------- */
.wlsm table.table,
.wlsm-container table,
.wlsm table.dataTable {
	border-color: var(--wlsm-gray-200) !important;
}
.wlsm table.table thead th,
.wlsm table.dataTable thead th {
	background-color: var(--wlsm-gray-50);
	color: var(--wlsm-gray-700);
	border-bottom: 1px solid var(--wlsm-gray-200) !important;
	font-weight: 600;
}
.wlsm table.table-striped tbody tr:nth-of-type(odd) {
	background-color: var(--wlsm-gray-50);
}
.wlsm table.table-hover tbody tr:hover {
	background-color: var(--wlsm-blue-50);
}

/* --------------------------------------------------------------------------
   Alertas / badges / notificaciones
   -------------------------------------------------------------------------- */
.wlsm-alert,
.wlsm .alert {
	border-radius: var(--wlsm-radius-sm) !important;
	border-width: 1px !important;
}
.wlsm-alert-success,
.wlsm .alert-success {
	color: var(--wlsm-success) !important;
	background-color: #eef6f3 !important;
	border-color: #cfe6dd !important;
}
.wlsm .alert-danger {
	color: var(--wlsm-danger) !important;
	background-color: #fdecec !important;
	border-color: #f6c9c9 !important;
}
.wlsm .badge-primary,
.wlsm .wlsm-badge {
	background-color: var(--wlsm-blue-600) !important;
}

/* --------------------------------------------------------------------------
   Navegacion / pestanas / dashboard de padres-alumnos
   -------------------------------------------------------------------------- */
.wlsm-navigation-links li a {
	background-color: #fff;
	color: var(--wlsm-gray-700);
	box-shadow: none;
	border: 1px solid var(--wlsm-gray-200);
	border-radius: var(--wlsm-radius-sm);
}
.wlsm-navigation-links li a:hover,
.wlsm-navigation-links li a:focus,
.wlsm-navigation-links li a.active {
	background-color: var(--wlsm-blue-600);
	border-color: var(--wlsm-blue-600);
	color: #fff;
	box-shadow: none;
}

.wlsm-container .wlsm-content-area {
	border: 1px solid var(--wlsm-gray-200);
	border-radius: var(--wlsm-radius-lg);
	background-color: #fff;
}

.wlsm-container .wlsm-parent-student-section,
.wlsm-container .wlsm-st-details {
	background: #fff;
	box-shadow: var(--wlsm-shadow-sm) !important;
	border: 1px solid var(--wlsm-gray-200);
	border-radius: var(--wlsm-radius-lg);
}

.wlsm-container .wlsm-st-details-heading {
	color: var(--wlsm-blue-700) !important;
	border-bottom: 1px solid var(--wlsm-gray-200);
}

.wlsm .nav-tabs {
	border-bottom: 1px solid var(--wlsm-gray-200);
}
.wlsm .nav-tabs .nav-link.active {
	color: var(--wlsm-blue-700);
	border-color: var(--wlsm-gray-200) var(--wlsm-gray-200) #fff;
	font-weight: 600;
}
.wlsm .nav-tabs .nav-link {
	color: var(--wlsm-gray-500);
}

/* --------------------------------------------------------------------------
   Pie / encabezado de impresion (mantener neutral, no afecta impresion)
   -------------------------------------------------------------------------- */
.wlsm-school-header {
	border-bottom: 1px solid var(--wlsm-gray-300);
}

/* --------------------------------------------------------------------------
   Panel admin — pagina de licencia / cabecera superior
   -------------------------------------------------------------------------- */
.top_head {
	background: linear-gradient(135deg, var(--wlsm-blue-700), var(--wlsm-blue-600)) !important;
	box-shadow: none !important;
}
.license-container .license-section {
	background-color: #fff !important;
	box-shadow: var(--wlsm-shadow-sm) !important;
	border: 1px solid var(--wlsm-gray-200) !important;
	border-bottom: 1px solid var(--wlsm-gray-200) !important;
	border-radius: var(--wlsm-radius-lg) !important;
}
.license-container .Configuration_btn .conf_btn,
.column-6 input.button.button-primary {
	background-color: var(--wlsm-blue-600) !important;
	box-shadow: none !important;
	border-radius: var(--wlsm-radius-sm) !important;
}
.license-container .change-log-title {
	background-color: var(--wlsm-gray-600) !important;
	border-radius: var(--wlsm-radius-sm) var(--wlsm-radius-sm) 0 0;
}
.license-container ul > li > a:hover {
	color: var(--wlsm-blue-600) !important;
}

/* --------------------------------------------------------------------------
   Menu lateral propio del plugin dentro de wp-admin (si aplica)
   -------------------------------------------------------------------------- */
#adminmenu .toplevel_page_wlsm .wp-menu-image img,
#adminmenu #toplevel_page_wlsm .wp-menu-image img {
	opacity: .9;
}
#adminmenu #toplevel_page_wlsm.current > a.menu-top,
#adminmenu #toplevel_page_wlsm.wp-has-current-submenu > a.menu-top,
#adminmenu .toplevel_page_wlsm.current > a.menu-top {
	background-color: var(--wlsm-blue-800) !important;
}
#adminmenu #toplevel_page_wlsm ul.wp-submenu li.current a,
#adminmenu #toplevel_page_wlsm ul.wp-submenu li a:focus {
	color: var(--wlsm-blue-300) !important;
}

/* --------------------------------------------------------------------------
   Utilidades de color reutilizadas por el plugin (texto)
   -------------------------------------------------------------------------- */
.wlsm-text-primary,
.wlsm .wlsm-link {
	color: var(--wlsm-blue-600) !important;
}
.wlsm-text-secondary,
.wlsm .wlsm_text_secondary,
.wlsm .wlsm-school-card-light {
	color: var(--wlsm-gray-500) !important;
}
.wlsm-text-success {
	color: var(--wlsm-success) !important;
}
.wlsm-text-danger {
	color: var(--wlsm-danger) !important;
}

/* --------------------------------------------------------------------------
   Scrollbar sutil (opcional, no afecta funcionalidad)
   -------------------------------------------------------------------------- */
.wlsm ::-webkit-scrollbar {
	height: 8px;
	width: 8px;
}
.wlsm ::-webkit-scrollbar-thumb {
	background-color: var(--wlsm-gray-300);
	border-radius: 8px;
}
.wlsm ::-webkit-scrollbar-track {
	background-color: transparent;
}
