/* ==========================================================================
   DBIM 3.0 look for the older stand-alone and post-login form pages
   (forgot password, first time login, change password, profile update,
   scheme list, transaction, logout, error).

   Two scopes:
     html.gw-standalone ...  whole page (pages rendered without the public layout)
     .gw-form ...            only the form (pages inside the admin layout)
   Colour group and functional palette are the same as gigw.css.
   ========================================================================== */
:root {
    --gw-key: #162F6A;
    --gw-key-2: #214AAB;
    --gw-key-4: #A3BBF3;
    --gw-key-5: #D2DFFF;
    --gw-text: #150202;
    --gw-white: #FFFFFF;
    --gw-surface: #EBEAEA;
    --gw-border: #C6C6C6;
    --gw-grey-3: #606060;
    --gw-success: #198754;
    --gw-warning: #FFC107;
    --gw-error: #DC3545;
    --gw-focus: #FFC107;
    --gw-font: 'Noto Sans', 'Nirmala UI', 'Mangal', Arial, sans-serif;
    --gw-radius: 4px;
}

/* ---------- Typeface: Noto Sans everywhere, icon fonts untouched ---------- */
html.gw-standalone body,
html.gw-standalone body *:not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not(.glyphicon):not([class^="icon-"]):not([class*=" icon-"]):not([class^="flaticon"]):not(code):not(pre),
.gw-form,
.gw-form *:not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not(.glyphicon):not([class^="icon-"]):not([class*=" icon-"]):not(code):not(pre) {
    font-family: var(--gw-font) !important;
}

/* ---------- Page base (stand-alone pages) ---------- */
html.gw-standalone body { font-size: 16px; line-height: 1.5; color: var(--gw-text); background-color: var(--gw-white); text-align: left; }
html.gw-standalone h1 { font-size: 36px; }
html.gw-standalone h2 { font-size: 24px; }
html.gw-standalone h3 { font-size: 20px; }
html.gw-standalone h4, html.gw-standalone h5, html.gw-standalone h6 { font-size: 16px; }
html.gw-standalone h1, html.gw-standalone h2, html.gw-standalone h3, html.gw-standalone h4 { font-weight: 600; line-height: 1.3; text-transform: none; }
html.gw-standalone p, html.gw-standalone li, html.gw-standalone td, html.gw-standalone th { font-size: 16px; }
html.gw-standalone small, html.gw-standalone .small, html.gw-standalone .help-block { font-size: 14px; }
html.gw-standalone a { color: var(--gw-key); }
html.gw-standalone a:hover { color: var(--gw-key-2); text-decoration: underline; }
html.gw-standalone img { max-width: 100%; height: auto; }
html.gw-standalone th { text-align: center; }
html.gw-standalone td { text-align: left; }

/* ---------- Keyboard focus ---------- */
html.gw-standalone a:focus-visible, html.gw-standalone button:focus-visible, html.gw-standalone input:focus-visible, html.gw-standalone select:focus-visible, html.gw-standalone textarea:focus-visible,
.gw-form a:focus-visible, .gw-form button:focus-visible, .gw-form input:focus-visible, .gw-form select:focus-visible, .gw-form textarea:focus-visible {
    outline: 3px solid var(--gw-focus) !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px var(--gw-text) !important;
}

/* ---------- Forms (DBIM Annexure B) ---------- */
html.gw-standalone label, .gw-form label { font-size: 16px; font-weight: 600; color: var(--gw-text); cursor: pointer; }
html.gw-standalone .form-control, html.gw-standalone select, html.gw-standalone input[type="text"], html.gw-standalone input[type="password"], html.gw-standalone input[type="email"], html.gw-standalone input[type="tel"], html.gw-standalone input[type="number"], html.gw-standalone textarea,
.gw-form .form-control, .gw-form select, .gw-form input[type="text"], .gw-form input[type="password"], .gw-form input[type="email"], .gw-form textarea {
    min-height: 44px; font-size: 16px; color: var(--gw-text); background-color: var(--gw-white); border: 1px solid var(--gw-grey-3); border-radius: var(--gw-radius); box-shadow: none;
}
html.gw-standalone .form-control:focus, .gw-form .form-control:focus { border-color: var(--gw-key-2); }
html.gw-standalone .form-group, .gw-form .form-group { margin-bottom: 16px; }
html.gw-standalone .Mandatory, .gw-form .Mandatory, html.gw-standalone .required, .gw-form .required,
html.gw-standalone .text-danger, .gw-form .text-danger, html.gw-standalone .field-validation-error, .gw-form .field-validation-error, .gw-req { color: var(--gw-error) !important; }
html.gw-standalone .Mandatory, .gw-form .Mandatory, .gw-req { font-weight: 700; }
html.gw-standalone .input-group-addon, .gw-form .input-group-addon { background: var(--gw-surface); border-color: var(--gw-grey-3); color: var(--gw-key); min-width: 44px; }
.gw-form-note { margin: 0 0 16px; font-size: 14px; color: var(--gw-grey-3); }

/* ---------- Buttons (DBIM 4.5): uniform padding, distinct states ---------- */
html.gw-standalone .btn, .gw-form .btn,
html.gw-standalone button[type="submit"], html.gw-standalone input[type="submit"], html.gw-standalone input[type="button"] {
    min-height: 44px; padding: 10px 20px; font-size: 16px; font-weight: 600; line-height: 1.3; border-radius: var(--gw-radius); border: 2px solid var(--gw-key); text-transform: none; white-space: normal;
    background: var(--gw-key); color: var(--gw-white); background-image: none; box-shadow: none; text-shadow: none; cursor: pointer;
}
html.gw-standalone .btn:hover, .gw-form .btn:hover,
html.gw-standalone button[type="submit"]:hover, html.gw-standalone input[type="submit"]:hover, html.gw-standalone input[type="button"]:hover { background: var(--gw-key-2); border-color: var(--gw-key-2); color: var(--gw-white); text-decoration: none; }
html.gw-standalone .btn-default, html.gw-standalone .btn-secondary, html.gw-standalone .btn-light, html.gw-standalone .btn.default,
.gw-form .btn-default, .gw-form .btn-secondary, .gw-form .btn-light, .gw-form .btn.default { background: var(--gw-white); color: var(--gw-key); border-color: var(--gw-key); }
html.gw-standalone .btn-default:hover, html.gw-standalone .btn-secondary:hover, html.gw-standalone .btn-light:hover, html.gw-standalone .btn.default:hover,
.gw-form .btn-default:hover, .gw-form .btn-secondary:hover, .gw-form .btn-light:hover, .gw-form .btn.default:hover { background: var(--gw-key-5); color: var(--gw-key); }
html.gw-standalone .btn-danger, html.gw-standalone .btn.red, .gw-form .btn-danger, .gw-form .btn.red { background: var(--gw-error); border-color: var(--gw-error); color: var(--gw-white); }
html.gw-standalone .btn-danger:hover, html.gw-standalone .btn.red:hover, .gw-form .btn-danger:hover, .gw-form .btn.red:hover { background: var(--gw-text); border-color: var(--gw-text); color: var(--gw-white); }
html.gw-standalone .btn:disabled, html.gw-standalone .btn.disabled, html.gw-standalone .btn[disabled],
.gw-form .btn:disabled, .gw-form .btn.disabled, .gw-form .btn[disabled] { background: var(--gw-border); border-color: #8E8E8E; color: var(--gw-grey-3); cursor: not-allowed; opacity: 1; }
html.gw-standalone .btn-sm, html.gw-standalone .btn-xs, .gw-form .btn-sm, .gw-form .btn-xs { min-height: 36px; padding: 6px 14px; font-size: 14px; }
html.gw-standalone .close, html.gw-standalone .btn-close { min-height: 0; background: none; border: 0; }

/* ---------- Panels, cards, tables, alerts ---------- */
html.gw-standalone .panel, html.gw-standalone .portlet, html.gw-standalone .card { border-color: var(--gw-border); border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
html.gw-standalone .panel-heading, html.gw-standalone .portlet > .portlet-title, html.gw-standalone .modal-header { background: var(--gw-key); color: var(--gw-white); border-color: var(--gw-key); background-image: none; }
html.gw-standalone .panel-heading *, html.gw-standalone .portlet > .portlet-title *, html.gw-standalone .modal-header * { color: var(--gw-white); }
html.gw-standalone table thead th, html.gw-standalone .table > thead > tr > th { background: var(--gw-key); color: var(--gw-white); border-color: var(--gw-key); }
html.gw-standalone .alert-danger { background: var(--gw-white); border: 1px solid var(--gw-error); border-left-width: 6px; color: var(--gw-text); }
html.gw-standalone .alert-success { background: var(--gw-white); border: 1px solid var(--gw-success); border-left-width: 6px; color: var(--gw-text); }
html.gw-standalone .alert-warning { background: var(--gw-white); border: 1px solid var(--gw-warning); border-left-width: 6px; color: var(--gw-text); }
html.gw-standalone .alert-info { background: var(--gw-key-5); border: 1px solid var(--gw-key); border-left-width: 6px; color: var(--gw-text); }

/* ---------- Simple header and footer for the pre-login pages ---------- */
.gw-sh { background: var(--gw-white); border-bottom: 3px solid var(--gw-key); }
.gw-sh-top { background: var(--gw-key); }
.gw-sh-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.gw-sh-top .gw-sh-inner { min-height: 40px; justify-content: flex-end; }
.gw-sh-top a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 10px; color: var(--gw-white) !important; font-size: 14px; font-weight: 500; text-decoration: none; }
.gw-sh-top a:hover { text-decoration: underline; }
.gw-sh-top .gw-lang-mark { padding: 0 6px; border: 1px solid var(--gw-white); border-radius: var(--gw-radius); font-weight: 600; }
.gw-sh-brand { padding-top: 12px; padding-bottom: 12px; }
.gw-sh-lockup { display: flex; align-items: center; gap: 12px; color: var(--gw-text) !important; text-decoration: none !important; }
.gw-sh-lockup img { width: 64px; height: 64px; flex: 0 0 64px; }
.gw-sh-lockup span { display: flex; flex-direction: column; line-height: 1.3; }
.gw-sh-govt { font-size: 14px; font-weight: 500; }
.gw-sh-dept { font-size: 20px; font-weight: 700; }
.gw-sh-home { font-size: 16px; font-weight: 600; white-space: nowrap; }
.gw-skip { position: absolute; left: 8px; top: -60px; z-index: 10000; background: var(--gw-white); color: var(--gw-key) !important; padding: 10px 16px; border: 2px solid var(--gw-key); border-radius: var(--gw-radius); font-weight: 600; }
.gw-skip:focus { top: 8px; }
.gw-sf { background: var(--gw-key); color: var(--gw-white); margin-top: 40px; padding: 20px 0; font-size: 14px; }
.gw-sf .gw-sh-inner { flex-wrap: wrap; }
.gw-sf p { margin: 0; font-size: 14px; color: var(--gw-white); }
.gw-sf ul { display: flex; flex-wrap: wrap; gap: 4px 20px; list-style: none; margin: 0; padding: 0; }
.gw-sf li { font-size: 14px; }
.gw-sf a { color: var(--gw-white) !important; text-decoration: none; }
.gw-sf a:hover { text-decoration: underline; }

@media (max-width: 767.98px) {
    html.gw-standalone body { font-size: 14px; }
    html.gw-standalone h1 { font-size: 24px; }
    html.gw-standalone h2 { font-size: 20px; }
    html.gw-standalone h3 { font-size: 16px; }
    html.gw-standalone h4, html.gw-standalone h5, html.gw-standalone h6 { font-size: 14px; }
    html.gw-standalone p, html.gw-standalone li, html.gw-standalone td, html.gw-standalone th { font-size: 14px; }
    html.gw-standalone small, html.gw-standalone .small, html.gw-standalone .help-block { font-size: 12px; }
    html.gw-standalone table { display: block; width: 100% !important; overflow-x: auto; }
    html.gw-standalone .container, html.gw-standalone .container-fluid { padding-left: 12px; padding-right: 12px; }
    html.gw-standalone [class*="col-md-offset"], html.gw-standalone [class*="col-sm-offset"] { margin-left: 0; }
    .gw-sh-lockup img { width: 48px; height: 48px; flex-basis: 48px; }
    .gw-sh-govt { font-size: 12px; }
    .gw-sh-dept { font-size: 16px; }
    .gw-sh-home { display: none; }
    .gw-sf .gw-sh-inner { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    html.gw-standalone *, html.gw-standalone *::before, html.gw-standalone *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ---------- Pre-login cards (forgot password, error, logout) ---------- */
html.gw-standalone body { background-color: var(--gw-surface) !important; background-image: none !important; }
html.gw-standalone .form-layout, html.gw-standalone .session-content > div { max-width: 480px; margin: 32px auto; padding: 28px !important; background: var(--gw-white) !important; border: 1px solid var(--gw-border); border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
html.gw-standalone .form-layout h2 { margin: 0 0 20px; padding-bottom: 10px; color: var(--gw-key); font-size: 24px; text-align: left; border-bottom: 3px solid var(--gw-key); display: inline-block; }
html.gw-standalone .form-layout fieldset { border: 0; padding: 0; min-width: 0; }
html.gw-standalone .form-layout label { display: block; margin: 0 0 6px; }
html.gw-standalone .form-layout .input-group, html.gw-standalone .form-layout .input-icon { display: block; width: 100%; }
html.gw-standalone .gw-captcha [class*="col-"] { float: none; width: 100%; max-width: none; padding: 0; margin-bottom: 10px; }
html.gw-standalone .gw-captcha #lblCaptcha { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; }
html.gw-standalone .gw-captcha #lblCaptcha img { margin: 0 !important; height: 48px; width: auto; border: 1px solid var(--gw-border); border-radius: var(--gw-radius); background: var(--gw-white); }
html.gw-standalone .btn-block { display: block; width: 100%; }
html.gw-standalone .form-layout .divider { margin: 16px 0 8px; font-size: 14px; color: var(--gw-grey-3); text-align: left; }
html.gw-standalone .form-layout .divider::before, html.gw-standalone .form-layout .divider::after { display: none; }
html.gw-standalone .form-layout .divider span { background: none; padding: 0; position: static; }
html.gw-standalone .form-layout p a { font-weight: 600; text-decoration: underline; }
@media (max-width: 767.98px) {
    html.gw-standalone .form-layout, html.gw-standalone .session-content > div { margin: 16px 12px; padding: 20px !important; }
    html.gw-standalone .form-layout h2 { font-size: 20px; }
}

/* ---------- Error and "already logged in" pages ---------- */
html.gw-standalone .app, html.gw-standalone .session-panel, html.gw-standalone .session { background: transparent !important; background-image: none !important; min-height: 0 !important; }
html.gw-standalone #head_strip, html.gw-standalone #loadingDiv, html.gw-standalone br.clear { display: none !important; }
html.gw-standalone #error_details, html.gw-standalone #logout { max-width: 560px; margin: 48px auto; padding: 32px; background: var(--gw-white); border: 1px solid var(--gw-border); border-left: 6px solid var(--gw-key); border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); text-align: left; }
html.gw-standalone #error_details { border-left-color: var(--gw-error); }
html.gw-standalone #error_details br, html.gw-standalone #logout br { display: none; }
html.gw-standalone #error_details span { display: block; margin: 0 0 8px; font-size: 16px; font-weight: 400; color: var(--gw-text); }
html.gw-standalone .gw-error-title { margin: 0 0 12px; font-size: 24px; color: var(--gw-error); }
html.gw-standalone #error_details .btn, html.gw-standalone #logout .btn { margin-top: 16px; }
html.gw-standalone #logout div, html.gw-standalone #logout span { font-size: 16px !important; font-weight: 400 !important; color: var(--gw-text) !important; }
html.gw-standalone #logout p { margin: 0 0 8px; font-size: 16px !important; color: var(--gw-text) !important; }
html.gw-standalone #logout p:first-of-type { font-size: 20px !important; font-weight: 600; color: var(--gw-key) !important; }
html.gw-standalone #logout .btn { color: var(--gw-white) !important; font-weight: 600 !important; display: inline-block; }
html.gw-standalone .form-layout .text-xs-center [class*="col-"] { float: none; width: auto; padding: 0; }
html.gw-standalone .form-layout .text-xs-center p { margin: 12px 0 0; }
@media (max-width: 767.98px) { html.gw-standalone #error_details, html.gw-standalone #logout { margin: 16px 12px; padding: 20px; } }
html.gw-standalone #error_details .btn { font-size: 16px; }
html.gw-standalone .form-layout .divider { height: auto; position: static; line-height: 1.5; border: 0; }
html.gw-standalone .form-layout .text-xs-center { clear: both; position: static; margin-top: 12px; text-align: left; }

/* ---------- Applicant pages after login (scheme list, first time login): header and panels ---------- */
html.gw-standalone .page-header.navbar { background: var(--gw-white) !important; border-bottom: 3px solid var(--gw-key); box-shadow: none; height: auto; min-height: 76px; }
html.gw-standalone .page-header.navbar .page-header-inner { display: flex; align-items: center; gap: 12px; padding: 8px 16px; }
html.gw-standalone .page-header.navbar .page-logo { background: var(--gw-white) !important; width: auto !important; height: auto !important; padding: 0 !important; float: none; }
html.gw-standalone .page-header.navbar .page-logo .gw-app-logo { margin: 0 !important; padding: 0 !important; width: 56px; height: 56px; }
html.gw-standalone .page-header.navbar .page-actions { margin: 0 !important; padding: 0 !important; float: none; background: none !important; }
html.gw-standalone .gw-app-lockup { display: flex; flex-direction: column; line-height: 1.3; color: var(--gw-text); }
html.gw-standalone .gw-app-govt { font-size: 14px; font-weight: 500; }
html.gw-standalone .gw-app-dept { font-size: 20px; font-weight: 700; }
html.gw-standalone .page-header.navbar .page-top { margin-left: auto; float: none; background: none !important; box-shadow: none; padding: 0; width: auto; }
html.gw-standalone .page-header.navbar .top-menu { float: none; margin: 0; }
html.gw-standalone .page-header.navbar .top-menu .navbar-nav { display: flex; align-items: center; gap: 16px; margin: 0; float: none !important; }
html.gw-standalone .page-header.navbar .top-menu .navbar-nav > li { float: none; display: flex; align-items: center; gap: 16px; }
html.gw-standalone .page-header.navbar .top-menu .username { margin: 0 !important; font-size: 14px; color: var(--gw-text) !important; }
html.gw-standalone .page-header.navbar .top-menu .navbar-nav > li > a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 16px !important; border: 2px solid var(--gw-key); border-radius: var(--gw-radius); background: var(--gw-white) !important; color: var(--gw-key) !important; font-size: 16px; font-weight: 600; }
html.gw-standalone .page-header.navbar .top-menu .navbar-nav > li > a:hover { background: var(--gw-key-5) !important; text-decoration: none; }
html.gw-standalone .page-header.navbar .top-menu .navbar-nav > li > a i { color: var(--gw-key) !important; }
html.gw-standalone .page-header.navbar .menu-toggler { display: none; }
html.gw-standalone .page-container, html.gw-standalone .page-content { background: var(--gw-surface) !important; }
html.gw-standalone .portlet.box { border: 1px solid var(--gw-border) !important; background: var(--gw-white); }
html.gw-standalone .portlet.box > .portlet-title, html.gw-standalone .portlet.scheme-portlet > .portlet-title { background: var(--gw-key) !important; background-image: none !important; border: 0; }
html.gw-standalone .portlet.box > .portlet-title .caption, html.gw-standalone .portlet.box > .portlet-title .caption i { color: var(--gw-white) !important; font-size: 20px; font-weight: 600; }
html.gw-standalone .portlet > .portlet-title .btn { margin-left: 8px; background: var(--gw-white) !important; border-color: var(--gw-white) !important; color: var(--gw-key) !important; text-transform: none !important; }
html.gw-standalone .portlet > .portlet-title .btn:hover { background: var(--gw-key-5) !important; border-color: var(--gw-key-5) !important; }
html.gw-standalone .portlet > .portlet-title .btn i { color: var(--gw-key) !important; }
html.gw-standalone .btn-scheme-apply, html.gw-standalone .btn-scheme-closed { min-height: 44px; padding: 10px 20px; font-size: 16px; font-weight: 600; border-radius: var(--gw-radius); text-transform: none; display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important; }
html.gw-standalone .btn-scheme-apply { background: var(--gw-key) !important; color: var(--gw-white) !important; }
html.gw-standalone .btn-scheme-apply:hover { background: var(--gw-key-2) !important; }
html.gw-standalone .btn-scheme-closed { background: var(--gw-border) !important; color: var(--gw-grey-3) !important; cursor: not-allowed; }
html.gw-standalone .scheme-card__index { background: var(--gw-key-5) !important; color: var(--gw-key) !important; }
html.gw-standalone .scheme-card__name { font-size: 20px; color: var(--gw-text); }
html.gw-standalone .scheme-card__note, html.gw-standalone .scheme-card__note * { color: var(--gw-text) !important; font-size: 14px; }
html.gw-standalone .scheme-card__note { margin-top: 6px; padding: 4px 10px; border-left: 4px solid var(--gw-warning); background: var(--gw-white); }
html.gw-standalone .scheme-card { border-color: var(--gw-border) !important; }
@media (max-width: 767.98px) {
    html.gw-standalone .page-header.navbar .page-header-inner { flex-wrap: wrap; }
    html.gw-standalone .gw-app-govt { font-size: 12px; }
    html.gw-standalone .gw-app-dept { font-size: 16px; }
    html.gw-standalone .page-header.navbar .page-top { width: 100%; margin-left: 0; }
    html.gw-standalone .portlet > .portlet-title .btn { float: none !important; display: block; width: 100%; margin: 8px 0 0; }
    html.gw-standalone .scheme-card__name { font-size: 16px; }
}

/* ---------- Scheme list after applicant login: compact, two columns, fits one screen ---------- */
html.gw-standalone .page-header.navbar { min-height: 64px; }
html.gw-standalone .page-header.navbar .page-header-inner { padding: 6px 16px; }
html.gw-standalone .page-header.navbar .page-logo .gw-app-logo { width: 48px; height: 48px; }
html.gw-standalone .gw-app-govt { font-size: 12px; }
html.gw-standalone .gw-app-dept { font-size: 16px; }
html.gw-standalone .page-header.navbar .top-menu .navbar-nav > li > a { min-height: 36px; padding: 4px 12px !important; font-size: 14px; border-width: 1px; }
html.gw-standalone .page-content > .row[style*="margin-top:80px"] { margin-top: 64px !important; }
html.gw-standalone .page-content { padding-bottom: 8px !important; min-height: 0 !important; }
html.gw-standalone .portlet.scheme-portlet { margin-bottom: 8px; }
html.gw-standalone .portlet.scheme-portlet > .portlet-title { padding: 6px 14px !important; min-height: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
html.gw-standalone .portlet.scheme-portlet > .portlet-title:before, html.gw-standalone .portlet.scheme-portlet > .portlet-title:after { display: none; }
html.gw-standalone .portlet.scheme-portlet > .portlet-title .caption, html.gw-standalone .portlet.scheme-portlet > .portlet-title .caption i { font-size: 16px !important; padding: 0; margin: 0; float: none; }
html.gw-standalone .portlet.scheme-portlet > .portlet-title .caption { margin-right: auto; }
html.gw-standalone .portlet.scheme-portlet > .portlet-title .btn { float: none !important; order: 2; margin: 0; padding: 5px 12px; font-size: 14px; font-weight: 600; }
html.gw-standalone .portlet.scheme-portlet > .portlet-body { padding: 10px !important; }
html.gw-standalone .scheme-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
html.gw-standalone .scheme-card { padding: 6px 10px; gap: 10px; border-radius: 6px; }
html.gw-standalone .scheme-card__index { width: 24px; height: 24px; font-size: 12px; }
html.gw-standalone .scheme-card__name { font-size: 14px; font-weight: 600; line-height: 1.4; margin: 0; }
html.gw-standalone .scheme-card__note, html.gw-standalone .scheme-card__note * { font-size: 12px; line-height: 1.4; }
html.gw-standalone .scheme-card__note { margin-top: 2px; padding: 1px 8px; border-left-width: 3px; }
html.gw-standalone .btn-scheme-apply, html.gw-standalone .btn-scheme-closed { min-height: 32px; padding: 4px 12px; font-size: 14px; gap: 6px; }
html.gw-standalone .scheme-skeleton .sk-row { height: 40px; }
html.gw-standalone .page-footer { padding: 6px 16px; height: auto; font-size: 12px; }
@media (max-width: 991.98px) {
    html.gw-standalone .scheme-list { grid-template-columns: 1fr; }
}
html.gw-standalone .page-header.navbar .page-top, html.gw-standalone .page-header.navbar .top-menu, html.gw-standalone .page-header.navbar .top-menu .navbar-nav > li { height: auto !important; min-height: 0 !important; }
html.gw-standalone .page-content > .row[style*="margin-top:80px"] { margin-top: 70px !important; }
html.gw-standalone .portlet.scheme-portlet > .portlet-title .btn { min-height: 32px; line-height: 1.4; }

/* ---------- Scheme list: welcome strip, numbers, "how to apply" side panel ---------- */
html.gw-standalone .page-container { min-height: calc(100vh - 34px); }
html.gw-standalone .gw-sl-hero { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; padding: 10px 14px; background: var(--gw-white); border: 1px solid var(--gw-key-4); border-left: 6px solid var(--gw-key); border-radius: 6px; }
html.gw-standalone .gw-sl-hero__text { flex: 1 1 320px; min-width: 0; color: var(--gw-text); font-size: 14px; line-height: 1.5; }
html.gw-standalone .gw-sl-hero__text strong { display: block; color: var(--gw-key); font-size: 16px; font-weight: 700; }
html.gw-standalone .gw-sl-hero__stats { display: flex; gap: 8px; flex-wrap: wrap; }
html.gw-standalone .gw-sl-stat { min-width: 108px; padding: 6px 12px; background: var(--gw-key-5); border-radius: 6px; text-align: center; color: var(--gw-text); }
html.gw-standalone .gw-sl-stat b { display: block; color: var(--gw-key); font-size: 20px; font-weight: 700; line-height: 1.3; }
html.gw-standalone .gw-sl-stat span { display: block; font-size: 12px; line-height: 1.4; }
html.gw-standalone .gw-sl-stat--open { background: var(--gw-white); border: 1px solid var(--gw-success); }
html.gw-standalone .gw-sl-stat--open b { color: var(--gw-success); }
html.gw-standalone .gw-sl-stat--hold { background: var(--gw-white); border: 1px solid var(--gw-warning); }
html.gw-standalone .gw-sl-stat--hold b { color: var(--gw-text); }
html.gw-standalone .gw-sl-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 12px; align-items: start; }
html.gw-standalone .gw-sl-main { min-width: 0; }
html.gw-standalone .gw-sl-side { background: var(--gw-white); border: 1px solid var(--gw-border); border-top: 4px solid var(--gw-key); border-radius: 6px; padding: 12px 14px; color: var(--gw-text); }
html.gw-standalone .gw-sl-side h2 { margin: 0 0 8px; color: var(--gw-key); font-size: 16px; font-weight: 700; line-height: 1.4; }
html.gw-standalone .gw-sl-side h2 i { margin-right: 4px; color: var(--gw-key-2); }
html.gw-standalone .gw-sl-side h2:not(:first-child) { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--gw-border); }
html.gw-standalone .gw-sl-steps { list-style: none; margin: 0; padding: 0; counter-reset: gwsl; }
html.gw-standalone .gw-sl-steps li { counter-increment: gwsl; position: relative; display: flex; align-items: flex-start; gap: 10px; padding: 0 0 12px 0; font-size: 14px; line-height: 1.5; }
html.gw-standalone .gw-sl-steps li::before { content: counter(gwsl); flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; background: var(--gw-key); color: var(--gw-white); font-size: 14px; font-weight: 700; line-height: 26px; text-align: center; position: relative; z-index: 1; }
html.gw-standalone .gw-sl-steps li:not(:last-child)::after { content: ""; position: absolute; left: 12px; top: 26px; bottom: 0; width: 2px; background: var(--gw-key-4); }
html.gw-standalone .gw-sl-steps li:last-child { padding-bottom: 0; }
html.gw-standalone .gw-sl-steps li span { padding-top: 2px; }
html.gw-standalone .gw-sl-tips { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.5; }
html.gw-standalone .gw-sl-tips li { margin-bottom: 4px; }
/* a little tighter so the page still fits a 650px-high laptop screen */
html.gw-standalone .gw-sl-hero { padding: 6px 14px; margin-bottom: 8px; }
html.gw-standalone .gw-sl-stat { padding: 3px 12px; }
html.gw-standalone .gw-sl-side { padding: 10px 14px; }
html.gw-standalone .gw-sl-side h2 { margin-bottom: 6px; }
html.gw-standalone .gw-sl-side h2:not(:first-child) { margin-top: 8px; padding-top: 8px; }
html.gw-standalone .gw-sl-steps li { padding-bottom: 6px; }
html.gw-standalone .gw-sl-tips li { margin-bottom: 2px; }
html.gw-standalone .gw-sl-layout { gap: 10px; }/* scheme cards: a coloured edge shows at a glance which ones are open */
html.gw-standalone .scheme-card { border-left: 4px solid var(--gw-success) !important; transition: box-shadow .15s ease, border-color .15s ease; }
html.gw-standalone .scheme-card--hold { border-left-color: var(--gw-warning) !important; }
html.gw-standalone .scheme-card:hover { box-shadow: 0 3px 10px rgba(22, 47, 106, .14); }
html.gw-standalone .scheme-card--hold .scheme-card__index { background: var(--gw-white) !important; border: 1px solid var(--gw-warning); color: var(--gw-text) !important; }
html.gw-standalone .scheme-list { align-content: start; }
@media (max-width: 1199.98px) {
    html.gw-standalone .gw-sl-layout { grid-template-columns: 1fr; }
    html.gw-standalone .gw-sl-side { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
    html.gw-standalone .gw-sl-side h2:not(:first-child) { margin-top: 0; padding-top: 0; border-top: 0; }
    html.gw-standalone .gw-sl-side h2:nth-of-type(1) { grid-column: 1; grid-row: 1; }
    html.gw-standalone .gw-sl-side .gw-sl-steps { grid-column: 1; grid-row: 2; }
    html.gw-standalone .gw-sl-side h2:nth-of-type(2) { grid-column: 2; grid-row: 1; }
    html.gw-standalone .gw-sl-side .gw-sl-tips { grid-column: 2; grid-row: 2; }
}
@media (max-width: 767.98px) {
    html.gw-standalone .gw-sl-side { display: block; }
    html.gw-standalone .gw-sl-side h2:not(:first-child) { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--gw-border); }
    html.gw-standalone .gw-sl-stat { flex: 1 1 30%; min-width: 0; }
}

/* ---------- Pop-ups on the applicant pages: light band, dark title, close button always visible ---------- */
html.gw-standalone .modal-header,
html.gw-standalone #schModal .modal-header { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; height: auto !important; min-height: 42px; padding: 4px 14px !important; background: var(--gw-key-4) !important; background-image: none !important; border: 0 !important; border-bottom: 2px solid var(--gw-key) !important; color: var(--gw-key) !important; border-radius: 0; }
html.gw-standalone .modal-header::before, html.gw-standalone .modal-header::after { display: none !important; }
html.gw-standalone .modal-header > * { float: none !important; margin: 0 !important; }
html.gw-standalone .modal-header .modal-title, html.gw-standalone .modal-header h4, html.gw-standalone .modal-header label, html.gw-standalone .modal-header i,
html.gw-standalone #schModal .modal-header label, html.gw-standalone #schModal .modal-header i { color: var(--gw-key) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important; }
html.gw-standalone .modal-header .close,
html.gw-standalone #schModal .modal-header .close { order: 2; flex: 0 0 36px; display: inline-flex !important; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0 !important; margin: 0 -6px 0 0 !important; background: transparent !important; border: 1px solid transparent !important; border-radius: var(--gw-radius); color: var(--gw-key) !important; font-family: Arial, sans-serif !important; font-size: 26px !important; font-weight: 400 !important; line-height: 1 !important; opacity: 1 !important; text-shadow: none !important; cursor: pointer; }
html.gw-standalone .modal-header .close:hover { background: var(--gw-white) !important; border-color: var(--gw-key) !important; }
html.gw-standalone .modal-content { border-radius: 8px; overflow: hidden; border: 1px solid var(--gw-border); }
html.gw-standalone #schModal .modal-body { background: var(--gw-white); padding: 14px 16px; }
html.gw-standalone #schModal .modal-body .panel02 { float: none; width: auto; padding: 0; }
html.gw-standalone #schModal .modal-footer { display: none; }
html.gw-standalone .modal .btn, html.gw-standalone .portlet .btn { text-transform: none !important; letter-spacing: 0; font-size: 14px; font-weight: 600; }
html.gw-standalone #dschTable th { background: var(--gw-key-5); color: var(--gw-text); font-size: 14px; font-weight: 700; text-align: center; padding: 8px; border-color: var(--gw-border); }
html.gw-standalone #dschTable td { font-size: 14px; padding: 8px; color: var(--gw-text); border-color: var(--gw-border); vertical-align: middle; }
html.gw-standalone #dschTable td .btn { padding: 4px 14px; min-height: 32px; }
html.gw-standalone #btn_close_modal { margin-top: 10px; }
@media (max-width: 767.98px) {
    html.gw-standalone .modal-dialog { width: auto !important; max-width: 100% !important; margin: 10px !important; }
}

/* The old theme pushes the × text off-screen (text-indent) and shows a tiny picture instead; bring the × back */
html.gw-standalone .modal-header .close, html.gw-standalone #schModal .modal-header .close, html.gw-standalone .modal .close { text-indent: 0 !important; background-image: none !important; overflow: visible !important; white-space: nowrap; }

/* ---- content one shade lighter; the page header and footer bars keep the darkest blue ---- */
html.gw-standalone body { --gw-key: #2E57B8; --gw-key-2: #456DCB; }
html.gw-standalone .gw-sh, html.gw-standalone .gw-sf, html.gw-standalone .page-header.navbar, html.gw-standalone .page-footer { --gw-key: #162F6A; --gw-key-2: #214AAB; }