/*
Theme Name: SIS Dashboard
Description: Tema de panel de usuarios con barra lateral, cabecera y tarjetas. Pensado para los plugins SIS Inicio, SIS Usuarios y SIS Módulos.
Version: 1.0.0
Requires at least: 5.3
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sis-dashboard
*/

:root{--sis-side:#2c3e50;--sis-top:#34495e;--sis-cab:#0e2a47;--sis-acento:#0d6efd;--sis-fondo:#f4f6f9;--sis-texto:#212529;--sis-borde:#dee2e6}
*{box-sizing:border-box}
body.sis-body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--sis-fondo);color:var(--sis-texto);font-size:15px;line-height:1.5}
a{color:var(--sis-acento)}

/* Inicio de sesión */
.sis-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--sis-side);padding:16px}
.sis-login-caja{background:#fff;border-radius:10px;padding:32px;width:100%;max-width:360px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.sis-login-caja h1{font-size:1.4rem;text-align:center;margin:0 0 1rem}
.sis-login-caja form p{margin:0 0 1rem}
.sis-login-caja label{display:block;font-weight:600;margin-bottom:.3rem}
.sis-login-caja input[type=text],.sis-login-caja input[type=password]{width:100%;padding:.6rem .7rem;border:1px solid var(--sis-borde);border-radius:6px;font:inherit}
.sis-login-caja input[type=submit]{width:100%;padding:.7rem;border:0;border-radius:6px;background:var(--sis-acento);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.sis-login-caja .login-remember label{font-weight:400}

/* Estructura */
.sis-app{display:flex;min-height:100vh}
.sis-sidebar{width:230px;flex:0 0 230px;background:var(--sis-side);color:#c8d3df}
.sis-marca{padding:18px 20px;font-weight:700;letter-spacing:.5px;font-size:1.05rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.sis-menu{list-style:none;margin:0;padding:8px 0}
.sis-menu li{margin:0}
.sis-menu a{display:block;padding:11px 20px;color:#c8d3df;text-decoration:none}
.sis-menu a:hover{background:rgba(255,255,255,.06);color:#fff}
.sis-menu .current-menu-item>a,.sis-menu .current_page_item>a{background:var(--sis-acento);color:#fff}
.sis-main{flex:1;display:flex;flex-direction:column;min-width:0}
.sis-topbar{height:56px;background:var(--sis-top);color:#fff;display:flex;align-items:center;justify-content:flex-end;padding:0 24px;gap:16px;font-size:.92rem}
.sis-topbar a{color:#fff}
.sis-content{padding:24px;flex:1}
.sis-cabecera{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px}
.sis-cabecera h1{font-size:1.5rem;margin:0;font-weight:600}
.sis-migas{font-size:.85rem;color:#6c757d}
.sis-migas a{color:#6c757d;text-decoration:none}
.sis-footer{padding:14px 24px;background:#fff;border-top:1px solid var(--sis-borde);font-size:.85rem;color:#6c757d;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* Tarjetas */
.sis-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.sis-card{background:#fff;border-radius:8px;padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.06);border-left:4px solid var(--sis-acento)}
.sis-card-num{display:block;font-size:1.9rem;font-weight:700;line-height:1.1}
.sis-card-texto{color:#6c757d;font-size:.9rem}
.sis-card-verde{border-color:#198754}
.sis-card-amarillo{border-color:#ffc107}
.sis-card-rojo{border-color:#dc3545}
.sis-bloque{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.sis-bloque h2{font-size:1.1rem;margin:0 0 12px}
.sis-saludo{margin:0 0 16px;color:#495057}

/* Tablas */
.sis-tabla-wrap{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.sis-table{width:100%;border-collapse:collapse;min-width:640px}
.sis-table th{background:var(--sis-cab);color:#fff;text-align:left;padding:10px 12px;font-weight:600;white-space:nowrap}
.sis-table td{padding:10px 12px;border-bottom:1px solid var(--sis-borde);vertical-align:middle}
.sis-table tbody tr:nth-child(even){background:#f8f9fb}
.sis-table tbody tr:hover{background:#eef4ff}
.sis-table tbody tr:last-child td{border-bottom:0}
.sis-vacio{text-align:center;color:#6c757d;padding:24px!important}

/* Botones y barra */
.sis-btn{display:inline-block;padding:.45rem .9rem;border:0;border-radius:6px;background:#6c757d;color:#fff;text-decoration:none;font:inherit;font-size:.9rem;cursor:pointer;line-height:1.3}
.sis-btn:hover{filter:brightness(.92);color:#fff}
.sis-btn-primario{background:var(--sis-acento)}
.sis-btn-info{background:#17a2b8}
.sis-btn-peligro{background:#dc3545}
.sis-acciones{display:flex;gap:6px;align-items:center}
.sis-acciones form{margin:0}
.sis-barra{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
.sis-buscar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0}
.sis-buscar label{font-size:.9rem}
.sis-buscar input,.sis-buscar select{padding:.4rem .6rem;border:1px solid var(--sis-borde);border-radius:6px;font:inherit}
.sis-paginacion{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;font-size:.9rem}
.sis-aviso{padding:.8rem 1rem;border-radius:6px;background:#d1e7dd;color:#0f5132;margin-bottom:16px}

/* Módulos */
.sis-modulos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.sis-modulo{background:#fff;border-radius:8px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:8px}
.sis-modulo h3{margin:0;font-size:1.05rem}
.sis-modulo p{margin:0;color:#6c757d;font-size:.9rem;flex:1}
.sis-etiqueta{align-self:flex-start;font-size:.75rem;padding:.15rem .55rem;border-radius:999px;background:#e9ecef;color:#495057}
.sis-etiqueta-activa{background:#d1e7dd;color:#0f5132}

/* Filas de dos columnas del Inicio */
.sis-fila{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.sis-fila-gestion{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.sis-fila .sis-bloque{min-width:0}
.sis-grafico svg{display:block;width:100%;height:auto}
.sis-botones{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.sis-resumen-modulos{margin:0;color:#6c757d;font-size:.9rem}

/* Barras de usuarios por rol */
.sis-rol{margin-bottom:14px}
.sis-rol-cab{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:5px}
.sis-rol-track{height:10px;background:#e9ecef;border-radius:999px;overflow:hidden}
.sis-rol-fill{height:100%;background:var(--sis-acento);border-radius:999px}

/* Alta de usuarios dentro del panel */
.sis-content .alta-usuarios-doble{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}

/* Se adapta al ancho del contenedor, también dentro de columnas de Elementor */
.sis-inicio{container-type:inline-size}
@container (max-width:900px){
  .sis-fila,.sis-fila-gestion{grid-template-columns:minmax(0,1fr)}
}

/* Móvil */
@media (max-width:1000px){
  .sis-fila,.sis-fila-gestion{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .sis-app{flex-direction:column}
  .sis-sidebar{width:100%;flex:none}
  .sis-marca{padding:12px 16px}
  .sis-menu{display:flex;flex-wrap:wrap;padding:0}
  .sis-menu li{flex:1 0 auto}
  .sis-menu a{padding:10px 14px;text-align:center}
  .sis-content{padding:16px}
}
