:root{
  --brand-blue:#004c97;
  --bs-primary: var(--brand-blue);
  --soft-blue:#e8f0fb;
}
body{ background:#fff; min-height:100vh; display:flex; flex-direction:column; }
.navbar-brand strong{ letter-spacing:0.4px; }
.hero{ background: linear-gradient(180deg, var(--soft-blue), #fff); padding: 3rem 1rem; border-bottom:1px solid #e9ecef; }
.brand-card{ border:1px solid #e9ecef; border-radius: .5rem; box-shadow: 0 1rem 2rem rgba(0,0,0,.03); }
.form-section-title{ background: var(--soft-blue); border-left:4px solid var(--brand-blue); padding:.6rem .8rem; margin:1.5rem 0 .75rem 0; font-weight:600; }
.required::after{content:" *"; color:#dc3545;}
footer{ margin-top:auto; background:#f8f9fa; border-top:1px solid #e9ecef; padding:1rem 0; }
.avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow: 0 0 0 2px var(--brand-blue); }
.sidebar{ min-width:260px; max-width:320px; border-right:1px solid #e9ecef; background:#fff; }
.canvas{ padding:1rem; }
.captcha-box{ display:flex; align-items:center; gap:.65rem; }
.captcha-q{ font-weight:600; padding:.35rem .55rem; background:#f1f5ff; border-radius:.35rem; border:1px solid #cfe2ff; }
.note{ font-size:.9rem; color:#6c757d; }
.btn-primary{ background-color: var(--brand-blue); border-color: var(--brand-blue); }
.btn-outline-primary{ border-color: var(--brand-blue); color: var(--brand-blue); }
.btn-outline-primary:hover{ background-color: var(--brand-blue); color:#fff; }
.nav-pills .nav-link.active{ background-color: var(--brand-blue); }
