@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url('/brand/fonts/BeVietnamPro-Regular.woff2') format('woff2');}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url('/brand/fonts/BeVietnamPro-Medium.woff2') format('woff2');}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url('/brand/fonts/BeVietnamPro-SemiBold.woff2') format('woff2');}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url('/brand/fonts/BeVietnamPro-Bold.woff2') format('woff2');}
/* appcar — Brand Identity Guidelines v1.5 */
:root { --appcar-blue:#1677FF; --appcar-navy:#102A43; }
.brand-mark {padding:0 2px 22px;}
.brand-mark img {display:block;width:180px;height:auto;max-width:100%;}
.topbar-appcar-icon {display:none;flex-shrink:0;}
.btn-primary {background:var(--appcar-navy);border-color:var(--appcar-navy);color:#fff;}
.btn-primary:hover {background:#1C405E;border-color:#1C405E;}
.nav-item.active {background:#EAF3FF;color:#102A43;font-weight:600;}
.nav-item.active svg {color:#1677FF;}
.metric .val {color:var(--appcar-blue);font-variant-numeric:tabular-nums;}
.page-head h1 {font-size:24px;line-height:1.3;}
:where(button,a,input,select,textarea):focus-visible {outline:2px solid #1677FF;outline-offset:3px;}
#login-screen {background:#F4F7FB;padding:40px 28px;}
#login-screen::before,#login-screen::after,.login-showcase::before,.login-showcase::after {display:none;}
.login-shell {width:min(1120px,100%);grid-template-columns:minmax(0,1.1fr) minmax(380px,1fr);border:1px solid #D7E1EC;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(16,42,67,.09);}
.login-showcase {padding:48px;min-height:640px;background:linear-gradient(135deg,#1677FF 0%,#102A43 100%);}
.login-showcase .showcase-mark {width:252px;height:auto;max-width:100%;border:0;border-radius:0;background:none;backdrop-filter:none;justify-content:flex-start;margin:0 0 42px;}
.showcase-mark img {display:block;width:252px;max-width:100%;height:auto;}
.showcase-eyebrow {font-size:11px;font-weight:500;letter-spacing:.09em;line-height:1.6;margin:0 0 14px;color:#fff;}
.login-showcase h1 {font-size:36px;font-weight:700;line-height:1.25;letter-spacing:-.03em;max-width:440px;margin:0 0 20px;}
.login-showcase .lead {font-size:16px;line-height:1.6;color:#fff;max-width:420px;}
.login-feature-list {gap:16px;margin-top:30px;}
.login-feature {font-size:13px;line-height:1.55;color:#fff;align-items:flex-start;}
.login-feature .check {margin-top:1px;}
.login-copyright {font-size:12px;line-height:1.7;color:rgba(255,255,255,.88);margin-top:36px;}
.login-panel {padding:48px 40px;background:#fff;}
.login-card {max-width:410px;}
.login-brand {margin-bottom:28px;}
.login-brand .eyebrow {color:#52667A;font-size:11px;letter-spacing:.08em;}
.login-brand h2 {font-size:26px;font-weight:600;line-height:1.35;}
.login-brand p {font-size:14px;line-height:1.6;}
.login-form-card {padding:0;border:0;box-shadow:none;background:none;border-radius:0;}
.login-field {margin-bottom:20px;}
.login-field label {font-size:14px;color:#102A43;font-weight:500;margin-bottom:8px;}
.login-field input {height:50px;font-size:16px;border-color:#D7E1EC;border-radius:10px;}
.login-field input::placeholder {color:#52667A;opacity:1;}
.login-password-toggle {top:7px;right:7px;height:36px;min-width:52px;}
#login-submit {height:50px!important;border-radius:10px;font-size:15px;font-weight:500;}
.login-help {align-items:flex-start;margin-top:18px;gap:20px;font-size:12px;line-height:1.6;color:#52667A;}
.login-help span {max-width:215px;}
.login-help button {font-size:12px;font-weight:500;padding:0;white-space:nowrap;}
.login-mobile-credit {color:#52667A;font-size:12px;}
.login-error {font-size:14px;}
.force-password-screen {background:#F4F7FB;}
@media(max-width:1000px) and (min-width:761px) {
  .login-shell {grid-template-columns:minmax(0,1fr) minmax(340px,1fr);}
  .login-showcase,.login-panel {padding:34px 28px;}
  .login-showcase h1 {font-size:30px;}
}
@media(max-width:760px) {
  #login-screen {padding:16px;align-items:flex-start;overflow:auto;}
  .login-shell {display:grid;grid-template-columns:minmax(0,1fr);margin:0;border-radius:18px;}
  .login-showcase {padding:24px;min-height:0;}
  .login-showcase .showcase-mark {width:180px;margin:0 0 18px;}
  .showcase-mark img {width:180px;}
  .showcase-eyebrow {font-size:10px;letter-spacing:.04em;margin-bottom:10px;}
  .login-showcase h1 {font-size:28px;line-height:1.3;margin-bottom:12px;}
  .login-showcase .lead {font-size:14px;line-height:1.6;}
  .login-panel {padding:28px 24px;}
  .login-brand {margin-bottom:24px;}
  .login-brand h2 {font-size:23px;}
  .login-feature-list,.login-copyright {display:none;}
  .login-help {gap:12px;}
  .login-help span {max-width:170px;}
  .topbar-appcar-icon {display:block;width:28px;height:28px;}
  .page-head h1 {font-size:20px;}
}
@media(max-width:380px) {
  #login-screen {padding:10px;}
  .login-showcase,.login-panel {padding:22px 18px;}
  .login-showcase h1 {font-size:25px;}
  .login-help {flex-wrap:wrap;}
}
@media(prefers-reduced-motion:reduce) {
  .login-field input {transition:none;}
}
