.auth-select-wrap {
    position: relative;
}

.header .header-left {
    justify-content: center;
}

.header .header-left .logo,
.header .header-left .logo-small {
    align-items: center;
    height: 60px;
    justify-content: center;
    padding: 0;
}

.header .header-left .logo {
    display: inline-flex;
    width: calc(100% - 54px);
}

.header .header-left .logo-small {
    width: 74px;
}

.mini-sidebar .header .header-left .logo {
    display: none !important;
}

.mini-sidebar .header .header-left .logo-small {
    align-items: center;
    display: inline-flex !important;
    justify-content: center;
}

.dev-brand-logo {
    align-items: center;
    background: #ffffff;
    border: 2px solid rgba(255, 159, 67, .42);
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .16);
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 50px;
    height: 50px;
    justify-content: center;
    overflow: hidden;
    width: 50px;
}

.dev-brand-logo img {
    display: block;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: cover;
    width: 100% !important;
}

.dev-brand-logo-rect {
    align-items: center;
    display: inline-flex;
    height: 52px;
    justify-content: center;
    max-width: 176px;
    min-width: 120px;
    overflow: hidden;
    padding: 4px 0;
}

.dev-brand-logo-rect img {
    display: block;
    height: 100% !important;
    max-height: 100% !important;
    max-width: 100% !important;
    object-fit: contain;
    width: auto !important;
}

.dev-brand-logo-small {
    flex-basis: 42px;
    height: 42px;
    width: 42px;
}

.dev-brand-logo-letter {
    background: linear-gradient(135deg, #ff9f43, #ff6b6b);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0;
}

.dev-brand-logo-small.dev-brand-logo-letter {
    font-size: 16px;
}

.dev-logo-letter {
    align-items: center;
    background: linear-gradient(135deg, #ff9f43, #ff6b6b);
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    font-size: 24px;
    font-weight: 800;
    height: 44px;
    justify-content: center;
    letter-spacing: 0;
    min-width: 74px;
    padding: 0 12px;
}

.dev-logo-letter-small {
    font-size: 18px;
    height: 38px;
    min-width: 38px;
    padding: 0 8px;
}

.dev-login-logo {
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.dev-login-logo .dev-brand-logo {
    flex-basis: 64px;
    height: 64px;
    width: 64px;
}

.settings-subtitle {
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    color: #1f2937;
    font-size: 14px;
    font-weight: 800;
    margin: 18px 0 14px;
    padding-bottom: 8px;
    text-transform: uppercase;
}

.form-control-color {
    min-height: 40px;
    padding: 4px;
}

:root {
    --dev-navy: #172554;
    --dev-blue: #2563eb;
    --dev-teal: #0f766e;
    --dev-green: #16a34a;
    --dev-amber: #f59e0b;
    --dev-red: #dc2626;
    --dev-bg: #f4f7fb;
    --dev-surface: #ffffff;
    --dev-border: rgba(15, 23, 42, .09);
    --dev-muted: #64748b;
}

body {
    background: var(--dev-bg);
    color: #1f2937;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.main-wrapper,
.page-wrapper,
.content {
    background: var(--dev-bg);
}

.header {
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid var(--dev-border);
    box-shadow: 0 14px 28px rgba(15, 23, 42, .04);
}

.sidebar {
    background: #ffffff;
    border-right: 1px solid var(--dev-border);
    box-shadow: 8px 0 24px rgba(15, 23, 42, .04);
}

body:not(.mini-sidebar) .sidebar .slimScrollDiv,
body:not(.mini-sidebar) .sidebar .sidebar-inner {
    height: calc(100vh - 60px) !important;
    max-height: calc(100vh - 60px);
}

body:not(.mini-sidebar) .sidebar .sidebar-inner {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-color: #ff9f43 transparent;
    scrollbar-width: thin;
}

body:not(.mini-sidebar) .sidebar .sidebar-inner::-webkit-scrollbar {
    width: 7px;
}

body:not(.mini-sidebar) .sidebar .sidebar-inner::-webkit-scrollbar-thumb {
    background: #ff9f43;
    border-radius: 999px;
}

body:not(.mini-sidebar) .sidebar .sidebar-inner::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar .sidebar-menu > ul > li > a {
    border-radius: 7px;
    margin: 3px 12px;
}

.dev-sidebar-fa {
    color: #637381;
    font-size: 17px;
    margin-right: 10px;
    text-align: center;
    width: 20px;
}

.sidebar .sidebar-menu > ul > li.active > a,
.sidebar .sidebar-menu > ul > li > a:hover {
    background: linear-gradient(135deg, var(--dev-navy), var(--dev-blue));
    color: #fff;
}

.sidebar .sidebar-menu > ul > li.active > a .dev-sidebar-fa,
.sidebar .sidebar-menu > ul > li > a:hover .dev-sidebar-fa {
    color: #fff;
}

body.mini-sidebar:not(.expand-menu) .header .header-left {
    justify-content: center;
    min-width: 88px;
    padding: 0;
    width: 88px;
}

body.mini-sidebar:not(.expand-menu) .header .header-left .logo-small {
    display: inline-flex !important;
    height: 60px;
    width: 88px;
}

body.mini-sidebar:not(.expand-menu) .header .header-left .logo-small .dev-brand-logo,
body.mini-sidebar:not(.expand-menu) .header .header-left .logo-small .dev-brand-logo-small {
    flex-basis: 40px;
    height: 40px;
    width: 40px;
}

body.mini-sidebar:not(.expand-menu) .sidebar {
    overflow: hidden;
    width: 88px;
}

body.mini-sidebar:not(.expand-menu) .sidebar .slimScrollDiv,
body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-inner {
    width: 88px !important;
}

body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu {
    padding: 16px 0;
}

body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu > ul > li {
    margin: 0 0 8px;
}

body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu > ul > li > a {
    border-radius: 10px;
    height: 50px;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 50px;
}

body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu > ul > li > a img {
    height: 19px;
    margin: 0;
    width: 19px;
}

body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu > ul > li > a .dev-sidebar-fa {
    font-size: 17px;
    margin: 0;
    width: 20px;
}

body.mini-sidebar:not(.expand-menu) .sidebar .sidebar-menu > ul > li > a span:not(.dev-menu-arrow),
body.mini-sidebar:not(.expand-menu) .sidebar .dev-menu-arrow,
body.mini-sidebar:not(.expand-menu) .sidebar .dev-submenu-list {
    display: none !important;
}

body.mini-sidebar:not(.expand-menu) .page-wrapper {
    margin-left: 88px;
}

.page-header {
    align-items: flex-start;
    background: transparent;
    border: 0;
    box-shadow: none;
    margin-bottom: 22px;
    padding: 0;
}

.modern-page-header {
    align-items: flex-start;
    background: transparent;
    margin-bottom: 22px;
}

.modern-page-header h4,
.page-title h4 {
    color: #111827;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0;
}

.modern-page-header h6,
.page-title h6 {
    color: #64748b;
    font-size: 14px;
    margin-top: 5px;
}

.card,
.modern-card {
    background: var(--dev-surface);
    border: 1px solid var(--dev-border);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
}

.card .card-body {
    padding: 24px;
}

.card-title {
    color: #111827;
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 18px;
}

.modern-stat {
    background: #fff;
    border-left: 4px solid #ff9f43;
    min-height: 116px;
}

.modern-stat.accent-blue {
    border-left-color: #3b82f6;
}

.modern-stat.accent-red {
    border-left-color: #ef4444;
}

.modern-stat.accent-green {
    border-left-color: #22c55e;
}

.modern-stat .dash-widgetcontent h5 {
    color: #111827;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.35;
}

.modern-stat .dash-widgetcontent h6 {
    color: #64748b;
    font-weight: 700;
}

.dashboard-card-row {
    row-gap: 18px;
}

.dashboard-card-row .dash-widget {
    align-items: flex-end;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 20px 42px rgba(15, 23, 42, .12);
    min-height: 150px;
    overflow: hidden;
    padding: 22px;
    position: relative;
}

.dashboard-card-row .col-lg-3:nth-child(1) .dash-widget {
    background: linear-gradient(135deg, #1f2a54, #2563eb);
}

.dashboard-card-row .col-lg-3:nth-child(2) .dash-widget {
    background: linear-gradient(135deg, #0f766e, #22c55e);
}

.dashboard-card-row .col-lg-3:nth-child(3) .dash-widget {
    background: linear-gradient(135deg, #7c2d12, #f97316);
}

.dashboard-card-row .col-lg-3:nth-child(4) .dash-widget {
    background: linear-gradient(135deg, #7f1d1d, #ef4444);
}

.dashboard-card-row .dash-widget:before {
    background: rgba(255, 255, 255, .14);
    border-radius: 999px;
    content: "";
    height: 132px;
    position: absolute;
    right: -46px;
    top: -46px;
    width: 132px;
}

.dashboard-card-row .dash-widgetimg {
    margin: 0;
    position: absolute;
    right: 18px;
    top: 18px;
}

.dashboard-card-row .dash-widgetimg span {
    background: rgba(255, 255, 255, .16);
    border-radius: 8px;
}

.dashboard-card-row .dash-widgetimg img {
    filter: brightness(0) invert(1);
    opacity: .82;
}

.dashboard-card-row .dash-widgetcontent {
    max-width: calc(100% - 68px);
    position: relative;
    z-index: 1;
}

.dashboard-card-row .dash-widgetcontent h5 {
    color: #fff;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.24;
    margin-bottom: 8px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dashboard-card-row .dash-widgetcontent h6 {
    color: rgba(255, 255, 255, .86);
    font-size: 13px;
    font-weight: 800;
}

.dashboard-ministry-row {
    margin-bottom: 18px;
    row-gap: 18px;
}

.dashboard-ministry-card {
    min-height: 142px;
}

.dashboard-profile-card {
    border: 0;
    border-radius: 12px;
    box-shadow: 0 24px 54px rgba(15, 23, 42, .12);
    min-height: 222px;
    overflow: hidden;
    position: relative;
}

.dashboard-profile-card:before {
    background: rgba(255, 255, 255, .12);
    border-radius: 999px;
    content: "";
    height: 160px;
    position: absolute;
    right: -52px;
    top: -52px;
    width: 160px;
}

.dashboard-profile-card .card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 26px;
    position: relative;
    z-index: 1;
}

.dashboard-profile-card .card-title,
.dashboard-profile-card .profile-mini p,
.dashboard-profile-card .profile-mini strong {
    color: #ffffff;
}

.dashboard-profile-card .card-title {
    font-size: 18px;
    margin-bottom: 14px;
}

.dashboard-profile-card .profile-mini p {
    color: rgba(255, 255, 255, .88);
    font-size: 13px;
    margin-bottom: 10px;
}

.dashboard-profile-icon {
    align-items: center;
    background: rgba(255, 255, 255, .18);
    border-radius: 12px;
    color: #ffffff;
    display: inline-flex;
    font-size: 20px;
    height: 42px;
    justify-content: center;
    margin-bottom: 18px;
    width: 42px;
}

.dashboard-profile-card.money-card {
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
}

.dashboard-profile-card.activity-card {
    background: linear-gradient(135deg, #0f766e, #22c55e);
}

.dashboard-profile-card.account-card {
    background: linear-gradient(135deg, #7c2d12, #f97316);
}

.dashboard-profile-card.account-card .btn {
    margin-top: auto;
}

.form-control,
.auth-select {
    border-radius: 7px;
}

.select2-container {
    max-width: 100%;
    width: 100% !important;
}

.select2-container--default .select2-selection--single {
    align-items: center;
    border: 1px solid rgba(100, 116, 139, .28);
    border-radius: 7px;
    display: flex;
    min-height: 42px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #212b36;
    line-height: 42px;
    overflow: hidden;
    padding-left: 12px;
    padding-right: 34px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

.select2-dropdown {
    border-color: rgba(100, 116, 139, .28);
    border-radius: 7px;
    overflow: hidden;
    z-index: 2050;
}

.select2-search--dropdown {
    padding: 10px;
}

.select2-search--dropdown .select2-search__field {
    border: 1px solid rgba(100, 116, 139, .28);
    border-radius: 7px;
    font-size: 16px;
    min-height: 42px;
    padding: 8px 10px;
}

.select2-results__option {
    padding: 9px 12px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--dev-blue);
}

.auth-select-wrap .select2-container {
    box-sizing: border-box;
    padding-right: 0;
    width: 100% !important;
}

.auth-select-wrap .select2-container--default .select2-selection--single {
    background: #f8fafc;
    border-color: rgba(100, 116, 139, .22);
    border-radius: 12px;
    min-height: 46px;
}

.auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px;
    padding-left: 15px;
    padding-right: 86px;
}

.auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none;
}

.btn-submit,
.btn-added,
.btn-primary {
    border-radius: 7px;
    font-weight: 700;
}

.btn-submit,
.btn-added,
.btn-login {
    background: linear-gradient(135deg, var(--dev-teal), var(--dev-blue)) !important;
    border: 0 !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, .18);
    color: #ffffff !important;
}

.btn-submit:hover,
.btn-added:hover,
.btn-login:hover {
    filter: brightness(.96);
    transform: translateY(-1px);
}

.btn-primary {
    background: var(--dev-navy) !important;
    border-color: var(--dev-navy) !important;
}

.btn-primary,
.btn-primary:visited,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-danger,
.btn-danger:visited,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-success,
.btn-success:visited,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-secondary,
.btn-secondary:visited,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-submit,
.btn-submit:visited,
.btn-submit:hover,
.btn-submit:focus,
.btn-submit:active,
.btn-added,
.btn-added:visited,
.btn-added:hover,
.btn-added:focus,
.btn-added:active {
    color: #ffffff !important;
}

.btn-danger {
    background: var(--dev-red) !important;
    border-color: var(--dev-red) !important;
}

.table td .btn,
.table td form .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    white-space: nowrap;
}

.btn i {
    color: inherit !important;
    line-height: 1;
    pointer-events: none;
}

.table {
    color: #334155;
}

.table thead th {
    background: #eef4ff;
    color: #475569;
    font-size: 12px;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.table tbody tr {
    border-color: rgba(148, 163, 184, .2);
}

.table tbody tr:hover {
    background: rgba(37, 99, 235, .04);
}

.account-page {
    background: linear-gradient(135deg, #eef6ff 0%, #f8fbff 48%, #ecfdf5 100%);
    min-height: 100dvh;
    overflow: hidden;
}

.account-page .main-wrapper,
.account-page .account-content {
    background: transparent;
    height: 100dvh;
    min-height: 100dvh;
}

.account-page .account-content {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 18px;
}

.account-page .login-wrapper {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    box-shadow: 0 26px 64px rgba(15, 23, 42, .12);
    align-items: stretch;
    display: grid !important;
    flex-wrap: nowrap !important;
    grid-template-columns: minmax(430px, 470px) minmax(0, 1fr);
    height: min(690px, calc(100dvh - 36px));
    margin: 0 auto;
    max-width: 1180px;
    min-height: 0;
    overflow: hidden;
    width: min(1180px, calc(100vw - 36px));
}

.account-page .login-content {
    background: #ffffff;
    display: flex;
    flex-direction: column;
    flex: none !important;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
    padding: 30px 48px;
    width: 100% !important;
}

.account-page .login-userset {
    max-width: 420px;
    width: 100%;
}

.account-page .login-logo {
    justify-content: center;
    margin-bottom: 22px;
}

.account-page .dev-brand-logo-rect {
    height: 68px;
    margin-left: auto;
    margin-right: auto;
    max-width: 240px;
    min-width: 170px;
}

.account-page .dev-login-logo .dev-brand-logo {
    border: 3px solid #ffffff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .18);
    flex-basis: 56px;
    height: 56px;
    width: 56px;
}

.account-page .login-userheading h3 {
    color: var(--dev-navy);
    font-size: 27px;
    font-weight: 900;
    margin-bottom: 8px;
}

.account-page .login-userheading h4 {
    color: var(--dev-muted);
    font-size: 14px;
    line-height: 1.45;
    margin-bottom: 26px;
}

.account-page .form-login {
    margin-bottom: 16px;
}

.account-page .form-login label {
    color: #0f172a;
    font-weight: 800;
    margin-bottom: 8px;
}

.account-page .auth-select,
.account-page .pass-input,
.account-page .form-control {
    background: #f8fafc;
    border: 1px solid rgba(100, 116, 139, .22);
    border-radius: 12px;
    min-height: 46px;
}

.account-page .auth-select:focus,
.account-page .pass-input:focus {
    background: #ffffff;
    border-color: rgba(37, 99, 235, .55);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .1);
}

.account-page .login-img {
    align-items: center;
    background: linear-gradient(145deg, #eff6ff, #ffffff 44%, #ecfdf5);
    display: flex;
    flex: none !important;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100% !important;
}

.account-page .login-img:before {
    background: linear-gradient(135deg, rgba(15, 118, 110, .12), rgba(37, 99, 235, .16));
    content: "";
    inset: 0;
    position: absolute;
    z-index: 1;
}

.account-page .login-img img {
    height: 100%;
    object-fit: cover;
    object-position: center center;
    position: relative;
    width: 100%;
    z-index: 0;
}

.account-page .signinform h4 {
    color: var(--dev-muted);
    font-size: 13px;
}

.auth-select {
    width: 100%;
    height: 40px;
    border: 1px solid rgba(145, 158, 171, .32);
    border-radius: 5px;
    background: #fff;
    color: #212b36;
    font-size: 14px;
    padding: 0 82px 0 15px;
    appearance: none;
    -webkit-appearance: none;
}

.auth-select:disabled {
    background: #f8f8f8;
    color: #919eab;
}

.account-page .auth-select {
    height: 46px;
}

.account-page .btn-login {
    border-radius: 12px;
    min-height: 48px;
}
.account-page .btn-login,
.account-page .btn-login:hover,
.account-page .btn-login:focus,
.account-page .btn-login:active,
.account-page .btn-login:focus-visible {
    color: #ffffff !important;
}

.account-page .btn-login:hover,
.account-page .btn-login:focus,
.account-page .btn-login:active {
    background: linear-gradient(135deg, var(--dev-teal), var(--dev-blue)) !important;
    border-color: transparent !important;
    text-decoration: none;
}

.dev-auth-footer {
    color: var(--dev-navy);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    margin-top: 18px;
    text-align: center;
}

.auth-select-wrap:after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 18px;
    color: #637381;
    font-size: 11px;
    pointer-events: none;
    transform: translateY(-50%);
}

.auth-select-wrap img {
    background: rgba(37, 99, 235, .06);
    border-radius: 999px;
    height: 28px;
    padding: 6px;
    pointer-events: none;
    position: absolute;
    right: 46px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    z-index: 3;
}

.auth-select-wrap .auth-select {
    padding-right: 86px;
}

.logged-user-name {
    color: #212b36;
    font-weight: 600;
    margin-left: 8px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header .main-drop .userset {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    min-height: 60px;
    min-width: 0;
    padding: 0 10px;
}

.header .user-menu {
    align-items: center;
    column-gap: 10px;
}

.header .user-menu > li > a,
.header .user-menu > li > button {
    margin-left: 0;
    margin-right: 0;
}

.header .main-drop .user-img {
    flex: 0 0 auto;
}

.header .main-drop .user-img img {
    border-radius: 50%;
    height: 42px;
    width: 42px;
}

.header .main-drop .dropdown-toggle:after {
    flex: 0 0 auto;
    margin-left: 2px;
}

.mobile-user-menu .dev-mobile-menu-trigger {
    align-items: center;
    background: #fff7ed;
    border: 1px solid rgba(255, 159, 67, .24);
    border-radius: 12px;
    color: var(--dev-navy);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.mobile-user-menu .dev-mobile-menu-trigger i {
    font-size: 14px;
    line-height: 1;
}

.mobile-user-menu .dev-mobile-dropdown {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
    margin-top: 10px;
    min-width: 220px;
    padding: 8px;
}

.mobile-user-menu .dev-mobile-dropdown .dropdown-item {
    align-items: center;
    border-radius: 10px;
    color: #1f2937;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 10px;
    padding: 10px 12px;
}

.mobile-user-menu .dev-mobile-dropdown .dropdown-item i {
    align-items: center;
    background: rgba(37, 99, 235, .1);
    border-radius: 9px;
    color: var(--dev-blue);
    display: inline-flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.mobile-user-menu .dev-mobile-dropdown .dropdown-item:hover {
    background: #f1f5f9;
    color: var(--dev-navy);
}

.mobile-user-menu .dev-mobile-dropdown .dropdown-item.logout i {
    background: rgba(220, 38, 38, .1);
    color: var(--dev-red);
}

.user-img img,
.avatar img,
.profile-contentimg img {
    object-fit: cover;
}

.monthly-payment-page,
.monthly-payment-page > [class*="col-"],
.monthly-payment-page .dev-accordion,
.monthly-payment-page .accordion-item,
.monthly-payment-page .accordion-body,
.monthly-payment-page .modern-card,
.monthly-payment-page .card-body {
    min-width: 0;
}

.monthly-payment-page .select2-container {
    max-width: 100%;
}

.monthly-payment-page .table-responsive {
    width: 100%;
}

.dev-profile-photo {
    background: #fff;
    border: 6px solid #fff;
    border-radius: 50%;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .16);
    flex: 0 0 132px !important;
    height: 132px !important;
    max-height: 132px !important;
    max-width: 132px !important;
    min-height: 132px !important;
    min-width: 132px !important;
    overflow: hidden;
    width: 132px !important;
}

.profile-set .profile-head {
    background: #ff9f43;
    background: linear-gradient(135deg, var(--profile-banner-color, #ff9f43), color-mix(in srgb, var(--profile-banner-color, #ff9f43) 72%, #ffffff));
    border-radius: 10px 10px 0 0;
    min-height: 109px;
}

.dev-profile-photo img {
    display: block;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
    width: 100% !important;
}

.dev-photo-form {
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    margin-top: 18px;
    padding-bottom: 18px;
}

.dev-banner-form {
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    padding: 16px 0 18px;
}

.dev-banner-form .form-control-color {
    border-radius: 10px;
    cursor: pointer;
    height: 44px;
    min-width: 76px;
    width: 76px;
}

.dev-photo-form .form-control {
    min-width: min(100%, 280px);
}

.profile-mini p {
    color: #5e5873;
    margin-bottom: 10px;
}

.activity-row {
    border: 1px solid rgba(145, 158, 171, .18);
    border-radius: 6px;
    margin-bottom: 10px;
    padding: 12px;
}

.activity-row strong,
.activity-row span,
.activity-row small {
    display: block;
}

.activity-row span {
    color: #0f9d58;
    font-weight: 700;
    margin-top: 5px;
}

.notification-unread {
    background: #fff7ed;
}

.dev-theme-toggle {
    align-items: center;
    background: #fff7ed;
    border: 1px solid rgba(255, 159, 67, .35);
    border-radius: 50%;
    color: #ff9f43;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    margin-top: 10px;
    width: 38px;
}

.option-section {
    scroll-margin-top: 90px;
}

.dev-has-submenu > a {
    position: relative;
}

.dev-menu-arrow {
    border: solid #637381;
    border-width: 0 2px 2px 0;
    display: inline-block;
    height: 7px;
    margin-left: auto;
    transform: rotate(45deg);
    transition: transform .2s ease;
    width: 7px;
}

.dev-has-submenu.active .dev-menu-arrow,
.dev-has-submenu.is-open .dev-menu-arrow {
    transform: rotate(-135deg);
}

.dev-submenu-list {
    display: none;
    list-style: none;
    margin: 4px 0 8px;
    padding: 0 0 0 42px;
}

.dev-has-submenu.active .dev-submenu-list,
.dev-has-submenu.is-open .dev-submenu-list {
    display: block;
}

.dev-submenu-list li a {
    color: #637381;
    display: block;
    font-size: 13px;
    padding: 7px 12px;
}

.dev-submenu-list li a:hover {
    color: #ff9f43;
}

.dev-submenu-list li.active > a {
    background: #1f2a54;
    border-radius: 6px;
    color: #fff;
}

.dev-accordion {
    display: grid;
    gap: 16px;
}

.dev-accordion .accordion-item {
    background: transparent;
    border: 0;
}

.dev-accordion .accordion-button {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
    color: #111827;
    font-weight: 800;
    padding: 16px 20px;
}

.dev-accordion .accordion-button:not(.collapsed) {
    background: #1f2a54;
    color: #fff;
}

.dev-accordion .accordion-button:focus {
    border-color: rgba(255, 159, 67, .6);
    box-shadow: 0 0 0 3px rgba(255, 159, 67, .16);
}

.dev-accordion .accordion-body {
    padding: 16px 0 0;
}

.cashbox-card p {
    color: #5e5873;
    margin-bottom: 8px;
}

.cashbox-card-head,
.dashboard-filter,
.dashboard-actions {
    align-items: center;
    display: flex;
    gap: 10px;
}

.cashbox-card-head {
    justify-content: space-between;
    margin-bottom: 12px;
}

.cashbox-card-head h5 {
    margin: 0;
}

.dashboard-filter {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dashboard-filter .form-control {
    min-width: 130px;
    width: auto;
}

.dashboard-actions {
    align-items: stretch;
    flex-direction: column;
}

.dashboard-actions a {
    background: #f8f9fa;
    border: 1px solid rgba(145, 158, 171, .2);
    border-radius: 6px;
    color: #1b2850;
    font-weight: 600;
    padding: 10px 12px;
}

.dashboard-actions a:hover {
    background: #fff7ed;
    color: #ff9f43;
}

.dev-table-total-row {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin-top: 18px;
}

.dev-total-chip {
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 10px;
    padding: 14px 16px;
}

.dev-total-chip span,
.finance-total-card span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.dev-total-chip strong {
    color: #111827;
    display: block;
    font-size: 17px;
    font-weight: 900;
    margin-top: 5px;
}

.dev-total-chip.accent {
    background: linear-gradient(135deg, #1f2a54, #2563eb);
    border: 0;
}

.dev-total-chip.accent span,
.dev-total-chip.accent strong {
    color: #ffffff;
}

.dev-info-list {
    row-gap: 18px;
}

.dev-info-card {
    border: 0;
    border-radius: 14px;
    min-height: 280px;
    overflow: hidden;
    position: relative;
}

.dev-info-card:before {
    background: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(255, 159, 67, .16));
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.dev-info-top,
.dev-info-actions,
.finance-filter {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dev-info-top {
    justify-content: space-between;
    margin-bottom: 16px;
}

.dev-info-badge {
    align-items: center;
    background: #eef4ff;
    border-radius: 999px;
    color: #1e3a8a;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 6px;
    padding: 7px 12px;
}

.dev-info-card h5 {
    color: #111827;
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 12px;
}

.dev-info-card p {
    color: #334155;
    line-height: 1.65;
    margin-bottom: 16px;
}

.dev-info-meta {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 18px;
}

.dev-info-actions {
    margin-top: auto;
}

.finance-filter .form-group {
    min-width: 190px;
}

.finance-total-row {
    row-gap: 18px;
}

.finance-total-card {
    border-radius: 14px;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .13);
    color: #ffffff;
    min-height: 170px;
    overflow: hidden;
    padding: 24px;
    position: relative;
}

.finance-total-card:before {
    background: rgba(255, 255, 255, .14);
    border-radius: 999px;
    content: "";
    height: 150px;
    position: absolute;
    right: -48px;
    top: -48px;
    width: 150px;
}

.finance-total-card i {
    color: rgba(255, 255, 255, .8);
    font-size: 26px;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}

.finance-total-card span,
.finance-total-card strong,
.finance-total-card small {
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.finance-total-card strong {
    display: block;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.18;
    margin-top: 8px;
}

.finance-total-card small {
    display: block;
    font-size: 14px;
    font-weight: 800;
    margin-top: 8px;
    opacity: .86;
}

.finance-total-card.income {
    background: linear-gradient(135deg, #0f766e, #22c55e);
}

.finance-total-card.expenses {
    background: linear-gradient(135deg, #991b1b, #ef4444);
}

.finance-total-card.balance {
    background: linear-gradient(135deg, #1f2a54, #2563eb);
}

.dev-chart {
    align-items: flex-end;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(248, 250, 252, .92)),
        repeating-linear-gradient(0deg, rgba(100, 116, 139, .13) 0 1px, transparent 1px 52px);
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 18px;
    box-shadow: inset 0 -1px 0 rgba(15, 23, 42, .06);
    display: flex;
    gap: 18px;
    height: 300px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 46px 18px 18px;
    scroll-padding-left: 18px;
    scroll-snap-type: x proximity;
    scrollbar-color: #ff9f43 rgba(148, 163, 184, .18);
    scrollbar-width: thin;
}

.dev-chart::-webkit-scrollbar {
    height: 9px;
}

.dev-chart::-webkit-scrollbar-track {
    background: rgba(148, 163, 184, .18);
    border-radius: 999px;
}

.dev-chart::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, #ff9f43, #2563eb);
    border-radius: 999px;
}

.dev-chart-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    flex: 0 0 82px;
    height: 230px;
    justify-content: flex-end;
    scroll-snap-align: start;
}

.dev-chart-bar {
    align-items: flex-start;
    background: linear-gradient(180deg, #ffb347 0%, #ff7a45 45%, #ef4444 100%);
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 16px 16px 8px 8px;
    box-shadow: 0 18px 34px rgba(239, 68, 68, .22);
    display: flex;
    justify-content: center;
    max-width: 58px;
    min-height: 18px;
    position: relative;
    width: 100%;
}

.dev-chart-bar:after {
    background: rgba(255, 255, 255, .36);
    border-radius: 999px;
    content: "";
    height: 5px;
    left: 10px;
    position: absolute;
    right: 10px;
    top: 8px;
}

.dev-chart-bar span {
    background: #111827;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .18);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    left: 50%;
    line-height: 1.2;
    opacity: 0;
    padding: 6px 8px;
    pointer-events: none;
    position: absolute;
    top: -38px;
    transform: translateX(-50%) translateY(8px);
    transition: opacity .15s ease, transform .15s ease;
    white-space: nowrap;
    z-index: 2;
}

.dev-chart-item:hover .dev-chart-bar span {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.dev-chart-item small {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    margin-top: 12px;
    text-align: center;
}

.mp-report-chart {
    background: linear-gradient(180deg, #f8fdff 0%, #f4fbff 100%);
    border: 1px solid rgba(37, 99, 235, .14);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
    margin: 10px 0 26px;
    overflow: hidden;
    padding: 20px 20px 14px;
}

.mp-report-chart-head {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 14px;
    justify-content: flex-start;
    margin-bottom: 14px;
}

.mp-report-chart-head h5 {
    color: #111827;
    font-size: 20px;
    font-weight: 900;
    margin: 10px 0 4px;
}

.mp-report-chart-head p {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    margin: 0;
}

.mp-chart-filter {
    align-items: center;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    width: 100%;
}

.mp-chart-filter .form-control {
    max-width: 120px;
}

.mp-chart-filter select.form-control,
.mp-chart-filter input[type="date"].form-control {
    max-width: 158px;
}

.mp-chart-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
    scrollbar-color: #5b7cfa rgba(148, 163, 184, .18);
    scrollbar-width: thin;
}

.mp-chart-scroll::-webkit-scrollbar {
    height: 9px;
}

.mp-chart-scroll::-webkit-scrollbar-track {
    background: rgba(148, 163, 184, .18);
    border-radius: 999px;
}

.mp-chart-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, #5b7cfa, #ff5c4d);
    border-radius: 999px;
}

.mp-combo-chart {
    display: block;
    height: auto;
    min-width: 860px;
    width: 100%;
}

.mp-chart-grid {
    stroke: rgba(148, 163, 184, .28);
    stroke-dasharray: 4 10;
    stroke-width: 1;
}

.mp-chart-y-label,
.mp-chart-x-label,
.mp-chart-value {
    dominant-baseline: middle;
    font-family: inherit;
}

.mp-chart-y-label {
    fill: #94a3b8;
    font-size: 13px;
    font-weight: 800;
}

.mp-chart-x-label {
    fill: #64748b;
    font-size: 13px;
    font-weight: 900;
    text-anchor: middle;
}

.mp-chart-bar {
    transition: opacity .16s ease, transform .16s ease;
}

.mp-chart-line {
    fill: none;
    stroke: #ff5c4d;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 5;
}

.mp-chart-point {
    fill: #fff;
    stroke: #ff5c4d;
    stroke-width: 4;
}

.mp-chart-value {
    fill: #334155;
    font-size: 14px;
    font-weight: 900;
    text-anchor: middle;
}

.settings-accordion {
    margin-top: 6px;
}

.settings-accordion .accordion-button i {
    align-items: center;
    background: rgba(37, 99, 235, .1);
    border-radius: 8px;
    color: #2563eb;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.settings-accordion .accordion-button:not(.collapsed) i {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

.settings-inner-card {
    margin-bottom: 0;
}

.ministry-stat-row {
    row-gap: 18px;
}

.ministry-stat-card {
    align-items: flex-end;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .12);
    display: flex;
    min-height: 158px;
    overflow: hidden;
    padding: 18px;
    position: relative;
}

.ministry-stat-card:before {
    background: rgba(255, 255, 255, .16);
    border-radius: 999px;
    content: "";
    height: 120px;
    position: absolute;
    right: -42px;
    top: -42px;
    width: 120px;
}

.ministry-stat-card i {
    color: rgba(255, 255, 255, .28);
    font-size: 46px;
    position: absolute;
    right: 18px;
    top: 18px;
}

.ministry-stat-copy {
    position: relative;
    z-index: 1;
}

.ministry-stat-copy strong,
.ministry-stat-copy span {
    display: block;
}

.ministry-stat-copy strong {
    color: #fff;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
}

.ministry-stat-copy span {
    color: rgba(255, 255, 255, .88);
    font-size: 13px;
    font-weight: 800;
    margin-top: 8px;
}

.ministry-card-total {
    background: linear-gradient(135deg, #1f2a54, #3b82f6);
}

.ministry-card-ac {
    background: linear-gradient(135deg, #0f766e, #22c55e);
}

.ministry-card-rc {
    background: linear-gradient(135deg, #7c3aed, #ec4899);
}

.ministry-card-rdv {
    background: linear-gradient(135deg, #b45309, #f59e0b);
}

.ministry-card-refus {
    background: linear-gradient(135deg, #991b1b, #ef4444);
}

.dev-row-highlight,
tr:target {
    animation: devTargetPulse 2.8s ease;
}

@keyframes devTargetPulse {
    0% {
        background: #fff3cd;
        box-shadow: inset 4px 0 0 #ff9f43;
    }
    85% {
        background: #fff3cd;
        box-shadow: inset 4px 0 0 #ff9f43;
    }
    100% {
        background: transparent;
        box-shadow: inset 0 0 0 transparent;
    }
}

.dev-notification-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    width: min(360px, calc(100vw - 32px));
    background: #1b2850;
    border-left: 4px solid #ff9f43;
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    color: #fff;
    opacity: 0;
    padding: 14px 16px;
    transform: translateY(18px);
    transition: opacity .2s ease, transform .2s ease;
}

.dev-notification-toast:hover {
    color: #fff;
}

.dev-notification-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.dev-notification-toast strong,
.dev-notification-toast span {
    display: block;
}

.dev-notification-toast span {
    font-size: 13px;
    margin-top: 4px;
}

.dev-install-prompt {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .1);
    border-left: 5px solid var(--dev-blue);
    border-radius: 12px;
    bottom: 24px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .2);
    display: grid;
    gap: 14px;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    left: 50%;
    max-width: 860px;
    opacity: 0;
    padding: 16px;
    position: fixed;
    transform: translate(-50%, 22px);
    transition: opacity .22s ease, transform .22s ease;
    width: min(860px, calc(100vw - 36px));
    z-index: 10020;
}

.dev-install-prompt.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.dev-install-icon {
    align-items: center;
    background: linear-gradient(135deg, var(--dev-teal), var(--dev-blue));
    border-radius: 12px;
    color: #ffffff;
    display: inline-flex;
    font-size: 20px;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.dev-install-copy strong,
.dev-install-copy span {
    display: block;
}

.dev-install-copy strong {
    color: #111827;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 4px;
}

.dev-install-copy span {
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

.dev-install-actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.dev-install-actions .btn {
    white-space: nowrap;
}

.alertify-notifier {
    bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: fixed;
    right: 24px;
    width: min(390px, calc(100vw - 32px));
    z-index: 10000;
}

.alertify-notifier .ajs-message {
    background: #111827;
    border-left: 5px solid #ff9f43;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .22);
    color: #fff;
    display: block;
    opacity: 0;
    padding: 14px 16px;
    transform: translateY(18px);
    transition: opacity .2s ease, transform .2s ease;
}

.alertify-notifier .ajs-message.ajs-visible {
    opacity: 1;
    transform: translateY(0);
}

.alertify-notifier .ajs-message:hover {
    color: #fff;
}

.alertify-notifier .ajs-message strong,
.alertify-notifier .ajs-message span {
    display: block;
}

.alertify-notifier .ajs-message strong {
    font-size: 14px;
    font-weight: 800;
}

.alertify-notifier .ajs-message span {
    color: rgba(255, 255, 255, .8);
    font-size: 13px;
    margin-top: 4px;
}

.alertify-notifier .ajs-success {
    border-left-color: #22c55e;
}

.alertify-notifier .ajs-error {
    border-left-color: #ef4444;
}

.alertify-notifier .ajs-info {
    border-left-color: #3b82f6;
}

.dev-alertify-backdrop {
    align-items: center;
    background: rgba(15, 23, 42, .48);
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: 18px;
    pointer-events: none;
    position: fixed;
    transition: opacity .18s ease;
    z-index: 12000;
}

.dev-alertify-backdrop.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.dev-alertify-dialog {
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .26);
    max-width: 420px;
    padding: 26px;
    text-align: center;
    transform: translateY(10px) scale(.98);
    transition: transform .18s ease;
    width: min(420px, 100%);
}

.dev-alertify-backdrop.is-visible .dev-alertify-dialog {
    transform: translateY(0) scale(1);
}

.dev-alertify-icon {
    align-items: center;
    background: linear-gradient(135deg, #ff9f43, #ff6f61);
    border-radius: 16px;
    color: #ffffff;
    display: inline-flex;
    height: 46px;
    justify-content: center;
    margin-bottom: 14px;
    width: 46px;
}

.dev-alertify-dialog h5 {
    color: #111827;
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 8px;
}

.dev-alertify-dialog p {
    color: #64748b;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.dev-alertify-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 22px;
}

.dev-alertify-actions .btn {
    min-width: 118px;
}

body.theme-dark .dev-alertify-backdrop {
    background: rgba(2, 6, 23, .72);
}

body.theme-dark .dev-alertify-dialog {
    background: #111827;
    border-color: rgba(148, 163, 184, .22);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
}

body.theme-dark .dev-alertify-dialog h5 {
    color: #f8fafc;
}

body.theme-dark .dev-alertify-dialog p {
    color: #cbd5e1;
}

body.theme-dark {
    background: #111827;
    color: #d1d5db;
}

body.theme-dark .main-wrapper,
body.theme-dark .page-wrapper,
body.theme-dark .content,
body.theme-dark .sidebar,
body.theme-dark .sidebar .sidebar-menu,
body.theme-dark .header {
    background: #111827;
}

body.theme-dark .card,
body.theme-dark .dash-widget,
body.theme-dark .activity-row,
body.theme-dark .dropdown-menu,
body.theme-dark .dashboard-actions a,
body.theme-dark .dev-info-card,
body.theme-dark .dev-total-chip {
    background: #1f2937;
    border-color: rgba(255, 255, 255, .08);
    color: #e5e7eb;
}

body.theme-dark .mobile-user-menu .dev-mobile-menu-trigger {
    background: #1f2937;
    border-color: rgba(148, 163, 184, .2);
    color: #f8fafc;
}

body.theme-dark .mobile-user-menu .dev-mobile-dropdown {
    background: #111827;
    border-color: rgba(148, 163, 184, .2);
}

body.theme-dark .mobile-user-menu .dev-mobile-dropdown .dropdown-item {
    color: #f8fafc;
}

body.theme-dark .mobile-user-menu .dev-mobile-dropdown .dropdown-item:hover {
    background: rgba(255, 159, 67, .14);
    color: #fff;
}

body.theme-dark .mobile-user-menu .dev-mobile-dropdown .dropdown-item i {
    background: rgba(96, 165, 250, .16);
    color: #93c5fd;
}

body.theme-dark .mobile-user-menu .dev-mobile-dropdown .dropdown-item.logout i {
    background: rgba(248, 113, 113, .16);
    color: #fca5a5;
}

body.theme-dark .card-title,
body.theme-dark h2,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6,
body.theme-dark label,
body.theme-dark .profile-mini p,
body.theme-dark .cashbox-card p,
body.theme-dark .dev-info-card h5,
body.theme-dark .dev-total-chip strong,
body.theme-dark .logged-user-name,
body.theme-dark .sidebar .sidebar-menu > ul > li > a span {
    color: #e5e7eb;
}

body.theme-dark .dev-info-card p {
    color: #cbd5e1;
}

body.theme-dark .dev-info-meta,
body.theme-dark .dev-total-chip span {
    color: #94a3b8;
}

body.theme-dark .dev-chart {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .94), rgba(30, 41, 59, .94)),
        repeating-linear-gradient(0deg, rgba(148, 163, 184, .12) 0 1px, transparent 1px 52px);
    border-color: rgba(148, 163, 184, .2);
    scrollbar-color: #ff9f43 rgba(148, 163, 184, .18);
}

body.theme-dark .dev-chart-item small {
    color: #cbd5e1;
}

body.theme-dark .dev-chart-bar span {
    background: #f8fafc;
    color: #0f172a;
}

body.theme-dark .mp-report-chart {
    background: linear-gradient(180deg, #111827 0%, #1f2937 100%);
    border-color: rgba(148, 163, 184, .2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .26);
}

body.theme-dark .mp-report-chart-head h5 {
    color: #f8fafc;
}

body.theme-dark .mp-report-chart-head p,
body.theme-dark .mp-chart-x-label {
    color: #cbd5e1;
    fill: #cbd5e1;
}

body.theme-dark .mp-chart-y-label {
    fill: #94a3b8;
}

body.theme-dark .mp-chart-grid {
    stroke: rgba(148, 163, 184, .18);
}

body.theme-dark .mp-chart-value {
    fill: #f8fafc;
}

body.theme-dark .settings-accordion .accordion-button i {
    background: rgba(96, 165, 250, .16);
    color: #93c5fd;
}

body.theme-dark .settings-accordion .accordion-button:not(.collapsed) i {
    background: rgba(17, 24, 39, .22);
    color: #111827;
}

body.theme-dark .dev-info-badge {
    background: rgba(255, 159, 67, .16);
    color: #fed7aa;
}

body.theme-dark .dashboard-profile-card,
body.theme-dark .finance-total-card,
body.theme-dark .dev-total-chip.accent {
    border-color: transparent;
}

body.theme-dark .dashboard-profile-card.money-card {
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
}

body.theme-dark .dashboard-profile-card.activity-card {
    background: linear-gradient(135deg, #0f766e, #22c55e);
}

body.theme-dark .dashboard-profile-card.account-card {
    background: linear-gradient(135deg, #7c2d12, #f97316);
}

body.theme-dark .finance-total-card.income {
    background: linear-gradient(135deg, #0f766e, #22c55e);
}

body.theme-dark .finance-total-card.expenses {
    background: linear-gradient(135deg, #991b1b, #ef4444);
}

body.theme-dark .finance-total-card.balance,
body.theme-dark .dev-total-chip.accent {
    background: linear-gradient(135deg, #1f2a54, #2563eb);
}

body.theme-dark .table,
body.theme-dark .table th,
body.theme-dark .table td {
    border-color: rgba(255, 255, 255, .08);
    color: #d1d5db;
}

body.theme-dark .form-control,
body.theme-dark .auth-select,
body.theme-dark .select2-container--default .select2-selection--single,
body.theme-dark .select2-search--dropdown .select2-search__field {
    background: #111827;
    border-color: rgba(255, 255, 255, .14);
    color: #e5e7eb;
}

body.theme-dark .form-control::placeholder {
    color: #9ca3af;
}

body.theme-dark .notification-unread {
    background: rgba(255, 159, 67, .14);
}

body.theme-dark .dev-accordion .accordion-button {
    background: #1f2937;
    border-color: rgba(148, 163, 184, .18);
    color: #f8fafc;
}

body.theme-dark .dev-accordion .accordion-button:not(.collapsed) {
    background: #ff9f43;
    color: #111827;
}

body.theme-dark .dev-photo-form {
    border-bottom-color: rgba(148, 163, 184, .22);
}

body.theme-dark .dev-banner-form {
    border-bottom-color: rgba(148, 163, 184, .22);
}

body.theme-dark .dev-submenu-list li a {
    color: #cbd5e1;
}

body.theme-dark .dev-submenu-list li.active > a {
    background: #ff9f43;
    color: #111827 !important;
}

body.theme-dark .dev-menu-arrow {
    border-color: #cbd5e1;
}

body.theme-dark .dev-theme-toggle {
    background: #374151;
    border-color: rgba(255, 255, 255, .12);
}

body.theme-dark .settings-subtitle {
    border-bottom-color: rgba(148, 163, 184, .22);
    color: #f8fafc;
}

body.theme-dark .page-title h4,
body.theme-dark .modern-page-header h4,
body.theme-dark .card-sales-split h2,
body.theme-dark .table-top h5,
body.theme-dark .dash-widgetcontent h5,
body.theme-dark .profilesets h6,
body.theme-dark .notification-title,
body.theme-dark .noti-title,
body.theme-dark .dropdown-item,
body.theme-dark .topnav-dropdown-footer a,
body.theme-dark .topnav-dropdown-header a,
body.theme-dark .page-header h4 {
    color: #f8fafc !important;
}

body.theme-dark .page-title h6,
body.theme-dark .modern-page-header h6,
body.theme-dark .dash-widgetcontent h6,
body.theme-dark .profilesets h5,
body.theme-dark .text-muted,
body.theme-dark small,
body.theme-dark .noti-details,
body.theme-dark .noti-time,
body.theme-dark .notification-time,
body.theme-dark .profile-mini,
body.theme-dark .profile-mini strong,
body.theme-dark .dataTables_info,
body.theme-dark .dataTables_length label,
body.theme-dark .dataTables_filter label,
body.theme-dark .select2-results__option,
body.theme-dark .auth-select-wrap:after {
    color: #cbd5e1 !important;
}

body.theme-dark .sidebar {
    border-right-color: rgba(148, 163, 184, .18);
    box-shadow: none;
}

body.theme-dark .header {
    border-bottom-color: rgba(148, 163, 184, .18);
}

body.theme-dark .sidebar .sidebar-menu > ul > li > a {
    color: #cbd5e1;
}

body.theme-dark .sidebar .sidebar-menu > ul > li.active > a,
body.theme-dark .sidebar .sidebar-menu > ul > li > a:hover {
    background: #ff9f43;
    color: #111827;
}

body.theme-dark .sidebar .sidebar-menu > ul > li.active > a span,
body.theme-dark .sidebar .sidebar-menu > ul > li > a:hover span {
    color: #111827 !important;
}

body.theme-dark .sidebar .sidebar-menu > ul > li.active > a .dev-sidebar-fa,
body.theme-dark .sidebar .sidebar-menu > ul > li > a:hover .dev-sidebar-fa {
    color: #111827;
}

body.theme-dark .table thead th,
body.theme-dark table.dataTable thead th {
    background: #0f172a;
    color: #f8fafc;
}

body.theme-dark .table tbody tr,
body.theme-dark table.dataTable tbody tr {
    background: #1f2937;
}

body.theme-dark .table tbody tr:hover,
body.theme-dark table.dataTable tbody tr:hover {
    background: #253044;
}

body.theme-dark .form-control:focus,
body.theme-dark .auth-select:focus,
body.theme-dark .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #ff9f43;
    box-shadow: 0 0 0 3px rgba(255, 159, 67, .16);
}

body.theme-dark .select2-dropdown,
body.theme-dark .select2-container--default .select2-results__option[aria-selected=true],
body.theme-dark .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #111827;
    border-color: rgba(148, 163, 184, .2);
    color: #f8fafc;
}

body.theme-dark .select2-container--default .select2-selection--single .select2-selection__rendered,
body.theme-dark .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.theme-dark .select2-search--dropdown .select2-search__field {
    color: #f8fafc;
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button,
body.theme-dark .page-link,
body.theme-dark .page-item.disabled .page-link {
    background: #111827;
    border-color: rgba(148, 163, 184, .2);
    color: #e5e7eb !important;
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.theme-dark .page-item.active .page-link {
    background: #ff9f43;
    border-color: #ff9f43;
    color: #111827 !important;
}

body.theme-dark .searchinputs input,
body.theme-dark .dataTables_filter input,
body.theme-dark .dataTables_length select {
    background: #0f172a;
    border-color: rgba(148, 163, 184, .22);
    color: #f8fafc;
}

body.theme-dark .alert-info {
    background: rgba(59, 130, 246, .16);
    border-color: rgba(59, 130, 246, .28);
    color: #dbeafe;
}

body.theme-dark .alert-success {
    background: rgba(34, 197, 94, .16);
    border-color: rgba(34, 197, 94, .28);
    color: #dcfce7;
}

body.theme-dark .alert-danger {
    background: rgba(239, 68, 68, .16);
    border-color: rgba(239, 68, 68, .28);
    color: #fee2e2;
}

body.theme-dark .bg-lightgreen,
body.theme-dark .bg-lightyellow,
body.theme-dark .bg-lightred,
body.theme-dark .badges {
    color: #111827;
}

body.theme-dark .dashboard-actions a:hover,
body.theme-dark .dev-submenu-list li a:hover {
    color: #ffb86b;
}

body.theme-dark .dev-install-prompt {
    background: #1f2937;
    border-color: rgba(148, 163, 184, .22);
    border-left-color: #60a5fa;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
}

body.theme-dark .dev-install-copy strong {
    color: #f8fafc;
}

body.theme-dark .dev-install-copy span {
    color: #cbd5e1;
}

body.theme-dark tr:target,
body.theme-dark .dev-row-highlight {
    animation: devTargetPulseDark 2.8s ease;
}

@keyframes devTargetPulseDark {
    0% {
        background: rgba(255, 159, 67, .25);
        box-shadow: inset 4px 0 0 #ff9f43;
    }
    85% {
        background: rgba(255, 159, 67, .25);
        box-shadow: inset 4px 0 0 #ff9f43;
    }
    100% {
        background: transparent;
        box-shadow: inset 0 0 0 transparent;
    }
}

@media print {
    body,
    .main-wrapper,
    .page-wrapper,
    .content,
    .card,
    .modern-card {
        background: #fff !important;
        color: #111827 !important;
        box-shadow: none !important;
    }

    .header,
    .sidebar,
    .no-print,
    #global-loader,
    .dataTables_length,
    .dataTables_filter,
    .dataTables_info,
    .dataTables_paginate {
        display: none !important;
    }

    .page-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }

    .content {
        padding: 0 !important;
    }

    .ministry-report-card {
        border: 0 !important;
    }

    .report-print-header {
        margin-bottom: 18px;
        text-align: center;
    }

    .report-print-header h3 {
        color: #111827 !important;
        font-size: 18px;
        margin-bottom: 5px;
    }

    .report-print-header p {
        color: #111827 !important;
        margin: 0 0 4px;
    }

    .table th,
    .table td {
        color: #111827 !important;
        border-color: #d1d5db !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .logged-user-name {
        max-width: 150px;
    }
}

@media (max-width: 767px) {
    .header .main-drop .userset {
        gap: 4px;
        padding: 0 6px;
    }

    .header .main-drop .user-img img {
        height: 38px;
        width: 38px;
    }

    .header .main-drop .dropdown-toggle:after {
        display: none;
    }

    .dashboard-card-row {
        row-gap: 12px;
    }

    .dashboard-card-row .dash-widget {
        min-height: 132px;
        padding: 18px;
    }

    .dashboard-card-row .dash-widget:before {
        height: 112px;
        right: -44px;
        top: -44px;
        width: 112px;
    }

    .dashboard-card-row .dash-widgetimg {
        right: 12px;
        top: 12px;
    }

    .dashboard-card-row .dash-widgetimg span {
        height: 48px;
        width: 48px;
    }

    .dashboard-card-row .dash-widgetcontent {
        max-width: 100%;
        padding-right: 54px;
    }

    .dashboard-card-row .dash-widgetcontent h5 {
        font-size: 22px;
        line-height: 1.22;
    }

    .dashboard-card-row .dash-widgetcontent h6 {
        font-size: 12px;
        line-height: 1.25;
    }

    .dev-chart {
        gap: 14px;
        height: 270px;
        padding: 42px 14px 16px;
    }

    .dev-chart-item {
        flex-basis: 72px;
        height: 205px;
    }

    .dev-chart-bar {
        max-width: 52px;
    }

    .mp-report-chart {
        padding: 16px 14px 12px;
    }

    .mp-report-chart-head {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 14px;
    justify-content: flex-start;
    margin-bottom: 14px;
}

    .mp-chart-filter {
    align-items: center;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    width: 100%;
}

    .mp-combo-chart {
        min-width: 760px;
    }

    .monthly-payment-page {
        margin-left: 0;
        margin-right: 0;
    }

    .monthly-payment-page > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .monthly-payment-page .accordion-button {
        font-size: 15px;
        padding: 14px 16px;
    }

    .monthly-payment-page .accordion-body,
    .monthly-payment-page .modern-card .card-body {
        padding: 14px;
    }

    .monthly-payment-page .form-control,
    .monthly-payment-page .select2-container {
        max-width: 100%;
        width: 100% !important;
    }

    .monthly-payment-page .select2-container--default .select2-selection--single .select2-selection__rendered {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .monthly-payment-page .table-top {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .monthly-payment-page .dataTables_wrapper,
    .monthly-payment-page .table-responsive {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .monthly-payment-page table.table {
        min-width: 720px;
    }

    .monthly-payment-page .dataTables_filter,
    .monthly-payment-page .dataTables_length {
        text-align: left;
        width: 100%;
    }

    .monthly-payment-page .dataTables_filter input,
    .monthly-payment-page .dataTables_length select {
        margin-left: 0;
        width: 100%;
    }

    .page-header,
    .modern-page-header {
        align-items: center;
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    .page-header .page-title,
    .modern-page-header .page-title {
        width: 100%;
    }

    .page-header .page-title h4,
    .page-header .page-title h6,
    .modern-page-header .page-title h4,
    .modern-page-header .page-title h6 {
        text-align: center;
    }

    .page-header .page-btn,
    .modern-page-header .page-btn {
        justify-content: center;
        width: 100%;
    }

    .dev-profile-photo {
        flex-basis: 112px !important;
        height: 112px !important;
        max-height: 112px !important;
        max-width: 112px !important;
        min-height: 112px !important;
        min-width: 112px !important;
        width: 112px !important;
    }

    .profile-set .profile-top,
    .profile-set .profile-content {
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .profile-contentname {
        margin-left: 0;
    }

    body.mini-sidebar:not(.expand-menu) .page-wrapper {
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .select2-container--default .select2-selection--single {
        min-height: 48px;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 15px;
        line-height: 48px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 48px;
    }

    .select2-dropdown {
        font-size: 16px;
    }

    .select2-results__option {
        padding: 12px 14px;
    }

    .select2-search--dropdown .select2-search__field {
        min-height: 46px;
    }

    .auth-select-wrap .select2-container--default .select2-selection--single,
    .account-page .auth-select-wrap .select2-container--default .select2-selection--single {
        min-height: 42px;
    }

    .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered,
    .account-page .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 42px;
    }
}

@media (max-width: 575px) {
    .dev-notification-toast {
        right: 16px;
        bottom: 16px;
    }

    .dev-install-prompt {
        align-items: flex-start;
        bottom: 14px;
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 14px;
        width: calc(100vw - 24px);
    }

    .dev-install-icon {
        height: 42px;
        width: 42px;
    }

    .dev-install-actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .dev-install-actions .btn {
        flex: 1;
        min-height: 42px;
        padding-left: 10px;
        padding-right: 10px;
        white-space: normal;
    }

    .dashboard-filter {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-filter .form-control,
    .dashboard-filter .btn {
        width: 100%;
    }

    .content {
        padding-left: 14px;
        padding-right: 14px;
    }

    .dashboard-card-row {
        margin-left: -6px;
        margin-right: -6px;
    }

    .dashboard-card-row > [class*="col-"] {
        padding-left: 6px;
        padding-right: 6px;
    }

    .dashboard-card-row .dash-widget {
        border-radius: 10px;
        min-height: 124px;
        padding: 16px;
    }

    .dashboard-card-row .dash-widgetcontent {
        padding-right: 48px;
    }

    .dashboard-card-row .dash-widgetcontent h5 {
        font-size: 20px;
    }

    .dashboard-card-row .dash-widgetimg span {
        height: 44px;
        width: 44px;
    }
}

@media (max-height: 680px) and (min-width: 992px) {
    .account-page .account-content {
        padding: 12px;
    }

    .account-page .login-wrapper {
        height: calc(100dvh - 24px);
        width: min(1180px, calc(100vw - 24px));
    }

    .account-page .login-content {
        padding: 22px 48px;
    }

    .account-page .login-logo {
        margin-bottom: 14px;
    }

    .account-page .dev-login-logo .dev-brand-logo {
        flex-basis: 50px;
        height: 50px;
        width: 50px;
    }

    .account-page .login-userheading h3 {
        font-size: 24px;
        margin-bottom: 6px;
    }

    .account-page .login-userheading h4 {
        margin-bottom: 18px;
    }

    .account-page .form-login {
        margin-bottom: 12px;
    }

    .account-page .auth-select,
    .account-page .pass-input,
    .account-page .form-control {
        min-height: 42px;
    }

    .account-page .auth-select {
        height: 42px;
    }

    .account-page .btn-login {
        min-height: 44px;
    }
}

@media (max-width: 991px) {
    .account-page {
        overflow: hidden;
        padding: 10px;
    }

    .account-page .main-wrapper,
    .account-page .account-content {
        align-items: center;
        display: flex;
        height: 100dvh;
        justify-content: center;
        min-height: 0;
        width: 100%;
    }

    .account-page .account-content {
        padding: 0;
    }

    .account-page .login-wrapper {
        border-radius: 24px;
        display: flex !important;
        height: auto;
        margin: auto;
        max-height: calc(100dvh - 20px);
        max-width: 440px;
        min-height: 0;
        overflow: hidden;
        width: 100%;
    }

    .account-page .login-content {
        height: auto;
        justify-content: flex-start;
        min-height: 0;
        overflow: hidden;
        padding: 20px 22px;
    }

    .account-page .login-userset {
        max-width: none;
    }

    .account-page .login-logo {
        justify-content: center;
        margin-bottom: 18px;
    }

    .account-page .dev-login-logo .dev-brand-logo {
        flex-basis: 54px;
        height: 54px;
        width: 54px;
    }

    .account-page .login-userheading {
        text-align: center;
    }

    .account-page .login-userheading h3 {
        font-size: 25px;
    }

    .account-page .login-userheading h4 {
        font-size: 13px;
        margin-bottom: 20px;
    }

    .account-page .login-img {
        display: none;
    }

    .header .header-left .logo-small .dev-brand-logo,
    .header .header-left .logo-small .dev-brand-logo-small {
        flex-basis: 36px;
        height: 36px;
        width: 36px;
    }
}

@media (max-width: 767px) {
    .select2-container--default .select2-selection--single {
        min-height: 48px;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 15px;
        line-height: 48px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 48px;
    }

    .select2-dropdown {
        font-size: 16px;
    }

    .select2-results__option {
        padding: 12px 14px;
    }

    .select2-search--dropdown .select2-search__field {
        min-height: 46px;
    }

    .auth-select-wrap .select2-container--default .select2-selection--single,
    .account-page .auth-select-wrap .select2-container--default .select2-selection--single {
        min-height: 42px;
    }

    .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered,
    .account-page .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 42px;
    }
}

@media (max-width: 575px) {
    .account-page {
        padding: 8px;
    }

    .account-page .login-wrapper {
        border-radius: 18px;
        box-shadow: 0 20px 48px rgba(15, 23, 42, .16);
        height: auto;
        max-height: calc(100dvh - 16px);
        width: min(100%, 420px);
    }

    .account-page .login-content {
        padding: clamp(16px, 4vh, 28px) clamp(14px, 5vw, 24px);
    }

    .account-page .login-logo {
        margin-bottom: clamp(12px, 2.2vh, 18px);
    }

    .account-page .dev-brand-logo-rect {
        height: clamp(54px, 9vh, 70px);
        max-width: 230px;
        min-width: 160px;
        width: min(78vw, 230px);
    }

    .account-page .dev-login-logo .dev-brand-logo {
        flex-basis: 46px;
        height: 46px;
        width: 46px;
    }

    .account-page .login-userheading h3 {
        font-size: clamp(20px, 5.8vw, 24px);
        margin-bottom: 5px;
    }

    .account-page .login-userheading h4 {
        font-size: clamp(11px, 3.2vw, 13px);
        line-height: 1.35;
        margin-bottom: clamp(12px, 2.4vh, 18px);
    }

    .account-page .form-login {
        margin-bottom: clamp(9px, 1.8vh, 13px);
    }

    .account-page .form-login label {
        font-size: 12px;
        margin-bottom: 5px;
    }

    .account-page .auth-select,
    .account-page .pass-input,
    .account-page .form-control {
        min-height: 42px;
    }

    .account-page .auth-select {
        height: 42px;
    }

    .account-page .btn-login {
        min-height: 44px;
    }

    .dev-auth-footer {
        font-size: 10px;
        margin-top: clamp(10px, 2vh, 16px);
    }
}

@media (max-width: 575px) and (max-height: 680px) {
    .account-page .login-content {
        padding-bottom: 12px;
        padding-top: 12px;
    }

    .account-page .login-logo {
        margin-bottom: 9px;
    }

    .account-page .dev-login-logo .dev-brand-logo {
        flex-basis: 36px;
        height: 36px;
        width: 36px;
    }

    .account-page .dev-brand-logo-rect {
        height: 48px;
    }

    .account-page .login-userheading h3 {
        font-size: 18px;
    }

    .account-page .login-userheading h4 {
        margin-bottom: 10px;
    }

    .account-page .form-login {
        margin-bottom: 7px;
    }

    .account-page .auth-select,
    .account-page .pass-input,
    .account-page .form-control {
        min-height: 39px;
    }

    .account-page .auth-select {
        height: 39px;
    }

    .account-page .btn-login {
        min-height: 40px;
    }
}

.account-page .auth-select-wrap {
    min-width: 0;
    overflow: visible;
}

.account-page .auth-select-wrap:after {
    z-index: 4;
}

.account-page .pass-group .toggle-password {
    right: 14px;
}

@media (max-width: 991px) {
    .account-page {
        overflow-y: auto;
    }

    .account-page .main-wrapper,
    .account-page .account-content {
        min-height: 100dvh;
        height: auto;
    }

    .account-page .login-wrapper {
        max-height: none;
        overflow: visible;
    }

    .account-page .login-content {
        overflow: visible;
    }
}
/* Auth select visual alignment v32 */
.account-page .auth-select-wrap img {
    display: none;
}

.account-page .auth-select-wrap:after {
    border-bottom: 2px solid #64748b;
    border-right: 2px solid #64748b;
    content: "";
    font-family: inherit;
    height: 9px;
    pointer-events: none;
    position: absolute;
    right: 18px;
    top: calc(50% - 6px);
    transform: rotate(45deg);
    width: 9px;
    z-index: 8;
}

.account-page .auth-select-wrap .auth-select {
    padding-right: 44px;
}

.account-page .auth-select-wrap .select2-container {
    box-sizing: border-box;
    padding-right: 0;
    width: 100% !important;
}

.account-page .auth-select-wrap .select2-container--default .select2-selection--single {
    min-width: 0;
}

.account-page .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-right: 44px;
}

.account-page .dev-auth-footer {
    line-height: 1.1;
    margin-top: 8px;
    padding-bottom: 0;
}

@media (max-width: 575px) {
    .account-page .login-content {
        padding-bottom: 12px;
        padding-top: 12px;
    }

    .account-page .login-logo {
        margin-bottom: 8px;
    }

    .account-page .dev-brand-logo-rect {
        height: clamp(44px, 7.5vh, 54px);
    }

    .account-page .login-userheading h3 {
        font-size: clamp(19px, 5.4vw, 22px);
        margin-bottom: 4px;
    }

    .account-page .login-userheading h4 {
        margin-bottom: 10px;
    }

    .account-page .form-login {
        margin-bottom: 8px;
    }

    .account-page .btn-login {
        margin-bottom: 0;
        min-height: 42px;
    }

    .account-page .dev-auth-footer {
        font-size: 9px;
        margin-top: 5px;
    }
}

@media (max-width: 575px) and (max-height: 680px) {
    .account-page .login-content {
        padding-bottom: 8px;
        padding-top: 8px;
    }

    .account-page .login-logo {
        margin-bottom: 6px;
    }

    .account-page .dev-brand-logo-rect {
        height: 42px;
    }

    .account-page .login-userheading h3 {
        font-size: 18px;
    }

    .account-page .login-userheading h4 {
        margin-bottom: 8px;
    }

    .account-page .form-login {
        margin-bottom: 6px;
    }

    .account-page .auth-select,
    .account-page .pass-input,
    .account-page .form-control,
    .account-page .select2-container--default .select2-selection--single {
        min-height: 38px;
    }

    .account-page .auth-select {
        height: 38px;
    }

    .account-page .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 38px;
    }

    .account-page .btn-login {
        min-height: 38px;
    }

    .account-page .dev-auth-footer {
        font-size: 8px;
        margin-top: 3px;
    }
}
/* Auth heading spacing v33 */
.account-page .login-userheading h3 {
    margin-bottom: 2px;
}

.account-page .login-userheading h4 {
    margin-top: 0;
}

@media (max-width: 575px) {
    .account-page .login-userheading h3 {
        margin-bottom: 1px;
    }

    .account-page .login-userheading h4 {
        line-height: 1.28;
    }
}
/* Auth select chevron layer v34 */
.account-page .auth-select-wrap {
    position: relative;
}

.account-page .auth-select-wrap:before {
    background: #f8fafc;
    border-radius: 0 12px 12px 0;
    content: "";
    height: calc(100% - 2px);
    pointer-events: none;
    position: absolute;
    right: 1px;
    top: 1px;
    width: 42px;
    z-index: 20;
}

.account-page .auth-select-wrap:after {
    border-bottom: 2px solid #64748b;
    border-right: 2px solid #64748b;
    content: "";
    height: 9px;
    pointer-events: none;
    position: absolute;
    right: 18px;
    top: calc(50% - 6px);
    transform: rotate(45deg);
    width: 9px;
    z-index: 21;
}

.account-page .auth-select-wrap .auth-select,
.account-page .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-right: 52px;
}

.account-page .auth-select-wrap .select2-container--default .select2-selection--single {
    position: relative;
    z-index: 1;
}

.account-page .auth-select-wrap .select2-container--open + img,
.account-page .auth-select-wrap .select2-container--focus + img {
    display: none;
}
/* Auth real chevrons v35 */
.account-page .login-userheading {
    margin-bottom: 12px;
}

.account-page .login-userheading h3 {
    margin-bottom: 0;
}

.account-page .login-userheading h4 {
    display: none;
}

.account-page .auth-select-wrap:before,
.account-page .auth-select-wrap:after {
    display: none !important;
}

.account-page .auth-select-wrap .dev-select-chevron {
    border-bottom: 2px solid #64748b;
    border-right: 2px solid #64748b;
    display: block;
    height: 9px;
    pointer-events: none;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-62%) rotate(45deg);
    width: 9px;
    z-index: 100;
}

.account-page .auth-select-wrap .auth-select,
.account-page .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-right: 52px;
}

.account-page .auth-select-wrap .select2-container--default .select2-selection--single {
    position: relative;
    z-index: 1;
}

@media (max-width: 575px) {
    .account-page .login-userheading {
        margin-bottom: 10px;
    }
}

@media (max-width: 575px) and (max-height: 680px) {
    .account-page .login-userheading {
        margin-bottom: 8px;
    }
}
/* Auth typewriter title v37 */
.account-page .dev-typewriter-title {
    align-items: center;
    display: inline-flex;
    min-height: 1.18em;
}

.account-page .dev-typewriter-title.is-typing:after {
    animation: devCaretBlink .78s steps(2, start) infinite;
    background: currentColor;
    content: "";
    display: inline-block;
    height: .95em;
    margin-left: 4px;
    width: 2px;
}

@keyframes devCaretBlink {
    50% {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .account-page .dev-typewriter-title.is-typing:after {
        animation: none;
        display: none;
    }
}
/* Activity log filter layout v39 */
.activity-log-page {
    max-width: 100%;
}

.activity-log-filter-card .card-body {
    overflow: visible;
}

.dev-activity-filter {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0;
    max-width: 100%;
}

.dev-activity-field {
    flex: 1 1 150px;
    min-width: 0;
}

.dev-activity-search {
    flex-basis: 240px;
    flex-grow: 1.45;
}

.dev-activity-actions {
    flex: 0 0 54px;
    min-width: 54px;
}

.dev-activity-filter .form-label {
    display: block;
    margin-bottom: 7px;
}

.dev-activity-filter .form-control,
.dev-activity-filter .select2-container {
    max-width: 100%;
    width: 100% !important;
}

.dev-activity-filter-button {
    align-items: center;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    min-width: 54px;
    padding: 0;
    width: 54px;
}

@media (max-width: 1199px) {
    .dev-activity-field,
    .dev-activity-search {
        flex-basis: calc(50% - 7px);
    }

    .dev-activity-actions {
        flex: 1 1 100%;
    }

    .dev-activity-filter-button {
        width: min(100%, 220px);
    }
}

@media (max-width: 575px) {
    .dev-activity-field,
    .dev-activity-search,
    .dev-activity-actions {
        flex-basis: 100%;
    }

    .dev-activity-filter-button {
        width: 100%;
    }
}
/* Attendance module v41 */
.dev-attendance-table th,
.dev-attendance-report-table th {
    background: #eef4ff;
    color: #17365d;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.dev-attendance-table td,
.dev-attendance-report-table td {
    vertical-align: middle;
}

.attendance-status-select {
    min-width: 150px;
}

.attendance-stat {
    min-height: 118px;
}

@media (max-width: 575px) {
    .attendance-status-select {
        min-width: 130px;
    }
}
/* Advanced analysis v44 */
.dev-analysis-filter-card .card-body {
    overflow: visible;
}

.dev-analysis-filter {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0;
}

.dev-analysis-field {
    flex: 1 1 180px;
    min-width: 0;
}

.dev-analysis-team-field {
    flex-grow: 1.4;
}

.dev-analysis-actions {
    flex: 0 0 auto;
}

.dev-analysis-filter .form-label {
    display: block;
    margin-bottom: 7px;
}

.dev-analysis-filter .form-control,
.dev-analysis-filter .select2-container {
    max-width: 100%;
    width: 100% !important;
}

.dev-analysis-kpi-row {
    row-gap: 18px;
}

.dev-analysis-kpi {
    background: #fff;
    border: 1px solid #e5edf7;
    border-left: 5px solid #1b76d2;
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
    height: 100%;
    min-height: 126px;
    padding: 18px;
}

.dev-analysis-kpi span,
.dev-analysis-kpi small {
    color: #607086;
    display: block;
}

.dev-analysis-kpi strong {
    color: #0f172a;
    display: block;
    font-size: 24px;
    line-height: 1.25;
    margin: 8px 0 4px;
}

.dev-analysis-kpi.presence {
    border-left-color: #1b998b;
}

.dev-analysis-kpi.finance {
    border-left-color: #2455d8;
}

.dev-analysis-kpi.coverage {
    border-left-color: #f59e0b;
}

.dev-analysis-kpi.expenses {
    border-left-color: #ef4444;
}

.dev-analysis-kpi.balance {
    border-left-color: #0f766e;
}

.dev-analysis-kpi.watch {
    border-left-color: #7c3aed;
}

.dev-analysis-table th {
    background: #eef4ff;
    color: #17365d;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.dev-analysis-table td {
    vertical-align: middle;
}

.dev-analysis-pill {
    background: #e7f8f4;
    border-radius: 999px;
    color: #0f766e;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    padding: 7px 10px;
}

.dev-analysis-pill.muted {
    background: #eef2f7;
    color: #475569;
}

@media (max-width: 767px) {
    .dev-analysis-actions,
    .dev-analysis-field {
        flex-basis: 100%;
    }

    .dev-analysis-actions .btn {
        width: 100%;
    }
}

/* Member attendance charts v45 */
.dev-analysis-chart-wrap {
    height: 320px;
    min-height: 320px;
    position: relative;
}

.dev-analysis-chart-wrap.large {
    height: 390px;
    min-height: 390px;
}

.dev-analysis-member-link {
    color: #1d4ed8;
    font-weight: 900;
}

.dev-analysis-member-link:hover {
    color: #0f766e;
}

.dev-analysis-reading {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 8px;
}

.dev-analysis-reading div {
    background: #f8fbff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
}

.dev-analysis-reading strong {
    color: #0f172a;
    display: block;
    font-size: 24px;
    line-height: 1.1;
}

.dev-analysis-reading span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-top: 4px;
    text-transform: uppercase;
}

.dev-analysis-note {
    color: #64748b;
    font-size: 13px;
    margin: 16px 0 0;
}

@media (max-width: 575px) {
    .dev-analysis-chart-wrap,
    .dev-analysis-chart-wrap.large {
        height: 280px;
        min-height: 280px;
    }

    .dev-analysis-reading {
        grid-template-columns: 1fr;
    }
}
/* Team leaders list v46 */
.dev-team-leader-page {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dev-leader-form-card {
    max-width: 100%;
}

.dev-leader-form-grid {
    align-items: flex-end;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(220px, 1.25fr) minmax(190px, 1fr) minmax(210px, 1fr) auto;
}

.dev-leader-form-actions {
    display: flex;
    gap: 10px;
}

.dev-team-leaders-table th {
    background: #eef4ff;
    color: #17365d;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.dev-team-leaders-table td {
    vertical-align: middle;
}

.dev-team-leaders-table td strong,
.dev-team-leaders-table td small {
    display: block;
}

.dev-team-leaders-table td small {
    color: #64748b;
    font-size: 12px;
    margin-top: 3px;
}

.dev-team-leaders-table tr.is-editing {
    background: #f8fbff;
    box-shadow: inset 4px 0 0 #1d4ed8;
}

.dev-managed-team {
    background: #e7f8f4;
    border-radius: 999px;
    color: #0f766e;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    padding: 7px 11px;
}

.dev-leader-row-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.dev-leader-row-actions form {
    margin: 0;
}

@media (max-width: 1199px) {
    .dev-leader-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .dev-leader-form-grid {
        grid-template-columns: 1fr;
    }

    .dev-leader-form-actions,
    .dev-leader-form-actions .btn {
        width: 100%;
    }

    .dev-leader-form-actions {
        flex-direction: column;
    }
}

@media (max-width: 575px) {
    .dev-leader-row-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .dev-leader-row-actions .btn,
    .dev-leader-row-actions form {
        width: 100%;
    }
}
/* Member prestations pagination v47 */
.dev-member-list-heading {
    align-items: flex-start;
    gap: 14px;
}

.dev-member-list-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.dev-member-per-page-form {
    align-items: center;
    display: flex;
    gap: 8px;
    margin: 0;
}

.dev-member-per-page-form label {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
}

.dev-member-per-page-form .form-control {
    height: 34px;
    min-height: 34px;
    padding: 4px 30px 4px 10px;
    width: 82px;
}

.dev-member-pagination-bar {
    align-items: center;
    border-top: 1px solid #e5edf7;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-top: 14px;
    padding-top: 14px;
}

.dev-member-pagination-summary {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.dev-pagination-nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.dev-page-link,
.dev-page-ellipsis {
    align-items: center;
    border-radius: 7px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 11px;
}

.dev-page-link {
    background: #f8fbff;
    border: 1px solid #dbe7f4;
    color: #17365d;
}

.dev-page-link:hover,
.dev-page-link.active {
    background: linear-gradient(135deg, #178b84 0%, #2563eb 100%);
    border-color: transparent;
    color: #fff;
}

.dev-page-link.disabled {
    background: #eef2f7;
    color: #94a3b8;
    cursor: not-allowed;
    pointer-events: none;
}

.dev-page-ellipsis {
    color: #94a3b8;
    min-width: 22px;
    padding: 0 2px;
}

@media (max-width: 767px) {
    .dev-member-list-heading,
    .dev-member-list-meta,
    .dev-member-pagination-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .dev-member-per-page-form,
    .dev-pagination-nav {
        justify-content: flex-start;
    }
}
/* Attendance workflow v48 */
.attendance-request-row {
    align-items: center;
    border: 1px solid #e5edf7;
    border-radius: 8px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 12px 14px;
}

.attendance-request-row form {
    margin: 0;
}

.dev-attendance-table select:disabled,
.dev-attendance-table input[readonly] {
    background: #f8fafc;
    color: #64748b;
}

@media (max-width: 767px) {
    .attendance-request-row {
        align-items: stretch;
        flex-direction: column;
    }
}
/* Chart title layout v51 */
.mp-report-chart-head > div {
    max-width: 100%;
    width: 100%;
}

.mp-report-chart-head .dev-info-badge {
    margin-bottom: 8px;
}

.mp-report-chart-head h5 {
    max-width: 100%;
}

@media (min-width: 992px) {
    .mp-chart-filter .form-control {
        min-width: 130px;
    }

    .mp-chart-filter input[type="date"].form-control {
        min-width: 160px;
    }
}
/* Header search position v52 */
.header .user-menu > li:first-child {
    align-items: center;
    display: inline-flex;
    height: 60px;
}

.header .top-nav-search,
.header .top-nav-search form {
    align-items: center;
    display: inline-flex;
    height: 60px;
    margin: 0;
}

.header .top-nav-search #searchdiv {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    margin: 0;
    padding: 0;
    position: relative;
    top: 0;
    width: 40px;
}

.header .top-nav-search #searchdiv img {
    display: block;
    height: 20px;
    width: 20px;
}

.header .top-nav-search #searchdiv:hover {
    background: #f1f5f9;
}

@media (max-width: 767px) {
    .header .top-nav-search,
    .header .top-nav-search form,
    .header .user-menu > li:first-child {
        height: 56px;
    }

    .header .top-nav-search #searchdiv {
        height: 38px;
        width: 38px;
    }
}
/* Training disciples column filters v53 */
.dev-training-list-heading {
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.dev-training-disciples-table thead th {
    vertical-align: middle;
}

.dev-column-filter-row th {
    background: #f8fbff;
    padding-bottom: 10px;
    padding-top: 10px;
}

.dev-column-filter-row .form-control {
    font-size: 13px;
    height: 38px;
    min-width: 96px;
    padding: 7px 10px;
}

.dev-column-filter-row input[type="number"].form-control {
    min-width: 78px;
}

@media (max-width: 767px) {
    .dev-training-list-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .dev-training-list-heading .btn {
        width: 100%;
    }
}
/* Training grade settings v54 */
.training-grade-config-head {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.training-grade-help {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    margin: 6px 0 0;
}

.training-weight-summary {
    align-items: flex-end;
    background: #f8fbff;
    border: 1px solid #dbe7f4;
    border-radius: 8px;
    color: #17365d;
    display: inline-flex;
    flex-direction: column;
    font-size: 12px;
    font-weight: 800;
    min-width: 170px;
    padding: 10px 12px;
}

.training-weight-summary strong {
    font-size: 15px;
    line-height: 1.2;
}

.training-weight-summary.is-valid {
    background: #eefbf6;
    border-color: #9ad8c0;
    color: #0f766e;
}

.training-weight-summary.is-invalid {
    background: #fff5f5;
    border-color: #ffc6c6;
    color: #b91c1c;
}

.training-grade-item {
    border: 1px solid #e5edf7;
    border-radius: 8px;
    padding: 12px;
}

.training-grade-item-title {
    color: #172554;
    display: block;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 10px;
}

.training-grade-input-pair {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.training-grade-input-pair label {
    margin: 0;
}

.training-grade-input-pair span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 5px;
}

@media (max-width: 767px) {
    .training-grade-config-head {
        align-items: stretch;
        flex-direction: column;
    }

    .training-weight-summary {
        align-items: flex-start;
        width: 100%;
    }
}
/* Training attendance smart layout v61 */
.dev-options-accordion {
    margin-bottom: 18px;
}

.dev-options-accordion .accordion-item {
    background: #fff;
    border: 1px solid #e5edf7;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.dev-options-accordion .accordion-button {
    background: #f8fbff;
    color: #172554;
    font-size: 15px;
    font-weight: 900;
    min-height: 52px;
}

.dev-options-accordion .accordion-button:not(.collapsed) {
    background: #eef6ff;
    color: #0f4c81;
}

.dev-options-accordion .accordion-button:focus {
    border-color: #bfdbfe;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.dev-options-accordion .accordion-body {
    padding: 18px;
}

.dev-accordion-subtitle {
    color: #172554;
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 12px;
}

.training-session-brief {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbe7f4;
    border-left: 4px solid #0f766e;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 16px 18px;
}

.training-session-eyebrow {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.training-session-brief h5 {
    color: #0f172a;
    font-size: 18px;
    font-weight: 900;
    margin: 0;
}

.training-session-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.training-session-meta span {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e5edf7;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 6px 10px;
}

.training-session-meta i {
    color: #0f766e;
    font-size: 12px;
}

.training-session-brief-side {
    background: #f8fafc;
    border: 1px solid #e5edf7;
    border-radius: 8px;
    min-width: 126px;
    padding: 10px 14px;
    text-align: right;
}

.training-session-brief-side span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.training-session-brief-side strong {
    color: #0f766e;
    display: block;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    margin-top: 5px;
}

.training-attendance-stats-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(176px, 1fr));
    margin-bottom: 18px;
}

.training-attendance-stat {
    --attendance-accent: #1d4ed8;
    background: #ffffff;
    border: 1px solid #dbe7f4;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.055);
    min-height: 112px;
    padding: 15px;
    position: relative;
}

.training-attendance-stat::before {
    background: var(--attendance-accent);
    border-radius: 999px;
    content: "";
    height: 4px;
    left: 15px;
    position: absolute;
    right: 15px;
    top: 0;
}

.training-attendance-stat > div {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.training-attendance-stat span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.training-attendance-stat strong {
    color: #0f172a;
    display: block;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
}

.training-attendance-stat small {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-top: 18px;
}

.training-attendance-stat.is-total { --attendance-accent: #1d4ed8; }
.training-attendance-stat.is-present { --attendance-accent: #0f766e; }
.training-attendance-stat.is-absent { --attendance-accent: #b91c1c; }
.training-attendance-stat.is-excused { --attendance-accent: #b45309; }
.training-attendance-stat.is-pending { --attendance-accent: #475569; }

@media (max-width: 767px) {
    .dev-options-accordion .accordion-body {
        padding: 14px;
    }

    .training-session-brief {
        align-items: stretch;
        flex-direction: column;
    }

    .training-session-brief-side {
        text-align: left;
    }

    .training-attendance-stat {
        min-height: 104px;
    }
}
/* Training grades and brevet v56 */
.training-grade-score-table {
    min-width: 980px;
}

.training-grade-score-table th,
.training-grade-score-table td {
    white-space: nowrap;
    vertical-align: middle;
}

.training-grade-score-table th:first-child,
.training-grade-score-table td:first-child {
    min-width: 230px;
}

.training-grade-score-table .training-grade-wide-col {
    min-width: 230px;
}

.training-grade-score-table .training-grade-percent-col {
    min-width: 92px;
}

.training-score-input {
    font-size: 14px;
    font-weight: 800;
    min-width: 78px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
}

.training-grade-wide-col .training-score-input {
    min-width: 160px;
    text-align: left;
}

.training-certificate-table th,
.training-certificate-table td {
    vertical-align: middle;
}

.training-passport-form {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 330px;
}

.training-passport-form .form-control {
    min-width: 170px;
}

.training-passport-thumb {
    border: 1px solid #dbe7f4;
    border-radius: 6px;
    height: 48px;
    object-fit: cover;
    width: 40px;
}

@media (max-width: 767px) {
    .training-passport-form {
        align-items: stretch;
        flex-direction: column;
        min-width: 220px;
    }

    .training-passport-thumb {
        height: 68px;
        width: 56px;
    }
}
/* Training editions dashboard v57 */
.training-edition-bar,
.training-edition-inline-form {
    align-items: end;
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    display: grid;
    gap: 12px;
    grid-template-columns: 160px minmax(220px, 1fr) auto;
    margin-bottom: 18px;
    padding: 14px;
}

.training-edition-inline-form {
    box-shadow: none;
    margin: 0;
    padding: 0;
}

.training-edition-bar label,
.training-edition-inline-form label {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.training-dashboard-header {
    align-items: flex-start;
    gap: 18px;
}

.training-dashboard-filter {
    margin-left: auto;
    max-width: 520px;
    width: min(520px, 100%);
}

.training-dashboard-filter .training-edition-inline-form {
    align-items: end;
    background: #ffffff;
    border: 1px solid #dbe7f4;
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
    display: grid;
    gap: 10px;
    grid-template-columns: 120px minmax(180px, 1fr) 150px;
    padding: 12px;
}

.training-filter-field label {
    color: #475569;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.training-settings-card {
    margin-bottom: 18px;
}

.training-settings-table {
    min-width: 780px;
}

.training-settings-table td,
.training-settings-table th {
    vertical-align: middle;
}

.training-settings-table td:first-child {
    color: #475569;
    font-weight: 900;
    white-space: nowrap;
}

.training-settings-table .form-control {
    min-width: 150px;
}

.training-pro-card-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    margin-bottom: 22px;
}

.training-pro-card {
    --training-card-accent: #2563eb;
    background: #ffffff;
    border: 1px solid #dbe7f4;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.07);
    min-height: 150px;
    overflow: hidden;
    padding: 18px;
    position: relative;
}

.training-pro-card::before {
    background: var(--training-card-accent);
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.training-pro-card-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}

.training-pro-card-head span {
    color: #475569;
    display: block;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.training-pro-card-head i {
    align-items: center;
    background: color-mix(in srgb, var(--training-card-accent) 12%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--training-card-accent) 28%, #ffffff);
    border-radius: 8px;
    color: var(--training-card-accent);
    display: inline-flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.training-pro-card strong {
    color: #0f172a;
    display: block;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
}

.training-pro-card small {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-top: 9px;
    min-height: 28px;
}

.training-pro-meter {
    background: #eef2f7;
    border-radius: 999px;
    height: 6px;
    margin-top: 14px;
    overflow: hidden;
}

.training-pro-meter span {
    background: var(--training-card-accent);
    border-radius: inherit;
    display: block;
    height: 100%;
    max-width: 100%;
}

.training-pro-card.is-blue { --training-card-accent: #1d4ed8; }
.training-pro-card.is-green { --training-card-accent: #0f766e; }
.training-pro-card.is-red { --training-card-accent: #b91c1c; }
.training-pro-card.is-teal { --training-card-accent: #0891b2; }
.training-pro-card.is-amber { --training-card-accent: #b45309; }
.training-pro-card.is-slate { --training-card-accent: #475569; }
.training-dashboard-table th,
.training-dashboard-table td {
    vertical-align: middle;
}

@media (max-width: 767px) {
    .training-edition-bar,
    .training-edition-inline-form {
        grid-template-columns: 1fr;
    }
}
/* Training certificate model v58 */
.training-certificate-logo-preview {
    background: #fff;
    border: 1px solid #dbe7f4;
    border-radius: 6px;
    display: block;
    height: 58px;
    object-fit: contain;
    padding: 6px;
    width: 140px;
}

.training-certificate-empty-preview {
    align-items: center;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    color: #64748b;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    height: 58px;
    justify-content: center;
    max-width: 180px;
    padding: 8px;
}

.training-certificate-body {
    min-height: 168px;
}
/* Training cotation pagination and certificate watermark v62 */
.training-grade-score-table td {
    padding-bottom: 10px;
    padding-top: 10px;
}

.training-grade-score-table .form-label {
    display: none;
}

.training-score-input {
    height: 38px;
}

.training-table-pagination {
    align-items: center;
    border-top: 1px solid #e5edf7;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 4px 0 16px;
    padding-top: 14px;
}

.training-table-pagination > span {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.training-pagination-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.training-pagination-links .btn {
    background: #ffffff;
    border: 1px solid #dbe7f4;
    color: #172554;
    font-weight: 900;
    min-width: 38px;
}

.training-pagination-links .btn.active {
    background: #172554;
    border-color: #172554;
    color: #ffffff;
}

.training-pagination-links .btn.disabled {
    opacity: 0.45;
    pointer-events: none;
}

.training-pagination-links span {
    color: #94a3b8;
    font-weight: 900;
    padding: 0 4px;
}

.training-certificate-watermark-note {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #dbe7f4;
    border-radius: 8px;
    color: #475569;
    display: flex;
    font-size: 13px;
    font-weight: 800;
    min-height: 58px;
    padding: 10px 12px;
}

@media (max-width: 767px) {
    .training-table-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .training-pagination-links {
        justify-content: flex-start;
    }
}
/* Dark mode hardening and training tables v63 */
body.theme-dark,
html.theme-dark body {
    background: #0b1220 !important;
}

body.theme-dark .page-wrapper,
body.theme-dark .content {
    background: #0b1220 !important;
}

body.theme-dark .modern-card,
body.theme-dark .settings-inner-card,
body.theme-dark .training-edition-bar,
body.theme-dark .training-edition-inline-form,
body.theme-dark .training-dashboard-filter .training-edition-inline-form,
body.theme-dark .training-session-context,
body.theme-dark .training-session-brief,
body.theme-dark .training-session-brief-side,
body.theme-dark .training-grade-item,
body.theme-dark .training-certificate-watermark-note,
body.theme-dark .dev-options-accordion .accordion-item,
body.theme-dark .dev-accordion .accordion-item,
body.theme-dark .training-table-pagination,
body.theme-dark .dataTables_wrapper,
body.theme-dark .dev-theme-table {
    background: #111827 !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #e5e7eb !important;
}

body.theme-dark .dev-options-accordion .accordion-button,
body.theme-dark .dev-options-accordion .accordion-button.collapsed,
body.theme-dark .dev-accordion .accordion-button.collapsed {
    background: #111827 !important;
    color: #f8fafc !important;
}

body.theme-dark .dev-options-accordion .accordion-button:not(.collapsed),
body.theme-dark .dev-accordion .accordion-button:not(.collapsed) {
    background: #1e293b !important;
    color: #f8fafc !important;
}

body.theme-dark .training-pro-card,
body.theme-dark .training-attendance-stat {
    background: #111827 !important;
    border-color: rgba(148, 163, 184, .22) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .28) !important;
}

body.theme-dark .training-pro-card strong,
body.theme-dark .training-attendance-stat strong,
body.theme-dark .training-session-brief h5,
body.theme-dark .training-session-context strong,
body.theme-dark .training-grade-item-title,
body.theme-dark .training-weight-summary strong,
body.theme-dark .training-filter-field label,
body.theme-dark .training-edition-bar label,
body.theme-dark .training-edition-inline-form label {
    color: #f8fafc !important;
}

body.theme-dark .training-pro-card small,
body.theme-dark .training-attendance-stat small,
body.theme-dark .training-session-eyebrow,
body.theme-dark .training-session-context span,
body.theme-dark .training-grade-help,
body.theme-dark .training-grade-input-pair span,
body.theme-dark .training-table-pagination > span,
body.theme-dark .training-certificate-watermark-note {
    color: #cbd5e1 !important;
}

body.theme-dark .training-session-meta span,
body.theme-dark .training-weight-summary,
body.theme-dark .dev-column-filter-row input,
body.theme-dark .dev-column-filter-row select,
body.theme-dark .training-pagination-links .btn {
    background: #0f172a !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #e5e7eb !important;
}

body.theme-dark .training-weight-summary.is-valid {
    background: rgba(20, 184, 166, .14) !important;
    border-color: rgba(45, 212, 191, .34) !important;
    color: #99f6e4 !important;
}

body.theme-dark .training-weight-summary.is-invalid {
    background: rgba(239, 68, 68, .14) !important;
    border-color: rgba(248, 113, 113, .34) !important;
    color: #fecaca !important;
}

body.theme-dark .dev-theme-table thead th,
body.theme-dark .training-grade-score-table thead th,
body.theme-dark .training-attendance-entry-table thead th {
    background: #172554 !important;
    color: #f8fafc !important;
}

body.theme-dark .dev-theme-table tbody tr,
body.theme-dark .training-grade-score-table tbody tr,
body.theme-dark .training-attendance-entry-table tbody tr {
    background: #111827 !important;
}

body.theme-dark .dev-theme-table tbody tr:hover,
body.theme-dark .training-grade-score-table tbody tr:hover,
body.theme-dark .training-attendance-entry-table tbody tr:hover {
    background: #1f2937 !important;
}

body.theme-dark .table-danger,
body.theme-dark .table-danger > th,
body.theme-dark .table-danger > td {
    background: rgba(239, 68, 68, .18) !important;
    color: #fee2e2 !important;
}

body.theme-dark .table-warning,
body.theme-dark .table-warning > th,
body.theme-dark .table-warning > td {
    background: rgba(245, 158, 11, .18) !important;
    color: #fef3c7 !important;
}

body.theme-dark .training-pagination-links .btn.active {
    background: #ff9f43 !important;
    border-color: #ff9f43 !important;
    color: #111827 !important;
}

body.theme-dark .btn-cancel {
    background: #1f2937 !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #e5e7eb !important;
}
/* Training cotation footer headers v64 */
.training-grade-score-table tfoot th {
    background: #eaf1fb;
    border-top: 1px solid #dbe7f4;
    color: #172554;
    font-size: 12px;
    font-weight: 900;
    padding: 12px;
    text-transform: uppercase;
    white-space: nowrap;
}

.training-grade-score-table .training-score-input::placeholder {
    color: #94a3b8;
    font-weight: 700;
}

body.theme-dark .training-grade-score-table tfoot th {
    background: #172554 !important;
    border-color: rgba(148, 163, 184, .22) !important;
    color: #f8fafc !important;
}

body.theme-dark .training-grade-score-table .training-score-input::placeholder {
    color: #94a3b8 !important;
}
/* Training pagination and mobile responsive v65 */
.training-table-pagination-top {
    border-top: 0;
    border-bottom: 1px solid #e5edf7;
    margin: 0 0 14px;
    padding: 0 0 12px;
}

.training-responsive-scroll,
.dev-training-mobile-scroll {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.training-responsive-scroll::after,
.dev-training-mobile-scroll::after {
    color: #94a3b8;
    content: "Glissez horizontalement pour voir tout le tableau";
    display: none;
    font-size: 12px;
    font-weight: 800;
    margin-top: 8px;
}

@media (max-width: 991px) {
    .training-dashboard-header,
    .modern-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .training-dashboard-filter,
    .modern-page-header .page-btn {
        margin-left: 0;
        width: 100%;
    }

    .modern-page-header .page-btn {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    }

    .modern-page-header .page-btn .btn,
    .modern-page-header .page-btn form,
    .modern-page-header .page-btn form .btn {
        margin: 0 !important;
        width: 100%;
    }

    .training-dashboard-filter .training-edition-inline-form,
    .training-edition-bar,
    .training-edition-inline-form {
        grid-template-columns: 1fr !important;
    }

    .training-session-context {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 10px;
    }
}

@media (max-width: 767px) {
    .modern-card > .card-body,
    .card.modern-card > .card-body {
        padding: 14px !important;
    }

    .training-pro-card-grid,
    .training-attendance-stats-grid {
        grid-template-columns: 1fr !important;
    }

    .training-pro-card,
    .training-attendance-stat {
        min-height: auto;
    }

    .training-grade-config-head,
    .training-session-brief {
        align-items: stretch;
        flex-direction: column;
    }

    .training-grade-input-pair {
        grid-template-columns: 1fr;
    }

    .training-passport-form {
        min-width: 0;
        width: 100%;
    }

    .training-certificate-logo-preview,
    .training-certificate-empty-preview {
        max-width: 100%;
        width: 100%;
    }

    .training-responsive-scroll::after,
    .dev-training-mobile-scroll::after {
        display: block;
    }

    .training-grade-score-table,
    .training-attendance-entry-table,
    .training-certificate-table,
    .dev-training-disciples-table,
    .training-dashboard-table {
        min-width: 760px;
    }

    .training-grade-score-table th:first-child,
    .training-grade-score-table td:first-child {
        min-width: 185px;
    }

    .training-grade-score-table .training-grade-wide-col {
        min-width: 190px;
    }

    .training-score-input {
        min-width: 70px;
    }

    .training-grade-wide-col .training-score-input {
        min-width: 150px;
    }

    .training-table-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .training-pagination-links {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
        white-space: nowrap;
    }
}

@media (max-width: 575px) {
    .training-edition-bar,
    .training-edition-inline-form,
    .training-dashboard-filter .training-edition-inline-form,
    .dev-options-accordion .accordion-body {
        padding: 12px;
    }

    .training-session-context {
        grid-template-columns: 1fr;
    }

    .training-session-context div {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .training-table-pagination > span {
        line-height: 1.35;
    }
}

body.theme-dark .training-table-pagination-top {
    border-bottom-color: rgba(148, 163, 184, .22) !important;
}
.central-cashbox-summary {
    margin-bottom: 28px;
}
.dev-activity-contributor-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin: 0 0 18px;
}
.dev-activity-contributor-summary > div {
    background: #f8fbff;
    border: 1px solid #e3edf9;
    border-radius: 8px;
    padding: 14px 16px;
}
.dev-activity-contributor-summary span,
.dev-activity-contributor-summary small {
    color: #637381;
    display: block;
    font-size: 12px;
    font-weight: 700;
}
.dev-activity-contributor-summary strong {
    color: #0b1f44;
    display: block;
    font-size: 18px;
    line-height: 1.35;
    margin: 5px 0 2px;
}
body.theme-dark .dev-activity-contributor-summary > div {
    background: #111827;
    border-color: rgba(148, 163, 184, .24);
}
body.theme-dark .dev-activity-contributor-summary strong {
    color: #f8fafc;
}
.dev-filter-button {
    align-items: center;
    display: inline-flex;
    font-weight: 800;
    gap: 6px;
    min-height: 42px;
    padding-inline: 18px;
}
.dev-activity-focus-card,
.dev-expense-available-card {
    background: linear-gradient(135deg, #f8fbff 0%, #eef7ff 100%);
    border: 1px solid #dcecff;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    margin: 0 0 18px;
    padding: 18px;
}
.dev-activity-focus-head {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 16px;
}
.dev-kicker,
.dev-expense-available-card span,
.dev-activity-money-grid span,
.dev-usage-line-meta span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}
.dev-activity-focus-head h5 {
    color: #0b1f44;
    font-size: 22px;
    line-height: 1.2;
    margin: 4px 0;
}
.dev-activity-focus-balance {
    background: #10205f;
    border-radius: 10px;
    color: #fff;
    min-width: 210px;
    padding: 13px 15px;
    text-align: right;
}
.dev-activity-focus-balance span {
    color: rgba(255, 255, 255, .72);
    display: block;
    font-size: 12px;
    font-weight: 800;
}
.dev-activity-focus-balance strong,
.dev-expense-available-card strong {
    display: block;
    font-size: 20px;
    line-height: 1.3;
}
.dev-activity-money-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-bottom: 16px;
}
.dev-activity-money-grid > div {
    background: rgba(255, 255, 255, .76);
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 8px;
    padding: 12px;
}
.dev-activity-money-grid strong,
.dev-usage-line-meta strong {
    color: #0f172a;
    display: block;
    font-size: 16px;
    line-height: 1.35;
    margin-top: 4px;
}
.dev-usage-line-meta {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 8px;
}
.dev-usage-track {
    background: #dbeafe;
    border-radius: 999px;
    height: 10px;
    overflow: hidden;
}
.dev-usage-track span {
    background: linear-gradient(90deg, #118c87, #2862dc);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
}
.dev-usage-line small,
.dev-expense-available-card small {
    color: #64748b;
    display: block;
    font-weight: 700;
    margin-top: 8px;
}
.dev-expense-available-card {
    margin-top: -4px;
}
.activity-row {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}
.activity-row a {
    color: #10205f;
    font-weight: 800;
    text-decoration: none;
}
body.theme-dark .dev-activity-focus-card,
body.theme-dark .dev-expense-available-card,
body.theme-dark .dev-activity-money-grid > div {
    background: #111827;
    border-color: rgba(148, 163, 184, .24);
}
body.theme-dark .dev-activity-focus-head h5,
body.theme-dark .dev-activity-money-grid strong,
body.theme-dark .dev-usage-line-meta strong,
body.theme-dark .dev-expense-available-card strong {
    color: #f8fafc;
}
@media (max-width: 767px) {
    .dev-activity-focus-head,
    .dev-usage-line-meta {
        align-items: stretch;
        flex-direction: column;
    }
    .dev-activity-focus-balance {
        min-width: 0;
        text-align: left;
    }
    .activity-row {
        grid-template-columns: 1fr;
    }
}
.central-close-breakdown {
    background: #f8fbff;
    border: 1px solid #dcecff;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    margin: 0 0 16px;
    padding: 12px;
}
.central-close-breakdown div {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.central-close-breakdown span {
    color: #637381;
    font-size: 12px;
    font-weight: 800;
}
.central-close-breakdown strong {
    color: #0b1f44;
    font-size: 14px;
}
body.theme-dark .central-close-breakdown {
    background: #111827;
    border-color: rgba(148, 163, 184, .24);
}
body.theme-dark .central-close-breakdown strong {
    color: #f8fafc;
}
.readonly-contrib-hero {
  align-items: center;
  background: linear-gradient(135deg, #10235f 0%, #138a82 100%);
  border-radius: 14px;
  box-shadow: 0 18px 38px rgba(15, 35, 95, 0.16);
  color: #fff;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 22px;
}

.readonly-contrib-hero h5 {
  color: #fff;
  font-size: 22px;
  margin: 4px 0 6px;
}

.readonly-contrib-hero p {
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
  max-width: 620px;
}

.readonly-contrib-hero .dev-kicker {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.readonly-contrib-hero-total {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  min-width: 210px;
  padding: 14px 16px;
  text-align: right;
}

.readonly-contrib-hero-total span,
.readonly-contrib-hero-total small {
  color: rgba(255, 255, 255, 0.78);
  display: block;
}

.readonly-contrib-hero-total strong {
  color: #fff;
  display: block;
  font-size: 24px;
  line-height: 1.2;
  margin: 4px 0;
}

.readonly-contrib-stats {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 18px;
}

.readonly-contrib-stat {
  background: #fff;
  border: 1px solid #e4ebf4;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(16, 35, 95, 0.07);
  padding: 17px 18px;
}

.readonly-contrib-stat span,
.readonly-contrib-stat small {
  color: #60738a;
  display: block;
}

.readonly-contrib-stat span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.readonly-contrib-stat strong {
  color: #061735;
  display: block;
  font-size: 28px;
  line-height: 1;
  margin: 10px 0 8px;
}

.readonly-contrib-filter {
  align-items: end;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.readonly-contrib-search {
  grid-column: span 2;
}

.readonly-contrib-filter-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

.readonly-contrib-note {
  align-items: center;
  background: #edf7f5;
  border-radius: 999px;
  color: #137a75;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 12px;
}

@media (max-width: 991.98px) {
  .readonly-contrib-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .readonly-contrib-hero-total {
    text-align: left;
  }

  .readonly-contrib-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .readonly-contrib-search {
    grid-column: span 2;
  }
}

@media (max-width: 575.98px) {
  .readonly-contrib-hero {
    border-radius: 10px;
    padding: 18px;
  }

  .readonly-contrib-filter {
    grid-template-columns: 1fr;
  }

  .readonly-contrib-search {
    grid-column: span 1;
  }

  .readonly-contrib-filter-actions {
    align-items: stretch;
    flex-direction: column;
  }
}
.contribution-visibility-options {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: 16px 0;
}

.contribution-visibility-option {
  align-items: flex-start;
  border: 1px solid #e1e8f1;
  border-radius: 12px;
  cursor: pointer;
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.contribution-visibility-option:hover,
.contribution-visibility-option.active {
  border-color: #1b7f7a;
  box-shadow: 0 12px 26px rgba(19, 122, 117, 0.12);
  transform: translateY(-1px);
}

.contribution-visibility-option input {
  margin-top: 3px;
}

.contribution-visibility-option strong,
.contribution-visibility-option small {
  display: block;
}

.contribution-visibility-option strong {
  color: #061735;
  margin-bottom: 4px;
}

.contribution-visibility-option small {
  color: #60738a;
  line-height: 1.4;
}

.readonly-contrib-disabled {
  align-items: center;
  background: #fff;
  border: 1px solid #e4ebf4;
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(16, 35, 95, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 260px;
  padding: 34px;
  text-align: center;
}

.readonly-contrib-disabled i {
  align-items: center;
  background: #edf7f5;
  border-radius: 50%;
  color: #137a75;
  display: inline-flex;
  font-size: 26px;
  height: 66px;
  justify-content: center;
  margin-bottom: 16px;
  width: 66px;
}

.readonly-contrib-disabled h5 {
  color: #061735;
  font-size: 22px;
  margin-bottom: 8px;
}

.readonly-contrib-disabled p {
  color: #60738a;
  margin: 0;
  max-width: 520px;
}
/* Dark mode global hardening v73 */
html.theme-dark,
html.theme-dark body,
body.theme-dark {
  background: #0b1220 !important;
  color: #e5e7eb !important;
  color-scheme: dark;
  min-height: 100%;
}

body.theme-dark .main-wrapper,
body.theme-dark .page-wrapper,
body.theme-dark .content,
body.theme-dark .page-wrapper > .content,
body.theme-dark .account-content,
body.theme-dark .sidebar,
body.theme-dark .sidebar-inner,
body.theme-dark .slimScrollDiv,
body.theme-dark .sidebar .sidebar-menu,
body.theme-dark .header,
body.theme-dark .footer {
  background: #0b1220 !important;
  color: #e5e7eb !important;
}

body.theme-dark .page-wrapper,
body.theme-dark .content {
  min-height: 100vh;
}

body.theme-dark .header {
  border-bottom-color: rgba(148, 163, 184, .18) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .22) !important;
}

body.theme-dark .sidebar {
  border-right-color: rgba(148, 163, 184, .18) !important;
  box-shadow: 12px 0 30px rgba(0, 0, 0, .16) !important;
}

body.theme-dark .sidebar .sidebar-menu > ul > li > a,
body.theme-dark .sidebar .sidebar-menu > ul > li > a span,
body.theme-dark .sidebar .sidebar-menu > ul > li > a i,
body.theme-dark .dev-submenu-list li a {
  color: #cbd5e1 !important;
}

body.theme-dark .sidebar .sidebar-menu > ul > li.active > a,
body.theme-dark .sidebar .sidebar-menu > ul > li > a:hover,
body.theme-dark .dev-submenu-list li.active > a,
body.theme-dark .dev-submenu-list li a:hover {
  background: rgba(255, 159, 67, .16) !important;
  color: #fff7ed !important;
}

body.theme-dark .sidebar .sidebar-menu > ul > li.active > a span,
body.theme-dark .sidebar .sidebar-menu > ul > li > a:hover span,
body.theme-dark .sidebar .sidebar-menu > ul > li.active > a i,
body.theme-dark .sidebar .sidebar-menu > ul > li > a:hover i,
body.theme-dark .dev-submenu-list li.active > a,
body.theme-dark .dev-submenu-list li a:hover {
  color: #fff7ed !important;
}

body.theme-dark .card,
body.theme-dark .modern-card,
body.theme-dark .settings-inner-card,
body.theme-dark .card .card-body,
body.theme-dark .modern-card > .card-body,
body.theme-dark .accordion-item,
body.theme-dark .dropdown-menu,
body.theme-dark .profile-mini,
body.theme-dark .activity-row,
body.theme-dark .readonly-contrib-stat,
body.theme-dark .readonly-contrib-disabled,
body.theme-dark .contribution-visibility-option,
body.theme-dark .dev-activity-focus-card,
body.theme-dark .dev-expense-available-card,
body.theme-dark .dev-activity-money-grid > div,
body.theme-dark .central-close-breakdown,
body.theme-dark .training-pro-card,
body.theme-dark .training-attendance-stat,
body.theme-dark .training-session-context,
body.theme-dark .training-session-brief,
body.theme-dark .training-session-brief-side,
body.theme-dark .training-grade-item,
body.theme-dark .training-table-pagination,
body.theme-dark .dataTables_wrapper,
body.theme-dark .dev-theme-table {
  background: #111827 !important;
  border-color: rgba(148, 163, 184, .22) !important;
  color: #e5e7eb !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .22) !important;
}

body.theme-dark .card-title,
body.theme-dark .page-title h4,
body.theme-dark .modern-page-header h4,
body.theme-dark .table-top h5,
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6,
body.theme-dark label,
body.theme-dark strong,
body.theme-dark .readonly-contrib-stat strong,
body.theme-dark .contribution-visibility-option strong,
body.theme-dark .readonly-contrib-disabled h5,
body.theme-dark .central-close-breakdown strong,
body.theme-dark .logged-user-name {
  color: #f8fafc !important;
}

body.theme-dark .page-title h6,
body.theme-dark .modern-page-header h6,
body.theme-dark .text-muted,
body.theme-dark small,
body.theme-dark .readonly-contrib-stat span,
body.theme-dark .readonly-contrib-stat small,
body.theme-dark .contribution-visibility-option small,
body.theme-dark .readonly-contrib-disabled p,
body.theme-dark .central-close-breakdown span,
body.theme-dark .profile-mini p,
body.theme-dark .profile-mini strong {
  color: #cbd5e1 !important;
}

body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark .form-control,
body.theme-dark .form-select,
body.theme-dark .auth-select,
body.theme-dark .pass-input,
body.theme-dark .dataTables_filter input,
body.theme-dark .dataTables_length select,
body.theme-dark .searchinputs input,
body.theme-dark .dev-column-filter-row input,
body.theme-dark .dev-column-filter-row select,
body.theme-dark .training-score-input,
body.theme-dark .training-grade-score-table input,
body.theme-dark .training-attendance-entry-table input,
body.theme-dark .training-attendance-entry-table select {
  background-color: #0f172a !important;
  border-color: rgba(148, 163, 184, .28) !important;
  color: #f8fafc !important;
}

body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder,
body.theme-dark .form-control::placeholder,
body.theme-dark .pass-input::placeholder,
body.theme-dark .training-score-input::placeholder {
  color: #94a3b8 !important;
  opacity: 1;
}

body.theme-dark input:disabled,
body.theme-dark select:disabled,
body.theme-dark textarea:disabled,
body.theme-dark input[readonly],
body.theme-dark textarea[readonly],
body.theme-dark .form-control:disabled,
body.theme-dark .form-control[readonly],
body.theme-dark .auth-select:disabled {
  background-color: #111827 !important;
  border-color: rgba(148, 163, 184, .18) !important;
  color: #94a3b8 !important;
  opacity: 1;
}

body.theme-dark input:focus,
body.theme-dark select:focus,
body.theme-dark textarea:focus,
body.theme-dark .form-control:focus,
body.theme-dark .auth-select:focus,
body.theme-dark .pass-input:focus {
  background-color: #0f172a !important;
  border-color: #ff9f43 !important;
  box-shadow: 0 0 0 3px rgba(255, 159, 67, .18) !important;
  color: #fff !important;
}

body.theme-dark select option {
  background: #0f172a !important;
  color: #f8fafc !important;
}

body.theme-dark .select2-container--default .select2-selection--single,
body.theme-dark .select2-container--default .select2-selection--multiple,
body.theme-dark .select2-dropdown,
body.theme-dark .select2-search--dropdown .select2-search__field {
  background: #0f172a !important;
  border-color: rgba(148, 163, 184, .28) !important;
  color: #f8fafc !important;
}

body.theme-dark .select2-container--default .select2-selection--single .select2-selection__rendered,
body.theme-dark .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.theme-dark .select2-container--default .select2-selection--multiple .select2-selection__choice,
body.theme-dark .select2-results__option,
body.theme-dark .select2-results__option[aria-selected],
body.theme-dark .select2-search--dropdown .select2-search__field {
  color: #f8fafc !important;
}

body.theme-dark .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #cbd5e1 transparent transparent transparent !important;
}

body.theme-dark .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #cbd5e1 transparent !important;
}

body.theme-dark .select2-container--default .select2-results__option[aria-selected=true] {
  background: #172554 !important;
  color: #f8fafc !important;
}

body.theme-dark .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: #2563eb !important;
  color: #ffffff !important;
}

body.theme-dark .table,
body.theme-dark table.dataTable {
  background: #111827 !important;
  color: #e5e7eb !important;
}

body.theme-dark .table thead th,
body.theme-dark table.dataTable thead th {
  background: #172554 !important;
  border-color: rgba(148, 163, 184, .18) !important;
  color: #f8fafc !important;
}

body.theme-dark .table tbody tr,
body.theme-dark table.dataTable tbody tr {
  background: #111827 !important;
}

body.theme-dark .table tbody tr:hover,
body.theme-dark table.dataTable tbody tr:hover {
  background: #1f2937 !important;
}

body.theme-dark .table th,
body.theme-dark .table td,
body.theme-dark table.dataTable th,
body.theme-dark table.dataTable td {
  border-color: rgba(148, 163, 184, .16) !important;
  color: #e5e7eb !important;
}

body.theme-dark .page-link,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button,
body.theme-dark .page-item.disabled .page-link {
  background: #0f172a !important;
  border-color: rgba(148, 163, 184, .24) !important;
  color: #e5e7eb !important;
}

body.theme-dark .page-item.active .page-link,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: #ff9f43 !important;
  border-color: #ff9f43 !important;
  color: #111827 !important;
}

body.theme-dark.account-page {
  background: radial-gradient(circle at top left, rgba(37, 99, 235, .18), transparent 34%),
              linear-gradient(135deg, #08111f 0%, #0f172a 58%, #0b1220 100%) !important;
  min-height: 100dvh;
  overflow-x: hidden;
}

body.theme-dark.account-page .main-wrapper,
body.theme-dark.account-page .account-content {
  background: transparent !important;
}

body.theme-dark.account-page .login-wrapper {
  background: #0f172a !important;
  border-color: rgba(148, 163, 184, .24) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .44) !important;
}

body.theme-dark.account-page .login-content,
body.theme-dark.account-page .login-userset {
  background: #0f172a !important;
  color: #e5e7eb !important;
}

body.theme-dark.account-page .login-userheading h3,
body.theme-dark.account-page .dev-auth-footer,
body.theme-dark.account-page .form-login label {
  color: #f8fafc !important;
}

body.theme-dark.account-page .login-userheading h4,
body.theme-dark.account-page .signinform h4 {
  color: #cbd5e1 !important;
}

body.theme-dark.account-page .auth-select,
body.theme-dark.account-page .pass-input,
body.theme-dark.account-page .form-control,
body.theme-dark.account-page .auth-select-wrap .select2-container--default .select2-selection--single {
  background: #111827 !important;
  border-color: rgba(148, 163, 184, .32) !important;
  color: #f8fafc !important;
}

body.theme-dark.account-page .auth-select:disabled,
body.theme-dark.account-page .auth-select-wrap .select2-container--default.select2-container--disabled .select2-selection--single {
  background: #0b1220 !important;
  border-color: rgba(148, 163, 184, .22) !important;
  color: #94a3b8 !important;
}

body.theme-dark.account-page .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__rendered,
body.theme-dark.account-page .auth-select-wrap .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #f8fafc !important;
}

body.theme-dark.account-page .auth-select-wrap .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__rendered,
body.theme-dark.account-page .auth-select-wrap .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__placeholder {
  color: #94a3b8 !important;
}

body.theme-dark.account-page .auth-select-wrap .dev-select-chevron {
  border-color: #cbd5e1 !important;
}

body.theme-dark.account-page .pass-group .toggle-password {
  color: #cbd5e1 !important;
}

body.theme-dark.account-page .login-img {
  background: linear-gradient(145deg, #0b1220, #111827 48%, #0f172a) !important;
}

body.theme-dark.account-page .login-img:before {
  background: linear-gradient(135deg, rgba(15, 118, 110, .08), rgba(37, 99, 235, .1)) !important;
}

body.theme-dark .dev-auth-footer {
  color: #f8fafc !important;
}

@media (max-width: 991px) {
  body.theme-dark.account-page {
    overflow-y: auto !important;
  }

  body.theme-dark.account-page .account-content {
    min-height: 100dvh !important;
  }
}
/* Personal contribution first v74 */
.dev-personal-contribution-card,
.dev-monthly-self-card {
  margin-bottom: 24px;
}

.dev-personal-activity-list {
  display: grid;
  gap: 12px;
}

.dev-personal-activity-row {
  align-items: center;
  border: 1px solid #e4ebf4;
  border-radius: 12px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(130px, 1fr)) auto;
  padding: 14px 16px;
}

.dev-personal-activity-row span,
.dev-personal-activity-row small,
.dev-personal-activity-row em {
  color: #60738a;
  display: block;
  font-style: normal;
}

.dev-personal-activity-row strong {
  color: #061735;
  display: block;
}

.dev-personal-activity-row a {
  color: #1d4ed8;
  font-weight: 800;
  white-space: nowrap;
}

.dev-empty-personal-contrib {
  align-items: center;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
  min-height: 170px;
  text-align: center;
}

.dev-empty-personal-contrib i {
  align-items: center;
  background: #edf7f5;
  border-radius: 50%;
  color: #137a75;
  display: inline-flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}

.dev-empty-personal-contrib p {
  color: #60738a;
  margin: 0;
}

.dev-month-schedule-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.dev-month-schedule-item {
  background: #f8fafc;
  border: 1px solid #e4ebf4;
  border-left: 5px solid #94a3b8;
  border-radius: 12px;
  color: #061735;
  display: block;
  min-height: 118px;
  padding: 13px 14px;
}

.dev-month-schedule-item span,
.dev-month-schedule-item small,
.dev-month-schedule-item em {
  color: #60738a;
  display: block;
  font-style: normal;
}

.dev-month-schedule-item strong {
  color: #061735;
  display: block;
  font-size: 16px;
  margin: 7px 0;
}

.dev-month-schedule-item.is-paid {
  border-left-color: #16a34a;
}

.dev-month-schedule-item.is-pending {
  border-left-color: #2563eb;
}

.dev-month-schedule-item.is-partial {
  border-left-color: #f59e0b;
}

.dev-month-schedule-item.is-unpaid {
  border-left-color: #dc2626;
}

body.theme-dark .dev-personal-activity-row,
body.theme-dark .dev-empty-personal-contrib,
body.theme-dark .dev-month-schedule-item {
  background: #0f172a !important;
  border-color: rgba(148, 163, 184, .24) !important;
}

body.theme-dark .dev-personal-activity-row strong,
body.theme-dark .dev-month-schedule-item strong {
  color: #f8fafc !important;
}

body.theme-dark .dev-personal-activity-row span,
body.theme-dark .dev-personal-activity-row small,
body.theme-dark .dev-personal-activity-row em,
body.theme-dark .dev-empty-personal-contrib p,
body.theme-dark .dev-month-schedule-item span,
body.theme-dark .dev-month-schedule-item small,
body.theme-dark .dev-month-schedule-item em {
  color: #cbd5e1 !important;
}

body.theme-dark .dev-personal-activity-row a {
  color: #93c5fd !important;
}

@media (max-width: 991.98px) {
  .dev-personal-activity-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 575.98px) {
  .dev-personal-activity-row {
    grid-template-columns: 1fr;
  }
}
/* Training planning designer v75 */
.training-planning-summary {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(260px, .9fr) minmax(0, 1.7fr);
  margin-bottom: 18px;
}

.training-planning-hero,
.training-planning-metrics > div {
  background: #fff;
  border: 1px solid #dbe7f4;
  border-radius: 10px;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .055);
}

.training-planning-hero {
  border-left: 5px solid #0f766e;
  padding: 18px;
}

.training-planning-hero span,
.training-planning-metrics span {
  color: #64748b;
  display: block;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.training-planning-hero h5 {
  color: #0f172a;
  font-size: 22px;
  font-weight: 900;
  margin: 7px 0;
}

.training-planning-hero p {
  color: #475569;
  font-weight: 700;
  margin: 0;
}

.training-planning-metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
}

.training-planning-metrics > div {
  min-height: 92px;
  padding: 15px;
}

.training-planning-metrics strong {
  color: #061735;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  margin-top: 10px;
}

.training-planning-form .form-label {
  font-weight: 900;
}
.training-inline-add-col {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.training-inline-add-btn {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  height: 48px;
  justify-content: center;
  min-width: 58px;
  padding: 0 18px;
}

.training-planning-table {
  min-width: 1180px;
}

.training-planning-table th,
.training-planning-table td {
  vertical-align: middle;
}

.training-planning-table td strong {
  color: #0f172a;
}

.training-planning-table td small {
  color: #64748b;
  font-weight: 700;
}

.training-planning-badge {
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 900;
  padding: 7px 10px;
  white-space: nowrap;
}

.training-planning-badge.is-lesson { background: #dbeafe; color: #1e3a8a; }
.training-planning-badge.is-catchup { background: #fef3c7; color: #92400e; }
.training-planning-badge.is-outing { background: #dcfce7; color: #166534; }
.training-planning-badge.is-exam { background: #fee2e2; color: #991b1b; }
.training-planning-badge.is-prayer { background: #ede9fe; color: #5b21b6; }
.training-planning-badge.is-event { background: #cffafe; color: #155e75; }
.training-planning-badge.is-other { background: #e2e8f0; color: #334155; }

.training-planning-linked {
  color: #0f766e;
  font-weight: 900;
}

body.theme-dark .training-planning-hero,
body.theme-dark .training-planning-metrics > div {
  background: #0f172a !important;
  border-color: rgba(148, 163, 184, .24) !important;
}

body.theme-dark .training-planning-hero h5,
body.theme-dark .training-planning-metrics strong,
body.theme-dark .training-planning-table td strong {
  color: #f8fafc !important;
}

body.theme-dark .training-planning-hero span,
body.theme-dark .training-planning-hero p,
body.theme-dark .training-planning-metrics span,
body.theme-dark .training-planning-table td small {
  color: #cbd5e1 !important;
}

body.theme-dark .training-planning-linked {
  color: #5eead4 !important;
}
body.theme-dark .training-inline-add-btn {
  color: #ffffff !important;
}

@media (max-width: 991.98px) {
  .training-planning-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .training-planning-metrics {
    grid-template-columns: 1fr 1fr;
  }
}
/* auth-login-final-override */
html body.account-page .login-wrapper .login-content .form-login button.btn-login,
html body.account-page .login-wrapper .login-content .form-login button.btn-login:hover,
html body.account-page .login-wrapper .login-content .form-login button.btn-login:focus,
html body.account-page .login-wrapper .login-content .form-login button.btn-login:active,
html body.account-page .login-wrapper .login-content .form-login button.btn-login:focus-visible {
    background: linear-gradient(135deg, var(--dev-teal), var(--dev-blue)) !important;
    background-color: var(--dev-blue) !important;
    background-image: linear-gradient(135deg, var(--dev-teal), var(--dev-blue)) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

html body.account-page .login-wrapper .login-content .form-login button.btn-login:hover,
html body.account-page .login-wrapper .login-content .form-login button.btn-login:focus {
    filter: brightness(.97);
    transform: translateY(-1px);
}
/* auth-login-button-hard-override */
#authLoginButton.btn-login,
#authLoginButton.btn-login:hover,
#authLoginButton.btn-login:focus,
#authLoginButton.btn-login:active,
#authLoginButton.btn-login:focus-visible,
html body.account-page #authForm #authLoginButton.btn-login,
html body.account-page #authForm #authLoginButton.btn-login:hover,
html body.account-page #authForm #authLoginButton.btn-login:focus,
html body.account-page #authForm #authLoginButton.btn-login:active,
html body.account-page #authForm #authLoginButton.btn-login:focus-visible {
    appearance: none !important;
    -webkit-appearance: none !important;
    align-items: center !important;
    background: #2563eb linear-gradient(135deg, #0f766e 0%, #2563eb 100%) !important;
    background-color: #2563eb !important;
    background-image: linear-gradient(135deg, #0f766e 0%, #2563eb 100%) !important;
    border: 0 !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, .18) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    justify-content: center !important;
    opacity: 1 !important;
    text-decoration: none !important;
    -webkit-text-fill-color: #ffffff !important;
}

#authLoginButton.btn-login:hover,
html body.account-page #authForm #authLoginButton.btn-login:hover {
    background: #1d4ed8 linear-gradient(135deg, #0d9488 0%, #2563eb 100%) !important;
    background-color: #1d4ed8 !important;
    background-image: linear-gradient(135deg, #0d9488 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
/* dev-cashbox-ledger-v1 */
.dev-cashbox-accordion {
    overflow: hidden;
}

.dev-cashbox-accordion > summary {
    list-style: none;
}

.dev-cashbox-accordion > summary::-webkit-details-marker {
    display: none;
}

.dev-cashbox-summary {
    align-items: center;
    background: #edf5ff;
    border-bottom: 1px solid #d7e3f1;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    min-height: 64px;
    padding: 16px 20px;
}

.dev-cashbox-summary > span {
    align-items: center;
    display: inline-flex;
    gap: 10px;
}

.dev-cashbox-summary i {
    color: #2563eb;
}

.dev-cashbox-summary small {
    color: #64748b;
}

.dev-transfer-availability {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ef;
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
    padding: 12px 16px;
}

.dev-transfer-availability span {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.dev-transfer-availability strong {
    color: #0f766e;
    font-size: 18px;
}

.dev-movement-filter {
    grid-template-columns: minmax(150px, .8fr) minmax(170px, 1fr) minmax(140px, .8fr) minmax(200px, 1.1fr) minmax(200px, 1.2fr) auto;
}

.dev-movement-kpis {
    margin-bottom: 18px;
}

.dev-movement-kpi {
    background: #ffffff;
    border: 1px solid #e1e8f0;
    border-left: 4px solid #2563eb;
    border-radius: 6px;
    min-height: 92px;
    padding: 17px 19px;
}

.dev-movement-kpi span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 7px;
    text-transform: uppercase;
}

.dev-movement-kpi strong {
    color: #0f172a;
    font-size: 24px;
}

.dev-movement-kpi.entry {
    border-left-color: #10b981;
}

.dev-movement-kpi.exit {
    border-left-color: #ef4444;
}

.dev-movement-kpi.transfer {
    border-left-color: #2563eb;
}

.dev-movement-table th,
.dev-movement-table td {
    vertical-align: middle;
}

.dev-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    margin-top: 16px;
}

.dev-pagination a {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d8e0ea;
    border-radius: 5px;
    color: #334155;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    min-width: 36px;
    padding: 0 10px;
}

.dev-pagination a.active {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

.dev-finance-admin-card {
    background: #ffffff;
    border: 1px solid #e1e8f0;
    border-radius: 7px;
    margin-bottom: 18px;
    padding: 18px;
}

.dev-finance-admin-head {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
}

.dev-finance-admin-head strong,
.dev-finance-admin-head small {
    display: block;
}

.dev-finance-admin-head small {
    color: #64748b;
}

.dev-finance-admin-avatar {
    align-items: center;
    background: #e8f0ff;
    border-radius: 50%;
    color: #2563eb;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.dev-finance-admin-card dl {
    border-bottom: 1px solid #edf0f4;
    border-top: 1px solid #edf0f4;
    margin: 15px 0 12px;
    padding: 10px 0;
}

.dev-finance-admin-card dl div {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 4px 0;
}

.dev-finance-admin-card dt {
    color: #64748b;
    font-weight: 500;
}

.dev-finance-admin-card dd {
    color: #0f172a;
    font-weight: 700;
    margin: 0;
    text-align: right;
}

.dev-finance-admin-card > a {
    color: #2563eb;
    font-weight: 700;
}

.dev-audit-payload {
    line-height: 1.5;
    max-width: 680px;
    overflow-wrap: anywhere;
}

body.theme-dark .dev-cashbox-summary,
html.theme-dark .dev-cashbox-summary {
    background: #182337;
    border-color: #334155;
}

body.theme-dark .dev-cashbox-summary small,
html.theme-dark .dev-cashbox-summary small,
body.theme-dark .dev-transfer-availability span,
html.theme-dark .dev-transfer-availability span {
    color: #94a3b8;
}

body.theme-dark .dev-transfer-availability,
html.theme-dark .dev-transfer-availability,
body.theme-dark .dev-movement-kpi,
html.theme-dark .dev-movement-kpi,
body.theme-dark .dev-finance-admin-card,
html.theme-dark .dev-finance-admin-card {
    background: #111827;
    border-color: #334155;
}

body.theme-dark .dev-movement-kpi strong,
html.theme-dark .dev-movement-kpi strong,
body.theme-dark .dev-finance-admin-card dd,
html.theme-dark .dev-finance-admin-card dd {
    color: #f8fafc;
}

body.theme-dark .dev-finance-admin-card dl,
html.theme-dark .dev-finance-admin-card dl {
    border-color: #334155;
}

@media (max-width: 1199.98px) {
    .dev-movement-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .dev-cashbox-summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .dev-movement-filter {
        grid-template-columns: 1fr;
    }

    .dev-movement-kpi {
        margin-bottom: 10px;
    }

    .dev-finance-admin-head {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .dev-finance-admin-head .badges {
        grid-column: 2;
        justify-self: start;
    }
}
/* dev-finance-audit-wrap-v1 */
.dev-activity-table th:nth-child(5),
.dev-activity-table td:nth-child(5),
.dev-audit-payload {
    max-width: 520px;
    min-width: 320px;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: break-word;
}

.dev-activity-table {
    min-width: 1050px;
}

@media (max-width: 767.98px) {
    .dev-activity-table th:nth-child(5),
    .dev-activity-table td:nth-child(5),
    .dev-audit-payload {
        max-width: 360px;
        min-width: 260px;
    }
}
/* dev-shortfall-transfer-modal-v1 */
.dev-shortfall-modal .modal-dialog {
    max-width: 610px;
}

.dev-shortfall-modal .modal-content {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
    overflow: hidden;
}

.dev-shortfall-modal .modal-header {
    align-items: flex-start;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 20px 22px;
}

.dev-shortfall-modal .modal-header > div {
    display: grid;
    gap: 2px 12px;
    grid-template-columns: 42px minmax(0, 1fr);
}

.dev-shortfall-modal .dev-modal-icon {
    align-items: center;
    background: #fff1e7;
    border-radius: 50%;
    color: #ea580c;
    display: inline-flex;
    grid-row: 1 / 3;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.dev-shortfall-modal .modal-title {
    color: #0f172a;
    font-size: 19px;
    font-weight: 800;
}

.dev-shortfall-modal .modal-header p {
    color: #64748b;
    font-size: 13px;
    margin: 2px 0 0;
}

.dev-shortfall-modal .modal-body {
    padding: 22px;
}

.dev-shortfall-breakdown {
    border: 1px solid #dce5ef;
    border-radius: 7px;
    margin-bottom: 20px;
    overflow: hidden;
}

.dev-shortfall-breakdown > div {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 11px 14px;
}

.dev-shortfall-breakdown > div + div {
    border-top: 1px solid #e7edf4;
}

.dev-shortfall-breakdown span {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.dev-shortfall-breakdown strong {
    color: #0f172a;
    font-size: 14px;
    text-align: right;
}

.dev-shortfall-breakdown .missing {
    background: #fff4f4;
}

.dev-shortfall-breakdown .missing span,
.dev-shortfall-breakdown .missing strong {
    color: #dc2626;
}

.dev-transfer-note {
    align-items: flex-start;
    background: #eef7ff;
    border: 1px solid #cfe4fa;
    border-radius: 6px;
    color: #315474;
    display: flex;
    font-size: 12px;
    gap: 9px;
    line-height: 1.55;
    margin-top: 14px;
    padding: 11px 13px;
}

.dev-transfer-note i {
    color: #2563eb;
    margin-top: 3px;
}

.dev-shortfall-modal .modal-footer {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    gap: 8px;
    padding: 14px 22px;
}

body.theme-dark .dev-shortfall-modal .modal-content,
html.theme-dark .dev-shortfall-modal .modal-content,
body.theme-dark .dev-shortfall-modal .modal-body,
html.theme-dark .dev-shortfall-modal .modal-body {
    background: #111827;
    color: #e5e7eb;
}

body.theme-dark .dev-shortfall-modal .modal-header,
body.theme-dark .dev-shortfall-modal .modal-footer,
html.theme-dark .dev-shortfall-modal .modal-header,
html.theme-dark .dev-shortfall-modal .modal-footer {
    background: #182337;
    border-color: #334155;
}

body.theme-dark .dev-shortfall-modal .modal-title,
body.theme-dark .dev-shortfall-breakdown strong,
html.theme-dark .dev-shortfall-modal .modal-title,
html.theme-dark .dev-shortfall-breakdown strong {
    color: #f8fafc;
}

body.theme-dark .dev-shortfall-breakdown,
html.theme-dark .dev-shortfall-breakdown {
    border-color: #334155;
}

body.theme-dark .dev-shortfall-breakdown > div + div,
html.theme-dark .dev-shortfall-breakdown > div + div {
    border-color: #334155;
}

body.theme-dark .dev-shortfall-breakdown .missing,
html.theme-dark .dev-shortfall-breakdown .missing {
    background: rgba(220, 38, 38, .12);
}

body.theme-dark .dev-transfer-note,
html.theme-dark .dev-transfer-note {
    background: rgba(37, 99, 235, .12);
    border-color: rgba(96, 165, 250, .3);
    color: #bfdbfe;
}

@media (max-width: 575.98px) {
    .dev-shortfall-modal .modal-dialog {
        margin: 12px;
    }

    .dev-shortfall-modal .modal-header,
    .dev-shortfall-modal .modal-body,
    .dev-shortfall-modal .modal-footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .dev-shortfall-breakdown > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .dev-shortfall-breakdown strong {
        text-align: left;
    }

    .dev-shortfall-modal .modal-footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .dev-shortfall-modal .modal-footer .btn {
        width: 100%;
    }
}
/* dev-finance-budget-v1 */
.dev-budget-toolbar .card-body {
    align-items: flex-end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.dev-budget-toolbar .finance-filter {
    flex: 1 1 360px;
    margin: 0;
}

.dev-budget-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.dev-budget-actions form {
    margin: 0;
}

.dev-budget-actions select {
    min-width: 140px;
}

.dev-budget-summary-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 18px;
}

.dev-budget-kpi {
    background: #fff;
    border: 1px solid #e0e7ef;
    border-left: 4px solid #64748b;
    border-radius: 7px;
    min-height: 126px;
    padding: 18px;
}

.dev-budget-kpi span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.dev-budget-kpi strong {
    color: #0f172a;
    display: block;
    font-size: 23px;
    line-height: 1.2;
    margin: 10px 0 7px;
}

.dev-budget-kpi small {
    color: #64748b;
    line-height: 1.4;
}

.dev-budget-kpi.opening { border-left-color: #3b82f6; }
.dev-budget-kpi.income { border-left-color: #10b981; }
.dev-budget-kpi.expense { border-left-color: #ef4444; }
.dev-budget-kpi.balance { border-left-color: #1f2a54; }
.dev-budget-kpi.rate { border-left-color: #f59e0b; }

.dev-budget-accordion > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 18px 22px;
}

.dev-budget-accordion > summary::-webkit-details-marker {
    display: none;
}

.dev-budget-accordion > summary span {
    align-items: center;
    display: flex;
    gap: 10px;
}

.dev-budget-accordion > summary i {
    color: #2563eb;
}

.dev-budget-accordion > summary small {
    color: #64748b;
}

.dev-budget-section-row td {
    background: #eef4ff !important;
    color: #1f2a54;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.dev-budget-origin-note {
    color: #64748b;
    display: block;
    line-height: 1.4;
    margin-top: 5px;
    max-width: 760px;
}

body.theme-dark .dev-budget-origin-note,
html.theme-dark .dev-budget-origin-note {
    color: #94a3b8;
}

.dev-budget-table td,
.dev-budget-table th {
    vertical-align: middle;
}

.dev-budget-table {
    width: 100%;
}

.dev-budget-progress {
    background: #e2e8f0;
    border-radius: 999px;
    display: inline-block;
    height: 7px;
    margin-right: 7px;
    overflow: hidden;
    vertical-align: middle;
    width: 68px;
}

.dev-budget-progress span {
    background: linear-gradient(90deg, #168b8f, #2563eb);
    display: block;
    height: 100%;
}

.dev-budget-actual-list {
    border-top: 1px solid #e2e8f0;
    margin-top: 18px;
    padding-top: 8px;
}

.dev-budget-actual-form > .col-12:last-child {
    border-top: 1px solid #edf1f5;
    margin-top: 2px;
    padding-top: 14px;
}

.dev-budget-actual-form > .col-12:last-child .btn {
    min-width: 210px;
}

.dev-budget-expense-form > .col-12:last-child {
    align-items: center;
    border-top: 1px solid #edf1f5;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-top: 2px;
    padding-top: 14px;
}

.dev-budget-execution-hint {
    color: #64748b;
    line-height: 1.45;
}

body.theme-dark .dev-budget-execution-hint,
html.theme-dark .dev-budget-execution-hint {
    color: #94a3b8;
}

.dev-budget-actual-list > div {
    align-items: center;
    border-bottom: 1px solid #edf1f5;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px 0;
}

.dev-budget-actual-list span {
    min-width: 0;
}

.dev-budget-actual-list small {
    color: #64748b;
    display: block;
}

.dev-budget-actual-list span:last-child {
    align-items: center;
    display: flex;
    gap: 8px;
}

.dev-budget-actual-list form {
    margin: 0;
}

.dev-budget-actual-list button {
    background: transparent;
    border: 0;
    color: #ef4444;
}

.dev-budget-chart-wrap {
    height: 340px;
}

.dev-budget-period-list {
    display: grid;
    gap: 8px;
}

.dev-budget-period-list > a {
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    color: #0f172a;
    display: flex;
    justify-content: space-between;
    padding: 11px 13px;
}

.dev-budget-period-list > a:hover {
    border-color: #2563eb;
}

.dev-budget-period-list small {
    color: #64748b;
    display: block;
}

.dev-budget-empty {
    padding: 46px 24px;
    text-align: center;
}

.dev-budget-empty > i {
    color: #2563eb;
    font-size: 42px;
    margin-bottom: 14px;
}

body.theme-dark .dev-budget-kpi,
html.theme-dark .dev-budget-kpi {
    background: #111827;
    border-color: #334155;
}

body.theme-dark .dev-budget-kpi strong,
body.theme-dark .dev-budget-period-list > a,
html.theme-dark .dev-budget-kpi strong,
html.theme-dark .dev-budget-period-list > a {
    color: #f8fafc;
}

body.theme-dark .dev-budget-period-list > a,
html.theme-dark .dev-budget-period-list > a {
    border-color: #334155;
}

body.theme-dark .dev-budget-section-row td,
html.theme-dark .dev-budget-section-row td {
    background: #17233a !important;
    color: #bfdbfe;
}

@media (max-width: 1199.98px) {
    .dev-budget-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .dev-budget-table {
        table-layout: fixed;
    }

    .dev-budget-table th,
    .dev-budget-table td {
        font-size: 12px;
        overflow-wrap: anywhere;
        padding-left: 8px;
        padding-right: 8px;
    }

    .dev-budget-table th:nth-child(2),
    .dev-budget-table td:nth-child(2),
    .dev-budget-table td:nth-child(2) strong,
    .dev-budget-table td:nth-child(2) small {
        max-width: 100%;
        overflow-wrap: anywhere;
        white-space: normal !important;
        word-break: normal;
    }

    .dev-budget-table td:nth-child(2) strong,
    .dev-budget-table td:nth-child(2) small {
        display: block;
        line-height: 1.35;
    }

    .dev-budget-table th:nth-child(3),
    .dev-budget-table td:nth-child(3),
    .dev-budget-table th:nth-child(4),
    .dev-budget-table td:nth-child(4),
    .dev-budget-table th:nth-child(6),
    .dev-budget-table td:nth-child(6) {
        white-space: nowrap !important;
    }

    .dev-budget-table th:nth-child(1) { width: 6%; }
    .dev-budget-table th:nth-child(2) { width: 27%; }
    .dev-budget-table th:nth-child(3),
    .dev-budget-table th:nth-child(4),
    .dev-budget-table th:nth-child(6) { width: 10%; }
    .dev-budget-table th:nth-child(5) { width: 12%; }
    .dev-budget-table th:nth-child(7) { width: 13%; }
    .dev-budget-table th:nth-child(8) { width: 12%; }

    .dev-budget-progress {
        max-width: 58px;
        width: 55%;
    }
}

@media (max-width: 767.98px) {
    .dev-budget-table {
        min-width: 900px;
    }
}

@media (max-width: 767.98px) {
    .dev-budget-toolbar .card-body {
        align-items: stretch;
        flex-direction: column;
    }

    .dev-budget-actions,
    .dev-budget-actions form,
    .dev-budget-actions .btn,
    .dev-budget-actions select {
        width: 100%;
    }

    .dev-budget-summary-grid {
        grid-template-columns: 1fr;
    }

    .dev-budget-kpi {
        min-height: 0;
    }

    .dev-budget-accordion > summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .dev-budget-actual-form > .col-12:last-child .btn {
        min-width: 0;
        width: 100%;
    }

    .dev-budget-expense-form > .col-12:last-child {
        align-items: stretch;
        flex-direction: column;
    }

    .dev-budget-expense-form > .col-12:last-child .btn {
        width: 100%;
    }
}

/* dev-finance-budget-v2 */
.dev-plan-page-header {
    margin-bottom: 16px;
}

.dev-plan-toolbar .card-body {
    align-items: flex-end;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.dev-plan-month-form {
    align-items: flex-end;
    display: flex;
    gap: 10px;
    margin: 0;
}

.dev-plan-month-form .form-group {
    min-width: 230px;
}

.dev-plan-toolbar-status {
    align-items: center;
    display: flex;
    gap: 12px;
}

.dev-plan-toolbar-status > span:first-child {
    color: #1f2a54;
    font-size: 17px;
    font-weight: 800;
}

.dev-plan-toolbar-status form {
    margin: 0;
}

.dev-plan-toolbar-status select {
    min-width: 135px;
}

.dev-plan-section {
    margin: 26px 0 32px;
}

.dev-plan-section-heading {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    margin-bottom: 15px;
}

.dev-plan-section-accordion > summary {
    cursor: pointer;
    list-style: none;
}

.dev-plan-section-accordion > summary::-webkit-details-marker {
    display: none;
}

.dev-plan-accordion-icon {
    color: #64748b;
    transition: transform .2s ease;
}

.dev-plan-section-accordion[open] > summary .dev-plan-accordion-icon {
    transform: rotate(180deg);
}

.dev-plan-rate {
    background: #eff6ff;
    border-radius: 999px;
    color: #1d4ed8;
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    min-width: 58px;
    padding: 5px 8px;
    text-align: center;
}

.dev-plan-section-heading h2 {
    color: #14213d;
    font-size: 22px;
    margin: 0 0 3px;
}

.dev-plan-section-heading p,
.dev-plan-panel-title p {
    color: #64748b;
    margin: 0;
}

.dev-plan-step {
    align-items: center;
    background: #1f2a54;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 18px;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.dev-plan-total {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 8px;
    min-width: 220px;
    padding: 11px 15px;
    text-align: right;
}

.dev-plan-total.expense {
    background: #fff7ed;
    border-color: #fed7aa;
}

.dev-plan-total small,
.dev-plan-execution-kpis small {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.dev-plan-total strong {
    color: #047857;
    display: block;
    font-size: 21px;
    margin-top: 3px;
}

.dev-plan-total.expense strong {
    color: #c2410c;
}

.dev-plan-two-columns {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dev-plan-panel,
.dev-plan-wide-card {
    margin-bottom: 0;
}

.dev-plan-panel-title {
    align-items: flex-start;
    border-bottom: 1px solid #e8edf3;
    display: flex;
    gap: 15px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 14px;
}

.dev-plan-panel-title h3 {
    color: #172554;
    font-size: 18px;
    margin: 0 0 4px;
}

.dev-plan-panel-title > span {
    background: #eff6ff;
    border-radius: 999px;
    color: #1d4ed8;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 9px;
}

.dev-plan-entry-form {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 18px;
    padding: 15px;
}

.dev-plan-entry-form .form-group,
.dev-plan-expense-entry .form-group {
    margin-bottom: 12px;
}

.dev-plan-entry-form label,
.dev-plan-expense-entry label {
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.dev-plan-entry-form label small,
.dev-plan-expense-entry label small {
    color: #94a3b8;
    font-weight: 500;
}

.dev-plan-amount-row {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) 105px;
}

.dev-plan-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dev-plan-simple-table,
.dev-plan-table {
    margin-bottom: 0;
}

.dev-plan-simple-table th,
.dev-plan-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.dev-plan-simple-table td,
.dev-plan-table td {
    vertical-align: middle;
}

.dev-plan-simple-table td strong,
.dev-plan-table td strong {
    color: #172554;
    display: block;
}

.dev-plan-simple-table td small,
.dev-plan-table td small {
    color: #64748b;
    display: block;
    line-height: 1.3;
    margin-top: 2px;
}

.dev-plan-simple-table td:last-child,
.dev-plan-table td:last-child {
    text-align: right;
}

.dev-plan-simple-table tfoot th,
.dev-plan-table tfoot th {
    background: #eef4ff;
    color: #1f2a54;
    font-size: 12px;
}

.dev-plan-empty-row {
    color: #94a3b8 !important;
    padding: 24px !important;
    text-align: center !important;
}

.dev-plan-expense-entry {
    align-items: end;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: 105px minmax(180px, 1.45fr) minmax(110px, .65fr) 90px minmax(155px, 1fr) minmax(125px, .85fr) minmax(165px, max-content);
    margin-bottom: 20px;
    padding: 15px;
}

.dev-plan-expense-entry .form-group {
    margin-bottom: 0;
}

.dev-plan-expense-entry .dev-plan-form-actions {
    align-self: end;
    min-width: 165px;
}

.dev-plan-expense-entry .dev-plan-form-actions .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    min-width: 165px;
    white-space: nowrap;
}

.dev-plan-execution-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.dev-plan-execution-kpis > div {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px;
}

.dev-plan-execution-kpis > div.warning {
    background: #fff7ed;
    border-color: #fdba74;
}

.dev-plan-execution-kpis strong {
    color: #172554;
    display: block;
    font-size: 20px;
    margin-top: 4px;
}

.dev-plan-execution-kpis .warning strong {
    color: #c2410c;
}

.dev-plan-empty-box {
    align-items: center;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    color: #166534;
    display: flex;
    gap: 9px;
    justify-content: center;
    min-height: 90px;
    padding: 18px;
    text-align: center;
}

.dev-plan-prefill {
    margin-bottom: 24px;
}

.dev-plan-prefill > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    padding: 17px 20px;
}

.dev-plan-prefill > summary::-webkit-details-marker {
    display: none;
}

.dev-plan-prefill > summary span {
    align-items: center;
    color: #172554;
    display: flex;
    gap: 10px;
}

.dev-plan-prefill > summary i {
    color: #2563eb;
}

.dev-plan-prefill > summary small {
    color: #64748b;
}

.dev-plan-prefill-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dev-plan-prefill-source {
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    display: grid;
    gap: 13px;
    padding: 15px;
}

.dev-plan-prefill-check {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: 10px;
    margin: 0;
}

.dev-plan-prefill-check input {
    flex: 0 0 auto;
    margin-top: 4px;
}

.dev-plan-prefill-check strong,
.dev-plan-prefill-check small {
    display: block;
}

.dev-plan-prefill-check strong {
    color: #172554;
}

.dev-plan-prefill-check small {
    color: #64748b;
    font-weight: 400;
    line-height: 1.35;
    margin-top: 3px;
}

.dev-plan-prefill-manual {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) 105px;
}

.dev-plan-prefill-expenses {
    align-items: end;
    border-top: 1px solid #e2e8f0;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.25fr) auto;
    margin-top: 18px;
    padding-top: 18px;
}

.dev-plan-prefill-expenses small {
    color: #64748b;
    display: block;
    margin-top: 3px;
}

.dev-plan-income-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dev-plan-income-sources {
    display: grid;
    gap: 9px;
}

.dev-plan-income-sources > div {
    align-items: center;
    border-bottom: 1px solid #e8edf3;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 10px 0;
}

.dev-plan-income-sources > div:last-child {
    border-bottom: 0;
}

.dev-plan-income-sources span,
.dev-plan-income-sources strong,
.dev-plan-income-sources small {
    display: block;
}

.dev-plan-income-sources > div > span:last-child {
    flex: 0 0 auto;
    text-align: right;
}

.dev-plan-income-sources small {
    color: #64748b;
}

.dev-plan-source-note {
    background: #eff6ff;
    border-left: 3px solid #2563eb;
    color: #334155;
    font-size: 12px;
    line-height: 1.5;
    margin: 16px 0 0;
    padding: 10px 12px;
}

.dev-plan-detected-income {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 8px;
    margin-bottom: 13px;
    padding: 14px;
}

.dev-plan-detected-income span,
.dev-plan-detected-income strong,
.dev-plan-detected-income small {
    display: block;
}

.dev-plan-detected-income span {
    color: #475569;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.dev-plan-detected-income strong {
    color: #047857;
    font-size: 24px;
    margin: 3px 0;
}

.dev-plan-detected-income small {
    color: #64748b;
}

.dev-plan-manual-toggle {
    align-items: flex-start;
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    margin-bottom: 13px;
    padding: 12px;
}

.dev-plan-manual-toggle input {
    flex: 0 0 auto;
    margin-top: 4px;
}

.dev-plan-manual-toggle strong,
.dev-plan-manual-toggle small {
    display: block;
}

.dev-plan-manual-toggle small {
    color: #64748b;
    font-weight: 400;
    line-height: 1.35;
    margin-top: 2px;
}

.dev-plan-actual-income-list {
    border-top: 1px solid #e8edf3;
    margin-top: 18px;
    padding-top: 16px;
}

.dev-plan-actual-income-list h4 {
    color: #172554;
    font-size: 15px;
    margin: 0 0 10px;
}

.dev-plan-actual-income-list > div {
    align-items: center;
    border-bottom: 1px solid #eef2f7;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 9px 0;
}

.dev-plan-actual-income-list span,
.dev-plan-actual-income-list small {
    display: block;
}

.dev-plan-actual-income-list small {
    color: #64748b;
}

.dev-plan-actual-income-list > div > span:last-child {
    align-items: center;
    display: flex;
    gap: 10px;
}

.dev-plan-actual-income-list form {
    margin: 0;
}

.dev-plan-actual-income-list button {
    background: #fee2e2;
    border: 0;
    border-radius: 6px;
    color: #dc2626;
    height: 32px;
    width: 32px;
}

.dev-plan-options {
    margin-top: 12px;
}

.dev-plan-options > summary {
    color: #475569;
    cursor: pointer;
    font-weight: 700;
    padding: 16px 20px;
}

.dev-plan-options form {
    margin: 0;
}

body.theme-dark .dev-plan-toolbar-status > span:first-child,
body.theme-dark .dev-plan-section-heading h2,
body.theme-dark .dev-plan-panel-title h3,
body.theme-dark .dev-plan-simple-table td strong,
body.theme-dark .dev-plan-table td strong,
body.theme-dark .dev-plan-execution-kpis strong,
body.theme-dark .dev-plan-prefill > summary span,
body.theme-dark .dev-plan-prefill-check strong,
body.theme-dark .dev-plan-actual-income-list h4,
html.theme-dark .dev-plan-toolbar-status > span:first-child,
html.theme-dark .dev-plan-section-heading h2,
html.theme-dark .dev-plan-panel-title h3,
html.theme-dark .dev-plan-simple-table td strong,
html.theme-dark .dev-plan-table td strong,
html.theme-dark .dev-plan-execution-kpis strong,
html.theme-dark .dev-plan-prefill > summary span,
html.theme-dark .dev-plan-prefill-check strong,
html.theme-dark .dev-plan-actual-income-list h4 {
    color: #f8fafc;
}

body.theme-dark .dev-plan-entry-form,
body.theme-dark .dev-plan-expense-entry,
body.theme-dark .dev-plan-execution-kpis > div,
body.theme-dark .dev-plan-prefill-source,
body.theme-dark .dev-plan-manual-toggle,
html.theme-dark .dev-plan-entry-form,
html.theme-dark .dev-plan-expense-entry,
html.theme-dark .dev-plan-execution-kpis > div,
html.theme-dark .dev-plan-prefill-source,
html.theme-dark .dev-plan-manual-toggle {
    background: #111827;
    border-color: #334155;
}

body.theme-dark .dev-plan-source-note,
html.theme-dark .dev-plan-source-note {
    background: #172033;
    color: #cbd5e1;
}

body.theme-dark .dev-plan-detected-income,
html.theme-dark .dev-plan-detected-income {
    background: #082f2a;
    border-color: #115e59;
}

body.theme-dark .dev-plan-detected-income strong,
html.theme-dark .dev-plan-detected-income strong {
    color: #5eead4;
}

body.theme-dark .dev-plan-rate,
html.theme-dark .dev-plan-rate {
    background: #1e3a5f;
    color: #bfdbfe;
}

body.theme-dark .dev-plan-simple-table th,
body.theme-dark .dev-plan-table th,
html.theme-dark .dev-plan-simple-table th,
html.theme-dark .dev-plan-table th {
    background: #172033;
    color: #cbd5e1;
}

@media (max-width: 1199.98px) {
    .dev-plan-expense-entry {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dev-plan-expense-entry .dev-plan-form-actions {
        min-width: 0;
    }
}

@media (max-width: 991.98px) {
    .dev-plan-two-columns {
        grid-template-columns: 1fr;
    }

    .dev-plan-execution-kpis,
    .dev-plan-prefill-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dev-plan-prefill-expenses {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .dev-plan-toolbar .card-body,
    .dev-plan-month-form,
    .dev-plan-toolbar-status {
        align-items: stretch;
        flex-direction: column;
    }

    .dev-plan-month-form .form-group,
    .dev-plan-month-form .btn,
    .dev-plan-toolbar-status select {
        width: 100%;
    }

    .dev-plan-section-heading {
        align-items: flex-start;
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .dev-plan-total {
        grid-column: 1 / -1;
        text-align: left;
        width: 100%;
    }

    .dev-plan-accordion-icon {
        grid-column: 3;
        grid-row: 1;
        margin-top: 12px;
    }

    .dev-plan-expense-entry,
    .dev-plan-execution-kpis,
    .dev-plan-prefill-grid {
        grid-template-columns: 1fr;
    }

    .dev-plan-expense-entry .dev-plan-form-actions .btn {
        width: 100%;
    }

    .dev-plan-prefill > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .dev-plan-prefill-manual {
        grid-template-columns: minmax(0, 1fr) 100px;
    }

    .dev-plan-income-sources > div,
    .dev-plan-actual-income-list > div {
        align-items: flex-start;
        flex-direction: column;
    }

    .dev-plan-income-sources > div > span:last-child {
        text-align: left;
    }

    .dev-plan-table {
        min-width: 720px;
    }
}

/* dev-system-diagnostic-v1 */
.dev-diagnostic-summary {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(230px, 1.25fr) repeat(3, minmax(165px, .75fr));
    margin-bottom: 14px;
}

.dev-diagnostic-score,
.dev-diagnostic-kpi {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-height: 126px;
    padding: 18px;
}

.dev-diagnostic-score {
    border-left: 5px solid #16a34a;
}

.dev-diagnostic-score.warning {
    border-left-color: #f59e0b;
}

.dev-diagnostic-score.error {
    border-left-color: #dc2626;
}

.dev-diagnostic-score span,
.dev-diagnostic-score strong,
.dev-diagnostic-score small {
    display: block;
}

.dev-diagnostic-score span,
.dev-diagnostic-kpi small {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.dev-diagnostic-score strong {
    color: #14213d;
    font-size: 38px;
    line-height: 1;
    margin: 8px 0;
}

.dev-diagnostic-score small {
    color: #475569;
}

.dev-diagnostic-kpi {
    align-items: center;
    display: flex;
    gap: 15px;
}

.dev-diagnostic-kpi > i {
    align-items: center;
    background: #ecfdf5;
    border-radius: 8px;
    color: #16a34a;
    display: flex;
    font-size: 22px;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.dev-diagnostic-kpi.warning > i {
    background: #fff7ed;
    color: #d97706;
}

.dev-diagnostic-kpi.error > i {
    background: #fef2f2;
    color: #dc2626;
}

.dev-diagnostic-kpi span,
.dev-diagnostic-kpi strong,
.dev-diagnostic-kpi small {
    display: block;
}

.dev-diagnostic-kpi strong {
    color: #172554;
    font-size: 28px;
    line-height: 1;
    margin-bottom: 6px;
}

.dev-diagnostic-context {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 10px 24px;
    margin-bottom: 20px;
    padding: 11px 15px;
}

.dev-diagnostic-context i {
    color: #1f2a54;
    margin-right: 5px;
}

.dev-diagnostic-section {
    margin-bottom: 14px;
}

.dev-diagnostic-section > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 17px 20px;
}

.dev-diagnostic-section > summary::-webkit-details-marker {
    display: none;
}

.dev-diagnostic-section > summary > span {
    align-items: center;
    display: flex;
    gap: 10px;
}

.dev-diagnostic-section > summary > span:first-child {
    color: #172554;
    font-size: 17px;
}

.dev-diagnostic-section > summary > span:first-child i {
    color: #2563eb;
    width: 20px;
}

.dev-diagnostic-section-count b {
    border-radius: 999px;
    font-size: 10px;
    padding: 5px 8px;
}

.dev-diagnostic-section-count .ok {
    background: #dcfce7;
    color: #166534;
}

.dev-diagnostic-section-count .warning {
    background: #ffedd5;
    color: #9a3412;
}

.dev-diagnostic-section-count .error {
    background: #fee2e2;
    color: #991b1b;
}

.dev-diagnostic-section-count > i {
    color: #64748b;
    transition: transform .2s ease;
}

.dev-diagnostic-section[open] .dev-diagnostic-section-count > i {
    transform: rotate(180deg);
}

.dev-diagnostic-list {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dev-diagnostic-check {
    align-items: flex-start;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    gap: 12px;
    min-height: 118px;
    padding: 14px;
}

.dev-diagnostic-check-icon {
    align-items: center;
    background: #eff6ff;
    border-radius: 7px;
    color: #2563eb;
    display: flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.dev-diagnostic-check.ok .dev-diagnostic-check-icon {
    background: #dcfce7;
    color: #15803d;
}

.dev-diagnostic-check.warning .dev-diagnostic-check-icon {
    background: #ffedd5;
    color: #c2410c;
}

.dev-diagnostic-check.error .dev-diagnostic-check-icon {
    background: #fee2e2;
    color: #dc2626;
}

.dev-diagnostic-check-copy {
    min-width: 0;
}

.dev-diagnostic-check-copy > span,
.dev-diagnostic-check-copy > strong,
.dev-diagnostic-check-copy > small {
    display: block;
}

.dev-diagnostic-check-copy > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.dev-diagnostic-check-copy > strong {
    color: #172554;
    font-size: 14px;
    margin: 3px 0;
    overflow-wrap: anywhere;
}

.dev-diagnostic-check-copy > small {
    color: #64748b;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dev-diagnostic-check-copy > p {
    background: #fff7ed;
    border-left: 3px solid #f59e0b;
    color: #7c2d12;
    font-size: 11px;
    line-height: 1.4;
    margin: 9px 0 0;
    padding: 7px 9px;
}

.dev-diagnostic-check-copy > p i {
    margin-right: 6px;
}

.dev-diagnostic-actions .card-body {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.dev-diagnostic-actions h5 {
    margin-bottom: 4px;
}

.dev-diagnostic-actions p {
    color: #64748b;
    margin: 0;
}

body.theme-dark .dev-diagnostic-score,
body.theme-dark .dev-diagnostic-kpi,
body.theme-dark .dev-diagnostic-check,
body.theme-dark .dev-diagnostic-context,
html.theme-dark .dev-diagnostic-score,
html.theme-dark .dev-diagnostic-kpi,
html.theme-dark .dev-diagnostic-check,
html.theme-dark .dev-diagnostic-context {
    background: #111827;
    border-color: #334155;
}

body.theme-dark .dev-diagnostic-score strong,
body.theme-dark .dev-diagnostic-kpi strong,
body.theme-dark .dev-diagnostic-section > summary > span:first-child,
body.theme-dark .dev-diagnostic-check-copy > strong,
html.theme-dark .dev-diagnostic-score strong,
html.theme-dark .dev-diagnostic-kpi strong,
html.theme-dark .dev-diagnostic-section > summary > span:first-child,
html.theme-dark .dev-diagnostic-check-copy > strong {
    color: #f8fafc;
}

@media (max-width: 991.98px) {
    .dev-diagnostic-summary,
    .dev-diagnostic-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .dev-diagnostic-summary,
    .dev-diagnostic-list {
        grid-template-columns: 1fr;
    }

    .dev-diagnostic-section > summary,
    .dev-diagnostic-actions .card-body {
        align-items: flex-start;
        flex-direction: column;
    }

    .dev-diagnostic-section-count {
        flex-wrap: wrap;
    }

    .dev-diagnostic-actions .btn {
        width: 100%;
    }
}

@media print {
    .header,
    .sidebar,
    .page-header .page-btn,
    .dev-diagnostic-actions {
        display: none !important;
    }

    .page-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }

    .dev-diagnostic-section {
        break-inside: avoid;
    }
}

/* dev-finance-period-report-v1 */
.dev-finance-report-filter {
    align-items: flex-end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(190px, 1.15fr) repeat(2, minmax(155px, .85fr)) auto auto auto;
}

.dev-finance-trend-chart {
    height: 360px;
}

.dev-finance-month-list {
    display: grid;
    gap: 8px;
    max-height: 360px;
    overflow-y: auto;
}

.dev-finance-month-list > div {
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 11px 13px;
}

.dev-finance-month-list span {
    min-width: 0;
}

.dev-finance-month-list small {
    color: #64748b;
    display: block;
    line-height: 1.4;
}

.dev-finance-analysis-table th,
.dev-finance-analysis-table td {
    vertical-align: middle;
}

body.theme-dark .dev-finance-month-list > div,
html.theme-dark .dev-finance-month-list > div {
    border-color: #334155;
}

@media (max-width: 1199.98px) {
    .dev-finance-report-filter {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .dev-finance-report-filter {
        grid-template-columns: 1fr;
    }

    .dev-finance-report-filter .btn,
    .dev-finance-report-filter .form-group {
        width: 100%;
    }

    .dev-finance-trend-chart {
        height: 300px;
    }
}


/* dev-finance-budget-mobile-v2 */
@media (max-width: 767.98px) {
    .dev-budget-toolbar .finance-filter {
        flex: 0 0 auto;
        width: 100%;
    }

    .dev-budget-toolbar .finance-filter .form-group {
        min-width: 0;
        width: 100%;
    }

    .dev-budget-toolbar .finance-filter .btn {
        width: 100%;
    }

    .dev-budget-toolbar .card-body {
        gap: 12px;
    }
}
/* Fiscal exercises */
.dev-exercise-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.dev-exercise-switcher label {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.dev-exercise-switcher .form-select {
    width: 155px;
    min-height: 34px;
    border: 0;
    background-color: transparent;
    color: #0f172a;
    font-weight: 800;
    box-shadow: none;
}

.dev-exercise-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    padding: 24px;
    border-radius: 8px;
    color: #ffffff;
    background: linear-gradient(135deg, #0f766e 0%, #1d4ed8 100%);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

.dev-exercise-hero h2 {
    margin: 4px 0 6px;
    color: #ffffff;
    font-size: 30px;
    font-weight: 900;
}

.dev-exercise-hero p,
.dev-exercise-hero .dev-kicker {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
}

.dev-exercise-hero .dev-kicker {
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.dev-exercise-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.dev-exercise-stat {
    position: relative;
    overflow: hidden;
    min-height: 132px;
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.dev-exercise-stat::after {
    content: "";
    position: absolute;
    top: -34px;
    right: -22px;
    width: 88px;
    height: 88px;
    border-radius: 999px;
    opacity: 0.18;
    background: currentColor;
}

.dev-exercise-stat span {
    display: block;
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.dev-exercise-stat strong {
    display: block;
    margin-top: 12px;
    color: #0f172a;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 900;
}

.dev-exercise-stat small {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-weight: 700;
}

.dev-exercise-stat.income { color: #059669; }
.dev-exercise-stat.expense { color: #dc2626; }
.dev-exercise-stat.balance { color: #1d4ed8; }
.dev-exercise-stat.budget { color: #9333ea; }

.dev-checkline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #334155;
    font-weight: 800;
}

.dev-exercise-table .dev-action-cell {
    justify-content: flex-start;
}

body.theme-dark .dev-exercise-switcher,
html.theme-dark .dev-exercise-switcher {
    border-color: #334155;
    background: #111827;
}

body.theme-dark .dev-exercise-switcher label,
html.theme-dark .dev-exercise-switcher label {
    color: #94a3b8;
}

body.theme-dark .dev-exercise-switcher .form-select,
html.theme-dark .dev-exercise-switcher .form-select {
    color: #f8fafc;
}

body.theme-dark .dev-exercise-stat,
html.theme-dark .dev-exercise-stat {
    border-color: #334155;
    background: #111827;
    box-shadow: none;
}

body.theme-dark .dev-exercise-stat strong,
html.theme-dark .dev-exercise-stat strong {
    color: #f8fafc;
}

body.theme-dark .dev-exercise-stat span,
body.theme-dark .dev-exercise-stat small,
body.theme-dark .dev-checkline,
html.theme-dark .dev-exercise-stat span,
html.theme-dark .dev-exercise-stat small,
html.theme-dark .dev-checkline {
    color: #cbd5e1;
}

@media (max-width: 1199px) {
    .dev-exercise-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .dev-exercise-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .dev-exercise-grid {
        grid-template-columns: 1fr;
    }
}
