*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f5f7fb;color:#172033}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#172554;color:#dbeafe;padding:20px 14px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;gap:10px;align-items:center;padding:5px 10px 28px}.brand b{display:block;color:white}.brand small{opacity:.65}.logo{width:40px;height:40px;border-radius:10px;background:#2563eb;color:white;display:grid;place-items:center;font-weight:800}.logo.big{margin:auto;width:54px;height:54px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.side-bottom a{color:#cbd5e1;text-decoration:none;padding:11px;border-radius:8px}.sidebar nav a:hover,.side-bottom a:hover{background:#263b78;color:white}.side-bottom{margin-top:auto}.main{flex:1}.topbar{height:82px;background:white;border-bottom:1px solid #e5e7eb;padding:17px 28px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:0;font-size:23px}.topbar small{color:#64748b}.content{padding:28px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.card,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000008}.card span,.card small{display:block;color:#64748b;font-size:12px}.card strong{display:block;font-size:29px;margin:8px 0}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.search{display:flex;gap:8px;flex:1}.search input{max-width:450px;flex:1}.toolbar input,.toolbar button,.search input,.search button,.form-grid input,.form-grid select{padding:10px;border:1px solid #dbe1ea;border-radius:7px;background:#fff}.search button{cursor:pointer}.primary{background:#2563eb!important;color:white!important;border:0!important;padding:10px 15px;text-decoration:none;border-radius:7px;cursor:pointer;display:inline-block}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid #edf0f4;white-space:nowrap}th{color:#64748b;background:#fafbfc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:12px;color:#64748b}.form-grid input,.form-grid select{display:block;width:100%;margin-top:5px}.full{grid-column:1/-1}.actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px;align-items:center}.actions a{color:#475569}.login-body{min-height:100vh;display:grid;place-items:center;background:#eef2ff}.login-card{width:min(390px,92%);background:#fff;padding:30px;border-radius:15px;box-shadow:0 12px 40px #0002;text-align:center}.login-card h1{margin:10px 0 4px}.login-card p{color:#64748b}.login-card label{text-align:left;display:block;margin:14px 0;font-size:13px}.login-card input{display:block;width:100%;padding:11px;margin-top:5px;border:1px solid #dbe1ea;border-radius:7px}.login-card .primary{width:100%;margin-top:10px}.error{background:#fee2e2;color:#991b1b;padding:9px;border-radius:7px;font-size:13px}@media(max-width:850px){.sidebar{position:fixed;left:-240px;top:0;bottom:0;z-index:5}.cards{grid-template-columns:1fr 1fr}.content{padding:18px}}@media(max-width:550px){.cards,.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.toolbar{flex-direction:column}.search input{max-width:none}}
/* ========================================
   IUCSO - AJUSTE DE LOGOTIPO V8.1
   ======================================== */

/* Logo del men煤 lateral */
.sidebar-logo {
    width: 55px !important;
    height: 55px !important;
    max-width: 55px !important;
    max-height: 55px !important;

    object-fit: contain !important;
    object-position: center;

    display: block;
    flex-shrink: 0;

    background: #ffffff;
    padding: 3px;
    border-radius: 8px;
}

/* Contenedor del logo y nombre */
.brand-iucso {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
}

/* Logo de la pantalla de acceso */
.login-logo {
    width: 120px !important;
    height: 120px !important;

    max-width: 120px !important;
    max-height: 120px !important;

    object-fit: contain !important;
    object-position: center;

    display: block !important;
    margin: 0 auto 15px auto !important;

    background: #ffffff;
    border-radius: 12px;
}

/* Tarjeta de inicio de sesi贸n */
.iucso-login {
    text-align: center;
}

/* Campos del login siguen alineados normalmente */
.iucso-login label {
    text-align: left;
}
/* ==========================================
   IUCSO - TAMAÑO DEFINITIVO DE LOGOTIPOS
   ========================================== */

/* LOGO DEL LOGIN */
.login-logo {
    display: block !important;

    width: 220px !important;
    height: 220px !important;

    max-width: 220px !important;
    max-height: 220px !important;

    object-fit: contain !important;

    margin: 0 auto 15px auto !important;

    background: white;
    padding: 4px;
    border-radius: 10px;
}

/* Centrar encabezado del login */
.iucso-login h1,
.iucso-login p {
    text-align: center;
}


/* LOGO DEL MENÚ LATERAL */
.sidebar-logo {
    display: block !important;

    width: 48px !important;
    height: 48px !important;

    max-width: 48px !important;
    max-height: 48px !important;

    object-fit: contain !important;

    flex: 0 0 48px !important;

    background: white;
    padding: 2px;
    border-radius: 7px;
}


/* Contenedor IUCSO del menú */
.brand-iucso {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
}

.brand-iucso > div {
    min-width: 0;
}

.brand-iucso b {
    display: block;
}

.brand-iucso small {
    display: block;
}
