:root { --brand: #0f766e; --brand-dark: #0b4f4a; }

.btn-primary {
    --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark);
    --bs-btn-active-bg: var(--brand-dark); --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-disabled-bg: var(--brand); --bs-btn-disabled-border-color: var(--brand);
}
a { color: var(--brand); }
.form-control:focus, .form-check-input:focus {
    border-color: var(--brand); box-shadow: 0 0 0 .25rem rgba(15, 118, 110, .25);
}
.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }

.brand-panel {
    background: linear-gradient(145deg, var(--brand-dark), var(--brand) 60%, #14b8a6);
    color: #fff; align-items: center; justify-content: center; padding: 3rem;
}
.brand-content { max-width: 420px; }
.brand-content h1 { font-weight: 700; margin: 1.25rem 0 .5rem; }
.brand-logo {
    width: 84px; height: 84px; border-radius: 22px; display: grid; place-items: center;
    background: rgba(255, 255, 255, .18); font-size: 2.6rem;
}
.brand-logo.sm { width: 56px; height: 56px; font-size: 1.8rem; background: var(--brand); color: #fff; margin: 0 auto; border-radius: 16px; }
.brand-list { list-style: none; padding: 0; margin: 2rem 0 0; }
.brand-list li { margin-bottom: .9rem; font-size: 1.05rem; }
.brand-list i { margin-right: .6rem; }

.login-box { width: 100%; max-width: 400px; padding: 1rem 0; }
