/* EasyRP shell + shared UI styles (Bootstrap 5.3 companion). */

:root {
    --easyrp-topbar-bg: #1b2a4a;
    --easyrp-sidebar-bg: #f4f6fa;
    --easyrp-sidebar-width: 240px;
    --easyrp-accent: #2456b3;
}

/* --- Login ------------------------------------------------------------- */

.easyrp-login-body {
    background: linear-gradient(160deg, #1b2a4a 0%, #2456b3 100%);
}

.easyrp-login-card {
    width: 100%;
    max-width: 380px;
    border: 0;
    border-radius: 0.75rem;
}

.easyrp-brand-mark {
    font-size: 2.5rem;
    color: var(--easyrp-accent);
}

/* --- Shell layout ------------------------------------------------------- */

.easyrp-shell-body {
    background-color: #eef1f6;
    min-height: 100vh;
}

.easyrp-topbar {
    background-color: var(--easyrp-topbar-bg);
    position: sticky;
    top: 0;
    z-index: 1030;
    min-height: 52px;
}

.easyrp-layout {
    display: flex;
    align-items: stretch;
    min-height: calc(100vh - 52px);
}

.easyrp-sidebar {
    width: var(--easyrp-sidebar-width);
    flex: 0 0 var(--easyrp-sidebar-width);
    background-color: var(--easyrp-sidebar-bg);
    border-right: 1px solid #dde3ec;
}

.easyrp-main {
    flex: 1 1 auto;
    min-width: 0;
}

/* --- Sidebar menu -------------------------------------------------------- */

.easyrp-menu-link {
    color: #33415c;
    padding: 0.55rem 1rem;
    border-left: 3px solid transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.easyrp-menu-link:hover {
    background-color: #e6ebf4;
    color: var(--easyrp-accent);
}

.easyrp-menu-link.active {
    background-color: #e0e8f6;
    border-left-color: var(--easyrp-accent);
    color: var(--easyrp-accent);
    font-weight: 600;
}

.easyrp-menu-link i {
    color: var(--easyrp-accent);
}

/* --- Small screens -------------------------------------------------------- */

@media (max-width: 767.98px) {
    .easyrp-layout {
        flex-direction: column;
    }

    .easyrp-sidebar {
        width: 100%;
        flex-basis: auto;
        border-right: 0;
        border-bottom: 1px solid #dde3ec;
    }
}
