/*
 * GOASS Shell — diseño del navbar y el sidebar del layout (AdminLTE).
 * Solo estilos: el markup y el comportamiento (árbol, colapsado, móvil) siguen siendo los de AdminLTE.
 * Usa las variables de tokens.css. Se carga después de goass.css, por eso los selectores llevan body.skin-blue.
 */

body.skin-blue {
    --gc-shell-h: 50px;
    --gc-shell-nav: var(--gc-green-strong);
    --gc-shell-nav-hover: color-mix(in srgb, #fff 16%, var(--gc-green-strong));
    --gc-shell-sb: var(--gc-blue);
    --gc-shell-sb-ink: rgba(255, 255, 255, 0.86);
    --gc-shell-sb-ink-soft: rgba(255, 255, 255, 0.66);
    --gc-shell-sb-hover: color-mix(in srgb, #fff 10%, var(--gc-blue));
    --gc-shell-sb-active: var(--gc-blue-strong);
    --gc-shell-sb-flyout: var(--gc-blue-strong);
    --gc-shell-sb-line: rgba(255, 255, 255, 0.18);
}

/* ==========================================================================
   Navbar
   ========================================================================== */
body.skin-blue .main-header {
    font-family: var(--gc-font);
    box-shadow: var(--gc-shadow-sm);
}

body.skin-blue .main-header .logo,
body.skin-blue .main-header .logo:hover {
    background-color: var(--gc-surface);
    border: 0;
    border-right: 1px solid var(--gc-border);
    border-bottom: 1px solid var(--gc-border);
}

/* font-size 0 oculta el texto suelto que acompaña al logo; el nombre del sistema ya está en el navbar */
body.skin-blue .main-header .logo .logo-lg {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
}

body.skin-blue .main-header .logo .logo-lg > img {
    max-width: 100%;
    max-height: 22px;
    width: auto;
    padding-top: 0;
}

body.skin-blue .main-header .logo .logo-mini > img {
    padding: 0;
    width: 30px;
    height: auto;
    vertical-align: middle;
}

body.skin-blue .main-header .navbar {
    background-color: var(--gc-shell-nav);
    color: #fff;
}

/* Botón hamburguesa */
body.skin-blue .main-header .navbar .sidebar-toggle {
    width: 36px;
    height: 36px;
    margin: 6px 8px;
    padding: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
    line-height: 36px;
    text-align: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.skin-blue .main-header .navbar .sidebar-toggle:hover,
body.skin-blue .main-header .navbar .sidebar-toggle:focus-visible {
    background-color: var(--gc-shell-nav-hover);
    color: #fff;
    outline: none;
}

body.skin-blue .main-header .navbar .sidebar-toggle:focus-visible {
    box-shadow: 0 0 0 2px #fff;
}

/* Links del navbar */
body.skin-blue .main-header .navbar .nav > li > a {
    color: #fff;
    font-size: 14px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.skin-blue .main-header .navbar .nav > li > a:hover,
body.skin-blue .main-header .navbar .nav > li > a:focus,
body.skin-blue .main-header .navbar .nav > li > a:active,
body.skin-blue .main-header .navbar .nav .open > a,
body.skin-blue .main-header .navbar .nav .open > a:hover,
body.skin-blue .main-header .navbar .nav .open > a:focus {
    background-color: var(--gc-shell-nav-hover);
    color: #fff;
}

/* Nombre del sistema (izquierda) */
body.skin-blue .main-header .navbar > div:not(.navbar-custom-menu) .nav > li > a,
body.skin-blue .main-header .navbar > div:not(.navbar-custom-menu) .nav > li > a:hover,
body.skin-blue .main-header .navbar > div:not(.navbar-custom-menu) .nav > li > a:focus {
    padding-left: 6px;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    font-weight: 500;
    cursor: default;
}

/* Usuario y notificaciones (derecha) */
body.skin-blue .main-header .navbar-custom-menu .navbar-nav > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    margin: 6px 4px;
    padding: 0 12px;
    border-radius: 999px;
    line-height: 20px;
    font-weight: 600;
}

body.skin-blue .main-header .navbar-custom-menu:first-of-type {
    margin-right: 8px;
}

body.skin-blue .main-header .navbar-custom-menu .navbar-nav > li > a > .fa {
    margin-right: 0;
    font-size: 18px;
    color: #fff;
}

body.skin-blue .main-header .navbar-custom-menu .navbar-nav > li > a > .fa-user-circle {
    font-size: 20px;
}

/* Campana: botón redondo con contador */
body.skin-blue .main-header .navbar-custom-menu .navbar-nav > li > a[href="/notificaciones"] {
    position: relative;
    justify-content: center;
    width: 36px;
    padding: 0;
}

body.skin-blue .main-header #counter {
    position: absolute;
    top: 1px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border: 2px solid var(--gc-shell-nav);
    border-radius: 999px;
    background-color: var(--gc-red);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 14px;
}

/* ==========================================================================
   Footer
   ========================================================================== */
body.skin-blue .main-footer {
    border-top: 0;
    background-color: var(--gc-shell-sb);
    font-family: var(--gc-font);
}

body.skin-blue .main-footer .footerVerde {
    height: 4px;
    background-color: var(--gc-shell-nav);
}

body.skin-blue .main-footer .footerAzul {
    display: flex;
    align-items: center;
    min-height: 44px;
    max-height: none;
    padding: 12px 20px;
    background-color: var(--gc-shell-sb);
    color: rgba(255, 255, 255, 0.86);
    font-size: 13px;
}

body.skin-blue .main-footer .footerAzul strong {
    margin-right: 4px;
    color: #fff;
    font-weight: 600;
}

/* ==========================================================================
   Sidebar
   ========================================================================== */
body.skin-blue .wrapper,
body.skin-blue .main-sidebar,
body.skin-blue .left-side {
    background-color: var(--gc-shell-sb);
}

body.skin-blue .main-sidebar,
body.skin-blue .left-side {
    border-right: 0;
    font-family: var(--gc-font);
}

body.skin-blue .main-sidebar .sidebar {
    padding: 10px 0 16px;
}

/* Ítems de primer nivel */
body.skin-blue .sidebar-menu > li > a {
    position: relative;
    margin: 2px 8px;
    padding: 10px 28px 10px 12px;
    border-left: 0;
    border-radius: 8px;
    color: var(--gc-shell-sb-ink);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.skin-blue .sidebar-menu > li > a > span,
body.skin-blue .sidebar-menu > li > a > i,
body.skin-blue .sidebar-menu > li > a > .pull-right-container > i {
    color: inherit;
    text-transform: none;
}

body.skin-blue .sidebar-menu > li > a > .fa {
    width: 20px;
    margin-right: 8px;
    text-align: center;
    color: var(--gc-shell-sb-ink-soft);
    transition: color 0.15s ease;
}

body.skin-blue .sidebar-menu > li > a > .pull-right-container > .fa-angle-left {
    margin-right: 0;
    color: var(--gc-shell-sb-ink-soft);
    transition: transform 0.2s var(--gc-ease);
}

body.skin-blue .sidebar-menu > li > a > .pull-right-container {
    position: absolute;
    top: 50%;
    right: 12px;
    margin-top: -10px;
    line-height: 20px;
}

body.skin-blue .sidebar-menu > li:hover > a {
    background-color: var(--gc-shell-sb-hover);
    color: #fff;
}

body.skin-blue .sidebar-menu > li:hover > a > .fa {
    color: #fff;
}

/* Grupo abierto */
body.skin-blue .sidebar-menu > li.active > a {
    background-color: var(--gc-shell-sb-active);
    color: #fff;
}

body.skin-blue .sidebar-menu > li.active > a > .fa,
body.skin-blue .sidebar-menu > li.active > a > .pull-right-container > .fa-angle-left {
    color: var(--gc-primary);
}

body.skin-blue .sidebar-menu > li.active > a::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background-color: var(--gc-primary);
}

/* Submenú */
body.skin-blue .sidebar-menu > li > .treeview-menu {
    margin: 2px 8px 8px 30px;
    padding: 2px 0 2px 8px;
    border-left: 1px solid var(--gc-shell-sb-line);
    background: transparent;
}

body.skin-blue .sidebar-menu .treeview-menu > li > a {
    position: relative;
    margin: 1px 0;
    padding: 6px 10px;
    border-radius: 6px;
    background-color: transparent;
    color: var(--gc-shell-sb-ink-soft);
    font-size: 13.5px;
    line-height: 20px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.skin-blue .sidebar-menu .treeview-menu > li > a:hover,
body.skin-blue .sidebar-menu .treeview-menu > li.active > a {
    background-color: var(--gc-shell-sb-hover);
    color: #fff;
}

body.skin-blue .sidebar-menu .treeview-menu > li > a:hover::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -9px;
    width: 1px;
    height: 18px;
    margin-top: -9px;
    background-color: var(--gc-primary);
}

body.skin-blue .sidebar-menu .treeview-menu > li > a > span {
    color: inherit;
}

/* Etiqueta "Nuevo" */
body.skin-blue .sidebar-menu .label-default {
    display: inline-block;
    margin-right: 4px;
    padding: 2px 6px;
    border-radius: 999px;
    background-color: var(--gc-primary);
    color: var(--gc-black-strong);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    vertical-align: 1px;
}

body.skin-blue .sidebar-menu a:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px var(--gc-primary);
}

/* Sidebar colapsado (solo íconos, menú flotante al pasar el mouse) */
@media (min-width: 768px) {
    body.skin-blue.sidebar-mini.sidebar-collapse .main-sidebar .sidebar {
        padding-top: 6px;
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li > a {
        margin: 2px 0;
        padding: 12px 5px 12px 15px;
        border-radius: 0;
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > .fa {
        margin-right: 0;
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li.active > a::before {
        top: 6px;
        bottom: 6px;
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a {
        background-color: var(--gc-shell-sb-flyout);
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right-container) {
        margin-left: 0;
        padding: 12px 16px;
        border-radius: 0 8px 0 0;
        background-color: var(--gc-shell-sb-flyout);
        color: #fff;
        font-weight: 600;
        box-shadow: var(--gc-shadow-md);
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li:not(.treeview) > a > span,
    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:only-of-type {
        border-radius: 0 8px 8px 0;
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container {
        display: none !important;
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
        margin: 0;
        padding: 4px 8px 8px;
        border-left: 0;
        border-radius: 0 0 8px 0;
        background-color: var(--gc-shell-sb-flyout);
        box-shadow: var(--gc-shadow-md);
    }

    body.skin-blue.sidebar-mini.sidebar-collapse .sidebar-menu .treeview-menu > li > a:hover::before {
        display: none;
    }
}
