:root { --geco-primary: var(--brand-primary); }
.rahma-sidebar { background: var(--brand-dark); }
.rahma-brand { font-size: 20px; min-width: 0; }
.organization-name { overflow-wrap: anywhere; line-height: 1.3; }
.organization-logo { width: 48px; height: 48px; flex: none; object-fit: contain; border-radius: 8px; background: white; padding: 4px; }
.login-story .organization-logo { width: 64px; height: 64px; }
.login-story .brand { display: flex; align-items: center; gap: 14px; overflow-wrap: anywhere; }
.rahma-brand-mark { flex: none; color: var(--brand-contrast); background: var(--brand-primary); border-color: transparent; }
.rahma-nav-link:hover, .rahma-nav-link:focus, .rahma-nav-link.active { background: var(--brand-primary); color: var(--brand-contrast); }
.rahma-nav-link i { color: inherit; }
.btn.btn-primary, .login-form .submit { background-color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; color: var(--brand-contrast) !important; }
.btn.btn-primary:hover, .btn.btn-primary:focus, .login-form .submit:hover { filter: brightness(.92); }
.btn.btn-light-primary { background: var(--brand-tint) !important; color: var(--brand-dark) !important; }
.text-primary { color: var(--brand-dark) !important; }
.nav-tabs .nav-link.active { border-bottom-color: var(--brand-primary); color: var(--brand-dark); }
.form-control:focus, .login-form input:focus { border-color: var(--brand-primary); outline-color: var(--brand-primary); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--brand-primary); }
.login-story { background: radial-gradient(ellipse at bottom left, var(--brand-primary), transparent 70%), var(--brand-dark); }
.login-form .language-picker button { background: var(--brand-tint); color: var(--brand-dark); border-color: var(--brand-primary); }
.login-form .language-picker button:focus-visible { outline-color: var(--brand-primary); }
.login-panel .support a { color: var(--brand-dark); }
