.lf-app-page {
    background:
        radial-gradient(circle at 86% -10%, rgba(124, 58, 237, 0.16), transparent 30%),
        linear-gradient(145deg, var(--lf-bg), #071126 58%, #061020);
}

.lf-app-shell {
    min-height: 100vh;
}

.lf-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 50;
    display: flex;
    width: var(--lf-sidebar-width);
    flex-direction: column;
    padding: 22px 12px 14px;
    overflow-y: auto;
    background: linear-gradient(180deg, rgba(5, 15, 34, 0.98), rgba(4, 12, 29, 0.99));
    border-right: 1px solid var(--lf-border);
}

.lf-main {
    min-height: 100vh;
    margin-left: var(--lf-sidebar-width);
}

.lf-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: flex;
    min-height: var(--lf-topbar-height);
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 28px;
    background: rgba(5, 11, 26, 0.88);
    border-bottom: 1px solid var(--lf-border);
    backdrop-filter: blur(18px);
}

.lf-page-content {
    padding: 20px 28px 30px;
}

.lf-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 28px 24px;
    color: var(--lf-text-muted);
    font-size: 12px;
}

.lf-auth-page {
    background:
        radial-gradient(circle at 12% 18%, rgba(59, 130, 246, 0.18), transparent 24%),
        radial-gradient(circle at 72% 86%, rgba(124, 58, 237, 0.18), transparent 26%),
        linear-gradient(145deg, #040914, #071329 60%, #080f23);
}

.lf-auth-layout {
    display: grid;
    min-height: 100vh;
    grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
}

.lf-auth-visual,
.lf-auth-panel {
    min-width: 0;
}

.lf-auth-visual {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 44px 54px;
    border-right: 1px solid var(--lf-border);
}

.lf-auth-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.lf-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 0.8fr);
    gap: 16px;
    margin-top: 16px;
}
