/* Only Support System-specific extensions. The site_engineer base CSS is unchanged. */
.support-brand { gap: 13px; color: #09295b !important; }
.support-brand-icon { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 12px; background: linear-gradient(135deg,#096bd7,#09295b); color: white; font-size: 25px; flex-shrink: 0; }
.support-brand-text { font-size: 24px; color: #09295b; font-weight: 550; letter-spacing: -.6px; white-space: nowrap; }
.support-brand-text strong { font-weight: 800; }
.support-footer-brand { font-size: 23px; font-weight: 800; color: white; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.support-footer-brand i { color: #8bc6ff; }
.support-hero-eyebrow { color: #cbe9ff !important; margin-bottom: 18px; }
.support-faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 25px; }
.support-faq-card { background: white; border: 1px solid #e1ebf4; border-radius: 16px; padding: 28px; box-shadow: 0 12px 28px rgba(17,65,105,.08); }
.support-faq-card h3 { color: #0b2b4a; font-size: 20px; margin-bottom: 12px; }
.support-faq-card p { color: #64748b; margin: 0; line-height: 1.75; }
.support-static-note { font-size: 13px; line-height: 1.6; color: #64748b; margin: 14px 0 0; }
.support-static-note i { color: #096bd7; margin-right: 5px; }
.support-login-banner { padding: 42px 0; }
.support-login-section { min-height: 460px; }
.support-login-card { width: min(100%, 480px); margin: 0 auto; padding: 36px; border-radius: 20px; background: #fff; border: 1px solid #dbeaf8; box-shadow: 0 15px 35px rgba(0,54,105,.10); }
.support-login-card .intro-panel-icon { display: flex; width: 58px; height: 58px; align-items: center; justify-content: center; border-radius: 16px; background: #e4f3ff; color: #096bd7; margin-bottom: 18px; font-size: 24px; }
.support-login-card h2 { color: #082745; font-size: 25px; margin-bottom: 8px; }
.support-login-description { color: #64748b; margin-bottom: 25px; line-height: 1.7; }
.support-login-form .form-control { border: 1px solid #cbdbea; padding: 12px 14px; border-radius: 10px; }
.support-login-form .form-label { color: #203a56; font-weight: 650; }
.support-login-button { display: block; width: 100%; border: 0; border-radius: 10px; background: linear-gradient(135deg,#0875db,#0456a9); color: #fff; padding: 12px 18px; font-size: 16px; font-weight: 700; }
.support-login-button:hover { background: linear-gradient(135deg,#075eae,#032f65); }
@media (max-width: 650px) {
  .support-brand { gap: 9px; }
  .support-brand-icon { width: 40px; height: 40px; font-size: 20px; }
  .support-brand-text { font-size: 19px; }
  .support-login-card { padding: 25px 20px; }
  .support-faq-grid { grid-template-columns: 1fr; }
}
@media (max-width: 360px) { .support-brand-text { font-size: 17px; } }

/* Self-contained vector icons; no separately distributed font files needed. */
i.fa-solid, i.fa-regular { display:inline-flex; align-items:center; justify-content:center; font-style:normal; vertical-align:middle; flex-shrink:0; }
i.fa-solid svg, i.fa-regular svg { display:block; height:1em; width:1em; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; fill:none; }
