/* GENTING_SIFU_BLADE_V15 - colors sampled from supplied Genting Sifu logo. */
:root {
  --gs-sky: #56C9F5;
  --gs-green: #3CB34B;
  --gs-blue-action: #08799C; /* darker for contrast on white labels */
  --gs-green-dark: #257A38;
  --gs-soft: #F4FBFE;
  --gs-ink: #1F2937;
  --gs-line: #DBE9EF;
  --blue: #08799C;
  --ink: #1F2937;
  --bg: #F4FBFE;
  --line: #DBE9EF;
}
body { background: var(--gs-soft); color:var(--gs-ink); }
.sidebar { background:#143547; }
.sidebar .nav-link:hover, .sidebar .nav-link:focus { background:#21556B; color:#fff; }
.sidebar .brand { padding-bottom:25px; }
.gs-brand-logo { width:52px; height:52px; background:#fff; object-fit:contain; border-radius:12px; padding:3px; flex:none; }
.gs-brand-logo-mobile { width:32px; height:32px; object-fit:contain; vertical-align:middle; margin-right:6px; border-radius:6px; }
.brand-mobile { display:flex; align-items:center; gap:4px; }
.hero, .bg-gs-gradient { background:linear-gradient(115deg,#14658D 0%, #2E9145 100%); color:#fff; }
.btn-primary { background:var(--gs-blue-action); color:#fff; border-color:var(--gs-blue-action); }
.btn-primary:hover,.btn-primary:focus { background:#075F7B; border-color:#075F7B; }
.btn-outline { color:var(--gs-blue-action); }
.nav-link:focus-visible,.btn-primary:focus-visible,.btn-outline:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--gs-sky); outline-offset:2px; }
.gs-auth-card { max-width:480px; margin:14px auto; padding:28px; border:1px solid var(--gs-line); background:#fff; border-radius:18px; box-shadow:0 12px 40px rgba(20,58,76,.09); }
.gs-auth-brand { display:flex; flex-direction:column; align-items:center; gap:8px; margin:0 0 18px; }
.gs-auth-brand img { width:86px; height:86px; object-fit:contain; }
.gs-auth-brand h1 { margin:0; font-size:1.65rem; color:var(--gs-ink); }
.gs-auth-brand .gs-small { font-size:.87rem; color:#607789; margin:0; text-align:center; }
.gs-form label { display:block; font-size:.91rem; font-weight:650; margin:18px 0 8px; }
.gs-form select,.gs-form input { display:block; width:100%; min-height:46px; padding:10px 12px; border:1px solid #B9C9D1; border-radius:10px; font-size:16px; color:var(--gs-ink); background:#fff; }
.gs-phone-row { display:flex; align-items:stretch; }
.gs-phone-prefix { display:flex; justify-content:center; align-items:center; min-width:70px; padding:0 12px; background:#ECF8FD; border:1px solid #B9C9D1; border-right:0; border-radius:10px 0 0 10px; font-weight:700; color:#0B657E; }
.gs-phone-row input { min-width:0; border-radius:0 10px 10px 0; flex:1; }
.gs-auth-note { margin-top:6px; font-size:.77rem; color:#667D8D; }
.gs-login-options { display:flex; gap:8px; margin:10px 0 0; }
.gs-login-options button { flex:1; font:inherit; font-size:.88rem; font-weight:600; padding:9px 12px; background:#F3F9FB; border:1px solid var(--gs-line); border-radius:9px; color:#375263; cursor:pointer; }
.gs-login-options button[aria-pressed="true"] { border-color:var(--gs-blue-action); background:#E5F7FC; color:#075F7B; }
.gs-auth-card button.gs-submit { display:block; width:100%; margin-top:22px; border:0; border-radius:10px; padding:13px 14px; background:var(--gs-blue-action); color:white; font-size:1rem; font-weight:700; cursor:pointer; }
.gs-auth-card button.gs-submit:disabled { opacity:.57; cursor:not-allowed; }
.gs-auth-error { color:#B42318; font-size:.87rem; margin:14px 0 0; }
.gs-auth-warning { color:#875700; background:#FFF7E3; border:1px solid #F2D897; padding:9px 12px; margin-top:10px; border-radius:8px; font-size:.84rem; }
.gs-auth-card .select2-container { width:100% !important; }
.gs-auth-card .select2-container .select2-selection--single { min-height:46px; border-radius:10px; border:1px solid #B9C9D1; }
.gs-auth-card .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:44px; color:var(--gs-ink); padding-left:12px; }
.gs-auth-card .select2-container--default .select2-selection--single .select2-selection__arrow { height:44px; }
@media(max-width:680px) { .gs-auth-card { margin:4px 0; padding:22px 18px; border-radius:14px; } .gs-brand-logo-mobile {width:30px;height:30px;} }
