/**
 * Solar Veedu CMS: navy sidebar + light content.
 * AdminLTE (css/app.css) loads first; this file is the theme layer.
 * Do not apply AdminLTE .dark-mode on the CMS shell — it darkens cards/tables
 * independently of the light workspace.
 */

.sv-admin-ui {
    --sv-navy: #0f172a;
    --sv-navy-mid: #1e293b;
    --sv-blue: #2563eb;
    --sv-blue-hover: #1d4ed8;
    --sv-blue-soft: rgba(37, 99, 235, 0.12);
    --sv-workspace: #f8fafc;
    --sv-card: #ffffff;
    --sv-border: #e2e8f0;
    --sv-text: #334155;
    --sv-text-strong: #0f172a;
    --sv-text-muted: #64748b;
    --sv-sidebar-text: #e2e8f0;
    --sv-sidebar-muted: #94a3b8;
    --sv-radius: 15px;
    --sv-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 4px 12px rgba(15, 23, 42, 0.04);
    --sv-sidebar-width: 270px;
    --sv-sidebar-mini-width: 4.6rem;
    --sv-brand-panel-height: 5rem;
    --sv-sidebar-nav-gap: 1.25rem;
    --sv-page-pad: 30px;
    --sv-font-sans: "Source Sans Pro", "Segoe UI", system-ui, sans-serif;
    font-family: var(--sv-font-sans);
    color: var(--sv-text);
    background-color: var(--sv-workspace);
}

/* —— Layout: footer in document flow (not overlay) —— */

.sv-admin-ui .wrapper .main-footer {
    position: static;
    background: var(--sv-card);
    border-top: 1px solid var(--sv-border);
    color: var(--sv-text-muted);
    font-size: 0.875rem;
    font-weight: 400;
}

.sv-admin-ui .main-footer a {
    color: var(--sv-blue);
    font-weight: 400;
}

.sv-admin-ui .content-wrapper {
    background: var(--sv-workspace);
    color: var(--sv-text);
}

.sv-admin-ui .content-wrapper > .content {
    padding: 0 0 2rem;
}

.sv-admin-ui .sv-admin-page .container-fluid,
.sv-admin-ui .sv-admin-page-header .container-fluid {
    padding-left: var(--sv-page-pad);
    padding-right: var(--sv-page-pad);
}

@media (max-width: 575.98px) {
    .sv-admin-ui {
        --sv-page-pad: 16px;
    }
}

/* —— Sidebar width —— */

.sv-admin-ui:not(.sidebar-collapse) .sv-admin-sidebar.main-sidebar,
.sv-admin-ui:not(.sidebar-collapse) .sv-admin-sidebar.main-sidebar::before {
    width: var(--sv-sidebar-width);
}

.sv-admin-ui:not(.sidebar-collapse):not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,
.sv-admin-ui:not(.sidebar-collapse):not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,
.sv-admin-ui:not(.sidebar-collapse):not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header {
    margin-left: var(--sv-sidebar-width);
}

/* —— Navy sidebar —— */

.sv-admin-ui .sv-admin-sidebar.main-sidebar {
    background: var(--sv-navy);
    border-right: none;
    box-shadow: none;
}

.sv-admin-ui .wrapper .sidebar-dark-primary .brand-link.sv-admin-brand-link:not([class*="navbar"]),
.sv-admin-ui .wrapper .sidebar-light-primary .brand-link.sv-admin-brand-link:not([class*="navbar"]) {
    background-color: #ffffff;
}

.sv-admin-ui .sv-admin-sidebar .brand-link.sv-admin-brand-link {
    background: #ffffff;
    border-bottom: 1px solid var(--sv-border);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0.875rem 1rem;
    overflow: hidden;
    line-height: 1;
    flex-shrink: 0;
}

/* AdminLTE layout-navbar-fixed uses a 3.5rem brand slot; match our taller logo panel. */
.sv-admin-ui.layout-navbar-fixed.layout-fixed .wrapper .sv-admin-sidebar.main-sidebar .brand-link.sv-admin-brand-link {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1035;
    width: var(--sv-sidebar-width);
    height: var(--sv-brand-panel-height);
    min-height: var(--sv-brand-panel-height);
    max-height: var(--sv-brand-panel-height);
}

.sv-admin-ui.layout-navbar-fixed.layout-fixed .wrapper .sv-admin-sidebar .sidebar.sv-admin-sidebar-scroll {
    margin-top: var(--sv-brand-panel-height) !important;
    height: calc(100vh - var(--sv-brand-panel-height));
    padding-top: var(--sv-sidebar-nav-gap);
    box-sizing: border-box;
}

.sv-admin-ui.layout-navbar-fixed .wrapper .sv-admin-sidebar.main-sidebar:hover .brand-link.sv-admin-brand-link,
.sv-admin-ui.layout-navbar-fixed .wrapper .sv-admin-sidebar.main-sidebar.sidebar-focused .brand-link.sv-admin-brand-link {
    width: var(--sv-sidebar-width);
}

.sv-admin-ui.sidebar-mini.sidebar-collapse.layout-navbar-fixed.layout-fixed .wrapper .sv-admin-sidebar.main-sidebar .brand-link.sv-admin-brand-link {
    width: var(--sv-sidebar-mini-width);
    --sv-brand-panel-height: 4rem;
}

.sv-admin-ui.sidebar-mini.sidebar-collapse.layout-navbar-fixed.layout-fixed .wrapper .sv-admin-sidebar .sidebar.sv-admin-sidebar-scroll {
    margin-top: 4rem !important;
    height: calc(100vh - 4rem);
}

.sv-admin-ui .sv-admin-sidebar .brand-link.sv-admin-brand-link:hover {
    background: #ffffff;
    color: inherit;
}

.sv-admin-ui .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image {
    float: none;
    margin: 0;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
}

.sv-admin-ui .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--full {
    max-height: 56px;
    max-width: min(220px, calc(100% - 0.5rem));
}

.sv-admin-ui .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--compact {
    display: none;
    max-height: 40px;
    max-width: 40px;
}

.sv-admin-ui.sidebar-mini.sidebar-collapse .sv-admin-sidebar .brand-link.sv-admin-brand-link {
    padding: 0.75rem 0.5rem;
}

.sv-admin-ui.sidebar-mini.sidebar-collapse .main-sidebar:not(:hover):not(.sidebar-focused) .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--full {
    display: none;
}

.sv-admin-ui.sidebar-mini.sidebar-collapse .main-sidebar:not(:hover):not(.sidebar-focused) .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--compact {
    display: block;
}

.sv-admin-ui.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--full,
.sv-admin-ui.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--full {
    display: block;
}

.sv-admin-ui.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--compact,
.sv-admin-ui.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--compact {
    display: none;
}

.sv-admin-ui.sidebar-open .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--full {
    display: block;
    max-height: 56px;
    max-width: min(220px, calc(100% - 0.5rem));
}

.sv-admin-ui.sidebar-open .sv-admin-sidebar .brand-link.sv-admin-brand-link .brand-image--compact {
    display: none;
}

.sv-admin-ui .sv-admin-nav-label.nav-header {
    color: var(--sv-sidebar-muted);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 1rem 1.15rem 0.4rem;
}

.sv-admin-ui .sv-admin-nav-section.nav-header {
    padding-top: 1.35rem;
    padding-bottom: 0.45rem;
    margin-top: 0.15rem;
}

.sv-admin-ui .sv-admin-nav-section.sv-admin-nav-section--account {
    margin-top: 0.35rem;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    padding-top: 1.15rem;
}

.sv-admin-ui .sv-admin-sidebar-scroll.sidebar {
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.sv-admin-ui .sv-admin-sidebar-nav-inner {
    padding-bottom: 1rem;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar.sv-admin-nav > .nav-item > .nav-link {
    color: var(--sv-sidebar-text);
    border-radius: 10px;
    margin: 0.14rem 0.65rem;
    font-weight: 500;
    font-size: 0.9375rem;
    padding: 0.62rem 0.9rem;
    line-height: 1.35;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar.sv-admin-nav > .nav-item > .nav-link p {
    margin: 0;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar.sv-admin-nav > .nav-item > .nav-link .nav-icon {
    color: var(--sv-sidebar-muted);
    width: 1.35rem;
    margin-right: 0.55rem;
    font-size: 1.05rem;
    text-align: center;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar.sv-admin-nav > .nav-item > .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar.sv-admin-nav > .nav-item > .nav-link:hover .nav-icon {
    color: #fff;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar.sv-admin-nav > .nav-item > .nav-link.active {
    background: var(--sv-blue);
    color: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.2);
    font-weight: 600;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar.sv-admin-nav > .nav-item > .nav-link.active .nav-icon {
    color: #fff;
}

.sv-admin-ui .sv-admin-sidebar .nav-treeview > .nav-item > .nav-link {
    color: var(--sv-sidebar-muted);
    border-radius: 8px;
    margin: 0.1rem 0.7rem 0.1rem 0.85rem;
    font-weight: 400;
}

.sv-admin-ui .sv-admin-sidebar .nav-treeview > .nav-item > .nav-link.active {
    color: #fff;
    background: rgba(37, 99, 235, 0.35);
    font-weight: 500;
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar button.nav-link {
    color: var(--sv-sidebar-muted);
}

.sv-admin-ui .sv-admin-sidebar .nav-sidebar button.nav-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}

.sv-admin-ui .sv-admin-sidebar .os-scrollbar,
.sv-admin-ui .sv-admin-sidebar .os-scrollbar-handle {
    background: transparent;
}

/* —— Top bar —— */

.sv-admin-ui .main-header.navbar {
    background: var(--sv-card);
    border-bottom: 1px solid var(--sv-border);
    box-shadow: none;
}

.sv-admin-ui .main-header .nav-link {
    color: var(--sv-text-muted);
}

.sv-admin-ui .sv-admin-topbar-user {
    font-weight: 500;
    color: var(--sv-text-strong);
    font-size: 0.9375rem;
}

.sv-admin-ui .sv-admin-topbar-link {
    color: var(--sv-text-muted);
    font-weight: 400;
    font-size: 0.875rem;
}

.sv-admin-ui .sv-admin-topbar-link:hover {
    color: var(--sv-blue);
}

.sv-admin-ui .sv-admin-logout-btn {
    font-weight: 500;
    border-radius: 10px;
    padding: 0.35rem 0.9rem;
}

/* —— Page header —— */

.sv-admin-ui .sv-admin-page {
    padding-top: 0.25rem;
}

.sv-admin-ui .sv-admin-page-header.content-header {
    background: transparent;
    border-bottom: none;
    padding: 1.35rem 0 0.35rem;
    margin-bottom: 0;
}

.sv-admin-ui .sv-admin-page-header__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.sv-admin-ui .sv-admin-page-header h1,
.sv-admin-ui .content-header h1 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--sv-text-strong);
    margin: 0 0 0.25rem;
    line-height: 1.3;
}

.sv-admin-ui .sv-admin-page-header__desc {
    margin: 0;
    color: var(--sv-text-muted);
    font-size: 0.9375rem;
    font-weight: 400;
    max-width: 42rem;
}

.sv-admin-ui .sv-admin-page-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

/* —— Cards —— */

.sv-admin-ui .card {
    background: var(--sv-card);
    color: var(--sv-text);
    border-radius: var(--sv-radius);
    border: 1px solid var(--sv-border);
    box-shadow: var(--sv-shadow);
}

.sv-admin-ui .card-header {
    background: var(--sv-card);
    border-bottom: 1px solid var(--sv-border);
    color: var(--sv-text-strong);
}

.sv-admin-ui .card-footer {
    background: var(--sv-card);
    border-top: 1px solid var(--sv-border);
}

.sv-admin-ui .card-title,
.sv-admin-ui .sv-action-panel__title,
.sv-admin-ui .sv-form-section__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--sv-text-strong);
}

.sv-admin-ui .table {
    color: var(--sv-text);
    background: var(--sv-card);
}

.sv-admin-ui .table thead th {
    background: #fff;
    color: var(--sv-text-muted);
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--sv-border);
    border-top: 0;
}

.sv-admin-ui .table td {
    border-top: 1px solid var(--sv-border);
    color: var(--sv-text);
}

.sv-admin-ui .table-striped tbody tr:nth-of-type(odd) {
    background-color: #fff;
}

.sv-admin-ui .table-hover tbody tr:hover {
    background-color: #f8fafc;
}

.sv-admin-ui .form-control,
.sv-admin-ui .custom-select {
    background: #fff;
    color: var(--sv-text-strong);
    border: 1px solid var(--sv-border);
    border-radius: 10px;
    min-height: 2.5rem;
    padding: 0.5rem 0.85rem;
}

.sv-admin-ui .form-control:focus,
.sv-admin-ui .custom-select:focus {
    border-color: var(--sv-blue);
    box-shadow: 0 0 0 0.18rem var(--sv-blue-soft);
    background: #fff;
    color: var(--sv-text-strong);
}

.sv-admin-ui .form-control-plaintext {
    color: var(--sv-text-muted);
}

.sv-admin-ui label,
.sv-admin-ui .col-form-label {
    font-weight: 500;
    color: var(--sv-navy-mid);
    margin-bottom: 0.35rem;
}

.sv-admin-ui .form-text,
.sv-admin-ui .text-muted {
    color: var(--sv-text-muted);
}

.sv-admin-ui .btn-primary {
    background-color: var(--sv-blue);
    border-color: var(--sv-blue);
    font-weight: 500;
    border-radius: 10px;
}

.sv-admin-ui .btn-primary:hover,
.sv-admin-ui .btn-primary:focus {
    background-color: var(--sv-blue-hover);
    border-color: var(--sv-blue-hover);
}

.sv-admin-ui .btn-outline-primary {
    color: var(--sv-blue);
    border-color: #bfdbfe;
    background: #fff;
    font-weight: 500;
    border-radius: 10px;
}

.sv-admin-ui .btn-outline-primary:hover {
    background: var(--sv-blue);
    border-color: var(--sv-blue);
    color: #fff;
}

.sv-admin-ui .btn-outline-secondary,
.sv-admin-ui .btn-outline-danger {
    border-radius: 10px;
    font-weight: 500;
}

.sv-admin-ui .alert {
    border-radius: var(--sv-radius);
}

.sv-admin-ui .small-box {
    border-radius: var(--sv-radius);
    box-shadow: var(--sv-shadow);
}

.sv-admin-ui .dropdown-menu {
    background: #fff;
    color: var(--sv-text);
    border: 1px solid var(--sv-border);
    border-radius: 12px;
}

.sv-admin-ui .dropdown-item {
    color: var(--sv-text);
}

/* —— Welcome + stats —— */

.sv-admin-ui .sv-welcome-card {
    background: var(--sv-card);
    border: 1px solid var(--sv-border);
    border-radius: var(--sv-radius);
    box-shadow: var(--sv-shadow);
    padding: 1.5rem 1.65rem;
    margin-bottom: 1.25rem;
}

.sv-admin-ui .sv-welcome-card__kicker {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sv-blue);
}

.sv-admin-ui .sv-welcome-card__title {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--sv-text-strong);
}

.sv-admin-ui .sv-welcome-card__text {
    margin: 0;
    color: var(--sv-text-muted);
    font-size: 0.95rem;
    max-width: 40rem;
}

.sv-admin-ui .sv-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.sv-admin-ui .sv-stat-card {
    background: var(--sv-card);
    border: 1px solid var(--sv-border);
    border-radius: var(--sv-radius);
    overflow: hidden;
    box-shadow: var(--sv-shadow);
}

.sv-admin-ui .sv-stat-card__body {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
}

.sv-admin-ui .sv-stat-card__label {
    margin: 0 0 0.35rem;
    font-size: 0.78rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--sv-text-muted);
}

.sv-admin-ui .sv-stat-card__value {
    margin: 0;
    font-size: 1.85rem;
    font-weight: 600;
    line-height: 1.1;
    color: var(--sv-text-strong);
}

.sv-admin-ui .sv-stat-card__meta {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    color: var(--sv-text-muted);
}

.sv-admin-ui .sv-stat-card__icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sv-blue-soft);
    color: var(--sv-blue);
    font-size: 1.05rem;
    flex-shrink: 0;
}

.sv-admin-ui .sv-stat-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.7rem 1.35rem;
    background: #fff;
    border-top: 1px solid var(--sv-border);
    color: var(--sv-blue);
    font-weight: 500;
    font-size: 0.875rem;
    text-decoration: none;
}

.sv-admin-ui a.sv-stat-card__foot:hover {
    background: #f8fafc;
    color: var(--sv-blue-hover);
}

.sv-admin-ui .sv-stat-card__foot--muted {
    color: var(--sv-text-muted);
    font-weight: 400;
    font-size: 0.8125rem;
}

.sv-admin-ui .sv-action-panel {
    margin-bottom: 1.5rem;
}

.sv-admin-ui .sv-action-panel__body {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.sv-admin-ui .sv-action-btn {
    font-weight: 500;
    border-radius: 10px;
}

/* —— Filter toolbar (job applications, etc.) —— */

.sv-admin-ui .sv-admin-filter-card {
    border: 1px solid var(--sv-border);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sv-admin-ui .sv-admin-filter-card__body {
    padding: 1.25rem 1.5rem;
}

.sv-admin-ui .sv-admin-filter-form .sv-admin-filter-form__field {
    margin-bottom: 0;
}

.sv-admin-ui .sv-admin-filter-form .sv-admin-filter-form__field label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--sv-muted);
    margin-bottom: 0.35rem;
}

.sv-admin-ui .sv-admin-filter-form .sv-admin-filter-form__action-label {
    visibility: hidden;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: block;
}

@media (min-width: 992px) {
    .sv-admin-ui .sv-admin-filter-form .sv-admin-filter-form__action-label {
        visibility: visible;
        height: auto;
        margin-bottom: 0.35rem;
        overflow: visible;
        color: transparent;
        user-select: none;
    }
}

.sv-admin-ui .sv-admin-filter-submit {
    width: auto;
    min-width: 5.75rem;
    padding: 0.375rem 1.25rem;
    font-weight: 600;
    border-radius: 10px;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .sv-admin-ui .sv-admin-filter-form .row > [class*="col-"] {
        margin-bottom: 1rem;
    }

    .sv-admin-ui .sv-admin-filter-form .row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }

    .sv-admin-ui .sv-admin-filter-form .sv-admin-filter-form__actions {
        margin-top: 0.25rem;
    }
}

/* —— Tables / DataTables toolbar —— */

.sv-admin-ui .sv-admin-table-card .card-body {
    padding: 0;
}

.sv-admin-ui .sv-admin-table-wrap {
    padding: 0;
}

.sv-admin-ui .sv-admin-table {
    margin-bottom: 0;
}

.sv-admin-ui .sv-admin-table tbody td {
    vertical-align: middle;
    color: var(--sv-text);
    font-size: 0.9375rem;
}

.sv-admin-ui .sv-admin-thumb {
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--sv-border);
    background: #f1f5f9;
    display: block;
}

.sv-admin-ui .sv-admin-table__actions {
    white-space: nowrap;
}

.sv-admin-ui .sv-admin-table__actions .btn + form,
.sv-admin-ui .sv-admin-table__actions form + .btn,
.sv-admin-ui .sv-admin-table__actions .btn + .btn {
    margin-left: 0.35rem;
}

.sv-admin-ui .dataTables_wrapper {
    background: var(--sv-card);
    color: var(--sv-text);
}

.sv-admin-ui .dataTables_wrapper .dataTables_filter,
.sv-admin-ui .dataTables_wrapper .dataTables_info,
.sv-admin-ui .dataTables_wrapper .dataTables_paginate {
    padding: 0.85rem 1.15rem;
    color: var(--sv-text-muted);
}

.sv-admin-ui .dataTables_wrapper .dataTables_filter {
    border-bottom: 1px solid var(--sv-border);
    float: none;
    text-align: left;
    margin: 0;
}

.sv-admin-ui .dataTables_wrapper .dataTables_filter label {
    font-weight: 500;
    color: var(--sv-navy-mid);
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.sv-admin-ui .dataTables_wrapper .dataTables_filter input {
    margin-left: 0;
    flex: 1;
    max-width: 28rem;
    border-radius: 10px;
    border: 1px solid var(--sv-border);
    padding: 0.45rem 0.75rem;
    background: #fff;
    color: var(--sv-text-strong);
}

.sv-admin-ui .dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 8px;
    color: var(--sv-text) !important;
}

.sv-admin-ui .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--sv-blue) !important;
    border-color: var(--sv-blue) !important;
    color: #fff !important;
}

.sv-admin-ui .sv-badge {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.sv-admin-ui .sv-badge--published {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.sv-admin-ui .sv-badge--draft {
    background: #f1f5f9;
    color: var(--sv-text-muted);
}

.sv-admin-ui .sv-badge--scheduled {
    background: rgba(245, 158, 11, 0.16);
    color: #92400e;
}

.sv-admin-ui .sv-empty-state {
    text-align: center;
    padding: 2.5rem 1.5rem;
}

.sv-admin-ui .sv-empty-state__icon {
    font-size: 2rem;
    color: var(--sv-text-muted);
    margin-bottom: 0.75rem;
}

.sv-admin-ui .sv-empty-state__title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--sv-text-strong);
    margin-bottom: 0.35rem;
}

.sv-admin-ui .sv-empty-state__message {
    color: var(--sv-text-muted);
    max-width: 28rem;
    margin: 0 auto 1rem;
}

/* —— Forms —— */

.sv-admin-ui .sv-admin-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 1.5rem;
}

.sv-admin-ui .sv-form-card .card-body {
    padding: 1.35rem 1.5rem 1.15rem;
}

.sv-admin-ui .sv-form-section__head {
    margin-bottom: 1rem;
}

.sv-admin-ui .sv-form-section__title {
    margin: 0 0 0.25rem;
}

.sv-admin-ui .sv-form-section__desc {
    margin: 0;
    color: var(--sv-text-muted);
    font-size: 0.875rem;
    font-weight: 400;
}

.sv-admin-ui .sv-form-actions-card .card-body {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    padding: 1rem 1.35rem;
}

.sv-admin-ui .sv-image-preview img {
    max-width: 220px;
    max-height: 140px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 10px;
    border: 1px solid var(--sv-border);
    background: #fff;
}

.sv-admin-ui .sv-video-preview video {
    max-width: 100%;
    max-height: 180px;
    border-radius: 10px;
    border: 1px solid var(--sv-border);
    background: #000;
}

.sv-admin-ui .sv-embed-preview {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    max-width: 360px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--sv-border);
}

.sv-admin-ui .sv-embed-preview iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.sv-admin-ui .sv-page-editor-tabs {
    padding: 0 1.25rem;
    margin-top: 0.75rem;
    border-bottom: 1px solid var(--sv-border);
    flex-wrap: wrap;
}

.sv-admin-ui .sv-page-editor-tabs .nav-link {
    color: var(--sv-text-muted);
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    padding: 0.65rem 1rem;
    font-weight: 600;
}

.sv-admin-ui .sv-page-editor-tabs .nav-link.active {
    color: var(--sv-primary, #007bff);
    border-bottom-color: var(--sv-primary, #007bff);
    background: transparent;
}

.sv-admin-ui .sv-page-content-editor-card .sv-page-editor-tab-panels {
    min-height: 12rem;
    overflow: visible;
}

.sv-admin-ui select.sv-native-select {
    appearance: auto;
    -webkit-appearance: menulist;
    background-image: none;
    position: relative;
    z-index: 2;
    color: var(--sv-text-strong);
    line-height: 1.4;
}

.sv-admin-ui select.sv-native-select option {
    color: #0f172a;
    background: #fff;
}

.sv-admin-ui .sv-page-content-editor {
    padding-bottom: 0.5rem;
}

.sv-admin-ui .sv-page-editor-actions {
    position: sticky;
    bottom: 0;
    z-index: 30;
    border-top: 1px solid var(--sv-border);
    border-radius: 0 0 var(--sv-radius) var(--sv-radius);
    box-shadow: 0 -6px 16px rgba(15, 23, 42, 0.06);
    background: #fff;
}

.sv-admin-ui .sv-page-card__toolbar .btn {
    min-width: 2rem;
}

.sv-admin-ui .sv-page-accordion-toggle {
    font-weight: 600;
    color: var(--sv-text-strong);
    text-decoration: none;
    padding: 0.75rem 1rem;
}

.sv-admin-ui .sv-page-accordion-toggle:hover {
    text-decoration: none;
    color: var(--sv-primary, #007bff);
}

.sv-admin-ui .sv-page-upload-limits {
    background: #e8f4fc;
    border: 1px solid #b8d9f0;
    border-radius: var(--sv-radius);
    color: #1a2b3c;
    padding: 1rem 1.25rem 1.05rem;
    margin-bottom: 1rem;
}

.sv-admin-ui .sv-page-upload-limits__title {
    font-weight: 600;
    font-size: 0.9375rem;
    color: #0f2438;
    margin: 0 0 0.65rem;
}

.sv-admin-ui .sv-page-upload-limits__list {
    margin: 0;
    padding-left: 1.25rem;
    color: #1a2b3c;
    line-height: 1.55;
}

.sv-admin-ui .sv-page-upload-limits__list li + li {
    margin-top: 0.5rem;
}

.sv-admin-ui .sv-page-upload-limits__list strong {
    color: #0f2438;
    font-weight: 600;
}

.sv-admin-ui .sv-page-upload-limits__list code {
    color: #0f2438;
    background: rgba(255, 255, 255, 0.65);
    padding: 0.1em 0.35em;
    border-radius: 4px;
    font-size: 0.875em;
}

.sv-admin-ui .sv-page-upload-limits__emphasis {
    display: block;
    margin-top: 0.45rem;
    padding: 0.5rem 0.65rem;
    background: rgba(255, 255, 255, 0.55);
    border-left: 3px solid #2b7cb8;
    color: #0f2438;
}

.sv-admin-ui .sv-admin-alert {
    border-radius: var(--sv-radius);
}

.sv-admin-ui .cke {
    border-radius: 10px;
    overflow: hidden;
}

.sv-admin-ui .cke_chrome {
    border: 1px solid var(--sv-border) !important;
    box-shadow: none !important;
}

.sv-admin-ui textarea.form-control[id^="editor"] {
    min-height: 12rem;
}

/* —— Login —— */

body.login-page.sv-admin-ui {
    background: var(--sv-navy);
}

body.login-page.sv-admin-ui .login-box {
    width: 400px;
    max-width: 92vw;
}

body.login-page.sv-admin-ui .card {
    border: 1px solid var(--sv-border);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
    background: #fff;
}

body.login-page.sv-admin-ui .card-header {
    border-bottom: 1px solid var(--sv-border);
    padding-top: 1.5rem;
    background: #fff;
}

body.login-page.sv-admin-ui .sv-login-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

body.login-page.sv-admin-ui .sv-login-brand img {
    height: 64px;
    width: auto;
    max-width: 220px;
    object-fit: contain;
}

body.login-page.sv-admin-ui .sv-login-brand .title {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--sv-text-strong);
    margin: 0;
}

body.login-page.sv-admin-ui .sv-login-brand .subtitle {
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--sv-text-muted);
    margin: 0;
}

body.login-page.sv-admin-ui .btn-primary {
    background-color: var(--sv-blue);
    border-color: var(--sv-blue);
    font-weight: 500;
}

body.login-page.sv-admin-ui .login-box-msg {
    color: var(--sv-text-muted);
    font-weight: 400;
}

body.login-page.sv-admin-ui .form-control {
    min-height: 2.6rem;
}

@media (max-width: 767.98px) {
    .sv-admin-ui .sv-admin-table thead {
        display: none;
    }

    .sv-admin-ui .sv-admin-table tbody tr {
        display: block;
        border-bottom: 1px solid var(--sv-border);
        padding: 0.75rem 0;
    }

    .sv-admin-ui .sv-admin-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        border: none;
        padding: 0.35rem 1rem;
    }

    .sv-admin-ui .sv-admin-table tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--sv-text-muted);
        flex-shrink: 0;
    }

    .sv-admin-ui .sv-admin-table__actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sv-admin-ui *,
    .sv-admin-ui *::before,
    .sv-admin-ui *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

.sv-admin-ui a:focus-visible,
.sv-admin-ui button:focus-visible,
.sv-admin-ui .btn:focus-visible,
.sv-admin-ui .form-control:focus-visible {
    outline: 2px solid var(--sv-blue);
    outline-offset: 2px;
}

/* Website Settings — tabbed form */
.sv-admin-ui .sv-admin-settings-tabs {
    border-bottom: 1px solid var(--sv-border, #dee2e6);
    flex-wrap: wrap;
    margin-bottom: 0;
}

.sv-admin-ui .sv-admin-settings-tabs .nav-link {
    font-weight: 600;
    color: var(--sv-text-muted, #6c757d);
    border: 1px solid transparent;
    border-radius: 0.35rem 0.35rem 0 0;
    padding: 0.55rem 1.1rem;
    margin-bottom: -1px;
}

.sv-admin-ui .sv-admin-settings-tabs .nav-link:hover {
    color: var(--sv-blue, #0d65d9);
    border-color: transparent;
}

.sv-admin-ui .sv-admin-settings-tabs .nav-link.active {
    color: var(--sv-blue, #0d65d9);
    background: #fff;
    border-color: var(--sv-border, #dee2e6) var(--sv-border, #dee2e6) #fff;
}

.sv-admin-ui .sv-admin-settings-tab-panels {
    min-height: 12rem;
}

/* CKEditor — white writing surface aligned with public .sv-rich-text */
.sv-admin-ui .cke_chrome {
    border: 1px solid var(--sv-border) !important;
    border-radius: var(--sv-radius) !important;
    box-shadow: var(--sv-shadow) !important;
    overflow: hidden;
}

.sv-admin-ui .cke_top {
    background: #f8fafc !important;
    border-bottom: 1px solid var(--sv-border) !important;
}

.sv-admin-ui .cke_bottom {
    background: #f8fafc !important;
    border-top: 1px solid var(--sv-border) !important;
}

.sv-admin-ui .cke_editable {
    background: #fff !important;
    padding: 1rem 1.25rem !important;
    min-height: 280px;
}

@media (max-width: 575.98px) {
    .sv-admin-ui .cke_editable {
        padding: 0.75rem 1rem !important;
        min-height: 220px;
    }
}

.sv-admin-ui .sv-benefit-icon-picker__options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.sv-admin-ui .sv-benefit-icon-picker__option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--sv-border);
    border-radius: 8px;
    background: #fff;
    color: var(--sv-text-strong);
    cursor: pointer;
}

.sv-admin-ui .sv-benefit-icon-picker__option:hover {
    border-color: var(--sv-primary, #007bff);
}

.sv-admin-ui .sv-benefit-icon-picker__option.is-selected {
    border-color: var(--sv-primary, #007bff);
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
}

.sv-admin-ui .sv-benefit-icon-picker__option:focus-visible {
    outline: 2px solid var(--sv-primary, #007bff);
    outline-offset: 2px;
}

.sv-admin-ui .sv-benefit-icon-picker__option[disabled] {
    cursor: default;
    opacity: 0.85;
}

.sv-admin-ui .sv-benefit-icon-picker__none {
    font-size: 1.1rem;
    line-height: 1;
    color: var(--sv-text-muted, #64748b);
}
