*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
:root {
    --sidebar-width: 240px;
}

html[data-bs-theme="dark"] {
    --sidebar-width: 240px;
    --sidebar-bg: #1e1e1e;
    --main-bg: #2a2a2a;
    --card-bg: #333333;
    --card-inner: #2a2a2a;
    --border-color: #444;
    --accent: #1a6bff;
    --text-muted-custom: #aaa;
    --topbar-bg: #232323;
    --mwana-primary: rgb(0, 105, 180);
    --card-text-color: #fff;
}
html[data-bs-theme="light"] {
    --sidebar-bg: #fff;
    --main-bg: #f5f5f5;
    --card-bg: #ffffff;
    --card-inner: #f3f4f6;
    --border-color: #ddd;
    --topbar-bg: #ffffff;
    --text-muted-custom: #666;
    --mwana-primary: rgb(0, 105, 180);
    --card-text-color: #111827;
}
body {
    background: #F3F4F6;
}
body { background: var(--main-bg); min-height: 100vh; font-family: 'Segoe UI', system-ui, sans-serif; }
.radius-10 {
    border-radius: 10px !important;
}

/*.row >{*/
/*    margin-top: 0px !important;*/
/*}*/

.bg-primary{
    color: #fff;
    background: var(--mwana-primary) !important;
}

.border-info {
    border-left: 5px solid  #0dcaf0 !important;
}
.border-danger {
    border-left: 5px solid  #fd3550 !important;
}
.border-success {
    border-left: 5px solid  #15ca20 !important;
}
.border-warning {
    border-left: 5px solid  #ffc107 !important;
}


.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 0px solid rgba(0, 0, 0, 0);
    border-radius: .25rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 6px 0 rgb(218 218 253 / 65%), 0 2px 6px 0 rgb(206 206 238 / 54%);
}
.bg-gradient-scooter {
    background: #17ead9;
    background: -webkit-linear-gradient(
            45deg
            , #17ead9, #6078ea)!important;
    background: linear-gradient(
            45deg
            , #17ead9, #6078ea)!important;
}
.widgets-icons-2 {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ededed;
    font-size: 27px;
    border-radius: 10px;
}
.rounded-circle {
    border-radius: 50%!important;
}
.text-white {
    color: #fff!important;
}
.ms-auto {
    margin-left: auto!important;
}
.bg-gradient-bloody {
    background: #f54ea2;
    background: -webkit-linear-gradient(
            45deg
            , #f54ea2, #ff7676)!important;
    background: linear-gradient(
            45deg
            , #f54ea2, #ff7676)!important;
}

.bg-gradient-ohhappiness {
    background: #00b09b;
    background: -webkit-linear-gradient(
            45deg
            , #00b09b, #96c93d)!important;
    background: linear-gradient(
            45deg
            , #00b09b, #96c93d)!important;
}

.bg-gradient-blooker {
    background: #ffdf40;
    background: -webkit-linear-gradient(
            45deg
            , #ffdf40, #ff8359)!important;
    background: linear-gradient(
            45deg
            , #ffdf40, #ff8359)!important;
}

.box {
    background-color: #2B2D3E;
    padding: 25px 20px;
}

.shadow {
    box-shadow: 0px 1px 15px 1px rgba(69, 65, 78, 0.08);
}
 .box {
    padding-top: 10px;
    padding-bottom: 10px;
    text-shadow: 0 1px 1px 1px #666;
    box-shadow: 0px 1px 15px 1px rgba(69, 65, 78, 0.08);
    position: relative;
    border-radius: 5px;
}

.box .details {
    position: absolute;
    color: #fff !important;
    transform: scale(0.7) translate(-22px, 20px);
}

 .box1 {
    background-image: linear-gradient( 135deg, #ABDCFF 10%, #0396FF 100%);
}

.box2 {
    background-image: linear-gradient( 135deg, #2AFADF 10%, #4C83FF 100%);
}

 .box3 {
    background-image: linear-gradient( 135deg, #FFD3A5 10%, #FD6585 100%);
}

 .box4 {
    background-image: linear-gradient( 135deg, #EE9AE5 10%, #5961F9 100%);
}

/* ─── Sidebar ───────────────────────────────────────── */
#sidebar {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: 240px;
    background: #fff;
    border-right: 1px solid #E5E7EB;
    display: flex;
    flex-direction: column;
    z-index: 200;
    transition: width 0.25s ease;
    overflow: hidden;
}

#sidebar.collapsed { width: 64px !important; }

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #E5E7EB;
    text-decoration: none;
    flex-shrink: 0;
}

.brand-icon {
    width: 36px; height: 36px;
    color: #0069b4 !important;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}

.brand-icon img { width: 100%}
.brand-name { font-weight: 700; font-size: 15px; color: #0069b4; white-space: nowrap; }
#sidebar.collapsed .brand-name { display: none; }

.sidebar-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; }
.sidebar-scroll::-webkit-scrollbar { width: 4px; }
.sidebar-scroll::-webkit-scrollbar-thumb { background: #E5E7EB; border-radius: 4px; }

.nav-section-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #9CA3AF;
    padding: 14px 16px 5px;
    white-space: nowrap;
}
#sidebar.collapsed .nav-section-label { opacity: 0; height: 0; padding: 0; overflow: hidden; }

.sidebar-nav { list-style: none; padding: 0 8px; }
.sidebar-nav li { margin-bottom: 1px; }
.sidebar-nav li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    font-size: 13px;
    font-weight: 500;
    color: #6B7280;
    text-decoration: none;
    border-radius: 8px;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.sidebar-nav li a i { font-size: 15px; flex-shrink: 0; width: 18px; text-align: center; }
.sidebar-nav li a .nav-label { white-space: nowrap; }
#sidebar.collapsed .sidebar-nav li a .nav-label { display: none; }
.sidebar-nav li a:hover { background: #F3F4F6; color: #111827; }
.sidebar-nav li a.active { background: #0069b4; color: #fff; font-weight: 600; }

.sidebar-footer {
    padding: 12px 16px;
    border-top: 1px solid #E5E7EB;
    font-size: 11px;
    color: #9CA3AF;
    white-space: nowrap;
    flex-shrink: 0;
}
#sidebar.collapsed .sidebar-footer { opacity: 0; }

/* ─── Main wrapper ──────────────────────────────────── */
#main-wrapper {
    margin-left: 240px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    transition: margin-left 0.25s ease;
}
#main-wrapper.collapsed { margin-left: 64px; }

/* ─── Topbar ────────────────────────────────────────── */
#topbar {
    position: sticky; top: 0; z-index: 100;
    height: 64px;
    background: #fff;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    flex-shrink: 0;
}
.navbar-nav .dropdown-menu{
    position: absolute;
}
#toggle-btn {
    background: none; border: none; cursor: pointer;
    color: #6B7280; font-size: 20px;
    width: 34px; height: 34px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s;
}
#toggle-btn:hover { background: #F3F4F6; color: #111827; }

.search-box { position: relative; margin-left: 12px; }
.search-box i {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    color: #9CA3AF; font-size: 14px; pointer-events: none;
}
.search-box input {
    padding: 7px 14px 7px 32px;
    font-family: 'Sora', sans-serif;
    font-size: 13px;
    background: #F3F4F6;
    border: none; outline: none;
    border-radius: 8px;
    width: 210px;
    color: #374151;
    transition: box-shadow 0.15s;
}
.search-box input::placeholder { color: #9CA3AF; }
.search-box input:focus { box-shadow: 0 0 0 2px rgba(27,79,216,0.18); }

.topbar-right { display: flex; align-items: center; gap: 10px; }
.notif-btn {
    position: relative;
    width: 36px; height: 36px;
    background: none; border: none; cursor: pointer;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: #6B7280; font-size: 18px;
    transition: background 0.15s;
}
.notif-btn:hover { background: #F3F4F6; color: #111827; }
.notif-dot {
    position: absolute; top: 7px; right: 7px;
    width: 7px; height: 7px;
    background: #EF4444; border-radius: 50%;
    border: 1.5px solid #fff;
}
.user-pill {
    display: flex; align-items: center; gap: 9px;
    padding-left: 12px;
    border-left: 1px solid #E5E7EB;
    cursor: pointer;
}
.ud{
    display: flex; align-items: center; gap: 9px;
}
.user-avatar {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: #0069b4;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 13px; font-weight: 700;
}
.user-avatar img{
    width: 100%;
    height: 100%;
}
.user-name { font-size: 13px; font-weight: 600; line-height: 1.2; }
.user-role { font-size: 11px; color: #9CA3AF; }

/* ─── Page content ──────────────────────────────────── */
#page-content { flex: 1; padding: 28px 24px 40px; }

/* ─── Summary Banner ────────────────────────────────── */
.summary-banner {
    background: linear-gradient(135deg, #0069b4 0%, rgba(0, 105, 180, 0.73) 100%);
    border-radius: 16px;
    padding: 22px 28px;
}
.banner-stat { padding: 0 20px; }
.banner-stat:first-child { padding-left: 0; }
.banner-stat:last-child { padding-right: 0; border-right: none !important; }
.banner-stat + .banner-stat { border-left: 1px solid rgba(255,255,255,0.18); }
.banner-label { font-size: 11px; font-weight: 600; color: rgba(255,255,255,0.55); margin-bottom: 4px; }
.banner-value { font-size: 24px; font-weight: 800; color: #fff; line-height: 1.1; }
.banner-sub { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 3px; }

/* ─── Section label ─────────────────────────────────── */
.section-label {
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.09em; text-transform: uppercase;
    color: #9CA3AF;
    display: flex; align-items: center; gap: 6px;
    margin-bottom: 12px; margin-top: 4px;
}

/* ─── KPI Cards ─────────────────────────────────────── */
.kpi-card {
    background: var(--card-bg);
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    height: 100%;
    transition: box-shadow 0.2s, transform 0.2s;
}
.kpi-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.09); transform: translateY(-1px); }
.kpi-icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 17px; flex-shrink: 0;
}
.kpi-value { font-size: 26px; font-weight: 800; color: var(--card-text-color); line-height: 1.1; margin-top: 14px; }
.kpi-value.sm { font-size: 20px; }
.kpi-value.xs { font-size: 17px; }
.kpi-title { font-size: 13px; font-weight: 500; color: var(--text-muted-custom); margin-top: 3px; }
.kpi-period { font-size: 11px; color: #9CA3AF; margin-top: 2px; }

.trend-badge {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 600;
    padding: 3px 8px; border-radius: 20px;
}
.trend-up   { background: #ECFDF5; color: #059669; }
.trend-down { background: #FEF2F2; color: #DC2626; }
.trend-flat { background: #FEF2F2; color: #f47d7d; }

/* ─── Chart Cards ───────────────────────────────────── */
.chart-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 22px 24px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    height: 100%;
}
.chart-title { font-size: 15px; font-weight: 600; color: var(--card-text-color); }
.chart-sub { font-size: 12px; color: #9CA3AF; margin-top: 2px; }

.legend-pill {
    display: inline-flex; align-items: center; gap: 6px;
    border-radius: 8px; padding: 5px 10px;
    font-size: 12px; font-weight: 500;
}
.legend-pill .dot { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.legend-pill .dot-circle { width: 10px; height: 10px; border-radius: 50%; border: 2px solid #10B981; flex-shrink: 0; }
.lp-blue  { background: #EFF6FF; color: #1D4ED8; }
.lp-green { background: #ECFDF5; color: #059669; }

/* ─── Payment toggle ────────────────────────────────── */
.pay-toggle {
    display: flex; background: #F3F4F6;
    border-radius: 8px; padding: 3px;
}
.pay-toggle button {
    border: none; background: transparent;
    font-family: 'Sora', sans-serif; font-size: 12px; font-weight: 500;
    color: #9CA3AF; padding: 5px 12px; border-radius: 6px; cursor: pointer;
    transition: all 0.15s;
}
.pay-toggle button.active {
    background: #fff; color: #111827;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.pay-legend-row {
    display: flex; align-items: center; justify-content: space-between;
    font-size: 12px; padding: 3px 0;
}
.pay-legend-row .pdot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.pay-legend-row .pname { color: #6B7280; }
.pay-legend-row .ppct  { font-weight: 700; color: var(--card-text-color); }

/* ─── Revenue Table ─────────────────────────────────── */
.rev-table { width: 100%; border-collapse: collapse; }
.rev-table thead tr { background: #F9FAFB; }
.rev-table thead th {
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.08em; text-transform: uppercase;
    color: #9CA3AF; padding: 11px 18px;
    border-bottom: 1px solid #E5E7EB;
    text-align: right;
}
.rev-table thead th:first-child { text-align: left; }
.rev-table tbody tr { border-bottom: 1px solid #E5E7EB; transition: background 0.12s; }
.rev-table tbody tr:last-child { border-bottom: none; }
.rev-table tbody tr:hover { background: var(--card-bg); }
.rev-table td { padding: 13px 18px; text-align: right; font-size: 13px; vertical-align: middle; }
.rev-table td:first-child { text-align: left; }
.row-label  { font-weight: 600; color: var(--card-text-color); font-size: 13px; }
.row-period { font-size: 11px; color: var(--card-text-color); margin-top: 2px; }
.amt  { font-weight: 600; color: var(--card-text-color); font-variant-numeric: tabular-nums; }
.comb { font-weight: 800; color: var(--card-text-color); font-variant-numeric: tabular-nums; }

/* ─── Footer ────────────────────────────────────────── */
#page-footer {
    padding: 14px 24px;
    border-top: 1px solid #E5E7EB;
    font-size: 11px;
    color: #9CA3AF;
    flex-shrink: 0;
}

/* ─── Toast ─────────────────────────────────────────── */
.mw-toast {
    position: fixed; bottom: 24px; right: 24px; z-index: 9999;
    background: #111827; color: #fff;
    font-family: 'Sora', sans-serif; font-size: 13px; font-weight: 500;
    padding: 12px 18px; border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.22);
    display: flex; align-items: center; gap: 8px;
    animation: toastIn 0.25s ease;
    transition: opacity 0.3s;
}
@keyframes toastIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ─── Responsive ────────────────────────────────────── */
@media (max-width: 991px) {
    /*#sidebar { width: 64px !important; }*/
    #sidebar .brand-name,
    #sidebar .nav-label,
    #sidebar .nav-section-label,
    #sidebar .sidebar-footer { display: none; }
    #main-wrapper { margin-left: 64px; }
    #main-wrapper.collapsed { margin-left: 64px; }
}

@media (max-width: 575px) {
    .banner-value { font-size: 18px; }
    .kpi-value { font-size: 20px; }
    .kpi-value.sm { font-size: 16px; }
    .kpi-value.xs { font-size: 14px; }
    #page-content { padding: 16px 12px 32px; }
    #sidebar {width:auto !important}
}


.sidebar-nav {
    padding-left: 0;
}

.sidebar-nav li {
    list-style: none;
}

/* 🔥 indentation */
.sub-menu {
    display: none;
    padding-left: 20px;
}

/* deeper nesting */
.sub-menu .sub-menu {
    padding-left: 20px;
}

/* icons spacing */
.sidebar-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* toggle icon */
.toggle-icon {
    margin-left: auto;
    transition: 0.3s;
}

li.open > a .toggle-icon {
    transform: rotate(180deg);
}

.sidebar-nav.sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    padding-left: 15px;
}

.sidebar-nav.sub-menu.open {
    max-height: 600px; /* enough for deep menus */
    display: block;
}

.has-children > a .toggle-icon {
    transition: transform 0.3s ease;
}

.has-children.open > a .toggle-icon {
    transform: rotate(180deg);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice{
    color: black !important;
    background: transparent !important;
}

.custom-file-label{
    background: inherit !important;
    color: inherit !important;
    z-index: -1;
}

.content-header h1,.content-header h2,.content-header h3,.content-header h4,pre{
    color: var(--card-text-color) !important;
}

.metric-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 10px; padding: 18px 20px; }
.metric-label { font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted-custom); margin-bottom: 10px; }
.metric-value { font-size: 26px; font-weight: 700; line-height: 1.1;color: var(--card-text-color) }
.metric-value.medium { font-size: 20px; }
.badge-up { display: inline-flex; align-items: center; gap: 3px; background: #1a4a2e; color: #4ade80; font-size: 12px; font-weight: 500; padding: 3px 8px; border-radius: 5px; margin-top: 8px; }
html[data-bs-theme="light"] .badge-up { background: #dcfce7; color: #166534; }

/* ── CHART CARD ── */
.chart-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px;
    height: 100%;
}

.chart-title { font-size: 15px; font-weight: 600; margin-bottom: 3px; }
.chart-subtitle { font-size: 12px; color: var(--text-muted-custom); margin-bottom: 14px; }

.dates{
    float: right;
    margin: 0px !important;
}

/*#sidebar { width: 240px; min-height: 100vh; background: var(--sidebar-bg); border-right: 1px solid var(--border-color); position: fixed; top: 0; left: 0; display: flex; flex-direction: column; z-index: 100; }*/

html[data-bs-theme=dark] .card {
     background-color: transparent;
     background-clip: border-box;
     box-shadow: 0 2px 6px 0 transparent, 0 2px 6px 0 transparent;
}

html[data-bs-theme=dark] .form-control{
    background: rgba(255, 255, 255, 0.34);
    border-radius: 10px;
    color: rgba(255,255,255, .7);
    border-color: rgba(255, 255, 255, 0.34);
}

html[data-bs-theme=dark] .ud{
    color: #fff;
}


.btn-primary{
    background: var(--mwana-primary) !important;
}
#topbar { background: var(--topbar-bg); border-bottom: 1px solid var(--border-color); padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 90; }
.theme-toggle { border-radius: 20px; border-color: transparent; padding: 5px 12px; background: transparent; color: inherit; cursor: pointer; font-size: 15px; }

.bi-circle-half{
    color: #111;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){
    border-radius: 10px !important;
}

.bi-moon-fill{
    color: #fff;
}

.light .card-body{
    background: #fff;
}


/* ── METRIC CARDS ── */
.metric-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 18px 20px;
}
.metric-label {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--text-muted-custom);
    margin-bottom: 10px;
}
.metric-value {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
}
.metric-value.medium { font-size: 20px; }
.badge-up {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #1a4a2e;
    color: #4ade80;
    font-size: 12px;
    font-weight: 500;
    padding: 3px 8px;
    border-radius: 5px;
    margin-top: 8px;
}

html[data-bs-theme="light"] .badge-up { background: #dcfce7; color: #166534; }


/* ── CHART CARD ── */
.chart-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px;
}
.chart-title { font-size: 15px; font-weight: 600; margin-bottom: 14px; }

/* ── FOOTER ── */
footer {
    border-top: 1px solid var(--border-color);
    background: var(--sidebar-bg);
    padding: 10px 24px;
    font-size: 12px;
    color: var(--text-muted-custom);
}

canvas { display: block; }


html[data-bs-theme=light] .content-wrapper{
    background: #f4f6f9;
}

html[data-bs-theme=light] .content-wrapper{
    background: transparent !important;
}

html[data-bs-theme=dark] .brand-name{
    color: #fff;
}

.mwana-summary-card { padding: 10px; display: flex; flex-direction: column; justify-content: space-between; }
.mwana-summary-title { font-size: 16px; font-weight: 700; color: var(--card-text-color); margin-bottom: 20px;}
.mwana-summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center; margin-bottom: 12px;
    font-size: 13px;
    color: var(--text-muted-custom);
}
.mwana-summary-value { font-weight: 600; color: var(--card-text-color); }
.mwana-summary-value.primary { color: var(--card-text-color); font-weight: 700; }
.mwana-btn-generate { width: 100%; margin-top: 20px; font-size: 13px; padding: 12px;}

.days-pill {
    border: 1.5px solid;
    border-radius: 20px !important;
    border-color: var(--border-color) !important;
    padding: 7px 20px;
    font-size: 13px;
    background: transparent;
    color: var(--text-muted-custom);
    cursor: pointer;
    display: flex;
    text-align: center;
    height: auto;
    gap: 6px;
    width: auto;
}

html[data-bs-theme=dark] .days-pill{
    background: transparent !important;
}

.date-range-pill {
    border: 1.5px solid var(--border-color);
    border-radius: 20px;
    padding: 7px 20px;
    font-size: 13px;
    background: transparent;
    color: inherit;
    display: flex; align-items: center; gap: 8px;
}
.date-range-pill .cal-icon {
    color: var(--card-text-color);
    border-radius: 5px;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
}

.date-range-pill i{
    color: var(--card-text-color);
}

.date-range-pill input{
    padding: 0px 5px !important;
    background: transparent !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
}

/* ── PIE LEGEND ── */
.pie-legend { display: flex; flex-direction: column; gap: 7px; margin-top: 12px; }
.pie-legend-item { display: flex; align-items: center; gap: 8px; font-size: 12.5px; }
.pie-dot { width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; }
.pie-legend-label { flex: 1; color: var(--text-muted-custom); }
.pie-legend-val { font-weight: 600; color: var(--text-muted-custom)}

/* ── SUBS MINI LEGEND ── */
.mini-legend { display: flex; gap: 16px; margin-top: 10px; font-size: 12px; }
.mini-legend-item { display: flex; align-items: center; gap: 5px; }
.mini-dot { width: 12px; height: 12px; border-radius: 3px; }

.mwana-input{
    color: black !important;
}

.box3 h3, .box4 h3{
    color: #fff !important;
}

html[data-bs-theme="dark"] #sidebar { background: var(--topbar-bg) !important;border-color: transparent !important}

.custom-file-input {
    opacity: 100 !important;
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

..custom-file-label:after{
    display: none !important;
}