/* Sidebar behavior */
.app-sidebar.ps {
    touch-action: auto;
}

/* DHTE Subvention Index */
.dhte-claim-no { font-family:monospace; font-weight:700; font-size:.74rem; color:#1a8c3e; background:#e6ffee; border:1px solid #a7f3d0; padding:.15rem .45rem; border-radius:.25rem; display:inline-block; white-space:nowrap; }
.dhte-td-date .day { font-size:.92rem; font-weight:700; color:#1e2633; }
.dhte-td-date .monyear { font-size:.73rem; color:#334155; display:block; font-weight:600; }
.gscc-dt { display:flex; flex-direction:column; gap:1px; line-height:1.25; white-space:nowrap; }
.gscc-dt-d { font-size:.82rem; font-weight:700; color:#17212B; }
.gscc-dt-t { font-size:.72rem; font-weight:600; color:#667085; letter-spacing:.01em; }
.dhte-period { display:inline-flex; align-items:center; gap:.22rem; font-size:.76rem; font-weight:700; color:#1a8c3e; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:.3rem; padding:.12rem .4rem; white-space:nowrap; }
.dhte-td-amt { text-align:right; font-weight:700; color:#0a7034; font-variant-numeric:tabular-nums; }
.dhte-sp { display:inline-flex; align-items:center; gap:.25rem; padding:.2rem .65rem; border-radius:2rem; font-size:.72rem; font-weight:700; white-space:nowrap; }
.dhte-sp-draft { background:#fef9c3; color:#854d0e; border:1px solid #fde68a; }
.dhte-sp-requested { background:#dbeafe; color:#1d4ed8; border:1px solid #bfdbfe; }
.dhte-sp-approved { background:#dcfce7; color:#166534; border:1px solid #86efac; }
.dhte-sp-rejected { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.dhte-sp-default { background:#f1f5f9; color:#475569; border:1px solid #e2e8f0; }
.dhte-total-row td { background:#f0fdf4 !important; font-weight:800; font-size:.82rem; border-top:2px solid #86efac !important; color:#0a7034; }
.al-act-history { background:#e6ffee !important; color:#1a8c3e !important; border:1px solid #a7f3d0 !important; }
.al-act-history:hover { background:#c8f5d8 !important; color:#0d6b2f !important; }
#historyModal .modal-header, #historyModal .modal-header .modal-title, #historyModal .modal-header .modal-title * { color: #fff !important; }
#historyModal .history-modal-close-x { background: rgba(255,255,255,.2) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.5) !important; border-radius: .35rem; padding: .3rem .5rem; }
#historyModal .history-modal-close-x:hover { background: rgba(255,255,255,.35) !important; color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
#historyModal .svn-history-table { font-size:.82rem; }
#historyModal .svn-history-table thead th { background:#1a8c3e !important; color:#fff !important; }
#historyModal .svn-history-badge { padding:.15rem .5rem; border-radius:.25rem; font-size:.75rem; font-weight:600; }
#historyModal .svn-history-badge-1 { background:#cce5ff; color:#004085; }
#historyModal .svn-history-badge-2 { background:#d4edda; color:#155724; }
#historyModal .svn-history-badge-3 { background:#f8d7da; color:#721c24; }
#historyModal .svn-history-badge-4 { background:#d1ecf1; color:#0c5460; }
#historyModal .svn-history-badge-5 { background:#e2e3e5; color:#383d41; }

/* DHTE Subvention Dashboard — colors/type from gscc-design-tokens (--svn-* aliases).
   Keep only local radius tweaks that differ from the global scale. */
:root {
    --svn-radius: var(--gscc-radius-xl, 14px);
    --svn-radius-sm: var(--gscc-radius-md, 6px);
}
.svn-wrap * { box-sizing: border-box; }
.svn-wrap { font-family: var(--svn-font); color: var(--svn-ink); }
.svn-hero { background: linear-gradient(118deg, var(--svn-g1) 0%, var(--svn-g2) 55%, #16a34a 100%); padding: 22px 24px 20px; border-radius: var(--svn-radius); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; position: relative; overflow: hidden; margin-bottom: 20px; box-shadow: 0 6px 28px rgba(11,110,49,.22); }
.svn-hero::before { content: ''; position: absolute; right: -40px; top: -40px; width: 200px; height: 200px; border-radius: 50%; background: rgba(255,255,255,.07); pointer-events: none; }
.svn-hero::after { content: ''; position: absolute; right: 60px; bottom: -60px; width: 140px; height: 140px; border-radius: 50%; background: rgba(255,255,255,.04); pointer-events: none; }
.svn-hero h4 { color: #fff; font-size: 20px; font-weight: 700; letter-spacing: -.3px; margin: 0; }
.svn-hero p { color: rgba(255,255,255,.78); font-size: 13px; margin: 3px 0 0; }
.svn-hero-badge { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.28); color: #fff; padding: 5px 14px; border-radius: 20px; font-size: 12.5px; font-weight: 600; letter-spacing: .4px; position: relative; z-index: 1; }
.svn-filter-card { background: var(--svn-card); border: 1px solid var(--svn-border); border-radius: var(--svn-radius); overflow: hidden; margin-bottom: 20px; }
.svn-filter-toggle { padding: 12px 18px; background: #f0fdf4; border-bottom: 1px solid var(--svn-border); display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.svn-filter-toggle span { font-size: 13.5px; font-weight: 600; color: var(--svn-ink2); }
.svn-filter-toggle .svn-chevron { transition: transform .25s ease; color: var(--svn-muted); }
.svn-filter-toggle.collapsed .svn-chevron { transform: rotate(-90deg); }
.svn-filter-body { padding: 16px 18px; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; }
#svnFilterForm { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; width: 100%; }
.svn-filter-group { display: flex; flex-direction: column; gap: 5px; min-width: 140px; flex: 1 1 150px; }
.svn-filter-group label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; color: var(--svn-muted); }
.svn-filter-group .form-control, .svn-filter-group .form-select { border: 1px solid var(--svn-border); border-radius: var(--svn-radius-sm); padding: 8px 12px; font-size: 13px; font-family: var(--svn-font); color: var(--svn-ink); transition: border-color .18s, box-shadow .18s; }
.svn-filter-group .form-control { background: var(--svn-surface); }
.svn-filter-group .form-select { background-color: var(--svn-surface); }
.svn-filter-group .form-control:focus, .svn-filter-group .form-select:focus { border-color: var(--svn-g2); box-shadow: 0 0 0 3px rgba(34,197,94,.13); outline: none; }
.svn-btn-apply { background: var(--svn-g1); color: #fff; border: none; border-radius: var(--svn-radius-sm); padding: 9px 20px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: var(--svn-font); display: inline-flex; align-items: center; gap: 6px; transition: background .18s; }
.svn-btn-apply:hover { background: var(--svn-g2); }
.svn-btn-excel { background: #0f5f2c; color: #fff; border: 1px solid rgba(255,255,255,.0); border-radius: var(--svn-radius-sm); padding: 9px 16px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: var(--svn-font); display: inline-flex; align-items: center; gap: 6px; text-decoration: none; transition: background .18s, box-shadow .18s, transform .18s; }
.svn-btn-excel:hover { background: #0b6e31; color: #fff; transform: translateY(-1px); box-shadow: 0 10px 20px rgba(11,110,49,.18); }
.svn-btn-excel:focus { outline: none; box-shadow: 0 0 0 3px rgba(34,197,94,.18); }
.svn-btn-reset { background: transparent; color: var(--svn-muted); border: 1px solid var(--svn-border); border-radius: var(--svn-radius-sm); padding: 9px 16px; font-size: 13px; cursor: pointer; font-family: var(--svn-font); transition: background .18s, color .18s; }
.svn-btn-reset:hover { background: var(--svn-surface); color: var(--svn-ink2); }
.svn-date-badge { margin-left: auto; background: var(--svn-g-light); color: var(--svn-g1); border: 1px solid var(--svn-g-muted); border-radius: 20px; padding: 6px 14px; font-size: 12px; font-weight: 600; }
.svn-kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 20px; }
.svn-kpi-card { border-radius: var(--svn-radius); padding: 18px 16px; padding-bottom: 44px; color: #fff; position: relative; overflow: hidden; transition: transform .22s cubic-bezier(.4,0,.2,1), box-shadow .22s; cursor: default; border: none; min-height: 112px; display: flex; flex-direction: column; justify-content: flex-start; }
.svn-kpi-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.16); }
.svn-kpi-card::after { content: ''; position: absolute; right: -16px; bottom: -16px; width: 72px; height: 72px; border-radius: 50%; background: rgba(255,255,255,.09); pointer-events: none; }
.svn-kpi-label { font-size: 10.5px; font-weight: 750; text-transform: uppercase; letter-spacing: .9px; opacity: .86; margin-bottom: 6px; line-height: 1.25; max-width: calc(100% - 30px); }
.svn-kpi-value { font-size: 28px; font-weight: 800; letter-spacing: -.6px; line-height: 1.05; }
.svn-kpi-sub {
    margin-top: 7px;
    font-family: var(--svn-mono);
    font-size: 14.5px;
    font-weight: 800;
    letter-spacing: .2px;
    opacity: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 16px);
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    position: absolute;
    right: 14px;
    bottom: 12px;
}
.svn-kpi-icon { position: absolute; top: 16px; right: 16px; font-size: 20px; opacity: .65; }
.svn-kpi-total { background: linear-gradient(135deg, #0b6e31, #138a3d); }
.svn-kpi-draft { background: linear-gradient(135deg, #b45309, #92400e); }
.svn-kpi-req { background: linear-gradient(135deg, #1d4ed8, #1e40af); }
.svn-kpi-approved { background: linear-gradient(135deg, #15803d, #166534); }
.svn-kpi-rejected { background: linear-gradient(135deg, #b91c1c, #991b1b); }
.svn-kpi-amount { background: linear-gradient(135deg, #0f766e, #0d6b62); }
.svn-kpi-disbursed { background: linear-gradient(135deg, #0ea5e9, #0369a1); }
.svn-card { background: var(--svn-card); border: 1px solid var(--svn-border); border-radius: var(--svn-radius); overflow: hidden; transition: box-shadow .2s; }
.svn-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.svn-card-header { padding: 13px 18px; background: #f8fdf9; border-bottom: 1px solid var(--svn-border); display: flex; align-items: center; justify-content: space-between; }
.svn-card-title { font-size: 14px; font-weight: 600; color: var(--svn-ink2); display: flex; align-items: center; gap: 8px; }
.svn-card-title .svn-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--svn-g2); }
.svn-card-body { padding: 20px 18px; }
.svn-view-btn { background: transparent; border: 1px solid var(--svn-border); border-radius: var(--svn-radius-sm); padding: 5px 12px; font-size: 12px; color: var(--svn-g1); cursor: pointer; font-weight: 600; font-family: var(--svn-font); display: inline-flex; align-items: center; gap: 4px; text-decoration: none; transition: background .15s; }
.svn-view-btn:hover { background: var(--svn-g-light); color: var(--svn-g1); text-decoration: none; }
.svn-toggle-btn { background: transparent; border: 1px solid var(--svn-border); border-radius: var(--svn-radius-sm); padding: 5px 11px; font-size: 12px; color: var(--svn-muted); cursor: pointer; font-family: var(--svn-font); transition: all .15s; }
.svn-toggle-btn.active { background: var(--svn-g1); color: #fff; border-color: var(--svn-g1); }
.svn-donut-legend { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 14px; }
.svn-legend-pill { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--svn-ink2); padding: 4px 10px; border-radius: 20px; background: var(--svn-surface); border: 1px solid var(--svn-border); cursor: pointer; transition: all .15s; text-decoration: none; }
.svn-legend-pill:hover { background: var(--svn-g-light); border-color: var(--svn-g-muted); color: var(--svn-ink2); text-decoration: none; }
.svn-legend-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.svn-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.svn-table thead th { background: var(--svn-g1); color: #fff; padding: 10px 14px; font-weight: 600; font-size: 12px; text-align: left; white-space: nowrap; border: none; }
.svn-table thead th.text-end { text-align: right; }
.svn-table thead th.text-center { text-align: center; }
.svn-table tbody tr { border-bottom: 1px solid #f0f9f0; transition: background .12s; }
.svn-table tbody tr:hover { background: #f0fdf4 !important; }
.svn-table tbody tr:nth-child(even) { background: #fafffe; }
.svn-table tbody td { padding: 10px 14px; color: var(--svn-ink); vertical-align: middle; }
.svn-table td.text-center { text-align: center; }
.svn-table td.text-end { text-align: right; }
.svn-table .svn-bank-name { font-weight: 600; color: var(--svn-ink2); }
    .svn-table .svn-amt-cell {
        font-family: var(--svn-font);
        font-weight: 600;
        color: #0f2417;
        font-size: 12.5px;
    }
.svn-table .svn-req-count { color: #1d4ed8; font-weight: 600; }
.svn-table .svn-app-count { color: #15803d; font-weight: 600; }
.svn-table .svn-rej-count { color: #b91c1c; font-weight: 600; }
.svn-request-no { font-family: var(--svn-mono); font-weight: 600; font-size: 12.5px; color: var(--svn-g1); }
.svn-status-badge { padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 700; }
.svn-sb-draft { background: #fef9c3; color: #854d0e; }
.svn-sb-requested { background: #dbeafe; color: #1e40af; }
.svn-sb-approved { background: #d1fae5; color: #065f46; }
.svn-sb-rejected { background: #fee2e2; color: #991b1b; }
.svn-act-btn { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--svn-border); display: inline-flex; align-items: center; justify-content: center; color: var(--svn-g2); background: transparent; cursor: pointer; font-size: 14px; transition: all .15s; text-decoration: none; }
.svn-act-btn:hover { background: var(--svn-g2); color: #fff; border-color: var(--svn-g2); }
.svn-quick-link { display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; border-radius: var(--svn-radius-sm); border: 1px solid var(--svn-border); margin-bottom: 8px; text-decoration: none !important; color: var(--svn-ink2); transition: all .15s; }
.svn-quick-link:last-child { margin-bottom: 0; }
.svn-quick-link:hover { background: var(--svn-g-light); border-color: var(--svn-g-muted); transform: translateX(3px); color: var(--svn-ink2); }
.svn-ql-left { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; }
.svn-ql-icon { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.svn-ql-all { background: #dcfce7; }
.svn-ql-req { background: #dbeafe; }
.svn-ql-app { background: #d1fae5; }
.svn-ql-rej { background: #fee2e2; }
.svn-qb { border-radius: 20px; padding: 3px 10px; font-size: 11.5px; font-weight: 700; }
.svn-qb-green { background: #dcfce7; color: #15803d; }
.svn-qb-blue { background: #dbeafe; color: #1d4ed8; }
.svn-qb-success { background: #d1fae5; color: #15803d; }
.svn-qb-red { background: #fee2e2; color: #b91c1c; }
.svn-charts-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 16px; margin-bottom: 20px; align-items: stretch; }
.svn-bottom-grid { display: grid; grid-template-columns: 8fr 4fr; gap: 16px; margin-bottom: 20px; align-items: start; }
.svn-donut-center-wrap { position: relative; max-width: 220px; height: 220px; margin: 0 auto; }
.svn-donut-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; pointer-events: none; }
.svn-donut-center .svn-dc-val { font-size: 26px; font-weight: 700; color: var(--svn-g1); }
.svn-donut-center .svn-dc-lbl { font-size: 10.5px; color: var(--svn-muted); font-weight: 700; letter-spacing: .8px; text-transform: uppercase; }
.svn-filter-group .form-select { background-color: #fff !important; color: var(--svn-ink) !important; font-weight: 600; }
.svn-filter-group .form-select option { color: #0f2417; background: #fff; }

/* MLI Monthly Subvention Index */
.claim-no { font-family:monospace; font-weight:700; font-size:.74rem; color:#1a8c3e; background:#e6ffee; border:1px solid #a7f3d0; padding:.15rem .45rem; border-radius:.25rem; display:inline-block; letter-spacing:.02em; white-space:nowrap; }
.td-date .day { font-size:.92rem; font-weight:700; color:#1e2633; }
.td-date .monyear { font-size:.73rem; color:#334155; display:block; font-weight:600; }
.yr-badge { display:inline-flex; align-items:center; gap:.22rem; font-size:.76rem; font-weight:700; color:#1a8c3e; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:.3rem; padding:.12rem .4rem; white-space:nowrap; }
.month-tag { display:inline-flex; align-items:center; gap:.25rem; background:#e6ffee; border:1px solid #a7f3d0; color:#1a8c3e; border-radius:2rem; padding:.18rem .6rem; font-size:.75rem; font-weight:700; white-space:nowrap; }
.td-amt { text-align:right; font-weight:700; color:#0d6b2f; font-variant-numeric:tabular-nums; letter-spacing:.01em; }
.sp { display:inline-flex; align-items:center; gap:.25rem; padding:.2rem .65rem; border-radius:2rem; font-size:.72rem; font-weight:700; letter-spacing:.025em; white-space:nowrap; }
.sp-draft { background:#fef9c3; color:#854d0e; border:1px solid #fde68a; }
.sp-requested { background:#dbeafe; color:#1d4ed8; border:1px solid #bfdbfe; }
.sp-approved { background:#dcfce7; color:#166534; border:1px solid #86efac; }
.sp-rejected { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.sp-default { background:#f1f5f9; color:#475569; border:1px solid #e2e8f0; }
.al-total-row td { background:#f0fdf4 !important; font-weight:800; font-size:.82rem; border-top:2px solid #6ee7b7 !important; color:#0d6b2f; }
.sort-icon { font-size:.6rem; opacity:.6; margin-left:.2rem; }
#historyModal .svn-history-table thead th { background:#0a7034 !important; color:#fff !important; }

/* MLI Dashboard and SubDashboard responsive refinements */
.admin-subdashboard-table thead th {
    background-color: #1a8c3e;
    color: #fff;
    font-weight: 600;
    vertical-align: middle;
}

.admin-subdashboard-table thead th a {
    color: #fff !important;
}

.admin-subdashboard-table tbody td {
    vertical-align: middle;
}

.admin-subdashboard-table tbody tr:nth-child(even) {
    background-color: #f8fdf9;
}

.admin-subdashboard-table tbody tr:hover {
    background-color: #eefcf3;
}

.mli-dashboard-filter .form-group { margin-bottom: .5rem; }
.mli-dashboard-filter #btnSearch { min-width: 120px; }
.mli-subdashboard-filter .form-control,
.mli-subdashboard-filter .form-select { min-height: 36px; }
.mli-subdashboard-filter .btn { min-width: 90px; }
.mli-subdashboard-filter .filter-action-wrap {
    display: flex;
    align-items: center;
    gap: .45rem;
}
.mli-subdashboard-filter .filter-search-btn {
    min-width: 108px;
    font-weight: 600;
}
.mli-subdashboard-filter .filter-search-btn i,
.mli-subdashboard-filter .export-btn i {
    margin-right: .35rem;
}
.mli-subdashboard-filter .btn-reset-icon {
    min-width: 42px !important;
    width: 42px;
    height: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .35rem;
    background-color: #6c757d;
    border-color: #6c757d;
    transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.mli-subdashboard-filter .btn-reset-icon:hover {
    background-color: #565e64;
    border-color: #565e64;
    transform: rotate(-20deg);
}
.mli-subdashboard-filter .btnright {
    display: flex;
    gap: .45rem;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.mli-subdashboard-filter .export-btn {
    min-width: 92px;
    font-weight: 600;
    border-radius: .35rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
    flex: 0 0 auto;
}
.mli-subdashboard-filter .export-excel { background-color: #1a8c3e; border-color: #1a8c3e; }
.mli-subdashboard-filter .export-excel:hover { background-color: #0d6b2f; border-color: #0d6b2f; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(13, 107, 47, .2); }
.mli-subdashboard-filter .export-pdf { background-color: #dc3545; border-color: #dc3545; }
.mli-subdashboard-filter .export-pdf:hover { background-color: #b02a37; border-color: #b02a37; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(176, 42, 55, .2); }

@media (max-width: 1100px) {
    .svn-kpi-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
    .svn-kpi-value { font-size: 24px; }
    .svn-filter-group { flex: 1 1 180px; }
}

@media (max-width: 991.98px) {
    .mli-dashboard-filter { row-gap: .35rem; }
    .mli-dashboard-filter .col-sm-6, .mli-dashboard-filter .col-md-3 { padding-left: .35rem; padding-right: .35rem; }
    .mli-subdashboard-filter { row-gap: .45rem; }
    .mli-subdashboard-filter > [class*="col-"] { margin-bottom: .35rem; }
}

@media (max-width: 900px) {
    .svn-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .svn-charts-grid, .svn-bottom-grid { grid-template-columns: 1fr; }
    .svn-hero { padding: 16px 16px 14px; }
    .svn-hero h4 { font-size: 17px; }
    .svn-card-body { padding: 14px 12px; }
    .svn-filter-body { padding: 12px; }
}

@media (max-width: 767.98px) {
    .mli-subdashboard-filter > [class*="col-"] { width: 100%; max-width: 100%; flex: 0 0 100%; }
    .mli-subdashboard-filter .btn,
    .mli-subdashboard-filter .btnright .btn { width: 100%; }
    .mli-subdashboard-filter .filter-action-wrap {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 56px;
        gap: .45rem;
    }
    .mli-subdashboard-filter .btn-reset-icon {
        width: 100%;
        min-width: 56px !important;
    }
    .mli-subdashboard-filter .btnright { flex-direction: column; justify-content: stretch; }
    .mli-subdashboard-filter .select2-container { width: 100% !important; }
    .mli-subdashboard-filter .input-group { width: 100%; }
}

@media (max-width: 1200px) and (min-width: 768px) {
    .mli-subdashboard-filter .btnright {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .svn-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .svn-wrap { padding-left: .15rem !important; padding-right: .15rem !important; }
    .svn-hero { border-radius: 10px; }
    .svn-hero-badge { font-size: 11px; padding: 4px 10px; }
    #svnFilterForm { gap: 10px; }
    .svn-filter-group { min-width: 100%; flex: 1 1 100%; }
    .svn-filter-group .form-control, .svn-filter-group .form-select, .svn-btn-apply, .svn-btn-reset { width: 100% !important; }
    .svn-date-badge { width: 100%; margin-left: 0; text-align: center; }
    .svn-card-header { flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
    .svn-card-title { font-size: 13px; }
    .svn-table { font-size: 12px; }
    .svn-table thead th, .svn-table tbody td { padding: 8px 10px; }
    .svn-donut-center-wrap { max-width: 180px; height: 180px; }
    .svn-donut-center .svn-dc-val { font-size: 22px; }
    .mli-dashboard-filter { padding: .75rem !important; }
    .mli-dashboard-filter .col-sm-6, .mli-dashboard-filter .col-md-3 { width: 100%; max-width: 100%; flex: 0 0 100%; }
    .mli-dashboard-filter #btnSearch { width: 100%; }
    .dashboard-box .card .project-content a { display: block; font-size: .84rem; line-height: 1.3; }
    .al-stats { gap:.4rem; }
    .al-stat-card { flex:1 1 100%; }
    .al-header-actions { width:100%; }
}

@media (max-width: 420px) {
    .svn-kpi-grid { grid-template-columns: 1fr; }
    .svn-kpi-card { min-height: 92px; }
    .svn-kpi-value { font-size: 21px; }
    .svn-kpi-sub { font-size: 12px; padding: 3px 9px; }
    .svn-view-btn, .svn-toggle-btn { padding: 4px 8px; font-size: 11px; }
}

/* ==========================================================================
   GSCC UNIFIED GLOBAL TABLE DESIGN SYSTEM
   Standardizes all tables across MLI, DHTE, Admin, CSM, Student, and Reports
   ========================================================================== */

/* 1. Global Table Container & Card Enclosure */
.card-table-wrapper,
.table-responsive,
.dt-buttons-none.table-responsive,
.dataTables_length-none.table-responsive {
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background-color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    margin-bottom: 1.25rem;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: var(--gscc-color-primary-muted) transparent;
}

/* Horizontal scrollbar only — width:0 kills the vertical “shadow” bar */
.table-responsive::-webkit-scrollbar,
.dt-buttons-none.table-responsive::-webkit-scrollbar,
.dataTables_length-none.table-responsive::-webkit-scrollbar,
.card-table-wrapper::-webkit-scrollbar {
    height: 7px;
    width: 0 !important;
}
.table-responsive::-webkit-scrollbar-track,
.dt-buttons-none.table-responsive::-webkit-scrollbar-track,
.card-table-wrapper::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 4px;
}
.table-responsive::-webkit-scrollbar-thumb,
.dt-buttons-none.table-responsive::-webkit-scrollbar-thumb,
.card-table-wrapper::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
.table-responsive::-webkit-scrollbar-thumb:hover,
.dt-buttons-none.table-responsive::-webkit-scrollbar-thumb:hover,
.card-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* 2. Global Card Headers (.al-header / .al-shell) - Uniform Brand Green */
.al-shell {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
    overflow: visible;
    margin-bottom: 1.5rem;
}

.al-header,
.al-shell .al-header {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: .6rem !important;
    padding: .65rem 1.1rem !important;
    background: linear-gradient(135deg, #0b6e31 0%, #15803d 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-bottom: 2px solid #064e26 !important;
}

.al-header-title {
    font-size: .92rem !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    color: #ffffff !important;
}

.al-header-title .fa {
    opacity: .9;
}

.al-count-badge {
    font-size: .72rem !important;
    font-weight: 700 !important;
    background: rgba(255, 255, 255, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #ffffff !important;
    border-radius: 2rem !important;
    padding: .1rem .55rem !important;
    white-space: nowrap !important;
}

.al-btn-add,
.al-btn-excel,
button.al-btn-excel,
a.al-btn-excel,
#btnExcel.al-btn-excel {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: #ffffff !important;
    color: #0b6e31 !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: 1.3 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
    transition: all 0.15s ease-in-out !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.al-btn-add i,
.al-btn-add .fa,
.al-btn-add .bi,
.al-btn-excel i,
.al-btn-excel .fa,
.al-btn-excel .bi,
button.al-btn-excel i,
button.al-btn-excel .fa,
button.al-btn-excel .bi,
#btnExcel.al-btn-excel i,
#btnExcel.al-btn-excel .bi,
.al-header .al-header-actions button i,
.al-header .al-header-actions a i {
    color: inherit !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
    display: inline-block !important;
    margin: 0 !important;
}

.al-btn-add:hover,
.al-btn-excel:hover,
button.al-btn-excel:hover,
a.al-btn-excel:hover,
#btnExcel.al-btn-excel:hover {
    background: #f0fdf4 !important;
    color: #04381b !important;
    border-color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.16) !important;
}

.al-btn-add:hover i,
.al-btn-excel:hover i,
button.al-btn-excel:hover i,
a.al-btn-excel:hover i,
#btnExcel.al-btn-excel:hover i {
    color: #04381b !important;
}

/* Standalone & Toolbar Excel Buttons Across DHTE / MLI / Admin Reports */
#btnExcel:not(.al-btn-excel),
.btn-excel,
.btnExcel,
.rfs-btn[value="Excel"],
button[name="submit"][value="Excel"]:not(.al-btn-excel) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background-color: #0b6e31 !important;
    color: #ffffff !important;
    border: 1px solid #064e26 !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.15s ease-in-out !important;
}

#btnExcel:not(.al-btn-excel):hover,
.btn-excel:hover,
.btnExcel:hover,
.rfs-btn[value="Excel"]:hover,
button[name="submit"][value="Excel"]:not(.al-btn-excel):hover {
    background-color: #064e26 !important;
    color: #ffffff !important;
    border-color: #04381b !important;
    transform: translateY(-1px) !important;
}

#btnExcel:not(.al-btn-excel) i,
.btn-excel i,
.btnExcel i,
.rfs-btn[value="Excel"] i,
button[name="submit"][value="Excel"]:not(.al-btn-excel) i {
    color: #ffffff !important;
    font-size: 0.95rem !important;
    display: inline-block !important;
}

/* 3. Unified Base Table & Header Styling (Non-Bulky, Sleek, Explicit Cell Borders) */
table.table,
table.al-table,
table.repayment-table,
table#file-datatable,
table#example1,
table.upload-table,
table.entry-list-table,
table.modern-table,
table.report-matrix-table,
table.admin-subdashboard-table,
table.table-dashboard-two,
table.table-bordered,
table.table-left {
    width: 100% !important;
    margin-bottom: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    font-size: 0.82rem !important;
    color: #1e293b !important;
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
}

/* Unified Table Headers (THEAD) */
table.table thead tr,
table.al-table thead tr,
table.repayment-table thead tr,
table.al-table thead tr.al-header,
table#file-datatable thead tr {
    background: #1B3A2F !important;
    border-bottom: 1px solid var(--gscc-color-primary) !important;
}

table.table thead th,
table.al-table thead th,
table.repayment-table thead th,
table.al-table thead tr.al-header th,
table#file-datatable thead th,
table#example1 thead th,
table.upload-table thead th,
table.entry-list-table thead th,
table.modern-table thead th,
table.report-matrix-table thead th,
table.admin-subdashboard-table thead th,
table.table-dashboard-two thead th,
table.table-bordered thead th,
table.table-left thead th {
    background-color: #1B3A2F !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    padding: 4px 8px !important;
    vertical-align: middle !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-bottom: 1px solid var(--gscc-color-primary) !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    line-height: 1.3 !important;
    position: relative;
}

/* Header sort links styling */
table.table thead th a,
table.al-table thead th a,
table.repayment-table thead th a,
table#file-datatable thead th a,
table#example1 thead th a,
table.upload-table thead th a,
table.modern-table thead th a,
table.table-bordered thead th a {
    color: #ffffff !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    transition: color 0.15s ease-in-out;
}

table.table thead th a:hover,
table.al-table thead th a:hover,
table#file-datatable thead th a:hover,
table.table-bordered thead th a:hover {
    color: var(--gscc-color-accent-soft, #F8F1DC) !important;
    text-decoration: none !important;
}

/* 4. Table body cells: readable padding, horizontal row rules only (no box around every cell) */
table.table tbody td,
table.al-table tbody td,
table.repayment-table tbody td,
table#file-datatable tbody td,
table#example1 tbody td,
table.upload-table tbody td,
table.entry-list-table tbody td,
table.modern-table tbody td,
table.report-matrix-table tbody td,
table.admin-subdashboard-table tbody td,
table.table-dashboard-two tbody td,
table.table-bordered td,
table.table-bordered th,
table.table-left tbody td,
.dataTables_wrapper table tbody td {
    padding: var(--gscc-space-2, 8px) var(--gscc-space-3, 12px) !important;
    vertical-align: middle !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: var(--gscc-color-text, #17212B) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--gscc-color-border-subtle, #E5E7EB) !important;
    background-color: var(--gscc-color-surface, #ffffff);
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* 5. Zebra Striping & Interactive Hover Highlight */
table.table tbody tr:nth-child(even) td,
table.al-table tbody tr:nth-child(even) td,
table.repayment-table tbody tr:nth-child(even) td,
table#file-datatable tbody tr:nth-child(even) td,
table#example1 tbody tr:nth-child(even) td,
table.upload-table tbody tr:nth-child(even) td,
table.modern-table tbody tr:nth-child(even) td,
table.table-bordered tbody tr:nth-child(even) td {
    background-color: #fafcfb !important;
}

table.table tbody tr:hover,
table.al-table tbody tr:hover,
table.repayment-table tbody tr:hover,
table#file-datatable tbody tr:hover,
table#example1 tbody tr:hover,
table.upload-table tbody tr:hover,
table.modern-table tbody tr:hover {
    background-color: #f0fdf4 !important;
}

/* 6. Column width — only named serial cells, never every first column */
.col-sr,
.sr-cell,
.td-sr {
    min-width: 48px !important;
    max-width: 72px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Application Details */
.col-appid,
th[data-col="app-id"],
td[data-col="app-id"] {
    min-width: 175px !important;
}

/* Contact / Student Details */
.col-applicant,
th[data-col="contact"],
td[data-col="contact"] {
    min-width: 210px !important;
}

/* Institute Name */
.col-inst,
th[data-col="institute"],
td[data-col="institute"] {
    min-width: 240px !important;
}

/* Branch Details */
.col-branch,
th[data-col="branch"],
td[data-col="branch"] {
    min-width: 170px !important;
}

/* Loan Account */
.col-loanacc,
th[data-col="loan-account"],
td[data-col="loan-account"] {
    min-width: 140px !important;
}

/* Date */
.col-date,
th[data-col="date"],
td[data-col="date"] {
    min-width: 115px !important;
    text-align: center !important;
}

/* Sub-Type */
.col-subtype,
th[data-col="subtype"],
td[data-col="subtype"] {
    min-width: 165px !important;
}

/* Description */
.col-desc,
th[data-col="description"],
td[data-col="description"] {
    min-width: 160px !important;
}

/* Transaction No */
.col-txno,
th[data-col="txno"],
td[data-col="txno"] {
    min-width: 180px !important;
}

/* Amount */
.col-amount,
.amt-cell,
.currency-cell,
.dhte-td-amt,
.repayment-amt,
.disbursement-amt {
    min-width: 130px !important;
    text-align: right !important;
    font-variant-numeric: tabular-nums !important;
    font-weight: 600 !important;
}

/* Sanction & TPA Status */
.col-status,
.col-tpa {
    min-width: 110px !important;
    text-align: center !important;
}

/* 7. Compact Avatar Initials & Action Chips */
.al-avatar {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #0b6e31 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}

.al-app-card {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.al-app-link {
    font-weight: 700 !important;
    color: #0b6e31 !important;
    font-size: .82rem !important;
    text-decoration: none !important;
}

.al-app-name {
    font-size: .78rem !important;
    color: #475569 !important;
    font-weight: 600 !important;
}

/* 8. Action columns — wide enough for multiple icon buttons, no overlap */
th.w-fixed,
td.w-fixed,
th.col-action,
td.col-action,
th.action-cell,
td.action-cell,
td.veiw-group,
th.border-bottom-0.w-fixed,
table td:has(> .al-act),
table td:has(> .d-flex > .al-act),
table td:has(> .al-act-group),
table td:has(.veiw-group) {
    display: table-cell !important;
    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    padding: 4px 6px !important;
    border: 1px solid #dee2e6 !important;
    box-sizing: border-box !important;
}

/* Action button flex wrapper inside table cells */
.veiw-group:not(td),
.table-action-group,
table td > .d-flex:has(.al-act),
.al-act-group {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    margin: 0 auto !important;
    vertical-align: middle !important;
    max-width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    width: auto !important;
}

.al-act {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    border-radius: 8px !important;
    border: 1px solid #d1e7db !important;
    background: var(--gscc-color-primary-soft) !important;
    color: var(--gscc-color-primary) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    box-shadow: 0 1px 2px rgba(15, 36, 23, .06) !important;
}

/* Base button styling for ALL table action links and buttons */
.table .veiw-group a,
.table .veiw-group button,
.veiw-group a,
.veiw-group button,
td.veiw-group a,
td.veiw-group button,
.table-action-group a,
.table-action-group button,
.table-action-btn,
.al-act-btn,
.action-sec {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    padding: 0 !important;
    margin: 0 1px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.15s ease-in-out !important;
    border: 1px solid #cbd5e1 !important;
    background-color: #ffffff !important;
    color: #475569 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
}

.table .veiw-group a:hover,
.table .veiw-group button:hover,
.veiw-group a:hover,
.veiw-group button:hover,
td.veiw-group a:hover,
td.veiw-group button:hover,
.table-action-group a:hover,
.table-action-group button:hover,
.table-action-btn:hover,
.al-act-btn:hover,
.action-sec:hover,
.al-act:hover,
.al-act-view:hover {
    background: #D7EBDF !important;
    background-color: #D7EBDF !important;
    border-color: var(--gscc-color-primary) !important;
    color: var(--gscc-color-primary) !important;
    transform: none !important;
    box-shadow: 0 1px 3px rgba(var(--bs-primary-rgb),  0.18) !important;
    opacity: 1 !important;
    filter: none !important;
}
.table .veiw-group a:hover i,
.table .veiw-group button:hover i,
.veiw-group a:hover i,
.veiw-group button:hover i,
td.veiw-group a:hover i,
.al-act:hover i,
.al-act-view:hover i,
.table .veiw-group a:hover i::before,
.veiw-group a:hover i::before,
.al-act:hover i::before,
.al-act-view:hover i::before {
    color: var(--gscc-color-primary) !important;
    opacity: 1 !important;
}

/* View Action (Eye) - Emerald / Green theme */
.veiw-group a:has(.fa-eye),
.veiw-group button:has(.fa-eye),
.table td.veiw-group a:first-child:has(.fa-eye),
.table .veiw-group a[href*="Preview"],
.table .veiw-group a[href*="preview"],
.table .veiw-group a[href*="View"],
.table .veiw-group a[href*="view"],
.table-action-btn.btn-view,
.al-act-view {
    background-color: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: #059669 !important;
}
.veiw-group a:has(.fa-eye) i,
.veiw-group button:has(.fa-eye) i,
.table .veiw-group a[href*="Preview"] i,
.table .veiw-group a[href*="preview"] i,
.table .veiw-group a[href*="View"] i,
.table .veiw-group a[href*="view"] i,
.table-action-btn.btn-view i,
.al-act-view i,
.table td.veiw-group .fa-eye {
    color: #059669 !important;
}
.veiw-group a:hover:has(.fa-eye),
.veiw-group button:hover:has(.fa-eye),
.table .veiw-group a[href*="Preview"]:hover,
.table .veiw-group a[href*="preview"]:hover,
.table .veiw-group a[href*="View"]:hover,
.table .veiw-group a[href*="view"]:hover,
.table-action-btn.btn-view:hover,
.al-act-view:hover {
    background: #D7EBDF !important;
    background-color: #D7EBDF !important;
    border-color: var(--gscc-color-primary) !important;
    color: var(--gscc-color-primary) !important;
}
.veiw-group a:hover:has(.fa-eye) i,
.veiw-group button:hover:has(.fa-eye) i,
.table .veiw-group a[href*="Preview"]:hover i,
.table .veiw-group a[href*="preview"]:hover i,
.table .veiw-group a[href*="View"]:hover i,
.table .veiw-group a[href*="view"]:hover i,
.table-action-btn.btn-view:hover i,
.al-act-view:hover i {
    color: var(--gscc-color-primary) !important;
}

/* Edit / Change Status Action (Pencil / Edit) - Amber / Warm theme */
.veiw-group a:has(.fa-edit),
.veiw-group a:has(.fa-pencil),
.veiw-group a:has(.fa-pencil-square-o),
.veiw-group button:has(.fa-edit),
.veiw-group button:has(.fa-pencil),
.veiw-group a.student-id,
.table .veiw-group a[href*="Edit"],
.table .veiw-group a[href*="edit"],
.table .veiw-group a[href*="Personal"],
.table .veiw-group a[href*="personal"],
.table-action-btn.btn-edit,
.al-act-edit {
    background-color: #fffbeb !important;
    border-color: #fde68a !important;
    color: #d97706 !important;
}
.veiw-group a:has(.fa-edit) i,
.veiw-group a:has(.fa-pencil) i,
.veiw-group a:has(.fa-pencil-square-o) i,
.veiw-group button:has(.fa-edit) i,
.veiw-group button:has(.fa-pencil) i,
.veiw-group a.student-id i,
.table .veiw-group a[href*="Edit"] i,
.table .veiw-group a[href*="edit"] i,
.table .veiw-group a[href*="Personal"] i,
.table .veiw-group a[href*="personal"] i,
.table td.veiw-group .fa-edit,
.table td.veiw-group .fa-pencil,
.table td.veiw-group .fa-pencil-square-o {
    color: #d97706 !important;
}
.veiw-group a:hover:has(.fa-edit),
.veiw-group a:hover:has(.fa-pencil),
.veiw-group a:hover:has(.fa-pencil-square-o),
.veiw-group button:hover:has(.fa-edit),
.veiw-group button:hover:has(.fa-pencil),
.veiw-group a.student-id:hover,
.table .veiw-group a[href*="Edit"]:hover,
.table .veiw-group a[href*="edit"]:hover,
.table .veiw-group a[href*="Personal"]:hover,
.table .veiw-group a[href*="personal"]:hover,
.table-action-btn.btn-edit:hover,
.al-act-edit:hover {
    background: #FFEDD5 !important;
    background-color: #FFEDD5 !important;
    border-color: #C2410C !important;
    color: #C2410C !important;
}
.veiw-group a:hover:has(.fa-edit) i,
.veiw-group a:hover:has(.fa-pencil) i,
.veiw-group a:hover:has(.fa-pencil-square-o) i,
.veiw-group button:hover:has(.fa-edit) i,
.veiw-group button:hover:has(.fa-pencil) i,
.veiw-group a.student-id:hover i,
.table .veiw-group a[href*="Edit"]:hover i,
.table .veiw-group a[href*="edit"]:hover i,
.table .veiw-group a[href*="Personal"]:hover i,
.table .veiw-group a[href*="personal"]:hover i,
.table-action-btn.btn-edit:hover i,
.al-act-edit:hover i {
    color: #C2410C !important;
}

/* Delete Action (Trash) - Crimson / Red theme */
.veiw-group a:has(.fa-trash),
.veiw-group a:has(.fa-trash-o),
.veiw-group button:has(.fa-trash),
.veiw-group button:has(.fa-trash-o),
.veiw-group a.btdelete,
.veiw-group .btnDelete,
.table-action-btn.btn-delete,
.al-act-delete {
    background-color: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}
.veiw-group a:has(.fa-trash) i,
.veiw-group a:has(.fa-trash-o) i,
.veiw-group button:has(.fa-trash) i,
.veiw-group button:has(.fa-trash-o) i,
.veiw-group a.btdelete i,
.veiw-group .btnDelete i,
.table td.veiw-group .fa-trash,
.table td.veiw-group .fa-trash-o {
    color: #dc2626 !important;
}
.veiw-group a:hover:has(.fa-trash),
.veiw-group a:hover:has(.fa-trash-o),
.veiw-group button:hover:has(.fa-trash),
.veiw-group button:hover:has(.fa-trash-o),
.veiw-group a.btdelete:hover,
.veiw-group .btnDelete:hover,
.table-action-btn.btn-delete:hover,
.al-act-delete:hover {
    background: #FEE2E2 !important;
    background-color: #FEE2E2 !important;
    border-color: #B91C1C !important;
    color: #B91C1C !important;
}
.veiw-group a:hover:has(.fa-trash) i,
.veiw-group a:hover:has(.fa-trash-o) i,
.veiw-group button:hover:has(.fa-trash) i,
.veiw-group button:hover:has(.fa-trash-o) i,
.veiw-group a.btdelete:hover i,
.veiw-group .btnDelete:hover i,
.table-action-btn.btn-delete:hover i,
.al-act-delete:hover i {
    color: #B91C1C !important;
}

/* Clean icon spacing and hide empty tooltip placeholders */
.iconspacing {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
.tooltip-text:empty,
.veiw-group .tooltip-text:empty,
.table-action-group .tooltip-text:empty,
a .tooltip-text:empty {
    display: none !important;
}

/* 9. Unified Status Chips */
.badge,
.gscc-badge,
.al-stat-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 0.22rem 0.55rem !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    border-radius: 16px !important;
    text-align: center !important;
    white-space: nowrap !important;
    border: 1px solid transparent !important;
}

/* Approved / Active / Success */
.badge-success,
.bg-success,
.badge-approved,
.al-stat-approved,
.dhte-sp-approved,
.status-approved,
.status-3,
.status-active {
    background-color: #dcfce7 !important;
    color: #15803d !important;
    border-color: #86efac !important;
}

/* Pending / Review / Requested */
.badge-warning,
.bg-warning,
.badge-pending,
.al-stat-pending,
.dhte-sp-requested,
.dhte-sp-draft,
.status-pending,
.status-1,
.status-2 {
    background-color: #fef3c7 !important;
    color: #b45309 !important;
    border-color: #fde68a !important;
}

/* Rejected / Cancelled / Inactive */
.badge-danger,
.bg-danger,
.badge-rejected,
.al-stat-rejected,
.dhte-sp-rejected,
.status-rejected,
.status-6,
.status-deactive {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
    border-color: #fca5a5 !important;
}

/* Reverted / Query Raised */
.badge-info,
.bg-info,
.badge-revert,
.al-stat-revert,
.status-revert,
.status-4 {
    background-color: #e0e7ff !important;
    color: #4338ca !important;
    border-color: #c7d2fe !important;
}

/* Disbursed / Paid */
.badge-disbursed,
.al-stat-disbursed,
.status-disbursed {
    background-color: #cffafe !important;
    color: #0e7490 !important;
    border-color: #a5f3fc !important;
}

/* NPA / Default */
.badge-npa,
.al-stat-npa,
.status-npa {
    background-color: #ffedd5 !important;
    color: #c2410c !important;
    border-color: #fed7aa !important;
}

/* 10. Table Footer Totals */
.al-table tfoot td,
.repayment-table tfoot td,
.report-total-row td {
    background: #f0fdf4 !important;
    font-weight: 700 !important;
    color: #0b6e31 !important;
    border-top: 2px solid #0b6e31 !important;
    padding: 8px 12px !important;
}

/* 11. Readable list tables across all admin pages */
.main-content ::selection,
.main-content ::-moz-selection,
.main-content table tbody td::selection,
.main-content table tbody td *::selection,
.main-content table tbody td::-moz-selection,
.main-content table tbody td *::-moz-selection,
.main-content table thead th::selection,
.main-content table thead th *::selection {
    background: #0a7034 !important;
    color: #ffffff !important;
}

.main-content table tbody td,
.main-content table tbody th,
.app-content table tbody td,
.app-content table tbody th {
    color: #0f172a !important;
}

.main-content table tbody td .text-muted,
.main-content table tbody td small,
.main-content table tbody td .small,
.main-content table tbody td .al-sub,
.main-content table tbody td .td-sr,
.main-content table tbody td .monyear,
.main-content table tbody .text-muted,
.main-content table tbody .al-sub,
.main-content table tbody .td-sr,
.al-shell .text-muted,
.al-sub,
.td-sr,
.monyear {
    color: #1e293b !important;
    opacity: 1 !important;
    font-weight: 600 !important;
}

.main-content table tbody td a:not(.btn):not(.badge):not(.al-act) {
    color: #0a7034;
}

.al-app-no,
.claim-no,
.dhte-claim-no {
    color: #065f2b !important;
    background: #d1fae5 !important;
    border-color: #6ee7b7 !important;
}

.al-app-name {
    color: #0f172a !important;
}

.al-badge-yes {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #86efac !important;
}

.al-badge-no {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border: 1px solid #94a3b8 !important;
}

.al-badge-info {
    background: #dbeafe !important;
    color: #1e40af !important;
    border: 1px solid #93c5fd !important;
}

.main-content table tbody td .badge {
    font-weight: 700 !important;
}

.al-stat-label,
.al-stat-sub {
    color: #334155 !important;
}

.al-stat-sub {
    color: #475569 !important;
}

/* 12. Modal / popup tables — never squeeze columns or clip text */
.modal .table,
.modal table,
.modal-body .table,
#disburseEntryModel table,
.modal .table-sm {
    table-layout: auto !important;
    width: 100% !important;
}

.modal table thead th,
.modal table tbody td,
.modal .table thead th,
.modal .table tbody td,
#disburseEntryModel table thead th,
#disburseEntryModel table tbody td {
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    padding: 12px 14px !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
}

.modal table thead th,
.modal .table thead th,
#disburseEntryModel table thead th {
    color: #ffffff !important;
    white-space: normal !important;
}

.modal table th:first-child,
.modal table td:first-child,
.modal table th:nth-child(2),
.modal table td:nth-child(2),
#disburseEntryModel table th:first-child,
#disburseEntryModel table td:first-child {
    max-width: none !important;
    min-width: 120px !important;
    text-align: left !important;
}

.modal table td.text-end,
#disburseEntryModel table td.text-end,
.modal table th.text-end {
    text-align: right !important;
    white-space: nowrap !important;
    min-width: 130px !important;
}

.modal .table-responsive {
    overflow-x: auto !important;
    max-width: 100%;
}

.svn-dhte-disb-amount,
.svn-preview-disb-amount,
.disb-amount {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.info-icon-btn {
    margin-left: 2px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

.al-app-cell {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.al-app-cell > div {
    min-width: 0 !important;
}

/* Pagination — solid theme green, no gradient (beats eklavya/GSCC :focus rules) */
.pagination,
.pagination.pagination-sm,
.dataTables_paginate .pagination,
.svn-dhte-pagination .pagination,
.svn-preview-pagination .pagination,
.subvention-pagination .pagination {
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.eklavya-page .page-link,
.GSCC-page .page-link,
.pagination .page-link,
.dataTables_paginate .page-link,
.svn-dhte-pagination .page-link,
.svn-preview-pagination .page-link,
.subvention-pagination .page-link,
.gp-pages a,
.gp-pages span.gp-btn {
    background: #ffffff !important;
    background-image: none !important;
    color: #0a7034 !important;
    border: 1px solid #b7e0c3 !important;
    border-radius: 6px !important;
    min-width: 2.15rem !important;
    width: auto !important;
    height: 2.15rem !important;
    padding: 0 0.5rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}
.eklavya-page .page-link:hover,
.eklavya-page .page-link:focus,
.GSCC-page .page-link:hover,
.GSCC-page .page-link:focus,
.pagination .page-link:hover,
.pagination .page-link:focus,
.dataTables_paginate .page-link:hover,
.dataTables_paginate .page-link:focus,
.svn-dhte-pagination .page-link:hover,
.svn-preview-pagination .page-link:hover,
.subvention-pagination .page-link:hover,
.gp-pages a:hover {
    background: #ecfdf5 !important;
    background-image: none !important;
    color: #065f2b !important;
    border-color: #0a7034 !important;
}
.eklavya-page .page-item.active .page-link,
.eklavya-page .page-item.active .page-link:hover,
.eklavya-page .page-item.active .page-link:focus,
.GSCC-page .page-item.active .page-link,
.GSCC-page .page-item.active .page-link:hover,
.GSCC-page .page-item.active .page-link:focus,
.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:hover,
.pagination .page-item.active .page-link:focus,
.dataTables_paginate .page-item.active .page-link,
.dataTables_paginate .page-item.active .page-link:hover,
.dataTables_paginate .page-item.active .page-link:focus,
.svn-dhte-pagination .page-item.active .page-link,
.svn-preview-pagination .page-item.active .page-link,
.subvention-pagination .page-item.active .page-link,
.gp-pages span.gp-btn.active,
.gp-pages .gp-btn.active,
.gp-pages .active {
    background: var(--gscc-color-primary) !important;
    background-image: none !important;
    border-color: var(--gscc-color-primary) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}
.pagination .page-item.disabled .page-link,
.dataTables_paginate .page-item.disabled .page-link,
.svn-dhte-pagination .page-item.disabled .page-link,
.svn-preview-pagination .page-item.disabled .page-link,
.subvention-pagination .page-item.disabled .page-link,
.gp-pages .disabled {
    background: #f8faf8 !important;
    background-image: none !important;
    color: #94a3b8 !important;
    border-color: #e2e8f0 !important;
}

/* Page title + breadcrumbs — readable on the green banner, all pages */
.eklavya-page .main-content:after,
.GSCC-page .main-content:after,
.eklavya-page .main-content::after,
.GSCC-page .main-content::after {
    background: #0a7034 !important;
    background-image: none !important;
    height: 72px !important;
}
.main-content-body,
.tab-sec.admin-tab-sec {
    overflow: visible !important;
}
.breadcrumb-header,
.breadcrumb-header.al-breadcrumb-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
    min-height: 36px !important;
    padding: 6px 6px 8px !important;
    margin: 0 0 10px !important;
    border-bottom: none !important;
    position: relative;
    z-index: 2;
    overflow: visible !important;
}
/* Avoid repeating the page title inside the breadcrumb trail */
.breadcrumb-header:has(.content-title) .breadcrumb1.nav > .breadcrumb-item:last-child,
.breadcrumb-header:has(.content-title) ol.breadcrumb > .breadcrumb-item:last-child,
.breadcrumb-header:has(> h4) .breadcrumb1.nav > .breadcrumb-item:last-child,
.breadcrumb-header:has(> h5) .breadcrumb1.nav > .breadcrumb-item:last-child {
    display: none !important;
}
.breadcrumb-header:has(.content-title) .breadcrumb1.nav > .breadcrumb-item:only-child,
.breadcrumb-header:has(> h4) .breadcrumb1.nav > .breadcrumb-item:only-child,
.breadcrumb-header:has(> h5) .breadcrumb1.nav > .breadcrumb-item:only-child {
    display: inline-flex !important;
}
.breadcrumb-header .left-content {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    margin: 0 !important;
}
.breadcrumb-header > h4,
.breadcrumb-header > h5,
.breadcrumb-header .left-content > h4,
.breadcrumb-header .left-content > h5,
.breadcrumb-header .content-title,
.breadcrumb-header .mobile-res.content-title,
.breadcrumb-header h4.content-title,
.breadcrumb-header h5.content-title {
    color: #ffffff !important;
    margin: 0 !important;
    padding-left: 14px !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.3);
    display: inline-flex !important;
    align-items: center !important;
    gap: .45rem;
    position: relative !important;
}
.breadcrumb-header > h4::before,
.breadcrumb-header > h5::before,
.breadcrumb-header .left-content > h4::before,
.breadcrumb-header .left-content > h5::before,
.breadcrumb-header .content-title::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 4px !important;
    height: 1.05em !important;
    background: #bbf7d0 !important;
    background-image: none !important;
    border-radius: 3px !important;
}
.breadcrumb-header .badge {
    background: #ecfdf5 !important;
    color: #065f2b !important;
    border: 1px solid #86efac !important;
    font-weight: 700 !important;
}
.breadcrumb-header .breadcrumb-style4 {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
}
.breadcrumb-header .btn,
.breadcrumb-header .btn-outline-primary,
.breadcrumb-header .btn-outline-info,
.breadcrumb-header .btn-outline-secondary,
.breadcrumb-header .btn-sm {
    background: #ffffff !important;
    color: #0a7034 !important;
    border: 1px solid #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.12) !important;
}
.breadcrumb-header .btn:hover,
.breadcrumb-header .btn-outline-primary:hover,
.breadcrumb-header .btn-outline-info:hover {
    background: #ecfdf5 !important;
    color: #065f2b !important;
    border-color: #bbf7d0 !important;
}
.breadcrumb-style4 .breadcrumb1.nav:not(:has(.breadcrumb-item)),
.breadcrumb-style4 ol.breadcrumb:not(:has(.breadcrumb-item)),
.breadcrumb-style4 .breadcrumb1.nav:not(:has(li)),
.breadcrumb-style4 ol.breadcrumb:not(:has(li)) {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}
.breadcrumb-style4 .breadcrumb1.nav,
.breadcrumb-style4 ol.breadcrumb {
    background: #ffffff !important;
    border: 1px solid #d1fae5 !important;
}
.breadcrumb-style4 .breadcrumb1.nav .breadcrumb-item a,
.breadcrumb-style4 .breadcrumb1.nav .breadcrumb-item .breadcrumb-link,
.breadcrumb-style4 ol.breadcrumb .breadcrumb-item a {
    color: #065f2b !important;
}
.breadcrumb-style4 .breadcrumb1.nav .breadcrumb-item:last-child a,
.breadcrumb-style4 .breadcrumb1.nav .breadcrumb-item:last-child .breadcrumb-link,
.breadcrumb-style4 ol.breadcrumb .breadcrumb-item.active {
    color: #064e26 !important;
    background: #d1fae5 !important;
}
@media (max-width: 1023px) {
    .eklavya-page .main-content:after,
    .GSCC-page .main-content:after,
    .eklavya-page .main-content::after,
    .GSCC-page .main-content::after {
        height: 80px !important;
    }
    .breadcrumb-header,
    .breadcrumb-header.al-breadcrumb-bar {
        margin: 0 0 8px !important;
        padding: 6px 4px 8px !important;
    }
    .breadcrumb-header .content-title,
    .breadcrumb-header > h4,
    .breadcrumb-header > h5 {
        margin-top: 0 !important;
        font-size: 1rem !important;
    }
}

/* Public homepage dashboard */
.gscc-public-dash {
    background: #f3faf6;
    padding: 28px 0 42px;
    color: #163024;
}
.gscc-dash-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #d7eadf;
    border-left: 4px solid #ea5e24;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0, 111, 58, 0.05);
}
.gscc-dash-head-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #e7f6ee;
    color: #006F3A;
    font-size: 18px;
}
.gscc-dash-head-copy {
    min-width: 0;
}
.gscc-public-dash .gscc-dash-title {
    margin: 0;
    padding: 0;
    border: 0;
    color: #006F3A;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.2;
}
.gscc-dash-head-copy p {
    margin: 2px 0 0;
    color: #5c6b63;
    font-size: 13px;
    line-height: 1.35;
}
@media (max-width: 575px) {
    .gscc-dash-head {
        padding: 8px 10px;
        gap: 10px;
    }
    .gscc-dash-head-icon {
        width: 34px;
        height: 34px;
        font-size: 16px;
    }
    .gscc-public-dash .gscc-dash-title {
        font-size: 1.05rem;
    }
}
.gscc-coverage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}
.gscc-coverage-card,
.gscc-kpi {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(0, 111, 58, 0.06);
    min-width: 0;
}
.gscc-coverage-card {
    padding: 18px 20px;
}
.gscc-coverage-label,
.gscc-kpi-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #5c6b63;
    line-height: 1.35;
}
.gscc-coverage-value,
.gscc-kpi-value {
    margin-top: 4px;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    color: #006F3A;
    font-variant-numeric: tabular-nums;
}
.gscc-kpi-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}
.gscc-tone-green {
    background: #e7f6ee;
    color: #006F3A;
}
.gscc-tone-orange {
    background: #fff1ea;
    color: #ea5e24;
}
.gscc-dash-filter {
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 16px;
    padding: 18px 18px 16px;
    margin-bottom: 18px;
    box-shadow: 0 8px 22px rgba(0, 111, 58, 0.05);
}
.gscc-dash-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
    align-items: end;
}
.gscc-dash-filter .gscc-range-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
}
.gscc-dash-filter .gscc-range-preset {
    appearance: none;
    border: 1px solid #cfe3d6;
    background: #f7fbf8;
    color: #163024;
    border-radius: 999px;
    min-height: 32px;
    padding: 4px 12px;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
}
.gscc-dash-filter .gscc-range-preset:hover,
.gscc-dash-filter .gscc-range-preset.active {
    background: var(--gscc-color-primary);
    border-color: var(--gscc-color-primary);
    color: #fff;
}
.gscc-dash-field label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #006F3A;
}
.gscc-public-dash .form-select,
.gscc-public-dash .form-control {
    height: 42px;
    border: 1px solid #cfe3d6;
    border-radius: 10px;
    background-color: #f7fbf8;
    color: #163024;
    font-size: 14px;
    box-shadow: none;
}
.gscc-public-dash .form-select:focus,
.gscc-public-dash .form-control:focus {
    border-color: #006F3A;
    box-shadow: 0 0 0 3px rgba(0, 111, 58, 0.12);
}
.gscc-dash-search {
    height: 42px;
    min-width: 118px;
    padding: 0 22px;
    border: 0;
    border-radius: 10px;
    background: #006F3A;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.gscc-dash-search:hover,
.gscc-dash-search:focus {
    background: #ea5e24;
    color: #fff;
}
.gscc-dash-search:disabled {
    opacity: 0.7;
}
.gscc-dash-period {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #d7eadf;
    color: #245c3d;
    font-size: 13px;
    font-weight: 700;
}
.gscc-dash-period i {
    color: #006F3A;
}
.gscc-kpi-grid {
    display: grid;
    gap: 16px;
}
.gscc-kpi-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gscc-kpi-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
}
.gscc-kpi {
    padding: 16px 18px;
    min-height: 104px;
}
.gscc-kpi-value {
    font-size: 28px;
}
.gscc-dash-note {
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 14px;
    padding: 28px 16px;
    text-align: center;
    color: #245c3d;
    font-weight: 700;
}
@media (min-width: 992px) {
    .gscc-dash-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .gscc-kpi-grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1200px) {
    .gscc-dash-filter-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) auto;
    }
    .gscc-kpi-grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 575px) {
    .gscc-coverage,
    .gscc-dash-filter-grid,
    .gscc-kpi-grid-4,
    .gscc-kpi-grid-3 {
        grid-template-columns: 1fr;
    }
    .gscc-coverage-value,
    .gscc-kpi-value {
        font-size: 26px;
    }
    .gscc-dash-search {
        width: 100%;
    }
}

.gscc-dash-more {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    margin-top: 18px;
}
.gscc-dash-more p {
    margin: 0;
    color: #5c6b63;
    font-size: 14px;
}
a.gscc-full-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.gscc-full-lead,
.gscc-full-foot,
.gscc-panel-note,
.gscc-rate-hint {
    color: #5c6b63;
}
.gscc-full-lead {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.6;
}
.gscc-full-foot {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.55;
}
.gscc-rate-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.gscc-rate-hint {
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.4;
}
.gscc-kpi-value-sm {
    font-size: 22px;
}
.gscc-panel {
    margin-top: 22px;
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 16px;
    padding: 0;
    box-shadow: 0 8px 22px rgba(0, 111, 58, 0.05);
    overflow: hidden;
}
.gscc-panel-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
    background: #f7fbf8;
}
.gscc-panel-summary::-webkit-details-marker { display: none; }
.gscc-panel-summary::marker { content: ""; }
.gscc-panel-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #e7f6ee;
    color: #006F3A;
    font-size: 18px;
}
.gscc-panel-copy { min-width: 0; }
.gscc-panel-title {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    color: #163024;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}
.gscc-panel-sub {
    display: block;
    margin-top: 2px;
    color: #5c6b63;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
}
.gscc-panel-chevron {
    margin-left: auto;
    color: #006F3A;
    transition: transform .2s ease;
}
.gscc-panel[open] .gscc-panel-chevron { transform: rotate(180deg); }
.gscc-panel-body {
    padding: 14px 16px 16px;
    border-top: 1px solid #e3f2e9;
}
.gscc-panel-summary:focus-visible {
    outline: 2px solid #006F3A;
    outline-offset: -2px;
}
.gscc-panel-note {
    margin: 0 0 12px;
    font-size: 14px;
}
.gscc-chart-box {
    position: relative;
    height: 280px;
    margin-bottom: 12px;
}
.gscc-chart-box-tall {
    height: 380px;
}
.gscc-chart-box-sm {
    height: 220px;
}
.gscc-chart-box[hidden] {
    display: none !important;
}
.gscc-chart-empty {
    margin: 0 0 12px;
    color: #245c3d;
    font-weight: 700;
}
.gscc-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
.gscc-table-wrap {
    overflow-x: auto;
}
.gscc-slice-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    color: #163024;
}
.gscc-slice-table th,
.gscc-slice-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e3f2e9;
    text-align: right;
    white-space: nowrap;
}
.gscc-slice-table th[scope="col"] {
    color: #006F3A;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #f7fbf8;
}
.gscc-slice-table th[scope="row"],
.gscc-slice-table th:first-child,
.gscc-slice-table td:first-child {
    text-align: left;
}
.gscc-slice-table tbody tr:hover {
    background: #f3faf6;
}
@media (min-width: 992px) {
    .gscc-rate-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .gscc-split {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 575px) {
    .gscc-rate-grid {
        grid-template-columns: 1fr;
    }
    .gscc-chart-box,
    .gscc-chart-box-tall {
        height: 260px;
    }
    a.gscc-full-link {
        width: 100%;
    }
}

/* Public FAQ topics */
.gscc-faq {
    background: #f3faf6;
    padding: 28px 0 48px;
}
.gscc-faq-tools {
    margin-bottom: 16px;
}
.gscc-faq-search span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #006F3A;
}
.gscc-faq-search input {
    width: 100%;
    height: 46px;
    border: 1px solid #cfe3d6;
    border-radius: 12px;
    padding: 0 16px;
    background: #fff;
    color: #163024;
    font-size: 15px;
}
.gscc-faq-search input:focus {
    outline: none;
    border-color: #006F3A;
    box-shadow: 0 0 0 3px rgba(0, 111, 58, 0.12);
}
.gscc-faq-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 6px;
    margin-bottom: 16px;
}
.gscc-faq-tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    border: 1px solid #d7eadf;
    background: #fff;
    color: #163024;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 700;
}
.gscc-faq-tab.is-active {
    background: #006F3A;
    border-color: #006F3A;
    color: #fff;
}
.gscc-faq-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin-left: 8px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e7f6ee;
    color: #006F3A;
    font-size: 12px;
}
.gscc-faq-tab.is-active .gscc-faq-count {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}
.gscc-faq-panel-title {
    display: none;
    margin: 4px 0 12px;
    color: #006F3A;
    font-size: 18px;
    font-weight: 800;
}
.gscc-faq.is-searching .gscc-faq-panel-title {
    display: block;
}
.gscc-faq.is-searching .gscc-faq-panel + .gscc-faq-panel {
    margin-top: 8px;
}
.gscc-faq-empty {
    margin: 0 0 16px;
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 14px;
    padding: 18px 16px;
    color: #245c3d;
    font-weight: 700;
}
.gscc-faq .faq-sec > div {
    counter-reset: gsccfaq;
}
.gscc-faq-item {
    counter-increment: gsccfaq;
}
.gscc-faq .accor h4 {
    position: relative;
}
.gscc-faq .accor h4::before {
    content: counter(gsccfaq);
    position: absolute;
    left: 12px;
    top: 12px;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #e7f6ee;
    color: #006F3A;
    font-size: 13px;
    font-weight: 800;
    line-height: 28px;
    text-align: center;
    z-index: 2;
    pointer-events: none;
}
.gscc-faq .accor a {
    z-index: 1;
}
.gscc-faq .accor a {
    font-size: 16px;
    line-height: 1.45;
    padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 52px !important;
}
.gscc-faq .accordion-body p {
    font-size: 15px;
    line-height: 1.55;
}
@media (max-width: 575px) {
    .gscc-faq .accor a {
        font-size: 15px;
    }
}

/* ==========================================
   PREMIUM GOVERNMENT NAVBAR & DROPDOWN REDESIGN
   ========================================== */
.bottom-header.destop-sec {
    background: #006F3A !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
}

.bottom-header .menu .nav-link {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    padding: 14px 16px !important;
    letter-spacing: 0.2px;
    transition: all 0.25s ease !important;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 4px;
}

.bottom-header .menu .nav-link:hover,
.bottom-header .menu .nav-link:focus,
.bottom-header .menu .dropdown:hover > .nav-link,
.bottom-header .menu .dropdown.show > .nav-link {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffc107 !important;
}

.bottom-header .menu .nav-link i.si-arrow-down,
.bottom-header .menu .nav-link i.fe-chevron-down {
    font-size: 11px;
    transition: transform 0.25s ease;
}

.bottom-header .menu .dropdown:hover > .nav-link i.si-arrow-down,
.bottom-header .menu .dropdown.show > .nav-link i.si-arrow-down {
    transform: rotate(180deg);
}

/* Premium Dropdown Submenu Container */
.bottom-header .dropdown-menu {
    background: #ffffff !important;
    border: none !important;
    border-top: 3px solid #006F3A !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14) !important;
    padding: 4px 0 !important;
    margin-top: 0 !important;
    width: max-content !important;
    min-width: 12rem !important;
    max-width: calc(100vw - 24px) !important;
    animation: gsccDropdownSlide 0.2s ease forwards;
}

@keyframes gsccDropdownSlide {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bottom-header .dropdown-menu .dropdown-item {
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    white-space: nowrap !important;
}
.bottom-header .dropdown-menu .dropdown-item > a,
.bottom-header .dropdown-menu .dropdown-item > span {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 14px !important;
    color: #1c274c !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    border-left: 3px solid transparent !important;
}
.bottom-header .dropdown-menu .dropdown-item > a:hover,
.bottom-header .dropdown-menu .dropdown-item > a:focus {
    background-color: #f4f6f9 !important;
    color: #006F3A !important;
    border-left-color: #006F3A !important;
}

.bottom-header .dropdown-menu .dropdown-item i {
    font-size: 15px;
    color: #006F3A;
    transition: color 0.2s ease;
}

.bottom-header .dropdown-menu .dropdown-item:hover i {
    color: #f39c12;
}

/* ==========================================
   COMPACT SIDE STICKY FLOATING QUICK POP-OUT
   ========================================== */
.gscc-floating-quickbar {
    position: fixed;
    right: 0;
    top: 45%;
    transform: translateY(-50%);
    /* Below Bootstrap modal (1055) so popup close is not blocked */
    z-index: 1020;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gscc-quick-item {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-decoration: none !important;
    cursor: pointer;
    position: relative;
}

.gscc-quick-icon {
    width: 44px;
    height: 44px;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: -2px 4px 12px rgba(0, 0, 0, 0.18);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 2;
}

.gscc-quick-text {
    position: absolute;
    right: 44px;
    top: 0;
    height: 44px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    box-shadow: -4px 4px 15px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateX(15px);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
}

.gscc-quick-item:hover .gscc-quick-text {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.gscc-quick-item:hover .gscc-quick-icon {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Distinct Themes with High Contrast Text */
.gscc-quick-register .gscc-quick-icon,
.gscc-quick-register .gscc-quick-text {
    background-color: #006F3A !important;
    color: #ffffff !important;
}

.gscc-quick-calculator .gscc-quick-icon,
.gscc-quick-calculator .gscc-quick-text {
    background-color: #1c274c !important;
    color: #ffffff !important;
}

.gscc-quick-track .gscc-quick-icon,
.gscc-quick-track .gscc-quick-text {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

.gscc-quick-call .gscc-quick-icon,
.gscc-quick-call .gscc-quick-text {
    background-color: #f39c12 !important;
    color: #1c274c !important;
}

/* White text only on SOLID green surfaces. Status badges (.badge.bg-success / .badge-success) use the soft
   style defined earlier (dark green on pale green); forcing white here made their text invisible. */
span.badge[style*="background-color: #006F3A"],
.btn-success,
.bg-green.login {
    color: #ffffff !important;
}

/* ==========================================
   BUTTON UI/UX ENHANCEMENTS FOR PUBLIC PAGES
   ========================================== */
.btn {
    border-radius: 8px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
}

.btn:active {
    transform: translateY(0);
}

.btn-success,
.btn-primary.bg-green {
    background-color: #006F3A !important;
    border-color: #006F3A !important;
    color: #ffffff !important;
}

.btn-success:hover,
.btn-primary.bg-green:hover {
    background-color: #00562d !important;
    border-color: #00562d !important;
    color: #ffffff !important;
}

.btn-outline-success {
    color: #006F3A !important;
    border-color: #006F3A !important;
    background-color: transparent !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-check:checked + .btn-outline-success {
    background-color: #006F3A !important;
    border-color: #006F3A !important;
    color: #ffffff !important;
}

.btn-warning:hover {
    background-color: #e08e0b !important;
    border-color: #e08e0b !important;
    color: #1c274c !important;
}

.btn-outline-dark {
    color: #1c274c !important;
    border-color: #1c274c !important;
    background-color: transparent !important;
}

.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark:active {
    background-color: #1c274c !important;
    border-color: #1c274c !important;
    color: #ffffff !important;
}

.btn-dark {
    background-color: #1c274c !important;
    border-color: #1c274c !important;
    color: #ffffff !important;
}

.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
    background-color: #0f172a !important;
    border-color: #0f172a !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    color: #ffffff !important;
}

/* ==========================================================================
   COMPACT SECTION PADDING & MARGIN OVERRIDES
   ========================================================================== */
.marit-lise-sec { padding: 28px 0 !important; }
.public-downloads-sec, .public-grievance-sec, .public-track-sec, .public-about-sec { padding: 28px 0 !important; }
.py-5 { padding-top: 1.75rem !important; padding-bottom: 1.75rem !important; }
.mb-5 { margin-bottom: 1.5rem !important; }
.mb-4 { margin-bottom: 1.25rem !important; }
.process-titel { margin-bottom: 1rem !important; }

/* ==========================================================================
   PUBLIC PAGE BANNER REDESIGN
   ========================================================================== */
.public-page-banner {
    position: relative;
    background: linear-gradient(135deg, #00562d 0%, #006F3A 40%, #1c274c 100%);
    padding: 24px 0 !important;
    color: #ffffff;
    box-shadow: inset 0 -4px 12px rgba(0, 0, 0, 0.15);
}
.public-page-title {
    font-size: clamp(1.375rem, 2.5vw, 1.75rem) !important;
    font-weight: var(--gscc-fw-bold, 700) !important;
    color: #ffffff !important;
    margin-bottom: var(--gscc-space-1, 4px) !important;
    letter-spacing: var(--gscc-ls-tight, -0.02em);
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.public-page-breadcrumb li {
    font-size: var(--gscc-fs-sm, 0.85rem) !important;
    color: var(--gscc-color-accent, #D89B2B) !important;
}
.public-page-breadcrumb li a {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none;
}
.public-page-breadcrumb li a:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

/* ==========================================================================
   APPLICATION PROCESS WORKFLOW STEPPER
   ========================================================================== */
.process-stepper-wrap {
    position: relative;
}
.process-step-card {
    background: var(--gscc-color-surface, #ffffff);
    border: 1px solid var(--gscc-color-border, #e2e8f0);
    border-radius: var(--gscc-radius-lg, 10px);
    padding: var(--gscc-space-5, 20px);
    height: 100%;
    position: relative;
    transition: box-shadow var(--gscc-duration, 180ms) var(--gscc-ease, ease),
      border-color var(--gscc-duration, 180ms);
    border-top: 4px solid var(--gscc-color-primary) !important;
    box-shadow: var(--gscc-shadow-sm, 0 4px 12px rgba(0, 0, 0, 0.04));
}
.process-step-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 111, 58, 0.12);
    border-top-color: #f39c12 !important;
}
.process-step-badge {
    position: absolute;
    top: -14px;
    left: 20px;
    background: linear-gradient(135deg, #006F3A 0%, #1c274c 100%);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 3px 12px;
    border-radius: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    letter-spacing: 0.5px;
}
.process-step-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #e6ffee;
    color: #006F3A;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 12px;
}
.process-step-icon .bi,
.gscc-kpi-icon .bi,
.gscc-tool-icon .bi,
.gscc-panel-icon .bi {
    color: inherit;
    -webkit-text-fill-color: currentColor;
    line-height: 1;
}
.gscc-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    margin-right: 0.4rem;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
}
.home-page .btn .bi,
.home-page .btn-outline-success .bi,
.home-page .btn-outline-primary .bi {
    color: inherit;
    -webkit-text-fill-color: currentColor;
}
.process-step-title {
    font-size: 0.98rem;
    font-weight: 700;
    color: #1c274c;
    margin-bottom: 6px;
    line-height: 1.35;
}
.process-step-text {
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.45;
    margin-bottom: 14px;
}

/* ==========================================================================
   MANUAL MODAL & POPUP REDESIGN
   ========================================================================== */
.custom-gov-modal .modal-header {
    background: linear-gradient(135deg, #006F3A 0%, #1c274c 100%);
    color: #ffffff !important;
    border-bottom: 3px solid #f39c12;
    padding: 14px 20px;
}
.custom-gov-modal .modal-title {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}
.custom-gov-modal .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}
.manual-option-card {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 20px;
    transition: all 0.2s ease;
    text-align: center;
}
.manual-option-card:hover {
    background: #ffffff;
    border-color: #006F3A;
    box-shadow: 0 6px 18px rgba(0, 111, 58, 0.12);
    transform: translateY(-2px);
}

/* ==========================================================================
   PUBLIC DASHBOARD HIGHLIGHTED BANNER
   ========================================================================== */
.dash-banner-card {
    background: linear-gradient(135deg, #006F3A 0%, #1c274c 100%);
    border-radius: 12px;
    padding: 22px 28px;
    color: #ffffff;
    margin-bottom: 24px;
    box-shadow: 0 6px 20px rgba(0, 111, 58, 0.15);
    border-left: 6px solid #f39c12;
}

/* ==========================================================================
   CAPTCHA BOX STYLING
   ========================================================================== */
/* ==========================================================================
   SELECT2 CUSTOM STYLING (GOVERNMENT GREEN THEME)
   ========================================================================== */
/* Closed control fills its field only inside labeled form columns.
   Do NOT force 100% inside toolbars — that crushes search and stretches filters. */
.form-group > select.select2-hidden-accessible + .select2-container,
.svn-filter-group > select.select2-hidden-accessible + .select2-container,
.row.row-sm.pd-20 > [class*="col-"] > select.select2-hidden-accessible + .select2-container,
.modal-body select.select2-hidden-accessible + .select2-container {
    width: 100% !important;
    max-width: 100%;
}
body > .select2-container.select2-container--open {
    max-width: calc(100vw - 1rem);
}
.select2-container--default .select2-selection--single {
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    height: 42px !important;
    padding: 5px 10px !important;
    background-color: #ffffff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1c274c !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    line-height: 28px !important;
    padding-left: 4px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
    right: 8px !important;
}
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #006F3A !important;
    box-shadow: 0 0 0 3px rgba(0, 111, 58, 0.15) !important;
    outline: none !important;
}
.select2-dropdown {
    border: 1px solid #006F3A !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    z-index: 9999 !important;
    overflow: hidden;
}
.select2-search--dropdown {
    padding: 8px !important;
}
.select2-search--dropdown .select2-search__field {
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
}
.select2-search--dropdown .select2-search__field:focus {
    border-color: #006F3A !important;
    outline: none !important;
}
.select2-results__option {
    padding: 8px 12px !important;
    font-size: 0.88rem !important;
}
.select2-results__option--highlighted[aria-selected] {
    background-color: #006F3A !important;
    color: #ffffff !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #e6ffee !important;
    color: #006F3A !important;
    font-weight: 700 !important;
}

/* Public pages: keep the open menu compact and aligned with the field. */
.home-page .select2-dropdown {
    border-radius: 10px !important;
}
.home-page .select2-search--dropdown {
    padding: 6px !important;
}
.home-page .select2-search--dropdown .select2-search__field {
    height: 32px;
    padding: 4px 8px !important;
    font-size: 0.84rem !important;
}
.home-page .select2-container--default .select2-results > .select2-results__options {
    max-height: 11.5rem;
    margin: 0;
}
.home-page .select2-results__option {
    padding: 6px 10px !important;
    font-size: 0.84rem !important;
    line-height: 1.3;
    white-space: normal;
    word-break: break-word;
}

/* Public pages: tighter sections, cards, banner, and footer. */
.home-page .marit-lise-sec,
.home-page .public-downloads-sec,
.home-page .public-grievance-sec,
.home-page .public-track-sec,
.home-page .public-about,
.home-page .public-calculator,
.home-page .public-sitemap-sec,
.home-page .public-gallery-sec,
.home-page .gscc-public-dash,
.home-page .gscc-faq {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
}
.home-page .public-page-banner {
    height: 112px !important;
    padding: 0 !important;
}
.home-page .public-page-title {
    font-size: 1.45rem !important;
    margin-bottom: 2px !important;
}
.home-page .public-page-breadcrumb {
    gap: 6px !important;
    font-size: 13px !important;
}
.home-page .card-body.p-4,
.home-page .card-body.p-3,
.home-page .public-about-block {
    padding: 12px 14px !important;
}
.home-page .public-about-block {
    margin-bottom: 12px !important;
}
.home-page .public-about-block p,
.home-page .public-about-intro p,
.home-page .paragraph {
    line-height: 1.5 !important;
    margin-bottom: 0.55rem !important;
}
.home-page .row.g-4,
.home-page .row.g-3,
.home-page .row.gy-4 {
    --bs-gutter-y: 0.65rem;
    --bs-gutter-x: 0.75rem;
}
.home-page .mb-5 { margin-bottom: 0.85rem !important; }
.home-page .mb-4 { margin-bottom: 0.7rem !important; }
.home-page .form-control-lg {
    min-height: 40px !important;
    padding: 0.35rem 0.75rem !important;
    font-size: 0.95rem !important;
}
.home-page .public-about .fs-1 {
    font-size: 1.35rem !important;
}
#aboutTab .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff !important;
    color: #163024 !important;
    border: 1px solid #d7eadf !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: none;
}
#aboutTab .nav-link i {
    color: #006F3A;
    font-size: 14px;
}
#aboutTab .nav-link.active,
#aboutTab .nav-link.active:hover,
#aboutTab .nav-link.active:focus,
#aboutTab .nav-link[aria-selected="true"] {
    background: #006F3A !important;
    color: #fff !important;
    border-color: #006F3A !important;
    box-shadow: 0 4px 10px rgba(0, 111, 58, 0.18);
}
#aboutTab .nav-link.active i,
#aboutTab .nav-link.active:hover i,
#aboutTab .nav-link[aria-selected="true"] i {
    color: #fff !important;
}
#aboutTab .nav-link:hover:not(.active) {
    background: #e7f6ee !important;
    border-color: #006F3A !important;
    color: #006F3A !important;
}

.loan-roadmap-card {
    border-top: 4px solid #006F3A !important;
}
.loan-roadmap-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    color: #1c274c;
    font-size: 1.2rem;
    font-weight: 800;
}
.loan-roadmap-title i {
    color: #006F3A;
}
.loan-roadmap-lead {
    margin: 0 0 14px;
    color: #5c6b63;
    font-size: 13px;
}
.loan-roadmap {
    list-style: none;
    margin: 0;
    padding: 0;
}
.loan-roadmap li {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    position: relative;
    padding-bottom: 16px;
}
.loan-roadmap li:last-child {
    padding-bottom: 0;
}
.loan-roadmap li:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 17px;
    top: 36px;
    bottom: 0;
    width: 2px;
    background: #d7eadf;
}
.loan-roadmap-num {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #006F3A;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    position: relative;
    z-index: 1;
}
.loan-roadmap-who {
    margin: 0;
    color: #ea5e24;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.loan-roadmap h4 {
    margin: 2px 0 4px;
    color: #1c274c;
    font-size: 15px;
    font-weight: 800;
}
.loan-roadmap li p:last-child {
    margin: 0;
    color: #3d4a44;
    font-size: 13.5px;
    line-height: 1.45;
}
.loan-roadmap a {
    color: #006F3A;
    font-weight: 700;
}
.loan-roadmap-help {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff7f2;
    border: 1px solid #f3d2c3;
    color: #163024;
}
.loan-roadmap-help i {
    color: #ea5e24;
    margin-top: 2px;
}
.loan-roadmap-help p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.4;
}
.loan-roadmap-help a {
    color: #006F3A;
    font-weight: 800;
    white-space: nowrap;
}
@media (max-width: 575px) {
    .loan-roadmap li {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 10px;
    }
    .loan-roadmap-num {
        width: 30px;
        height: 30px;
        font-size: 13px;
    }
    .loan-roadmap li:not(:last-child)::before {
        left: 14px;
        top: 30px;
    }
}

.scheme-doc-card {
    border-top: 4px solid #006F3A !important;
}
.scheme-doc-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    color: #1c274c;
    font-size: 1.2rem;
    font-weight: 800;
}
.scheme-doc-title i {
    color: #006F3A;
    font-size: 1.25rem;
}
.scheme-doc-lead {
    margin: 0 0 14px;
    color: #5c6b63;
    font-size: 13px;
}
.scheme-doc-list {
    display: grid;
    gap: 10px;
}
.scheme-doc {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 12px;
    background: #fff;
    border: 1px solid #cfe3d6;
    border-radius: 12px;
}
.scheme-doc-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #fdecec;
    color: #c93636;
    font-size: 22px;
}
.scheme-doc-copy {
    flex: 1 1 auto;
    min-width: 0;
}
.scheme-doc-copy h4 {
    margin: 0;
    color: #1c274c;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}
.scheme-doc-copy p {
    margin: 3px 0 0;
    color: #3d4a44;
    font-size: 13px;
    line-height: 1.4;
}
.scheme-doc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-shrink: 0;
    height: 36px;
    padding: 0 14px;
    border-radius: 8px;
    background: #006F3A !important;
    border: 1px solid #006F3A !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
}
.scheme-doc-btn i {
    color: #fff !important;
    font-size: 14px;
}
.scheme-doc-btn:hover,
.scheme-doc-btn:focus {
    background: var(--gscc-color-primary-dark) !important;
    border-color: var(--gscc-color-primary-dark) !important;
    color: #fff !important;
}
@media (min-width: 768px) {
    .scheme-doc-list {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 575px) {
    .scheme-doc {
        flex-wrap: wrap;
    }
    .scheme-doc-btn {
        width: 100%;
    }
}

.home-page footer.footer-section {
    padding: 18px 0 0 !important;
}
.home-page .footer-logo {
    max-height: 48px !important;
}
.home-page .footer-title,
.home-page .footer-links-block .footer-title {
    font-size: 15px !important;
    margin: 0 0 4px !important;
}
.home-page .footer-title-line {
    height: 2px !important;
    margin-bottom: 8px !important;
}
.home-page .footer-links-list li {
    margin-bottom: 3px !important;
}
.home-page .footer-title i,
.home-page .footer-links-block .footer-title i {
    color: #ea5e24 !important;
    font-size: 14px !important;
    margin-right: 6px;
}
.home-page .footer-links-list li a {
    display: flex !important;
    align-items: flex-start;
    gap: 6px;
    font-size: 13px !important;
    line-height: 1.35 !important;
}
.home-page .footer-links-list li a i {
    opacity: 1 !important;
    transform: none !important;
    color: #ea5e24 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin: 1px 0 0 !important;
    flex-shrink: 0;
}
.home-page .footer-location-text i {
    color: #ea5e24 !important;
    opacity: 1 !important;
}
.home-page .footer-location-text,
.home-page .copyright-text,
.home-page .design-credit-text,
.home-page .visitors-text,
.home-page .updated-text {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}
.home-page .footer-bottom-bar {
    margin-top: 10px !important;
    padding: 8px 0 !important;
}
.home-page .footer-visitors-badge,
.home-page .footer-updated-badge {
    padding: 2px 10px !important;
}

@media (max-width: 991px) {
    .home-page .public-page-banner {
        height: 96px !important;
    }
    .home-page .public-page-title {
        font-size: 1.2rem !important;
    }
    .home-page footer.footer-section {
        padding: 14px 0 0 !important;
    }
    .home-page .footer-links-block {
        margin-bottom: 4px;
    }
}
@media (max-width: 767px) {
    .home-page .public-page-banner {
        height: 84px !important;
    }
    .home-page .public-page-title {
        font-size: 1.05rem !important;
    }
    .home-page .marit-lise-sec,
    .home-page .gscc-public-dash,
    .home-page .gscc-faq {
        padding-top: 10px !important;
        padding-bottom: 12px !important;
    }
    .home-page .footer-bottom-bar .row > [class*="col-"] + [class*="col-"] {
        margin-top: 6px;
    }
}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */
.gscc-contact {
    padding: 28px 0 48px;
    background: #f6faf7;
}
.gscc-contact-lead {
    max-width: 760px;
    margin: 0 0 18px;
    color: #3d4a57;
    font-size: 1.02rem;
    line-height: 1.55;
}
.gscc-contact-cards {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(280px, 1.3fr) minmax(220px, 1fr);
    gap: 16px;
    margin-bottom: 22px;
}
.gscc-contact-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: 100%;
    padding: 18px 18px 16px;
    background: #fff;
    border: 1px solid #e3eee7;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(0, 70, 36, 0.05);
    color: #1c274c;
    text-decoration: none;
}
a.gscc-contact-card:hover {
    border-color: #006f3a;
    color: #1c274c;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 111, 58, 0.12);
}
.gscc-contact-card strong {
    font-size: 1.05rem;
    line-height: 1.35;
    word-break: break-word;
}
.gscc-contact-card p {
    margin: 4px 0 0;
    color: #4b5968;
    line-height: 1.45;
}
.gscc-contact-kicker {
    color: #006f3a;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.gscc-contact-hint {
    margin-top: auto;
    color: #5d6b78;
    font-size: 0.82rem;
}
.gscc-contact-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 8px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e7f6ee;
    color: #006f3a;
    font-size: 1.15rem;
}
.gscc-contact-card-call {
    background: linear-gradient(160deg, #006f3a 0%, #0a8a4b 100%);
    border-color: #006f3a;
    color: #fff;
}
.gscc-contact-card-call .gscc-contact-kicker,
.gscc-contact-card-call .gscc-contact-hint,
a.gscc-contact-card-call:hover {
    color: #fff;
}
.gscc-contact-card-call .gscc-contact-icon {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}
.gscc-contact-card-call strong,
#main-content a.gscc-contact-card-call strong,
#main-content a.gscc-contact-card-call:hover strong,
#main-content a.gscc-contact-card-call:focus strong {
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1.2;
}
.gscc-contact-directory {
    background: #fff;
    border: 1px solid #e3eee7;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 8px 22px rgba(0, 70, 36, 0.05);
}
.gscc-contact-directory-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 14px;
}
.gscc-contact-directory-head h2 {
    margin: 0 0 4px;
    color: #006f3a;
    font-size: 1.35rem;
    font-weight: 800;
}
.gscc-contact-directory-head p {
    margin: 0;
    color: #5d6b78;
}
.gscc-contact-search {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 240px;
    margin: 0;
    color: #006f3a;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.gscc-contact-search input {
    height: 42px;
    padding: 0 12px;
    border: 1px solid #c9ddd1;
    border-radius: 10px;
    color: #1c274c;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
.gscc-contact-search input:focus {
    outline: 2px solid rgba(0, 111, 58, 0.25);
    border-color: #006f3a;
}
.gscc-contact-table-wrap {
    overflow-x: auto;
    border: 1px solid #e6eee9;
    border-radius: 12px;
}
.gscc-contact-table,
.gscc-contact-legacy table {
    width: 100%;
    min-width: 760px;
    margin: 0;
    border-collapse: collapse;
    background: #fff;
}
.gscc-contact-table th,
.gscc-contact-legacy th,
.gscc-contact-legacy thead td {
    padding: 12px 14px;
    background: #006f3a;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
.gscc-contact-table td,
.gscc-contact-legacy td {
    padding: 13px 14px;
    border-bottom: 1px solid #eef3f0;
    color: #243140;
    vertical-align: top;
    line-height: 1.4;
}
.gscc-contact-table tbody tr:hover td,
.gscc-contact-legacy tbody tr:hover td {
    background: #f4fbf7;
}
.gscc-contact-table a,
.gscc-contact-legacy a {
    color: #0b6b3a;
    font-weight: 700;
    text-decoration: none;
}
.gscc-contact-table a:hover,
.gscc-contact-legacy a:hover {
    text-decoration: underline;
}
.gscc-contact-tel {
    white-space: nowrap;
}
.gscc-contact-doc {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid #b7d8c6;
    border-radius: 999px;
    background: #f3fbf6;
    font-size: 0.86rem;
}
.gscc-contact-officers {
    margin: 0;
    padding: 0;
    list-style: none;
}
.gscc-contact-officers li {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 8px;
}
.gscc-contact-empty {
    margin: 8px 0 0;
    color: #5d6b78;
}
.gscc-contact-swipe {
    margin: 10px 0 0;
    color: #6b7784;
    font-size: 0.82rem;
}
@media (min-width: 992px) {
    .gscc-contact-swipe { display: none; }
}
@media (max-width: 991px) {
    .gscc-contact-cards,
    .gscc-contact-directory-head {
        display: grid;
        grid-template-columns: 1fr;
    }
    .gscc-contact-search { min-width: 0; }
    .gscc-contact-card-call strong { font-size: 1.3rem; }
}

.gscc-announce {
    display: flex;
    align-items: stretch;
    min-height: 46px;
    background: #fff8ee;
    border-top: 1px solid #ead9b4;
    border-bottom: 1px solid #ead9b4;
    overflow: hidden;
}
.gscc-announce-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    padding: 0 16px;
    background: #006F3A;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .01em;
    white-space: nowrap;
}
.gscc-announce-label i {
    font-size: 16px;
    line-height: 1;
}
.gscc-announce-track {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.gscc-announce-move {
    display: flex;
    align-items: center;
    width: max-content;
    animation: gscc-announce-scroll 42s linear infinite;
}
.gscc-announce-move p {
    margin: 0;
    padding: 0 28px;
    color: #1c2b24;
    font-size: 15px;
    font-weight: 600;
    line-height: 46px;
    white-space: nowrap;
}
.gscc-announce:hover .gscc-announce-move,
.gscc-announce:focus-within .gscc-announce-move {
    animation-play-state: paused;
}
@keyframes gscc-announce-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (max-width: 767px) {
    .gscc-announce { min-height: 42px; }
    .gscc-announce-label { padding: 0 10px; font-size: 13px; }
    .gscc-announce-move p { font-size: 13.5px; line-height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    .gscc-announce-move { animation: none; }
    .gscc-announce-track { overflow-x: auto; }
}

.gscc-inst-page {
    padding-bottom: 28px;
}
.gscc-inst-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 18px;
    padding: 14px 16px;
    background: #fff8ee;
    border: 1px solid #ead9b4;
    border-left: 4px solid #006F3A;
    border-radius: 10px;
}
.gscc-inst-notice-mark {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    padding: 6px 10px;
    background: #006F3A;
    color: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}
.gscc-inst-notice p {
    margin: 0;
    color: #1c2b24;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 1.5;
}
.gscc-inst-panel {
    margin-top: 14px;
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(0, 111, 58, 0.05);
    padding: 14px 14px 8px;
}
.gscc-inst-filters {
    padding: 2px 2px 10px;
}
.gscc-inst-actions {
    align-items: center;
}
.gscc-inst-export {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--gscc-color-primary);
    color: var(--gscc-color-primary);
    background: #fff;
    font-weight: 700;
}
.gscc-inst-export:hover,
.gscc-inst-export:focus {
    background: var(--gscc-color-primary);
    color: #fff;
}
.gscc-inst-export-pdf {
    background: var(--gscc-color-primary);
    color: #fff;
}
.gscc-inst-export-pdf:hover,
.gscc-inst-export-pdf:focus {
    background: var(--gscc-color-primary-dark);
    color: #fff;
}
.gscc-inst-export-note {
    margin: 0 2px 10px;
    color: #667085;
    font-size: 13px;
}
.gscc-inst-table-wrap {
    margin: 0;
    border: 1px solid #d7eadf;
    border-radius: 8px;
}
.gscc-inst-table {
    margin: 0;
    width: 100%;
    border-collapse: collapse;
}
.gscc-inst-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--gscc-color-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .01em;
    padding: 8px 10px;
    border: 0;
    white-space: nowrap;
    vertical-align: middle;
}
.gscc-inst-table tbody td {
    padding: 7px 10px;
    border-top: 1px solid #e6f0ea;
    color: #17212b;
    font-size: 14px;
    vertical-align: top;
    line-height: 1.35;
}
.gscc-inst-table tbody tr:nth-child(even) td {
    background: #f7fbf8;
}
.gscc-inst-sr {
    width: 64px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #3d4a44;
}
.gscc-inst-name {
    min-width: 240px;
    font-weight: 600;
}
.gscc-inst-state {
    white-space: nowrap;
}
@media (max-width: 767.98px) {
    .gscc-inst-notice {
        flex-direction: column;
        gap: 8px;
    }
    .gscc-inst-state {
        white-space: normal;
    }
}

.gscc-docs-lead {
    margin: 0 0 14px;
    max-width: 46rem;
    color: #3d4a44;
    font-size: 15px;
    line-height: 1.5;
}
.gscc-docs-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.gscc-docs-item {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0, 111, 58, 0.04);
}
.gscc-docs-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fdecec;
    color: #b42318;
    font-size: 22px;
}
.gscc-docs-icon.is-guide {
    background: #fff6e8;
    color: #9a6700;
}
.gscc-docs-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.gscc-docs-copy h3 {
    margin: 0;
    color: #163024;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}
.gscc-docs-copy p {
    margin: 3px 0 0;
    color: #5c6b63;
    font-size: 13.5px;
    line-height: 1.4;
}
.gscc-docs-action {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--gscc-color-primary);
    border-radius: 8px;
    background: var(--gscc-color-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}
.gscc-docs-action:hover,
.gscc-docs-action:focus {
    background: var(--gscc-color-primary-dark);
    color: #fff;
    text-decoration: none;
}
.gscc-docs-action.is-guide {
    background: #fff;
    color: var(--gscc-color-primary);
}
.gscc-docs-action.is-guide:hover,
.gscc-docs-action.is-guide:focus {
    background: var(--gscc-color-primary);
    color: #fff;
}
@media (max-width: 767.98px) {
    .gscc-docs-item {
        flex-wrap: wrap;
    }
    .gscc-docs-action {
        width: 100%;
    }
}

.gscc-help-lead {
    margin: 0 0 14px;
    max-width: 46rem;
    color: #3d4a44;
    font-size: 15px;
    line-height: 1.5;
}
.gscc-help-hotline {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    padding: 14px 16px;
    background: var(--gscc-color-primary);
    color: #fff;
    border-radius: 12px;
}
.gscc-help-hotline-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 22px;
}
.gscc-help-hotline-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.gscc-help-hotline-copy h2,
.gscc-help-panel > h2 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}
.gscc-help-hotline-copy h2 { color: #fff; }
.gscc-help-hotline-copy p {
    margin: 2px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13.5px;
    line-height: 1.4;
}
.gscc-help-call {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 8px;
    background: #fff;
    color: var(--gscc-color-primary);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.gscc-help-call:hover,
.gscc-help-call:focus {
    background: #e7f6ee;
    color: var(--gscc-color-primary-dark);
    text-decoration: none;
}
.gscc-help-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 14px;
    align-items: start;
}
.gscc-help-panel {
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 4px 14px rgba(0, 111, 58, 0.04);
}
.gscc-help-panel > h2 {
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3f2e9;
    color: #163024;
}
.gscc-help-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.gscc-help-span { grid-column: 1 / -1; }
.gscc-help-label {
    display: block;
    margin-bottom: 4px;
    color: #163024;
    font-size: 13px;
    font-weight: 700;
}
.gscc-help-optional {
    color: #667085;
    font-weight: 500;
}
.gscc-help-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 12px;
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid var(--gscc-color-primary);
    border-radius: 8px;
    background: var(--gscc-color-primary);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.gscc-help-submit:hover,
.gscc-help-submit:focus {
    background: var(--gscc-color-primary-dark);
    color: #fff;
}
.gscc-help-kicker {
    margin: 0 0 4px;
    color: #163024;
    font-size: 14px;
    font-weight: 700;
}
.gscc-help-address {
    margin: 0 0 14px;
    color: #3d4a44;
    font-size: 14px;
    line-height: 1.45;
}
.gscc-help-mails {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}
.gscc-help-mails a {
    color: var(--gscc-color-primary);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.gscc-help-mails a:hover,
.gscc-help-mails a:focus {
    text-decoration: underline;
}
.gscc-help-note {
    padding: 12px;
    background: #fff8ee;
    border: 1px solid #ead9b4;
    border-radius: 8px;
}
.gscc-help-note h3 {
    margin: 0 0 4px;
    color: #163024;
    font-size: 14px;
    font-weight: 700;
}
.gscc-help-note p {
    margin: 0;
    color: #3d4a44;
    font-size: 13.5px;
    line-height: 1.45;
}
.gscc-help-directory {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--gscc-color-primary);
    border-radius: 8px;
    color: var(--gscc-color-primary);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.gscc-help-directory:hover,
.gscc-help-directory:focus {
    background: var(--gscc-color-primary);
    color: #fff;
    text-decoration: none;
}
@media (max-width: 991.98px) {
    .gscc-help-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .gscc-help-hotline { flex-wrap: wrap; }
    .gscc-help-call { width: 100%; justify-content: center; }
    .gscc-help-fields { grid-template-columns: 1fr; }
}

/* Home quick-access cards */
.gscc-tools {
    padding: 22px 0 8px;
}
.gscc-tools-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}
.gscc-tool {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    min-width: 0;
    padding: 16px;
    background: #fff;
    border: 1px solid #d7eadf;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(0, 111, 58, 0.06);
    color: #163024;
    text-decoration: none;
}
a.gscc-tool:hover,
a.gscc-tool:focus {
    border-color: #006F3A;
    color: #163024;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0, 111, 58, 0.1);
}
.gscc-tool-icon {
    grid-row: 1 / span 3;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.gscc-tone-teal {
    background: #e6f6f8;
    color: #0f6f86;
}
.gscc-tool-title {
    color: var(--gscc-color-primary);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
}
.gscc-tool-sub {
    color: #5c6b63;
    font-size: 13px;
    line-height: 1.35;
}
.gscc-tool-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
    color: #006F3A;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}
a.gscc-tool:hover .gscc-tool-action,
a.gscc-tool:focus .gscc-tool-action {
    color: var(--gscc-color-primary);
}
.gscc-tool-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.gscc-tool-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #d7eadf;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 111, 58, 0.05);
    color: var(--gscc-color-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}
.gscc-tool-links a:hover,
.gscc-tool-links a:focus {
    background: #006F3A;
    color: #fff;
    text-decoration: none;
}
@media (max-width: 991.98px) {
    .gscc-tools-grid,
    .gscc-tool-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575.98px) {
    .gscc-tools {
        padding-top: 16px;
    }
    .gscc-tools-grid,
    .gscc-tool-links {
        grid-template-columns: 1fr;
    }
}

.gscc-tpa-bar {
    margin-bottom: 14px;
}
.gscc-tpa-download {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #006F3A;
    border: 1px solid #006F3A;
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.2;
    padding: 10px 16px;
    border-radius: 8px;
    cursor: pointer;
}
.gscc-tpa-download i,
.gscc-tpa-download span {
    color: #fff;
    -webkit-text-fill-color: #fff;
}
.gscc-tpa-download:hover,
.gscc-tpa-download:focus {
    background: var(--gscc-color-primary);
    border-color: var(--gscc-color-primary);
    color: #fff;
    -webkit-text-fill-color: #fff;
}
.gscc-tpa-download:disabled {
    opacity: 0.7;
    cursor: wait;
}
.admin-dash-page table tbody td.veiw-group:has(.doc-actions) {
    min-width: 96px !important;
    width: auto !important;
    text-align: center !important;
}
.admin-dash-page table tbody td.veiw-group .doc-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 8px !important;
    overflow: visible !important;
    cursor: pointer !important;
    box-shadow: none !important;
    line-height: 1 !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act i {
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
    opacity: 1 !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act-view {
    background: var(--gscc-color-primary-soft) !important;
    border: 1px solid var(--gscc-color-primary) !important;
    color: var(--gscc-color-primary) !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act-view i {
    color: var(--gscc-color-primary) !important;
    -webkit-text-fill-color: var(--gscc-color-primary) !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act-delete {
    background: #fef2f2 !important;
    border: 1px solid #B91C1C !important;
    color: #B91C1C !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act-delete i {
    color: #B91C1C !important;
    -webkit-text-fill-color: #B91C1C !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act-view:hover,
.admin-dash-page table tbody td.veiw-group button.doc-act-view:focus {
    background: #D7EBDF !important;
}
.admin-dash-page table tbody td.veiw-group button.doc-act-delete:hover,
.admin-dash-page table tbody td.veiw-group button.doc-act-delete:focus {
    background: #FEE2E2 !important;
}






