/* Variable Declaration Segment */

/* ===== Application-wide font: Inter everywhere (matches the Users page); icons keep their glyph font ===== */
body, body * { font-family: 'Inter', sans-serif !important; }
.fa { font-family: 'FontAwesome' !important; }

:root {
    --kivu-primary-color: #3489CA;
    --kivu-light-primary-color: #B7DAF5;
    --kivu-secondary-color: #000E1E;
    --kivu-grey-color: #D9D9D9;
    --kivu-grey-hover-color: #b0b0b0;
    --kivu-dark-grey-color: #474747;
    --kivu-gradient-color: linear-gradient(90deg, #025799 0%, #045491 5%, var(--kivu-primary-color) 100%);
    --kivu-shadow-2xl: 20px 0px 30px #1e62974d;
    --kivu-shadow-xl: 0px 10px 20px #1e62974d;
    --kivu-shadow-md: 0px 2px 4px rgba(0, 0, 0, 0.06), 0px 4px 6px -1px rgba(0, 0, 0, 0.10);
    --kivu-white-shadow: 0px 4px 12px #5AB2F5;
    --kivu-black-shadow-lg: 0px 4px 12px #000e1e45;
    --kivu-black-shadow-sm: 0px 1px 2px rgba(0, 0, 0, .05);
    --dashboard-to-sidebar-size: 300px;
    --kivu-text-color: #0d1f35;            /* new theme (was #485159) */
    --kivu-white-text-color: #f8f9fa;
    --kivu-background-color: #eef3f9;       /* new theme (was #f7f8fa) */
    --kivu-disabled-background:#eef2f8;     /* lighter lock tint, was #e8ebf0 */
    --kivu-yellow:#fb8c00;
    --kivu-border-color: #e6edf5;           /* new theme (was #3489ca2f) */
    --kivu-content-module-shadow: 0px 4px 25px rgba(52, 137, 202, 0.15);
    --deep-sea: #1A4565;
    --kivu-danger-color: #e5484d;           /* new theme (was #FF3B30) */
    --kivu-danger-hover-color: #930800;

    /* --- new theme semantic tokens (consolidated from the Chrome v2 redesign) --- */
    --kivu-accent-dark: #1f6fad;            /* darker accent for gradients / hovers */
    --kivu-text-mid: #3d5a75;               /* secondary text */
    --kivu-text-muted: #7a95ae;             /* muted / hint text */
    --kivu-surface: #ffffff;                /* cards / panels */
    --kivu-success: #1faa6c;
    --kivu-warning: #e8920c;
    --kivu-sidebar-dark: #0f1c2e;           /* sidebar gradient base */
    --kivu-page-padding: 26px 28px 40px;         /* standard page gutter: top / sides / bottom */
    --kivu-page-padding-mobile: 20px 16px 34px;  /* standard page gutter on narrow screens (<=760px) */
}

/* Variable Declaration Segment End.... */

/* Standard page gutter — every page references --kivu-page-padding; never hardcode page padding */
#page-content {
    padding: var(--kivu-page-padding);
}

/* --- Pace loading bar — themed to the portal (pace.min.css loses its color without Nifty) --- */
.pace .pace-progress { background: var(--kivu-primary-color); }
.pace .pace-progress-inner {
    box-shadow: 0 0 10px var(--kivu-primary-color), 0 0 5px var(--kivu-primary-color);
}
body .pace:before { background-color: transparent; }   /* remove the leftover white track */

/* Animations */

@-webkit-keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }

    100% {
        background-position: 1000px 0;
    }
}

@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }

    100% {
        background-position: 1000px 0;
    }
}

.skeleton {
    -webkit-animation: shimmer 2s infinite linear;
    animation: shimmer 2s infinite linear;
    background: -webkit-gradient(linear, left top, right top, color-stop(25%, #e0e0e0), color-stop(50%, #c0c0c0), color-stop(75%, #e0e0e0));
    background: -o-linear-gradient(left, #e0e0e0 25%, #c0c0c0 50%, #e0e0e0 75%);
    background: linear-gradient(90deg, #e0e0e0 25%, #c0c0c0 50%, #e0e0e0 75%);
    background-size: 1000px 100%;
    z-index: 1000;
}

.skeleton * {
    opacity: 0;
}

.skeleton-container {
    position: relative;
    color: transparent !important;
}

.skeleton-container>*:not(.skeleton) {
    display: none !important;
}

.hide-under-skeleton {
    display: none !important;
}

/* Animation Segment End.... */

/* 
Basic setups................................................................
*/

/* width */
/* .search-flight-content-container ::-webkit-scrollbar { */
::-webkit-scrollbar {
    width: 15px;
    height: 10px;
}

body ::-webkit-scrollbar {
    width: 10px;
}

#navbar,
#mainnav-container {
    z-index: 99;
}

#mainnav-container {
    margin-top: 50px;
    padding-top: 0;
}

/* Track */
/* .search-flight-content-container ::-webkit-scrollbar-track { */
::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 5px #000E1E50;
    box-shadow: inset 0 0 5px #000E1E50;
    border-radius: 10px;
}

/* Handle */
/* .search-flight-content-container ::-webkit-scrollbar-thumb { */
::-webkit-scrollbar-thumb {
    background: #3489CA30;
    border-radius: 10px;
}

/* Handle on hover */
/* .search-flight-content-container ::-webkit-scrollbar-thumb:hover { */
::-webkit-scrollbar-thumb:hover {
    background: #3489CAaa;
}

a {
    -webkit-transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    -o-transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}


/* Custom checkbox: light translucent blue, browser-centered SVG check */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    position: relative;
    border: 1px solid #c3d6e8;
    border-radius: 4px;
    background-color: rgba(52, 137, 202, .12);
    vertical-align: middle;
}

input[type="checkbox"]:hover {
    border-color: var(--kivu-primary-color);
}

input[type="checkbox"]:checked {
    background-color: var(--kivu-primary-color);
    border-color: var(--kivu-primary-color);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1.5 5.2 4.6 8.3 10.5 1.7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
}

input[type="checkbox"]:indeterminate {
    background-color: var(--kivu-primary-color);
    border-color: var(--kivu-primary-color);
}

input[type="checkbox"]:indeterminate::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 2px;
    border-radius: 1px;
    background: #fff;
    transform: translate(-50%, -50%);
}

.form-control:focus {
    border-color: var(--kivu-primary-color);
}

.modal-body .close,
.modal-header .close {
    top: 20px;
    right: 20px;
    left: auto;
    position: absolute;
    background-color: var(--kivu-primary-color) !important;
    height: 25px;
    width: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: white;
    font-weight: 300 !important;
    font-size: 18px;
    font-family: 'Open Sans';
    line-height: normal;
    border-radius: 4px;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.modal-body .close:hover,
.modal-header .close:hover {
    background-color: var(--deep-sea) !important;
}

.modal-title {
    font-size: 24px;
    font-family: 'Open Sans' !important;
}

/* 
Basic setups End................................................................
*/

.kivu-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.kivu-container-col {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100vh;
}

.kivu-left-container {
    background-color: var(--kivu-primary-color);
    background-image: var(--kivu-gradient-color);
    -webkit-box-shadow: var(--kivu-shadow-2xl);
    box-shadow: var(--kivu-shadow-2xl);
}

.kivu-sign-in-heading h1 {
    color: var(--kivu-white-text-color);
    font-size: 38px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.kivu-signin-middle-img {
    max-width: 90%;
}

.kivu-container img {
    max-width: 100%;
}

.kivu-signin-left-side-footer {
    margin-bottom: 10px;
}

.kivu-signin-cta-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.kivu-signin-cta {
    border-radius: 50px;
    background-color: var(--kivu-secondary-color);
    -webkit-box-shadow: var(--kivu-white-shadow);
    box-shadow: var(--kivu-white-shadow);
    padding: 8px 16px;
    margin: 5px;
    border: none;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.kivu-signin-cta:hover {
    background-color: transparent;
    -webkit-box-shadow: var(--kivu-black-shadow-lg);
    box-shadow: var(--kivu-black-shadow-lg);
}

.kivu-signin-cta-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--kivu-white-text-color);
    ;
    -webkit-transition: 0.3s ease;
    ;
    -o-transition: 0.3s ease;
    ;
    transition: 0.3s ease;
}

.kivu-signin-cta-icon {
    margin-right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.kivu-signin-cta-text {
    position: relative;
    font-size: 14px;
}

.kivu-signin-section,
.kivu-reset-password-section,
.kivu-forgot-password-section,
.kivu-select-company-section,
.kivu-create-account-section
{
    border-radius: 20px;
    background: #FFF;
    -webkit-box-shadow: var(--kivu-shadow-md);
    box-shadow: var(--kivu-shadow-md);
    padding: 15%;
}

.kivu-signup-section {
    border-radius: 20px;
    background: #FFF;
    -webkit-box-shadow: var(--kivu-shadow-md);
    box-shadow: var(--kivu-shadow-md);
    padding: 5% 10%;
}

.kivu-brand-identity {
    max-width: 220px;
    margin: auto;
}

.kivu-signin-command-text h4,
.kivu-signup-command-text h4,
.kivu-reset-password-command-text h4,
.kivu-select-company-command-text h4,
.kivu-create-account-command-text h4
{
    color: var(--kivu-text-color);
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
}

.kivu-forgot-password-subtext
{
    width:350px;
    margin:20px auto 30px auto;
}

.kivu-forgot-password-subtext h4 {
    color: var(--kivu-text-color);
    text-align: center;
    font-size: 14px;
    font-style: normal;
}

.kivu-portal-signin-form
.kivu-portal-reset-password-form,
.kivu-portal-forgot-password-form,
.kivu-portal-select-company-form,
.kivu-portal-create-account-form {
    margin-top: 20px;
}

.form-horizontal .form-group.kivu-form-group {
    margin: auto;
}

.kivu-form .kivu-form-group:not(:last-child) {
    margin-bottom: 20px !important;
}

.kivu-form .kivu-form-group:nth-last-child(2) {
    margin-bottom: 30px !important;
}

.kivu-input-group {
    position: relative;
}

.kivu-form-control {
    width: 100%;
    font-size: 100%;
    min-width: 350px;
    min-height: 38px;
    border-radius: 9999px;
    border: 1px solid rgba(52, 137, 202, 0.45);
    outline: none;
}

.kivu-form-control:not(.kivu-submit-field) {
    padding-left: 45px;
    padding-right: 45px;
    background-color: #FFF;
}

.kivu-submit-field {
    text-align: center;
    background-color: var(--kivu-primary-color);
    color: var(--kivu-white-text-color);
    font-size: 16px;
    padding-left: 0;
    font-weight: 700;
    -webkit-box-shadow: var(--kivu-shadow-xl);
    box-shadow: var(--kivu-shadow-xl);
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    text-transform: uppercase;
}

.required {
    color: var(--kivu-danger-color)
}

.kivu-form-control:focus,
.kivu-form-control:hover {
    border-color: var(--kivu-primary-color);
}

.kivu-submit-field:hover {
    background-color: var(--kivu-secondary-color);
    border-color: transparent;
    cursor:pointer;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.kivu-input-group-addon {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 4px;
    color: var(--kivu-white-text-color);
    ;
    background-color: var(--kivu-primary-color);
    height: 30px;
    width: 30px;
    border-radius: 9999px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

.kivu-passowrd-visibility-ico {
    position: absolute;
    left: auto;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: rgba(52, 137, 202, 0.45);
    cursor: pointer;
}

.kivu-form-control:focus~.kivu-passowrd-visibility-ico,
.kivu-form-control:hover~.kivu-passowrd-visibility-ico {
    color: var(--kivu-primary-color)
}

.kivu-forget-pass-verify {
    margin-top: 10px;
}

.kivu-have-account-container {
    display: flex;
    justify-content: center;
}

a.kivu-forget-link,
span.kivu-account-link {
    font-size: 11px;
    color: var(--kivu-primary-color);
    text-decoration: underline;
    text-underline-offset: 4px;
}

span.kivu-account-link:hover {
    cursor: pointer;
}

a.kivu-forget-link:hover {
    text-decoration: none;
}

.kivu-remember-checkbox {
    margin-bottom: 20px;
    position: relative;
}

.kivu-remember-checkbox [type="checkbox"] {
    margin-right: 15px;
    position: relative;
    z-index: -333;
}

.kivu-remember-checkbox .kivu-fake-checkbox {
    position: absolute;
    content: '';
    height: 19px;
    width: 19px;
    border-radius: 50px;
    border: 2px solid var(--kivu-primary-color);
    left: 0;
    bottom: 0px;
    cursor: pointer;
    z-index: 2;
}

.kivu-remember-checkbox .kivu-fake-checkbox::after {
    position: absolute;
    content: '';
    height: 9px;
    width: 9px;
    border-radius: 5000px;
    background-color: var(--kivu-primary-color);
    left: 3px;
    top: 3px;
    cursor: pointer;
    display: none;
    z-index: -1;
}

.kivu-remember-checkbox [type="checkbox"]:checked+.kivu-fake-checkbox::after {
    display: block;
}

.fa.form-control-feedback {
    line-height: 39px;
}

/* Sidebar & Dashboard of the portal  */
#content-container {
    font-size: 16px;
    /* !important: several views re-include nifty.min.css after this file, which would reset the grey #e7ebee */
    background-color: var(--kivu-background-color) !important;
    color: var(--kivu-text-color);

}

.page-header,
.widget-title h5 {
    color: var(--kivu-text-color);
}

.breadcrumb li,
.breadcrumb li a,
.breadcrumb>li+li:before {
    color: #485159b5;
}

#mainnav-container.kivu-sidebar-wrapper {
    width: var(--dashboard-to-sidebar-size);
    left: auto;
}

.kivu-sidebar-wrapper #mainnav-menu-wrap {
    margin-top: 10px;
    padding-top: 0;
}

.kivu-sidebar-wrapper #mainnav-menu li a {
    font-size: 18px;
    color: var(--kivu-white-text-color);
    ;
    display: -webkit-box;
    ;
    display: -ms-flexbox;
    ;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
}

.kivu-sidebar-wrapper #mainnav-menu li a:hover {
    color: var(--kivu-primary-color);
}

.kivu-sidebar-wrapper #mainnav-menu li .kivu-dropdown-level-1 {
    padding-left: 43px;
}

.kivu-header-wraper .head-list li .kivu-dropdown-level-1 {
    padding-left: 16px;
}

.kivu-sidebar-wrapper #mainnav-menu li .kivu-dropdown-level-2 {
    padding-left: 20px;

}

.kivu-header-wraper .head-list li .kivu-dropdown-level-2 {
    padding-left: 16px;
}

.kivu-header-wraper .head-list li i.fa {
    margin-right: 8px;
}

.kivu-sidebar-wrapper #mainnav-menu li .kivu-sidebar-dropdown a {
    font-size: 16px;
    color: var(--kivu-white-text-color);
    font-weight: 400;
}

.kivu-sidebar-wrapper #mainnav-menu li .kivu-dropdown-level-2 a {
    font-size: 15px;
    padding: 10px 16px;
}

.kivu-sidebar-wrapper #mainnav-menu li a:hover,
.kivu-sidebar-wrapper #mainnav-menu li.active-link>a,
.kivu-sidebar-wrapper #mainnav-menu li .kivu-sidebar-dropdown a:hover,
.kivu-sidebar-wrapper #mainnav-menu li .kivu-sidebar-dropdown a:focus {
    color: var(--kivu-primary-color);
}

.kivu-sidebar-wrapper li i {
    width: 38px;
    font-size: 22px;
    margin-right: 8px;
}


/* Header Meanu that undder the Avatar of the Login person */
.kivu-dropdownmenu-level {
    display: none;
}

.navbar-top-links .head-list li a:hover,
.navbar-top-links>li>a:hover {
    color: var(--kivu-primary-color);
    background: #337ab712;
}

.kivu-sidebar-wrapper #mainnav-menu li.kivu_active_li>a,
.kivu-sidebar-wrapper #mainnav-menu .kivu-sidebar-dropdown a.kivu_active_link {
    color: var(--kivu-primary-color);

}

#container.mainnav-lg #footer,
#container #content-container,
#container.mainnav-lg #content-container {
    padding-left: var(--dashboard-to-sidebar-size);
}

/* Dashboard Modules Style */
.kivu-modules-wrapper:after,
.kivu-modules-wrapper:before,
.container:before,
.container:after {
    content: none;
}

.widget-content,
.widget-title,
.modal-header,
.table th,
div.dataTables_wrapper .ui-widget-header {
    background-color: #fff;
}

.widget-title,
.modal-header,
.table th,
div.dataTables_wrapper .ui-widget-header {
    border-color: var(--kivu-border-color);
}

.widget-box,
.widget-content {
    border: none;
}

.widget-box {
    border-radius: 15px;
    overflow: hidden;
}

.kivu-modules-wrapper {
    display: -ms-grid;
    display: grid;
    grid-template-areas:
        "chart balance"
        "chart expense"
        "chart ap";
    -ms-grid-columns: 3fr 15px 2fr;
    grid-template-columns: 3fr 2fr;
    -ms-grid-rows: auto 15px 1.8fr 15px 1fr;
    grid-template-rows: auto 1.8fr 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 15px;
    padding: 5px;
}

.kivu-modules-wrapper .kivu-module {
    width: 100%;
    padding: 20px;
    height: 100%;
    border-radius: 12px;
}

.kivu-modules-wrapper .kivu-module:not(.kivu-module-chart) {
    background-color: var(--kivu-background-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0;
}

.kivu-modules-wrapper .kivu-module-chart {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 1;
    grid-area: chart;
}

.kivu-modules-wrapper .kivu-module-chart,
.kivu-modules-wrapper .kivu-module.kivu-module-balance {
    background-color: #fff;
    border: 1px solid var(--kivu-border-color);
}

.kivu-module-expense {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    grid-area: expense;
}

.kivu-module-ap {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
    grid-area: ap;
}

.kivu-module .kivu-module-inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 15px 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    padding: 15px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
}

.kivu-module .kivu-module-inner>*:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
}

.kivu-module .kivu-module-inner>*:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
}

.kivu-module-expense .kivu-module-inner {
    -ms-grid-rows: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}

.kivu-module-balance .kivu-module-inner {
    gap: 0;
}

.kivu-module-balance .kivu-mod-sec {
    text-align: center;
    /* border-radius: 8px; */
    padding: 15px;
}

.kivu-module-inner .kivu-spendign-lmt {
    border-right: 1px solid var(--kivu-border-color);
}

.kivu-module-inner .kivu-available-blnc {
    border-left: 1px solid var(--kivu-border-color);
}

.kivu-modules-wrapper .nav-tabs {
    width: 100%;
}

.kivu-modules-wrapper .canvasjs-chart-canvas {
    width: 100% !important;
    height: auto;
}

.kivu-module-inner,
.kivu-module-inner .bg_lh {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 10px;
}

.kivu-module-inner a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/* .kivu-analytics-icon {
    width: 60px;
    height: 100%;
    margin-right: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    background-color: var(--kivu-background-color);
    border-radius: 4px;
}
.kivu-analytics-icon .kivu-quick-icon {
    height: 40px;
} */
.bg_lh_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    /* text-align: left; */
}

.kivu-module-inner .bg_lh strong {
    font-size: 24px;
}

.kivu-dashboard-page-title {
    display: -ms-grid !important;
    display: grid !important;
    width: 100%;
    min-width: 100%;
    padding: 0;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
}

.kivu-dashboard-page-title h2 {
    margin: 0;
    padding: 10px 0;
    padding-right: 30px;
    font-weight: 300;
    text-align: end;
    color: var(--kivu-text-color);
}

.quick-actions {
    margin: 0;
}

.quick-actions .widget-box {
    margin-top: 0;
}

.kivu-quick-modules-wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 15px 1fr 15px 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 15px;
    padding: 5px;
}

.quick-module {
    width: 100%;
    background-color: var(--kivu-background-color);
    padding: 25px;
    height: 100%;
    border-radius: 12px;
    position: relative;
    top: 0;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.quick-module-inner {
    position: relative;
    border: 1px solid var(--kivu-border-color);
    border-radius: 6px;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.quick-module-title {
    position: absolute;
    background-color: #fff;
    font-size: 16px;
    font-weight: 700;
    color: var(--kivu-text-color);
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: -19px;
    padding: 5px 30px;
    border-radius: 50px;
    border: 1px solid var(--kivu-border-color);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

.quick-module:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: var(--kivu-primary-color);
}

.quick-module:hover :is(.quick-module-inner, .quick-module-title) {
    border-color: var(--kivu-primary-color);
}

.quick-module:hover .quick-module-title {
    background-color: var(--kivu-primary-color);
    color: var(--kivu-white-text-color);
    ;
}

.quick-module-buttonset {
    padding: 20px;
    margin-top: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 15px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.quick-module-button {
    margin-right: auto;
    padding: 0 12px;
    width: 100%;
}

.quick-module-btn {
    width: 100%;
    font-size: .95em;
    padding: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: start;
    gap: 15px;
}

.quick-module-btn:active {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.clickable-module-effect {
    text-transform: none;
    -webkit-box-shadow: 5px 5px 20px #3489ca20;
    box-shadow: 5px 5px 20px #3489ca20;
    background-color: #fff;
    border: none;
    color: var(--kivu-text-color);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    position: relative;
    border-radius: 6px;
    z-index: 2;
    overflow: hidden;
}

.clickable-module-effect a {
    color: var(--kivu-text-color);
}

/* .clickable-module-effect:before {
    position: absolute;
    content: '';
    background-color: var(--kivu-primary-color);
    height: 100%;
    width: 0;
    z-index: -1;
    transition: 0.5s ease;
    top: 0;
    left: 0
} */
.clickable-module-effect:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: var(--kivu-primary-color);
    /* background-color: transparent; */
    border-color: var(--kivu-primary-color);
}

.clickable-module-effect:hover a {
    color: var(--kivu-white-text-color);
}

/* .clickable-module-effect:hover:before {
    height: 100%;
    width: 100%;
    border-radius: 5px;
    left: 0;
    top: 0;
} */

.kivu-quick-icon {
    height: 22px;
    width: auto;
}

span.kivu-quick-module-btn-icon {
    height: 45px;
    width: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: var(--kivu-background-color);
    border-radius: 4px;
}

.kivu-quick-icon .cls-1 {
    fill: var(--kivu-primary-color);
    stroke-width: 0px;
}

/* Dashboard Modules Style End */


#scroll-top {
    display: none;
}

.unselectable {
    -webkit-user-select: none;
    /* Safari */
    -moz-user-select: none;
    /* Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Standard syntax */
}

.not-selectable {
    -webkit-user-select: none;
    /* Safari */
    -moz-user-select: none;
    /* Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Standard syntax */
}

.invalid-placeholder::-webkit-input-placeholder {
    color: var(--kivu-danger-color);
    /* Change to your desired color */
}

.invalid-placeholder:-moz-placeholder {
    /* Firefox 18- */
    color: var(--kivu-danger-color);
}

.invalid-placeholder::-moz-placeholder {
    /* Firefox 19+ */
    color: var(--kivu-danger-color);
}

.invalid-placeholder:-ms-input-placeholder {
    color: var(--kivu-danger-color);
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Internal header design Section */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.internal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 20px;
    white-space: nowrap;
}

.page-header {
    padding: 0;
}

.page_right_top_sect {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: right;
    background-color: #fff;
    padding: 10px;
    border-radius: 8px;
    gap: 10px;
}

.general_btn {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: center;
    background-color: var(--kivu-primary-color);
    border: none;
    outline: none;
    border-radius: 5px;
    padding: 8px 24px;
    color: #fff;
    font-weight: bold;
    box-shadow: var(--kivu-shadow-md);
    transition: 0.4s ease;
}

.delete_btn {
    background-color: var(--kivu-danger-color);
    color: var(--kivu-white-text-color);
}

.delete_btn svg {
    height: 16px;
    width: 16px;
}

.general_btn:is(:hover, :focus) {
    background-color: var(--kivu-secondary-color);
    color: #fff;
}

.delete_btn:hover {
    background-color: var(--kivu-danger-hover-color);
    color: #fff;
}

.amount-display-container {
    font-weight: 700;
    font-size: 16px;
    color: var(--kivu-primary-color);
    margin-right: 10px;
}

.search-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--kivu-background-color);
    border-radius: 5px;
    padding: 25px;
    width: 100%;
    gap: 15px;
}

.ajax-search-field {
    background-color: var(--kivu-background-color, var(--kivu-background-color));
    border: none;
    outline: none;
    height: 30px;
    border-radius: 5px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */


/* Ended */

@media (min-width:1200px) {
    .container {
        width: 1190px;
        max-width: 100%;
    }
}

@media (min-width: 992px) {

    /* #container.mainnav-lg #footer, #container.mainnav-lg #content-container { */
    #container.mainnav-lg #footer,
    #container #content-container {
        padding-left: var(--dashboard-to-sidebar-size);
    }
}

/* Sidebar of the portal End */
/* @media (min-width: 768px){
    #container.mainnav-sm #mainnav-container, #container.mainnav-sm #navbar .navbar-brand{
        width: var(--dashboard-to-sidebar-size);
    }
} */


/* 
* Mobile Responsiveness is go there... 
* 
* Its place is in the last portion of the file 
*/

@media (max-width: 767px) {
    :root {
        --dashboard-to-sidebar-size: 50px;
    }

    body {
        font-size: 12px;
    }

    .kivu-container-col {
        width: 100%;
        position: fixed;
        left: 0;
        top: 0;
        padding: 20px;
    }

    .kivu-left-container {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .kivu-container-col.kivu-right-container {
        margin: auto;
        height: auto;
        top: 47%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .kivu-sign-in-heading h1 {
        font-size: 24px;
    }

    .kivu-signin-cta {
        padding: 6px 14px;
    }

    .kivu-signin-cta-text {
        font-size: 12px;
    }

    .kivu-signin-section,
    .kivu-signup-section,
    .kivu-reset-password-section,
    .kivu-forgot-password-section,
    .kivu-create-account-section 
    {
        padding: 8%;
        border-radius: 12px;
        width: 100%;
    }

    .kivu-form-control {
        min-width: 100%;
    }

    .kivu-submit-field {
        font-size: 14px;
    }

    a.kivu-forget-link {
        font-size: 11px;
    }

}

#container.mainnav-sm #mainnav-container,
#container.mainnav-sm #navbar .navbar-brand {
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}

#container.mainnav-sm #mainnav-container:hover {
    width: 220px;
}

.transaction-sidebar-my-card {
    cursor: pointer;
}

.reset-password-button,
.forgot-password-button,
.create-account-button
{
    margin-top:10px;
}

#account-number::-webkit-outer-spin-button,
#account-number::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#signin-bv-form,
#select-company-bv-form
{
    margin-top:30px;
}

.label-for-haveAnAccount
{
    display:flex;
    justify-content:center;
    margin-top: 20px;
    font-style: italic;
    color:var(--kivu-primary-color);
    text-decoration: underline; 
}

.label-for-haveAnAccount:hover
{
    color: var(--deep-sea);
    cursor: pointer;
}

#select-company-dropdown .single-select-dropdown
{
    width:100% !important;
}

#select-company-dropdown
{
    margin: 10px 0 20px 0;
}

.kivu-portal-signup-form
{
    margin:15px 0 25px 0;
}

/* ============================================================
   Login Page (login_mockup_4 design)
   New kivu-login-* classes only — does not modify the
   shared .kivu-signin-* / .kivu-container-* rules used by
   vendor_login_view.php
   ============================================================ */

.kivu-login-wrapper {
    display: flex;
    width: 100%;
    min-height: 100vh;
}

/* LEFT PANEL */
.kivu-login-left {
    flex: 0 0 58%;
    background: linear-gradient(145deg, var(--kivu-sidebar-dark) 0%, #1a3a5c 60%, #1e4d8c 100%);
    display: flex;
    flex-direction: column;
    padding: 44px 48px;
    position: relative;
    overflow: hidden;
}

.kivu-login-left::before {
    content: '';
    position: absolute;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    border: 70px solid rgba(255, 255, 255, .04);
    bottom: -140px;
    right: -120px;
    pointer-events: none;
}

.kivu-login-left::after {
    content: '';
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 50px solid rgba(255, 255, 255, .04);
    top: -60px;
    left: -60px;
    pointer-events: none;
}

.kivu-login-hero {
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    text-align: center;
    width: 100%;
}

.kivu-login-hero-img {
    width: 100%;
    max-width: 320px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 28px rgba(0, 0, 0, .35));
}

.kivu-login-tagline {
    text-align: center;
}

.kivu-login-tagline h2 {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin-bottom: 8px;
}

.kivu-login-tagline p {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .6);
    line-height: 1.65;
}

.kivu-login-stats {
    display: flex;
    justify-content: center;
    gap: 16px;
    width: 100%;
}

.kivu-login-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    padding: 12px 0;
    flex: 1 1 0;
    max-width: 200px;
}

.kivu-login-stat-value {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
}

.kivu-login-stat-label {
    font-size: 10px;
    font-weight: 500;
    color: rgba(255, 255, 255, .5);
    text-transform: uppercase;
    letter-spacing: .6px;
    text-align: center;
}

.kivu-login-ctas {
    z-index: 1;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 32px;
    justify-content: center;
    width: 100%;
}

.kivu-login-cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 16px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    color: rgba(255, 255, 255, .8);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: background .2s, border-color .2s;
}

.kivu-login-cta:hover {
    background: rgba(255, 255, 255, .16);
    border-color: rgba(255, 255, 255, .35);
    color: rgba(255, 255, 255, .9);
    text-decoration: none;
}

/* RIGHT PANEL */
.kivu-login-right {
    flex: 1;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 64px;
}

.kivu-login-card {
    width: 100%;
    max-width: 440px;
}

.kivu-login-logo {
    margin-bottom: 32px;
}

.kivu-login-logo img {
    height: 60px;
    width: auto;
}

.kivu-login-title {
    font-size: 30px;
    font-weight: 700;
    color: var(--kivu-text-color);
    margin-bottom: 6px;
    font-family: 'Inter', sans-serif;
}

.kivu-login-subtitle {
    font-size: 14px;
    color: var(--kivu-text-muted);
    margin-bottom: 36px;
    font-family: 'Inter', sans-serif;
}

.kivu-login-maintenance-banner {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 13px;
    color: #b91c1c;
    margin-bottom: 20px;
}

.kivu-login-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.kivu-login-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.kivu-login-field label {
    font-size: 13px;
    font-weight: 500;
    color: var(--kivu-text-color);
}

.kivu-login-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.kivu-login-input-ico {
    position: absolute;
    left: 14px;
    color: var(--kivu-text-muted);
    pointer-events: none;
    display: flex;
}

.kivu-login-input {
    width: 100%;
    padding: 12px 14px 12px 42px;
    border: 1.5px solid #dde6f0;
    border-radius: 10px;
    background: #f6f9fc;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    color: var(--kivu-text-color);
    outline: none;
    transition: border-color .18s, box-shadow .18s, background .18s;
    box-shadow: none;
    height: auto;
}

.kivu-login-input::placeholder {
    color: #adbdcc;
}

.kivu-login-input:focus {
    border-color: var(--kivu-primary-color);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(52, 137, 202, .12);
}

.kivu-login-eye {
    position: absolute;
    right: 14px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--kivu-text-muted);
    display: flex;
    align-items: center;
}

.kivu-login-eye:hover {
    color: var(--kivu-text-color);
}

.kivu-login-util-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kivu-login-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--kivu-text-muted);
    cursor: pointer;
    user-select: none;
    margin: 0;
}

.kivu-login-remember input {
    display: none;
}

.kivu-fake-checkbox {
    width: 17px;
    height: 17px;
    border: 1.5px solid #dde6f0;
    border-radius: 4px;
    background: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .15s, border-color .15s;
    position: relative;
}

.kivu-login-remember input:checked + .kivu-fake-checkbox {
    background: var(--kivu-primary-color);
    border-color: var(--kivu-primary-color);
}

.kivu-login-remember input:checked + .kivu-fake-checkbox::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.kivu-login-remember-label {
    font-size: 13px;
    color: var(--kivu-text-muted);
}

.kivu-login-forgot {
    font-size: 13px;
    font-weight: 500;
    color: var(--kivu-primary-color);
    text-decoration: none;
}

.kivu-login-forgot:hover {
    text-decoration: underline;
    color: var(--kivu-primary-color);
}

.kivu-login-submit {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 13px;
    border: none;
    border-radius: 10px;
    background: var(--kivu-primary-color);
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    letter-spacing: .2px;
    transition: background .2s, box-shadow .2s, transform .1s;
    box-shadow: 0 4px 14px rgba(52, 137, 202, .3);
}

.kivu-login-submit.loading {
    pointer-events: none;
    opacity: .8;
    cursor: default;
}

.kivu-login-submit.loading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -40%;
    height: 3px;
    width: 40%;
    border-radius: 3px;
    background: rgba(255, 255, 255, .85);
    animation: kivu-login-bar-slide 1s ease-in-out infinite;
}

@keyframes kivu-login-bar-slide {
    0% {
        left: -40%;
    }

    100% {
        left: 100%;
    }
}

.kivu-login-submit:hover {
    background: var(--kivu-accent-dark);
    box-shadow: 0 6px 20px rgba(52, 137, 202, .4);
    color: #ffffff;
}

.kivu-login-submit:active {
    transform: scale(.99);
}

.kivu-login-trial {
    text-align: center;
    font-size: 13px;
    color: var(--kivu-text-muted);
    margin: 0;
}

.kivu-login-trial a {
    color: var(--kivu-primary-color);
    font-weight: 500;
    text-decoration: none;
}

.kivu-login-trial a:hover {
    text-decoration: underline;
}

@media (max-width: 860px) {
    .kivu-login-left {
        display: none;
    }

    .kivu-login-right {
        padding: 40px 28px;
    }

    .kivu-login-logo,
    .kivu-login-title,
    .kivu-login-subtitle {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .kivu-login-right {
        padding: 32px 20px;
    }
}

/* ============================================================
   Signup Page (signup_mockup_2 design)
   New kivu-signup-* classes only — reuses kivu-login-logo /
   kivu-login-title / kivu-login-subtitle / kivu-fake-checkbox /
   kivu-login-input from the login redesign above
   ============================================================ */

.kivu-signup-page {
    min-height: 100vh;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 24px;
}

.kivu-signup-card {
    width: 100%;
    max-width: 760px;
}

.kivu-signup-card .kivu-login-logo,
.kivu-signup-card .kivu-login-title,
.kivu-signup-card .kivu-login-subtitle {
    text-align: center;
}

.kivu-signup-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 24px;
}

.kivu-signup-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.kivu-signup-field.kivu-signup-field-full {
    grid-column: 1 / -1;
}

.kivu-signup-field label {
    font-size: 13px;
    font-weight: 500;
    color: var(--kivu-text-color);
}

.kivu-signup-field .kivu-login-input {
    padding-left: 14px;
}

.kivu-signup-field .single-select-dropdown {
    width: 100%;
}

.kivu-signup-field .single-select-dropdown .kivu-search-field {
    padding: 12px 35px 12px 14px;
    min-height: auto;
    border: 1.5px solid #dde6f0;
    border-radius: 10px;
    background: #f6f9fc;
    box-shadow: none;
}

.kivu-signup-field .single-select-dropdown:not(.dropdown-disabled) .kivu-search-field:hover,
.kivu-signup-field .single-select-dropdown:not(.dropdown-disabled) .kivu-search-field:focus {
    border-color: var(--kivu-primary-color);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(52, 137, 202, .12);
}

.kivu-signup-field .single-select-dropdown .text {
    font-size: 14px;
    color: var(--kivu-text-color);
}

.kivu-signup-terms-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 28px;
}

.kivu-signup-terms {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--kivu-text-muted);
    cursor: pointer;
    user-select: none;
}

.kivu-signup-terms [type="checkbox"] {
    position: absolute;
    opacity: 0;
    height: 17px;
    width: 17px;
    margin: 0;
    cursor: pointer;
}

.kivu-signup-terms .kivu-fake-checkbox {
    display: inline-block;
}

.kivu-signup-terms [type="checkbox"]:checked + .kivu-fake-checkbox {
    background: var(--kivu-primary-color);
    border-color: var(--kivu-primary-color);
}

.kivu-signup-terms [type="checkbox"]:checked + .kivu-fake-checkbox::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.kivu-signup-terms a {
    color: var(--kivu-primary-color);
    font-weight: 500;
    text-decoration: none;
}

.kivu-signup-terms a:hover {
    text-decoration: underline;
}

.kivu-required-star {
    color: var(--kivu-danger-color);
    font-weight: 600;
}

.kivu-signup-submit {
    padding: 13px 32px;
    border: none;
    border-radius: 10px;
    background: var(--kivu-primary-color);
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    letter-spacing: .2px;
    transition: background .2s, box-shadow .2s, transform .1s;
    box-shadow: 0 4px 14px rgba(52, 137, 202, .3);
    white-space: nowrap;
}

.kivu-signup-submit:hover {
    background: var(--kivu-accent-dark);
    box-shadow: 0 6px 20px rgba(52, 137, 202, .4);
    color: #ffffff;
}

.kivu-signup-submit:active {
    transform: scale(.99);
}

.kivu-signup-submit:disabled {
    background: var(--kivu-grey-color);
    color: #ffffff;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.kivu-signup-submit:disabled:hover {
    background: var(--kivu-grey-color);
    box-shadow: none;
}

.kivu-signup-footer {
    text-align: center;
    font-size: 13px;
    color: var(--kivu-text-muted);
    margin-top: 28px;
}

.kivu-signup-footer a {
    color: var(--kivu-primary-color);
    font-weight: 500;
    text-decoration: none;
}

.kivu-signup-footer a:hover {
    text-decoration: underline;
}

@media (max-width: 700px) {
    .kivu-signup-grid {
        grid-template-columns: 1fr;
    }

    .kivu-signup-terms-row {
        flex-direction: column;
        align-items: stretch;
    }

    .kivu-signup-submit {
        width: 100%;
    }
}

/* ============================================================
   Chrome v2 — site-wide top header + fixed sidebar.
   All selectors use kivu- prefix to prevent collision with
   matrix-style.css / nifty.min.css that define .sidebar,
   #sidebar, .submenu, etc. on other portal pages.
   ============================================================ */

/* --- page shell ------------------------------------------- */
.kivu-page-shell {
    display: flex;
    min-height: calc(100vh - 70px);
}

.kivu-main-content-area {
    flex: 1;
    min-width: 0;
    margin-left: 260px;
    background: var(--kivu-background-color);   /* fill the full content-area height, not just the content's height */
}

/* --- top header ------------------------------------------- */
.kivu-top-header {
    height: 70px;
    background: #fff;
    border-bottom: 1px solid var(--kivu-border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    position: sticky;
    top: 0;
    z-index: 20;
}

.kivu-header-left {
    display: flex;
    align-items: center;
    gap: 22px;
}

.kivu-header-logo img {
    height: 38px;
    width: auto;
    display: block;
}

.kivu-top-header .kivu-header-menu-toggle {
    font-size: 18px;
    color: var(--kivu-text-mid);
    cursor: pointer;
    display: none;
}

.kivu-header-right {
    display: flex;
    align-items: center;
    gap: 18px;
}

.kivu-header-date {
    font-size: 13px;
    color: var(--kivu-text-muted);
    font-weight: 500;
}

.kivu-header-date i {
    color: var(--kivu-primary-color);
    margin-right: 7px;
}

.kivu-header-icon-button {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--kivu-background-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--kivu-text-mid);
    cursor: pointer;
    position: relative;
    transition: background .25s ease, color .25s ease;
}

.kivu-header-icon-button:hover {
    background: #e3f0fb;
    color: var(--kivu-primary-color);
}

.kivu-notification-dot {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--kivu-danger-color);
    border: 2px solid #fff;
}

/* user chip */
.kivu-header-user {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    position: relative;
    padding: 6px 8px;
    border-radius: 12px;
    transition: background .25s ease;
}

.kivu-header-user:hover,
.kivu-header-user.open {
    background: var(--kivu-background-color);
}

.kivu-header-user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--kivu-primary-color), var(--kivu-accent-dark));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
}

.kivu-header-user-name {
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--kivu-text-color);
}

.kivu-header-user-name small {
    display: block;
    font-weight: 500;
    color: var(--kivu-text-muted);
    font-size: 11.5px;
}

.kivu-header-user-caret {
    color: var(--kivu-text-muted);
    transition: transform .3s ease;
}

.kivu-header-user.open .kivu-header-user-caret {
    transform: rotate(180deg);
}

/* user dropdown panel */
.kivu-user-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 250px;
    max-height: min(72vh, 560px);
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--kivu-border-color);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(15, 28, 46, .16);
    padding: 8px;
    z-index: 30;
    cursor: default;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px) scale(.98);
    transform-origin: top right;
    transition: opacity .34s cubic-bezier(.25, .8, .25, 1),
                transform .34s cubic-bezier(.25, .8, .25, 1),
                visibility .34s;
}

.kivu-header-user.open .kivu-user-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}

.kivu-user-menu-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.kivu-user-menu-nav > li > a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--kivu-text-color);
    cursor: pointer;
    transition: background .25s ease;
}

.kivu-user-menu-nav > li > a .kivu-nav-icon {
    width: 17px;
    font-size: 14px;
    color: var(--kivu-primary-color);
}

.kivu-user-menu-nav > li > a:hover {
    background: var(--kivu-background-color);
}

.kivu-user-menu-nav > li.active > a {
    color: var(--kivu-primary-color);
    font-weight: 700;
}

.kivu-user-menu .kivu-submenu {
    padding: 2px 0 4px 12px;
}

.kivu-user-menu .kivu-submenu li a {
    display: flex;
    align-items: center;
    padding: 7px 10px 7px 22px;
    border-radius: 8px;
    font-size: 13px;
    color: var(--kivu-text-mid);
    border-left: 2px solid var(--kivu-border-color);
    margin-bottom: 1px;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.kivu-user-menu .kivu-submenu li a:hover {
    background: var(--kivu-background-color);
    color: var(--kivu-text-color);
    border-left-color: var(--kivu-primary-color);
}

.kivu-user-menu .kivu-submenu .kivu-submenu {
    padding-left: 10px;
}

.kivu-user-menu .kivu-submenu .kivu-submenu li a {
    padding-left: 30px;
    font-size: 12.5px;
}

.kivu-user-menu-footer {
    border-top: 1px solid var(--kivu-border-color);
    margin-top: 6px;
    padding-top: 8px;
    text-align: right;
}

.kivu-sign-out-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--kivu-primary-color), var(--kivu-accent-dark));
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 16px;
    border-radius: 11px;
    box-shadow: 0 6px 14px rgba(52, 137, 202, .3);
    text-decoration: none;
    transition: opacity .2s ease;
}

.kivu-sign-out-button:hover {
    opacity: .88;
    color: #fff;
    text-decoration: none;
}

/* --- shared expandable submenu (sidebar + user dropdown) -- */
.kivu-submenu-wrap {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .45s cubic-bezier(.25, .8, .25, 1);
}

li.open > .kivu-submenu-wrap {
    grid-template-rows: 1fr;
}

.kivu-submenu {
    list-style: none;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .35s ease, transform .45s cubic-bezier(.25, .8, .25, 1);
    padding: 0;
}

li.open > .kivu-submenu-wrap > .kivu-submenu {
    opacity: 1;
    transform: none;
}

.kivu-section-caret {
    margin-left: auto;
    font-size: 12px;
    opacity: .6;
    transition: transform .35s cubic-bezier(.25, .8, .25, 1);
}

li.open > .kivu-section-toggle > .kivu-section-caret {
    transform: rotate(90deg);
}

.kivu-nav-icon {
    width: 18px;
    text-align: center;
    font-size: 15px;
}

/* --- sidebar ------------------------------------------------ */
.kivu-sidebar {
    width: 260px;
    background: linear-gradient(180deg, var(--kivu-sidebar-dark) 0%, #16293f 60%, #1a3454 100%);
    padding: 20px 14px;
    position: fixed;
    top: 70px;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    z-index: 25;
    transition: transform .45s cubic-bezier(.25, .8, .25, 1);
    overflow-y: auto;
}

.kivu-sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 28, 46, .45);
    backdrop-filter: blur(2px);
    z-index: 24;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease, visibility .4s;
}

.kivu-sidebar-overlay.shown {
    opacity: 1;
    visibility: visible;
}

.kivu-sidebar-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    overflow-y: auto;
}

.kivu-sidebar-nav::-webkit-scrollbar {
    width: 6px;
}

.kivu-sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .12);
    border-radius: 3px;
}

.kivu-sidebar-nav > li > a {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 11px 14px;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 500;
    color: #b9c7d8;
    margin-bottom: 3px;
    transition: background .3s ease, color .3s ease;
    cursor: pointer;
    text-decoration: none;
}

.kivu-sidebar-nav > li > a:hover {
    background: rgba(255, 255, 255, .06);
    color: #fff;
    text-decoration: none;
}

.kivu-sidebar-nav > li.active > a {
    background: linear-gradient(90deg, var(--kivu-primary-color), var(--kivu-accent-dark));
    color: #fff;
    box-shadow: 0 6px 16px rgba(52, 137, 202, .35);
}

.kivu-sidebar .kivu-submenu {
    padding: 2px 0 6px 16px;
}

.kivu-sidebar .kivu-submenu li a {
    display: flex;
    align-items: center;
    padding: 8px 14px 8px 28px;
    border-radius: 9px;
    font-size: 13px;
    color: #93a6bc;
    margin-bottom: 1px;
    border-left: 2px solid rgba(255, 255, 255, .08);
    cursor: pointer;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
    text-decoration: none;
}

.kivu-sidebar .kivu-submenu li a:hover {
    color: #fff;
    background: rgba(255, 255, 255, .05);
    border-left-color: var(--kivu-primary-color);
    text-decoration: none;
}

/* current page highlight inside sidebar submenus */
.kivu-sidebar .kivu-submenu li.active > a {
    color: #fff;
    background: rgba(52, 137, 202, .18);
    border-left-color: var(--kivu-primary-color);
    font-weight: 600;
}

/* tint the section header(s) leading to the active page */
.kivu-sidebar-nav li.section-active > .kivu-section-toggle {
    color: #fff;
}

.kivu-sidebar-nav li.section-active > .kivu-section-toggle .kivu-nav-icon {
    color: var(--kivu-primary-color);
}

.kivu-sidebar .kivu-submenu .kivu-submenu {
    padding-left: 14px;
}

.kivu-sidebar .kivu-submenu .kivu-submenu li a {
    padding-left: 34px;
    font-size: 12.5px;
}

.kivu-sidebar-signout {
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding-top: 10px;
    margin-top: auto;
}

.kivu-sidebar-signout a {
    color: #b9c7d8;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    gap: 13px;
    align-items: center;
    padding: 11px 14px;
    border-radius: 11px;
    transition: background .3s ease, color .3s ease;
    text-decoration: none;
}

.kivu-sidebar-signout a i {
    width: 18px;
    text-align: center;
    font-size: 15px;
}

.kivu-sidebar-signout a:hover {
    color: #fff;
    background: rgba(255, 255, 255, .06);
    text-decoration: none;
}

/* --- responsive chrome ------------------------------------- */
@media (min-width: 981px) {
    .kivu-top-header .kivu-header-menu-toggle,
    .kivu-sidebar-overlay {
        display: none;
    }
}

@media (max-width: 980px) {
    .kivu-top-header .kivu-header-menu-toggle {
        display: block;
    }

    .kivu-main-content-area {
        margin-left: 0;
    }

    .kivu-sidebar {
        top: 0;
        transform: translateX(-105%);
        box-shadow: 14px 0 34px rgba(15, 28, 46, .3);
    }

    .kivu-sidebar.open {
        transform: translateX(0);
    }
}

@media (max-width: 760px) {
    .kivu-top-header {
        padding: 0 16px;
    }

    .kivu-header-date,
    .kivu-header-user-name {
        display: none;
    }
}

@media (min-width: 1700px) {
    .kivu-sidebar {
        width: 290px;
    }

    .kivu-main-content-area {
        margin-left: 290px;
    }

    .kivu-sidebar-nav > li > a {
        font-size: 16px;
        padding: 13px 16px;
    }

    .kivu-sidebar-nav > li > a .kivu-nav-icon {
        font-size: 18px;
    }

    .kivu-sidebar .kivu-submenu li a {
        font-size: 14.5px;
    }

    .kivu-sidebar-signout a {
        font-size: 16px;
        padding: 13px 16px;
    }

    .kivu-header-user-name {
        font-size: 15.5px;
    }

    .kivu-header-user-name small {
        font-size: 13px;
    }

    .kivu-header-user-avatar {
        width: 42px;
        height: 42px;
        font-size: 15px;
    }

    .kivu-user-menu {
        width: 270px;
    }

    .kivu-user-menu-nav > li > a {
        font-size: 15px;
    }

    .kivu-user-menu .kivu-submenu li a {
        font-size: 14px;
    }

    .kivu-header-date {
        font-size: 14.5px;
    }

    .kivu-header-logo img {
        height: 42px;
    }
}

/* ============================================================
   Dashboard redesign (?id=43, main_page.php).
   Every selector scoped under .kivu-dashboard so nothing bleeds
   into Bootstrap / Nifty / matrix styling used by other pages.
   ============================================================ */

.kivu-dashboard {
    --accent:   var(--kivu-primary-color);
    --accent-d: var(--kivu-accent-dark);
    --navy:     var(--kivu-sidebar-dark);
    --text:     var(--kivu-text-color);
    --mid:      var(--kivu-text-mid);
    --muted:    var(--kivu-text-muted);
    --border:   var(--kivu-border-color);
    --bg:       var(--kivu-background-color);
    --card:     #ffffff;
    --green:    var(--kivu-success);
    --amber:    var(--kivu-warning);
    --red:      var(--kivu-danger-color);
    --slate:    #64748b;
    padding: var(--kivu-page-padding);
    background: var(--bg);
    min-height: calc(100vh - 70px);
    font-family: 'Inter', sans-serif;
    color: var(--text);
}

.kivu-dashboard a {
    text-decoration: none;
    color: inherit;
}

.kivu-dashboard .page-greeting h1 {
    font-size: 23px;
    font-weight: 800;
    margin: 0 0 4px;
}

.kivu-dashboard .kivu-dash-breadcrumb {
    margin: 0 0 22px;
    color: var(--muted);
    font-size: 13px;
}

.kivu-dashboard .kivu-dash-breadcrumb span {
    color: var(--accent);
    font-weight: 600;
}

.kivu-dashboard .section-title {
    font-size: 14px;
    font-weight: 700;
    margin: 6px 0 14px;
    display: flex;
    align-items: center;
    gap: 9px;
}

.kivu-dashboard .section-title i {
    color: var(--accent);
}

.kivu-dashboard .card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: 0 6px 22px rgba(52, 137, 202, .06);
}

.kivu-dashboard .card-padded {
    padding: 20px;
}

.kivu-dashboard .card-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.kivu-dashboard .card-header-row h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
}

.kivu-dashboard .card-header-link {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--accent);
}

/* Quick Access */
.kivu-dashboard .quick-access-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.kivu-dashboard .quick-access-card {
    padding: 20px;
}

.kivu-dashboard .quick-access-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.kivu-dashboard .quick-access-module-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--accent), var(--accent-d));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
}

.kivu-dashboard .quick-access-header h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
}

.kivu-dashboard .quick-access-header small {
    display: block;
    color: var(--muted);
    font-weight: 500;
    font-size: 11.5px;
}

.kivu-dashboard .quick-access-actions {
    display: flex;
    gap: 10px;
}

.kivu-dashboard .quick-access-button {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 14px 8px;
    border: 1px solid var(--border);
    border-radius: 13px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text);
    transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease, background .3s ease;
    text-decoration: none;
}

.kivu-dashboard .quick-access-button i {
    font-size: 15px;
    color: var(--accent);
}

.kivu-dashboard .quick-access-button:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(52, 137, 202, .14);
    background: #f6fbff;
    text-decoration: none;
    color: var(--text);
}

/* Analytics grid */
.kivu-dashboard .analytics-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    margin-bottom: 24px;
}

.kivu-dashboard .analytics-grid > * {
    min-width: 0;
}

.kivu-dashboard .spend-overview-card {
    grid-row: span 2;
    display: flex;
    flex-direction: column;
}

/* empty states shown until spend/category data is wired; they carry
   data-period so the Monthly/Yearly switch toggles them like the charts */
.kivu-dashboard .chart-empty-note,
.kivu-dashboard .category-empty-note {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--muted);
    font-size: 13.5px;
    font-weight: 500;
}

.kivu-dashboard .chart-empty-note {
    position: absolute;
    inset: 0 2px 0 50px;
}

.kivu-dashboard .category-empty-note {
    flex: 1;
    padding: 28px 0;
}

.kivu-dashboard .chart-empty-note.shown,
.kivu-dashboard .category-empty-note.shown {
    display: flex;
}

.kivu-dashboard .chart-empty-note i,
.kivu-dashboard .category-empty-note i {
    font-size: 30px;
    opacity: .35;
}

@keyframes kivu-fade-rise {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}

.kivu-dashboard .chart-tabs {
    display: flex;
    gap: 6px;
}

.kivu-dashboard .chart-tab {
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 13px;
    border-radius: 9px;
    color: var(--muted);
    cursor: pointer;
    transition: background .25s ease, color .25s ease;
}

.kivu-dashboard .chart-tab.active {
    background: #e3f0fb;
    color: var(--accent);
}

.kivu-dashboard .chart-area {
    flex: 1;
    min-height: 230px;
    position: relative;
}

.kivu-dashboard .chart-y-axis {
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 0;
    width: 44px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease, visibility .45s;
}

.kivu-dashboard .chart-y-axis.shown {
    opacity: 1;
    visibility: visible;
}

.kivu-dashboard .chart-y-axis span {
    position: absolute;
    right: 8px;
    transform: translateY(-50%);
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
}

.kivu-dashboard .chart-svg {
    position: absolute;
    inset: 6px 2px 0 50px;
    width: calc(100% - 52px);
    height: calc(100% - 6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease, visibility .45s;
}

.kivu-dashboard .chart-svg.shown {
    opacity: 1;
    visibility: visible;
}

/* data-point dots — HTML overlay aligned to the same frame as .chart-svg
   (SVG cap-trick dots don't render reliably under the stretched chart) */
.kivu-dashboard .chart-dot-layer {
    position: absolute;
    inset: 6px 2px 0 50px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease, visibility .45s;
    pointer-events: none;
}

.kivu-dashboard .chart-dot-layer.shown {
    opacity: 1;
    visibility: visible;
}

.kivu-dashboard .chart-dot-marker {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    border: 3.5px solid var(--kivu-primary-color);
    transform: translate(-50%, -50%);
    pointer-events: auto;
    cursor: pointer;
    transition: width .2s ease, height .2s ease;
}

.kivu-dashboard .chart-dot-marker:hover {
    width: 16px;
    height: 16px;
}

.kivu-dashboard .chart-x-axis {
    display: none;
    justify-content: space-between;
    padding: 10px 4px 0 50px;
}

.kivu-dashboard .chart-x-axis.shown {
    display: flex;
    animation: kivu-fade-rise .45s cubic-bezier(.25, .8, .25, 1);
}

.kivu-dashboard .chart-x-axis span {
    font-size: 11.5px;
    color: var(--muted);
}

/* Kivu card tile */
.kivu-dashboard .kivu-card-tile {
    aspect-ratio: 1543 / 973;
    container-type: inline-size;
    padding: 5.6%;
    color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: url('../img/kivu_card_cropped.png') center/cover no-repeat;
    filter: drop-shadow(0 10px 16px rgba(15, 28, 46, .32));
    text-shadow: 0 1px 10px rgba(13, 27, 46, .6);
    border-radius: 0;
    border: none;
}

.kivu-dashboard .kivu-card-tile.no-card {
    filter: grayscale(1) opacity(.55);
    pointer-events: none;
}

.kivu-dashboard .kivu-card-balance {
    margin-top: 3.4cqw;
}

.kivu-dashboard .kivu-card-label {
    font-size: 2.8cqw;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, .7);
}

.kivu-dashboard .kivu-card-amount {
    font-size: 5.6cqw;
    font-weight: 800;
    margin-top: 4px;
}

.kivu-dashboard .kivu-card-details {
    display: flex;
    flex-direction: column;
    gap: 2.2cqw;
}

.kivu-dashboard .kivu-card-number {
    font-size: 3.6cqw;
    letter-spacing: .85cqw;
    font-weight: 600;
    color: rgba(255, 255, 255, .92);
}

.kivu-dashboard .kivu-card-info-row {
    display: flex;
    gap: 7cqw;
    font-size: 2.8cqw;
    color: rgba(255, 255, 255, .7);
}

.kivu-dashboard .kivu-card-info-row strong {
    display: block;
    color: #fff;
    font-size: 3.2cqw;
    font-weight: 700;
    margin-top: 2px;
}

/* Spend by Category */
.kivu-dashboard .spend-category-card {
    display: flex;
    flex-direction: column;
}

.kivu-dashboard .category-wheel-layout {
    flex: 1;
    display: none;
    align-items: center;
    gap: 20px;
}

.kivu-dashboard .category-wheel-layout.shown {
    display: flex;
    animation: kivu-fade-rise .45s cubic-bezier(.25, .8, .25, 1);
}

.kivu-dashboard .category-wheel {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
}

.kivu-dashboard .category-wheel::after {
    content: '';
    position: absolute;
    inset: 22px;
    border-radius: 50%;
    background: #fff;
}

.kivu-dashboard .category-wheel-center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.kivu-dashboard .category-wheel-total {
    font-size: 18px;
    font-weight: 800;
}

.kivu-dashboard .category-wheel-total-label {
    font-size: 10px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .6px;
}

.kivu-dashboard .category-legend {
    flex: 1;
    min-width: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.kivu-dashboard .category-legend li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    padding: 5px 0;
}

.kivu-dashboard .legend-swatch {
    width: 11px;
    height: 11px;
    border-radius: 3px;
    flex-shrink: 0;
}

.kivu-dashboard .legend-amount {
    margin-left: auto;
    font-weight: 700;
    color: var(--mid);
}

.kivu-dashboard .category-period-caption {
    display: none;
}

.kivu-dashboard .category-period-caption.shown {
    display: inline;
}

/* Stat tiles */
.kivu-dashboard .stat-tile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
}

.kivu-dashboard .stat-tile {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 6px 22px rgba(52, 137, 202, .06);
    transition: transform .3s ease, box-shadow .3s ease;
    display: block;
    color: var(--text);
    text-decoration: none;
}

.kivu-dashboard .stat-tile:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 26px rgba(52, 137, 202, .16);
    text-decoration: none;
    color: var(--text);
}

/* all tiles use the original "New Card Transactions" look: a light-blue chip
   with the blue accent glyph on top (uniform across every tile — the per-status
   tone color coding was dropped per design approval) */
.kivu-dashboard .stat-tile-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #e3f0fb;
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    margin-bottom: 13px;
}

.kivu-dashboard .stat-tile-value {
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
}

.kivu-dashboard .stat-tile-label {
    font-size: 12.5px;
    color: var(--mid);
    margin-top: 5px;
    font-weight: 500;
}

/* Dashboard responsive */
@media (min-width: 1700px) {
    .kivu-dashboard .page-greeting h1 { font-size: 29px; }
    .kivu-dashboard .section-title { font-size: 17px; }
    .kivu-dashboard .card-header-row h3 { font-size: 18px; }
    .kivu-dashboard .chart-tab { font-size: 14.5px; }
    .kivu-dashboard .quick-access-header h4 { font-size: 18px; }
    .kivu-dashboard .quick-access-header small { font-size: 13px; }
    .kivu-dashboard .quick-access-module-icon { width: 48px; height: 48px; font-size: 20px; }
    .kivu-dashboard .quick-access-button { font-size: 14.5px; }
    .kivu-dashboard .quick-access-button i { font-size: 18px; }
    .kivu-dashboard .stat-tile-icon { width: 48px; height: 48px; font-size: 20px; }
    .kivu-dashboard .stat-tile-value { font-size: 32px; }
    .kivu-dashboard .stat-tile-label { font-size: 14.5px; }
    .kivu-dashboard .chart-area { min-height: 300px; }
    .kivu-dashboard .chart-y-axis span { font-size: 13px; }
    .kivu-dashboard .chart-x-axis span { font-size: 13.5px; }
    .kivu-dashboard .category-wheel { width: 160px; height: 160px; }
    .kivu-dashboard .category-wheel::after { inset: 27px; }
    .kivu-dashboard .category-wheel-total { font-size: 22px; }
    .kivu-dashboard .category-legend li { font-size: 15px; padding: 6px 0; }
    .kivu-dashboard .chart-dot-marker { width: 15px; height: 15px; border-width: 4.5px; }
    .kivu-dashboard .chart-dot-marker:hover { width: 20px; height: 20px; }
}

@media (max-width: 1360px) and (min-width: 1151px) {
    .kivu-dashboard .category-wheel-layout { gap: 14px; }
    .kivu-dashboard .category-wheel { width: 104px; height: 104px; }
    .kivu-dashboard .category-wheel::after { inset: 17px; }
    .kivu-dashboard .category-wheel-total { font-size: 14px; }
    .kivu-dashboard .category-legend li { font-size: 12px; flex-wrap: wrap; row-gap: 2px; }
}

@media (max-width: 1150px) {
    .kivu-dashboard .analytics-grid { grid-template-columns: 1fr 1fr; }
    .kivu-dashboard .analytics-grid .spend-overview-card { grid-row: auto; grid-column: 1 / -1; }
}

@media (max-width: 860px) {
    .kivu-dashboard .quick-access-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .kivu-dashboard { padding: var(--kivu-page-padding-mobile); }
    .kivu-dashboard .page-greeting h1 { font-size: 20px; }
    .kivu-dashboard .analytics-grid { grid-template-columns: 1fr; }
    /* phone: Spend by Category moves between Spend Overview and the Kivu card */
    .kivu-dashboard .analytics-grid .spend-category-card { order: 1; }
    .kivu-dashboard .analytics-grid .kivu-card-tile { order: 2; }
    .kivu-dashboard .chart-area { min-height: 210px; }
    .kivu-dashboard .chart-svg { inset: 6px 0 0 40px; width: calc(100% - 40px); }
    .kivu-dashboard .chart-dot-layer { inset: 6px 0 0 40px; }
    .kivu-dashboard .chart-y-axis { width: 36px; }
    .kivu-dashboard .chart-y-axis span { right: 6px; font-size: 10px; }
    .kivu-dashboard .chart-x-axis { padding-left: 40px; }
    .kivu-dashboard .chart-x-axis span { font-size: 10px; }
    .kivu-dashboard .chart-x-axis[data-period="monthly"] span:nth-child(even) { display: none; }
    .kivu-dashboard .category-wheel-layout.shown { flex-direction: column; }
    .kivu-dashboard .category-legend { width: 100%; }
}
