/* Reserva el espacio del scrollbar vertical aunque no esté presente, para que el
   contenido no salte horizontalmente al aparecer/desaparecer (igual que Collection). */
html {
    scrollbar-gutter: stable;
}

/* ── Header ─────────────────────────────────────────────────────────────────
   Copia exacta del header de Collection. */
.header-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #4E4E4E;
    color: white;
    padding: 0 20px;
    position: fixed;
    top: 0;
    width: 100vw;
    height: 45px;
    z-index: 1000;
}

/* Un solo tamaño de logo para los dos headers (login y app), como en el resto
   de la suite: el header limpio del login usa la misma imagen y medida que el
   header de home. */
.logo1 {
    width: 120px;
    margin-left: 15px;
    align-items: center;
}

.favorites-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
    margin-left: 20px;
}

/* El título de la página ya no vive en el header: cada vista lo muestra en su
   propia `.page-title-bar`. Se deja la regla por si alguna vista todavía emite
   el <h5 class="title-header">. */
.title-header { display: none; }

.header-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Signo de ayuda: mismo tratamiento que en Collection. */
.header-action-icon,
.help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #e5e7eb;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
    transition: color .15s;
}
.header-action-icon:hover,
.help-icon:hover { color: #fff; }

.avatar-header {
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.logout-container {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 7px;
    position: relative;
}

.user-name-header {
    font-size: 12px;
    font-weight: 500;
    margin-right: 60px;
}

/* ── Contenido principal ─────────────────────────────────────────────────── */
/* Los offsets tienen que coincidir con el header (45px) y con el ancho
   colapsado del sidebar (50px — ver nav.css). Sin padding: cada vista maneja
   su propio espaciado con `.page-title-bar` / contenedores. */
.main-content {
    margin-left: 50px;
    margin-top: 45px;
    min-height: calc(100vh - 45px);
}

/* ── User menu desplegable ───────────────────────────────────────────────── */
/* El menú se abre por click desde header.js (funciona también en touch). */
.user-menu {
    display: none;
    position: absolute;
    top: 37px;
    right: 0;
    background-color: #444;
    min-width: 200px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    overflow: hidden;
    font-size: 12px;
}
.user-menu ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.user-menu li {
    padding: 12px 16px;
    border-bottom: 1px solid #555555;
}
.user-menu li a {
    color: white;
    text-decoration: none;
    display: block;
}
.user-menu li a:hover {
    background-color: #555;
}

/* ── Overlay y utilidades ────────────────────────────────────────────────── */
.overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    z-index: 200;
}

.hidden  { display: none; }
.show    { display: block; }

/* ── Notificaciones (Toast) ──────────────────────────────────────────────── */
#notification-container {
    position: fixed;
    top: 70px;
    right: 20px;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.notification {
    padding: 15px 20px;
    border-radius: 6px;
    color: #fff;
    font-size: 14px;
    box-shadow: 0 2px 10px rgba(0,0,0,.2);
    opacity: 0;
    transform: translateX(100%);
    animation: slideIn .5s forwards;
}
.notification.success { background: #16a34a; }
.notification.error   { background: #dc2626; }

@keyframes slideIn {
    to { opacity: 1; transform: translateX(0); }
}
