/* National Service Scheme — government administration theme.
   Slate, white and restrained orange. Loaded after AdminLTE and legacy CSS. */

.nss-gov {
    --nss-slate: #475569;
    --nss-slate-dark: #334155;
    --nss-white: #ffffff;
    --nss-page: #F4F6F8;
    --nss-grey: #E9EDF1;
    --nss-border: #D6DDE4;
    --nss-text: #273444;
    --nss-muted: #667085;
    --nss-orange: #C87532;
    --nss-orange-soft: #FFF3E8;
    background: var(--nss-page);
    color: var(--nss-text);
    font-family: "Source Sans Pro", "Segoe UI", Tahoma, sans-serif;
}

.nss-gov .wrapper {
    background: var(--nss-page);
}

/* Header */
.nss-gov .main-header.nss-topbar {
    background: var(--nss-white) !important;
    border-bottom: 1px solid var(--nss-border);
    box-shadow: none;
    margin-left: 0 !important;
    min-height: 58px;
    z-index: 1040;
    padding: 0 12px 0 8px;
}

.nss-gov .nss-brand {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 4px;
}

.nss-gov .nss-menu-toggle {
    color: var(--nss-slate-dark);
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    margin-right: 4px;
}

.nss-gov .nss-menu-toggle:hover {
    background: var(--nss-grey);
    color: var(--nss-slate-dark);
}

.nss-gov .nss-brand-link {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    min-width: 0;
}

.nss-gov .nss-brand-link:hover {
    text-decoration: none;
}

.nss-gov .nss-brand-link img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 50%;
    border: 1px solid var(--nss-border);
    background: var(--nss-white);
}

.nss-gov .nss-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
}

.nss-gov .nss-brand-text strong {
    color: var(--nss-slate-dark);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.nss-gov .nss-brand-text small {
    color: var(--nss-orange);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.nss-gov .nss-userbar {
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.nss-gov .nss-userbar > li,
.nss-gov .nss-userbar > li p,
.nss-gov .nss-userbar > li a,
.nss-gov .nss-userbar > li span,
.nss-gov .nss-userbar .nav-link {
    color: var(--nss-slate-dark) !important;
    font-size: 13.5px;
}

.nss-gov .nss-userbar > li {
    display: flex;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
}

.nss-gov .nss-userbar p {
    margin: 0;
}

.nss-gov .nss-userbar a:hover {
    color: var(--nss-orange) !important;
}

.nss-gov .nss-userbar i {
    margin-right: 4px;
    color: var(--nss-slate);
}

/* Sidebar */
.nss-gov .main-sidebar.nss-sidebar {
    background: var(--nss-white) !important;
    border-right: 1px solid var(--nss-border);
    box-shadow: none;
    z-index: 1030;
}

.nss-gov.layout-navbar-fixed .wrapper .main-sidebar.nss-sidebar {
    top: 58px;
    height: calc(100vh - 58px);
    padding-top: 0 !important;
}

.nss-gov .nss-sidebar .sidebar {
    padding: 8px 0 16px;
    overflow-x: hidden;
    overflow-y: auto;
}

.nss-gov .nss-side-label {
    color: var(--nss-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 8px 16px 4px;
    margin: 0;
}

.nss-gov .nav-sidebar .nav-item > .nav-link {
    color: var(--nss-slate-dark);
    border-radius: 0;
    border-left: 3px solid transparent;
    padding: 0.42rem 0.75rem;
    margin-bottom: 0;
}

.nss-gov .nav-sidebar .nav-link p {
    margin: 0;
    white-space: normal;
    line-height: 1.3;
}

.nss-gov .nav-sidebar .nav-icon {
    color: var(--nss-slate);
    font-size: 0.95rem;
    width: 1.35rem;
    text-align: center;
}

.nss-gov .nav-sidebar .nav-link:hover {
    background: var(--nss-page);
    color: var(--nss-text);
}

.nss-gov .nav-sidebar .nav-link.active,
.nss-gov .nav-pills .nav-link.active {
    background: var(--nss-orange-soft) !important;
    color: #8A4B1F !important;
    border-left-color: var(--nss-orange);
    font-weight: 600;
    box-shadow: none;
}

.nss-gov .nav-sidebar .nav-link.active .nav-icon,
.nss-gov .nav-sidebar .nav-link.active i {
    color: var(--nss-orange) !important;
}

.nss-gov .nss-sidebar .text-info {
    color: var(--nss-muted) !important;
}

.nss-gov .nav-treeview {
    background: #F8FAFB;
}

.nss-gov .nav-treeview > .nav-item > .nav-link {
    padding-left: 1.6rem;
    color: var(--nss-slate);
}

.nss-gov .nav-sidebar > .nav-item.menu-open > .nav-link {
    background: var(--nss-grey);
    color: var(--nss-slate-dark);
}

.nss-gov.layout-navbar-fixed .content-wrapper {
    margin-top: 58px;
    background: var(--nss-page);
    padding: 14px 16px 36px;
    color: var(--nss-text);
}

.nss-gov .main-footer {
    background: var(--nss-white);
    border-top: 1px solid var(--nss-border);
    color: var(--nss-muted);
    font-size: 13px;
    padding: 10px 16px;
}

.nss-gov .main-footer a {
    color: var(--nss-slate-dark);
}

.nss-gov .nss-footer-support {
    display: block;
    margin-top: 2px;
}

@media (min-width: 992px) {
    .nss-gov .content-wrapper {
        margin-left: 250px;
    }

    .nss-gov.sidebar-collapse .content-wrapper {
        margin-left: 4.6rem;
    }

    .nss-gov.layout-footer-fixed .main-footer {
        margin-left: 0;
        left: 250px;
    }

    .nss-gov.layout-footer-fixed.sidebar-collapse .main-footer {
        left: 4.6rem;
    }
}

@media (max-width: 991.98px) {
    .nss-gov .content-wrapper,
    .nss-gov .main-footer,
    .nss-gov.sidebar-collapse .content-wrapper,
    .nss-gov.sidebar-collapse .main-footer,
    .nss-gov.layout-footer-fixed .main-footer,
    .nss-gov.layout-footer-fixed.sidebar-collapse .main-footer {
        margin-left: 0 !important;
        left: 0;
    }

    .nss-gov .main-sidebar.nss-sidebar {
        margin-left: -250px;
    }

    .nss-gov.sidebar-open .main-sidebar.nss-sidebar,
    .nss-gov.sidebar-open.sidebar-collapse .main-sidebar.nss-sidebar {
        margin-left: 0;
    }

    .nss-gov .nss-brand-text strong {
        font-size: 13px;
    }

    .nss-gov.sidebar-open .content-wrapper::before {
        content: "";
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(39, 52, 68, 0.35);
        z-index: 1029;
    }
}

@media (max-width: 640px) {
    .nss-gov .nss-brand-text strong {
        white-space: normal;
    }
}

/* Page content */
.nss-gov .content-header,
.nss-gov .content-wrapper h1,
.nss-gov .content-wrapper h2,
.nss-gov .content-wrapper h3,
.nss-gov .content-wrapper h4,
.nss-gov .content-wrapper h5 {
    color: var(--nss-slate-dark);
}

.nss-gov .content-header h4,
.nss-gov .content-header h5 {
    font-weight: 600;
    margin: 0;
}

.nss-gov .card {
    background: var(--nss-white);
    border: 1px solid var(--nss-border);
    border-radius: 6px;
    box-shadow: none;
    margin-bottom: 16px;
}

.nss-gov .card-header {
    background: var(--nss-white);
    border-bottom: 1px solid var(--nss-grey);
    padding: 0.65rem 1rem;
}

.nss-gov .card-title {
    color: var(--nss-slate-dark);
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.nss-gov .card-body {
    padding: 1rem;
}

.nss-gov .card-outline,
.nss-gov .card-outline.card-info,
.nss-gov .card-info.card-outline,
.nss-gov .card-outline.card-primary,
.nss-gov .card-primary.card-outline,
.nss-gov .card-outline.card-success,
.nss-gov .card-success.card-outline {
    border-top: 3px solid var(--nss-slate) !important;
}

.nss-gov .card-outline.card-danger,
.nss-gov .card-danger.card-outline,
.nss-gov .card-outline.card-warning,
.nss-gov .card-warning.card-outline {
    border-top: 3px solid var(--nss-orange) !important;
}

.nss-gov .card-danger:not(.card-outline),
.nss-gov .card.card-danger.card-outline {
    background: var(--nss-white);
}

.nss-gov .card-danger .card-body,
.nss-gov .card-warning .card-body {
    background: var(--nss-orange-soft);
}

.nss-gov .card-danger .card-title,
.nss-gov .card-danger .text-danger,
.nss-gov .card-warning .card-title {
    color: #8A4B1F !important;
}

.nss-gov .card-info:not(.card-outline) > .card-header,
.nss-gov .card-primary:not(.card-outline) > .card-header,
.nss-gov .card-success:not(.card-outline) > .card-header {
    background: var(--nss-slate);
    color: var(--nss-white);
}

.nss-gov .bg-info,
.nss-gov .badge-info,
.nss-gov .bg-primary {
    background-color: var(--nss-slate) !important;
}

.nss-gov .alert-info {
    background: var(--nss-page);
    border-color: var(--nss-border);
    color: var(--nss-text);
}

.nss-gov label,
.nss-gov .content-wrapper td {
    color: var(--nss-text);
}

.nss-gov .form-group label,
.nss-gov .content-wrapper label {
    font-weight: 600;
    color: var(--nss-slate-dark);
    margin-bottom: 0.25rem;
}

.nss-gov .form-control,
.nss-gov .content-wrapper input[type="text"],
.nss-gov .content-wrapper input[type="password"],
.nss-gov .content-wrapper input[type="number"],
.nss-gov .content-wrapper input[type="email"],
.nss-gov .content-wrapper input[type="date"],
.nss-gov .content-wrapper input[type="file"],
.nss-gov .content-wrapper select,
.nss-gov .content-wrapper textarea {
    border: 1px solid var(--nss-border);
    border-radius: 4px;
    color: var(--nss-text);
    background: var(--nss-white);
    box-shadow: none;
    min-height: 32px;
}

.nss-gov .form-control:focus,
.nss-gov .content-wrapper input[type="text"]:focus,
.nss-gov .content-wrapper select:focus,
.nss-gov .content-wrapper textarea:focus {
    border-color: var(--nss-slate);
    box-shadow: 0 0 0 2px rgba(71, 85, 105, 0.16);
}

.nss-gov .form-control[readonly],
.nss-gov .form-control:disabled,
.nss-gov .content-wrapper input[readonly],
.nss-gov .content-wrapper textarea[readonly],
.nss-gov .content-wrapper select:disabled,
.nss-gov .content-wrapper input:disabled {
    background: var(--nss-page) !important;
    color: var(--nss-muted);
}

.nss-gov table.form-control,
.nss-gov table.form-control-sm {
    height: auto !important;
    display: table;
    width: 100%;
    padding: 6px 8px;
    background: var(--nss-white);
}

.nss-gov table.form-control td,
.nss-gov table.form-control-sm td {
    border: 0;
    padding: 3px 8px;
    background: transparent;
}

.nss-gov fieldset,
.nss-gov fieldset.scheduler-border {
    border: 1px solid var(--nss-border) !important;
    border-radius: 6px;
    background: var(--nss-white);
    padding: 8px 14px 14px !important;
    margin: 0 0 16px !important;
    box-shadow: none !important;
}

.nss-gov legend,
.nss-gov legend.scheduler-border {
    color: var(--nss-slate-dark) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    width: auto;
    padding: 0 8px;
    margin-bottom: 0;
}

.nss-gov .btn-info,
.nss-gov .btn-primary,
.nss-gov .btn-success {
    background-color: var(--nss-slate);
    border-color: var(--nss-slate-dark);
    color: var(--nss-white);
}

.nss-gov .btn-info:hover,
.nss-gov .btn-primary:hover,
.nss-gov .btn-success:hover,
.nss-gov .btn-info:focus,
.nss-gov .btn-primary:focus,
.nss-gov .btn-success:focus {
    background-color: var(--nss-slate-dark);
    border-color: var(--nss-slate-dark);
    color: var(--nss-white);
}

.nss-gov .btn-warning {
    background-color: var(--nss-orange);
    border-color: var(--nss-orange);
    color: var(--nss-white);
}

.nss-gov .btn-warning:hover {
    background-color: #a8622a;
    border-color: #a8622a;
    color: var(--nss-white);
}

.nss-gov .btn-danger {
    background-color: #8f3d32;
    border-color: #8f3d32;
    color: var(--nss-white);
}

.nss-gov .btn-outline-info,
.nss-gov .btn-outline-primary,
.nss-gov .btn-outline-dark,
.nss-gov .btn-outline-secondary {
    color: var(--nss-slate-dark);
    border-color: var(--nss-slate);
    background: var(--nss-white);
}

.nss-gov .btn-outline-info:hover,
.nss-gov .btn-outline-primary:hover,
.nss-gov .btn-outline-dark:hover,
.nss-gov .btn-outline-secondary:hover {
    background: var(--nss-grey);
    color: var(--nss-slate-dark);
    border-color: var(--nss-slate-dark);
}

.nss-gov .msgErr,
.nss-gov .field-validation-error {
    color: #9f3a2f !important;
    font-size: 12px;
    font-weight: 600;
}

.nss-gov .content-wrapper a:not(.btn):not(.nav-link) {
    color: var(--nss-slate-dark);
}

.nss-gov .content-wrapper a:not(.btn):not(.nav-link):hover {
    color: var(--nss-orange);
}

/* Grids */
.nss-gov .table-responsive,
.nss-gov .nss-grid-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.nss-gov table.gridview,
.nss-gov .content-wrapper table.table-bordered,
.nss-gov .nss-content table.gridview,
.nss-gov .nss-content table.table-bordered {
    width: 100%;
    border-collapse: collapse;
    background: var(--nss-white);
    color: var(--nss-text);
    font-size: 13px;
    margin-bottom: 0;
}

.nss-gov table.gridview th,
.nss-gov table.gridview tr:first-child th,
.nss-gov table.gridview tr:first-child td,
.nss-gov .content-wrapper table.table-bordered th,
.nss-gov .content-wrapper table.table-bordered tr:first-child th,
.nss-gov .content-wrapper table.table-bordered tr:first-child td,
.nss-gov .nss-content table.gridview th,
.nss-gov .nss-content table.gridview tr:first-child th,
.nss-gov .nss-content table.gridview tr:first-child td {
    background: var(--nss-grey) !important;
    color: var(--nss-slate-dark) !important;
    font-weight: 700;
    border: 1px solid var(--nss-border) !important;
    padding: 8px 10px;
    vertical-align: middle;
}

.nss-gov table.gridview td,
.nss-gov .content-wrapper table.table-bordered td,
.nss-gov .nss-content table.gridview td {
    padding: 8px 10px;
    border: 1px solid var(--nss-border);
    vertical-align: middle;
    background: var(--nss-white);
}

.nss-gov table.gridview tr:nth-child(even):not(:first-child) td,
.nss-gov .content-wrapper table.table-bordered tr:nth-child(even):not(:first-child) td,
.nss-gov .nss-content table.gridview tr:nth-child(even):not(:first-child) td {
    background: #F8FAFB;
}

.nss-gov table.gridview tr:not(:first-child):hover td,
.nss-gov .content-wrapper table.table-bordered tr:not(:first-child):hover td,
.nss-gov .nss-content table.gridview tr:not(:first-child):hover td {
    background: var(--nss-orange-soft);
}

.nss-gov table.gridview tr.pager td,
.nss-gov table.gridview tr.pager:hover td,
.nss-gov .pager td {
    background: var(--nss-white) !important;
    color: var(--nss-text) !important;
    font-weight: 500;
}

.nss-gov .nss-grid-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 8px;
    flex-wrap: wrap;
}

.nss-gov .nss-ico {
    display: inline-block;
    width: 1em;
    margin-right: 6px;
    text-align: center;
    color: var(--nss-slate);
}

.nss-gov .card-title .nss-ico,
.nss-gov legend .nss-ico,
.nss-gov .content-header .nss-ico {
    color: var(--nss-orange);
}

.nss-gov .btn .nss-ico,
.nss-gov a.btn .nss-ico,
.nss-gov table.gridview a .nss-ico {
    margin-right: 4px;
}

.nss-gov .nss-grid-tools label span::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f002";
    margin-right: 6px;
    color: var(--nss-slate);
}

.nss-gov .nss-grid-tools label {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--nss-slate-dark);
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 220px;
}

.nss-gov .nss-grid-tools input[type="search"] {
    flex: 1 1 180px;
    max-width: 320px;
    min-height: 32px;
    border: 1px solid var(--nss-border);
    border-radius: 4px;
    padding: 4px 8px;
    color: var(--nss-text);
    background: var(--nss-white);
}

.nss-gov .nss-grid-tools input[type="search"]:focus {
    outline: none;
    border-color: var(--nss-slate);
    box-shadow: 0 0 0 2px rgba(71, 85, 105, 0.16);
}

.nss-gov .nss-grid-count {
    color: var(--nss-muted);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

/* Legacy masters: same palette, existing top menu kept */
.nss-legacy {
    background: #F4F6F8 !important;
    color: #273444;
}

.nss-legacy header {
    background: #FFFFFF !important;
    border-bottom: 1px solid #D6DDE4 !important;
}

.nss-legacy .uni-logo,
.nss-legacy .uni-logo b,
.nss-legacy .uni-logo h1,
.nss-legacy header h1 {
    color: #334155 !important;
}

.nss-legacy nav {
    background: #FFFFFF !important;
    border-bottom: 1px solid #D6DDE4 !important;
    box-shadow: none !important;
}

.nss-legacy #nav a,
.nss-legacy .animenu a,
.nss-legacy .animenu li {
    color: #334155 !important;
}

.nss-legacy #nav a.active {
    background: #FFF3E8 !important;
    color: #8A4B1F !important;
    border-left: 3px solid #C87532;
}

.nss-legacy .content.nss-content {
    background: transparent !important;
    box-shadow: none !important;
}

.nss-legacy .header_text h2,
.nss-legacy .header_text {
    color: #334155 !important;
}

.nss-legacy .box-l,
.nss-legacy .box-2,
.nss-legacy .box-3 {
    background: #FFFFFF !important;
    border: 1px solid #D6DDE4;
    border-radius: 6px;
}

.nss-legacy footer {
    background: #FFFFFF !important;
    border-top: 1px solid #D6DDE4;
}

.nss-legacy footer .inside,
.nss-legacy footer .inside a {
    color: #667085 !important;
}

.nss-legacy div[style*="color: brown"],
.nss-legacy div[style*="color:brown"] {
    color: #667085 !important;
}
