:root {
    /* Brand theme: change these two lines to reskin the whole app */
    --tblr-primary: #4f46e5;
    --tblr-primary-rgb: 79, 70, 229;

    --app-sidebar-width: 260px;
}

html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.navbar-brand-icon {
    color: var(--tblr-primary);
}

/* Dashboard (sidebar) layout */
.app-shell {
    min-height: 100vh;
}

.app-sidebar {
    width: var(--app-sidebar-width);
}

.app-sidebar .navbar-brand {
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* Public layout */
.app-footer {
    flex-shrink: 0;
    padding: 1.5rem 0;
    margin-top: auto;
}

.auth-card-wrap {
    width: 100%;
    max-width: 420px;
}
