:root {
    --lukifg-primary: #0d3b66;
    --lukifg-accent: #f4d35e;
    --lukifg-soft: #f6f8fb;
}

body.auth-body {
    background: radial-gradient(1200px 600px at 20% 10%, rgba(13, 59, 102, .12), transparent 55%),
    radial-gradient(900px 500px at 90% 30%, rgba(244, 211, 94, .18), transparent 60%),
    linear-gradient(180deg, var(--lukifg-soft), #ffffff);
    min-height: 100vh;
}

body.app-body {
    background: linear-gradient(180deg, var(--lukifg-soft), #ffffff);
    min-height: 100vh;
}

.navbar {
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    background: #fff;
}

.logo-wrap svg {
    display: block;
}

.card {
    border: 1px solid rgba(0, 0, 0, .06);
    box-shadow: 0 10px 26px rgba(13, 59, 102, .06);
    border-radius: 1rem;
}

body.auth-body .card {
    box-shadow: 0 12px 30px rgba(13, 59, 102, .08);
}

.brand-badge {
    background: rgba(13, 59, 102, .08);
    border: 1px solid rgba(13, 59, 102, .12);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(13, 59, 102, .35);
    box-shadow: 0 0 0 .25rem rgba(13, 59, 102, .15);
}

.btn-primary {
    background: var(--lukifg-primary);
    border-color: var(--lukifg-primary);
}

.btn-primary:hover {
    filter: brightness(0.95);
}

.small-muted {
    color: rgba(0, 0, 0, .6);
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .25rem .6rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, .1);
    background: #fff;
    font-size: .85rem;
    white-space: nowrap;
}

.login-page-title {
    color: var(--lukifg-primary);
}

.login-footer {
    text-align: center;
}

.dashboard-section {
    margin-bottom: 1rem;
}

.dashboard-card {
    height: 100%;
}

.i18n-editable {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.i18n-edit-btn {
    width: 1.9rem;
    height: 1.9rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.i18n-edit-btn i {
    font-size: .8rem;
}

.i18n-edit-text {
    display: inline;
}