/* ==========================================================================
   Kogi State Ministry of Education
   BECE Result Portal - green theme layer
   --------------------------------------------------------------------------
   This file is an OVERRIDE layer. It must be linked LAST, after bootstrap,
   after the public site stylesheet (assets/css/style.css) and after the
   admin template (backend/dist/css/style.min.css).

   Nothing in the vendor stylesheets is edited, so they stay upgradable.
   Because those sheets ship high-specificity rules, colour declarations
   here are marked !important on purpose - this layer is meant to win.

   Palette matches the administrator sign-in page.
   ========================================================================== */

:root {
    --kg-900: #06351D;
    --kg-800: #084527;
    --kg-700: #0B5D33; /* primary */
    --kg-600: #0E6E42;
    --kg-500: #12805A;
    --kg-400: #1FA36B;
    --kg-300: #4FC79A;
    --kg-200: #A9DEC6;
    --kg-100: #D6EBE0;
    --kg-050: #EDF6F1;

    --kg-ink: #0F1B14;
    --kg-body: #3E5248;
    --kg-muted: #7C8D84;
    --kg-line: #DDE7E1;
    --kg-page: #F3F7F4;

    --kg-danger: #A6231C;
    --kg-danger-bg: #FDECEA;
    --kg-warning: #B8730B;
    --kg-warning-bg: #FFF6E6;

    --kg-radius: 12px;
    --kg-radius-sm: 9px;
    --kg-shadow-sm: 0 1px 2px rgba(6, 53, 29, .06), 0 2px 8px rgba(6, 53, 29, .05);
    --kg-shadow: 0 10px 30px -18px rgba(6, 53, 29, .35), 0 2px 6px rgba(6, 53, 29, .05);
    --kg-ring: 0 0 0 4px rgba(18, 128, 90, .16);
}

/* --------------------------------------------------------------------------
   1. Global
   -------------------------------------------------------------------------- */

::selection {
    background: var(--kg-200);
    color: var(--kg-900);
}

a {
    color: var(--kg-600);
}

a:hover,
a:focus {
    color: var(--kg-800);
}

/* Thin green scrollbars where the browser supports them */
* {
    scrollbar-color: var(--kg-300) transparent;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-thumb {
    background: var(--kg-200);
    border-radius: 999px;
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--kg-300);
}

/* --------------------------------------------------------------------------
   2. Bootstrap contextual colours
   Covers both bootstrap bundles (assets/css and backend/assets/libs), plus
   the recoloured bootstrap baked into the admin template.
   In this project .btn-primary was purple (#707cd2) and .btn-info blue
   (#2cabe3); both become the ministry green.
   -------------------------------------------------------------------------- */

.btn-primary,
.btn-info {
    color: #fff !important;
    background: linear-gradient(135deg, var(--kg-700) 0%, var(--kg-500) 100%) !important;
    border-color: var(--kg-700) !important;
    box-shadow: 0 8px 18px -10px rgba(11, 93, 51, .7) !important;
}

    .btn-primary:hover,
    .btn-info:hover,
    .btn-primary:focus,
    .btn-info:focus,
    .btn-primary:active,
    .btn-info:active,
    .btn-primary:not(:disabled):not(.disabled):active,
    .btn-info:not(:disabled):not(.disabled):active,
    .show > .btn-primary.dropdown-toggle,
    .show > .btn-info.dropdown-toggle {
        color: #fff !important;
        background: linear-gradient(135deg, var(--kg-800) 0%, var(--kg-600) 100%) !important;
        border-color: var(--kg-800) !important;
        box-shadow: 0 12px 22px -12px rgba(11, 93, 51, .8) !important;
    }

    .btn-primary:focus,
    .btn-info:focus {
        box-shadow: var(--kg-ring) !important;
    }

    .btn-primary.disabled,
    .btn-primary:disabled,
    .btn-info.disabled,
    .btn-info:disabled {
        background: var(--kg-400) !important;
        border-color: var(--kg-400) !important;
        box-shadow: none !important;
        opacity: .65;
    }

.btn-success {
    color: #fff !important;
    background: var(--kg-500) !important;
    border-color: var(--kg-500) !important;
}

    .btn-success:hover,
    .btn-success:focus,
    .btn-success:active {
        background: var(--kg-600) !important;
        border-color: var(--kg-600) !important;
    }

.btn-outline-primary,
.btn-outline-info,
.btn-outline-success {
    color: var(--kg-700) !important;
    border-color: var(--kg-300) !important;
    background: transparent !important;
    box-shadow: none !important;
}

    .btn-outline-primary:hover,
    .btn-outline-info:hover,
    .btn-outline-success:hover,
    .btn-outline-primary:active,
    .btn-outline-info:active,
    .btn-outline-success:active {
        color: #fff !important;
        background: var(--kg-700) !important;
        border-color: var(--kg-700) !important;
    }

.btn-secondary {
    color: var(--kg-800) !important;
    background: var(--kg-050) !important;
    border-color: var(--kg-100) !important;
    box-shadow: none !important;
}

    .btn-secondary:hover,
    .btn-secondary:focus,
    .btn-secondary:active {
        background: var(--kg-100) !important;
        border-color: var(--kg-200) !important;
    }

.btn-link {
    color: var(--kg-600) !important;
}

    .btn-link:hover {
        color: var(--kg-800) !important;
    }

/* Backgrounds and text */
.bg-primary,
.bg-info {
    background-color: var(--kg-700) !important;
}

.bg-success {
    background-color: var(--kg-500) !important;
}

.bg-gradient-primary,
.bg-gradient-info,
.bg-gradient-success {
    background: linear-gradient(135deg, var(--kg-700) 0%, var(--kg-500) 100%) !important;
}

.bg-light-primary,
.bg-light-info,
.bg-light-success {
    background-color: var(--kg-050) !important;
}

.text-primary,
.text-info,
.text-themecolor {
    color: var(--kg-600) !important;
}

.text-success {
    color: var(--kg-500) !important;
}

.text-muted {
    color: var(--kg-muted) !important;
}

/* Badges, pills, pagination, tabs, list groups */
.badge-primary,
.badge-info {
    background-color: var(--kg-700) !important;
    color: #fff !important;
}

.badge-success {
    background-color: var(--kg-500) !important;
    color: #fff !important;
}

.badge {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: .02em;
}

.page-link {
    color: var(--kg-600) !important;
    border-color: var(--kg-line) !important;
}

    .page-link:hover {
        background-color: var(--kg-050) !important;
        border-color: var(--kg-100) !important;
    }

.page-item.active .page-link {
    background-color: var(--kg-700) !important;
    border-color: var(--kg-700) !important;
    color: #fff !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--kg-700) !important;
    color: #fff !important;
}

.nav-tabs .nav-link {
    color: var(--kg-body);
    border: 0;
    border-bottom: 2px solid transparent;
}

    .nav-tabs .nav-link.active {
        color: var(--kg-700) !important;
        background: transparent !important;
        border-bottom-color: var(--kg-500) !important;
        font-weight: 600;
    }

.list-group-item.active {
    background-color: var(--kg-700) !important;
    border-color: var(--kg-700) !important;
    color: #fff !important;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--kg-700) !important;
    color: #fff !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--kg-050) !important;
    color: var(--kg-800) !important;
}

.dropdown-menu {
    border: 1px solid var(--kg-line);
    border-radius: var(--kg-radius);
    box-shadow: var(--kg-shadow);
    padding: 6px;
}

.progress {
    background-color: var(--kg-050);
    border-radius: 999px;
}

.progress-bar {
    background-color: var(--kg-500) !important;
}

/* Alerts - danger and warning keep their semantic colour, everything
   informational becomes green. */
.alert {
    border: 1px solid transparent;
    border-radius: var(--kg-radius-sm);
    font-size: .92rem;
}

.alert-success,
.alert-info,
.alert-primary {
    background-color: var(--kg-050) !important;
    border-color: var(--kg-100) !important;
    border-left: 3px solid var(--kg-500) !important;
    color: var(--kg-800) !important;
}

.alert-danger {
    background-color: var(--kg-danger-bg) !important;
    border-color: #F3C7C3 !important;
    border-left: 3px solid var(--kg-danger) !important;
    color: var(--kg-danger) !important;
}

.alert-warning {
    background-color: var(--kg-warning-bg) !important;
    border-color: #F5DFB4 !important;
    border-left: 3px solid var(--kg-warning) !important;
    color: var(--kg-warning) !important;
}

/* --------------------------------------------------------------------------
   3. Forms
   -------------------------------------------------------------------------- */

.form-control,
.custom-select,
.select2-container--default .select2-selection--single {
    border: 1.5px solid var(--kg-line) !important;
    border-radius: var(--kg-radius-sm) !important;
    color: var(--kg-ink);
    background-color: #FBFDFC;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

    .form-control:hover,
    .custom-select:hover {
        border-color: #C6D6CD !important;
    }

    .form-control:focus,
    .custom-select:focus,
    .select2-container--default.select2-container--focus .select2-selection--single {
        border-color: var(--kg-500) !important;
        background-color: #fff;
        box-shadow: var(--kg-ring) !important;
        outline: none !important;
    }

.form-control::placeholder {
    color: var(--kg-muted);
}

label {
    color: var(--kg-body);
    font-weight: 500;
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--kg-600) !important;
    border-color: var(--kg-600) !important;
    box-shadow: none !important;
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: var(--kg-ring) !important;
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    background-color: var(--kg-600) !important;
    border-color: var(--kg-600) !important;
}

/* Server-side and unobtrusive validation */
.field-validation-error,
.validation-summary-errors {
    color: var(--kg-danger) !important;
}

.input-validation-error {
    border-color: #E2A19C !important;
    background-color: #FFFBFB !important;
}

    .input-validation-error:focus {
        border-color: var(--kg-danger) !important;
        box-shadow: 0 0 0 4px rgba(166, 35, 28, .12) !important;
    }

/* --------------------------------------------------------------------------
   4. Cards and tables - the "modern" part of the refresh.
   The admin template ships square cards with hard borders; round them off
   and give them a soft lift instead.
   -------------------------------------------------------------------------- */

.card {
    border: 1px solid var(--kg-line) !important;
    border-radius: var(--kg-radius) !important;
    box-shadow: var(--kg-shadow-sm) !important;
    overflow: hidden;
}

.card-header {
    background: #fff !important;
    border-bottom: 1px solid var(--kg-line) !important;
    padding: 16px 20px;
    font-weight: 600;
    color: var(--kg-ink);
}

.card-title {
    color: var(--kg-ink);
    font-weight: 600;
}

.card-subtitle,
.card-sub {
    color: var(--kg-muted);
}

.card-footer,
.card-foot {
    background: var(--kg-050) !important;
    border-top: 1px solid var(--kg-line) !important;
}

/* Tables.
   .table-borderless is deliberately excluded throughout: the printed
   certificate uses it as a layout grid, so it must keep no borders and no
   tinted header. */
.table:not(.table-borderless) thead th {
    background: var(--kg-050) !important;
    color: var(--kg-800) !important;
    border-bottom: 1px solid var(--kg-100) !important;
    border-top: 0 !important;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.table:not(.table-borderless) td,
.table:not(.table-borderless) th {
    border-top: 1px solid var(--kg-line) !important;
    vertical-align: middle;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(237, 246, 241, .55) !important;
}

.table-hover tbody tr:hover {
    background-color: var(--kg-050) !important;
    color: var(--kg-ink);
}

.table-bordered,
.table-bordered td,
.table-bordered th {
    border-color: var(--kg-line) !important;
}

/* --------------------------------------------------------------------------
   5. Admin shell - topbar, sidebar, page wrapper
   -------------------------------------------------------------------------- */

.topbar,
.topbar .navbar-header,
.topbar .top-navbar .navbar-header,
.topbar .top-navbar .navbar-header[data-logobg],
[data-navbarbg] {
    background: var(--kg-700) !important;
}

.topbar .top-navbar .navbar-header,
.topbar .top-navbar .navbar-header[data-logobg] {
    background: var(--kg-900) !important;
}

.topbar {
    box-shadow: 0 2px 14px -6px rgba(6, 53, 29, .45) !important;
}

    .topbar .navbar-header.border-right {
        border-right: 1px solid rgba(255, 255, 255, .1) !important;
    }

    /* Topbar icons and text sit on green, so force them light */
    .topbar .navbar-nav > .nav-item > .nav-link,
    .topbar .navbar-nav > .nav-item > a,
    .topbar .nav-toggler,
    .topbar .topbartoggler,
    .topbar .navbar-brand,
    .topbar .navbar-brand .logo-text,
    .topbar .navbar-nav .nav-link i {
        color: rgba(255, 255, 255, .92) !important;
    }

        .topbar .navbar-nav > .nav-item > .nav-link:hover,
        .topbar .nav-toggler:hover,
        .topbar .topbartoggler:hover {
            color: #fff !important;
        }

/* The logo area is now dark, so show the light variants of the logo */
.topbar .navbar-header .dark-logo {
    display: none !important;
}

.topbar .navbar-header .light-logo {
    display: inline !important;
}

/* Sidebar */
.left-sidebar,
.left-sidebar [data-sidebarbg],
.scroll-sidebar,
.sidebar-nav,
.sidebar-nav ul,
[data-sidebarbg] {
    background: var(--kg-900) !important;
}

/* The nav is often shorter than the viewport; keep the green running to the
   bottom instead of letting the page background show through. */
.left-sidebar {
    min-height: 100vh;
}

.sidebar-nav ul .sidebar-item .sidebar-link {
    color: rgba(234, 244, 238, .75) !important;
    opacity: 1 !important;
    border-radius: var(--kg-radius-sm);
    margin: 2px 10px;
    transition: background .15s ease, color .15s ease;
}

    .sidebar-nav ul .sidebar-item .sidebar-link i {
        color: rgba(234, 244, 238, .6) !important;
    }

    .sidebar-nav ul .sidebar-item .sidebar-link:hover {
        background: rgba(255, 255, 255, .08) !important;
        color: #fff !important;
    }

        .sidebar-nav ul .sidebar-item .sidebar-link:hover i {
            color: var(--kg-300) !important;
        }

.sidebar-nav ul .sidebar-item.selected > .sidebar-link,
.sidebar-nav ul .sidebar-item.active > .sidebar-link,
.sidebar-nav ul .sidebar-item > .sidebar-link.active {
    background: linear-gradient(135deg, var(--kg-700), var(--kg-500)) !important;
    color: #fff !important;
    font-weight: 600;
    box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .8);
}

    .sidebar-nav ul .sidebar-item.selected > .sidebar-link i,
    .sidebar-nav ul .sidebar-item.active > .sidebar-link i,
    .sidebar-nav ul .sidebar-item > .sidebar-link.active i {
        color: #fff !important;
    }

.sidebar-nav ul .sidebar-item:hover,
.sidebar-nav #sidebarnav > .sidebar-item:hover {
    background: transparent !important;
}

.sidebar-nav ul .sidebar-item .first-level {
    background: rgba(0, 0, 0, .22) !important;
    border-radius: var(--kg-radius-sm);
    margin: 0 10px 4px;
    padding: 4px 0;
}

.sidebar-nav .has-arrow::after {
    border-color: rgba(234, 244, 238, .6) !important;
}

.user-profile .profile-text a,
.sidebar-nav .hide-menu {
    color: inherit !important;
}

/* Page background and headings */
.page-wrapper {
    background: var(--kg-page) !important;
}

.page-titles {
    background: transparent !important;
    box-shadow: none !important;
    padding: 18px 0 6px;
}

    .page-titles .breadcrumb {
        background: transparent !important;
        padding-left: 0;
        margin-bottom: 0;
    }

        .page-titles .breadcrumb .breadcrumb-item.active {
            color: var(--kg-600) !important;
        }

    .page-titles h3,
    .page-titles h4,
    .page-titles .text-themecolor {
        color: var(--kg-ink) !important;
        font-weight: 600;
    }

h1, h2, h3, h4, h5, h6 {
    color: var(--kg-ink);
}

/* Footer of the admin shell */
.footer {
    background: transparent;
    border-top: 1px solid var(--kg-line);
    color: var(--kg-muted);
}

/* --------------------------------------------------------------------------
   6. Plugin accents - DataTables, select2, toastr, summernote
   -------------------------------------------------------------------------- */

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--kg-700) !important;
    border-color: var(--kg-700) !important;
    color: #fff !important;
    border-radius: var(--kg-radius-sm);
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--kg-050) !important;
    border-color: var(--kg-100) !important;
    color: var(--kg-800) !important;
    border-radius: var(--kg-radius-sm);
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border: 1.5px solid var(--kg-line);
    border-radius: var(--kg-radius-sm);
    padding: 5px 10px;
}

    .dataTables_wrapper .dataTables_filter input:focus,
    .dataTables_wrapper .dataTables_length select:focus {
        border-color: var(--kg-500);
        box-shadow: var(--kg-ring);
        outline: none;
    }

table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    color: var(--kg-700) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--kg-700) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--kg-050) !important;
    border-color: var(--kg-100) !important;
    color: var(--kg-800) !important;
}

.note-editor.note-frame .note-toolbar,
.note-editor.note-frame .note-statusbar {
    background: var(--kg-050) !important;
    border-color: var(--kg-line) !important;
}

#toast-container > .toast-success {
    background-color: var(--kg-600) !important;
}

#toast-container > .toast-info {
    background-color: var(--kg-500) !important;
}

/* --------------------------------------------------------------------------
   6b. Residual blues
   The bought-in template and its plugins ship several blue accents that the
   sections above did not reach. They were found by scanning every stylesheet
   the admin layout loads for blue-dominant colours on form, dropdown, tab,
   pagination and table selectors. Grouped here so the list stays auditable.
   -------------------------------------------------------------------------- */

/* Native form controls: checkboxes, radios, range and progress pick up the
   accent colour, and it also tints the selected row of a <select> popup in
   browsers that honour it. */
:root {
    accent-color: var(--kg-700);
}

/* Options inside a native dropdown list */
select option {
    background-color: #fff;
    color: var(--kg-ink);
}

select option:checked,
select option:hover {
    background-color: var(--kg-050);
    color: var(--kg-900);
}

/* Material / underline form variants draw their line with a blue gradient */
.form-material .form-control,
.form-material .form-control.focus,
.form-material .form-control:focus {
    background-image: linear-gradient(var(--kg-500), var(--kg-500)), linear-gradient(rgba(120, 130, 140, .13), rgba(120, 130, 140, .13)) !important;
}

.form-control-line .form-control:focus {
    border-bottom: 1px solid var(--kg-500) !important;
}

/* Tabs */
.nav-tabs .nav-link:hover,
.customtab .nav-link.active,
.customtab .nav-link:hover,
.nav-tabs.manage-tabs .nav-link,
.nav-tabs.manage-tabs .nav-item.show .nav-link,
.nav-tabs.manage-tabs .nav-link.active {
    color: var(--kg-700) !important;
    border-color: var(--kg-500) !important;
}

.nav-tabs.manage-tabs .nav-item.show .nav-link::after,
.nav-tabs.manage-tabs .nav-link.active::after {
    background: var(--kg-500) !important;
}

/* Pagination */
.page-link:hover {
    color: var(--kg-800) !important;
}

.dataTables_wrapper .dataTables_paginate .page-item.active .page-link {
    background-color: var(--kg-700) !important;
    border-color: var(--kg-700) !important;
    color: #fff !important;
}

/* DataTables selected rows were a blue-grey */
table.dataTable tbody tr.selected,
table.dataTable tbody tr.selected > *,
table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3,
table.dataTable.display tbody tr.even.selected > .sorting_1,
table.dataTable.display tbody tr.odd.selected > .sorting_1 {
    background-color: var(--kg-100) !important;
    color: var(--kg-900) !important;
}

/* Responsive DataTables expand control */
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child::before,
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child::before,
table.dataTable.dtr-column > tbody > tr > td.control::before,
table.dataTable.dtr-column > tbody > tr > th.control::before {
    background-color: var(--kg-600) !important;
    border-color: var(--kg-600) !important;
}

/* select2 - the classic theme is unused today, but covered so switching
   themes later cannot reintroduce a blue border. */
.select2-container--classic .select2-selection--single:focus,
.select2-container--classic.select2-container--open .select2-selection--single,
.select2-container--classic .select2-selection--multiple:focus,
.select2-container--classic.select2-container--open .select2-selection--multiple,
.select2-container--classic.select2-container--open .select2-dropdown {
    border-color: var(--kg-500) !important;
}

.select2-container--classic .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--kg-700) !important;
    color: #fff !important;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple,
.select2-dropdown {
    border-color: var(--kg-500) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--kg-500) !important;
    outline: none !important;
    box-shadow: var(--kg-ring) !important;
}

/* Size a single select2 control like the other form fields. select2 renders
   its list as ordinary HTML, so unlike a native <select> popup the highlight
   colour is ours to set rather than the operating system's. */
.select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 44px;
    padding: 7px 10px;
    border: 1.5px solid var(--kg-line) !important;
    border-radius: 9px !important;
    background: #FBFDFC;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 28px;
    padding-left: 6px;
    color: var(--kg-ink);
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--kg-muted);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px;
    right: 8px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--kg-muted) transparent transparent transparent;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--kg-muted) transparent;
}

.select2-dropdown {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--kg-shadow);
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: var(--kg-050);
    color: var(--kg-900);
}

/* List groups */
.list-group-item-cyan,
.list-group-item-cyan.list-group-item-action:focus,
.list-group-item-cyan.list-group-item-action:hover,
.list-group-item-cyan.list-group-item-action.active {
    background-color: var(--kg-050) !important;
    border-color: var(--kg-100) !important;
    color: var(--kg-800) !important;
}

/* Summernote editor */
.note-editor .note-dropzone { background-color: var(--kg-050) !important; color: var(--kg-600) !important; }
.note-editor .note-dropzone.hover { color: var(--kg-800) !important; }
.note-editor.note-frame .note-status-output .text-primary,
.note-editor.note-frame .note-status-output .text-info { color: var(--kg-600) !important; }
.note-hint-popover .popover-content .note-hint-group .note-hint-item.active { background-color: var(--kg-700) !important; }

/* Any control still falling back to the browser focus ring gets the green one */
.form-control:focus-visible,
.custom-select:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none !important;
    box-shadow: var(--kg-ring) !important;
    border-color: var(--kg-500) !important;
}

/* --------------------------------------------------------------------------
   7. Public site (assets/css/style.css) - replaces the blue #0070cd
   -------------------------------------------------------------------------- */

.btn--primary,
.btn--gradient {
    background: linear-gradient(135deg, var(--kg-700) 0%, var(--kg-500) 100%) !important;
    border-color: var(--kg-700) !important;
    color: #fff !important;
    box-shadow: 0 12px 26px -12px rgba(11, 93, 51, .75);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

    .btn--primary:hover,
    .btn--primary:focus,
    .btn--primary:active,
    .btn--gradient:hover {
        background: linear-gradient(135deg, var(--kg-800) 0%, var(--kg-600) 100%) !important;
        border-color: var(--kg-800) !important;
        color: #fff !important;
        transform: translateY(-2px);
        box-shadow: 0 18px 32px -14px rgba(11, 93, 51, .8);
    }

.btn--bordered.btn--primary {
    background: transparent !important;
    border-color: var(--kg-500) !important;
    color: var(--kg-700) !important;
    box-shadow: none;
}

    .btn--bordered.btn--primary:hover,
    .btn--bordered.btn--primary:focus,
    .btn--bordered.btn--primary:active {
        background: var(--kg-700) !important;
        border-color: var(--kg-700) !important;
        color: #fff !important;
    }

.bg-theme {
    background-color: var(--kg-700) !important;
}

/* The public stylesheet tints several surfaces pale blue (#F6FAFD, #eff8ff,
   #f7fafc). Re-tint them green so the page reads as one palette. */
.hero,
.bg-gray,
.feature-3 .feature-panel .feature-img {
    background-color: var(--kg-050) !important;
}

.bg-overlay-theme:before {
    background-color: rgba(11, 93, 51, .82) !important;
}

.color-theme,
.higlighted-style1,
.higlighted-style3 {
    color: var(--kg-600) !important;
}

.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus,
.navbar-nav > li.active > a {
    color: var(--kg-400) !important;
}

.hr-bar {
    border: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--kg-700), var(--kg-400) 45%, rgba(31, 163, 107, .12));
    border-radius: 999px;
}

.hero-headline .hero-action .btn {
    letter-spacing: .02em;
}

.feature-panel .feature-icon,
.member .member-info h6 a i {
    color: var(--kg-500) !important;
}

/* Tick marks on the "read these instructions" lists */
.feature-panel .feature-content ul li:before,
.feature-left .feature-panel .feature-content ul li:before {
    color: var(--kg-500) !important;
}

.footer .footer-bottom .footer-social a:hover {
    color: var(--kg-400) !important;
}

.widget-info-box h4 {
    color: var(--kg-ink);
}

/* Footer contact icons sit in a pale blue disc by default */
.footer .widget-info-box .info-img {
    background-color: var(--kg-050) !important;
}

.carousel-dots .owl-dots .owl-dot.active span {
    background-color: var(--kg-500) !important;
}

.form-radio input:checked ~ .radio-indicator,
.form-radio .label-radio input:checked:focus ~ .radio-indicator {
    background-color: var(--kg-600) !important;
    border-color: var(--kg-600) !important;
}

/* --------------------------------------------------------------------------
   8. Result / certificate documents
   Headings and rules pick up the ministry green; the sheet itself stays
   white so printed output does not flood the page with ink.
   -------------------------------------------------------------------------- */

.result-heading,
.result-title,
.sheet-heading {
    color: var(--kg-800) !important;
}

.result-sheet hr,
.sheet-rule {
    border-top: 2px solid var(--kg-500);
}

/* --------------------------------------------------------------------------
   9. Print
   Keep paper white, drop shadows and decorative fills, keep green rules.
   -------------------------------------------------------------------------- */

@media print {
    body {
        background: #fff !important;
    }

    .card,
    .table,
    .table thead th {
        box-shadow: none !important;
        background: #fff !important;
        color: #000 !important;
    }

    .table thead th {
        border-bottom: 1.5px solid var(--kg-700) !important;
    }

    .topbar,
    .left-sidebar,
    .page-titles,
    .footer,
    .no-print {
        display: none !important;
    }

    .page-wrapper {
        background: #fff !important;
        margin-left: 0 !important;
    }

    a {
        color: #000 !important;
        text-decoration: none !important;
    }
}
