@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* =====================================================================
   KITUNZI UNIFIED DESIGN SYSTEM — 2026 FINAL THEME
   One central source of truth. Legacy component tokens below are aliases
   only; they resolve to this same navy/blue system.
   ===================================================================== */
:root {
    --kt-shell-975: #051321;
    --kt-shell-950: #071A2D;
    --kt-shell-925: #0A2138;
    --kt-shell-900: #0B243D;
    --kt-shell-850: #123B5D;
    --kt-primary-900: #123B70;
    --kt-primary-800: #174EA6;
    --kt-primary-700: #1D5FD1;
    --kt-primary-650: #256BE2;
    --kt-primary-600: #3478F6;
    --kt-primary-500: #5B8FF7;
    --kt-primary-300: #9FBDF6;
    --kt-primary-200: #C5D7FA;
    --kt-primary-100: #EAF1FF;
    --kt-primary-75: #F0F5FF;
    --kt-primary-50: #F7F9FF;
    --kt-primary-soft: var(--kt-primary-100);
    --kt-primary-dark: var(--kt-primary-800);
    --kt-secondary-700: #355FA8;
    --kt-secondary-600: #4F7DCF;
    --kt-secondary-100: #EAF0FB;
    --kt-accent-cyan: #0F89A8;
    --kt-accent-purple: #6F63C2;
    --kt-success-700: #137A43;
    --kt-success-600: #168A4B;
    --kt-success-100: #E5F6ED;
    --kt-warning-700: #A45A08;
    --kt-warning-600: #B7791F;
    --kt-warning-100: #FFF5DB;
    --kt-danger-700: #B4232C;
    --kt-danger-600: #C63742;
    --kt-danger-100: #FDE9EC;
    --kt-info-700: #0B6B8F;
    --kt-info-600: #0F89A8;
    --kt-info-100: #E5F5FB;
    --kt-canvas: #F3F6FA;
    --kt-canvas-2: #EDF2F8;
    --kt-surface: #FFFFFF;
    --kt-surface-2: #FBFCFE;
    --kt-surface-3: #F7F9FC;
    --kt-surface-muted: #F1F4F8;
    --kt-surface-blue: #F7F9FF;
    --kt-text: #1F2B3D;
    --kt-text-strong: #101D30;
    --kt-text-muted: #56667C;
    --kt-text-faint: #75849A;
    --kt-text-inverse: #F6F9FD;
    --kt-border-subtle: #E3E9F1;
    --kt-border: #D3DDE9;
    --kt-border-strong: #B7C5D7;
    --kt-border-blue: #C4D5EE;
    --kt-border-blue-strong: #8EADDA;
    --kt-border-focus: #5B8FF7;
    --kt-shadow-xs: 0 1px 2px rgba(10, 27, 47, .04), 0 2px 5px rgba(10, 27, 47, .025);
    --kt-shadow-sm: 0 4px 12px rgba(10, 27, 47, .055), 0 1px 3px rgba(10, 27, 47, .035);
    --kt-shadow-md: 0 12px 28px rgba(10, 27, 47, .09), 0 4px 10px rgba(10, 27, 47, .045);
    --kt-shadow-lg: 0 22px 48px rgba(10, 27, 47, .13), 0 8px 20px rgba(10, 27, 47, .065);
    --kt-shadow-overlay: 0 30px 72px rgba(5, 19, 33, .22), 0 10px 26px rgba(5, 19, 33, .13);
    --kt-radius-xs: 8px;
    --kt-radius-sm: 11px;
    --kt-radius-md: 15px;
    --kt-radius-lg: 20px;
    --kt-radius-xl: 26px;
    --kt-radius-pill: 999px;
    --kt-space-1: 4px;
    --kt-space-2: 8px;
    --kt-space-3: 12px;
    --kt-space-4: 16px;
    --kt-space-5: 20px;
    --kt-space-6: 24px;
    --kt-space-8: 32px;
    --kt-space-10: 40px;
    --kt-sidebar-width: 264px;
    --kt-topbar-height: 70px;
    --kt-footer-height: 56px;
    --kt-footer-min-height: var(--kt-footer-height);
    --kt-control-height: 44px;
    --kt-page-gutter: clamp(1rem, 1.55vw, 1.7rem);
    --kt-section-gap: clamp(.9rem, 1.2vw, 1.25rem);
    --kt-content-max: none;
    --kt-fast: 160ms;
    --kt-state: 200ms;
    --kt-panel: 260ms;
    --kt-page: 300ms;
    --kt-ease: cubic-bezier(.2, .72, .24, 1);
    --kt-ease-spring: cubic-bezier(.22, 1, .36, 1);
    --kt-focus: 0 0 0 4px rgba(29, 95, 209, .16);
    --kt-transition: 200ms cubic-bezier(.2, .72, .24, 1);
    --kt-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    /* Compatibility aliases for existing component geometry. */
    --ki-sidebar-width: var(--kt-sidebar-width);
    --ki-topbar-height: var(--kt-topbar-height);
    --ki-footer-height: var(--kt-footer-height);
    --ki-control-height: var(--kt-control-height);
    --ki-content-max: var(--kt-content-max);
    --ki-font: var(--kt-font);
    --ki-transition: var(--kt-transition);
    --ki-transition-fast: var(--kt-fast) ease;
    --ki-motion-fast: var(--kt-fast);
    --ki-motion-normal: var(--kt-state);
    --ki-space-1: var(--kt-space-1);
    --ki-space-2: var(--kt-space-2);
    --ki-space-3: var(--kt-space-3);
    --ki-space-4: var(--kt-space-4);
    --ki-space-5: var(--kt-space-5);
    --ki-space-6: var(--kt-space-6);
    --ki-space-page: var(--kt-page-gutter);
    --ki-safe-page-x: var(--kt-page-gutter);
    --ki-radius-xs: var(--kt-radius-xs);
    --ki-radius-sm: var(--kt-radius-sm);
    --ki-radius-md: var(--kt-radius-md);
    --ki-radius-lg: var(--kt-radius-lg);
    --ki-radius-xl: var(--kt-radius-xl);
    --ki-radius-pill: var(--kt-radius-pill);
    --ki-radius-card: var(--kt-radius-md);
    --ki-radius-control: var(--kt-radius-sm);
    --ki-radius-modal: var(--kt-radius-lg);
    --ki-shadow-xs: var(--kt-shadow-xs);
    --ki-shadow-sm: var(--kt-shadow-sm);
    --ki-shadow-md: var(--kt-shadow-md);
    --ki-shadow-lg: var(--kt-shadow-lg);
    --ki-shadow-soft: var(--kt-shadow-sm);
    --ki-shadow-hover: var(--kt-shadow-md);
    --ki-shadow-card: var(--kt-shadow-sm);
    --ki-shadow-raised: var(--kt-shadow-md);
    --ki-shadow: var(--kt-shadow-sm);
    --ki-card-shadow: var(--kt-shadow-sm);
    --ki-card-shadow-hover: var(--kt-shadow-md);
    --ki-panel-bg: var(--kt-surface);
    --ki-panel-soft: var(--kt-surface-3);
    --ki-panel-border: var(--kt-border);
    --ki-panel-border-strong: var(--kt-border-strong);
    --ki-card-bg: var(--kt-surface);
    --ki-shell-bg: var(--kt-canvas);
    --ki-sidebar-bg: var(--kt-shell-950);
    --ki-surface: var(--kt-surface);
    --ki-surface-2: var(--kt-surface-2);
    --ki-surface-muted: var(--kt-surface-muted);
    --ki-text: var(--kt-text);
    --ki-text-strong: var(--kt-text-strong);
    --ki-text-muted: var(--kt-text-muted);
    --ki-muted: var(--kt-text-muted);
    --ki-border: var(--kt-border);
    --ki-border-light: var(--kt-border-subtle);
    --ki-border-strong: var(--kt-border-strong);
    --ki-border-color: var(--kt-border);
    --ki-focus-ring: var(--kt-focus);
    --ki-table-header-bg: var(--kt-surface-muted);
    --ki-table-header-text: var(--kt-text);
    --ki-table-row-hover: var(--kt-primary-50);
    --ki-action-bg: var(--kt-surface);
    --ki-action-border: var(--kt-border);
    --ki-action-shadow: var(--kt-shadow-xs);
    --ki-pagination-height: 38px;
    --ki-navbar-height: var(--kt-topbar-height);
    --ku-brand-950: var(--kt-shell-950);
    --ku-brand-900: var(--kt-shell-900);
    --ku-brand-800: var(--kt-primary-800);
    --ku-brand-700: var(--kt-primary-700);
    --ku-brand-600: var(--kt-primary-600);
    --ku-brand-100: var(--kt-primary-100);
    --ku-brand-50: var(--kt-primary-50);
    --ku-canvas: var(--kt-canvas);
    --ku-surface: var(--kt-surface);
    --ku-surface-soft: var(--kt-surface-2);
    --ku-surface-muted: var(--kt-surface-muted);
    --ku-text: var(--kt-text);
    --ku-text-strong: var(--kt-text-strong);
    --ku-text-muted: var(--kt-text-muted);
    --ku-text-faint: var(--kt-text-faint);
    --ku-border-subtle: var(--kt-border-subtle);
    --ku-border: var(--kt-border);
    --ku-border-strong: var(--kt-border-strong);
    --ku-border-accent: var(--kt-border-blue-strong);
    --ku-shadow-xs: var(--kt-shadow-xs);
    --ku-shadow-sm: var(--kt-shadow-sm);
    --ku-shadow-md: var(--kt-shadow-md);
    --ku-shadow-lg: var(--kt-shadow-lg);
    --ku-shadow-overlay: var(--kt-shadow-overlay);
    --ku-radius-xs: var(--kt-radius-xs);
    --ku-radius-sm: var(--kt-radius-sm);
    --ku-radius-md: var(--kt-radius-md);
    --ku-radius-lg: var(--kt-radius-lg);
    --ku-radius-xl: var(--kt-radius-xl);
    --ku-radius-pill: var(--kt-radius-pill);
    --ku-sidebar-width: var(--kt-sidebar-width);
    --ku-topbar-height: var(--kt-topbar-height);
    --ku-footer-height: var(--kt-footer-height);
    --ku-control-height: var(--kt-control-height);
    --ku-page-gutter: var(--kt-page-gutter);
    --ku-section-gap: var(--kt-section-gap);
    --ku-duration-fast: var(--kt-fast);
    --ku-duration: var(--kt-state);
    --ku-duration-slow: var(--kt-panel);
    --ku-ease: var(--kt-ease);
    --ku-focus: var(--kt-focus);
    --ku-amber-700: var(--kt-warning-700);
    --ku-amber-600: var(--kt-warning-600);
    --ku-amber-100: var(--kt-warning-100);
    --ku-danger-700: var(--kt-danger-700);
    --ku-danger-100: var(--kt-danger-100);
    --ku-info-700: var(--kt-info-700);
    --ku-info-100: var(--kt-info-100);
    --ku-sidebar-bg: var(--kt-shell-950);
    --ku-sidebar-bg-raised: var(--kt-shell-925);
    --ku-sidebar-bg-active: rgba(91,143,247,.15);
    --ku-sidebar-border: rgba(255,255,255,.08);
    --ku-sidebar-text: #D9E5F4;
    --ku-sidebar-muted: #91A5BE;
    --ku-toolbar-height: 42px;
    --ku-table-row-height: 44px;
    --ku-reading-width: 78ch;
    --ku-public-width: 1240px;
    --ku-side-rail-size: 280px;
    --ku-sidebar-collapsed-width: 76px;
    --ku-z-dropdown: 1050;
    --ku-z-overlay: 1040;
    --ku-z-sidebar: 1045;
    --ku-z-topbar: 1035;
    --public-navbar-height: var(--kt-topbar-height);
    --public-footer-height: var(--kt-footer-height);
    --public-body: var(--kt-canvas);
    --public-border: var(--kt-border);
    --public-text: var(--kt-text);
    --public-muted: var(--kt-text-muted);
    --kt-border-color: var(--kt-border);
    --kt-danger-600-soft: var(--kt-danger-100);
    --kt-primary-700-pale: var(--kt-primary-100);
    --ki-orange: var(--kt-warning-600);
    --ki-reveal-delay: 0ms;
    --ku-border-default: var(--kt-border);
    --ku-border-hairline: var(--kt-border-subtle);
    --ku-border-solid: var(--kt-border);
    --ku-border-solid-accent: var(--kt-border-blue-strong);
    --ku-border-solid-green: #B9E3CA;
    --ku-border-solid-strong: var(--kt-border-strong);
    --ku-border-success: #B9E3CA;
    --ku-refine-canvas: var(--kt-canvas);
    --ku-refine-card-pad: 1rem;
    --ku-refine-line-soft: var(--kt-border-subtle);
    --ku-refine-muted: var(--kt-text-muted);
    --ku-refine-page-gap: var(--kt-section-gap);
    --ku-refine-radius: var(--kt-radius-md);
    --ku-refine-radius-sm: var(--kt-radius-sm);
    --ku-refine-shadow: var(--kt-shadow-sm);
    --ku-refine-shadow-hover: var(--kt-shadow-md);
    --ku-refine-surface: var(--kt-surface);
    --ku-refine-text: var(--kt-text);
    --ku-shadow-card: var(--kt-shadow-sm);
    --ku-shadow-card-hover: var(--kt-shadow-md);
    --ku-shadow-card-solid: var(--kt-shadow-sm);
    --ku-shadow-card-solid-hover: var(--kt-shadow-md);
    --ku-shadow-drawer: var(--kt-shadow-overlay);
    --ku-shadow-panel-solid: var(--kt-shadow-sm);
    --ku-success-100: var(--kt-success-100);
    --ku-success-600: var(--kt-success-600);
    --ku-success-700: var(--kt-success-700);
    --ku-warning-100: var(--kt-warning-100);
    --ku-warning-700: var(--kt-warning-700);
    --ku-surface-green: var(--kt-success-100);
    --ku-surface-green-strong: #D9F0E3;
}


/* ==========================================================
   KITUNZI UNIFIED CLEAN STYLESHEET
   File: wwwroot/css/style.css
   Source: merged style.css + kitunzi-unified-polish.css
   Purpose:
   - one stylesheet only
   - no gradients
   - no decorative circles/rings/background shapes
   - consistent shell, card, table, form, button and dashboard styling
   - responsive desktop/tablet/mobile/zoom-safe layout
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');


/* ==========================================================
   01. Design tokens and base
   ========================================================== */



* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
    font-family: var(--ki-font);
    background: var(--kt-canvas);
    color: var(--kt-text);
    font-size: 0.9rem;
    line-height: 1.6;
}

a {
    color: var(--kt-primary-700);
    text-decoration: none;
    transition: var(--ki-transition);
}


/* ==========================================================
   02. Typography and utility classes
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--kt-text);
    font-weight: 800;
    line-height: 1.2;
}

h1 {
    font-size: 1.75rem;
}

h2 {
    font-size: 1.4rem;
}

h3 {
    font-size: 1.15rem;
}

h4 {
    font-size: 1rem;
}

.display-1 {
    font-size: 2.8rem;
    font-weight: 900;
}

.display-2 {
    font-size: 2.2rem;
    font-weight: 800;
}

.lead {
    color: var(--kt-text-muted);
    font-size: 1.05rem;
    font-weight: 400;
}

.text-brand {
    color: var(--kt-primary-700) !important;
}

.text-warning {
    color: var(--kt-warning-600) !important;
}

.text-muted-custom {
    color: var(--kt-text-muted) !important;
}

.bg-brand {
    background-color: var(--kt-primary-700) !important;
}

.bg-warning {
    background-color: var(--kt-warning-600) !important;
}

.bg-brand-soft {
    background-color: var(--kt-primary-100) !important;
}

.bg-warning-subtle {
    background-color: var(--kt-warning-100) !important;
}

.bg-cream {
    background-color: var(--kt-surface-3) !important;
}

.bg-off-white {
    background-color: var(--kt-canvas) !important;
}

.bg-white {
    background-color: var(--kt-surface) !important;
}

.border-ki {
    border-color: var(--kt-border) !important;
}

.rounded-ki {
    border-radius: var(--kt-radius-md) !important;
}

.fw-600 {
    font-weight: 600 !important;
}

.fw-700 {
    font-weight: 700 !important;
}

.fw-800 {
    font-weight: 800 !important;
}

.fw-900 {
    font-weight: 900 !important;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: var(--kt-surface-3);
}

::-webkit-scrollbar-thumb {
    background: #CCC;
    border-radius: 6px;
}

    ::-webkit-scrollbar-thumb:hover {
        background: #AAA;
    }

.stat-card .stat-value,
.stat-card .stat-number,
.stat-card h3 {
    color: var(--kt-shell-950);
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.badge-pending,
.ki-status-pending,
.stock-badge.low-stock,
.bg-reserved {
    background: var(--kt-warning-100) !important;
    color: #A45A08 !important;
    border-color: rgba(183, 121, 31, 0.18) !important;
}

.badge-approved,
.badge-active,
.ki-status-approved,
.stock-badge.in-stock,
.bg-occupied,
.bg-success {
    background: var(--kt-primary-100) !important;
    color: var(--kt-primary-700) !important;
    border-color: rgba(29, 95, 209, 0.16) !important;
}

.badge-rejected,
.badge-suspended,
.ki-status-rejected,
.ki-status-suspended,
.stock-badge.out-of-stock,
.bg-maintenance,
.bg-danger {
    background: #FFEBEE !important;
    color: #B4232C !important;
    border-color: rgba(211, 47, 47, 0.14) !important;
}

.badge-inactive,
.bg-out-of-service,
.bg-secondary {
    background: #F3F0EC !important;
    color: #61594F !important;
    border-color: rgba(97, 89, 79, 0.14) !important;
}

.page-header h1,
.ki-page-title {
    position: relative;
    margin: 0 0 0.25rem !important;
    color: var(--kt-shell-950);
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    font-weight: 900;
    letter-spacing: -0.035em;
}

.empty-state h5 {
    margin-bottom: 0.35rem;
    color: var(--kt-text-muted);
}

.feature-card h5 {
    margin-bottom: 0.3rem;
    font-size: 0.95rem;
    font-weight: 800;
}

.workflow-step h6 {
    font-size: 0.9rem;
    font-weight: 800;
}

.auth-showcase-content h1 {
    margin: 1.45rem 0 1rem;
    color: #fff;
    font-size: clamp(2.5rem, 4.8vw, 5rem);
    line-height: 0.96;
    font-weight: 900;
    letter-spacing: -0.06em;
}

.auth-card-header h2 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: clamp(1.55rem, 2vw, 2.15rem);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.auth-section-title h3 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 1.08rem;
    font-weight: 900;
}

.preview-card h4 {
    margin: 0 0 0.85rem;
    color: var(--kt-shell-950);
    font-size: 1rem;
    font-weight: 900;
}

.auth-state h3 {
    margin-bottom: 0.45rem;
    font-size: 1.25rem;
    font-weight: 900;
}

.receipt-preview .rp-header h6 {
    margin: 0;
    font-size: 0.85rem;
}

.report-card h6 {
    font-size: 0.9rem;
    font-weight: 900;
}

.room-card .rc-name,
.room-type-card h6 {
    margin: 0.15rem 0;
    color: var(--kt-shell-950);
    font-size: 0.95rem;
    font-weight: 900;
}

.text-available {
    color: var(--kt-primary-700) !important;
}

.text-occupied {
    color: var(--kt-primary-700) !important;
}

.text-reserved {
    color: var(--kt-warning-700) !important;
}

.text-cleaning {
    color: var(--kt-accent-purple) !important;
}

.text-maintenance {
    color: var(--kt-danger-600) !important;
}

.bg-available {
    background: #E5F5FB !important;
    color: var(--kt-primary-700) !important;
}

.bg-cleaning {
    background: #F0EEFC !important;
    color: var(--kt-accent-purple) !important;
}

.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6,
.page-header h1,
.ki-page-title,
.card-ki .card-header,
.ki-card-header,
.stat-card .stat-value,
.stat-card .stat-number,
.stat-card h3,
.quick-action-card .qac-text,
.product-card-sm .pcs-name,
.product-card-sm .pcs-price,
.report-card h6,
.room-card .rc-number,
.room-card .rc-name,
.room-card .rc-rate,
.room-type-card h6,
.table thead th,
.table-ki thead th,
.table tbody td,
.table-ki tbody td,
.sidebar-link,

.user-name,
.footer-ki strong {
    color: var(--kt-shell-950) !important;
}

.main-content p,
.page-header p,
.page-header .page-subtitle,
.ki-page-subtitle,
.card-ki .text-muted,
.ki-card .text-muted,
.stat-card .stat-label,
.ki-stat-meta,
.product-card-sm small,
.report-card p,
.room-card .rc-type,
.booking-summary-card .bsc-room,
.table small,
.user-details,
.user-bar,
.footer-ki {
    color: rgba(13, 59, 17, 0.68) !important;
}

.text-danger,
.badge-rejected,
.badge-suspended,
.stock-badge.out-of-stock,
.bg-danger,
.bg-maintenance {
    color: #B4232C !important;
}

.text-warning,
.badge-pending,
.stock-badge.low-stock,
.bg-reserved {
    color: #A45A08 !important;
}

.text-primary,
.text-info,
.bg-available {
    color: #1D5FD1 !important;
}

.approval-preview-box .text-muted-custom {
    color: rgba(13, 59, 17, 0.68) !important;
    font-weight: 800;
}

.page-header-compact h1 {
    font-size: clamp(1.45rem, 2vw, 2.05rem) !important;
    margin-bottom: 0.25rem !important;
    margin: 0.25rem 0 0.25rem;
    color: var(--kt-shell-950, #0B243D);
    font-weight: 900;
    letter-spacing: -0.03em;
}

.profile-summary-card h3 {
    margin: 0;
    color: #0B243D;
    font-weight: 900;
}

.platform-hero-card h1 {
    margin: 0.65rem 0 0.25rem;
    color: #0B243D;
    font-size: clamp(1.55rem, 2vw, 2.2rem);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.platform-panel-header h3,
.permission-role-head h3 {
    margin: 0;
    color: #0B243D;
    font-size: 1rem;
    font-weight: 900;
}

.platform-user-main h4 {
    margin: 0;
    color: #0B243D;
    font-size: 0.98rem;
    font-weight: 900;
}

.category-preview-card h3 {
    margin: 0;
    color: var(--kt-shell-950);
    font-weight: 900;
    letter-spacing: -0.03em;
}

.category-card-body h5 {
    margin: 0;
    color: var(--kt-shell-950);
    font-weight: 900;
    letter-spacing: -0.02em;
}

pre,
code,
.text-break,
.profile-info-row span,

.user-name,
.user-bar,
.user-details,
.topbar-bar-text strong,
.topbar-bar-text small,
.sidebar-link span,
.sidebar-menu-toggle span,
.bar-context strong {
    overflow-wrap: anywhere;
}

.stat-label,
.reports-stat-label,
.my-sales-stat-label,
.summary-label,
.card-subtitle,
.text-muted-custom {
    color: var(--kt-text-muted, #56667C) !important;
    font-weight: 800 !important;
}


/* ==========================================================
   03. Buttons and forms
   ========================================================== */

button,
input,
select,
textarea {
    font-family: inherit;
}

.btn,
.btn-ki {
    border-radius: 14px !important;
}

.btn-ki {
    position: relative;
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    overflow: hidden;
    padding: 0.5rem 1.25rem;
    border: 1px solid transparent;
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0.01em;
    transition: var(--ki-transition);
    box-shadow: 0 10px 22px rgba(31, 42, 35, 0.08);
}

    .btn-ki::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(255,255,255,0.16);
        transform: scaleX(0);
        transform-origin: right;
        transition: transform 0.35s ease;
        pointer-events: none;
    }

    .btn-ki:hover::after {
        transform: scaleX(1);
        transform-origin: left;
    }

.btn-ki-primary,
.btn-primary {
    background: var(--kt-primary-700, #1D5FD1) !important;
    border-color: var(--kt-primary-700, #1D5FD1) !important;
    color: #fff !important;
}

    .btn-ki-primary:hover,
    .btn-primary:hover {
        background: var(--kt-shell-950) !important;
        border-color: var(--kt-shell-950) !important;
        color: #fff !important;
        transform: translateY(-1px);
        box-shadow: 0 16px 30px rgba(29, 95, 209, 0.25) !important;
    }

.btn-ki-warning {
    box-shadow: 0 12px 26px rgba(183, 121, 31, 0.20) !important;
    background: var(--kt-warning-100, #FFF5DB) !important;
    border-color: rgba(183, 121, 31, 0.28) !important;
    color: #9a5700 !important;
}

    .btn-ki-warning:hover {
        background: var(--kt-warning-700) !important;
        border-color: var(--kt-warning-700) !important;
        color: #fff !important;
        transform: translateY(-1px);
    }

.btn-ki-outline,
.btn-outline-primary {
    background: #fff !important;
    color: var(--kt-primary-700) !important;
    border: 1.5px solid rgba(29, 95, 209, 0.35) !important;
}

    .btn-ki-outline:hover,
    .btn-outline-primary:hover {
        background: var(--kt-primary-700) !important;
        color: #fff !important;
        border-color: var(--kt-primary-700) !important;
    }

.btn-ki-soft {
    background: var(--kt-primary-100) !important;
    color: var(--kt-primary-700) !important;
    border: 1px solid rgba(29, 95, 209, 0.12) !important;
}

    .btn-ki-soft:hover {
        background: var(--kt-primary-700) !important;
        color: #fff !important;
    }

.btn-ki-ghost,
.btn-light,
.btn-outline-secondary {
    background: #FFFFFF !important;
    color: var(--kt-text) !important;
    border: 1px solid var(--kt-border) !important;
}

    .btn-ki-ghost:hover,
    .btn-light:hover,
    .btn-outline-secondary:hover {
        background: #F2ECE4 !important;
    }

.btn-ki-danger,
.btn-outline-danger:hover {
    background: var(--kt-danger-600) !important;
    border-color: var(--kt-danger-600) !important;
    color: #fff !important;
}

.btn-ki-sm {
    min-height: 34px;
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
}

.btn-ki-lg {
    min-height: 48px;
    padding: 0.7rem 1.75rem;
    font-size: 0.95rem;
}

.btn-ki.loading {
    opacity: 0.8;
    pointer-events: none;
}

    .btn-ki.loading::before {
        content: "";
        width: 14px;
        height: 14px;
        border: 2px solid transparent;
        border-top-color: currentColor;
        border-radius: 50%;
        animation: ki-spin 0.6s linear infinite;
    }

.form-label {
    margin-bottom: 0.42rem;
    color: var(--kt-shell-950, #071A2D) !important;
    font-weight: 850 !important;
    font-size: 0.78rem !important;
}

.form-control,
.form-select {
    min-height: 42px;
    border: 1.5px solid #ded2c6 !important;
    border-radius: 14px !important;
    background-color: #FFFFFF !important;
    padding: 0.5rem 0.85rem;
    font-size: 0.88rem;
    transition: var(--ki-transition);
}

    .form-control:focus,
    .form-select:focus {
        border-color: var(--kt-primary-700) !important;
        background-color: #fff !important;
        box-shadow: 0 0 0 4px rgba(29, 95, 209, 0.10) !important;
    }

.form-control-sm {
    min-height: 34px;
    padding: 0.35rem 0.65rem;
    font-size: 0.8rem;
}

.form-control-lg {
    min-height: 48px;
    padding: 0.65rem 1rem;
    font-size: 0.95rem;
}

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

    .input-group-ki .form-control {
        padding-right: 2.5rem;
    }

    .input-group-ki .input-icon {
        position: absolute;
        z-index: 5;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--kt-text-muted);
        cursor: pointer;
    }

.form-check-input:checked,
.permission-check:checked {
    background-color: var(--kt-primary-700);
    border-color: var(--kt-primary-700);
}

.form-text-custom {
    color: var(--kt-text-muted);
    font-size: 0.75rem;
}

.page-header .btn,
.page-header .btn-ki {
    position: relative;
    z-index: 2;
    box-shadow: 0 12px 24px rgba(29, 95, 209, 0.14) !important;
}

.auth-field .form-label {
    display: block;
}

.auth-input-wrap {
    position: relative;
    width: 100%;
}

    .auth-input-wrap .auth-input-icon {
        position: absolute;
        z-index: 3;
        left: 1rem;
        top: 50%;
        transform: translateY(-50%);
        color: #6E86A8;
    }

    .auth-input-wrap .toggle-password {
        left: auto;
        right: 1rem;
        cursor: pointer;
        color: var(--kt-text-muted);
    }

        .auth-input-wrap .toggle-password:hover {
            color: var(--kt-primary-700);
        }

    .auth-input-wrap .form-control,
    .auth-input-wrap .form-select {
        min-height: 56px;
        width: 100%;
        padding-left: 2.75rem;
        padding-right: 1rem;
        border-radius: 18px !important;
        font-size: 0.92rem;
        box-shadow: 0 8px 18px rgba(10, 27, 47, 0.03);
    }

    .auth-input-wrap.has-end .form-control {
        padding-right: 2.9rem;
    }

    .auth-input-wrap .form-select {
        padding-left: 1rem;
    }

.wizard-actions .btn {
    min-width: 150px;
    min-height: 48px;
    border-radius: 16px;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(22, 91, 37, 0.16);
}

.auth-page .back-to-top,
.auth-page #backToTop,
.auth-page #back-top,
.auth-page #scrollTop,
.auth-page #scrollToTop,
.auth-page .scroll-top,
.auth-page .scrollToTop,
.auth-page .go-top,
.auth-page .backtop,
.auth-page .floating-action,
.auth-page .floating-button,
.auth-page .btn-back-to-top,
.auth-page .return-to-top,
.auth-page .sticky-widget,
.auth-page .fixed-widget,
.auth-page [aria-label="Back to top"],
.auth-page a[href="#top"],
.auth-page button[class*="top"],
.auth-page a[class*="top"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.permission-row .form-check {
    margin: 0;
}

.permission-check {
    accent-color: var(--kt-primary-700);
    width: 24px;
    height: 24px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #cfc2b2;
    color: transparent;
    flex: 0 0 auto;
}

.product-card-sm .pcs-actions .btn {
    padding: 0.2rem 0.45rem;
    font-size: 0.65rem;
}

.kanban-room-card .krc-actions .btn {
    padding: 0.15rem 0.4rem;
    font-size: 0.6rem;
}

.form-control:focus,
.form-select:focus,
.btn-ki:focus-visible,
.sidebar-link:focus-visible {
    outline: 2px solid var(--kt-primary-700);
    outline-offset: 2px;
}

.btn-ki,
.btn {
    border-radius: 14px !important;
    font-weight: 900 !important;
}

.btn-ki-primary,
.btn-primary,
.btn-success {
    background: var(--kt-primary-700) !important;
    border-color: var(--kt-primary-700) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(29, 95, 209, 0.18) !important;
}

    .btn-ki-primary:hover,
    .btn-primary:hover,
    .btn-success:hover {
        background: var(--kt-shell-950) !important;
        border-color: var(--kt-shell-950) !important;
        color: #fff !important;
    }

.btn-ki-ghost,
.btn-light,
.btn-outline-secondary,
.btn-outline-primary,
.btn-ki-outline {
    background: #FFFFFF !important;
    border-color: rgba(29, 95, 209, 0.22) !important;
    color: var(--kt-shell-950) !important;
    box-shadow: 0 8px 18px rgba(13, 59, 17, 0.045) !important;
}

    .btn-ki-ghost:hover,
    .btn-light:hover,
    .btn-outline-secondary:hover,
    .btn-outline-primary:hover,
    .btn-ki-outline:hover {
        background: var(--kt-primary-100) !important;
        border-color: rgba(29, 95, 209, 0.35) !important;
        color: var(--kt-shell-950) !important;
    }

.compact-textarea {
    min-height: 74px !important;
}

.permission-line input {
    width: 17px;
    height: 17px;
    accent-color: var(--kt-primary-700, #1D5FD1);
}

.platform-field .form-label {
    margin-bottom: 0.34rem;
    color: #0B243D;
    font-size: 0.78rem;
    font-weight: 900;
}

.platform-input-wrap {
    position: relative;
}

    .platform-input-wrap i {
        position: absolute;
        left: 0.88rem;
        top: 50%;
        transform: translateY(-50%);
        color: #6E86A8;
        z-index: 2;
    }

    .platform-input-wrap .form-control {
        padding-left: 2.45rem;
    }

.platform-form-grid .form-control,
.platform-form-grid .form-select,
.platform-role-form .form-select,
.permission-role-card .form-control,
.permission-role-card .form-select {
    min-height: 46px;
    border-radius: 15px;
    border: 1px solid #D3DDE9;
    background: #FFFFFF;
    color: #263928;
    font-size: 0.88rem;
    box-shadow: 0 8px 18px rgba(10, 27, 47, 0.025);
}

    .platform-form-grid .form-control:focus,
    .platform-form-grid .form-select:focus,
    .platform-role-form .form-select:focus {
        border-color: #1D5FD1;
        box-shadow: 0 0 0 4px rgba(29, 95, 209, 0.09);
    }

.permission-tile.selected {
    background: #EEF4FC;
    border-color: rgba(29, 95, 209, 0.22);
}

.permission-tile input {
    display: none;
}

.permission-tile.selected .permission-check {
    background: #1D5FD1;
    border-color: #1D5FD1;
    color: #fff;
}

.permission-actions .btn {
    border-radius: 14px;
    font-weight: 900;
}

.category-switch-box .form-check-input {
    width: 2.7rem;
    height: 1.35rem;
    margin-right: 0.55rem;
}

.form-control,
.form-select,
.btn,
.btn-ki,
.dropdown-menu,
.user-dropdown-menu,
.side-panel,
.toast-ki {
    max-width: 100%;
}

.btn,
.btn-ki,
.btn-ki-sm,
button,
.form-control,
.form-select,
.input-group-text,
.dropdown-menu {
    border-radius: var(--ki-radius-control) !important;
}

.btn-ki,
.btn-ki-sm,
.btn {
    align-items: center !important;
    justify-content: center !important;
    gap: 0.38rem !important;
}

.btn-ki-primary:hover,
.btn-primary:hover {
    background: var(--kt-shell-950, #071A2D) !important;
    border-color: var(--kt-shell-950, #071A2D) !important;
}

.btn-ki-soft,
.btn-ki-ghost,
.btn-outline-primary {
    background: var(--kt-surface) !important;
    border: 1px solid var(--kt-border) !important;
    color: var(--kt-shell-950, #071A2D) !important;
}

    .btn-ki-soft:hover,
    .btn-ki-ghost:hover,
    .btn-outline-primary:hover {
        background: var(--kt-primary-100, #EAF1FF) !important;
        color: var(--kt-shell-950, #071A2D) !important;
        border-color: rgba(29, 95, 209, 0.25) !important;
    }

.form-control,
.form-select,
.input-group-text,
textarea {
    border-color: var(--kt-border) !important;
    min-width: 0 !important;
    box-shadow: none !important;
}

    .form-control:focus,
    .form-select:focus,
    textarea:focus {
        border-color: var(--kt-primary-700, #1D5FD1) !important;
        box-shadow: 0 0 0 0.18rem rgba(29, 95, 209, 0.12) !important;
    }


/* ==========================================================
   04. Cards, summary cards and panels
   ========================================================== */

.shimmer,
.shimmer-card {
    background-size: 200% 100%;
    animation: shimmer 1.8s ease-in-out infinite;
    border-radius: var(--kt-radius-md);
}

.card-ki,
.ki-card,
.bar-card,
.room-card,
.room-type-card,
.booking-summary-card,
.report-card,
.quick-action-card,
.product-card-sm,
.cashier-card,
.kanban-room-card,
.permission-group,
.action-panel,
.branding-preview,
.receipt-preview {
    background: var(--kt-surface);
    border: 1px solid var(--kt-border);
    border-radius: 22px;
    box-shadow: var(--kt-shadow-sm);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.card-ki,
.ki-card,
.stat-card {
    position: relative;
    overflow: hidden;
}

    .card-ki::before,
    .ki-card::before {
        display: none !important;
        content: none !important;
    }

    .card-ki:hover,
    .ki-card:hover,
    .bar-card:hover,
    .room-card:hover,
    .room-type-card:hover,
    .booking-summary-card:hover,
    .report-card:hover,
    .quick-action-card:hover,
    .product-card-sm:hover,
    .cashier-card:hover,
    .kanban-room-card:hover {
        border-color: rgba(29, 95, 209, 0.16);
        box-shadow: var(--kt-shadow-md);
        transform: translateY(-2px);
    }

    .card-ki .card-header,
    .ki-card-header,
    .permission-group-header,
    .side-panel .panel-header,
    .kanban-column .kc-header {
        min-height: 58px;
        padding: 1rem 1.15rem !important;
        border-bottom: 1px solid var(--kt-border) !important;
        color: var(--kt-shell-950);
        font-size: 0.92rem;
        font-weight: 900;
        letter-spacing: -0.01em;
    }

    .card-ki .card-body,
    .ki-card-body {
        padding: 1.15rem !important;
    }

    .card-ki .card-footer,
    .side-panel .panel-footer {
        padding: 0.9rem 1.15rem;
        background: #F8FAFD !important;
        border-top: 1px solid var(--kt-border) !important;
    }

.ki-card-title-line {
    display: flex;
    align-items: center;
    gap: 0.62rem;
}

    .ki-card-title-line i,
    .ki-card-icon {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        border: 1px solid rgba(29, 95, 209, 0.10);
    }

.stat-card {
    border: 1px solid var(--kt-border);
    border-radius: 24px;
    background: var(--kt-surface);
    box-shadow: var(--kt-shadow-sm);
    min-height: 118px !important;
    padding: 1.25rem !important;
    overflow: hidden !important;
}

    .stat-card::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 5px !important;
        background: var(--kt-primary-700) !important;
        opacity: 1 !important;
    }

    .stat-card::after {
        content: "";
        position: absolute;
        right: -24px;
        bottom: -28px;
        width: 92px;
        height: 92px;
        border-radius: 50%;
        background: rgba(183, 121, 31, 0.09);
        pointer-events: none;
    }

    .stat-card:hover {
        box-shadow: var(--ki-card-shadow-hover);
        transform: translateY(-2px);
    }

    .stat-card .stat-icon,
    .stat-icon {
        width: 48px;
        height: 48px;
        border-radius: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        border: 1px solid rgba(29, 95, 209, 0.10);
        font-size: 1.25rem;
        box-shadow: 0 12px 24px rgba(29, 95, 209, 0.10);
    }

    .stat-card .stat-label,
    .ki-stat-meta {
        color: var(--kt-text-muted);
        font-size: 0.78rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.06em;
    }

    .stat-card .stat-change {
        font-size: 0.78rem;
        font-weight: 600;
    }

    .stat-card .stat-bg-icon {
        position: absolute;
        right: 10px;
        bottom: 10px;
        font-size: 4rem;
        line-height: 1;
        opacity: 0.06;
    }

.badge,
.badge-ki,
.stock-badge,
.link-badge,
.status-pill,
.ki-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: var(--kt-radius-pill) !important;
    padding: 0.32em 0.72em !important;
    border: 1px solid transparent;
    font-size: 0.72rem;
    font-weight: 900 !important;
    letter-spacing: 0.02em;
}

.page-header,
.ki-page-hero {
    position: relative;
    margin-bottom: 1.35rem !important;
    padding: 1.25rem 1.35rem !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(29, 95, 209, 0.16) !important;
    border-left: 6px solid var(--kt-primary-700) !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 42px rgba(13, 59, 17, 0.070), 0 6px 16px rgba(10, 27, 47, 0.045) !important;
    overflow: hidden !important;
}

    .page-header::before,
    .ki-page-hero::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 4px;
        opacity: 0.92;
    }

    .page-header::after,
    .ki-page-hero::after {
        content: "";
        position: absolute;
        right: -48px;
        bottom: -52px;
        width: 140px;
        height: 140px;
        border-radius: 50%;
        border: 28px solid rgba(29, 95, 209, 0.055);
        pointer-events: none;
    }

    .page-header .page-subtitle,
    .page-header p,
    .ki-page-subtitle {
        position: relative;
        max-width: 780px;
        margin: 0;
        color: var(--kt-text-muted);
        font-size: 0.9rem;
        line-height: 1.55;
    }

.side-panel .panel-header,
.side-panel .panel-footer {
    flex-shrink: 0;
}

.side-panel .panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem;
    scroll-behavior: smooth;
}

.hero-section {
    position: relative;
    overflow: hidden;
    padding: 5rem 0 4rem;
}

    .hero-section::before,
    .hero-section::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        pointer-events: none;
    }

    .hero-section::before {
        right: -100px;
        top: -100px;
        width: 400px;
        height: 400px;
    }

    .hero-section::after {
        left: -50px;
        bottom: -50px;
        width: 250px;
        height: 250px;
    }

.hero-title {
    color: var(--kt-primary-700);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.15;
}

.hero-subtitle {
    max-width: 540px;
    color: var(--kt-text-muted);
    font-size: 1.1rem;
    line-height: 1.7;
}

.hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.hero-image {
    text-align: center;
}

.hero-dashboard-preview {
    max-width: 100%;
    padding: 1.5rem;
    border: 1px solid var(--kt-border-subtle);
    border-radius: var(--kt-radius-lg);
    background: #fff;
    box-shadow: 0 12px 48px rgba(0,0,0,0.1);
}

.feature-card,
.uganda-context-card {
    height: 100%;
    padding: 1.75rem 1.5rem;
    border: 1px solid var(--kt-border-subtle);
    border-radius: var(--kt-radius-md);
    background: #fff;
    box-shadow: var(--ki-card-shadow);
    text-align: center;
    transition: var(--ki-transition);
}

    .feature-card:hover,
    .uganda-context-card:hover {
        box-shadow: var(--ki-card-shadow-hover);
        transform: translateY(-4px);
    }

    .feature-card .fc-icon {
        width: 56px;
        height: 56px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1rem;
        border-radius: var(--kt-radius-sm);
        font-size: 1.5rem;
    }

    .feature-card p,
    .workflow-step p {
        margin: 0;
        color: var(--kt-text-muted);
        font-size: 0.82rem;
    }

    .uganda-context-card .uc-icon {
        margin-bottom: 0.75rem;
        color: var(--kt-warning-600);
        font-size: 1.5rem;
    }

.auth-feature-card {
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.09);
    transition: var(--ki-transition);
}

    .auth-feature-card:hover {
        background: rgba(255, 255, 255, 0.17);
        transform: translateY(-2px);
        box-shadow: 0 18px 34px rgba(0, 0, 0, 0.11);
    }

    .auth-feature-card i {
        width: 38px;
        height: 38px;
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 12px;
        background: rgba(255, 176, 32, 0.2);
        color: #F1C66E;
    }

    .auth-feature-card span {
        font-size: 0.88rem;
        font-weight: 900;
    }

.auth-form-card {
    position: relative;
    width: min(100%, 600px);
    overflow: hidden;
    padding: 1.8rem;
    border: 1px solid #D3DDE9;
    border-radius: 28px;
    background: #FFFFFF;
    box-shadow: 0 22px 48px rgba(10, 27, 47, 0.09), 0 6px 18px rgba(10, 27, 47, 0.05);
    animation: fadeInUp 0.45s ease both;
}

.auth-form-card-register {
    width: min(100%, 920px);
    max-width: 920px;
    margin-inline: auto;
    padding: 1.9rem;
}

.auth-form-card::before {
    display: none !important;
    content: none !important;
}

.auth-card-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: 0.95rem;
    padding-bottom: 1.15rem;
    margin-bottom: 1.15rem;
    border-bottom: 1px solid #E3E9F1;
}

.auth-card-icon,
.auth-section-icon,
.auth-state-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--kt-primary-700);
    background: var(--kt-primary-100);
    border: 1px solid rgba(29, 95, 209, 0.12);
    box-shadow: 0 12px 24px rgba(22, 91, 37, 0.08);
}

.auth-card-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    font-size: 1.2rem;
}

.auth-card-header p {
    max-width: 720px;
    margin: 0.25rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.auth-section-card {
    padding: 1.3rem;
    border: 1px solid var(--kt-border);
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: var(--kt-shadow-sm);
}

.preview-card {
    padding: 1rem;
    border: 1px solid var(--kt-border);
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 10px 20px rgba(10, 27, 47, 0.04);
}

    .preview-card dl {
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 0.45rem 0.75rem;
        margin: 0;
    }

    .preview-card dt {
        color: #1F2B3D;
        font-weight: 900;
    }

    .preview-card dd {
        margin: 0;
        color: #666;
    }

.bar-card {
    height: 100%;
    padding: 1.25rem;
}

    .bar-card .bar-type {
        color: var(--kt-text-muted);
        font-size: 0.7rem;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

    .bar-card .bar-name {
        margin: 0.25rem 0;
        font-size: 1rem;
        font-weight: 900;
    }

    .bar-card .bar-location {
        color: var(--kt-text-muted);
        font-size: 0.78rem;
    }

    .bar-card .bar-stats {
        display: flex;
        gap: 1rem;
        margin-top: 0.75rem;
        font-size: 0.78rem;
    }

.report-card-polished {
    min-height: 230px;
    display: flex;
    flex-direction: column;
}

    .report-card-polished .stat-icon {
        margin-bottom: 1rem;
    }

    .report-card-polished p {
        flex: 1;
    }

.product-card-sm {
    position: relative;
    padding: 1rem 0.8rem;
    text-align: center;
    cursor: pointer;
}

    .product-card-sm .pcs-icon {
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 0.4rem;
        border-radius: 16px;
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        font-size: 1.1rem;
    }

    .product-card-sm .pcs-name {
        overflow: hidden;
        color: var(--kt-text);
        font-size: 0.78rem;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .product-card-sm .pcs-price {
        margin-top: 0.15rem;
        color: var(--kt-shell-950);
        font-size: 0.9rem;
        font-weight: 900;
    }

    .product-card-sm .pcs-stock,
    .product-card-sm .pcs-deal-badge {
        position: absolute;
        top: 4px;
        border-radius: var(--kt-radius-pill);
        font-size: 0.55rem;
        font-weight: 800;
    }

    .product-card-sm .pcs-stock {
        right: 4px;
        padding: 0.1em 0.4em;
    }

    .product-card-sm .pcs-deal-badge {
        left: 4px;
        padding: 0.1em 0.35em;
        background: var(--kt-warning-600);
        color: #fff;
    }

    .product-card-sm .pcs-actions {
        display: flex;
        justify-content: center;
        gap: 0.25rem;
        margin-top: 0.4rem;
    }

.quick-action-card {
    gap: 0.65rem;
    padding: 0.75rem;
    cursor: pointer;
    min-height: 76px !important;
    align-items: center !important;
}

    .quick-action-card .qac-icon {
        width: 42px;
        height: 42px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 14px;
        font-size: 1rem;
        box-shadow: 0 10px 20px rgba(29, 95, 209, 0.10);
    }

    .quick-action-card .qac-text {
        color: var(--kt-shell-950);
        font-size: 0.8rem;
        font-weight: 900;
    }

.cashier-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
}

    .cashier-card .cc-avatar {
        width: 38px;
        height: 38px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 0.8rem;
        font-weight: 800;
    }

.status-timeline,
.stock-timeline {
    position: relative;
    padding: 1rem 1rem 1rem 2rem;
    border: 1px solid var(--kt-border);
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: var(--kt-shadow-sm);
}

    .status-timeline::before,
    .stock-timeline::before {
        content: "";
        position: absolute;
        left: 1.2rem;
        top: 1rem;
        bottom: 1rem;
        width: 2px;
        background: var(--kt-border);
    }

.status-timeline-item,
.stock-timeline-item {
    position: relative;
    margin-bottom: 1rem;
    padding-left: 0.5rem;
}

    .status-timeline-item:last-child,
    .stock-timeline-item:last-child {
        margin-bottom: 0;
    }

    .status-timeline-item::before,
    .stock-timeline-item::before {
        content: "";
        position: absolute;
        left: -1.1rem;
        top: 4px;
        width: 12px;
        height: 12px;
        border: 2px solid var(--kt-border);
        border-radius: 50%;
        background: #fff;
    }

    .status-timeline-item.completed::before,
    .stock-timeline-item.in::before {
        background: var(--kt-primary-700);
        border-color: var(--kt-primary-700);
    }

    .status-timeline-item.active::before {
        background: var(--kt-warning-600);
        border-color: var(--kt-warning-600);
        box-shadow: 0 0 0 4px var(--kt-warning-100);
    }

    .status-timeline-item.rejected::before,
    .stock-timeline-item.out::before {
        background: var(--kt-danger-600);
        border-color: var(--kt-danger-600);
    }

    .status-timeline-item .st-label {
        font-size: 0.88rem;
        font-weight: 800;
    }

    .status-timeline-item .st-date,
    .stock-timeline-item .st-time {
        color: var(--kt-text-muted);
        font-size: 0.75rem;
    }

.deal-preview-card {
    padding: 1rem;
    border: 2px solid var(--kt-warning-600);
    border-radius: var(--kt-radius-md);
    text-align: center;
}

    .deal-preview-card .dpc-price {
        color: var(--kt-warning-700);
        font-size: 1.5rem;
        font-weight: 900;
    }

    .deal-preview-card .dpc-label {
        color: var(--kt-text-muted);
        font-size: 0.72rem;
    }

.report-card {
    height: 100%;
    padding: 1.25rem;
    cursor: pointer;
}

    .report-card .rc-icon {
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0.75rem;
        border-radius: var(--kt-radius-sm);
        font-size: 1.2rem;
    }

    .report-card p {
        margin: 0;
        color: var(--kt-text-muted);
        font-size: 0.78rem;
    }

.room-card,
.room-type-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    padding: 1.25rem;
}

    .room-card::before,
    .room-type-card::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 4px;
        background: var(--kt-primary-700);
    }

    .room-card .rc-number {
        color: var(--kt-shell-950) !important;
        font-size: 1.8rem;
        font-weight: 900;
        line-height: 1;
    }

    .room-card .rc-type,
    .room-type-card .rtc-meta,
    .booking-summary-card .bsc-room {
        color: var(--kt-text-muted);
        font-size: 0.78rem;
    }

    .room-card .rc-rate {
        margin-top: 0.5rem;
        color: var(--kt-shell-950);
        font-size: 0.9rem;
        font-weight: 900;
    }

    .room-card .rc-bg-icon {
        position: absolute;
        right: 8px;
        bottom: 8px;
        color: var(--kt-primary-700);
        font-size: 3.5rem;
        opacity: 0.05;
    }

.room-type-card {
    text-align: center;
}

    .room-type-card .rtc-icon {
        width: 58px;
        height: 58px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 0.75rem;
        border-radius: 18px;
        font-size: 1.3rem;
        box-shadow: 0 12px 24px rgba(29, 95, 209, 0.10);
    }

.kanban-room-card {
    margin-bottom: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 16px;
}

    .kanban-room-card .krc-number {
        font-size: 0.85rem;
        font-weight: 900;
    }

    .kanban-room-card .krc-name {
        color: var(--kt-text-muted);
        font-size: 0.72rem;
    }

    .kanban-room-card .krc-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
        margin-top: 0.4rem;
    }

.booking-summary-card {
    padding: 1rem;
    border-radius: 18px;
}

    .booking-summary-card .bsc-guest {
        font-size: 0.9rem;
        font-weight: 800;
    }

.main-content,
.card-ki,
.ki-card,
.table-responsive {
    min-width: 0;
}

    .page-header::after,
    .ki-page-hero::after,
    .stat-card::after,
    .auth-showcase::after,
    .hero-section::before,
    .hero-section::after,
    .room-card .rc-bg-icon,
    .stat-card .stat-bg-icon,
    .card-ki .stat-bg-icon,
    .ki-card .stat-bg-icon,
    [class*="bg-icon"],
    [class*="watermark"],
    [class*="decorative-circle"],
    [class*="circle-patch"],
    [class*="shape-ring"] {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

.page-header::before,
.ki-page-hero::before {
    display: none !important;
    content: none !important;
}

.card-ki::before,
.ki-card::before {
    display: none !important;
    content: none !important;
}

.main-wrapper,
.main-content,
.card-ki,
.ki-card,
.stat-card,
.quick-action-card,
.product-card-sm,
.bar-card,
.room-card,
.room-type-card,
.booking-summary-card,
.report-card,
.kanban-column,
.kanban-room-card,
.table,
.table-ki {
    color: var(--kt-shell-950) !important;
}

.card-ki,
.ki-card,
.stat-card,
.quick-action-card,
.product-card-sm,
.bar-card,
.room-card,
.room-type-card,
.booking-summary-card,
.report-card,
.cashier-card,
.kanban-column,
.kanban-room-card,
.permission-group,
.action-panel,
.branding-preview,
.receipt-preview,
.preview-card,
.auth-section-card {
    background: #FFFFFF !important;
    border: 1px solid rgba(29, 95, 209, 0.16) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 34px rgba(13, 59, 17, 0.060), 0 4px 12px rgba(10, 27, 47, 0.040) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease !important;
}

    .card-ki:hover,
    .ki-card:hover,
    .stat-card:hover,
    .quick-action-card:hover,
    .product-card-sm:hover,
    .bar-card:hover,
    .room-card:hover,
    .room-type-card:hover,
    .booking-summary-card:hover,
    .report-card:hover,
    .cashier-card:hover,
    .kanban-room-card:hover {
        border-color: rgba(29, 95, 209, 0.28) !important;
        box-shadow: 0 22px 48px rgba(13, 59, 17, 0.095), 0 8px 20px rgba(10, 27, 47, 0.055) !important;
        transform: translateY(-2px);
    }

    .stat-card .stat-icon,
    .stat-icon,
    .quick-action-card .qac-icon,
    .product-card-sm .pcs-icon,
    .ki-card-icon,
    .auth-card-icon,
    .auth-section-icon {
        background: var(--kt-primary-100) !important;
        color: var(--kt-primary-700) !important;
        border: 1px solid rgba(29, 95, 209, 0.14) !important;
        box-shadow: 0 10px 22px rgba(29, 95, 209, 0.10) !important;
    }

    .card-ki .table-responsive,
    .ki-card .table-responsive {
        border: 0 !important;
        box-shadow: none !important;
    }

    .quick-action-card:hover {
        background: #F7F9FF !important;
    }

.topbar-bar-context-card {
    width: min(100%, 920px);
    min-height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0.75rem 1.35rem;
    border: 1.5px solid rgba(29, 95, 209, 0.2);
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(13, 59, 17, 0.075), 0 5px 14px rgba(10, 27, 47, 0.045);
    overflow: hidden;
    max-width: 100%;
}

.page-header-compact {
    padding: 1rem 1.15rem;
    border: 1px solid rgba(29, 95, 209, 0.14);
    border-left: 5px solid var(--kt-primary-700, #1D5FD1);
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.055);
    margin-bottom: 1rem;
}

    .page-header-compact .page-subtitle {
        margin-bottom: 0 !important;
    }

.compact-card .card-header {
    padding: 0.85rem 1rem !important;
}

.compact-card .card-body {
    padding: 1rem !important;
}

.compact-card {
    border: 1px solid rgba(29, 95, 209, 0.12);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
}

    .compact-card > .card-header {
        min-height: 54px;
        background: #FFFFFF;
        border-bottom: 1px solid #E3E9F1;
    }

.profile-summary-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: 20px;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
}

    .profile-summary-card p {
        margin: 0.2rem 0 0;
        color: #667;
    }

.platform-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    margin-bottom: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    border-left: 6px solid var(--kt-primary-700, #1D5FD1);
    box-shadow: 0 18px 44px rgba(10, 27, 47, 0.075);
}

    .platform-hero-card p {
        max-width: 720px;
        margin: 0;
        color: rgba(6, 75, 24, 0.72);
        font-size: 0.92rem;
        line-height: 1.55;
    }

.platform-form-panel,
.platform-table-panel,
.permission-role-card {
    border-radius: 24px;
    border: 1px solid rgba(29, 95, 209, 0.12);
    background: #FFFFFF;
    box-shadow: 0 18px 42px rgba(10, 27, 47, 0.07), 0 3px 10px rgba(10, 27, 47, 0.035);
    overflow: hidden;
}

    .platform-form-panel::before,
    .platform-table-panel::before,
    .permission-role-card::before {
        display: none !important;
        content: none !important;
    }

.platform-user-cards {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
}

.platform-user-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
    gap: 1rem;
    align-items: center;
    padding: 0.9rem;
    border-radius: 20px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

    .platform-user-card:hover {
        transform: translateY(-2px);
        border-color: rgba(29, 95, 209, 0.22);
        box-shadow: 0 14px 28px rgba(10, 27, 47, 0.065);
    }

.category-form-card,
.category-preview-card {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(29, 95, 209, 0.12);
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
}

    .category-form-card::before,
    .category-preview-card::before {
        display: none !important;
        content: none !important;
    }

.category-preview-card {
    padding: 1.25rem;
}

    .category-preview-card p {
        min-height: 68px;
        margin: 0.6rem 0 1rem;
        color: var(--kt-text-muted);
        line-height: 1.55;
    }

.category-card {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.12);
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

    .category-card::before {
        display: none !important;
        content: none !important;
    }

    .category-card:hover {
        transform: translateY(-3px);
        border-color: rgba(29, 95, 209, 0.24);
        box-shadow: 0 20px 42px rgba(10, 27, 47, 0.09);
    }

.category-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem 0.6rem;
}

.category-card-body {
    padding: 0 1rem 0.8rem;
}

    .category-card-body p {
        min-height: 38px;
        margin: 0.35rem 0 0;
        color: var(--kt-text-muted);
        font-size: 0.82rem;
        line-height: 1.45;
    }

.main-wrapper,
.main-content,
.topbar,
.footer-ki,
.sidebar,
.card-ki,
.ki-card,
.table-responsive {
    min-width: 0;
}

    .main-content > *,
    .card-ki,
    .ki-card,
    .page-header,
    .ki-page-hero,
    .stat-card,
    .action-panel {
        max-width: 100%;
    }

.topbar-left,
.topbar-center,
.topbar-right,
.topbar-title-block,
.topbar-bar-context-card,
.user-menu,
.user-meta {
    min-width: 0 !important;
}

.stat-card,
.quick-action-card,
.approval-item,
.cashier-card,
.profile-info-row,
.category-meta-row,
.category-actions,
.ki-action-row,
.wizard-actions {
    min-width: 0;
}

.card-ki,
.card,
.reports-card,
.reports-filter-card,
.dashboard-card,
.smart-card,
.session-control-panel,
.session-form-panel,
.personal-dashboard-card,
.pos-products-panel,
.pos-cart-panel-polished,
.receipt-card,
.my-sales-stat,
.my-sales-table-card,
.reports-stat,
.stat-card,
.dashboard-stat-card,
.dashboard-small-stat,
.product-card-sm,
.pos-deal-card,
.quick-action-card {
    background-color: var(--kt-surface) !important;
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--ki-radius-card) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

    .card-ki::before,
    .reports-card::before,
    .reports-filter-card::before,
    .my-sales-table-card::before,
    .receipt-card::before {
        background: var(--kt-primary-700, #1D5FD1) !important;
    }

    .card-header,
    .reports-card-header,
    .pos-cart-head,
    .dashboard-card .card-header {
        background-color: var(--kt-surface-3) !important;
        border-bottom: 1px solid var(--kt-border) !important;
        color: var(--kt-shell-950, #071A2D) !important;
        font-weight: 900 !important;
    }

    .stat-card:hover,
    .dashboard-stat-card:hover,
    .dashboard-small-stat:hover,
    .smart-card:hover,
    .card-ki:hover,
    .product-card-sm:hover,
    .pos-deal-card:hover,
    .quick-action-card:hover,
    .reports-card:hover {
        transform: translateY(-2px) !important;
        box-shadow: var(--kt-shadow-md) !important;
        border-color: var(--kt-border-strong) !important;
    }

.stat-card,
.dashboard-stat-card,
.dashboard-small-stat,
.reports-stat,
.my-sales-stat,
.platform-stat-card,
.summary-card,
.kpi-card {
    padding: 0.95rem !important;
    min-height: 104px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 0.65rem !important;
}

.stat-icon,
.report-icon,
.my-sales-stat-icon-box,
.summary-icon,
.qac-icon,
.pcs-icon,
.empty-icon,
.dashboard-empty-state i {
    border-radius: 14px !important;
    background-color: var(--kt-primary-100, #EAF1FF) !important;
    color: var(--kt-primary-700, #1D5FD1) !important;
    border: 1px solid rgba(29, 95, 209, 0.12) !important;
}

.stat-value,
.reports-stat-value,
.my-sales-stat-value,
.dashboard-small-stat .stat-value,
.summary-value {
    color: var(--kt-shell-950, #071A2D) !important;
    font-weight: 950 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
}

.pos-cart-line,
.report-list-row,
.dashboard-list-row,
.top-product-row,
.cashier-card,
.dashboard-cashier-row {
    border-color: var(--kt-border-subtle, #E8EDF3) !important;
}

.auth-showcase,
.auth-card {
    background-color: var(--kt-surface) !important;
}

main,
.main-content,
.main-wrapper,
.card-body,
.card-ki,
.card,
.row,
[class*="col-"] {
    min-width: 0 !important;
}


/* ==========================================================
   05. Tables, badges, alerts and modals
   ========================================================== */

.ki-status-pill::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.badge-admin {
    background: #E5F5FB !important;
    color: #1D5FD1 !important;
}

.badge-manager {
    background: #FFF5DB !important;
    color: #A45A08 !important;
}

.badge-staff {
    background: #F0EEFC !important;
    color: #6F63C2 !important;
}

.table-responsive {
    background: #FFFFFF !important;
    border: 1px solid rgba(29, 95, 209, 0.13) !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 28px rgba(13, 59, 17, 0.045) !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.table,
.table-ki {
    width: 100%;
    margin: 0;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: 0.84rem;
    min-width: 720px;
}

    .table thead th,
    .table-ki thead th {
        padding: 0.85rem 0.95rem !important;
        border-top: 1px solid rgba(29, 95, 209, 0.10) !important;
        border-bottom: 1px solid rgba(29, 95, 209, 0.16) !important;
        background: #EEF4FC !important;
        color: var(--kt-shell-950) !important;
        font-size: 0.72rem !important;
        font-weight: 900 !important;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        white-space: nowrap;
    }

        .table thead th:first-child,
        .table-ki thead th:first-child {
            border-left: 1px solid rgba(29, 95, 209, 0.10) !important;
            border-top-left-radius: 16px;
        }

        .table thead th:last-child,
        .table-ki thead th:last-child {
            border-right: 1px solid rgba(29, 95, 209, 0.10) !important;
            border-top-right-radius: 16px;
        }

    .table tbody td,
    .table-ki tbody td {
        padding: 0.85rem 0.95rem !important;
        border-bottom: 1px solid var(--kt-border-subtle) !important;
        color: var(--kt-text-strong);
        vertical-align: middle;
    }

    .table tbody tr,
    .table-ki tbody tr {
        transition: background 0.2s ease, box-shadow 0.2s ease;
    }

        .table tbody tr:hover,
        .table-ki tbody tr:hover {
            background: #F8FAFD !important;
            box-shadow: inset 4px 0 0 var(--kt-warning-600);
        }

        .table tbody tr:last-child td,
        .table-ki tbody tr:last-child td {
            border-bottom: 0 !important;
        }

.table-ki-striped tbody tr:nth-child(even) {
    background: #FAF8F5;
}

.alert {
    border-width: 1px;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(10, 27, 47, 0.05);
}

.alert-success {
    background: #E5F6ED;
    border-color: rgba(29, 95, 209, 0.18);
    color: var(--kt-shell-950);
}

.alert-danger {
    background: #FFF0F0;
    border-color: rgba(211, 47, 47, 0.16);
}

.toast-ki {
    position: fixed;
    z-index: 9999;
    top: 20px;
    right: 20px;
    display: flex;
    min-width: 320px;
    max-width: 420px;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border: 0;
    border-radius: var(--kt-radius-md);
    background: #fff;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    transform: translateX(120%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

    .toast-ki.show {
        transform: translateX(0);
    }

    .toast-ki .toast-icon {
        width: 36px;
        height: 36px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 1rem;
    }

    .toast-ki .toast-content {
        flex: 1;
    }

    .toast-ki .toast-title {
        margin-bottom: 0.1rem;
        font-size: 0.88rem;
        font-weight: 700;
    }

    .toast-ki .toast-text {
        color: var(--kt-text-muted);
        font-size: 0.8rem;
    }

    .toast-ki .toast-close {
        border: 0;
        background: none;
        color: var(--kt-text-muted);
        cursor: pointer;
        font-size: 1.1rem;
        transition: var(--ki-transition);
    }

        .toast-ki .toast-close:hover {
            color: var(--kt-text);
        }

    .toast-ki.toast-success .toast-icon {
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
    }

    .toast-ki.toast-error .toast-icon {
        background: #FFEBEE;
        color: var(--kt-danger-600);
    }

    .toast-ki.toast-warning .toast-icon {
        background: var(--kt-warning-100);
        color: var(--kt-warning-700);
    }

    .toast-ki.toast-info .toast-icon {
        background: #E5F5FB;
        color: var(--kt-primary-700);
    }

.sidebar-link .link-badge {
    margin-left: auto;
    font-size: 0.7rem;
}

.table thead th,
.table-ki thead th {
    background: #EAF1FF !important;
    color: var(--kt-shell-950) !important;
    border-color: rgba(29, 95, 209, 0.16) !important;
}

.table tbody tr:hover,
.table-ki tbody tr:hover {
    background: #F7F9FF !important;
    box-shadow: inset 4px 0 0 var(--kt-primary-700) !important;
}

.compact-table-wrap .table th,
.compact-table-wrap .table td {
    padding-top: 0.72rem !important;
    padding-bottom: 0.72rem !important;
    padding: 0.72rem 0.85rem;
    vertical-align: middle;
}

.link-badge {
    margin-left: auto;
    min-width: 22px;
    height: 22px;
    padding: 0 0.45rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
}

.badge-pending {
    background: #B7791F;
    color: #ffffff;
    box-shadow: 0 8px 16px rgba(183, 121, 31, 0.22);
}

.platform-summary-pill,
.platform-count-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.58rem 0.78rem;
    border-radius: 999px;
    background: #EAF1FF;
    border: 1px solid rgba(29, 95, 209, 0.16);
    color: #0B243D;
    font-size: 0.78rem;
    font-weight: 900;
    white-space: nowrap;
}

.platform-alert {
    border-radius: 16px;
    border-width: 1px;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
}

.platform-panel-header.table-header {
    justify-content: space-between;
}

.table-responsive,
.ki-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-ki,
.table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

    .table-ki thead th,
    .table thead th {
        background: var(--kt-surface-3) !important;
        color: var(--kt-shell-950, #071A2D) !important;
        font-size: 0.72rem !important;
        text-transform: uppercase !important;
        letter-spacing: 0.03em !important;
        font-weight: 900 !important;
        border-bottom: 1px solid var(--kt-border) !important;
        white-space: nowrap !important;
    }

    .table-ki tbody td,
    .table tbody td {
        vertical-align: middle !important;
        border-bottom: 1px solid var(--kt-border-subtle, #E8EDF3) !important;
    }

    .table-ki tbody tr:hover,
    .table tbody tr:hover {
        background: #F8FAFD !important;
    }

.modal-content,
.dropdown-menu,
.popover {
    border: 1px solid var(--kt-border) !important;
    box-shadow: var(--kt-shadow-md) !important;
    background: var(--kt-surface) !important;
}

.modal-header,
.modal-footer {
    background: var(--kt-surface-3) !important;
    border-color: var(--kt-border) !important;
}

.badge,
.badge-ki,
.stock-badge {
    border-radius: 999px !important;
    font-weight: 900 !important;
}


/* ==========================================================
   06. Shell, sidebar, topbar, footer and navigation
   ========================================================== */

.breadcrumb-ki {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
    background: transparent;
    font-size: 0.82rem;
    min-width: 0;
    max-width: 100%;
    flex-wrap: nowrap;
    overflow: hidden;
}

    .breadcrumb-ki .breadcrumb-item {
        color: var(--kt-text-muted);
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

        .breadcrumb-ki .breadcrumb-item a {
            position: relative;
            color: var(--kt-text-muted);
            text-decoration: none;
            padding-bottom: 1px;
        }

            .breadcrumb-ki .breadcrumb-item a::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 0;
                width: 0;
                height: 1.5px;
                background: var(--kt-primary-700);
                transition: width 0.25s ease;
            }

            .breadcrumb-ki .breadcrumb-item a:hover {
                color: var(--kt-primary-700);
            }

                .breadcrumb-ki .breadcrumb-item a:hover::after {
                    width: 100%;
                }

        .breadcrumb-ki .breadcrumb-item.active {
            padding: 0.15rem 0.6rem;
            border-radius: var(--kt-radius-pill);
            background: var(--kt-primary-100);
            color: var(--kt-primary-700);
            font-size: 0.76rem;
            font-weight: 800;
        }

        .breadcrumb-ki .breadcrumb-item + .breadcrumb-item::before {
            content: "›";
            color: #CCC;
            font-size: 1.1rem;
        }

        .breadcrumb-ki .breadcrumb-item i {
            margin-right: 0.3rem;
            font-size: 0.75rem;
        }

.sidebar {
    position: fixed;
    z-index: 1030;
    inset: 0 auto 0 0;
    width: var(--kt-sidebar-width);
    height: 100vh;
    display: flex;
    flex-direction: column;
    transition: var(--ki-transition);
    background: var(--kt-surface) !important;
    border-right: 1px solid var(--kt-border) !important;
    box-shadow: 8px 0 22px rgba(10, 27, 47, 0.05) !important;
}

.sidebar-brand,
.sidebar-header {
    min-height: var(--kt-topbar-height);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--kt-border-subtle);
}

    .sidebar-brand img {
        height: 32px;
    }

    .sidebar-brand span {
        color: var(--kt-primary-700);
        font-size: 1.15rem;
        font-weight: 900;
    }

.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 0;
}

.sidebar-group {
    margin-bottom: 0.15rem;
}

.sidebar-group-title {
    padding: 0.4rem 1.25rem 0.25rem;
    color: var(--kt-text-muted);
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.sidebar-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    overflow: hidden;
    padding: 0.5rem 1.25rem;
    border-left: 3px solid transparent;
    color: var(--kt-text);
    font-size: 0.82rem;
    font-weight: 600;
    transition: var(--ki-transition);
}

    .sidebar-link::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: var(--kt-warning-600);
        transform: scaleY(0);
        transition: transform 0.25s ease;
    }

    .sidebar-link i {
        width: 20px;
        color: var(--kt-text-muted);
        font-size: 1.05rem;
        text-align: center;
        transition: var(--ki-transition);
    }

    .sidebar-link:hover,
    .sidebar-link.active {
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        padding-left: 1.5rem;
    }

        .sidebar-link:hover::before,
        .sidebar-link.active::before {
            transform: scaleY(1);
        }

        .sidebar-link:hover i,
        .sidebar-link.active i {
            color: var(--kt-primary-700);
            transform: translateX(3px);
        }

    .sidebar-link.active {
        border-left-color: transparent;
        font-weight: 900 !important;
        box-shadow: inset 3px 0 0 var(--kt-primary-700, #1D5FD1) !important;
    }

        .sidebar-link.active::after {
            content: "";
            position: absolute;
            right: 8px;
            top: 50%;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--kt-warning-600);
            transform: translateY(-50%);
        }

.sidebar-group-collapse {
    cursor: pointer;
}

    .sidebar-group-collapse .collapse-icon {
        margin-left: auto;
        font-size: 0.7rem;
        transition: transform 0.3s ease;
    }

    .sidebar-group-collapse.collapsed .collapse-icon {
        transform: rotate(-90deg);
    }

.sidebar-close,
.sidebar-overlay {
    display: none;
}

.topbar {
    position: fixed;
    z-index: 1020;
    top: 0;
    left: var(--kt-sidebar-width);
    right: 0;
    justify-content: space-between;
    padding: 0 1.5rem;
    border-bottom: 1px solid var(--kt-border-subtle);
    background: var(--ki-sidebar-bg);
    box-shadow: 0 10px 28px rgba(10, 27, 47, 0.035);
    transition: var(--ki-transition);
    display: grid !important;
    grid-template-columns: minmax(300px, 0.85fr) minmax(520px, 1.65fr) auto !important;
    gap: 1.25rem !important;
    min-width: 0;
    height: var(--kt-topbar-height);
    min-height: var(--kt-topbar-height);
    align-items: center;
}

.topbar-left,
.topbar-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.topbar-right {
    gap: 0.5rem;
    justify-content: flex-end;
}

.topbar-btn {
    position: relative;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--kt-text-muted);
    font-size: 1.15rem;
    transition: var(--ki-transition);
}

    .topbar-btn:hover {
        background: var(--kt-surface-3);
        color: var(--kt-text);
    }

    .topbar-btn .notif-dot {
        position: absolute;
        right: 6px;
        top: 6px;
        width: 8px;
        height: 8px;
        border: 2px solid #fff;
        border-radius: 50%;
        background: var(--kt-danger-600);
    }

.topbar-profile,
.user-menu {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.35rem 0.75rem;
    border-radius: var(--kt-radius-sm);
    cursor: pointer;
    transition: var(--ki-transition);
}

    .topbar-profile:hover,
    .user-menu:hover {
        background: var(--kt-surface-3);
    }

    .avatar,
    .topbar-profile .avatar {
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--kt-primary-700);
        color: #fff;
        font-size: 0.9rem;
        font-weight: 800;
    }

    .topbar-profile .avatar-info small {
        color: var(--kt-text-muted);
        font-size: 0.68rem;
    }

.main-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin-left: var(--kt-sidebar-width);
    padding-top: var(--kt-topbar-height);
}

.main-content {
    flex: 1;
    min-height: calc(100vh - var(--kt-topbar-height));
    padding: 1.5rem 2rem;
    animation: pageFadeIn 0.45s ease forwards;
}

.footer-ki {
    padding: 1rem 2rem;
    border-top: 1px solid var(--kt-border);
    background: var(--kt-surface);
    color: var(--kt-text-muted);
    font-size: 0.78rem;
    box-shadow: 0 -8px 24px rgba(13, 59, 17, 0.045) !important;
    margin-left: var(--kt-sidebar-width);
    min-height: var(--kt-footer-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    text-align: left;
}

    .footer-ki strong {
        color: var(--kt-primary-700);
    }

.landing-navbar {
    position: sticky;
    z-index: 1020;
    top: 0;
    padding: 0.75rem 0;
    background: #fff;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}

    .landing-navbar .navbar-brand {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        color: var(--kt-primary-700);
        font-size: 1.3rem;
        font-weight: 900;
    }

        .landing-navbar .navbar-brand img {
            height: 34px;
        }

.auth-showcase-top,
.auth-showcase-footer {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.auth-showcase-footer {
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.8rem;
}

    .auth-showcase-footer span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }

    .auth-showcase-footer i {
        color: #F1C66E;
    }

.branding-preview .bp-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
}

.branding-preview .bp-sidebar {
    width: 50px;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
}

.receipt-preview .rp-header,
.receipt-preview .rp-footer,
.receipt-preview .rp-total {
    border-top: 1px dashed var(--kt-border);
}

.receipt-preview .rp-footer {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    color: var(--kt-text-muted);
    font-size: 0.65rem;
    text-align: center;
}

.sidebar-link:hover,
.sidebar-link.active {
    color: var(--kt-shell-950) !important;
    background: var(--kt-primary-100) !important;
}

    .sidebar-link i,
    .sidebar-link:hover i,
    .sidebar-link.active i {
        color: var(--kt-primary-700) !important;
    }

.topbar,
.sidebar,
.footer-ki {
    background: #FFFFFF !important;
    color: var(--kt-shell-950) !important;
}

.topbar-left,
.topbar-center,
.topbar-right {
    min-width: 0 !important;
}

.topbar-center {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.topbar-bar-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--kt-primary-100);
    color: var(--kt-primary-700);
    border: 1px solid rgba(29, 95, 209, 0.16);
    box-shadow: 0 10px 20px rgba(29, 95, 209, 0.1);
    font-size: 1.25rem;
}

.topbar-bar-text {
    display: grid;
    line-height: 1.2;
    min-width: 0;
}

    .topbar-bar-text strong {
        max-width: 760px;
        overflow: hidden;
        color: var(--kt-shell-950);
        font-size: 1.15rem;
        font-weight: 950;
        letter-spacing: -0.02em;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .topbar-bar-text small {
        display: inline-flex;
        align-items: center;
        gap: 0.48rem;
        overflow: hidden;
        color: rgba(13, 59, 17, 0.72);
        font-size: 0.86rem;
        font-weight: 800;
        white-space: nowrap;
        margin-top: 0.18rem;
    }

        .topbar-bar-text small i {
            color: var(--kt-primary-700);
            font-size: 0.9rem;
        }

.topbar-dot-separator {
    width: 6px;
    height: 6px;
    display: inline-flex;
    border-radius: 50%;
    background: var(--kt-warning-600);
    opacity: 0.95;
}

.topbar-right .user-menu {
    max-width: 310px;
}

.profile-avatar-xl {
    width: 74px;
    height: 74px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    color: #1D5FD1;
    font-size: 2rem;
    border: 1px solid #DCE4EF;
    box-shadow: 0 12px 26px rgba(29, 95, 209, 0.1);
}

.platform-avatar {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 17px;
    background: #1D5FD1;
    color: #fff;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(29, 95, 209, 0.16);
    flex-shrink: 0;
}

.category-preview-footer {
    padding-top: 0.85rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

    .category-preview-footer span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }

.sidebar-overlay {
    display: none;
}

.sidebar-close {
    display: none;
}

.sidebar-header {
    justify-content: space-between;
}

.sidebar-brand-with-logo {
    min-width: 0;
}

.sidebar-logo-wide {
    object-fit: contain;
}

.bar-context {
    margin: 0.75rem 1rem 0.25rem;
    padding: 0.75rem 0.85rem;
    border-radius: var(--kt-radius-md);
    background: var(--kt-primary-700, #1D5FD1) !important;
    border: 1px solid rgba(29, 95, 209, 0.25) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

    .bar-context small,
    .bar-context strong {
        display: block;
        min-width: 0;
    }

    .bar-context small {
        color: var(--kt-text-muted);
        font-size: 0.68rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .bar-context strong {
        color: var(--kt-shell-950);
        font-size: 0.86rem;
        line-height: 1.25;
    }

.topbar-title-block {
    display: grid;
    gap: 0.1rem;
}

.topbar-page-title {
    margin: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-bar-text strong,
.topbar-bar-text small,
.user-name,
.user-bar,
.user-details {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid var(--kt-border-subtle);
    background: #FFFFFF;
    border-radius: var(--kt-radius-pill);
}

.avatar,
.profile-avatar-lg {
    flex: 0 0 auto;
}

.footer-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

    .footer-links a {
        white-space: nowrap;
    }

.sidebar,
.topbar,
.footer-ki,
.main-wrapper,
.main-content,
.public-navbar,
.auth-page,
.kitunzi-app-shell {
    font-family: var(--ki-font, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

.sidebar-header,
.topbar,
.footer-ki {
    background: var(--kt-surface) !important;
    border-color: var(--kt-border) !important;
}

.sidebar-link,
.sidebar-menu-toggle {
    border-radius: 12px !important;
    min-height: 38px !important;
    padding: 0.58rem 0.75rem !important;
    gap: 0.65rem !important;
    color: var(--kt-text, #1F2B3D) !important;
    border: 1px solid transparent !important;
}

    .sidebar-link i,
    .sidebar-menu-toggle i:first-child {
        width: 20px !important;
        text-align: center !important;
        color: var(--kt-primary-700, #1D5FD1) !important;
    }

    .sidebar-link:hover,
    .sidebar-menu-toggle:hover,
    .sidebar-link.active {
        background: var(--kt-primary-100, #EAF1FF) !important;
        color: var(--kt-shell-950, #071A2D) !important;
        border-color: rgba(29, 95, 209, 0.14) !important;
    }

.sidebar-submenu .sidebar-link {
    margin-left: 0.3rem !important;
    padding-left: 0.95rem !important;
}


/* ==========================================================
   07. Public, auth and registration pages
   ========================================================== */

.workflow-step {
    padding: 1.5rem;
    text-align: center;
}

    .workflow-step .step-number {
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1rem;
        border-radius: 50%;
        font-size: 1.1rem;
        font-weight: 900;
    }

.accordion-ki .accordion-item {
    margin-bottom: 0.5rem;
    border: 1px solid var(--kt-border-subtle);
    border-radius: var(--kt-radius-sm);
    box-shadow: none;
}

.accordion-ki .accordion-button {
    padding: 0.85rem 1.15rem;
    background: #fff;
    box-shadow: none;
    font-size: 0.88rem;
    font-weight: 800;
}

    .accordion-ki .accordion-button:not(.collapsed) {
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
    }

.accordion-ki .accordion-body {
    padding: 0.85rem 1.15rem;
    color: var(--kt-text-muted);
    font-size: 0.84rem;
}

.auth-page {
    min-height: 100vh;
    background: var(--kt-canvas-2);
    color: var(--kt-text);
}

.kitunzi-auth-shell,
.kitunzi-auth-register-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(400px, 39%) minmax(0, 1fr);
    background: var(--kt-canvas-2);
    overflow-x: hidden;
}

.auth-showcase {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 2.2rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    background: #123B70;
    color: #fff;
}

    .auth-showcase::before {
        content: "";
        position: absolute;
        inset: 0;
        background-size: 42px 42px;
        pointer-events: none;
    }

    .auth-showcase::after {
        content: "";
        position: absolute;
        right: -140px;
        bottom: -135px;
        width: 360px;
        height: 360px;
        border: 58px solid rgba(255, 176, 32, 0.14);
        border-radius: 50%;
        pointer-events: none;
    }

    .auth-showcase > * {
        position: relative;
        z-index: 2;
    }

.auth-showcase-top {
    justify-content: space-between;
}

.auth-brand,
.auth-logo {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    color: inherit;
    text-decoration: none;
    transition: var(--ki-transition);
}

    .auth-brand:hover {
        color: inherit;
        transform: translateY(-1px);
    }

.auth-brand-wide {
    min-width: 260px;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.10);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.12);
}

.auth-brand-logo-only {
    min-width: auto;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.auth-brand-mark {
    width: 76px;
    height: 76px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18), inset 0 0 0 1px rgba(22, 91, 37, 0.05);
}

    .auth-brand-mark img {
        width: 54px;
        height: 54px;
        display: block;
        object-fit: contain;
    }

.auth-brand-mark-wide,
.auth-brand-logo-only .auth-brand-mark-wide {
    width: 250px;
    height: 86px;
    padding: 0.45rem 0.8rem;
    border-radius: 24px;
}

    .auth-brand-mark-wide img,
    .auth-brand-logo-only .auth-brand-mark-wide img {
        width: 225px;
        height: 68px;
        object-fit: contain;
    }

.auth-brand-fallback {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--kt-warning-600);
    color: var(--kt-primary-700);
    font-size: 1.2rem;
    font-weight: 900;
}

.auth-brand-text strong {
    display: block;
    color: #fff;
    font-size: 1.9rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.03em;
}

.auth-brand-text small {
    display: block;
    margin-top: 0.22rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.88rem;
}

.auth-country-pill,
.auth-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.62rem 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: var(--kt-radius-pill);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.auth-showcase-content {
    max-width: 560px;
}

    .auth-showcase-content p {
        max-width: 520px;
        margin-bottom: 1.5rem;
        color: rgba(255, 255, 255, 0.9);
        font-size: 1.05rem;
        line-height: 1.75;
    }

.auth-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem;
    margin: 1.5rem 0;
}

.auth-insight-panel {
    max-width: 420px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.35rem;
    padding: 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: 0 22px 40px rgba(0, 0, 0, 0.12);
}

    .auth-insight-panel small {
        display: block;
        color: rgba(255, 255, 255, 0.76);
        font-size: 0.74rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .auth-insight-panel strong {
        display: block;
        color: #fff;
        font-size: 1.7rem;
        font-weight: 900;
        letter-spacing: -0.02em;
    }

.auth-mini-bars {
    height: 68px;
    display: flex;
    align-items: end;
    gap: 0.4rem;
}

    .auth-mini-bars span {
        width: 13px;
        display: block;
        border-radius: 999px 999px 4px 4px;
        background: var(--kt-warning-600);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);
    }

.auth-form-stage,
.auth-form-stage-register {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    padding: 2rem 2.5rem;
    background: var(--kt-canvas-2);
}

.auth-form-stage-register {
    align-items: stretch;
    justify-content: flex-start;
    padding: 1.4rem clamp(1rem, 2vw, 2rem);
}

.auth-mobile-brand {
    display: none;
    width: min(100%, 760px);
    margin-bottom: 1rem;
}

.auth-form-stage .auth-brand,
.auth-form-stage-register .auth-brand {
    color: var(--kt-primary-700);
}

.auth-form-stage .auth-brand-mark,
.auth-form-stage-register .auth-brand-mark {
    border-color: #DCE4EF;
    background: #fff;
    box-shadow: 0 12px 28px rgba(22, 91, 37, 0.10);
}

.auth-form-stage .auth-brand-text strong,
.auth-form-stage-register .auth-brand-text strong {
    color: var(--kt-primary-700);
}

.auth-form-stage .auth-brand-text small,
.auth-form-stage-register .auth-brand-text small {
    color: var(--kt-text-muted);
}

.auth-foot-note {
    width: min(100%, 920px);
    margin: 1.1rem auto 0;
    color: var(--kt-text-muted);
    font-size: 0.82rem;
    line-height: 1.5;
    text-align: center;
}

    .auth-foot-note strong {
        color: var(--kt-primary-700);
    }

.auth-form {
    margin: 0;
}

.auth-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.05rem 1rem;
}

.auth-field {
    min-width: 0;
    margin-bottom: 0;
}

    .auth-field.span-2,
    .auth-form-grid .span-2 {
        grid-column: span 2;
    }

.auth-inline-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0.45rem 0 1.2rem;
}

.auth-link {
    color: var(--kt-primary-700);
    font-weight: 900;
    text-decoration: none;
}

    .auth-link:hover {
        color: var(--kt-shell-950);
        text-decoration: underline;
    }

.auth-submit {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    border-radius: 16px;
    font-weight: 900;
    box-shadow: 0 14px 28px rgba(22, 91, 37, 0.16);
}

.auth-trust-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.auth-trust-chip {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--kt-border);
    border-radius: 16px;
    background: #F8FAFD;
    color: var(--kt-text);
    font-size: 0.75rem;
    font-weight: 900;
    box-shadow: 0 10px 20px rgba(10, 27, 47, 0.035);
    transition: var(--ki-transition);
}

    .auth-trust-chip:hover {
        background: var(--kt-primary-100);
        border-color: rgba(22, 91, 37, 0.22);
        transform: translateY(-1px);
    }

    .auth-trust-chip i {
        color: var(--kt-warning-600);
        font-size: 1rem;
    }

.auth-callout {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(29, 95, 209, 0.12);
    border-radius: 20px;
    background: var(--kt-primary-100);
    color: var(--kt-text-muted);
    font-size: 0.84rem;
}

    .auth-callout i {
        margin-top: 0.05rem;
        color: var(--kt-primary-700);
        font-size: 1.1rem;
    }

.auth-divider-line {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 1.25rem 0;
    color: var(--kt-text-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

    .auth-divider-line::before,
    .auth-divider-line::after {
        content: "";
        flex: 1;
        height: 1px;
        background: var(--kt-border-subtle);
    }

.auth-secondary-action,
.auth-secondary-center {
    margin-top: 1rem;
    color: var(--kt-text-muted);
    font-size: 0.86rem;
    text-align: center;
}

.wizard-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.9rem;
    margin-bottom: 1.2rem;
}

.wizard-step {
    appearance: none;
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.95rem 1rem;
    border: 1px solid #DCE4EF;
    border-radius: 18px;
    background: var(--kt-primary-100);
    color: var(--kt-primary-700);
    font-weight: 900;
    text-align: left;
    cursor: pointer;
    transition: var(--ki-transition);
    box-shadow: 0 10px 18px rgba(10, 27, 47, 0.035);
}

    .wizard-step:hover {
        transform: translateY(-1px);
    }

    .wizard-step span {
        width: 30px;
        height: 30px;
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--kt-primary-700);
        color: #fff;
        font-size: 0.85rem;
    }

    .wizard-step.current {
        border-color: var(--kt-primary-700);
        box-shadow: 0 0 0 3px rgba(22, 91, 37, 0.08), 0 12px 24px rgba(22, 91, 37, 0.09);
    }

.wizard-panel {
    display: none;
}

    .wizard-panel.active {
        display: block;
    }

.auth-section-title {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding-bottom: 0.95rem;
    margin-bottom: 1.05rem;
    border-bottom: 1px solid #E8EDF3;
}

.auth-section-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
}

.auth-section-title p {
    margin: 0.2rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.88rem;
}

.wizard-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.25rem;
}

.auth-state {
    text-align: center;
}

.auth-state-icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 1.2rem;
    border-radius: 30px;
    font-size: 2.4rem;
}

    .auth-state-icon.danger {
        border-color: rgba(211, 47, 47, 0.15);
        background: #FFEBEE;
        color: var(--kt-danger-600);
    }

.auth-state p {
    margin-bottom: 1.25rem;
    color: var(--kt-text-muted);
}

.auth-actions-grid,
.otp-box-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
}

.auth-page,
.kitunzi-auth-shell,
.kitunzi-auth-register-shell {
    min-width: 0;
}


/* ==========================================================
   08. Platform, bar, POS modules
   ========================================================== */

.timeline-ki {
    position: relative;
    padding: 1rem 1rem 1rem 2rem;
    border: 1px solid var(--kt-border);
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: var(--kt-shadow-sm);
}

    .timeline-ki::before {
        content: "";
        position: absolute;
        left: 1.4rem;
        top: 1rem;
        bottom: 1rem;
        width: 2px;
        background: #DCCFBE;
    }

.timeline-item {
    position: relative;
    margin-bottom: 1.25rem;
    padding-left: 0.5rem;
}

    .timeline-item:last-child {
        margin-bottom: 0;
    }

    .timeline-item::before {
        content: "";
        position: absolute;
        left: -0.95rem;
        top: 4px;
        width: 12px;
        height: 12px;
        border: 2px solid var(--kt-primary-700);
        border-radius: 50%;
        background: var(--kt-primary-700);
        box-shadow: 0 0 0 4px #FFFFFF;
    }

    .timeline-item .timeline-time,
    .timeline-time {
        margin-bottom: 0.15rem;
        color: var(--kt-text-muted);
        font-size: 0.73rem;
        font-weight: 800;
    }

    .timeline-item .timeline-text,
    .timeline-text {
        margin: 0.18rem 0 0;
        color: var(--kt-text);
        font-size: 0.82rem;
    }

.approval-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--kt-border-subtle);
}

    .approval-item:first-child {
        padding-top: 0;
    }

    .approval-item:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .approval-item .ai-icon {
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--kt-radius-sm);
        font-size: 1.1rem;
    }

    .approval-item .ai-info {
        flex: 1;
    }

        .approval-item .ai-info .ai-name {
            font-size: 0.85rem;
            font-weight: 800;
        }

        .approval-item .ai-info .ai-meta {
            color: var(--kt-text-muted);
            font-size: 0.75rem;
        }

    .approval-item .ai-actions {
        display: flex;
        gap: 0.35rem;
    }

.permission-group {
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.permission-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.permission-group-body {
    padding: 0.5rem 1.15rem;
}

.permission-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--kt-border-subtle);
    font-size: 0.84rem;
}

    .permission-row:last-child {
        border-bottom: 0;
    }

.permission-cell {
    text-align: center;
}

.chart-placeholder {
    position: relative;
    width: 100%;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px dashed #D3DDE9;
    border-radius: 20px;
    color: var(--kt-text-muted);
    font-size: 0.85rem;
}

    .chart-placeholder .chart-bars {
        height: 120px;
        display: flex;
        align-items: flex-end;
        gap: 6px;
        padding: 0 1rem;
    }

        .chart-placeholder .chart-bars .bar {
            min-height: 20px;
            width: 20px;
            border-radius: 4px 4px 0 0;
            transition: var(--ki-transition);
        }

.category-chips,
.day-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.category-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
}

.category-chip,
.day-chip {
    flex-shrink: 0;
    padding: 0.35rem 0.85rem;
    border: 1.5px solid var(--kt-border);
    border-radius: var(--kt-radius-pill);
    background: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--ki-transition);
    white-space: nowrap;
}

.day-chip {
    padding: 0.3rem 0.65rem;
    font-size: 0.72rem;
}

.category-chip:hover {
    border-color: var(--kt-primary-700);
    color: var(--kt-primary-700);
}

.day-chip:hover {
    border-color: var(--kt-warning-600);
    color: var(--kt-warning-700);
}

.category-chip.active {
    background: var(--kt-primary-700);
    border-color: var(--kt-primary-700);
    color: #fff;
}

.day-chip.active {
    background: var(--kt-warning-600);
    border-color: var(--kt-warning-600);
    color: #fff;
}

.pos-layout {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-height: calc(100vh - var(--kt-topbar-height) - 160px);
}

.pos-products {
    flex: 1;
    min-width: 0;
}

.pos-cart-panel {
    position: sticky;
    top: calc(var(--kt-topbar-height) + 1rem);
    width: 360px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.pos-cart-items {
    flex: 1;
    max-height: calc(100vh - 420px);
    overflow-y: auto;
}

.pos-cart-item {
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--kt-border-subtle);
}

    .pos-cart-item:last-child {
        border-bottom: 0;
    }

.pos-cart-summary {
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--kt-border-subtle);
}

.stock-timeline-item .st-text {
    margin: 0;
    font-size: 0.78rem;
}

.branding-preview {
    overflow: hidden;
    border: 2px solid var(--kt-border);
}

    .branding-preview .bp-content,
    .branding-preview .bp-receipt {
        padding: 0.75rem;
    }

    .branding-preview .bp-receipt {
        border-top: 1px dashed var(--kt-border);
        font-size: 0.72rem;
        text-align: center;
    }

.receipt-preview {
    max-width: 300px;
    margin: 0 auto;
    padding: 1rem;
    font-size: 0.75rem;
}

    .receipt-preview .rp-header {
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
        border-top: 0;
        border-bottom: 1px dashed var(--kt-border);
        text-align: center;
    }

    .receipt-preview .rp-line {
        display: flex;
        justify-content: space-between;
        padding: 0.15rem 0;
    }

    .receipt-preview .rp-total {
        margin-top: 0.5rem;
        padding-top: 0.5rem;
        font-size: 0.85rem;
        font-weight: 800;
    }

.kanban-board {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.kanban-column {
    min-height: 300px;
    padding: 0.75rem;
    border: 1px solid var(--kt-border);
    border-radius: 22px;
    background: #F8FAFD;
    box-shadow: var(--kt-shadow-sm);
}

    .kanban-column .kc-header {
        min-height: auto;
        margin-bottom: 0.75rem;
        padding: 0.75rem 0.85rem !important;
        border-radius: 16px;
    }

    .kanban-column .kc-count {
        padding: 0.1rem 0.5rem;
        border-radius: var(--kt-radius-pill);
        background: var(--kt-border);
        font-size: 0.7rem;
    }

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    padding: 0.75rem;
    border: 1px solid var(--kt-border);
    border-radius: 18px;
    background: #FFFFFF;
    font-size: 0.78rem;
}

    .calendar-grid .cg-header {
        padding: 0.35rem;
        color: var(--kt-text-muted);
        font-size: 0.7rem;
        font-weight: 800;
        text-align: center;
    }

    .calendar-grid .cg-day {
        padding: 0.4rem;
        border-radius: 12px;
        text-align: center;
        cursor: pointer;
        transition: var(--ki-transition);
    }

        .calendar-grid .cg-day:hover {
            background: var(--kt-surface-3);
        }

        .calendar-grid .cg-day.today {
            background: var(--kt-primary-700) !important;
            color: #fff;
            font-weight: 900;
            box-shadow: 0 10px 20px rgba(29, 95, 209, 0.18);
        }

        .calendar-grid .cg-day.has-event {
            background: var(--kt-primary-100);
            color: var(--kt-primary-700);
            font-weight: 800;
        }

        .calendar-grid .cg-day.other-month {
            color: #DDD;
        }

.product-grid,
.kanban-board {
    gap: 1rem !important;
}

.approval-preview-box {
    display: grid;
    gap: 0.45rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(29, 95, 209, 0.16);
    border-radius: 15px;
    background: #f6fbf6;
    box-shadow: 0 8px 18px rgba(13, 59, 17, 0.045);
}

    .approval-preview-box strong {
        color: var(--kt-shell-950);
        font-weight: 900;
        font-size: 0.82rem;
    }

#approvalDurationMonths {
    font-weight: 900;
    color: var(--kt-shell-950);
}

    #approvalDurationMonths:focus {
        border-color: var(--kt-primary-700);
        box-shadow: 0 0 0 0.22rem rgba(29, 95, 209, 0.12);
    }

.approval-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.7rem;
}

.approval-summary-item {
    padding: 0.8rem;
    border: 1px solid rgba(29, 95, 209, 0.14);
    border-radius: 15px;
    background: #FFFFFF;
}

    .approval-summary-item span {
        display: block;
        font-size: 0.72rem;
        font-weight: 900;
        color: rgba(13, 59, 17, 0.62);
        margin-bottom: 0.25rem;
    }

    .approval-summary-item strong {
        color: var(--kt-shell-950);
        font-weight: 900;
        font-size: 0.9rem;
    }

.approval-preview-box > div {
    display: flex;
    justify-content: space-between;
    gap: 0.7rem;
}

.approval-preview-box span {
    color: rgba(13, 59, 17, 0.68);
    font-weight: 800;
    font-size: 0.78rem;
}

.permission-line {
    font-size: 0.82rem;
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid #D3DDE9;
    border-radius: 14px;
    background: #F8FAFD;
    font-weight: 800;
    color: #0B243D;
}

.platform-panel-icon,
.permission-role-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: #1D5FD1;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.platform-panel-header p,
.permission-role-head p {
    margin: 0.2rem 0 0;
    color: #667;
    font-size: 0.78rem;
}

.permissions-board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.permission-role-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid #E3E9F1;
    background: rgba(237, 245, 237, 0.38);
}

.permission-role-title {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

.permission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
    padding: 1rem;
}

.permission-tile {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-height: 64px;
    padding: 0.78rem;
    border-radius: 17px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

    .permission-tile:hover {
        transform: translateY(-1px);
        border-color: rgba(29, 95, 209, 0.22);
        box-shadow: 0 12px 24px rgba(10, 27, 47, 0.055);
    }

.permission-text {
    display: grid;
    min-width: 0;
}

    .permission-text strong {
        color: #0B243D;
        font-size: 0.78rem;
        font-weight: 900;
        text-transform: capitalize;
    }

    .permission-text small {
        margin-top: 0.2rem;
        color: #667;
        font-size: 0.68rem;
        overflow-wrap: anywhere;
    }

.permission-actions {
    padding: 0 1rem 1rem;
}

.pos-layout-polished {
    align-items: start !important;
}

.pos-cart-panel-polished {
    max-width: 100% !important;
}


/* ==========================================================
   09. Responsive and accessibility
   ========================================================== */

a:focus-visible {
    outline: 2px solid var(--kt-warning-600);
    outline-offset: 2px;
    border-radius: 2px;
}


/* ==========================================================
   10. Other preserved project selectors
   ========================================================== */

a:hover {
    color: var(--kt-shell-950);
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
    height: auto;
}

.fade-in {
    animation: fadeIn 0.4s ease forwards;
}

.fade-in-up {
    animation: fadeInUp 0.5s ease forwards;
}

.fade-in-down {
    animation: fadeInDown 0.4s ease forwards;
}

.fade-in-left {
    animation: fadeInLeft 0.4s ease forwards;
}

.fade-in-right {
    animation: fadeInRight 0.4s ease forwards;
}

.scale-in {
    animation: scaleIn 0.35s ease forwards;
}

.scale-appear {
    animation: scaleAppear 0.35s ease forwards;
}

.stagger-children > * {
    opacity: 0;
    animation: fadeInUp 0.5s ease forwards;
}

    .stagger-children > *:nth-child(1) {
        animation-delay: 0.05s;
    }

    .stagger-children > *:nth-child(2) {
        animation-delay: 0.10s;
    }

    .stagger-children > *:nth-child(3) {
        animation-delay: 0.15s;
    }

    .stagger-children > *:nth-child(4) {
        animation-delay: 0.20s;
    }

    .stagger-children > *:nth-child(5) {
        animation-delay: 0.25s;
    }

    .stagger-children > *:nth-child(6) {
        animation-delay: 0.30s;
    }

    .stagger-children > *:nth-child(7) {
        animation-delay: 0.35s;
    }

    .stagger-children > *:nth-child(8) {
        animation-delay: 0.40s;
    }

.pulse {
    animation: softPulse 2s ease-in-out infinite;
}

.soft-pulse {
    animation: softPulse 2s ease-in-out infinite;
}

.hover-lift {
    transition: var(--ki-transition);
}

    .hover-lift:hover {
        transform: translateY(-3px);
        box-shadow: var(--ki-card-shadow-hover);
    }

.ki-page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.55rem;
    padding: 0.28rem 0.7rem;
    border: 1px solid rgba(29, 95, 209, 0.12);
    border-radius: var(--kt-radius-pill);
    background: var(--kt-primary-100);
    color: var(--kt-primary-700);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.side-panel-overlay {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(0,0,0,0.35);
    opacity: 0;
    visibility: hidden;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    transition: var(--ki-transition);
}

    .side-panel-overlay.open {
        opacity: 1;
        visibility: visible;
    }

.side-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1045;
    width: 480px;
    max-width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: -4px 0 24px rgba(0,0,0,0.1);
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

    .side-panel.open {
        transform: translateX(0);
    }

.empty-state,
.ki-empty-state {
    padding: 2.5rem 1rem;
    border: 1px dashed #D3DDE9;
    border-radius: 22px;
    background: #FFFFFF;
    color: var(--kt-text-muted);
    text-align: center;
}

    .empty-state .empty-icon,
    .ki-empty-state i {
        display: inline-flex;
        width: 52px;
        height: 52px;
        align-items: center;
        justify-content: center;
        margin-bottom: 0.8rem;
        border-radius: 18px;
        background: var(--kt-primary-100);
        color: rgba(29, 95, 209, 0.55);
        font-size: 1.35rem;
    }

    .empty-state p {
        max-width: 300px;
        margin: 0 auto;
        color: #AAA;
        font-size: 0.84rem;
    }

.action-panel {
    padding: 1.25rem;
    background: var(--kt-surface-3);
}

.scroll-top {
    position: fixed;
    z-index: 999;
    right: 24px;
    bottom: 24px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--kt-primary-700);
    color: #fff;
    box-shadow: 0 4px 16px rgba(29,95,209,0.3);
    cursor: pointer;
    font-size: 1.1rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: var(--ki-transition);
}

    .scroll-top.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .scroll-top:hover {
        background: var(--kt-shell-950);
        transform: translateY(-3px);
    }

.preview-bar {
    height: 8px;
    margin-bottom: 12px;
    border-radius: 4px;
}

    .preview-bar.green {
        width: 60%;
        background: var(--kt-primary-700);
    }

    .preview-bar.amber {
        width: 45%;
        background: var(--kt-warning-600);
    }

    .preview-bar.gray {
        width: 75%;
        background: var(--kt-surface-3);
    }

    .preview-bar.warm {
        width: 35%;
        background: #D3DDE9;
    }

.section-title {
    margin-bottom: 0.35rem;
    font-size: 1.6rem;
    font-weight: 900;
}

.section-subtitle {
    margin-bottom: 2.5rem;
    color: var(--kt-text-muted);
    font-size: 0.9rem;
}

.preview-grid {
    display: grid;
    gap: 1rem;
}

.preview-note ul {
    padding-left: 1.2rem;
}

.ki-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.ki-detail-item {
    padding: 0.8rem;
    border-radius: 16px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
}

.ki-detail-label {
    display: block;
    color: #777;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

.ki-detail-value {
    word-break: break-word;
    color: #0B243D;
    font-weight: 900;
}

.product-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr));
}

.collapse-icon.rotated,
.rotate-icon.rotated {
    transform: rotate(180deg);
}

.compact-detail-grid {
    gap: 0.7rem !important;
}

    .compact-detail-grid .ki-detail-item {
        padding: 0.72rem 0.8rem !important;
        border-radius: 14px !important;
    }

.compact-empty {
    padding: 1.4rem !important;
}

.page-subtitle {
    margin: 0;
    color: #6f6f6f;
}

.metric-icon-soft {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: #1D5FD1;
    font-size: 1.25rem;
    flex: 0 0 auto;
}

.metric-number {
    color: #0B243D;
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1;
}

.metric-label {
    color: #667;
    font-size: 0.8rem;
    font-weight: 800;
    margin-top: 0.25rem;
}

.platform-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.38rem 0.7rem;
    border-radius: 999px;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: #0B243D;
    font-size: 0.74rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.platform-hero-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.platform-summary-pill.muted {
    background: #fff8ed;
    border-color: rgba(183, 121, 31, 0.20);
    color: #8a4d00;
}

.platform-users-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
    gap: 1rem;
    align-items: start;
}

.platform-panel-header {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem;
    border-bottom: 1px solid #E3E9F1;
    background: rgba(237, 245, 237, 0.38);
}

.platform-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.82rem;
    padding: 1rem;
}

.platform-field {
    min-width: 0;
}

    .platform-field.span-2,
    .platform-submit-btn.span-2 {
        grid-column: span 2;
    }

.platform-submit-btn {
    min-height: 48px;
    border-radius: 16px;
    font-weight: 900;
}

.platform-user-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

    .platform-user-main p {
        margin: 0.18rem 0 0;
        color: #667;
        font-size: 0.8rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.platform-user-tags {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-top: 0.48rem;
}

.platform-soft-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.5rem;
    border-radius: 999px;
    background: #FFFFFF;
    border: 1px solid #D3DDE9;
    color: #506450;
    font-size: 0.68rem;
    font-weight: 800;
}

.platform-user-actions {
    display: grid;
    gap: 0.55rem;
}

.platform-role-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
}

.platform-status-btn {
    width: 100%;
    min-height: 38px;
    border-radius: 13px;
    font-weight: 900;
}

.category-switch-box {
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
}

.category-preview-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

.category-preview-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 1.7rem;
    box-shadow: 0 12px 26px rgba(29, 95, 209, 0.09);
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 1rem;
}

.category-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 1.35rem;
    box-shadow: 0 10px 22px rgba(29, 95, 209, 0.08);
}

.category-meta-row {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid #E3E9F1;
    border-bottom: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

    .category-meta-row span {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

.category-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-wrap: wrap;
    padding: 0.85rem 1rem 1rem;
}

html,
body {
    width: 100%;
    max-width: 100%;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background-color: var(--ki-shell-bg) !important;
}

    body.kitunzi-app-shell {
        min-width: 0;
    }

.row {
    min-width: 0;
}

    .row > * {
        min-width: 0;
    }

.brand-logo-wide-wrap {
    min-width: 0;
    display: inline-flex;
    align-items: center;
}

img,
svg,
video,
canvas {
    max-width: 100% !important;
    height: auto;
}


/* ==========================================================
   11. Keyframes and motion helpers
   ========================================================== */

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes scaleAppear {
    from {
        opacity: 0;
        transform: scale(0.92);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes pageFadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ki-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes softPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.03);
        opacity: 0.85;
    }
}


/* ==========================================================
   12. Responsive rules
   ========================================================== */

@media (max-width: 1100px) {

    .kitunzi-auth-shell,
    .kitunzi-auth-register-shell {
        grid-template-columns: 1fr;
    }

    .auth-showcase {
        display: none;
    }

    .auth-form-stage,
    .auth-form-stage-register {
        align-items: center;
        justify-content: flex-start;
        padding: 1rem;
    }

    .auth-mobile-brand {
        display: block;
    }

    .auth-form-card,
    .auth-form-card-register {
        width: min(100%, 900px);
        max-width: 900px;
    }
}

@media (max-width: 991.98px) {

    body {
        overflow-x: hidden;
    }

        body.sidebar-open {
            overflow: hidden;
            touch-action: none;
        }

    .sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        height: 100vh !important;
        transition: transform 0.25s ease, box-shadow 0.25s ease !important;
        width: min(88vw, 330px) !important;
        max-width: 330px !important;
        transform: translateX(-105%) !important;
        z-index: 1080 !important;
        box-shadow: none !important;
    }

        .sidebar.open {
            transform: translateX(0) !important;
            box-shadow: 16px 0 44px rgba(0, 0, 0, 0.22) !important;
        }

    .sidebar-header {
        min-height: 86px !important;
        padding: 0.75rem !important;
    }

    .sidebar-brand,
    .sidebar-brand-with-logo {
        width: auto !important;
        flex: 1 1 auto !important;
        max-width: calc(100% - 48px) !important;
        min-width: 0 !important;
    }

    .brand-logo-wide-wrap {
        height: 60px !important;
        border-radius: 16px !important;
        padding: 0.35rem 0.55rem !important;
    }

    .sidebar-logo-wide {
        height: 44px !important;
        max-width: 205px !important;
    }

    .sidebar-close {
        flex: 0 0 36px !important;
        z-index: 1090 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 50%;
        background: var(--kt-surface-3);
        color: var(--kt-text);
    }

    .sidebar-overlay {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        background: rgba(0, 0, 0, 0.45) !important;
        z-index: 1070 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 0.25s ease, visibility 0.25s ease !important;
    }

        .sidebar-overlay.show,
        .sidebar-overlay.open {
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
        }

    .topbar {
        z-index: 1060 !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        left: 0 !important;
        right: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "left right"
            "center center" !important;
        gap: 0.6rem 0.75rem !important;
        height: auto !important;
        min-height: var(--kt-topbar-height) !important;
        padding: 0.55rem var(--ki-safe-page-x) !important;
    }

    .topbar-left {
        gap: 0.65rem !important;
        flex: 1 1 calc(100% - 112px) !important;
        order: 1;
        grid-area: left;
        width: 100%;
        min-width: 0;
    }

    .topbar-right {
        min-width: 0 !important;
        gap: 0.45rem !important;
        flex: 0 0 auto !important;
        order: 2;
        grid-area: right;
        justify-content: flex-end !important;
    }

    .sidebar-toggle-mobile {
        display: inline-flex !important;
        flex: 0 0 42px !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .topbar-title-block,
    .user-meta {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    
    .user-name,
    .user-details,
    .user-bar {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .breadcrumb-ki {
        max-width: 100% !important;
        flex-wrap: nowrap !important;
        gap: 0.15rem !important;
        overflow: hidden !important;
    }

        .breadcrumb-ki .breadcrumb-item {
            min-width: 0 !important;
            max-width: 145px !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
        }

            .breadcrumb-ki .breadcrumb-item.active {
                max-width: 170px !important;
            }

    .user-menu {
        min-width: 0 !important;
        max-width: 230px !important;
        padding: 0.35rem 0.55rem 0.35rem 0.35rem !important;
    }

    .user-meta {
        max-width: 165px !important;
    }

    .dropdown-menu,
    .user-dropdown-menu {
        max-width: calc(100vw - 1.5rem) !important;
        min-width: min(300px, calc(100vw - 1.5rem)) !important;
        overflow: hidden !important;
        border-radius: 16px !important;
    }

    .main-wrapper,
    .footer-ki {
        margin-left: 0 !important;
    }

    .main-content {
        padding: 1rem var(--ki-safe-page-x) 1.35rem !important;
    }

    .page-header,
    .ki-page-hero {
        align-items: flex-start !important;
        gap: 0.95rem !important;
        padding: 1.05rem !important;
        border-radius: 20px;
    }

        .page-header .btn,
        .page-header .btn-ki,
        .page-header > div:last-child,
        .page-header .d-flex {
            width: 100%;
        }

        .page-header .btn,
        .page-header .btn-ki {
            justify-content: center;
        }

    .ki-detail-grid {
        grid-template-columns: 1fr;
    }

    .card-ki .card-header,
    .ki-card-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0.7rem;
    }

    .pos-layout {
        flex-direction: column !important;
    }

    .pos-cart-panel {
        width: 100% !important;
        position: static !important;
    }

    .pos-cart-items {
        max-height: 300px;
    }

    .product-grid {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    }

    .kanban-board {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tooltip {
        max-width: min(260px, calc(100vw - 2rem)) !important;
        pointer-events: none !important;
        z-index: 1200 !important;
    }

    .tooltip-inner {
        max-width: min(240px, calc(100vw - 2rem)) !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        border-radius: 10px !important;
        padding: 0.45rem 0.65rem !important;
        font-size: 0.78rem !important;
        line-height: 1.35 !important;
    }

    .topbar-center {
        flex: 1 1 100% !important;
        order: 3;
        grid-area: center;
        width: 100%;
        justify-content: stretch !important;
    }

    .topbar-bar-context-card {
        width: 100% !important;
        justify-content: flex-start !important;
        min-height: 50px !important;
        border-radius: 18px !important;
        padding: 0.55rem 0.8rem !important;
    }

    .topbar-bar-text strong {
        font-size: 0.96rem;
        max-width: calc(100vw - 125px) !important;
    }

    .topbar-bar-text small {
        row-gap: 0.15rem;
        font-size: 0.74rem;
        flex-wrap: wrap;
        white-space: normal !important;
        line-height: 1.25;
    }

    .approval-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }



    .sidebar.open,
    body.sidebar-open .sidebar {
        transform: translateX(0) !important;
        box-shadow: 16px 0 44px rgba(0, 0, 0, 0.22) !important;
    }

    .sidebar-overlay.show,
    .sidebar-overlay.open,
    body.sidebar-open .sidebar-overlay {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .main-wrapper {
        padding-top: var(--kt-topbar-height) !important;
    }

    .footer-ki {
        padding: 0.9rem var(--ki-safe-page-x) !important;
        justify-content: center;
        text-align: center;
    }

    .side-panel {
        width: min(100vw, 520px) !important;
    }

    .page-header,
    .ki-page-hero,
    .card-ki .card-header,
    .ki-card-header {
        flex-direction: column;
        align-items: stretch !important;
    }

        .page-header .btn,
        .page-header .btn-ki,
        .ki-action-row .btn,
        .wizard-actions .btn {
            width: 100%;
            justify-content: center;
        }
}

@media (max-width: 767.98px) {

    .auth-form-stage,
    .auth-form-stage-register {
        padding: 0.85rem;
    }

    .auth-form-card,
    .auth-form-card-register {
        border-radius: 22px;
        padding: 1rem;
    }

        .auth-form-card::before {
            top: 10px;
            left: 16px;
            right: 16px;
        }

    .auth-card-header {
        align-items: center;
        gap: 0.75rem;
    }

    .auth-card-icon {
        width: 46px;
        height: 46px;
        border-radius: 15px;
    }

    .auth-card-header h2 {
        font-size: 1.35rem;
    }

    .auth-form-grid,
    .preview-card dl {
        grid-template-columns: 1fr;
    }

        .auth-field.span-2,
        .auth-form-grid .span-2 {
            grid-column: auto !important;
        }

    .auth-trust-row,
    .wizard-steps {
        grid-template-columns: 1fr;
    }

    .auth-inline-row,
    .wizard-actions,
    .ki-action-row {
        align-items: stretch;
        flex-direction: column;
        gap: 0.6rem;
    }

        .wizard-actions .btn,
        .ki-action-row .btn {
            width: 100%;
            min-width: 0;
        }

    .platform-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .platform-hero-actions {
        justify-content: flex-start;
    }

    .platform-form-grid,
    .permission-grid {
        grid-template-columns: 1fr;
    }

    .platform-field.span-2,
    .platform-submit-btn.span-2 {
        grid-column: span 1;
    }

    .platform-user-card {
        grid-template-columns: 1fr;
    }

    .platform-role-form {
        grid-template-columns: 1fr;
    }



    h1,
    .display-1 {
        font-size: clamp(1.35rem, 8vw, 2rem) !important;
    }

    h2,
    .display-2 {
        font-size: clamp(1.2rem, 6vw, 1.55rem) !important;
    }

    .lead {
        font-size: 0.95rem;
    }

    .topbar-page-title {
        font-size: 1rem !important;
    }

    .breadcrumb-ki {
        font-size: 0.7rem !important;
    }

        .breadcrumb-ki .breadcrumb-item:not(:first-child):not(.active) {
            display: none !important;
        }

    .topbar-bar-icon {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
        border-radius: 13px !important;
    }

    .topbar-bar-text strong {
        font-size: 0.9rem !important;
    }

    .topbar-bar-text small {
        font-size: 0.7rem !important;
        gap: 0.3rem !important;
    }

    .topbar-dot-separator {
        display: none !important;
    }

    .user-menu {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        padding: 0 !important;
        justify-content: center !important;
        border-radius: 50% !important;
    }

        .user-menu::after,
        .user-meta {
            display: none !important;
        }

    .avatar {
        width: 40px !important;
        height: 40px !important;
    }

    .topbar-btn {
        width: 42px !important;
        height: 42px !important;
    }

    .page-header,
    .ki-page-hero {
        padding: 1rem !important;
        border-radius: 18px !important;
    }

    .card-ki .card-body,
    .ki-card-body,
    .side-panel .panel-body {
        padding: 1rem !important;
    }

    .toast-ki {
        left: 0.75rem !important;
        right: 0.75rem !important;
        top: 0.75rem !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
    }

    .auth-page {
        display: block;
    }

    .auth-left,
    .auth-form-stage,
    .auth-form-stage-register {
        width: 100%;
        padding-inline: 0.85rem !important;
    }

    .auth-form-grid,
    .preview-card dl,
    .ki-detail-grid {
        grid-template-columns: 1fr !important;
    }

    .approval-item,
    .cashier-card,
    .category-meta-row {
        align-items: flex-start;
        flex-direction: column;
    }

        .approval-item .ai-actions,
        .category-actions,
        .wizard-actions,
        .ki-action-row {
            width: 100%;
        }

            .approval-item .ai-actions .btn,
            .category-actions .btn,
            .wizard-actions .btn,
            .ki-action-row .btn {
                flex: 1 1 100%;
            }

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kanban-board {
        grid-template-columns: 1fr !important;
    }

    .calendar-grid {
        font-size: 0.68rem;
        padding: 0.5rem;
    }

        .calendar-grid .cg-header,
        .calendar-grid .cg-day {
            padding: 0.28rem 0.15rem;
        }

    .main-content {
        padding: 0.75rem !important;
    }

    .dashboard-hero,
    .reports-hero,
    .pos-topbar,
    .sale-details-hero,
    .page-header,
    .topbar {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 0.75rem !important;
    }

        .dashboard-hero > *,
        .reports-hero > *,
        .pos-topbar > *,
        .sale-details-hero > *,
        .page-header > * {
            width: 100% !important;
        }

    .reports-grid,
    .reports-stat-grid,
    .dashboard-stat-grid,
    .dashboard-stat-grid-extended,
    .quick-action-grid,
    .product-grid-polished,
    .pos-active-deals,
    .session-money-grid,
    .close-summary-box,
    .my-sales-stat-grid {
        grid-template-columns: 1fr !important;
    }

    .btn,
    .btn-ki,
    .btn-ki-sm {
        min-height: 38px !important;
        white-space: normal !important;
    }

    .table-ki:not(.no-mobile-card) thead {
        display: none !important;
    }

    .table-ki:not(.no-mobile-card),
    .table-ki:not(.no-mobile-card) tbody,
    .table-ki:not(.no-mobile-card) tr,
    .table-ki:not(.no-mobile-card) td {
        display: block !important;
        width: 100% !important;
    }

        .table-ki:not(.no-mobile-card) tr {
            margin: 0.65rem !important;
            padding: 0.7rem !important;
            border: 1px solid var(--kt-border) !important;
            border-radius: 14px !important;
            background: var(--kt-surface) !important;
        }

        .table-ki:not(.no-mobile-card) td {
            border: 0 !important;
            padding: 0.35rem 0 !important;
            text-align: left !important;
        }

            .table-ki:not(.no-mobile-card) td::before {
                content: attr(data-label);
                display: block;
                color: var(--kt-text-muted, #56667C);
                font-size: 0.68rem;
                font-weight: 900;
                text-transform: uppercase;
                margin-bottom: 0.1rem;
            }
}

@media (max-width: 575.98px) {



    .topbar {
        min-height: 72px !important;
        padding: 0.5rem 0.75rem !important;
    }

    .topbar-page-title {
        font-size: 0.92rem !important;
    }

    .breadcrumb-ki {
        display: flex !important;
        font-size: 0.68rem !important;
    }

        .breadcrumb-ki .breadcrumb-item:nth-child(2) {
            display: none !important;
        }

        .breadcrumb-ki .breadcrumb-item.active {
            max-width: 165px !important;
            padding: 0.1rem 0.45rem !important;
            font-size: 0.68rem !important;
        }

    .user-menu {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        padding: 0 !important;
        justify-content: center !important;
        border-radius: 50% !important;
    }

        .user-menu::after,
        .user-meta {
            display: none !important;
        }

    .avatar {
        width: 40px !important;
        height: 40px !important;
    }

    .topbar-btn {
        width: 42px !important;
        height: 42px !important;
    }

    .main-content {
        padding: 0.95rem 1rem 1.25rem !important;
    }

    .page-header {
        padding: 1rem !important;
        border-radius: 20px;
    }

        .page-header h1,
        .ki-page-title {
            font-size: 1.25rem;
        }

    .card-ki .card-body {
        padding: 1rem !important;
    }

    .stat-card {
        min-height: 98px;
    }

        .stat-card .stat-icon {
            width: 40px;
            height: 40px;
            font-size: 1.1rem;
        }

    .btn-ki {
        min-height: 40px;
        padding: 0.5rem 1rem;
    }

    .btn-ki-sm {
        min-height: 34px;
        padding: 0.4rem 0.75rem;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.4rem;
    }

    .product-card-sm {
        padding: 0.5rem;
    }

        .product-card-sm .pcs-name,
        .quick-action-card .qac-text {
            font-size: 0.72rem;
        }

    .quick-action-card {
        padding: 0.6rem;
    }

    .category-chips {
        gap: 0.3rem;
    }

    .category-chip {
        padding: 0.25rem 0.6rem;
        font-size: 0.7rem;
    }

    .kanban-board {
        grid-template-columns: 1fr !important;
    }

    .room-card .rc-number {
        font-size: 1.2rem;
    }

    .room-type-card {
        padding: 1rem;
    }

    .table thead th,
    .table tbody td,
    .table-ki thead th,
    .table-ki tbody td {
        padding: 0.7rem 0.8rem !important;
    }

    .auth-form-stage,
    .auth-form-stage-register {
        padding: 0.65rem;
    }

    .auth-form-card,
    .auth-form-card-register {
        padding: 0.85rem;
        border-radius: 20px;
    }

    .auth-brand-mark {
        width: 58px;
        height: 58px;
        border-radius: 18px;
    }

        .auth-brand-mark img {
            width: 40px;
            height: 40px;
        }

    .auth-brand-mark-wide,
    .auth-brand-logo-only .auth-brand-mark-wide {
        width: 190px;
        height: 70px;
    }

        .auth-brand-mark-wide img,
        .auth-brand-logo-only .auth-brand-mark-wide img {
            width: 170px;
            height: 54px;
        }

    .auth-brand-text strong {
        font-size: 1.28rem;
    }

    .auth-brand-text small {
        font-size: 0.76rem;
    }

    .auth-input-wrap .form-control,
    .auth-input-wrap .form-select {
        min-height: 50px;
        border-radius: 15px !important;
    }

    .footer-ki {
        position: static !important;
        min-height: auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 0.35rem !important;
        padding: 0.75rem 1rem !important;
    }

    .footer-links {
        width: 100% !important;
        gap: 0.5rem !important;
        justify-content: flex-start !important;
    }

    .card-ki,
    .ki-card,
    .stat-card,
    .quick-action-card,
    .product-card-sm,
    .bar-card,
    .room-card,
    .room-type-card,
    .booking-summary-card,
    .report-card,
    .kanban-column,
    .kanban-room-card {
        border-radius: 18px !important;
    }

    .page-header,
    .ki-page-hero {
        border-radius: 18px !important;
    }

    .topbar-bar-context-card {
        gap: 0.65rem;
        padding: 0.55rem 0.75rem;
        border-radius: 17px;
        min-height: 50px;
    }

    .topbar-bar-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 12px;
        font-size: 1rem;
    }

    .topbar-bar-text strong {
        font-size: 0.88rem;
        max-width: calc(100vw - 118px);
    }

    .topbar-bar-text small {
        font-size: 0.68rem;
    }

    .approval-summary-grid {
        grid-template-columns: 1fr;
    }

    .compact-card .card-body {
        padding: 0.85rem !important;
    }

    .category-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 992px) {

    .sidebar {
        transform: none !important;
    }

    .sidebar-overlay,
    .sidebar-close {
        display: none !important;
    }

    body.sidebar-open {
        overflow: auto !important;
    }
}

@media (max-width: 1199.98px) {

    .topbar {
        grid-template-columns: minmax(230px, 0.9fr) minmax(300px, 1.2fr) minmax(190px, auto) !important;
        gap: 0.75rem !important;
        padding-inline: 1rem !important;
    }

    .topbar-bar-context-card {
        width: min(100%, 720px);
        padding: 0.65rem 1rem;
        min-height: 52px;
    }

    .topbar-bar-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: 1.1rem;
    }

    .topbar-bar-text strong {
        max-width: 520px;
        font-size: 1rem;
    }

    .topbar-bar-text small {
        font-size: 0.78rem;
    }

    .platform-users-layout {
        grid-template-columns: 1fr;
    }

    .permissions-board {
        grid-template-columns: 1fr;
    }

    .category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }



    .main-content {
        padding-inline: var(--ki-safe-page-x);
        padding: 1rem !important;
    }

    .topbar-right .user-menu {
        max-width: 250px !important;
    }

    .reports-grid,
    .dashboard-stat-grid,
    .dashboard-stat-grid-extended,
    .quick-action-grid,
    .pos-layout-polished,
    .session-workflow-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .pos-layout-polished,
    .session-workflow-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {

    .ki-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1400px) {

    .main-content {
        padding-inline: clamp(2rem, 3vw, 3rem);
    }

    .topbar {
        grid-template-columns: minmax(320px, 0.9fr) minmax(560px, 1.6fr) minmax(260px, auto) !important;
    }
}

@media (max-width: 380px) {



    .topbar {
        gap: 0.45rem !important;
    }

    .topbar-page-title {
        font-size: 0.9rem !important;
    }

    .breadcrumb-ki {
        display: none !important;
    }

    .topbar-bar-context-card {
        padding: 0.5rem 0.65rem !important;
        gap: 0.55rem !important;
    }

    .topbar-bar-icon {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
        font-size: 0.95rem !important;
    }

    .topbar-bar-text strong {
        max-width: calc(100vw - 105px) !important;
        font-size: 0.82rem !important;
    }

    .topbar-bar-text small {
        font-size: 0.66rem !important;
    }

    .product-grid {
        grid-template-columns: 1fr !important;
    }

    .table,
    .table-ki {
        min-width: 640px;
    }
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}

@media (max-width: 420px) {

    .main-content {
        padding: 0.55rem !important;
    }

    .card-body,
    .card-ki .card-body,
    .stat-card,
    .dashboard-stat-card,
    .dashboard-small-stat {
        padding: 0.75rem !important;
    }
}


/* ==========================================================
   13. Final unified cleanup: no gradients, no decorative shapes
   ========================================================== */

/* Flat backgrounds only. */
.dashboard-hero,
.reports-hero,
.sale-details-hero,
.pos-topbar,
.page-header,
.ki-page-hero,
.hero-section,
.landing-hero,
.auth-page,
.auth-showcase,
.auth-card,
.auth-right,
.auth-form-stage,
.auth-form-stage-register,
.main-content,
.card-ki,
.ki-card,
.card,
.stat-card,
.dashboard-stat-card,
.dashboard-small-stat,
.reports-stat,
.my-sales-stat,
.platform-stat-card,
.summary-card,
.kpi-card,
.revenue-card,
.report-card,
.room-card,
.room-type-card,
.booking-summary-card,
.quick-action-card,
.product-card-sm,
.pos-deal-card,
.deal-preview-card,
.chart-placeholder,
.card-header,
.reports-card-header,
.dashboard-card .card-header,
.modal-header,
.modal-footer,
.kanban-column,
.auth-feature-card,
.auth-insight-panel,
.auth-trust-chip,
.auth-callout {
    background-image: none !important;
}

.main-content,
.auth-page,
.auth-form-stage,
.auth-form-stage-register {
    background-color: var(--kt-canvas) !important;
}

.card-ki,
.ki-card,
.card,
.stat-card,
.dashboard-stat-card,
.dashboard-small-stat,
.reports-stat,
.my-sales-stat,
.platform-stat-card,
.summary-card,
.kpi-card,
.report-card,
.room-card,
.room-type-card,
.booking-summary-card,
.quick-action-card,
.product-card-sm,
.pos-deal-card,
.deal-preview-card,
.chart-placeholder,
.auth-card,
.auth-form-card,
.auth-section-card,
.modal-content,
.dropdown-menu,
.side-panel,
.table-responsive {
    background-color: var(--kt-surface) !important;
    border: 1px solid var(--kt-border) !important;
    box-shadow: var(--ki-card-shadow) !important;
}

    /* Remove decorative circular patches, background rings and watermark icons. */
    .page-header::after,
    .ki-page-hero::after,
    .hero-section::before,
    .hero-section::after,
    .auth-showcase::before,
    .auth-showcase::after,
    .stat-card::after,
    .sidebar-link.active::after,
    .room-card .rc-bg-icon,
    .stat-card .stat-bg-icon,
    .card-ki .stat-bg-icon,
    .ki-card .stat-bg-icon,
    [class*="decorative-circle"],
    [class*="circle-patch"],
    [class*="shape-ring"],
    [class*="bg-icon"],
    [class*="watermark"] {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* Keep clean accent bars only. */
    .page-header::before,
    .ki-page-hero::before,
    .card-ki::before,
    .ki-card::before,
    .reports-card::before,
    .reports-filter-card::before,
    .my-sales-table-card::before,
    .receipt-card::before {
        background: var(--kt-primary-700) !important;
        background-image: none !important;
    }

/* Unified summary card pattern. */
.stat-card,
.dashboard-stat-card,
.dashboard-small-stat,
.reports-stat,
.my-sales-stat,
.platform-stat-card,
.summary-card,
.kpi-card {
    min-height: 108px !important;
    padding: 1rem !important;
    border-radius: 18px !important;
    border-color: rgba(29, 95, 209, 0.16) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 0.65rem !important;
    overflow: hidden !important;
}

    .stat-card::before,
    .dashboard-stat-card::before,
    .dashboard-small-stat::before,
    .reports-stat::before,
    .my-sales-stat::before,
    .platform-stat-card::before,
    .summary-card::before,
    .kpi-card::before {
        background: var(--kt-primary-700) !important;
        background-image: none !important;
    }

.stat-icon,
.report-icon,
.my-sales-stat-icon-box,
.summary-icon,
.qac-icon,
.pcs-icon,
.empty-icon,
.dashboard-empty-state i,
.auth-card-icon,
.auth-section-icon,
.room-type-card .rtc-icon,
.product-card-sm .pcs-icon,
.ki-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px !important;
    background-color: var(--kt-primary-100) !important;
    color: var(--kt-primary-700) !important;
    border: 1px solid rgba(29, 95, 209, 0.14) !important;
    box-shadow: none !important;
}

.stat-value,
.reports-stat-value,
.my-sales-stat-value,
.dashboard-small-stat .stat-value,
.summary-value {
    color: var(--kt-shell-950) !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
}

.stat-label,
.reports-stat-label,
.my-sales-stat-label,
.summary-label,
.card-subtitle,
.text-muted-custom {
    color: var(--kt-text-muted) !important;
    font-weight: 800 !important;
}

/* Rounded-square controls instead of decorative circles. */
.topbar-btn,
.scroll-top,
.avatar,
.topbar-profile .avatar,
.cashier-card .cc-avatar,
.workflow-step .step-number,
.wizard-step span,
.wizard-step-indicator .ws-number,
.toast-ki .toast-icon {
    border-radius: 12px !important;
}

/* Pills/badges remain pill-shaped because they communicate status. */
.badge,
.badge-ki,
.stock-badge,
.status-pill,
.ki-status-pill,
.link-badge,
.category-chip,
.day-chip {
    border-radius: 999px !important;
}

/* Clean shell consistency. */
.sidebar,
.topbar,
.footer-ki,
.public-navbar,
.landing-navbar {
    background-color: var(--kt-surface) !important;
    background-image: none !important;
    border-color: var(--kt-border) !important;
}

.sidebar-link,
.sidebar-menu-toggle {
    border-radius: 12px !important;
}

    .sidebar-link:hover,
    .sidebar-menu-toggle:hover,
    .sidebar-link.active {
        background-color: var(--kt-primary-100) !important;
        color: var(--kt-shell-950) !important;
    }

/* Buttons: flat, consistent, no extra decoration. */
.btn-ki::after,
.btn-ki.loading::before {
    background-image: none !important;
}

.btn-ki,
.btn {
    box-shadow: none !important;
}

    .btn-ki:hover,
    .btn:hover {
        box-shadow: none !important;
    }

/* Strong overflow protection. */
html,
body,
main,
.main-content,
.main-wrapper,
.card-body,
.row,
[class*="col-"] {
    min-width: 0 !important;
}

html,
body {
    overflow-x: hidden !important;
}
/* ==========================================================
   KITUNZI AUTH VISIBILITY + REGISTER PAGE FIX
   Purpose:
   - Make Login, Forgot Password, Reset Password, Access Denied and Register visible.
   - RegisterBar uses full width instead of wasting space on the left showcase.
   - No gradients, no circles, no decorative patches.
   ========================================================== */

.auth-page {
    display: block !important;
    min-height: 100vh !important;
    width: 100% !important;
    overflow-x: hidden !important;
    background: #F7F9FC !important;
    color: var(--kt-text, #1F2B3D) !important;
}

.kitunzi-auth-shell {
    width: 100% !important;
    min-height: 100vh !important;
    display: grid !important;
    grid-template-columns: minmax(360px, 32%) minmax(0, 1fr) !important;
    background: #F7F9FC !important;
    overflow-x: hidden !important;
}

.kitunzi-auth-register-shell {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-height: 100vh !important;
    background: #F7F9FC !important;
}

    .auth-register-page .auth-showcase,
    .kitunzi-auth-register-shell .auth-showcase {
        display: none !important;
    }

/* Remove decorative circles, rings and gradient patches on auth pages */
.auth-page *,
.auth-page *::before,
.auth-page *::after {
    background-image: none !important;
}

.auth-showcase::before,
.auth-showcase::after,
.auth-form-card::after,
.auth-section-card::after,
.auth-card-icon::after,
.auth-section-icon::after,
.auth-brand-mark::after,
.auth-state-icon::after,
[class*="glow"],
[class*="circle"],
[class*="ring"],
[class*="patch"],
[class*="shape"] {
    content: none !important;
    display: none !important;
}

/* Left login/forgot/reset showcase */
.auth-showcase {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    overflow: hidden !important;
    background: #1D5FD1 !important;
    color: #ffffff !important;
}

    .auth-showcase h1,
    .auth-showcase p,
    .auth-showcase span,
    .auth-showcase strong,
    .auth-showcase small,
    .auth-showcase i {
        color: #ffffff !important;
    }

.auth-showcase-top,
.auth-showcase-footer {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    flex-wrap: wrap !important;
}

.auth-showcase-top {
    justify-content: space-between !important;
}

.auth-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    text-decoration: none !important;
}

.auth-brand-mark {
    width: 76px !important;
    height: 76px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(29, 95, 209, 0.16) !important;
    box-shadow: 0 10px 24px rgba(13, 59, 17, 0.10) !important;
}

    .auth-brand-mark img {
        max-width: 88% !important;
        max-height: 88% !important;
        object-fit: contain !important;
    }

.auth-brand-mark-wide {
    width: 250px !important;
    height: 86px !important;
    padding: 0.45rem 0.75rem !important;
}

    .auth-brand-mark-wide img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

.auth-country-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    padding: 0.5rem 0.85rem !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.auth-showcase-content {
    max-width: 560px !important;
    min-width: 0 !important;
}

    .auth-showcase-content h1 {
        margin: 1rem 0 0.85rem !important;
        font-size: clamp(2rem, 4vw, 4rem) !important;
        line-height: 1 !important;
        font-weight: 950 !important;
        letter-spacing: -0.05em !important;
    }

    .auth-showcase-content p {
        max-width: 520px !important;
        margin: 0 0 1.25rem !important;
        font-size: 0.96rem !important;
        line-height: 1.65 !important;
    }

.auth-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.8rem !important;
}

.auth-feature-card {
    min-width: 0 !important;
    min-height: 68px !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
    padding: 0.85rem !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.20) !important;
    box-shadow: none !important;
}

    .auth-feature-card i {
        width: 36px !important;
        height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, 0.16) !important;
        color: #FFF5DB !important;
    }

    .auth-feature-card span {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        color: #ffffff !important;
        font-size: 0.84rem !important;
        font-weight: 850 !important;
    }

.auth-showcase-footer {
    color: rgba(255, 255, 255, 0.90) !important;
    font-size: 0.78rem !important;
}

/* Form side */
.auth-form-stage,
.auth-form-stage-register {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    padding: clamp(0.8rem, 2vw, 2rem) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #F7F9FC !important;
}

.auth-form-stage-register {
    justify-content: flex-start !important;
}

.auth-mobile-brand {
    display: none !important;
    width: min(100%, 1000px) !important;
    margin-bottom: 0.75rem !important;
    justify-content: center !important;
}

.auth-register-page .auth-mobile-brand {
    display: flex !important;
}

.auth-form-card {
    position: relative !important;
    width: min(100%, 620px) !important;
    max-width: 100% !important;
    padding: clamp(1rem, 2vw, 1.8rem) !important;
    border-radius: 24px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(29, 95, 209, 0.16) !important;
    box-shadow: 0 16px 34px rgba(13, 59, 17, 0.07) !important;
    overflow: visible !important;
}

.auth-form-card-register {
    width: min(100%, 1280px) !important;
    max-width: 1280px !important;
    min-height: auto !important;
    padding: clamp(1rem, 1.5vw, 1.5rem) !important;
}

.auth-form-card::before {
    display: none !important;
    content: none !important;
}

.auth-card-header {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.9rem !important;
    padding-top: 0.9rem !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1rem !important;
    border-bottom: 1px solid var(--kt-border, #D3DDE9) !important;
}

    .auth-card-header > div {
        min-width: 0 !important;
    }

    .auth-card-header h2 {
        margin: 0 !important;
        color: var(--kt-shell-950, #071A2D) !important;
        font-size: clamp(1.35rem, 2vw, 2rem) !important;
        font-weight: 950 !important;
        line-height: 1.1 !important;
        overflow-wrap: anywhere !important;
    }

    .auth-card-header p {
        margin: 0.2rem 0 0 !important;
        color: var(--kt-text-muted, #56667C) !important;
        font-size: 0.9rem !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }

.auth-card-icon,
.auth-section-icon,
.auth-state-icon,
.register-step-icon {
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    border-radius: 14px !important;
    background: var(--kt-primary-100, #EAF1FF) !important;
    border: 1px solid rgba(29, 95, 209, 0.14) !important;
    color: var(--kt-primary-700, #1D5FD1) !important;
    box-shadow: none !important;
}

/* Register form layout */
.auth-register-shell,
.auth-register-landscape-shell,
.auth-register-landscape-form,
.register-landscape-grid,
.register-step-panel,
.register-form-panel,
.auth-section-card,
.wizard-panel,
.wizard-panel.active {
    min-width: 0 !important;
    max-width: 100% !important;
}

.auth-register-landscape-form {
    width: 100% !important;
}

.register-landscape-grid {
    display: grid !important;
    grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: stretch !important;
}

.register-step-panel,
.register-form-panel,
.auth-section-card {
    border-radius: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(29, 95, 209, 0.14) !important;
    box-shadow: 0 10px 24px rgba(13, 59, 17, 0.055) !important;
}

.register-step-panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    padding: 1rem !important;
}

.register-form-panel {
    overflow: visible !important;
}

.auth-section-card {
    padding: clamp(1rem, 1.4vw, 1.35rem) !important;
}

.auth-section-title {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.85rem !important;
    padding-bottom: 0.9rem !important;
    margin-bottom: 1rem !important;
    border-bottom: 1px solid var(--kt-border, #D3DDE9) !important;
}

    .auth-section-title > div {
        min-width: 0 !important;
    }

    .auth-section-title h3 {
        margin: 0 !important;
        color: var(--kt-shell-950, #071A2D) !important;
        font-size: 1.05rem !important;
        font-weight: 950 !important;
    }

    .auth-section-title p {
        margin: 0.18rem 0 0 !important;
        color: var(--kt-text-muted, #56667C) !important;
        font-size: 0.82rem !important;
    }

.auth-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.95rem !important;
}

.auth-field,
.auth-input-wrap,
.input-group,
.input-group-ki {
    min-width: 0 !important;
    max-width: 100% !important;
}

    .auth-field.span-2,
    .auth-form-grid .span-2 {
        grid-column: span 2 !important;
    }

    .auth-field .form-label,
    .auth-page .form-label {
        display: block !important;
        margin-bottom: 0.42rem !important;
        color: var(--kt-shell-950, #071A2D) !important;
        font-size: 0.8rem !important;
        font-weight: 900 !important;
    }

.auth-input-wrap {
    position: relative !important;
}

    .auth-input-wrap .auth-input-icon {
        position: absolute !important;
        z-index: 3 !important;
        left: 1rem !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: rgba(29, 95, 209, 0.55) !important;
    }

    .auth-input-wrap .toggle-password {
        left: auto !important;
        right: 1rem !important;
        cursor: pointer !important;
    }

    .auth-input-wrap .form-control,
    .auth-input-wrap .form-select,
    .auth-page .form-control,
    .auth-page .form-select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        border-radius: 16px !important;
        border: 1px solid var(--kt-border, #D3DDE9) !important;
        background: #FFFFFF !important;
        color: var(--kt-text, #1F2B3D) !important;
        font-size: 0.9rem !important;
        box-shadow: none !important;
    }

    .auth-input-wrap .form-control {
        padding-left: 2.75rem !important;
    }

    .auth-input-wrap.has-end .form-control {
        padding-right: 2.85rem !important;
    }

    .auth-input-wrap .form-select {
        padding-left: 1rem !important;
    }

        .auth-input-wrap .form-control:focus,
        .auth-input-wrap .form-select:focus,
        .auth-page .form-control:focus,
        .auth-page .form-select:focus {
            border-color: var(--kt-primary-700, #1D5FD1) !important;
            box-shadow: 0 0 0 0.18rem rgba(29, 95, 209, 0.12) !important;
        }

.wizard-steps-vertical {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
}

.wizard-step {
    min-width: 0 !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.75rem !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--kt-border, #D3DDE9) !important;
    color: var(--kt-shell-950, #071A2D) !important;
    text-align: left !important;
}

    .wizard-step span {
        grid-row: span 2 !important;
        width: 30px !important;
        height: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        background: var(--kt-primary-100, #EAF1FF) !important;
        color: var(--kt-primary-700, #1D5FD1) !important;
        font-size: 0.8rem !important;
        font-weight: 950 !important;
    }

    .wizard-step strong,
    .wizard-step small {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .wizard-step.current,
    .wizard-step.active.current {
        border-color: var(--kt-primary-700, #1D5FD1) !important;
        background: var(--kt-primary-100, #EAF1FF) !important;
    }

        .wizard-step.current span,
        .wizard-step.active.current span {
            background: var(--kt-primary-700, #1D5FD1) !important;
            color: #ffffff !important;
        }

.register-help-card,
.terms-card,
.auth-callout,
.auth-trust-chip,
.preview-card {
    border-radius: 16px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--kt-border, #D3DDE9) !important;
    box-shadow: none !important;
}

.register-help-card,
.auth-callout {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    padding: 0.9rem !important;
}

.terms-card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.65rem !important;
    padding: 0.85rem !important;
}

.preview-grid-landscape {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

.preview-card {
    padding: 1rem !important;
}

    .preview-card h4 {
        color: var(--kt-shell-950, #071A2D) !important;
        font-size: 0.98rem !important;
        font-weight: 950 !important;
    }

    .preview-card dl {
        display: grid !important;
        grid-template-columns: minmax(110px, 180px) minmax(0, 1fr) !important;
        gap: 0.45rem 0.75rem !important;
    }

    .preview-card dd,
    .preview-card dt {
        overflow-wrap: anywhere !important;
    }

.preview-grid-landscape .preview-note {
    grid-column: span 2 !important;
}

.wizard-actions,
.register-landscape-actions {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    padding-top: 1rem !important;
    margin-top: 1rem !important;
    border-top: 1px solid var(--kt-border, #D3DDE9) !important;
}

.wizard-action-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.65rem !important;
    flex-wrap: wrap !important;
}

    .wizard-actions .btn,
    .register-landscape-actions .btn,
    .wizard-action-right .btn {
        min-height: 42px !important;
        border-radius: 12px !important;
        font-weight: 900 !important;
    }

.auth-submit {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
}

.auth-foot-note {
    width: min(100%, 1280px) !important;
    max-width: 1280px !important;
    margin-top: 0.75rem !important;
    color: var(--kt-text-muted, #56667C) !important;
    font-size: 0.8rem !important;
    text-align: center !important;
}

/* Login/Forgot/Reset small-page spacing */
.auth-page:not(.auth-register-page) .auth-field {
    margin-bottom: 0.95rem !important;
}

.auth-trust-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.65rem !important;
    margin-bottom: 1rem !important;
}

.auth-trust-chip {
    min-width: 0 !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.7rem !important;
    font-size: 0.74rem !important;
    font-weight: 850 !important;
}

.auth-inline-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    flex-wrap: wrap !important;
    margin: 0.4rem 0 1rem !important;
}

.auth-link {
    color: var(--kt-primary-700, #1D5FD1) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

    .auth-link:hover {
        color: var(--kt-shell-950, #071A2D) !important;
        text-decoration: underline !important;
    }

.auth-divider-line {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin: 1.1rem 0 !important;
    color: var(--kt-text-muted, #56667C) !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

    .auth-divider-line::before,
    .auth-divider-line::after {
        content: "" !important;
        flex: 1 !important;
        height: 1px !important;
        background: var(--kt-border, #D3DDE9) !important;
    }

.auth-secondary-action {
    margin-top: 0.95rem !important;
    color: var(--kt-text-muted, #56667C) !important;
    font-size: 0.85rem !important;
    text-align: center !important;
}

.auth-state {
    text-align: center !important;
}

.auth-actions-grid,
.otp-box-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.7rem !important;
}

/* Hide stray floating button / blank square on auth pages */
.auth-page .back-to-top,
.auth-page #backToTop,
.auth-page #back-top,
.auth-page #scrollTop,
.auth-page #scrollToTop,
.auth-page .scroll-top,
.auth-page .scrollToTop,
.auth-page .go-top,
.auth-page .backtop,
.auth-page .floating-action,
.auth-page .floating-button,
.auth-page .btn-back-to-top,
.auth-page .return-to-top,
.auth-page .sticky-widget,
.auth-page .fixed-widget,
.auth-page [aria-label="Back to top"],
.auth-page a[href="#top"],
.auth-page button[class*="top"],
.auth-page a[class*="top"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Responsive auth */
@media (max-width: 1150px) {
    .kitunzi-auth-shell,
    .kitunzi-auth-register-shell {
        grid-template-columns: 1fr !important;
    }

    .auth-showcase {
        display: none !important;
    }

    .auth-mobile-brand {
        display: flex !important;
    }

    .auth-form-stage,
    .auth-form-stage-register {
        min-height: 100vh !important;
        justify-content: flex-start !important;
    }

    .auth-form-card {
        width: min(100%, 760px) !important;
    }

    .auth-form-card-register {
        width: min(100%, 980px) !important;
    }

    .register-landscape-grid {
        grid-template-columns: 1fr !important;
    }

    .wizard-steps-vertical {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .wizard-step small {
        display: none !important;
    }

    .register-help-card {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    .auth-form-stage,
    .auth-form-stage-register {
        padding: 0.65rem !important;
    }

    .auth-form-card,
    .auth-form-card-register {
        width: 100% !important;
        padding: 0.9rem !important;
        border-radius: 18px !important;
    }

        .auth-form-card::before {
            top: 9px !important;
            left: 14px !important;
            right: 14px !important;
        }

    .auth-card-header {
        gap: 0.7rem !important;
        padding-top: 0.9rem !important;
        padding-bottom: 0.85rem !important;
        margin-bottom: 0.85rem !important;
    }

    .auth-card-icon,
    .auth-section-icon,
    .auth-state-icon {
        width: 42px !important;
        height: 42px !important;
        border-radius: 12px !important;
    }

    .auth-card-header h2 {
        font-size: 1.35rem !important;
    }

    .auth-form-grid,
    .auth-trust-row {
        grid-template-columns: 1fr !important;
    }

        .auth-field.span-2,
        .auth-form-grid .span-2 {
            grid-column: auto !important;
        }

    .wizard-steps-vertical {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .wizard-step {
        min-height: 56px !important;
        padding: 0.65rem !important;
    }

    .wizard-actions,
    .register-landscape-actions,
    .wizard-action-right,
    .auth-inline-row {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

        .wizard-actions .btn,
        .register-landscape-actions .btn,
        .wizard-action-right .btn {
            width: 100% !important;
        }

    .preview-grid-landscape,
    .preview-card dl {
        grid-template-columns: 1fr !important;
    }

        .preview-grid-landscape .preview-note {
            grid-column: auto !important;
        }
}

@media (max-width: 480px) {
    .wizard-steps-vertical {
        grid-template-columns: 1fr !important;
    }

    .auth-brand-mark-wide {
        width: 190px !important;
        height: 70px !important;
    }

    .auth-input-wrap .form-control,
    .auth-input-wrap .form-select {
        min-height: 46px !important;
        border-radius: 14px !important;
    }
}


/* ============================================================
   CONSOLIDATED LEGACY COMPONENT STYLES
   All application styling is loaded from this single file.
   ============================================================ */


/* Source: animations.css */
/* ============================================
   KITUNZI - Animation Styles
   ============================================ */

/* Fade In */
.fade-in {
    animation: fadeIn 0.4s ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.5s ease forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-down {
    animation: fadeInDown 0.4s ease forwards;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-left {
    animation: fadeInLeft 0.4s ease forwards;
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade-in-right {
    animation: fadeInRight 0.4s ease forwards;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Scale In */
.scale-in {
    animation: scaleIn 0.35s ease forwards;
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Stagger children */
.stagger-children > * {
    opacity: 0;
    animation: fadeInUp 0.5s ease forwards;
}

    .stagger-children > *:nth-child(1) {
        animation-delay: 0.05s;
    }

    .stagger-children > *:nth-child(2) {
        animation-delay: 0.10s;
    }

    .stagger-children > *:nth-child(3) {
        animation-delay: 0.15s;
    }

    .stagger-children > *:nth-child(4) {
        animation-delay: 0.20s;
    }

    .stagger-children > *:nth-child(5) {
        animation-delay: 0.25s;
    }

    .stagger-children > *:nth-child(6) {
        animation-delay: 0.30s;
    }

    .stagger-children > *:nth-child(7) {
        animation-delay: 0.35s;
    }

    .stagger-children > *:nth-child(8) {
        animation-delay: 0.40s;
    }

    .stagger-children > *:nth-child(9) {
        animation-delay: 0.45s;
    }

    .stagger-children > *:nth-child(10) {
        animation-delay: 0.50s;
    }

    .stagger-children > *:nth-child(11) {
        animation-delay: 0.55s;
    }

    .stagger-children > *:nth-child(12) {
        animation-delay: 0.60s;
    }

/* Pulse */
.pulse {
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.6;
    }
}

/* Shimmer loading */
.shimmer {
    background: var(--kt-surface-3);
    background-size: 200% 100%;
    animation: shimmer 1.5s ease-in-out infinite;
    border-radius: var(--kt-radius-sm);
}

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

    100% {
        background-position: -200% 0;
    }
}

/* Counter */
.counter-animate {
    animation: countUp 0.8s ease forwards;
}

/* Slide down */
.slide-down {
    animation: slideDown 0.35s ease forwards;
}

@keyframes slideDown {
    from {
        opacity: 0;
        max-height: 0;
    }

    to {
        opacity: 1;
        max-height: 500px;
    }
}

/* Hover lift */
.hover-lift {
    transition: var(--ki-transition);
}

    .hover-lift:hover {
        transform: translateY(-3px);
        box-shadow: var(--ki-card-shadow-hover);
    }

/* Rotate icon */
.rotate-icon {
    transition: transform 0.3s ease;
}

.rotated {
    transform: rotate(180deg);
}

/* Entrance delay helpers */
.delay-1 {
    animation-delay: 0.1s;
}

.delay-2 {
    animation-delay: 0.2s;
}

.delay-3 {
    animation-delay: 0.3s;
}

.delay-4 {
    animation-delay: 0.4s;
}

.delay-5 {
    animation-delay: 0.5s;
}

/* Border glow on focus */
.glow-on-focus:focus {
    animation: glow 1s ease;
}

@keyframes glow {
    0% {
        box-shadow: 0 0 0 0 rgba(29,95,209,0.2);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(29,95,209,0.1);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(29,95,209,0);
    }
}

/* Soft pulse */
.soft-pulse {
    animation: softPulse 2s ease-in-out infinite;
}

@keyframes softPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.03);
        opacity: 0.85;
    }
}

/* Breadcrumb fade */
.breadcrumb-fade {
    animation: breadcrumbFade 0.4s ease forwards;
}

@keyframes breadcrumbFade {
    from {
        opacity: 0;
        transform: translateX(-8px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Slide In Left */
.slide-in-left {
    animation: slideInLeft 0.4s ease forwards;
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Slide In Right */
.slide-in-right {
    animation: slideInRight 0.4s ease forwards;
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Button ripple */
.btn-ripple {
    position: relative;
    overflow: hidden;
}

    .btn-ripple::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: rgba(255,255,255,0.2);
        border-radius: 50%;
        transform: scale(0);
        opacity: 0;
        transition: transform 0.5s, opacity 0.5s;
    }

    .btn-ripple:active::after {
        transform: scale(3);
        opacity: 1;
        transition: 0s;
    }

/* Scale on appear */
.scale-appear {
    animation: scaleAppear 0.35s ease forwards;
}

@keyframes scaleAppear {
    from {
        opacity: 0;
        transform: scale(0.92);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Status badge pulse for active items */
.status-pulse {
    animation: statusPulse 2s ease-in-out infinite;
}

@keyframes statusPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(29,95,209,0.3);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(29,95,209,0);
    }
}


/* Source: responsive.css */
/* =========================================================
   KITUNZI RESPONSIVE COMBINED
   File: wwwroot/css/kitunzi-responsive-combined.css
   Purpose:
   - Combines kitunzi-responsive-upgrade.css and responsive.css into one file.
   - Removes repeated rules and keeps the strongest responsive/navigation fixes.
   - Keeps responsive behavior for desktop, tablet, mobile and browser zoom.
   - Safe to load after style.css and kitunzi-uniform-shell-clean.css.
   ========================================================= */

/* =========================================================
   01. GLOBAL RESPONSIVE SAFETY LAYER
   ========================================================= */

html,
body {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

    body.sidebar-open {
        overflow: hidden;
    }

img,
svg,
video,
canvas,
iframe {
    max-width: 100% !important;
    height: auto !important;
}

main,
.main-content,
.main-wrapper,
.card-ki,
.card,
.modal-content,
.table-responsive,
.row,
[class*="col-"] {
    min-width: 0 !important;
}

.main-content {
    width: 100% !important;
    max-width: 100% !important;
}

.table-responsive {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

table,
.table,
.table-ki {
    width: 100% !important;
    max-width: 100% !important;
}

.btn,
.btn-ki,
.form-control,
.form-select,
.dropdown-menu,
.user-dropdown-menu {
    max-width: 100% !important;
}

.form-control,
.form-select,
textarea,
.input-group,
.input-group-ki {
    min-width: 0 !important;
}

.card-ki,
.card-ki .card-body,
.card,
.card-body {
    min-width: 0 !important;
}

.card-ki {
    overflow: hidden !important;
}

.modal-dialog {
    max-width: min(96vw, var(--bs-modal-width, 500px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.offcanvas,
.sidebar {
    max-width: 88vw;
}

.text-truncate-mobile {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.page-header,
.dashboard-hero,
.reports-hero,
.pos-topbar,
.sale-details-hero {
    gap: 0.75rem !important;
}

/* =========================================================
   02. LARGE TABLET / SMALL DESKTOP
   ========================================================= */

@media (max-width: 1199.98px) {
    .topbar-center {
        display: none !important;
    }

    .topbar {
        gap: 0.5rem !important;
    }

    .topbar-title-block {
        min-width: 0 !important;
    }

    .topbar-page-title {
        max-width: 52vw !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

/* =========================================================
   03. TABLET AND MOBILE NAVIGATION
   ========================================================= */

@media (max-width: 991.98px) {
    body {
        overflow-x: hidden !important;
    }

        body.sidebar-open {
            overflow: hidden !important;
        }

    .sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        width: min(86vw, 330px) !important;
        max-width: 330px !important;
        height: 100vh !important;
        transform: translateX(-105%) !important;
        z-index: 1080 !important;
        transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    }

        .sidebar.open {
            transform: translateX(0) !important;
            box-shadow: 16px 0 44px rgba(0, 0, 0, 0.22) !important;
        }

    .sidebar-header {
        min-height: 86px !important;
        padding: 0.75rem !important;
        position: relative !important;
    }

    .sidebar-brand,
    .sidebar-brand-with-logo {
        width: auto !important;
        flex: 1 1 auto !important;
        max-width: calc(100% - 48px) !important;
        min-width: 0 !important;
    }

    .brand-logo-wide-wrap {
        height: 60px !important;
        border-radius: 16px !important;
        padding: 0.35rem 0.55rem !important;
    }

    .sidebar-logo-wide {
        height: 44px !important;
        max-width: 205px !important;
    }

    .sidebar-close {
        display: inline-flex !important;
        flex: 0 0 36px !important;
        width: 36px !important;
        height: 36px !important;
        z-index: 1090 !important;
    }

    .sidebar-overlay {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        background: rgba(0, 0, 0, 0.42) !important;
        z-index: 1070 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 0.25s ease, visibility 0.25s ease !important;
    }

        .sidebar-overlay.show,
        .sidebar-overlay.open {
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
        }

    .topbar {
        left: 0 !important;
        right: 0 !important;
        min-height: 74px !important;
        height: auto !important;
        padding: 0.55rem 1rem !important;
        z-index: 1060 !important;
        gap: 0.75rem !important;
    }

    .topbar-left {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        gap: 0.65rem !important;
    }

    .topbar-right {
        flex: 0 0 auto !important;
        min-width: 0 !important;
        gap: 0.45rem !important;
    }

    .sidebar-toggle-mobile {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        flex: 0 0 40px !important;
    }

    .topbar-title-block,
    .user-meta {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .topbar-page-title {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 0.98rem !important;
    }

    .breadcrumb-ki {
        max-width: 100% !important;
        overflow: hidden !important;
        flex-wrap: nowrap !important;
        gap: 0.15rem !important;
        margin-top: 0.15rem !important;
    }

        .breadcrumb-ki .breadcrumb-item {
            min-width: 0 !important;
            max-width: 145px !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
        }

            .breadcrumb-ki .breadcrumb-item.active {
                max-width: 170px !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
                white-space: nowrap !important;
            }

    .user-menu {
        min-width: 0 !important;
        max-width: 230px !important;
        padding: 0.35rem 0.55rem 0.35rem 0.35rem !important;
    }

    .user-meta {
        max-width: 165px !important;
    }

    .user-name,
    .user-details,
    .user-bar,
    .profile-info-row span {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .user-dropdown-menu,
    .dropdown-menu {
        max-width: calc(100vw - 1.5rem) !important;
        min-width: min(300px, calc(100vw - 1.5rem)) !important;
        overflow: hidden !important;
        border-radius: 16px !important;
    }

    .main-wrapper,
    .footer-ki {
        margin-left: 0 !important;
    }

    .main-content {
        padding: 1rem 1.25rem calc(var(--kt-footer-height, 56px) + 2.2rem) !important;
    }

    .page-header,
    .dashboard-hero,
    .reports-hero,
    .pos-topbar,
    .sale-details-hero {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

        .page-header > *,
        .reports-hero > *,
        .dashboard-hero > *,
        .pos-topbar > *,
        .sale-details-hero > * {
            width: 100% !important;
        }

        .page-header .btn,
        .page-header .btn-ki,
        .page-header > div:last-child,
        .page-header .d-flex {
            width: 100%;
        }

        .page-header .btn,
        .page-header .btn-ki {
            justify-content: center;
        }

    .d-flex.flex-wrap.gap-2,
    .pos-top-actions {
        justify-content: flex-start !important;
    }

    .form-grid,
    .stat-grid,
    .dashboard-stat-grid,
    .reports-stat-grid,
    .quick-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .pos-layout {
        flex-direction: column !important;
    }

    .pos-cart-panel {
        position: static !important;
        width: 100% !important;
    }

    .pos-cart-items {
        max-height: 300px !important;
    }

    .product-grid {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
    }

    .kanban-board {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tooltip {
        max-width: min(260px, calc(100vw - 2rem)) !important;
        pointer-events: none !important;
        z-index: 1200 !important;
    }

    .tooltip-inner {
        max-width: min(240px, calc(100vw - 2rem)) !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        border-radius: 10px !important;
        padding: 0.45rem 0.65rem !important;
        font-size: 0.78rem !important;
        line-height: 1.35 !important;
    }
}

/* =========================================================
   04. MOBILE
   ========================================================= */

@media (max-width: 767.98px) {
    .main-content {
        padding: 0.65rem !important;
    }

    .footer-ki {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.35rem !important;
    }

    .topbar-right .user-meta {
        display: none !important;
    }

    .topbar-page-title {
        max-width: 64vw !important;
        font-size: 1rem !important;
    }

    .breadcrumb-ki {
        display: none !important;
    }

    .btn,
    .btn-ki,
    .btn-ki-sm {
        white-space: normal !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.35rem !important;
    }

    .btn-ki,
    .btn-ki-sm {
        min-height: 38px !important;
    }

    .form-grid,
    .stat-grid,
    .dashboard-stat-grid,
    .reports-stat-grid,
    .quick-action-grid,
    .reports-grid,
    .product-grid-polished,
    .pos-active-deals,
    .session-money-grid,
    .close-summary-box,
    .my-sales-stat-grid {
        grid-template-columns: 1fr !important;
    }

    .row > [class*="col-"] {
        min-width: 0 !important;
    }

    .table-ki thead.responsive-hide,
    .table-ki.mobile-card-table thead {
        display: none !important;
    }

    .table-ki.mobile-card-table,
    .table-ki.mobile-card-table tbody,
    .table-ki.mobile-card-table tr,
    .table-ki.mobile-card-table td {
        display: block !important;
        width: 100% !important;
    }

        .table-ki.mobile-card-table tr {
            margin: 0.65rem !important;
            padding: 0.65rem !important;
            border: 1px solid var(--kt-border, #E3E9F1) !important;
            border-radius: 16px !important;
            background: #fff !important;
        }

        .table-ki.mobile-card-table td {
            border: 0 !important;
            padding: 0.35rem 0 !important;
            text-align: left !important;
        }

            .table-ki.mobile-card-table td::before {
                content: attr(data-label);
                display: block;
                color: var(--kt-text-muted, #777);
                font-size: 0.68rem;
                font-weight: 900;
                text-transform: uppercase;
                margin-bottom: 0.1rem;
            }
}

/* =========================================================
   05. SMALL PHONES
   ========================================================= */

@media (max-width: 575.98px) {


    .topbar {
        min-height: 72px !important;
        padding: 0.5rem 0.75rem !important;
    }

    .topbar-page-title {
        font-size: 0.92rem !important;
    }

    .breadcrumb-ki {
        display: flex !important;
        font-size: 0.68rem !important;
    }

        .breadcrumb-ki .breadcrumb-item:nth-child(2) {
            display: none !important;
        }

        .breadcrumb-ki .breadcrumb-item.active {
            max-width: 165px !important;
            padding: 0.1rem 0.45rem !important;
            font-size: 0.68rem !important;
        }

    .user-menu {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        padding: 0 !important;
        justify-content: center !important;
        border-radius: 50% !important;
    }

        .user-menu::after,
        .user-meta {
            display: none !important;
        }

    .avatar {
        width: 40px !important;
        height: 40px !important;
        box-shadow: none !important;
    }

    .topbar-btn {
        width: 40px !important;
        height: 40px !important;
    }

    .main-content {
        padding: 0.95rem 1rem 1.25rem !important;
    }

    .footer-ki {
        position: static !important;
        min-height: auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 0.35rem !important;
        padding: 0.75rem 1rem !important;
    }

    .footer-links {
        width: 100% !important;
        gap: 0.5rem !important;
        justify-content: flex-start !important;
    }

        .footer-links a {
            padding: 0.18rem 0.45rem !important;
        }

    .btn-ki {
        min-height: 40px !important;
        padding: 0.5rem 1rem !important;
    }

    .btn-ki-sm {
        min-height: 34px !important;
        padding: 0.4rem 0.75rem !important;
    }
}

@media (max-width: 420px) {
    .main-content {
        padding: 0.5rem !important;
    }

    .card-body,
    .card-ki .card-body {
        padding: 0.75rem !important;
    }

    .stat-card,
    .dashboard-stat-card {
        padding: 0.75rem !important;
    }
}

/* =========================================================
   06. DESKTOP RESET
   ========================================================= */

@media (min-width: 992px) {
    .sidebar {
        transform: none !important;
    }

    .sidebar-overlay,
    .sidebar-close {
        display: none !important;
    }

    body.sidebar-open {
        overflow: auto !important;
    }
}


/* Source: kitunzi-layout.css */
/* =========================================================
   KITUNZI - Portal Layout CSS
   File: wwwroot/css/kitunzi-layout.css

   Cleaned version:
   - Repetitions removed
   - Gradients removed
   - Wide logo support included
   - Responsive styles removed
   - Existing Kitunzi theme variables preserved
   ========================================================= */



/* =========================================================
   PORTAL SHELL
   ========================================================= */

body {
    background: var(--kt-canvas);
}

.main-wrapper {
    margin-left: var(--kt-sidebar-width);
    padding-top: var(--kt-topbar-height);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.main-content {
    flex: 1 0 auto;
    padding: 1.5rem 2rem;
    padding-bottom: calc(var(--kt-footer-height) + 1.75rem);
    animation: pageFadeIn 0.35s ease forwards;
}

/* =========================================================
   SIDEBAR
   ========================================================= */

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--kt-sidebar-width);
    height: 100vh;
    background: var(--kt-surface);
    border-right: 1px solid var(--kt-border-subtle);
    box-shadow: 12px 0 30px rgba(0, 0, 0, 0.06);
    z-index: 1030;
    display: flex;
    flex-direction: column;
    transition: transform var(--ki-transition), box-shadow var(--ki-transition);
}

.sidebar-header {
    min-height: 92px;
    padding: 0.85rem 0.95rem;
    background: var(--kt-surface-3);
    border-bottom: 1px solid var(--kt-border-subtle);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-shrink: 0;
}

.sidebar-brand,
.sidebar-brand-with-logo {
    width: 100%;
    min-height: auto;
    min-width: 0;
    padding: 0;
    border-bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
}

/* Wide full logo version */
.brand-logo-wide-wrap {
    width: 100%;
    height: 64px;
    border-radius: 18px;
    background: var(--kt-surface);
    border: 1px solid rgba(29, 95, 209, 0.10);
    box-shadow: 0 10px 24px rgba(29, 95, 209, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0.45rem 0.65rem;
}

.sidebar-logo-wide {
    width: 100% !important;
    height: 48px !important;
    max-width: 210px;
    object-fit: contain;
    object-position: center;
    display: block;
}

/* Square icon fallback */
.brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--kt-primary-700);
    color: var(--kt-surface);
    box-shadow: 0 8px 22px rgba(29, 95, 209, 0.16);
}

.sidebar-brand-text {
    min-width: 0;
    color: var(--kt-primary-700);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    white-space: normal;
    display: flex;
    flex-direction: column;
}

    .sidebar-brand-text::after {
        content: "Management Portal";
        display: block;
        margin-top: 0.25rem;
        font-size: 0.66rem;
        font-weight: 600;
        letter-spacing: 0.4px;
        color: var(--kt-text-muted);
    }

/* Hide old square-logo wrappers if the full wide logo is used */
.brand-logo-wrap,
.sidebar-logo-img,
.sidebar-brand-with-logo .sidebar-brand-text {
    display: none;
}

.sidebar-close {
    width: 36px;
    height: 36px;
    border: 1px solid var(--kt-border);
    background: var(--kt-surface);
    border-radius: 50%;
    color: var(--kt-text-muted);
    display: none;
    align-items: center;
    justify-content: center;
    transition: var(--ki-transition);
}

    .sidebar-close:hover {
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        border-color: var(--kt-primary-100);
    }

/* =========================================================
   BAR CONTEXT CARD
   ========================================================= */

.bar-context {
    margin: 1rem 0.95rem 0.5rem;
    padding: 0.95rem;
    border-radius: var(--kt-radius-md);
    background: var(--kt-primary-700);
    border: 0;
    color: var(--kt-surface);
    box-shadow: 0 12px 26px rgba(29, 95, 209, 0.18);
}

    .bar-context small {
        display: block;
        color: rgba(255, 255, 255, 0.74);
        font-size: 0.65rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.7px;
    }

    .bar-context strong {
        display: block;
        color: var(--kt-surface);
        font-size: 0.9rem;
        font-weight: 800;
        margin-top: 0.15rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* =========================================================
   SIDEBAR NAVIGATION
   ========================================================= */

.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    padding: 0.95rem 0.8rem 1rem;
}

.sidebar-section {
    margin-bottom: 0.8rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--kt-border-subtle);
}

    .sidebar-section:last-child {
        border-bottom: 0;
        margin-bottom: 0;
    }

.sidebar-group-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.8rem 0.4rem;
    color: var(--kt-text-muted);
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
}

    .sidebar-group-title::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--kt-warning-600);
        box-shadow: 0 0 0 4px rgba(183, 121, 31, 0.12);
    }

.sidebar-link,
.sidebar-menu-toggle {
    width: 100%;
    min-height: 40px;
    border: 0;
    border-radius: 14px;
    padding: 0.65rem 0.8rem;
    margin-bottom: 0.18rem;
    color: var(--kt-text);
    background: transparent;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-size: 0.84rem;
    font-weight: 600;
    text-decoration: none;
    position: relative;
    transition: background var(--ki-transition), color var(--ki-transition), transform var(--ki-transition), box-shadow var(--ki-transition);
}

.sidebar-menu-toggle {
    cursor: pointer;
}

    .sidebar-link i,
    .sidebar-menu-toggle i:first-child {
        width: 24px;
        height: 24px;
        border-radius: 9px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--kt-surface-3);
        color: var(--kt-primary-700);
        font-size: 1rem;
        transition: var(--ki-transition);
    }

    .sidebar-link:hover,
    .sidebar-menu-toggle:hover {
        color: var(--kt-primary-700);
        background: var(--kt-primary-100);
        transform: translateX(2px);
    }

        .sidebar-link:hover i,
        .sidebar-menu-toggle:hover i:first-child {
            color: var(--kt-primary-700);
            transform: translateX(2px);
        }

.sidebar-link.active {
    color: var(--kt-primary-700);
    background: var(--kt-primary-100);
    font-weight: 800;
    box-shadow: inset 0 0 0 1px rgba(29, 95, 209, 0.08), 0 8px 18px rgba(29, 95, 209, 0.08);
}

    .sidebar-link.active::before {
        content: "";
        position: absolute;
        left: 0;
        top: 9px;
        bottom: 9px;
        width: 3px;
        border-radius: 0 8px 8px 0;
        background: var(--kt-warning-600);
    }

    .sidebar-link.active::after {
        content: "";
        position: absolute;
        right: 0.65rem;
        top: 50%;
        transform: translateY(-50%);
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--kt-warning-600);
    }

    .sidebar-link.active i {
        background: var(--kt-primary-700);
        color: var(--kt-surface);
    }

.sidebar-submenu {
    margin: 0.35rem 0 0.35rem 1.25rem;
    padding: 0.25rem 0 0.25rem 0.65rem;
    border-left: 2px dashed var(--kt-border);
}

    .sidebar-submenu .sidebar-link {
        min-height: 36px;
        font-size: 0.79rem;
        padding: 0.45rem 0.65rem;
        border-radius: 12px;
    }

        .sidebar-submenu .sidebar-link.active::after {
            right: 0.5rem;
        }

.menu-chevron {
    margin-left: auto;
    color: var(--kt-text-muted);
    font-size: 0.75rem;
    transition: transform var(--ki-transition), color var(--ki-transition);
}

.sidebar-menu-toggle[aria-expanded="true"] .menu-chevron {
    transform: rotate(180deg);
    color: var(--kt-primary-700);
}

.link-badge {
    margin-left: auto;
    border-radius: 999px;
    font-size: 0.68rem;
    padding: 0.15rem 0.5rem;
}

/* =========================================================
   TOPBAR + BREADCRUMB
   ========================================================= */

.topbar {
    position: fixed;
    top: 0;
    left: var(--kt-sidebar-width);
    right: 0;
    height: var(--kt-topbar-height);
    background: var(--kt-surface);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--kt-border-subtle);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.5rem;
    z-index: 1020;
    transition: left var(--ki-transition), padding var(--ki-transition);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.045);
}

.topbar-left,
.topbar-right {
    display: flex;
    align-items: center;
}

.topbar-left {
    min-width: 0;
}

.topbar-title-block {
    min-width: 0;
    padding: 0.25rem 0;
}

.topbar-page-title {
    margin: 0 0 0.1rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--kt-text);
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.breadcrumb-ki {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    background: transparent;
    margin: 0.25rem 0 0;
    padding: 0;
    font-size: 0.78rem;
}

    .breadcrumb-ki .breadcrumb-item {
        display: flex;
        align-items: center;
        color: var(--kt-text-muted);
        white-space: nowrap;
    }

        .breadcrumb-ki .breadcrumb-item + .breadcrumb-item::before {
            content: "›";
            color: #b8b0a7;
            font-size: 1rem;
            line-height: 1;
            padding: 0 0.45rem 0 0.25rem;
        }

    .breadcrumb-ki a {
        color: var(--kt-text-muted);
        display: inline-flex;
        align-items: center;
        gap: 0.28rem;
        font-weight: 600;
        padding: 0.15rem 0.45rem;
        border-radius: 999px;
    }

        .breadcrumb-ki a:hover {
            color: var(--kt-primary-700);
            background: var(--kt-primary-100);
        }

    .breadcrumb-ki .active {
        color: var(--kt-primary-700);
        background: var(--kt-primary-100);
        padding: 0.12rem 0.55rem;
        border-radius: 999px;
        font-size: 0.74rem;
        font-weight: 700;
        border: 1px solid rgba(29, 95, 209, 0.08);
        box-shadow: 0 4px 12px rgba(29, 95, 209, 0.06);
    }

.topbar-btn {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    border: 1px solid var(--kt-border-subtle);
    background: var(--kt-surface);
    color: var(--kt-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    position: relative;
    transition: var(--ki-transition);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.045);
}

    .topbar-btn:hover {
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        border-color: var(--kt-primary-100);
        transform: translateY(-1px);
    }

    .topbar-btn .notif-dot {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--kt-danger-600);
        border: 2px solid var(--kt-surface);
    }

/* =========================================================
   USER PROFILE DROPDOWN
   ========================================================= */

.user-menu {
    min-width: 300px;
    max-width: 340px;
    border: 1px solid var(--kt-border-subtle);
    border-radius: 18px;
    padding: 0.45rem 0.75rem 0.45rem 0.45rem;
    background: var(--kt-surface);
    display: flex;
    align-items: center;
    gap: 0.65rem;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.055);
    transition: var(--ki-transition);
}

    .user-menu:hover,
    .user-menu[aria-expanded="true"] {
        background: var(--kt-surface-3);
        transform: translateY(-1px);
    }

.avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--kt-primary-700);
    color: var(--kt-surface);
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    box-shadow: 0 8px 18px rgba(29, 95, 209, 0.18);
}

.user-meta {
    min-width: 0;
    line-height: 1.15;
}

.user-name,
.user-details,
.user-bar {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-name {
    font-size: 0.86rem;
    font-weight: 800;
    color: var(--kt-text);
}

.user-details {
    font-size: 0.7rem;
    color: var(--kt-text-muted);
    margin-top: 0.08rem;
}

.user-bar {
    font-size: 0.72rem;
    color: var(--kt-primary-700);
    font-weight: 800;
    margin-top: 0.08rem;
}

.user-dropdown-menu {
    min-width: 300px;
    padding: 0;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid var(--kt-border-subtle);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.14);
}

.profile-card-head {
    padding: 1rem;
    background: var(--kt-primary-700);
    color: var(--kt-surface);
}

.profile-card-main {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.profile-avatar-lg {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.16);
    color: var(--kt-surface);
    font-weight: 800;
    font-size: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.profile-card-name {
    font-weight: 800;
    font-size: 0.95rem;
    line-height: 1.2;
}

.profile-card-role {
    font-size: 0.74rem;
    color: rgba(255, 255, 255, 0.78);
    margin-top: 0.15rem;
}

.profile-card-body {
    padding: 0.75rem;
    background: var(--kt-surface);
}

.profile-info-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    color: var(--kt-text);
    font-size: 0.8rem;
}

    .profile-info-row i {
        width: 28px;
        height: 28px;
        border-radius: 10px;
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .profile-info-row span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.profile-dropdown-actions {
    padding: 0.65rem;
    background: var(--kt-canvas);
    border-top: 1px solid var(--kt-border-subtle);
}

    .profile-dropdown-actions .dropdown-item {
        padding: 0.6rem 0.75rem;
        border-radius: 12px;
        font-weight: 600;
        font-size: 0.82rem;
    }

        .profile-dropdown-actions .dropdown-item:hover {
            background: var(--kt-primary-100);
            color: var(--kt-primary-700);
        }

/* =========================================================
   FOOTER
   ========================================================= */

.footer-ki {
    min-height: var(--kt-footer-height);
    margin-left: var(--kt-sidebar-width);
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 980;
    background: var(--kt-surface);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--kt-border-subtle);
    color: var(--kt-text-muted);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 1.5rem;
    font-size: 0.78rem;
    text-align: left;
    box-shadow: 0 -8px 22px rgba(0, 0, 0, 0.035);
}

    .footer-ki::before {
        display: none !important;
        content: none !important;
    }

    .footer-ki strong {
        color: var(--kt-primary-700);
    }

.footer-links {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

    .footer-links a {
        color: var(--kt-text-muted);
        font-weight: 600;
        padding: 0.2rem 0.55rem;
        border-radius: 999px;
    }

        .footer-links a:hover {
            color: var(--kt-primary-700);
            background: var(--kt-primary-100);
        }

/* =========================================================
   MOBILE SIDEBAR OVERLAY BASE
   Responsive open/close rules are in responsive.css
   ========================================================= */

.sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    z-index: 1025;
    opacity: 0;
    visibility: hidden;
    transition: var(--ki-transition);
    backdrop-filter: blur(1.5px);
}

    .sidebar-overlay.show,
    .sidebar-overlay.open {
        opacity: 1;
        visibility: visible;
    }

/* =========================================================
   ANIMATION
   ========================================================= */

@keyframes pageFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Source: auth-redesign.css */
/* ==========================================================
   KITUNZI AUTH REDESIGN - CLEANED FINAL VERSION
   File: wwwroot/css/auth-redesign.css

   Cleaned and consolidated:
   - duplicate register repair blocks removed
   - duplicate back-to-top hiding rules merged
   - duplicate auth-card top-line rules merged
   - register landscape/full-space rules merged into one section
   - responsive rules consolidated
   - current Kitunzi theme preserved
   ========================================================== */

/* ==========================================================
   BASE / PAGE SHELL
   ========================================================== */

.auth-page {
    min-height: 100vh;
    background: #F7F9FC;
    color: var(--kt-text, #1F2B3D);
    overflow-x: hidden;
}

.kitunzi-auth-shell {
    width: 100%;
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(400px, 39%) minmax(0, 1fr);
    background: #F7F9FC;
    overflow-x: hidden;
}

.kitunzi-auth-register-shell {
    width: 100vw;
    min-height: 100vh;
    grid-template-columns: minmax(360px, 30vw) minmax(0, 1fr);
    overflow: hidden;
}

/* ==========================================================
   LEFT SHOWCASE PANEL
   ========================================================== */

.auth-showcase {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    padding: 2rem 1.6rem;
    color: #fff;
    background: #123B70;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}

    .auth-showcase::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: none;
        background-size: 42px 42px;
        pointer-events: none;
    }

    .auth-showcase::after {
        content: "";
        position: absolute;
        right: -140px;
        bottom: -135px;
        width: 360px;
        height: 360px;
        border-radius: 50%;
        border: 58px solid rgba(255, 176, 32, 0.14);
        pointer-events: none;
    }

    .auth-showcase > * {
        position: relative;
        z-index: 2;
    }

.auth-showcase-top,
.auth-showcase-footer {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.auth-showcase-top {
    justify-content: space-between;
}

.auth-showcase-footer {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.8rem;
}

    .auth-showcase-footer span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }

    .auth-showcase-footer i {
        color: #F1C66E;
    }

/* ==========================================================
   BRAND / LOGO
   ========================================================== */

.auth-brand {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    color: #fff;
    text-decoration: none;
    transition: transform 0.25s ease;
}

    .auth-brand:hover {
        color: #fff;
        transform: translateY(-1px);
    }

.auth-brand-mark {
    width: 76px;
    height: 76px;
    border-radius: 22px;
    background: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.78);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18), inset 0 0 0 1px rgba(22, 91, 37, 0.05);
}

    .auth-brand-mark img {
        width: 54px;
        height: 54px;
        object-fit: contain;
        display: block;
    }

.auth-brand-mark-wide {
    width: 250px;
    height: 100px;
    border-radius: 24px;
    padding: 0.45rem 0.8rem;
}

    .auth-brand-mark-wide img {
        width: 220px;
        height: 90px;
        object-fit: contain;
    }

.auth-brand-fallback {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffb020;
    color: #1D5FD1;
    font-weight: 900;
    font-size: 1.25rem;
}

.auth-brand-text strong {
    display: block;
    font-size: 1.9rem;
    line-height: 1;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: -0.03em;
}

.auth-brand-text small {
    display: block;
    margin-top: 0.22rem;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.9);
}

.auth-brand-wide .auth-brand-text strong {
    font-size: 1.7rem;
}

.auth-brand-wide .auth-brand-text small {
    font-size: 0.86rem;
}

.auth-form-stage .auth-brand,
.auth-form-stage-register .auth-brand {
    color: #1D5FD1;
}

    .auth-form-stage .auth-brand:hover,
    .auth-form-stage-register .auth-brand:hover {
        color: #071A2D;
    }

.auth-form-stage .auth-brand-mark,
.auth-form-stage-register .auth-brand-mark,
.auth-form-stage .auth-brand-wide,
.auth-form-stage-register .auth-brand-wide {
    background: #ffffff;
    border-color: #DCE4EF;
    box-shadow: 0 12px 28px rgba(22, 91, 37, 0.1);
}

.auth-form-stage .auth-brand-text strong,
.auth-form-stage-register .auth-brand-text strong {
    color: #1D5FD1;
}

.auth-form-stage .auth-brand-text small,
.auth-form-stage-register .auth-brand-text small {
    color: var(--kt-text-muted, #56667C);
}

/* ==========================================================
   SHOWCASE CONTENT
   ========================================================== */

.auth-country-pill,
.auth-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.62rem 0.95rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-weight: 800;
    font-size: 0.8rem;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.auth-showcase-content {
    max-width: 560px;
}

.kitunzi-auth-register-shell .auth-showcase-content {
    flex: 1 1 auto;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.auth-showcase-content h1 {
    color: #fff;
    font-size: clamp(2.5rem, 4.8vw, 5rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    font-weight: 900;
    margin: 1.45rem 0 1rem;
}

.kitunzi-auth-register-shell .auth-showcase-content h1 {
    font-size: clamp(2.4rem, 4vw, 4.4rem);
    line-height: 0.98;
}

.auth-showcase-content p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
    line-height: 1.75;
    max-width: 520px;
    margin-bottom: 1.5rem;
}

.auth-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem;
    margin: 1.5rem 0;
}

.kitunzi-auth-register-shell .auth-feature-grid {
    gap: 0.75rem;
}

.auth-feature-card {
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.09);
    transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

    .auth-feature-card:hover {
        background: rgba(255, 255, 255, 0.17);
        transform: translateY(-2px);
        box-shadow: 0 18px 34px rgba(0, 0, 0, 0.11);
    }

    .auth-feature-card i {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 176, 32, 0.2);
        color: #F1C66E;
        flex-shrink: 0;
    }

    .auth-feature-card span {
        font-weight: 900;
        font-size: 0.88rem;
    }

.auth-insight-panel {
    margin-top: 1.35rem;
    max-width: 420px;
    padding: 1.1rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    box-shadow: 0 22px 40px rgba(0, 0, 0, 0.12);
}

    .auth-insight-panel small {
        display: block;
        color: rgba(255, 255, 255, 0.76);
        font-weight: 800;
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
    }

    .auth-insight-panel strong {
        display: block;
        color: #fff;
        font-size: 1.7rem;
        font-weight: 900;
        letter-spacing: -0.02em;
    }

.auth-mini-bars {
    height: 68px;
    display: flex;
    align-items: end;
    gap: 0.4rem;
}

    .auth-mini-bars span {
        display: block;
        width: 13px;
        border-radius: 999px 999px 4px 4px;
        background: #ffb020;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15) inset;
    }

/* ==========================================================
   FORM STAGE / CARD
   ========================================================== */

.auth-form-stage,
.auth-form-stage-register {
    min-height: 100vh;
    padding: 2rem 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
    background: #F7F9FC;
}

.auth-form-stage-register {
    width: 100%;
    min-width: 0;
    padding: 1.2rem 1.35rem;
    align-items: stretch;
    justify-content: center;
}

.auth-mobile-brand {
    display: none;
    width: min(100%, 760px);
    margin-bottom: 1rem;
}

.auth-form-card {
    position: relative;
    overflow: hidden;
    width: min(100%, 600px);
    background: #FFFFFF;
    border: 1px solid #D3DDE9;
    border-radius: 28px;
    padding: 1.8rem;
    box-shadow: 0 20px 50px rgba(10, 27, 47, 0.075), 0 6px 18px rgba(10, 27, 47, 0.04);
    animation: authCardIn 0.45s ease both;
}

.auth-form-card-register {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 4.2rem);
    margin: 0;
    padding: 1.35rem;
    display: flex;
    flex-direction: column;
}

.auth-form-card::before {
    display: none !important;
    content: none !important;
}

.auth-form-card-register > .auth-card-header {
    flex: 0 0 auto;
}

.auth-form-card-register > .auth-register-shell {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.auth-card-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: 0.95rem;
    padding-bottom: 1.15rem;
    margin-bottom: 1.15rem;
    border-bottom: 1px solid #E3E9F1;
}

.auth-card-icon,
.auth-section-icon,
.auth-state-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1D5FD1;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.12);
    box-shadow: 0 12px 24px rgba(22, 91, 37, 0.08);
}

.auth-card-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    font-size: 1.2rem;
}

.auth-card-header h2 {
    margin: 0;
    font-size: clamp(1.55rem, 2vw, 2.15rem);
    line-height: 1.08;
    font-weight: 900;
    color: #0B243D;
    letter-spacing: -0.04em;
}

.auth-card-header p {
    max-width: 720px;
    margin: 0.25rem 0 0;
    color: var(--kt-text-muted, #56667C);
    font-size: 0.92rem;
    line-height: 1.45;
}

.auth-foot-note {
    width: min(100%, 620px);
    text-align: center;
    color: var(--kt-text-muted, #56667C);
    font-size: 0.82rem;
    margin-top: 1.1rem;
    line-height: 1.5;
}

.auth-form-stage-register .auth-foot-note,
.kitunzi-auth-register-shell .auth-foot-note {
    width: 100%;
    max-width: none;
    margin-top: 0.65rem;
    flex: 0 0 auto;
}

.auth-foot-note strong {
    color: #1D5FD1;
}

@keyframes authCardIn {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ==========================================================
   FORMS
   ========================================================== */

.auth-form {
    margin: 0;
}

.auth-register-landscape-form {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.auth-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.05rem 1rem;
}

.auth-field {
    min-width: 0;
    margin-bottom: 0;
}

    .auth-field.span-2,
    .auth-form-grid .span-2 {
        grid-column: span 2;
    }

    .auth-field .form-label {
        display: block;
        margin-bottom: 0.42rem;
        font-size: 0.84rem;
        font-weight: 900;
        color: var(--kt-text, #1F2B3D);
        letter-spacing: 0.01em;
    }

.auth-input-wrap {
    position: relative;
    width: 100%;
}

    .auth-input-wrap .auth-input-icon {
        position: absolute;
        top: 50%;
        left: 1rem;
        transform: translateY(-50%);
        color: #6E86A8;
        z-index: 3;
    }

    .auth-input-wrap .toggle-password {
        left: auto;
        right: 1rem;
        cursor: pointer;
        color: var(--kt-text-muted, #56667C);
    }

        .auth-input-wrap .toggle-password:hover {
            color: #1D5FD1;
        }

    .auth-input-wrap .form-control,
    .auth-input-wrap .form-select {
        min-height: 56px;
        width: 100%;
        border-radius: 18px;
        border: 1px solid #D3DDE9;
        background: #FFFFFF;
        padding-left: 2.75rem;
        padding-right: 1rem;
        font-size: 0.92rem;
        box-shadow: 0 8px 18px rgba(10, 27, 47, 0.03);
    }

    .auth-input-wrap.has-end .form-control {
        padding-right: 2.9rem;
    }

    .auth-input-wrap .form-select {
        padding-left: 1rem;
    }

        .auth-input-wrap .form-control:hover,
        .auth-input-wrap .form-select:hover {
            border-color: #cdbdaa;
        }

        .auth-input-wrap .form-control:focus,
        .auth-input-wrap .form-select:focus {
            border-color: #1D5FD1;
            background: #fff;
            box-shadow: 0 0 0 4px rgba(22, 91, 37, 0.09);
        }

.auth-inline-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 0.45rem 0 1.2rem;
}

.auth-link {
    color: #1D5FD1;
    font-weight: 900;
    text-decoration: none;
}

    .auth-link:hover {
        color: #071A2D;
        text-decoration: underline;
    }

.auth-submit {
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    justify-content: center;
    font-weight: 900;
    letter-spacing: 0.01em;
    box-shadow: 0 14px 28px rgba(22, 91, 37, 0.16);
}

    .auth-submit:hover {
        transform: translateY(-1px);
        box-shadow: 0 18px 34px rgba(22, 91, 37, 0.22);
    }

.auth-secondary-action,
.auth-secondary-center {
    text-align: center;
    margin-top: 1rem;
    color: var(--kt-text-muted, #56667C);
    font-size: 0.86rem;
}

/* ==========================================================
   TRUST CHIPS / CALLOUTS / DIVIDERS
   ========================================================== */

.auth-trust-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.auth-trust-chip {
    min-height: 48px;
    padding: 0.75rem 0.9rem;
    border-radius: 16px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--kt-text, #1F2B3D);
    font-weight: 900;
    font-size: 0.75rem;
    box-shadow: 0 10px 20px rgba(10, 27, 47, 0.035);
    transition: 0.25s ease;
}

    .auth-trust-chip:hover {
        border-color: rgba(22, 91, 37, 0.22);
        background: #EEF4FC;
        transform: translateY(-1px);
    }

    .auth-trust-chip i {
        color: var(--kt-warning-600, #B7791F);
        font-size: 1rem;
    }

.auth-callout {
    border-radius: 20px;
    padding: 0.95rem 1rem;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.12);
    color: var(--kt-text-muted, #56667C);
    font-size: 0.84rem;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

    .auth-callout i {
        color: #1D5FD1;
        font-size: 1.1rem;
        margin-top: 0.05rem;
    }

.auth-divider-line {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--kt-text-muted, #56667C);
    font-weight: 900;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 1.25rem 0;
}

    .auth-divider-line::before,
    .auth-divider-line::after {
        content: "";
        flex: 1;
        height: 1px;
        background: var(--kt-border-subtle, #E8EDF3);
    }

/* ==========================================================
   REGISTER WIZARD / PANELS
   ========================================================== */

.auth-register-shell {
    width: 100%;
}

.register-landscape-grid {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.register-step-panel {
    height: 100%;
    min-height: 0;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #D3DDE9;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(10, 27, 47, 0.075), 0 6px 18px rgba(10, 27, 47, 0.04);
}

.register-step-panel-header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #E8EDF3;
}

.register-step-icon {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    background: #EEF4FC;
    border: 1px solid #DCE4EF;
    color: #1D5FD1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.register-step-panel-header h3 {
    margin: 0;
    color: #0B243D;
    font-weight: 900;
    font-size: 1.05rem;
}

.register-step-panel-header p {
    margin: 0.2rem 0 0;
    color: #777;
    font-size: 0.78rem;
    line-height: 1.4;
}

.wizard-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.9rem;
    margin-bottom: 1.2rem;
}

.wizard-steps-vertical {
    flex: 1 1 auto;
    align-content: start;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
    margin: 0;
}

.wizard-step {
    appearance: none;
    min-height: 62px;
    border: 1px solid #DCE4EF;
    background: #EEF4FC;
    color: #1D5FD1;
    border-radius: 18px;
    padding: 0.95rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 10px 18px rgba(10, 27, 47, 0.035);
    transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

    .wizard-step:hover {
        transform: translateY(-1px);
    }

    .wizard-step span {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: #1D5FD1;
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.85rem;
        flex-shrink: 0;
    }

    .wizard-step.current {
        border-color: #1D5FD1;
        background: #EEF4FC;
        box-shadow: 0 0 0 3px rgba(22, 91, 37, 0.08), 0 12px 24px rgba(22, 91, 37, 0.09);
    }

.wizard-steps-vertical .wizard-step {
    width: 100%;
    min-height: 70px;
    padding: 0.85rem;
    display: grid;
    grid-template-columns: 34px 1fr;
    grid-template-areas:
        "number title"
        "number subtitle";
    column-gap: 0.7rem;
    align-items: center;
}

    .wizard-steps-vertical .wizard-step span {
        grid-area: number;
    }

    .wizard-steps-vertical .wizard-step strong {
        grid-area: title;
        line-height: 1.1;
    }

    .wizard-steps-vertical .wizard-step small {
        grid-area: subtitle;
        color: #777;
        font-size: 0.72rem;
        font-weight: 700;
    }

.register-help-card {
    margin-top: 1rem;
    padding: 0.85rem;
    border-radius: 18px;
    background: #EEF4FC;
    border: 1px solid #DCE4EF;
    display: flex;
    gap: 0.65rem;
    color: #1D5FD1;
}

    .register-help-card i {
        font-size: 1.15rem;
        flex-shrink: 0;
    }

    .register-help-card strong {
        display: block;
        font-size: 0.8rem;
        font-weight: 900;
    }

    .register-help-card p {
        margin: 0.2rem 0 0;
        color: #667;
        font-size: 0.74rem;
        line-height: 1.45;
    }

.register-form-panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

    .register-form-panel .wizard-panel.active {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
    }

    .register-form-panel .auth-section-card {
        flex: 1 1 auto;
        min-height: 0;
    }

.wizard-panel {
    display: none;
}

    .wizard-panel.active {
        display: block;
    }

.auth-section-card {
    max-width: 100%;
    overflow-x: hidden;
    background: #FFFFFF;
    border: 1px solid #D3DDE9;
    border-radius: 24px;
    padding: 1.3rem;
    box-shadow: 0 20px 50px rgba(10, 27, 47, 0.075), 0 6px 18px rgba(10, 27, 47, 0.04);
}

    .auth-section-card + .auth-section-card {
        margin-top: 1rem;
    }

.auth-section-title {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    padding-bottom: 0.95rem;
    margin-bottom: 1.05rem;
    border-bottom: 1px solid #E8EDF3;
}

.auth-section-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
}

.auth-section-title h3 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 900;
    color: #0B243D;
}

.auth-section-title p {
    margin: 0.2rem 0 0;
    color: var(--kt-text-muted, #56667C);
    font-size: 0.88rem;
}

.terms-card {
    padding: 0.9rem 1rem;
    border-radius: 18px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

.wizard-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.25rem;
    padding-top: 0.25rem;
}

.register-landscape-actions {
    flex: 0 0 auto;
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid #E3E9F1;
}

.wizard-action-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.wizard-actions .btn {
    min-width: 150px;
    min-height: 48px;
    border-radius: 16px;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(22, 91, 37, 0.16);
}

    .wizard-actions .btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 16px 30px rgba(22, 91, 37, 0.2);
    }

.btn-ki-light {
    background: #FFFFFF;
    border: 1px solid #e5d8ca;
    color: #666;
}

    .btn-ki-light:hover {
        background: #EEF4FC;
        color: #1D5FD1;
    }

/* ==========================================================
   PREVIEW CARDS
   ========================================================== */

.preview-grid {
    display: grid;
    gap: 1rem;
}

.preview-grid-landscape {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

    .preview-grid-landscape .preview-note {
        grid-column: span 2;
    }

.preview-card {
    background: #FFFFFF;
    border: 1px solid #D3DDE9;
    border-radius: 22px;
    padding: 1rem;
    box-shadow: 0 20px 50px rgba(10, 27, 47, 0.075), 0 6px 18px rgba(10, 27, 47, 0.04);
}

    .preview-card h4 {
        margin: 0 0 0.85rem;
        font-size: 1rem;
        font-weight: 900;
        color: #0B243D;
    }

    .preview-card dl {
        margin: 0;
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 0.45rem 0.75rem;
    }

    .preview-card dt {
        font-weight: 900;
        color: #1F2B3D;
    }

    .preview-card dd {
        margin: 0;
        color: #666;
    }

.preview-note ul {
    padding-left: 1.2rem;
}

/* ==========================================================
   AUTH STATES
   ========================================================== */

.auth-state {
    text-align: center;
}

.auth-state-icon {
    width: 88px;
    height: 88px;
    border-radius: 30px;
    margin: 0 auto 1.2rem;
    font-size: 2.4rem;
}

    .auth-state-icon.danger {
        background: #ffebee;
        color: var(--kt-danger-600, #d32f2f);
        border-color: rgba(211, 47, 47, 0.15);
    }

.auth-state h3 {
    font-size: 1.25rem;
    font-weight: 900;
    margin-bottom: 0.45rem;
}

.auth-state p {
    color: var(--kt-text-muted, #56667C);
    margin-bottom: 1.25rem;
}

.auth-actions-grid,
.otp-box-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
}

/* ==========================================================
   HIDE STRAY FLOATING BUTTON / SMALL SQUARE
   ========================================================== */

.auth-page .back-to-top,
.auth-page #backToTop,
.auth-page #back-top,
.auth-page #scrollTop,
.auth-page #scrollToTop,
.auth-page .scroll-top,
.auth-page .scrollToTop,
.auth-page .go-top,
.auth-page .backtop,
.auth-page .floating-action,
.auth-page .floating-button,
.auth-page .btn-back-to-top,
.auth-page .return-to-top,
.auth-page .sticky-widget,
.auth-page .fixed-widget,
.auth-page [aria-label="Back to top"],
.auth-page a[href="#top"],
.auth-page button[class*="top"],
.auth-page a[class*="top"],
.auth-page body > i,
.auth-page main + i,
.auth-page .bi-chevron-up:not(.auth-input-icon):not(.auth-card-icon *),
.auth-page .bi-arrow-up:not(.auth-input-icon):not(.auth-card-icon *) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ==========================================================
   OVERFLOW SAFETY
   ========================================================== */

.auth-form-card-register,
.auth-register-shell,
.auth-register-landscape-form,
.register-landscape-grid,
.register-form-panel,
.auth-section-card {
    max-width: 100%;
    overflow-x: hidden;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (min-width: 1400px) {
    .kitunzi-auth-register-shell {
        grid-template-columns: minmax(360px, 30vw) minmax(0, 1fr);
    }
}

@media (max-width: 1200px) {
    .kitunzi-auth-register-shell {
        grid-template-columns: minmax(330px, 34vw) minmax(0, 1fr);
    }
}

@media (max-width: 1100px) {
    .kitunzi-auth-shell,
    .kitunzi-auth-shell.kitunzi-auth-register-shell,
    .kitunzi-auth-register-shell {
        grid-template-columns: 1fr;
        overflow-y: auto;
    }

        .auth-showcase,
        .kitunzi-auth-register-shell .auth-showcase {
            display: none;
        }

    .auth-form-stage,
    .auth-form-stage-register {
        min-height: 100vh;
        padding: 1rem;
        align-items: center;
        justify-content: flex-start;
    }

    .auth-mobile-brand {
        display: block;
    }

    .auth-form-card,
    .auth-form-card-register {
        width: min(100%, 900px);
        max-width: 900px;
    }

    .auth-form-card-register {
        min-height: calc(100vh - 2rem);
    }

    .register-landscape-grid {
        grid-template-columns: 1fr;
    }

    .wizard-steps-vertical {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .register-help-card {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .auth-form-stage,
    .auth-form-stage-register {
        padding: 0.7rem;
    }

    .auth-form-card,
    .auth-form-card-register {
        padding: 0.85rem;
        border-radius: 20px;
    }

    .auth-form-card-register {
        min-height: auto;
    }

    .auth-form-card::before {
        top: 10px;
        left: 16px;
        right: 16px;
    }

    .auth-card-header {
        align-items: center;
        gap: 0.75rem;
    }

    .auth-card-icon {
        width: 46px;
        height: 46px;
        border-radius: 15px;
    }

    .auth-card-header h2 {
        font-size: 1.35rem;
    }

    .auth-form-grid,
    .auth-trust-row,
    .wizard-steps {
        grid-template-columns: 1fr;
    }

        .auth-field.span-2,
        .auth-form-grid .span-2 {
            grid-column: auto;
        }

    .wizard-steps-vertical {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

        .wizard-steps-vertical .wizard-step {
            min-height: 58px;
            padding: 0.7rem;
        }

            .wizard-steps-vertical .wizard-step small {
                display: none;
            }

    .wizard-actions,
    .register-landscape-actions,
    .wizard-action-right,
    .auth-inline-row {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
    }

        .wizard-actions .btn,
        .register-landscape-actions .btn,
        .wizard-action-right .btn {
            width: 100%;
            min-width: 0;
        }

    .preview-grid-landscape,
    .preview-card dl {
        grid-template-columns: 1fr;
    }

        .preview-grid-landscape .preview-note {
            grid-column: auto;
        }

    .auth-brand-mark {
        width: 64px;
        height: 64px;
    }

        .auth-brand-mark img {
            width: 46px;
            height: 46px;
        }

    .auth-brand-text strong {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .auth-form-stage,
    .auth-form-stage-register {
        padding: 0.65rem;
    }

    .auth-form-card,
    .auth-form-card-register {
        padding: 0.85rem;
        border-radius: 20px;
    }

        .auth-form-card::before {
            top: 10px;
            left: 14px;
            right: 14px;
        }

    .wizard-steps-vertical {
        grid-template-columns: 1fr;
    }

    .auth-brand-mark {
        width: 58px;
        height: 58px;
        border-radius: 18px;
    }

        .auth-brand-mark img {
            width: 40px;
            height: 40px;
        }

    .auth-brand-text strong {
        font-size: 1.28rem;
    }

    .auth-brand-text small {
        font-size: 0.76rem;
    }

    .auth-input-wrap .form-control,
    .auth-input-wrap .form-select {
        min-height: 50px;
        border-radius: 15px;
    }
}


/* Source: landing.css */
﻿
/* PAGE BASE */
html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.kitunzi-body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--kt-text);
    background: #FFFFFF;
    padding-top: var(--ki-navbar-height);
    padding-bottom: var(--kt-footer-height);
}

/* FIXED NAVBAR */
.landing-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    width: 100%;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--kt-border);
    box-shadow: var(--kt-shadow-sm);
}

    .landing-navbar .navbar {
        min-height: var(--ki-navbar-height);
        padding: 0;
    }

/* BRAND */
.kitunzi-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--kt-primary-700);
    text-decoration: none;
    min-width: max-content;
}

    .kitunzi-brand:hover {
        color: var(--kt-shell-950);
    }

.brand-logo-wrap {
    width: 118px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .brand-logo-wrap img {
        max-width: 118px;
        max-height: 54px;
        width: auto;
        height: auto;
        display: block;
    }

.brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.brand-name {
    color: var(--kt-primary-700);
    font-size: 1.45rem;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.brand-text small {
    color: var(--ki-orange);
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-top: 4px;
}

/* NAV LINKS */
.landing-navbar .navbar-nav {
    display: flex;
    align-items: center;
}

.landing-navbar .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--kt-shell-950);
    font-size: 0.94rem;
    font-weight: 800;
    padding: 0.72rem 0.9rem;
    border-radius: 999px;
    transition: all 0.22s ease;
}

    .landing-navbar .nav-link i {
        font-size: 0.95rem;
        color: var(--kt-primary-700);
    }

    .landing-navbar .nav-link:hover {
        color: var(--kt-primary-700);
        background: var(--kt-primary-100);
        transform: translateY(-1px);
    }

/* BUTTONS */
.btn-ki {
    min-height: 43px;
    padding: 0.68rem 1.25rem;
    border-radius: 999px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.92rem;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.22s ease;
}

    .btn-ki i {
        font-size: 1rem;
    }

.btn-ki-primary {
    color: #ffffff;
    background: var(--kt-primary-700);
    border-color: rgba(15, 100, 31, 0.45);
    box-shadow: 0 12px 28px rgba(15, 100, 31, 0.24);
}

    .btn-ki-primary:hover {
        color: #ffffff;
        transform: translateY(-2px);
        box-shadow: 0 18px 38px rgba(15, 100, 31, 0.3);
    }

.btn-ki-ghost {
    color: var(--kt-shell-950);
    background: #ffffff;
    border-color: rgba(15, 100, 31, 0.22);
    box-shadow: 0 8px 20px rgba(15, 100, 31, 0.08);
}

    .btn-ki-ghost:hover {
        color: var(--kt-shell-950);
        background: var(--kt-primary-100);
        border-color: rgba(15, 100, 31, 0.34);
        transform: translateY(-2px);
    }

/* TOGGLER */
.kitunzi-toggler {
    width: 46px;
    height: 43px;
    border: 1px solid rgba(15, 100, 31, 0.18);
    border-radius: 16px;
    background: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(15, 100, 31, 0.1);
}

    .kitunzi-toggler:focus {
        box-shadow: 0 0 0 0.22rem rgba(15, 100, 31, 0.18);
    }

    .kitunzi-toggler i {
        color: var(--kt-primary-700);
        font-size: 1.55rem;
    }

/* MAIN CONTENT */
.main-content {
    min-height: calc(100vh - var(--ki-navbar-height) - var(--kt-footer-height));
}

/* FIXED FOOTER */
.footer-ki {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1035;
    min-height: var(--kt-footer-height);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-top: 1px solid var(--kt-border);
    box-shadow: 0 -12px 35px rgba(15, 100, 31, 0.08);
    color: var(--ki-muted);
}

.footer-inner {
    min-height: var(--kt-footer-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .footer-brand strong {
        color: var(--kt-shell-950);
        font-size: 1rem;
    }

    .footer-brand span {
        color: var(--ki-muted);
        font-size: 0.84rem;
    }

.footer-copy {
    color: var(--ki-muted);
    font-size: 0.88rem;
    text-align: right;
}

    .footer-copy strong {
        color: var(--kt-shell-950);
    }

/* TOAST CONTAINER */
#toastContainer {
    position: fixed;
    right: 22px;
    bottom: calc(var(--kt-footer-height) + 22px);
    z-index: 1060;
}

/* SCROLL TOP */
.scroll-top {
    position: fixed;
    right: 24px;
    bottom: calc(var(--kt-footer-height) + 24px);
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: var(--kt-primary-700);
    color: #ffffff;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 16px 35px rgba(15, 100, 31, 0.28);
    z-index: 1045;
    transition: all 0.22s ease;
}

    .scroll-top:hover {
        transform: translateY(-3px);
        box-shadow: 0 20px 42px rgba(15, 100, 31, 0.34);
    }

/* HERO SECTION SUPPORT */
.hero,
.landing-hero,
.home-hero {
    padding-top: 42px;
}

/* MOBILE */
@media (max-width: 991.98px) {


    .landing-navbar .navbar {
        min-height: var(--ki-navbar-height);
    }

    .brand-logo-wrap {
        width: 92px;
        height: 46px;
    }

        .brand-logo-wrap img {
            max-width: 92px;
            max-height: 46px;
        }

    .brand-name {
        font-size: 1.18rem;
    }

    .brand-text small {
        font-size: 0.52rem;
    }

    .landing-navbar .navbar-collapse {
        margin-top: 12px;
        padding: 14px;
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid var(--kt-border);
        border-radius: 22px;
        box-shadow: 0 18px 45px rgba(15, 100, 31, 0.14);
    }

    .landing-navbar .navbar-nav {
        align-items: stretch !important;
        gap: 8px;
    }

    .landing-navbar .nav-link {
        width: 100%;
        padding: 0.82rem 0.95rem;
        border-radius: 16px;
        background: var(--kt-primary-700-pale);
    }

    .btn-ki {
        width: 100%;
        min-height: 46px;
    }

    .footer-inner {
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        text-align: center;
        padding: 10px 0;
    }

    .footer-copy {
        text-align: center;
        font-size: 0.78rem;
    }

    .footer-brand span {
        display: none;
    }

    #toastContainer {
        left: 14px;
        right: 14px;
        bottom: calc(var(--kt-footer-height) + 16px);
    }

    .scroll-top {
        right: 18px;
        bottom: calc(var(--kt-footer-height) + 18px);
    }
}

@media (max-width: 575.98px) {
    .kitunzi-brand {
        gap: 8px;
    }

    .brand-logo-wrap {
        width: 82px;
    }

        .brand-logo-wrap img {
            max-width: 82px;
        }

    .brand-name {
        font-size: 1.05rem;
    }

    .brand-text small {
        display: none;
    }

    .kitunzi-toggler {
        width: 42px;
        height: 40px;
        border-radius: 14px;
    }
}


/* Source: kitunzi-responsive-system.css */
/* ==========================================================
   KITUNZI RESPONSIVE SYSTEM
   Purpose: final responsive layer loaded after existing CSS.
   Scope: public, auth, platform, bar areas.
   ========================================================== */



html {
    min-width: 0;
    overflow-x: hidden;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    min-width: 0;
    overflow-x: hidden;
    background: var(--ki-shell-bg);
}

*, *::before, *::after {
    box-sizing: border-box;
}

img, svg, video, canvas, iframe {
    max-width: 100%;
}

/* Remove decorative template overflow and gradients without breaking layout. */
[class*="glow"],
[class*="ring"],
[class*="circle"],
[class*="shape"],
[class*="blob"],
[class*="decor"] {
    pointer-events: none;
}

/* ==========================================================
   SHELLS AND LAYOUTS
   ========================================================== */

.main-content,
.page-content,
.content-wrapper,
.bar-main,
.platform-main,
.public-main,
.auth-form-stage,
.auth-form-stage-register,
.kitunzi-auth-shell,
.app-shell,
.dashboard-page,
.page-shell {
    min-width: 0 !important;
    max-width: 100% !important;
}

.main-content,
.page-content,
.bar-main,
.platform-main {
    padding-inline: clamp(.65rem, 1.6vw, 1.35rem) !important;
}

.container,
.container-fluid {
    min-width: 0;
}

.page-header,
.ki-page-header,
.dashboard-hero,
.section-header,
.card-header,
.topbar,
.bar-topbar,
.platform-topbar,
.public-footer-inner,
.auth-card-header {
    min-width: 0;
}

.page-header,
.ki-page-header,
.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ki-space-3);
    flex-wrap: wrap;
}

    .page-header > *,
    .ki-page-header > *,
    .section-header > *,
    .card-header > *,
    .topbar > *,
    .bar-topbar > *,
    .platform-topbar > * {
        min-width: 0;
    }

    .page-header h1,
    .ki-page-header h1,
    .section-header h1,
    .page-title,
    h1, h2, h3, h4, h5, h6 {
        overflow-wrap: anywhere;
    }

/* Sidebars should never trap very small screens. */
.sidebar,
.bar-sidebar,
.platform-sidebar {
    max-width: min(88vw, 320px) !important;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.sidebar-nav,
.sidebar-section,
.sidebar-link,
.sidebar-dropdown,
.sidebar-submenu {
    min-width: 0;
}

    .sidebar-link,
    .sidebar-submenu a,
    .sidebar-nav a {
        min-height: 42px;
        overflow-wrap: anywhere;
    }

/* ==========================================================
   CARDS, DASHBOARDS AND SUMMARY BLOCKS
   ========================================================== */

.card,
.card-ki,
.stat-card,
.summary-card,
.dashboard-card,
.dashboard-stat-card,
.dashboard-small-stat,
.info-card,
.panel,
.auth-form-card,
.auth-section-card,
.register-step-panel,
.register-form-panel {
    min-width: 0 !important;
    max-width: 100% !important;
    border: 1px solid var(--kt-border-color) !important;
    border-radius: var(--kt-radius-lg) !important;
    background: var(--ki-surface) !important;
    box-shadow: 0 10px 24px rgba(10, 27, 47, .055) !important;
}

.stat-card,
.summary-card,
.dashboard-stat-card,
.dashboard-small-stat,
.metric-card,
.kpi-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: .65rem;
    padding: clamp(.75rem, 1.3vw, 1rem) !important;
    min-height: 102px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .stat-card:hover,
    .summary-card:hover,
    .dashboard-stat-card:hover,
    .dashboard-small-stat:hover,
    .metric-card:hover,
    .kpi-card:hover {
        transform: translateY(-2px);
        border-color: rgba(29, 95, 209, .24) !important;
        box-shadow: 0 16px 32px rgba(10, 27, 47, .08) !important;
    }

.stat-icon,
.summary-icon,
.metric-icon,
.kpi-icon,
.card-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--kt-primary-100);
    color: var(--kt-primary-700);
    border: 1px solid rgba(29, 95, 209, .14);
}

.stat-value,
.summary-value,
.metric-value,
.kpi-value {
    color: var(--kt-shell-950);
    font-size: clamp(1.05rem, 2vw, 1.55rem) !important;
    line-height: 1.1;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.stat-label,
.summary-label,
.metric-label,
.kpi-label {
    color: var(--ki-muted);
    font-size: .75rem !important;
    font-weight: 850;
    text-transform: none;
}

.dashboard-stat-grid,
.secondary-stats,
.quick-action-grid,
.preview-stat-grid,
.auth-feature-grid,
.auth-form-grid,
.register-landscape-grid,
.preview-grid-landscape,
.session-money-grid,
.close-summary-box {
    min-width: 0;
}

.dashboard-stat-grid,
.secondary-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
    gap: clamp(.6rem, 1.2vw, .9rem) !important;
}

.quick-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)) !important;
    gap: .65rem !important;
}

.quick-action-card {
    min-width: 0 !important;
    min-height: 58px;
}

/* ==========================================================
   TABLES
   ========================================================== */

.table-responsive,
.ki-table-responsive,
.responsive-table-shell {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--kt-radius-md);
}

table,
.table,
.table-ki,
.data-table {
    width: 100%;
    min-width: 720px;
    border-collapse: separate;
    border-spacing: 0;
}

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

    .table-ki td,
    .table td {
        max-width: 340px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .table-ki td .btn,
        .table td .btn,
        .table-actions .btn,
        .action-buttons .btn {
            white-space: nowrap;
        }

/* Mobile table card mode for tables with data-labels. */
@media (max-width: 575.98px) {
    table.mobile-card-table,
    table.mobile-card-table thead,
    table.mobile-card-table tbody,
    table.mobile-card-table tr,
    table.mobile-card-table th,
    table.mobile-card-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

        table.mobile-card-table thead {
            display: none;
        }

    table.mobile-card-table {
        min-width: 0 !important;
        border-spacing: 0 .75rem;
    }

        table.mobile-card-table tbody tr {
            padding: .75rem;
            border: 1px solid var(--kt-border-color);
            border-radius: var(--kt-radius-md);
            background: var(--ki-surface-2);
            box-shadow: 0 8px 18px rgba(10, 27, 47, .04);
        }

        table.mobile-card-table td {
            max-width: none;
            display: grid;
            grid-template-columns: minmax(90px, 42%) 1fr;
            gap: .5rem;
            padding: .45rem 0 !important;
            white-space: normal !important;
            overflow: visible;
            text-overflow: initial;
            border: 0 !important;
        }

            table.mobile-card-table td::before {
                content: attr(data-label);
                color: var(--ki-muted);
                font-size: .72rem;
                font-weight: 850;
            }
}

/* ==========================================================
   FORMS, BUTTONS AND MODALS
   ========================================================== */

.form-control,
.form-select,
.input-group-text,
.btn,
.dropdown-menu,
.modal-content {
    max-width: 100%;
}

.form-control,
.form-select {
    min-height: 42px;
    border-radius: 12px;
}

textarea.form-control {
    min-height: 110px;
}

.form-grid,
.auth-form-grid,
.filters-grid,
.filter-grid,
.search-filter-row,
.row.g-3,
.row.g-2 {
    min-width: 0;
}

.btn,
.btn-ki,
.btn-sm,
.btn-ki-sm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 0;
    white-space: nowrap;
}

.btn-group,
.action-buttons,
.table-actions,
.form-actions,
.wizard-actions,
.register-landscape-actions,
.modal-footer {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.modal-dialog {
    margin-inline: auto;
    max-width: min(96vw, var(--bs-modal-width, 680px));
}

.modal-body {
    overflow-x: auto;
}

/* ==========================================================
   POS AND SALES SPECIFIC RESPONSIVENESS
   ========================================================== */

.pos-shell,
.pos-layout,
.pos-grid,
.pos-products-grid,
.pos-cart,
.cart-panel,
.sales-layout,
.receipt-shell {
    min-width: 0 !important;
    max-width: 100% !important;
}

.pos-grid,
.pos-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: 1rem;
}

.pos-products-grid,
.product-grid,
.room-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
    gap: .75rem;
}

.cart-panel,
.pos-cart {
    position: sticky;
    top: 90px;
    align-self: start;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

/* ==========================================================
   AUTH RESPONSIVENESS
   ========================================================== */

.auth-page {
    overflow-x: hidden;
}

.kitunzi-auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(320px, 34%) minmax(0, 1fr);
}

.kitunzi-auth-register-shell {
    grid-template-columns: 1fr !important;
}

.auth-register-page .auth-showcase {
    display: none !important;
}

.auth-form-stage,
.auth-form-stage-register {
    padding: clamp(.75rem, 2vw, 2rem) !important;
    overflow-x: hidden;
}

.auth-form-card {
    width: min(100%, 620px) !important;
}

.auth-form-card-register {
    width: min(100%, 1280px) !important;
}

.auth-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}

    .auth-form-grid .span-2,
    .auth-field.span-2 {
        grid-column: span 2;
    }

.register-landscape-grid {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 1rem;
}

/* ==========================================================
   PUBLIC LAYOUT RESPONSIVENESS
   ========================================================== */

.public-navbar,
.public-footer {
    max-width: 100vw;
}

.public-footer-inner {
    min-width: 0;
}

.footer-brand-copy,
.footer-meta,
.footer-credit,
.footer-links {
    min-width: 0;
}

/* ==========================================================
   BREAKPOINTS
   ========================================================== */

@media (max-width: 1199.98px) {
    .pos-grid,
    .pos-layout {
        grid-template-columns: 1fr;
    }

    .cart-panel,
    .pos-cart {
        position: static;
        max-height: none;
    }

    .register-landscape-grid {
        grid-template-columns: 1fr !important;
    }

    .wizard-steps-vertical {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991.98px) {
    .main-content,
    .page-content,
    .bar-main,
    .platform-main {
        padding-inline: .75rem !important;
    }

    .topbar,
    .bar-topbar,
    .platform-topbar {
        gap: .6rem !important;
    }

    .topbar-search,
    .search-box,
    .global-search {
        order: 10;
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .kitunzi-auth-shell {
        grid-template-columns: 1fr !important;
    }

    .auth-showcase {
        display: none !important;
    }

    .auth-mobile-brand {
        display: flex !important;
    }

    .auth-form-card,
    .auth-form-card-register {
        width: min(100%, 920px) !important;
    }

    .modal-dialog {
        width: calc(100vw - 1.25rem);
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: .94rem;
    }

    .container,
    .container-fluid {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .page-header,
    .ki-page-header,
    .section-header,
    .card-header,
    .auth-card-header {
        align-items: flex-start !important;
        flex-direction: column;
    }

        .page-header .btn,
        .ki-page-header .btn,
        .section-header .btn,
        .card-header .btn,
        .form-actions .btn,
        .wizard-actions .btn,
        .register-landscape-actions .btn {
            width: 100%;
        }

    .btn-group,
    .action-buttons,
    .table-actions,
    .form-actions,
    .wizard-actions,
    .register-landscape-actions,
    .modal-footer {
        align-items: stretch;
        flex-direction: column;
    }

        .btn-group .btn,
        .action-buttons .btn,
        .table-actions .btn,
        .form-actions .btn,
        .modal-footer .btn {
            width: 100%;
        }

    .auth-form-grid,
    .preview-grid-landscape,
    .session-money-grid,
    .close-summary-box {
        grid-template-columns: 1fr !important;
    }

        .auth-form-grid .span-2,
        .auth-field.span-2 {
            grid-column: auto !important;
        }

    .wizard-steps-vertical {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .public-footer-inner {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .footer-meta,
    .footer-links {
        width: 100%;
        justify-content: flex-start !important;
        white-space: normal !important;
    }
}

@media (max-width: 575.98px) {
    body {
        font-size: .9rem;
    }

    h1, .h1, .page-title {
        font-size: clamp(1.35rem, 8vw, 1.85rem) !important;
    }

    h2, .h2 {
        font-size: clamp(1.2rem, 7vw, 1.55rem) !important;
    }

    .card,
    .card-ki,
    .dashboard-card,
    .auth-form-card,
    .auth-section-card,
    .modal-content {
        border-radius: 16px !important;
    }

    .card-body,
    .auth-section-card,
    .auth-form-card,
    .register-step-panel,
    .register-form-panel {
        padding: .85rem !important;
    }

    .form-control,
    .form-select,
    .btn {
        min-height: 44px;
    }

    .sidebar,
    .bar-sidebar,
    .platform-sidebar {
        max-width: 92vw !important;
    }

    .wizard-steps-vertical {
        grid-template-columns: 1fr !important;
    }

    .stat-card,
    .summary-card,
    .dashboard-stat-card,
    .dashboard-small-stat {
        min-height: 92px;
    }

    .public-brand img,
    .sidebar-logo-wide,
    .brand-logo-wide-wrap img {
        max-width: 160px !important;
        height: auto !important;
    }
}

@media (max-width: 360px) {
    .container,
    .container-fluid,
    .main-content,
    .page-content,
    .bar-main,
    .platform-main,
    .auth-form-stage,
    .auth-form-stage-register {
        padding-left: .5rem !important;
        padding-right: .5rem !important;
    }

    .btn,
    .public-nav-link,
    .sidebar-link {
        font-size: .82rem !important;
    }

    .stat-value,
    .summary-value,
    .metric-value,
    .kpi-value {
        font-size: 1.05rem !important;
    }

    .footer-brand-mark,
    .stat-icon,
    .summary-icon,
    .metric-icon,
    .kpi-icon {
        width: 36px;
        height: 36px;
        border-radius: 12px;
    }
}



/* ============================================================
   EXTRACTED VIEW STYLES
   Former inline <style> blocks moved here to avoid conflicts.
   ============================================================ */


/* View: Views/Shared/_PublicLayout.cshtml */



html {
    min-height: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--public-navbar-height) + 18px);
}

body {
    min-height: 100vh;
    margin: 0;
    padding-top: var(--public-navbar-height);
    padding-bottom: var(--public-footer-height);
    background: var(--public-body);
    color: var(--public-text);
    overflow-x: hidden;
    font-family: var(--ki-font, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

    body.public-menu-open {
        overflow: hidden;
    }

/* ==========================================================
               FIXED PUBLIC NAVBAR
               ========================================================== */

.public-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    min-height: var(--public-navbar-height);
    background: #FFFFFF;
    border-bottom: 1px solid var(--public-border);
    box-shadow: 0 8px 22px rgba(10, 27, 47, 0.06);
}

    .public-navbar .navbar,
    .public-navbar .container {
        min-height: var(--public-navbar-height);
    }

    .public-navbar .navbar {
        padding: 0;
    }

.public-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    color: var(--kt-shell-950);
    text-decoration: none;
    font-weight: 900;
}

    .public-brand img {
        display: block;
        height: 48px;
        width: auto;
        max-width: 200px;
        object-fit: contain;
    }

.navbar-toggler {
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--public-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: none !important;
}

    .navbar-toggler:focus {
        box-shadow: 0 0 0 0.18rem rgba(22, 108, 37, 0.12) !important;
    }

.public-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.32rem;
    padding: 0.52rem 0.82rem;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #244b2c;
    font-size: 0.86rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

    .public-nav-link:hover,
    .public-nav-link.active {
        background: var(--kt-primary-100);
        color: var(--kt-primary-700);
        border-color: rgba(22, 108, 37, 0.14);
    }

.public-nav-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

    .public-nav-actions .btn {
        min-height: 38px;
        border-radius: 12px;
        white-space: nowrap;
    }

/* ==========================================================
               MAIN CONTENT
               ========================================================== */

.public-main {
    min-height: calc(100vh - var(--public-navbar-height) - var(--public-footer-height));
    width: 100%;
    background: var(--public-body);
}

/* ==========================================================
               FIXED PUBLIC FOOTER
               ========================================================== */

.public-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    min-height: var(--public-footer-height);
    display: flex;
    align-items: center;
    padding: 0.55rem 0;
    background: #ffffff;
    border-top: 1px solid var(--public-border);
    box-shadow: 0 -8px 22px rgba(10, 27, 47, 0.045);
    color: var(--public-muted);
    font-size: 0.8rem;
    font-weight: 750;
}

    .public-footer strong {
        color: var(--kt-primary-700);
        font-weight: 950;
    }

.public-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

.footer-brand-area {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.footer-brand-mark {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 14px;
    background: var(--kt-primary-100);
    color: var(--kt-primary-700);
    border: 1px solid rgba(22, 108, 37, 0.14);
    font-size: 1.15rem;
}

.footer-brand-copy {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

    .footer-brand-copy > strong {
        color: var(--kt-shell-950);
        font-size: 0.86rem;
        font-weight: 950;
    }

    .footer-brand-copy span {
        color: var(--public-muted);
        font-size: 0.76rem;
        font-weight: 750;
    }

        .footer-brand-copy span strong {
            color: var(--kt-primary-700);
            font-size: inherit;
        }

.footer-meta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
    color: var(--public-muted);
    white-space: nowrap;
}

.footer-year {
    color: var(--kt-shell-950);
    font-weight: 850;
}

.footer-divider {
    width: 1px;
    height: 20px;
    display: inline-block;
    background: var(--public-border);
}

.footer-link {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.35rem 0.6rem;
    border-radius: 10px;
    color: var(--public-muted);
    font-weight: 850;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease;
}

    .footer-link:hover {
        color: var(--kt-primary-700);
        background: var(--kt-primary-100);
    }

/* ==========================================================
               REMOVE OLD / DUPLICATE SCROLL-UP BUTTONS
               Keep only #publicBackToTop
               ========================================================== */

body.public-layout #scrollTop,
body.public-layout #scrollUp,
body.public-layout #backToTop,
body.public-layout #back-top,
body.public-layout #scrollToTop,
body.public-layout .scroll-top,
body.public-layout .scrollToTop,
body.public-layout .scroll-to-top,
body.public-layout .back-to-top,
body.public-layout .go-top,
body.public-layout .backtop,
body.public-layout .btn-back-to-top,
body.public-layout .return-to-top,
body.public-layout .theme-scroll-top,
body.public-layout a[href="#top"],
body.public-layout button[class*="scroll"]:not(#publicBackToTop),
body.public-layout button[class*="top"]:not(#publicBackToTop),
body.public-layout a[class*="scroll"],
body.public-layout a[class*="top"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#publicBackToTop {
    position: fixed;
    right: 1.25rem;
    bottom: calc(var(--public-footer-height) + 1rem);
    z-index: 1060;
    width: 46px;
    height: 46px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 12px;
    background: var(--kt-primary-700);
    color: #ffffff;
    font-size: 1.05rem;
    box-shadow: 0 10px 22px rgba(22, 108, 37, 0.22);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

    #publicBackToTop.show {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    #publicBackToTop:hover {
        background: var(--kt-shell-950);
    }

    #publicBackToTop:focus {
        outline: 2px solid rgba(255, 152, 0, 0.45);
        outline-offset: 3px;
    }

/* ==========================================================
               RESPONSIVE
               ========================================================== */

@media (max-width: 991.98px) {


    .public-brand img {
        height: 44px;
        max-width: 180px;
    }

    .public-navbar .navbar-collapse {
        margin-top: 0.65rem;
        padding: 0.75rem;
        background: #ffffff;
        border: 1px solid var(--public-border);
        border-radius: 16px;
        box-shadow: 0 14px 28px rgba(10, 27, 47, 0.08);
        max-height: calc(100vh - var(--public-navbar-height) - 1.5rem);
        overflow-y: auto;
    }

    .public-navbar .navbar-nav {
        align-items: stretch !important;
        gap: 0.35rem !important;
    }

    .public-nav-link {
        width: 100%;
        justify-content: flex-start;
    }

    .public-nav-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-top: 0.65rem;
    }

        .public-nav-actions .btn {
            width: 100%;
            justify-content: center;
        }
}

@media (max-width: 767.98px) {


    .public-footer {
        min-height: var(--public-footer-height);
        padding: 0.6rem 0;
    }

    .public-footer-inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 0.55rem;
    }

    .footer-meta {
        width: 100%;
        justify-content: flex-start;
        white-space: normal;
    }

    .footer-divider {
        display: none;
    }

    #publicBackToTop {
        right: 1rem;
        bottom: calc(var(--public-footer-height) + 0.85rem);
        width: 42px;
        height: 42px;
        border-radius: 10px;
    }
}

@media (max-width: 420px) {


    .public-brand img {
        height: 40px;
        max-width: 150px;
    }

    .public-nav-actions {
        grid-template-columns: 1fr;
    }

    .public-footer {
        font-size: 0.72rem;
    }

    .footer-brand-area {
        align-items: flex-start;
    }

    .footer-brand-mark {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    .footer-brand-copy span {
        font-size: 0.72rem;
    }

    .footer-meta {
        gap: 0.35rem;
    }

    .footer-link {
        padding-left: 0;
    }
}


/* View: Views/Home/Index.cshtml */

.home-page {
    background: #F8FAFD;
    color: var(--kt-shell-950);
}

.home-hero {
    padding: 5.5rem 0 4rem;
    background: #F8FAFD;
}

.home-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    background: #EEF4FC;
    border: 1px solid rgba(22, 108, 37, 0.14);
    color: var(--kt-shell-950);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.home-title {
    max-width: 760px;
    margin: 1rem 0;
    color: var(--kt-shell-950);
    font-size: clamp(2.35rem, 5vw, 4.7rem);
    line-height: 0.98;
    font-weight: 950;
    letter-spacing: -0.055em;
}

    .home-title span {
        color: var(--kt-primary-700);
    }

.home-subtitle {
    max-width: 680px;
    color: var(--kt-text-muted);
    font-size: 1.05rem;
    line-height: 1.7;
    font-weight: 650;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.45rem;
}

    .hero-actions .btn {
        min-height: 48px;
        border-radius: 14px;
    }

.hero-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 850;
}

.hero-preview-card {
    padding: 1.05rem;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(22, 108, 37, 0.16);
    box-shadow: 0 20px 46px rgba(10, 27, 47, 0.08);
}

.preview-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem;
    border-radius: 18px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
}

.preview-logo-box {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.2rem;
    flex: 0 0 auto;
}

.status-chip-live {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.36rem 0.7rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 0.72rem;
    font-weight: 900;
    white-space: nowrap;
}

    .status-chip-live span {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: var(--kt-primary-700);
    }

.preview-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.preview-stat {
    padding: 1rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #D3DDE9;
    transition: 0.18s ease;
}

    .preview-stat:hover {
        transform: translateY(-2px);
        border-color: rgba(22, 108, 37, 0.24);
        box-shadow: 0 14px 26px rgba(10, 27, 47, 0.06);
    }

    .preview-stat small {
        display: block;
        color: var(--kt-text-muted);
        font-size: 0.68rem;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .preview-stat strong {
        display: block;
        margin-top: 0.25rem;
        color: var(--kt-shell-950);
        font-size: 1.55rem;
        font-weight: 950;
        letter-spacing: -0.03em;
    }

.preview-progress {
    margin-top: 0.9rem;
    padding: 1rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #D3DDE9;
}

.progress-line {
    height: 10px;
    border-radius: 999px;
    background: #EEF4FC;
    overflow: hidden;
}

    .progress-line span {
        display: block;
        height: 100%;
        background: var(--kt-primary-700);
        border-radius: 999px;
    }

.section-block {
    padding: 4rem 0;
    background: #F8FAFD;
}

    .section-block.cream {
        background: #fff8ed;
        border-top: 1px solid #D3DDE9;
        border-bottom: 1px solid #D3DDE9;
    }

.section-heading {
    text-align: center;
    max-width: 740px;
    margin: 0 auto 2.2rem;
}

    .section-heading h2 {
        color: var(--kt-shell-950);
        font-size: clamp(1.65rem, 3vw, 2.45rem);
        font-weight: 950;
        letter-spacing: -0.035em;
    }

    .section-heading p {
        color: var(--kt-text-muted);
        font-size: 0.96rem;
        font-weight: 650;
        margin-bottom: 0;
    }

.feature-card-updated,
.workflow-card-updated,
.uganda-card,
.report-preview-card {
    height: 100%;
    padding: 1.05rem;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #D3DDE9;
    box-shadow: 0 10px 22px rgba(10, 27, 47, 0.04);
    transition: 0.18s ease;
}

    .feature-card-updated:hover,
    .workflow-card-updated:hover,
    .uganda-card:hover,
    .report-preview-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 18px 34px rgba(10, 27, 47, 0.075);
        border-color: rgba(22, 108, 37, 0.24);
    }

.feature-icon,
.workflow-number,
.uganda-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
    font-weight: 950;
    border: 1px solid rgba(22, 108, 37, 0.12);
}

.accent-primary {
    background: #EEF4FC;
    color: var(--kt-primary-700);
}

.accent-warning {
    background: #FFF5DB;
    color: #e67600;
    border-color: rgba(255, 152, 0, 0.18);
}

.accent-blue {
    background: #E5F5FB;
    color: #1D5FD1;
    border-color: rgba(21, 101, 192, 0.14);
}

.accent-purple {
    background: #F0EEFC;
    color: #6F63C2;
    border-color: rgba(123, 31, 162, 0.14);
}

.feature-card-updated h5,
.workflow-card-updated h5,
.uganda-card h5 {
    color: var(--kt-shell-950);
    font-size: 0.98rem;
    font-weight: 900;
    margin-bottom: 0.4rem;
}

.feature-card-updated p,
.workflow-card-updated p,
.uganda-card p {
    margin: 0;
    color: var(--kt-text-muted);
    font-size: 0.82rem;
    line-height: 1.58;
    font-weight: 650;
}

.intelligence-list {
    font-size: 0.9rem;
    font-weight: 750;
    color: var(--kt-shell-950);
}

.dashboard-showcase {
    padding: 1.1rem;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(22, 108, 37, 0.16);
    box-shadow: 0 20px 46px rgba(10, 27, 47, 0.08);
}

.dashboard-bars {
    display: flex;
    align-items: end;
    gap: 0.55rem;
    height: 150px;
    padding: 1rem;
    border-radius: 18px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
}

    .dashboard-bars span {
        flex: 1;
        min-width: 18px;
        border-radius: 12px 12px 4px 4px;
        background: var(--kt-primary-700);
    }

        .dashboard-bars span:nth-child(even) {
            background: var(--kt-warning-600);
        }

.bar-labels {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.55rem;
    margin-top: 0.6rem;
    color: var(--kt-text-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-align: center;
}

.cta-section-updated {
    padding: 4rem 0;
    background: var(--kt-primary-700);
    color: #ffffff;
}

    .cta-section-updated h2 {
        color: #ffffff;
        font-size: clamp(1.8rem, 4vw, 3rem);
        font-weight: 950;
        letter-spacing: -0.04em;
    }

    .cta-section-updated p {
        color: rgba(255, 255, 255, 0.82);
    }

.cta-box {
    max-width: 820px;
    margin-inline: auto;
}

.accordion-ki .accordion-item {
    border: 1px solid #D3DDE9;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 0.75rem;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(10, 27, 47, 0.035);
}

.accordion-ki .accordion-button {
    font-weight: 900;
    color: var(--kt-shell-950);
    background: #ffffff;
    box-shadow: none;
}

    .accordion-ki .accordion-button:not(.collapsed) {
        background: #EEF4FC;
        color: var(--kt-shell-950);
    }

.accordion-ki .accordion-body {
    color: var(--kt-text-muted);
    font-weight: 600;
    line-height: 1.65;
}

@media (max-width: 991.98px) {
    .home-hero {
        padding: 3.5rem 0 3rem;
    }

    .hero-preview-card {
        margin-top: 1rem;
    }

    .dashboard-bars {
        height: 130px;
    }
}

@media (max-width: 767.98px) {
    .home-title {
        font-size: clamp(2rem, 12vw, 3.1rem);
    }

    .home-subtitle {
        font-size: 0.95rem;
    }

    .preview-stat-grid {
        grid-template-columns: 1fr;
    }

    .section-block {
        padding: 3rem 0;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-trust-row {
        align-items: stretch;
        flex-direction: column;
    }

    .trust-pill {
        justify-content: center;
    }

    .bar-labels {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 0.35rem;
    }
}

@media (max-width: 420px) {
    .preview-topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .status-chip-live {
        width: 100%;
        justify-content: center;
    }

    .dashboard-bars {
        gap: 0.35rem;
        padding: 0.75rem;
    }
}


/* View: Areas/Bar/Views/Dashboard/Index.cshtml */

.dashboard-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-radius: 24px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 18px 42px rgba(10, 27, 47, 0.08);
    margin-bottom: 0.95rem;
}

    .dashboard-hero::before {
        content: "";
        position: absolute;
        inset: auto -90px -120px auto;
        width: 260px;
        height: 260px;
        border-radius: 50%;
        background: rgba(29, 95, 209, 0.08);
        pointer-events: none;
    }

.dashboard-hero-content {
    position: relative;
    z-index: 1;
}

.dashboard-hero h1 {
    margin: 0.2rem 0;
    color: var(--kt-shell-950);
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 950;
    letter-spacing: -0.04em;
}

.dashboard-hero p {
    margin: 0;
    color: var(--kt-text-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.dashboard-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: rgba(29, 95, 209, 0.1);
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dashboard-scope-pill {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.55rem;
    padding: 0.38rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 250, 243, 0.9);
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 850;
}

    .dashboard-scope-pill strong {
        padding: 0.14rem 0.45rem;
        border-radius: 999px;
        background: #EEF4FC;
        color: var(--kt-shell-950);
        font-size: 0.7rem;
        font-weight: 950;
    }

.dashboard-hero-status {
    position: relative;
    z-index: 1;
    min-width: 220px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.9rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(29, 95, 209, 0.12);
    box-shadow: 0 12px 26px rgba(10, 27, 47, 0.06);
    backdrop-filter: blur(10px);
}

    .dashboard-hero-status small {
        display: block;
        color: var(--kt-text-muted);
        font-size: 0.67rem;
        font-weight: 900;
        text-transform: uppercase;
    }

    .dashboard-hero-status strong {
        color: var(--kt-shell-950);
        font-size: 0.95rem;
        font-weight: 950;
    }

    .dashboard-hero-status > i {
        color: var(--kt-primary-700);
        font-size: 1.25rem;
    }

.live-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    display: inline-block;
    position: relative;
}

    .live-dot::after {
        content: "";
        position: absolute;
        inset: -6px;
        border-radius: inherit;
        opacity: 0.35;
        animation: pulseRing 1.7s infinite;
    }

.live-dot-open,
.live-dot-open::after {
    background: var(--kt-primary-700);
}

.live-dot-closed,
.live-dot-closed::after {
    background: var(--kt-danger-600);
}

.dashboard-alert {
    border: 0;
    border-radius: 16px;
    box-shadow: 0 12px 24px rgba(10, 27, 47, 0.055);
}

.personal-dashboard-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 12px 28px rgba(10, 27, 47, 0.055);
}

.personal-dashboard-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.35rem;
    flex: 0 0 auto;
}

.personal-dashboard-card h5 {
    margin: 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.personal-dashboard-card p {
    margin: 0.2rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.82rem;
    font-weight: 750;
}

.session-workflow-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.95fr);
    gap: 0.9rem;
    align-items: stretch;
}

.session-control-panel,
.session-form-panel {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: rgba(255, 253, 249, 0.96);
    box-shadow: 0 18px 38px rgba(10, 27, 47, 0.075);
}

.session-control-panel {
    display: grid;
    gap: 1rem;
    align-content: center;
    padding: 1.05rem;
}

.session-glow {
    position: absolute;
    right: -80px;
    top: -90px;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: rgba(29, 95, 209, 0.09);
    pointer-events: none;
}

.session-control-main {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.session-icon {
    width: 58px;
    height: 58px;
    border-radius: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
}

.session-open {
    background: #EEF4FC;
    color: var(--kt-primary-700);
    border: 1px solid rgba(29, 95, 209, 0.16);
}

.session-closed {
    background: #ffebee;
    color: var(--kt-danger-600);
    border: 1px solid rgba(198, 40, 40, 0.16);
}

.session-label {
    color: var(--kt-text-muted);
    font-size: 0.68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.session-control-main h5 {
    margin: 0.08rem 0;
    color: var(--kt-shell-950);
    font-size: 1.08rem;
    font-weight: 950;
}

.session-control-main p {
    margin: 0;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    font-weight: 750;
}

.session-progress-line {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto;
    align-items: center;
    gap: 0.55rem;
    color: var(--kt-text-muted);
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

    .session-progress-line .line {
        height: 4px;
        border-radius: 999px;
        background: #D3DDE9;
    }

    .session-progress-line .line-active {
        background: var(--kt-primary-700);
    }

    .session-progress-line .active-step {
        color: var(--kt-shell-950);
    }

.session-money-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

    .session-money-grid div,
    .close-summary-box div {
        padding: 0.75rem 0.8rem;
        border-radius: 16px;
        background: #F8FAFD;
        border: 1px solid #D3DDE9;
        transition: transform .18s ease, box-shadow .18s ease;
    }

        .session-money-grid div:hover,
        .close-summary-box div:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(10, 27, 47, 0.06);
        }

    .session-money-grid span,
    .close-summary-box span {
        display: block;
        color: var(--kt-text-muted);
        font-size: 0.67rem;
        font-weight: 950;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .session-money-grid strong,
    .close-summary-box strong {
        display: block;
        margin-top: 0.18rem;
        color: var(--kt-shell-950);
        font-size: 0.9rem;
        font-weight: 950;
    }

.session-form-panel {
    padding: 1rem;
}

.session-form-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #E3E9F1;
}

.session-form-icon {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
}

.session-form-header h5 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 1rem;
    font-weight: 950;
}

.session-form-header p {
    margin: 0.15rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.75rem;
    font-weight: 750;
}

.session-inline-form .form-label {
    color: var(--kt-shell-950);
    font-size: 0.76rem;
    font-weight: 950;
}

.dashboard-input-group .input-group-text,
.dashboard-input-group .form-control {
    border-radius: 14px;
    min-height: 42px;
}

.dashboard-input-group .input-group-text {
    color: var(--kt-shell-950);
    font-weight: 950;
    background: #EEF4FC;
    border-color: #d8e8d8;
}

.dashboard-input-group .form-control {
    border-color: #D3DDE9;
    font-weight: 800;
}

.session-help-card {
    display: flex;
    gap: 0.5rem;
    margin: 0.65rem 0 0.9rem;
    padding: 0.7rem;
    border-radius: 15px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 800;
}

.dashboard-action-btn {
    min-height: 42px;
    border-radius: 14px;
    box-shadow: 0 12px 22px rgba(29, 95, 209, 0.16);
}

.variance-preview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border-radius: 15px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
}

    .variance-preview span {
        color: var(--kt-text-muted);
        font-size: 0.72rem;
        font-weight: 950;
        text-transform: uppercase;
    }

    .variance-preview strong {
        color: var(--kt-shell-950);
        font-size: 0.85rem;
        font-weight: 950;
    }

.dashboard-textarea {
    border-radius: 15px;
    border-color: #D3DDE9;
    font-size: 0.82rem;
    font-weight: 700;
}

.close-summary-box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.dashboard-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.dashboard-stat-grid-extended {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

    .dashboard-stat-grid-extended .dashboard-stat-card {
        min-height: 112px;
    }

.dashboard-stat-card,
.dashboard-small-stat {
    position: relative;
    overflow: hidden;
    min-height: 98px;
    padding: 0.9rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.11);
    background: #FFFFFF;
    box-shadow: 0 12px 26px rgba(10, 27, 47, 0.055);
}

.revenue-card {
    background: #FFFFFF;
}

.stat-card-main {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.stat-hover {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .stat-hover:hover,
    .smart-card:hover,
    .quick-action-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 18px 36px rgba(10, 27, 47, 0.09);
        border-color: rgba(29, 95, 209, 0.22);
    }

.dashboard-stat-card .stat-value {
    font-size: 1.08rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.dashboard-stat-card .stat-label,
.dashboard-small-stat .stat-label {
    font-size: 0.72rem;
    font-weight: 950;
}

.dashboard-small-stat .stat-value {
    font-size: 1.35rem;
    color: var(--kt-shell-950);
}

.stat-mini-trend {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.65rem;
    padding: 0.22rem 0.52rem;
    border-radius: 999px;
    background: rgba(29, 95, 209, 0.08);
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
}

.dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
}

    .dashboard-section-heading h6 {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin: 0;
        color: var(--kt-shell-950);
        font-size: 0.95rem;
        font-weight: 950;
    }

    .dashboard-section-heading span {
        display: block;
        margin-top: 0.12rem;
        color: var(--kt-text-muted);
        font-size: 0.74rem;
        font-weight: 750;
    }

.quick-action-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.6rem;
}

.quick-action-card {
    position: relative;
    width: 100%;
    border: 1px solid rgba(29, 95, 209, 0.12);
    border-radius: 18px;
    background: #FFFFFF;
    padding: 0.72rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.qac-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.qac-text {
    color: var(--kt-shell-950);
    font-size: 0.78rem;
    font-weight: 950;
}

.qac-arrow {
    color: var(--kt-text-muted);
    font-size: 1.1rem;
    transition: transform .18s ease;
}

.quick-action-card:hover .qac-arrow {
    transform: translateX(3px);
    color: var(--kt-primary-700);
}

.dashboard-card {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(29, 95, 209, 0.1);
    box-shadow: 0 12px 26px rgba(10, 27, 47, 0.055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .dashboard-card .card-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.78rem 0.95rem;
        font-size: 0.86rem;
        font-weight: 950;
        background: #FFFFFF;
    }

.dashboard-card-pill {
    display: inline-flex;
    min-width: 27px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.7rem;
    font-weight: 950;
}

.compact-dashboard-table th,
.compact-dashboard-table td {
    padding: 0.6rem 0.7rem;
    font-size: 0.79rem;
}

.compact-dashboard-table tbody tr {
    transition: background .15s ease;
}

    .compact-dashboard-table tbody tr:hover {
        background: #F8FAFD;
    }

.dashboard-list-row,
.top-product-row,
.dashboard-cashier-row {
    transition: background .15s ease, transform .15s ease;
}

    .dashboard-list-row:hover,
    .top-product-row:hover,
    .dashboard-cashier-row:hover {
        background: #F8FAFD;
        transform: translateX(2px);
    }

.dashboard-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.35rem;
    border-bottom: 1px solid #E3E9F1;
    font-size: 0.82rem;
    border-radius: 12px;
}

    .dashboard-list-row:last-child {
        border-bottom: 0;
    }

    .dashboard-list-row strong,
    .top-product-row strong {
        display: block;
        color: var(--kt-shell-950);
        font-size: 0.84rem;
        font-weight: 950;
    }

    .dashboard-list-row small,
    .top-product-row small {
        display: block;
        color: var(--kt-text-muted);
        font-size: 0.68rem;
        font-weight: 750;
    }

.top-product-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.35rem;
    border-bottom: 1px solid #E3E9F1;
    font-size: 0.82rem;
    border-radius: 12px;
}

    .top-product-row:last-child {
        border-bottom: 0;
    }

.rank-badge {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 0.72rem;
    font-weight: 950;
}

.cashier-name {
    font-size: 0.86rem;
    font-weight: 900;
    color: var(--kt-shell-950);
}

.cashier-meta {
    font-size: 0.71rem;
    color: var(--kt-text-muted);
}

.dashboard-empty-state {
    min-height: 92px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    text-align: center;
}

    .dashboard-empty-state i {
        width: 42px;
        height: 42px;
        border-radius: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #EEF4FC;
        color: var(--kt-primary-700);
        font-size: 1.25rem;
    }

.panel-focus-pulse {
    animation: panelPulse 0.9s ease;
}

.variance-positive {
    border-color: rgba(29, 95, 209, 0.24) !important;
    background: #EEF4FC !important;
}

.variance-negative {
    border-color: rgba(198, 40, 40, 0.24) !important;
    background: #ffebee !important;
}

@keyframes pulseRing {
    0% {
        transform: scale(0.75);
        opacity: 0.45;
    }

    70% {
        transform: scale(1.55);
        opacity: 0;
    }

    100% {
        transform: scale(1.55);
        opacity: 0;
    }
}

@keyframes panelPulse {
    0%, 100% {
        box-shadow: 0 18px 38px rgba(10, 27, 47, 0.075);
    }

    50% {
        box-shadow: 0 0 0 5px rgba(29, 95, 209, 0.12), 0 22px 44px rgba(10, 27, 47, 0.12);
    }
}

@media (max-width: 1399.98px) {
    .dashboard-stat-grid-extended {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .quick-action-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-hero-status {
        width: 100%;
    }

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

    .dashboard-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-stat-grid-extended {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quick-action-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .dashboard-hero {
        padding: 1rem;
        border-radius: 20px;
    }

    .session-money-grid,
    .dashboard-stat-grid,
    .dashboard-stat-grid-extended,
    .quick-action-grid,
    .close-summary-box {
        grid-template-columns: 1fr;
    }

    .session-progress-line {
        grid-template-columns: 1fr;
        gap: 0.3rem;
    }

        .session-progress-line .line {
            display: none;
        }

    .dashboard-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .top-product-row {
        grid-template-columns: auto 1fr;
    }

        .top-product-row > span:last-child {
            grid-column: 2;
        }

    .personal-dashboard-card {
        align-items: flex-start;
    }
}


/* View: Areas/Bar/Views/Reports/Index.cshtml */

.reports-shell {
    animation: reportsFadeIn .25s ease-out;
}

.reports-hero {
    padding: 1.1rem;
    border-radius: 26px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .14);
    box-shadow: 0 18px 40px rgba(10, 27, 47, .09);
}

    .reports-hero h1 {
        margin: 0;
        color: var(--kt-shell-950);
        font-weight: 950;
        letter-spacing: -.03em;
    }

.reports-filter-card,
.reports-card {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 36px rgba(10, 27, 47, .075);
    border: 1px solid rgba(29, 95, 209, .08);
    background: #FFFFFF;
}

    .reports-filter-card::before,
    .reports-card::before {
        display: none !important;
        content: none !important;
    }

.reports-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .85rem;
}

.reports-stat {
    position: relative;
    min-height: 116px;
    padding: 1rem;
    border-radius: 23px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .10);
    box-shadow: 0 13px 30px rgba(10, 27, 47, .07);
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease;
    animation: reportsCardIn .3s ease both;
}

    .reports-stat:hover {
        transform: translateY(-3px);
        box-shadow: 0 20px 38px rgba(10, 27, 47, .12);
    }

.reports-stat-label {
    color: var(--kt-text-muted);
    font-size: .7rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.reports-stat-value {
    margin-top: .3rem;
    color: var(--kt-shell-950);
    font-size: 1.22rem;
    font-weight: 950;
    line-height: 1.1;
}

.reports-stat-icon {
    position: absolute;
    right: .85rem;
    bottom: .6rem;
    font-size: 2.8rem;
    opacity: .08;
    color: var(--kt-shell-950);
}

.reports-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.reports-card {
    transition: transform .18s ease, box-shadow .18s ease;
    animation: reportsCardIn .3s ease both;
}

    .reports-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 20px 38px rgba(10, 27, 47, .11);
    }

.reports-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
}

.reports-card-title {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: var(--kt-shell-950);
    font-weight: 950;
    min-width: 0;
}

    .reports-card-title small {
        display: block;
        color: var(--kt-text-muted);
        font-weight: 750;
        font-size: .72rem;
    }

.report-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 1.1rem;
    flex: 0 0 auto;
}

.report-card-actions {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex: 0 0 auto;
}

.report-list-row {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .52rem 0;
    border-bottom: 1px solid #E3E9F1;
    font-size: .8rem;
}

    .report-list-row:last-child {
        border-bottom: 0;
    }

    .report-list-row span {
        color: var(--kt-text-muted);
        font-weight: 800;
    }

    .report-list-row strong {
        color: var(--kt-shell-950);
        font-weight: 950;
        text-align: right;
    }

.reports-mini-table {
    width: 100%;
    font-size: .76rem;
}

    .reports-mini-table th {
        color: var(--kt-text-muted);
        font-size: .68rem;
        text-transform: uppercase;
        border-bottom: 1px solid #E3E9F1;
        padding: .38rem 0;
    }

    .reports-mini-table td {
        padding: .42rem 0;
        border-bottom: 1px solid #f1e7dd;
        vertical-align: top;
    }

    .reports-mini-table tr:last-child td {
        border-bottom: 0;
    }

.report-section-print-title {
    display: none;
}

@keyframes reportsFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes reportsCardIn {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 1399.98px) {
    .reports-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .reports-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .reports-grid,
    .reports-stat-grid {
        grid-template-columns: 1fr;
    }

    .reports-hero {
        align-items: flex-start !important;
        flex-direction: column;
    }

    .reports-card-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .print-target,
    .print-target * {
        visibility: visible !important;
    }

    .print-target {
        position: absolute !important;
        left: 0;
        top: 0;
        width: 100%;
        box-shadow: none !important;
        border: 1px solid #222 !important;
    }

        .print-target .no-print,
        .no-print {
            display: none !important;
        }

        .print-target .report-section-print-title {
            display: block !important;
            padding: 12px;
            border-bottom: 2px solid #222;
            text-align: center;
            font-weight: 900;
            font-size: 18px;
            color: #111;
        }

    @page {
        size: A4;
        margin: 12mm;
    }
}


/* View: Areas/Bar/Views/Products/Index.cshtml */

.product-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.product-hero-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.product-hero-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.55rem;
    border: 1px solid rgba(29, 95, 209, 0.16);
    flex: 0 0 auto;
}

.product-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.product-hero-card h1 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 1.35rem;
    font-weight: 900;
}

.product-hero-card p {
    margin: 0.2rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.product-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

.product-access-pill,
.view-only-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.45rem;
    padding: 0.32rem 0.65rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 800;
}

.view-only-badge {
    margin-top: 0;
    background: #F8FAFD;
    color: var(--kt-text-muted);
}

.product-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.product-stat-card {
    min-height: 92px;
    padding: 0.85rem;
    border-radius: 18px;
}

    .product-stat-card .stat-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        font-size: 1rem;
    }

    .product-stat-card .stat-value {
        font-size: 1.25rem;
        line-height: 1.1;
    }

    .product-stat-card .stat-label {
        font-size: 0.72rem;
    }

.product-filter-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
}

    .product-filter-card::before,
    .product-table-card::before {
        display: none !important;
        content: none !important;
    }

    .product-filter-card .card-body {
        padding: 0.85rem;
    }

.product-filter-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 0.75fr auto;
    gap: 0.55rem;
    align-items: center;
}

.product-search {
    width: 100%;
}

.product-filter-select {
    min-height: 38px;
    border-radius: 12px;
    font-size: 0.82rem;
}

.page-size-select {
    min-width: 118px;
}

.product-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.product-table-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
}

.product-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 0.95rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
}

    .product-table-header h5 {
        margin: 0;
        color: var(--kt-shell-950);
        font-size: 1rem;
        font-weight: 900;
    }

    .product-table-header span {
        color: var(--kt-text-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

.compact-products-table th,
.compact-products-table td {
    padding: 0.58rem 0.7rem;
    font-size: 0.8rem;
    vertical-align: middle;
}

.product-code-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.5rem;
    border-radius: 999px;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-shell-950);
    font-size: 0.72rem;
    font-weight: 900;
    white-space: nowrap;
}

.product-name-cell {
    display: grid;
    gap: 0.12rem;
}

    .product-name-cell strong {
        color: var(--kt-shell-950);
        font-size: 0.86rem;
        font-weight: 900;
    }

    .product-name-cell small {
        color: var(--kt-text-muted);
        font-size: 0.68rem;
        font-weight: 700;
    }

.soft-pill,
.pack-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.28rem 0.52rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.72rem;
    font-weight: 800;
    max-width: 220px;
}

.pack-pill {
    max-width: 260px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    flex-wrap: nowrap;
}

.btn-ki-xs {
    min-height: 30px;
    padding: 0.32rem 0.48rem;
    border-radius: 10px;
    font-size: 0.72rem;
    line-height: 1;
}

.product-pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.9rem;
    border-top: 1px solid #E3E9F1;
    background: #FFFFFF;
}

.pagination-summary {
    color: var(--kt-text-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.pagination-controls {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.pagination-page-label {
    min-width: 92px;
    text-align: center;
    color: var(--kt-shell-950);
    font-size: 0.76rem;
    font-weight: 900;
}

.pagination-controls button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

@media (max-width: 1199.98px) {
    .product-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-hero-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .product-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .product-hero-main {
        align-items: flex-start;
    }

    .product-stats-grid {
        grid-template-columns: 1fr;
    }

    .product-filter-grid {
        grid-template-columns: 1fr;
    }

    .product-table-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-filter-footer,
    .product-pagination-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .pagination-controls {
        width: 100%;
        justify-content: space-between;
    }
}


/* View: Areas/Bar/Views/Products/Upsert.cshtml */

.product-form-card,
.product-preview-card {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(29, 95, 209, 0.12);
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
}

    .product-form-card::before,
    .product-preview-card::before {
        display: none !important;
        content: none !important;
    }

.product-switch-box {
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
}

    .product-switch-box .form-check-input {
        width: 2.7rem;
        height: 1.35rem;
        margin-right: 0.55rem;
    }

.product-preview-card {
    padding: 1.25rem;
}

.product-preview-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

.product-preview-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 1.7rem;
    box-shadow: 0 12px 26px rgba(29, 95, 209, 0.09);
}

.product-preview-card h3 {
    margin: 0;
    color: var(--kt-shell-950);
    font-weight: 900;
    letter-spacing: -0.03em;
}

.preview-product-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.8rem 0 1rem;
}

    .preview-product-tags span {
        display: inline-flex;
        align-items: center;
        padding: 0.38rem 0.62rem;
        border-radius: 999px;
        background: #F8FAFD;
        border: 1px solid #D3DDE9;
        color: var(--kt-shell-950);
        font-size: 0.78rem;
        font-weight: 900;
    }

.product-price-preview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: 16px;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
}

    .product-price-preview span {
        color: var(--kt-text-muted);
        font-size: 0.8rem;
        font-weight: 800;
    }

    .product-price-preview strong {
        color: var(--kt-shell-950);
        font-size: 1.2rem;
        font-weight: 900;
    }

.product-preview-footer {
    padding-top: 0.85rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

    .product-preview-footer span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }


/* View: Areas/Bar/Views/Pos/MySales.cshtml */

.my-sales-shell {
    animation: mySalesFadeIn .26s ease-out;
}

.my-sales-hero {
    padding: 1rem;
    border-radius: 24px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .14);
    box-shadow: 0 16px 36px rgba(10, 27, 47, .08);
}

    .my-sales-hero h1 {
        margin: 0;
        color: var(--kt-shell-950);
        font-weight: 950;
        letter-spacing: -.03em;
    }

.my-sales-role-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .35rem;
    padding: .32rem .7rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .74rem;
    font-weight: 900;
}

.my-sales-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.my-sales-stat {
    position: relative;
    overflow: hidden;
    min-height: 110px;
    padding: 1rem;
    border-radius: 22px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .10);
    box-shadow: 0 12px 28px rgba(10, 27, 47, .07);
    transition: transform .18s ease, box-shadow .18s ease;
    animation: mySalesCardIn .28s ease both;
}

    .my-sales-stat:hover {
        transform: translateY(-3px);
        box-shadow: 0 18px 34px rgba(10, 27, 47, .11);
    }

.my-sales-stat-label {
    color: var(--kt-text-muted);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.my-sales-stat-value {
    margin-top: .25rem;
    color: var(--kt-shell-950);
    font-size: 1.35rem;
    font-weight: 950;
}

.my-sales-stat-icon {
    position: absolute;
    right: .9rem;
    bottom: .6rem;
    font-size: 2.7rem;
    opacity: .08;
    color: var(--kt-shell-950);
}

.my-sale-positive {
    color: var(--kt-shell-950);
    font-weight: 950;
}

.my-sale-negative {
    color: #C62828;
    font-weight: 950;
}

.my-sale-cancelled {
    color: var(--kt-text-muted);
    font-weight: 950;
}

.my-sales-table-card {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(10, 27, 47, .07);
}

    .my-sales-table-card::before {
        display: none !important;
        content: none !important;
    }

.my-sales-alert {
    border: 0;
    border-radius: 18px;
    background: #FFF5DB;
    color: #A45A08;
    font-size: .82rem;
    font-weight: 800;
}

@keyframes mySalesFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes mySalesCardIn {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 991.98px) {
    .my-sales-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .my-sales-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* View: Areas/Bar/Views/Pos/Index.cshtml */

.pos-page-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    animation: posFadeIn .28s ease-out;
}

.pos-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: 24px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .14);
    box-shadow: 0 16px 36px rgba(10, 27, 47, .08);
}

.pos-title-wrap h4 {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 950;
    color: var(--kt-shell-950);
    letter-spacing: -.02em;
}

.pos-title-wrap small {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .28rem;
    padding: .25rem .58rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-weight: 900;
    font-size: .72rem;
}

.pos-top-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
    justify-content: flex-end;
}

.pos-order-taker-box {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .55rem;
    border-radius: 16px;
    background: #F8FAFD;
    border: 1px solid #E3E9F1;
}

    .pos-order-taker-box label {
        margin: 0;
        white-space: nowrap;
        font-size: .74rem;
        font-weight: 900;
        color: var(--kt-text-muted);
    }

    .pos-order-taker-box select {
        min-width: 190px;
    }

.pos-active-deals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.pos-deal-card {
    position: relative;
    overflow: hidden;
    min-height: 132px;
    border-radius: 22px;
    padding: 1rem;
    background: #fff7e7;
    border: 1px solid rgba(230, 81, 0, .18);
    box-shadow: 0 12px 28px rgba(10, 27, 47, .08);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    animation: posCardIn .32s ease both;
}

    .pos-deal-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 38px rgba(10, 27, 47, .13);
        border-color: rgba(230, 81, 0, .36);
    }

    .pos-deal-card::after {
        content: "";
        position: absolute;
        right: -36px;
        top: -36px;
        width: 104px;
        height: 104px;
        border-radius: 50%;
        background: rgba(230, 81, 0, .10);
    }

.pos-deal-label {
    color: #A45A08;
    font-size: .68rem;
    text-transform: uppercase;
    font-weight: 950;
    letter-spacing: .06em;
    position: relative;
    z-index: 1;
}

.pos-deal-name {
    margin-top: .3rem;
    color: var(--kt-shell-950);
    font-weight: 950;
    font-size: .98rem;
    position: relative;
    z-index: 1;
}

.pos-deal-price {
    margin-top: .32rem;
    font-size: 1.32rem;
    font-weight: 950;
    color: #A45A08;
    position: relative;
    z-index: 1;
}

.pos-deal-meta {
    margin-top: .28rem;
    font-size: .73rem;
    color: var(--kt-text-muted);
    font-weight: 850;
    position: relative;
    z-index: 1;
}

.pos-layout-polished {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 1rem;
    align-items: start;
}

.pos-products-panel,
.pos-cart-panel-polished {
    border-radius: 24px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .11);
    box-shadow: 0 16px 36px rgba(10, 27, 47, .08);
}

.pos-products-panel {
    padding: 1rem;
    min-width: 0;
}

.pos-filter-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    margin-bottom: 1rem;
}

.category-chips {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding-bottom: .2rem;
}

.category-chip {
    white-space: nowrap;
    cursor: pointer;
    padding: .42rem .78rem;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 900;
    background: #F8FAFD;
    border: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    transition: transform .15s ease, background .15s ease, color .15s ease;
}

    .category-chip:hover {
        transform: translateY(-1px);
    }

    .category-chip.active {
        background: var(--kt-primary-700);
        color: #fff;
        border-color: var(--kt-primary-700);
    }

.product-grid-polished {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(186px, 1fr));
    gap: .85rem;
}

.product-card-sm {
    position: relative;
    min-height: 196px;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    border-radius: 22px;
    padding: .95rem;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .11);
    box-shadow: 0 12px 26px rgba(10, 27, 47, .07);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    animation: posCardIn .28s ease both;
}

    .product-card-sm:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 36px rgba(10, 27, 47, .12);
        border-color: rgba(29, 95, 209, .26);
    }

.pcs-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 1.2rem;
    margin-bottom: .2rem;
}

.pcs-name {
    font-size: .9rem;
    font-weight: 950;
    color: var(--kt-shell-950);
    min-height: 40px;
    line-height: 1.2;
}

.pcs-price {
    font-size: .84rem;
    font-weight: 950;
    color: #A45A08;
}

.pcs-actions {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
    margin-top: auto;
}

    .pcs-actions .btn {
        flex: 1 1 auto;
    }

.pos-cart-panel-polished {
    position: sticky;
    top: 82px;
    overflow: hidden;
}

.pos-cart-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .95rem 1rem;
    border-bottom: 1px solid #E3E9F1;
    background: #F8FAFD;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.pos-cart-items {
    max-height: 42vh;
    overflow-y: auto;
    padding: .75rem;
    background: #FFFFFF;
}

.pos-cart-line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    padding: .78rem;
    margin-bottom: .6rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #E3E9F1;
    animation: posCartIn .18s ease-out;
}

    .pos-cart-line strong {
        color: var(--kt-shell-950);
    }

.pos-cart-summary {
    border-top: 1px solid #E3E9F1;
    background: #FFFFFF;
}

.pos-form-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .65rem;
    font-size: .83rem;
    font-weight: 800;
}

    .pos-form-row span:first-child {
        color: var(--kt-text-muted);
    }

    .pos-form-row select,
    .pos-form-row input {
        max-width: 170px;
    }

.pos-net-total {
    padding: .8rem;
    border-radius: 18px;
    background: #EEF4FC;
    margin: .75rem 0;
}

.pos-help-strip {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .65rem .8rem;
    border-radius: 18px;
    background: #FFF5DB;
    color: #A45A08;
    font-size: .78rem;
    font-weight: 850;
    margin-bottom: .75rem;
}

@keyframes posFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes posCardIn {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes posCartIn {
    from {
        opacity: 0;
        transform: translateX(8px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 1199.98px) {
    .pos-layout-polished {
        grid-template-columns: 1fr;
    }

    .pos-cart-panel-polished {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .pos-active-deals {
        grid-template-columns: 1fr;
    }

    .pos-topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .pos-top-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .pos-order-taker-box {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
    }

        .pos-order-taker-box select {
            width: 100%;
            min-width: 0;
        }
}

@media (max-width: 575.98px) {
    .product-grid-polished {
        grid-template-columns: 1fr;
    }

    .pos-form-row {
        align-items: flex-start;
        flex-direction: column;
    }

        .pos-form-row select,
        .pos-form-row input {
            max-width: none;
            width: 100%;
        }
}


/* View: Areas/Bar/Views/ApprovalStatus/Index.cshtml */

.approval-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.05rem;
    border-radius: 24px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 18px 42px rgba(10, 27, 47, 0.075);
    margin-bottom: 0.9rem;
}

.approval-hero-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.approval-status-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.65rem;
    border: 1px solid rgba(29, 95, 209, 0.14);
    flex: 0 0 auto;
}

.approval-rejected .approval-status-icon,
.approval-suspended .approval-status-icon,
.approval-expired .approval-status-icon {
    background: #ffebee;
    color: var(--kt-danger-600);
    border-color: rgba(198, 40, 40, 0.16);
}

.approval-pending .approval-status-icon {
    background: #FFF5DB;
    color: #A45A08;
    border-color: rgba(230, 81, 0, 0.16);
}

.approval-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.24rem 0.58rem;
    border-radius: 999px;
    background: rgba(29, 95, 209, 0.1);
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.045em;
}

.approval-hero h1 {
    margin: 0.25rem 0 0;
    color: var(--kt-shell-950);
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 950;
    letter-spacing: -0.04em;
}

.approval-hero p {
    margin: 0.18rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.85rem;
    font-weight: 750;
}

.approval-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.55rem;
    padding: 0.36rem 0.7rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 950;
}

.approval-hero-card {
    min-width: 190px;
    padding: 0.8rem 0.9rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(29, 95, 209, 0.12);
    box-shadow: 0 12px 26px rgba(10, 27, 47, 0.06);
}

    .approval-hero-card span,
    .approval-hero-card small {
        display: block;
        color: var(--kt-text-muted);
        font-size: 0.7rem;
        font-weight: 850;
    }

    .approval-hero-card strong {
        display: block;
        color: var(--kt-shell-950);
        font-size: 1.1rem;
        font-weight: 950;
        margin: 0.1rem 0;
    }

.approval-progress-card {
    padding: 0.9rem;
    border-radius: 20px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, 0.12);
    box-shadow: 0 12px 28px rgba(10, 27, 47, 0.045);
    margin-bottom: 0.9rem;
}

.approval-progress-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--kt-shell-950);
    font-size: 0.82rem;
    font-weight: 950;
    margin-bottom: 0.55rem;
}

.approval-progress-track {
    height: 9px;
    border-radius: 999px;
    overflow: hidden;
    background: #D3DDE9;
}

.approval-progress-fill {
    height: 100%;
    border-radius: inherit;
    transition: width 0.3s ease;
}

.approval-fill-approved {
    background: var(--kt-primary-700);
}

.approval-fill-pending {
    background: #ff9800;
}

.approval-fill-rejected,
.approval-fill-suspended,
.approval-fill-expired {
    background: var(--kt-danger-600);
}

.approval-progress-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.7rem;
}

    .approval-progress-steps span {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        color: var(--kt-text-muted);
        font-size: 0.72rem;
        font-weight: 850;
    }

        .approval-progress-steps span.completed,
        .approval-progress-steps span.active {
            color: var(--kt-shell-950);
        }

.approval-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    border: 0;
    border-radius: 18px;
    padding: 0.8rem 0.9rem;
    margin-bottom: 0.75rem;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
}

    .approval-alert i {
        font-size: 1.1rem;
        margin-top: 0.1rem;
    }

    .approval-alert strong,
    .approval-alert span {
        display: block;
    }

    .approval-alert strong {
        font-size: 0.86rem;
        font-weight: 950;
        margin-bottom: 0.1rem;
    }

    .approval-alert span {
        font-size: 0.8rem;
        font-weight: 750;
    }

.approval-alert-success {
    background: #EEF4FC;
    color: var(--kt-shell-950);
}

.approval-alert-warning {
    background: #FFF5DB;
    color: #A45A08;
}

.approval-alert-danger {
    background: #ffebee;
    color: var(--kt-danger-600);
}

.approval-alert-note {
    background: #F8FAFD;
    color: var(--kt-shell-950);
    border: 1px solid #D3DDE9;
}

.approval-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.approval-mini-card {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.78rem;
    border-radius: 18px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, 0.1);
    box-shadow: 0 10px 22px rgba(10, 27, 47, 0.04);
    opacity: 0.45;
}

    .approval-mini-card.active {
        opacity: 1;
        border-color: rgba(29, 95, 209, 0.22);
        box-shadow: 0 14px 30px rgba(10, 27, 47, 0.07);
    }

.approval-mini-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 1.1rem;
}

    .approval-mini-icon.pending {
        background: #FFF5DB;
        color: #A45A08;
    }

    .approval-mini-icon.approved {
        background: #EEF4FC;
        color: var(--kt-primary-700);
    }

    .approval-mini-icon.rejected,
    .approval-mini-icon.suspended {
        background: #ffebee;
        color: var(--kt-danger-600);
    }

.approval-mini-card strong,
.approval-mini-card span {
    display: block;
}

.approval-mini-card strong {
    color: var(--kt-shell-950);
    font-size: 0.86rem;
    font-weight: 950;
}

.approval-mini-card span {
    color: var(--kt-text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.approval-card {
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(10, 27, 47, 0.05);
}

    .approval-card::before {
        display: none !important;
        content: none !important;
    }

.approval-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.82rem 0.95rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
}

    .approval-card-header span {
        display: inline-flex;
        align-items: center;
        gap: 0.38rem;
        color: var(--kt-shell-950);
        font-size: 0.9rem;
        font-weight: 950;
    }

    .approval-card-header small {
        color: var(--kt-text-muted);
        font-size: 0.74rem;
        font-weight: 800;
    }

.approval-timeline {
    display: grid;
    gap: 0.95rem;
}

.approval-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.65rem;
    padding-left: 0.1rem;
}

    .approval-timeline-item:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 8px;
        top: 24px;
        bottom: -18px;
        width: 2px;
        background: #D3DDE9;
    }

.timeline-dot {
    width: 18px;
    height: 18px;
    margin-top: 0.1rem;
    border-radius: 999px;
    background: #D3DDE9;
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 0 1px #D3DDE9;
    z-index: 1;
}

.approval-timeline-item.completed .timeline-dot,
.approval-timeline-item.active .timeline-dot {
    background: var(--kt-primary-700);
    box-shadow: 0 0 0 1px rgba(29, 95, 209, 0.24);
}

.approval-timeline-item strong {
    display: block;
    color: var(--kt-shell-950);
    font-size: 0.86rem;
    font-weight: 950;
}

.approval-timeline-item small {
    display: block;
    color: var(--kt-text-muted);
    font-size: 0.7rem;
    font-weight: 850;
    margin-top: 0.12rem;
}

.approval-timeline-item p {
    margin: 0.25rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.approval-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

    .approval-info-grid div {
        padding: 0.65rem 0.7rem;
        border-radius: 14px;
        background: #F8FAFD;
        border: 1px solid #D3DDE9;
    }

    .approval-info-grid .approval-info-wide {
        grid-column: 1 / -1;
    }

    .approval-info-grid small,
    .approval-info-grid strong {
        display: block;
    }

    .approval-info-grid small {
        color: var(--kt-text-muted);
        font-size: 0.68rem;
        font-weight: 950;
        text-transform: uppercase;
        letter-spacing: 0.035em;
    }

    .approval-info-grid strong {
        color: var(--kt-shell-950);
        font-size: 0.82rem;
        font-weight: 900;
        margin-top: 0.16rem;
    }

.approval-divider {
    height: 1px;
    background: #E3E9F1;
    margin: 1rem 0;
}

.approval-next-box {
    margin-top: 1rem;
    padding: 0.85rem;
    border-radius: 16px;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.12);
}

    .approval-next-box h6 {
        margin: 0 0 0.45rem;
        color: var(--kt-shell-950);
        font-size: 0.88rem;
        font-weight: 950;
    }

    .approval-next-box ol {
        margin: 0;
        padding-left: 1.1rem;
        color: var(--kt-text-muted);
        font-size: 0.78rem;
        font-weight: 750;
    }

    .approval-next-box li {
        margin-bottom: 0.25rem;
    }

.approval-history-table th,
.approval-history-table td {
    padding: 0.62rem 0.75rem;
    font-size: 0.78rem;
    vertical-align: middle;
}

.approval-history-status {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.7rem;
    font-weight: 900;
}

.approval-empty-state {
    min-height: 130px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-align: center;
    color: var(--kt-text-muted);
}

    .approval-empty-state i {
        width: 48px;
        height: 48px;
        border-radius: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #EEF4FC;
        color: var(--kt-primary-700);
        font-size: 1.4rem;
    }

    .approval-empty-state strong {
        color: var(--kt-shell-950);
        font-size: 0.95rem;
        font-weight: 950;
    }

    .approval-empty-state span {
        font-size: 0.78rem;
        font-weight: 750;
    }

@media (max-width: 1199.98px) {
    .approval-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .approval-hero-card {
        width: 100%;
    }

    .approval-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .approval-hero-main {
        align-items: flex-start;
    }

    .approval-status-icon {
        width: 52px;
        height: 52px;
        border-radius: 17px;
        font-size: 1.35rem;
    }

    .approval-progress-steps,
    .approval-summary-grid,
    .approval-info-grid {
        grid-template-columns: 1fr;
    }

        .approval-info-grid .approval-info-wide {
            grid-column: auto;
        }
}


/* View: Areas/Bar/Views/Brands/Index.cshtml */

.brand-table-card {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
}

    .brand-table-card::before {
        display: none !important;
        content: none !important;
    }

.brand-main {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.brand-avatar {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(29, 95, 209, 0.08);
}


/* View: Areas/Bar/Views/Brands/Upsert.cshtml */

.brand-form-card,
.brand-preview-card {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(29, 95, 209, 0.12);
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
}

    .brand-form-card::before,
    .brand-preview-card::before {
        display: none !important;
        content: none !important;
    }

.brand-switch-box {
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
}

    .brand-switch-box .form-check-input {
        width: 2.7rem;
        height: 1.35rem;
        margin-right: 0.55rem;
    }

.brand-preview-card {
    padding: 1.25rem;
}

.brand-preview-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

.brand-preview-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 1.7rem;
    box-shadow: 0 12px 26px rgba(29, 95, 209, 0.09);
}

.brand-preview-card h3 {
    margin: 0;
    color: var(--kt-shell-950);
    font-weight: 900;
    letter-spacing: -0.03em;
}

.brand-preview-card p {
    min-height: 68px;
    margin: 0.6rem 0 1rem;
    color: var(--kt-text-muted);
    line-height: 1.55;
}

.brand-preview-footer {
    padding-top: 0.85rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

    .brand-preview-footer span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }


/* View: Areas/Bar/Views/Stock/AdjustmentDetails.cshtml */

.stock-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.stock-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.stock-hero-card h1 {
    margin: .25rem 0 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.stock-hero-card p {
    margin: .2rem 0 0;
    color: var(--kt-text-muted);
    font-size: .84rem;
    font-weight: 750;
}

.stock-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.stock-stat-card {
    min-height: 94px;
    padding: .9rem;
    border-radius: 18px;
}

.stock-table-card {
    border-radius: 18px;
    overflow: hidden;
}

    .stock-table-card::before {
        display: none !important;
        content: none !important;
    }

.stock-card-header {
    padding: .85rem 1rem;
    background: #FFFFFF;
    border-bottom: 1px solid #E3E9F1;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.audit-line {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem 0;
    border-bottom: 1px solid #E3E9F1;
}

    .audit-line:last-child {
        border-bottom: 0;
    }

    .audit-line span {
        color: var(--kt-text-muted);
        font-weight: 800;
        font-size: .82rem;
    }

    .audit-line strong {
        color: var(--kt-shell-950);
        font-weight: 950;
        font-size: .82rem;
        text-align: right;
    }

@media (max-width: 767.98px) {
    .stock-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .stock-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* View: Areas/Bar/Views/Stock/UpsertAdjustment.cshtml */

.stock-hero-card,
.stock-action-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.stock-action-panel {
    background: #FFFFFF;
    position: sticky;
    bottom: 0.75rem;
    z-index: 5;
}

.stock-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.stock-hero-card h1 {
    margin: .25rem 0 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.stock-hero-card p {
    margin: .2rem 0 0;
    color: var(--kt-text-muted);
    font-size: .84rem;
    font-weight: 750;
}

.stock-card {
    overflow: hidden;
    border-radius: 18px;
}

    .stock-card::before {
        display: none !important;
        content: none !important;
    }

.stock-card-header {
    padding: .85rem 1rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.reason-card {
    position: sticky;
    top: 90px;
}

.helper-card {
    border-radius: 18px;
    background: #FFFFFF;
}

.helper-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: .65rem;
    font-size: 1.1rem;
}

.helper-card h6 {
    color: var(--kt-shell-950);
    font-weight: 950;
    margin: 0 0 .3rem;
}

.helper-card p {
    color: var(--kt-text-muted);
    font-size: .82rem;
    font-weight: 700;
    margin: 0;
}

@media (max-width: 991.98px) {
    .reason-card {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .stock-hero-card,
    .stock-action-panel {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* View: Areas/Bar/Views/Stock/ReceiptDetails.cshtml */

.stock-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.stock-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.stock-hero-card h1 {
    margin: .25rem 0 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.stock-hero-card p {
    margin: .2rem 0 0;
    color: var(--kt-text-muted);
    font-size: .84rem;
    font-weight: 750;
}

.stock-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.stock-stat-card {
    min-height: 94px;
    padding: .9rem;
    border-radius: 18px;
}

.stock-table-card {
    border-radius: 18px;
    overflow: hidden;
}

    .stock-table-card::before {
        display: none !important;
        content: none !important;
    }

.stock-card-header {
    padding: .85rem 1rem;
    background: #FFFFFF;
    border-bottom: 1px solid #E3E9F1;
    color: var(--kt-shell-950);
    font-weight: 950;
}

@media (max-width: 767.98px) {
    .stock-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .stock-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* View: Areas/Bar/Views/Stock/UpsertReceipt.cshtml */

.stock-hero-card,
.stock-action-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.stock-action-panel {
    background: #FFFFFF;
    position: sticky;
    bottom: 0.75rem;
    z-index: 5;
}

.stock-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.stock-hero-card h1 {
    margin: .25rem 0 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.stock-hero-card p {
    margin: .2rem 0 0;
    color: var(--kt-text-muted);
    font-size: .84rem;
    font-weight: 750;
}

.stock-card {
    overflow: hidden;
    border-radius: 18px;
}

    .stock-card::before {
        display: none !important;
        content: none !important;
    }

.stock-card-header {
    padding: .85rem 1rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.line-bottles,
.line-quantity,
.line-selling {
    background: #FBFCFE;
    font-weight: 800;
}

@media (max-width: 767.98px) {
    .stock-hero-card,
    .stock-action-panel {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* View: Areas/Bar/Views/Stock/Receive.cshtml */

.stock-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.stock-eyebrow,
.stock-access-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    font-weight: 900;
}

.stock-eyebrow {
    padding: .22rem .55rem;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    text-transform: uppercase;
}

.stock-hero-card h1 {
    margin: .25rem 0 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.stock-hero-card p {
    margin: .2rem 0 0;
    color: var(--kt-text-muted);
    font-size: .84rem;
    font-weight: 750;
}

.stock-access-pill {
    margin-top: .45rem;
    padding: .32rem .65rem;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: .74rem;
}

.stock-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.stock-stat-card {
    min-height: 94px;
    padding: .9rem;
    border-radius: 18px;
}

.stock-table-card {
    border-radius: 18px;
    overflow: hidden;
}

    .stock-table-card::before {
        display: none !important;
        content: none !important;
    }

.stock-card-header {
    padding: .85rem 1rem;
    background: #FFFFFF;
    border-bottom: 1px solid #E3E9F1;
    color: var(--kt-shell-950);
    font-weight: 950;
}

@media (max-width: 767.98px) {
    .stock-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .stock-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* View: Areas/Bar/Views/Stock/Adjustments.cshtml */

.stock-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.stock-eyebrow,
.stock-access-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    font-weight: 900;
}

.stock-eyebrow {
    padding: .22rem .55rem;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    text-transform: uppercase;
}

.stock-access-pill {
    margin-top: .45rem;
    padding: .32rem .65rem;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: .74rem;
}

.stock-hero-card h1 {
    margin: .25rem 0 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.stock-hero-card p {
    margin: .2rem 0 0;
    color: var(--kt-text-muted);
    font-size: .84rem;
    font-weight: 750;
}

.stock-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.stock-stat-card {
    min-height: 94px;
    padding: .9rem;
    border-radius: 18px;
}

.stock-table-card {
    border-radius: 18px;
    overflow: hidden;
}

    .stock-table-card::before {
        display: none !important;
        content: none !important;
    }

.stock-card-header {
    padding: .85rem 1rem;
    background: #FFFFFF;
    border-bottom: 1px solid #E3E9F1;
    color: var(--kt-shell-950);
    font-weight: 950;
}

@media (max-width: 767.98px) {
    .stock-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .stock-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* View: Areas/Bar/Views/BucketDeals/Upsert.cshtml */

.stock-hero-card,
.stock-action-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.stock-action-panel {
    background: #FFFFFF;
    position: sticky;
    bottom: 0.75rem;
    z-index: 5;
}

.stock-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.stock-hero-card h1 {
    margin: .25rem 0 0;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.stock-hero-card p {
    margin: .2rem 0 0;
    color: var(--kt-text-muted);
    font-size: .84rem;
    font-weight: 750;
}

.stock-card {
    overflow: hidden;
    border-radius: 18px;
}

    .stock-card::before {
        display: none !important;
        content: none !important;
    }

.stock-card-header {
    padding: .85rem 1rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.deal-preview-live {
    position: sticky;
    top: 90px;
}

@media (max-width: 991.98px) {
    .deal-preview-live {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .stock-hero-card,
    .stock-action-panel {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* View: Areas/Bar/Views/Suppliers/Index.cshtml */

.supplier-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.supplier-hero-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.supplier-hero-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.55rem;
    border: 1px solid rgba(29, 95, 209, 0.16);
    flex: 0 0 auto;
}

.supplier-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.supplier-hero-card h1 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 1.35rem;
    font-weight: 900;
}

.supplier-hero-card p {
    margin: 0.2rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.supplier-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

.supplier-access-pill,
.view-only-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.45rem;
    padding: 0.32rem 0.65rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 800;
}

.view-only-badge {
    margin-top: 0;
    color: var(--kt-text-muted);
}

.supplier-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.supplier-stat-card {
    min-height: 92px;
    padding: 0.85rem;
    border-radius: 18px;
}

.supplier-filter-card,
.supplier-table-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
}

    .supplier-filter-card::before,
    .supplier-table-card::before {
        display: none !important;
        content: none !important;
    }

.supplier-filter-grid {
    display: grid;
    grid-template-columns: 1.6fr 0.75fr 0.9fr auto;
    gap: 0.55rem;
    align-items: center;
}

.supplier-filter-select {
    min-height: 38px;
    border-radius: 12px;
    font-size: 0.82rem;
}

.supplier-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.supplier-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 0.95rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
}

    .supplier-table-header h5 {
        margin: 0;
        color: var(--kt-shell-950);
        font-size: 1rem;
        font-weight: 900;
    }

    .supplier-table-header span {
        color: var(--kt-text-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

.compact-suppliers-table th,
.compact-suppliers-table td {
    padding: 0.58rem 0.7rem;
    font-size: 0.8rem;
    vertical-align: middle;
}

.supplier-name-cell {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 220px;
}

.supplier-avatar {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 0.8rem;
    font-weight: 900;
    flex: 0 0 auto;
}

.supplier-name-cell strong {
    display: block;
    color: var(--kt-shell-950);
    font-size: 0.86rem;
    font-weight: 900;
}

.supplier-name-cell small {
    display: block;
    max-width: 260px;
    color: var(--kt-text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.receipt-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.28rem 0.52rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.72rem;
    font-weight: 900;
}

.supplier-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    flex-wrap: nowrap;
}

.btn-ki-xs {
    min-height: 30px;
    padding: 0.32rem 0.48rem;
    border-radius: 10px;
    font-size: 0.72rem;
    line-height: 1;
}

@media (max-width: 1199.98px) {
    .supplier-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .supplier-hero-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .supplier-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .supplier-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .supplier-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .supplier-hero-main {
        align-items: flex-start;
    }

    .supplier-stats-grid {
        grid-template-columns: 1fr;
    }

    .supplier-filter-grid {
        grid-template-columns: 1fr;
    }

    .supplier-filter-footer,
    .supplier-table-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .supplier-name-cell {
        min-width: 0;
    }
}


/* View: Areas/Bar/Views/Suppliers/Upsert.cshtml */

.supplier-form-card,
.supplier-preview-card {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(29, 95, 209, 0.12);
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
}

    .supplier-form-card::before,
    .supplier-preview-card::before {
        display: none !important;
        content: none !important;
    }

.supplier-switch-box {
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
}

    .supplier-switch-box .form-check-input {
        width: 2.7rem;
        height: 1.35rem;
        margin-right: 0.55rem;
    }

.supplier-preview-card {
    padding: 1.25rem;
}

.supplier-preview-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

.supplier-preview-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 1.7rem;
    box-shadow: 0 12px 26px rgba(29, 95, 209, 0.09);
}

.supplier-preview-card h3 {
    margin: 0;
    color: var(--kt-shell-950);
    font-weight: 900;
    letter-spacing: -0.03em;
}

.supplier-preview-info {
    display: grid;
    gap: 0.55rem;
    margin: 0.9rem 0;
}

    .supplier-preview-info div {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        min-width: 0;
        color: var(--kt-text-muted);
        font-size: 0.82rem;
        font-weight: 800;
    }

    .supplier-preview-info i {
        color: var(--kt-primary-700);
    }

    .supplier-preview-info span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.supplier-preview-card p {
    min-height: 58px;
    margin: 0.8rem 0 1rem;
    color: var(--kt-text-muted);
    line-height: 1.55;
}

.supplier-preview-footer {
    padding-top: 0.85rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

    .supplier-preview-footer span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }


/* View: Areas/Bar/Views/Profile/Index.cshtml */

.profile-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.05rem;
    border-radius: 24px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 18px 42px rgba(10, 27, 47, 0.075);
}

.profile-hero-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.profile-hero-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.65rem;
    border: 1px solid rgba(29, 95, 209, 0.14);
    flex: 0 0 auto;
}

.profile-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.24rem 0.58rem;
    border-radius: 999px;
    background: rgba(29, 95, 209, 0.1);
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.045em;
}

.profile-hero h1 {
    margin: 0.25rem 0 0;
    color: var(--kt-shell-950);
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 950;
    letter-spacing: -0.04em;
}

.profile-hero p {
    margin: 0.18rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.85rem;
    font-weight: 750;
}

.profile-role-pill,
.profile-view-only-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.55rem;
    padding: 0.36rem 0.7rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 850;
}

.profile-view-only-pill {
    margin-top: 0;
}

.profile-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.profile-summary-card {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.82rem;
    border-radius: 18px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, 0.1);
    box-shadow: 0 10px 22px rgba(10, 27, 47, 0.04);
}

.summary-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    flex: 0 0 auto;
}

.profile-summary-card span,
.profile-summary-card strong {
    display: block;
}

.profile-summary-card span {
    color: var(--kt-text-muted);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.profile-summary-card strong {
    color: var(--kt-shell-950);
    font-size: 0.88rem;
    font-weight: 950;
}

.profile-card {
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(10, 27, 47, 0.05);
}

    .profile-card::before {
        display: none !important;
        content: none !important;
    }

.profile-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.82rem 0.95rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
}

    .profile-card-header span {
        display: inline-flex;
        align-items: center;
        gap: 0.38rem;
        color: var(--kt-shell-950);
        font-size: 0.9rem;
        font-weight: 950;
    }

.profile-code-pill {
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.72rem;
    font-weight: 950;
}

.profile-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

    .profile-info-grid div {
        padding: 0.65rem 0.7rem;
        border-radius: 14px;
        background: #F8FAFD;
        border: 1px solid #D3DDE9;
    }

    .profile-info-grid .profile-info-wide {
        grid-column: 1 / -1;
    }

    .profile-info-grid small,
    .profile-info-grid strong {
        display: block;
    }

    .profile-info-grid small {
        color: var(--kt-text-muted);
        font-size: 0.68rem;
        font-weight: 950;
        text-transform: uppercase;
        letter-spacing: 0.035em;
    }

    .profile-info-grid strong {
        color: var(--kt-shell-950);
        font-size: 0.82rem;
        font-weight: 900;
        margin-top: 0.16rem;
    }

.profile-approval-box {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem;
    border-radius: 18px;
    background: #FFF5DB;
    border: 1px solid rgba(230, 81, 0, 0.16);
    color: #A45A08;
}

.profile-approved.profile-approval-box {
    background: #EEF4FC;
    color: var(--kt-shell-950);
    border-color: rgba(29, 95, 209, 0.16);
}

.profile-rejected.profile-approval-box,
.profile-suspended.profile-approval-box,
.profile-expired.profile-approval-box {
    background: #ffebee;
    color: var(--kt-danger-600);
    border-color: rgba(198, 40, 40, 0.16);
}

.profile-approval-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.65);
    font-size: 1.25rem;
    flex: 0 0 auto;
}

.profile-approval-box h5 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 950;
}

.profile-approval-box p {
    margin: 0.15rem 0 0;
    font-size: 0.76rem;
    font-weight: 750;
}

.profile-approval-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin-top: 0.8rem;
}

    .profile-approval-meta div,
    .profile-note-box {
        padding: 0.58rem 0.65rem;
        border-radius: 14px;
        background: #F8FAFD;
        border: 1px solid #D3DDE9;
    }

    .profile-approval-meta span,
    .profile-approval-meta strong {
        display: block;
    }

    .profile-approval-meta span {
        color: var(--kt-text-muted);
        font-size: 0.66rem;
        font-weight: 950;
        text-transform: uppercase;
    }

    .profile-approval-meta strong {
        color: var(--kt-shell-950);
        font-size: 0.78rem;
        font-weight: 900;
        margin-top: 0.12rem;
    }

.profile-note-box {
    display: flex;
    gap: 0.45rem;
    margin-top: 0.8rem;
    color: var(--kt-shell-950);
    font-size: 0.76rem;
    font-weight: 800;
}

.profile-account-list {
    display: grid;
    gap: 0.65rem;
}

    .profile-account-list div {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        padding-bottom: 0.6rem;
        border-bottom: 1px solid #E3E9F1;
    }

        .profile-account-list div:last-child {
            padding-bottom: 0;
            border-bottom: 0;
        }

    .profile-account-list span {
        color: var(--kt-text-muted);
        font-size: 0.78rem;
        font-weight: 800;
    }

    .profile-account-list strong {
        color: var(--kt-shell-950);
        font-size: 0.82rem;
        font-weight: 950;
        text-align: right;
    }

@media (max-width: 1199.98px) {
    .profile-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .profile-hero-main {
        align-items: flex-start;
    }

    .profile-summary-grid,
    .profile-info-grid,
    .profile-approval-meta {
        grid-template-columns: 1fr;
    }

        .profile-info-grid .profile-info-wide {
            grid-column: auto;
        }
}


/* View: Areas/Bar/Views/Sales/Index.cshtml */

.sales-shell {
    animation: salesFadeIn .25s ease-out;
}

.sales-toolbar {
    padding: 1rem;
    border-radius: 22px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .12);
    box-shadow: 0 14px 34px rgba(10, 27, 47, .07);
}

    .sales-toolbar h1 {
        margin: 0;
        color: var(--kt-shell-950);
        font-weight: 950;
    }

.sales-stat-card {
    min-height: 96px;
    transition: transform .18s ease, box-shadow .18s ease;
    animation: salesCardIn .3s ease both;
}

    .sales-stat-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 16px 30px rgba(10, 27, 47, .10);
    }

.sales-filter-card {
    border-radius: 20px;
    overflow: hidden;
}

    .sales-filter-card::before,
    .sales-table-card::before {
        display: none !important;
        content: none !important;
    }

.sales-table-card {
    border-radius: 20px;
    overflow: hidden;
}

.sale-no-link {
    color: var(--kt-shell-950);
    font-weight: 950;
}

    .sale-no-link:hover {
        color: var(--kt-primary-700);
    }

@keyframes salesFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes salesCardIn {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* View: Areas/Bar/Views/Sales/Details.cshtml */

.sale-details-shell {
    animation: receiptFadeIn .25s ease-out;
}

.sale-details-hero {
    padding: 1rem;
    border-radius: 22px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, .12);
    box-shadow: 0 14px 34px rgba(10, 27, 47, .07);
}

    .sale-details-hero h1 {
        margin: 0;
        color: var(--kt-shell-950);
        font-weight: 950;
    }

.receipt-card {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(10, 27, 47, .07);
}

    .receipt-card::before {
        display: none !important;
        content: none !important;
    }

.receipt-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.receipt-meta-box {
    padding: .75rem;
    border-radius: 16px;
    background: #F8FAFD;
    border: 1px solid #E3E9F1;
}

.receipt-meta-label {
    font-size: .72rem;
    color: var(--kt-text-muted);
    font-weight: 850;
    text-transform: uppercase;
}

.receipt-meta-value {
    margin-top: .2rem;
    color: var(--kt-shell-950);
    font-weight: 950;
}

.print-receipt {
    display: none;
}

@keyframes receiptFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .print-receipt,
    .print-receipt * {
        visibility: visible !important;
    }

    .print-receipt {
        display: block !important;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        padding: 0;
        margin: 0;
        color: #111;
        font-family: Arial, sans-serif;
    }

    .no-print {
        display: none !important;
    }

    @page {
        size: A4;
        margin: 12mm;
    }

    .print-receipt-wrap {
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
        border: 1px solid #222;
        padding: 18px;
    }

    .print-header {
        text-align: center;
        border-bottom: 2px solid #222;
        padding-bottom: 10px;
        margin-bottom: 12px;
    }

    .print-platform {
        font-size: 13px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .print-bar-name {
        font-size: 24px;
        font-weight: 900;
        margin-top: 4px;
    }

    .print-title {
        font-size: 14px;
        font-weight: 800;
        margin-top: 4px;
        text-transform: uppercase;
    }

    .print-meta {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 6px 18px;
        font-size: 12px;
        margin-bottom: 12px;
    }

        .print-meta div {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            border-bottom: 1px dotted #999;
            padding-bottom: 3px;
        }

        .print-meta span {
            font-weight: 700;
        }

    .print-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 10px;
        font-size: 12px;
    }

        .print-table th {
            border-top: 1px solid #222;
            border-bottom: 1px solid #222;
            padding: 6px 4px;
            text-align: left;
            font-weight: 900;
        }

        .print-table td {
            border-bottom: 1px solid #ddd;
            padding: 6px 4px;
        }

        .print-table .text-end {
            text-align: right;
        }

    .print-totals {
        margin-top: 12px;
        margin-left: auto;
        width: 280px;
        font-size: 12px;
    }

    .print-total-line {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px dotted #999;
        padding: 5px 0;
    }

        .print-total-line.net {
            border-bottom: 2px solid #222;
            font-size: 15px;
            font-weight: 900;
        }

    .print-footer {
        margin-top: 18px;
        padding-top: 8px;
        border-top: 1px solid #222;
        text-align: center;
        font-size: 11px;
        font-weight: 700;
    }
}


/* View: Areas/Bar/Views/PaymentMethods/Index.cshtml */

.payment-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.payment-hero-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.payment-hero-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.55rem;
    border: 1px solid rgba(29, 95, 209, 0.16);
    flex: 0 0 auto;
}

.payment-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.payment-hero-card h1 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 1.35rem;
    font-weight: 900;
}

.payment-hero-card p {
    margin: 0.2rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.payment-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

.payment-access-pill,
.view-only-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.45rem;
    padding: 0.32rem 0.65rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.74rem;
    font-weight: 800;
}

.view-only-badge {
    margin-top: 0;
    color: var(--kt-text-muted);
}

.payment-stats-grid,
.payment-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.payment-stat-card {
    min-height: 92px;
    padding: 0.85rem;
    border-radius: 18px;
}

.payment-filter-card,
.payment-table-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
}

    .payment-filter-card::before,
    .payment-table-card::before {
        display: none !important;
        content: none !important;
    }

.payment-filter-grid {
    display: grid;
    grid-template-columns: 1.5fr 0.75fr 0.75fr auto;
    gap: 0.55rem;
    align-items: center;
}

.payment-filter-select {
    min-height: 38px;
    border-radius: 12px;
    font-size: 0.82rem;
}

.payment-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.payment-method-card {
    text-align: center;
    padding: 0.95rem;
    border-radius: 18px;
    background: #FFFFFF;
    border: 1px solid rgba(29, 95, 209, 0.1);
    box-shadow: 0 10px 22px rgba(10, 27, 47, 0.045);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

    .payment-method-card:hover {
        transform: translateY(-2px);
        border-color: rgba(29, 95, 209, 0.22);
        box-shadow: 0 16px 34px rgba(10, 27, 47, 0.075);
    }

.payment-method-icon,
.payment-table-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.payment-method-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 0.55rem;
    border-radius: 17px;
    font-size: 1.35rem;
}

.payment-table-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    font-size: 1rem;
    flex: 0 0 auto;
}

.payment-icon-cash {
    background: #EEF4FC;
    color: var(--kt-primary-700);
}

.payment-icon-mtn {
    background: #FFF5DB;
    color: #ff6600;
}

.payment-icon-airtel {
    background: #ffebee;
    color: var(--kt-danger-600);
}

.payment-icon-card {
    background: #E5F5FB;
    color: #1D5FD1;
}

.payment-icon-bank {
    background: #EEF4FC;
    color: var(--kt-shell-950);
}

.payment-method-card h6 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 0.9rem;
    font-weight: 950;
}

.payment-method-card p {
    min-height: 32px;
    margin: 0.25rem 0 0.55rem;
    color: var(--kt-text-muted);
    font-size: 0.72rem;
    font-weight: 750;
}

.payment-empty-card {
    grid-column: 1 / -1;
}

.payment-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 0.95rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
}

    .payment-table-header h5 {
        margin: 0;
        color: var(--kt-shell-950);
        font-size: 1rem;
        font-weight: 900;
    }

    .payment-table-header span {
        color: var(--kt-text-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

.compact-payment-table th,
.compact-payment-table td {
    padding: 0.58rem 0.7rem;
    font-size: 0.8rem;
    vertical-align: middle;
}

.payment-name-cell {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

    .payment-name-cell strong {
        display: block;
        color: var(--kt-shell-950);
        font-size: 0.86rem;
        font-weight: 900;
    }

    .payment-name-cell small {
        display: block;
        color: var(--kt-text-muted);
        font-size: 0.68rem;
        font-weight: 700;
    }

.usage-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.28rem 0.52rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.72rem;
    font-weight: 900;
}

.payment-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    flex-wrap: nowrap;
}

.btn-ki-xs {
    min-height: 30px;
    padding: 0.32rem 0.48rem;
    border-radius: 10px;
    font-size: 0.72rem;
    line-height: 1;
}

@media (max-width: 1199.98px) {
    .payment-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .payment-hero-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .payment-stats-grid,
    .payment-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .payment-hero-main {
        align-items: flex-start;
    }

    .payment-stats-grid,
    .payment-card-grid,
    .payment-filter-grid {
        grid-template-columns: 1fr;
    }

    .payment-filter-footer,
    .payment-table-header {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* View: Areas/Bar/Views/PaymentMethods/Upsert.cshtml */

.payment-upsert-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(29, 95, 209, 0.14);
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(10, 27, 47, 0.07);
}

.payment-upsert-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.payment-upsert-hero h1 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 1.35rem;
    font-weight: 900;
}

.payment-upsert-hero p {
    margin: 0.2rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.payment-upsert-card,
.payment-guide-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(10, 27, 47, 0.05);
}

    .payment-upsert-card::before,
    .payment-guide-card::before {
        display: none !important;
        content: none !important;
    }

.payment-upsert-card-header {
    padding: 0.82rem 0.95rem;
    border-bottom: 1px solid #E3E9F1;
    background: #FFFFFF;
}

    .payment-upsert-card-header span {
        display: inline-flex;
        align-items: center;
        gap: 0.38rem;
        color: var(--kt-shell-950);
        font-size: 0.9rem;
        font-weight: 950;
    }

.payment-switch-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 16px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
}

    .payment-switch-box strong,
    .payment-switch-box span {
        display: block;
    }

    .payment-switch-box strong {
        color: var(--kt-shell-950);
        font-size: 0.86rem;
        font-weight: 950;
    }

    .payment-switch-box span {
        color: var(--kt-text-muted);
        font-size: 0.74rem;
        font-weight: 750;
    }

.payment-guide-card {
    padding: 1rem;
    background: #FFFFFF;
}

.payment-guide-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-primary-700);
    font-size: 1.35rem;
    margin-bottom: 0.75rem;
}

.payment-guide-card h5 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: 1rem;
    font-weight: 950;
}

.payment-guide-card p {
    margin: 0.35rem 0 0.75rem;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    font-weight: 750;
}

.payment-guide-list {
    display: grid;
    gap: 0.5rem;
}

    .payment-guide-list span {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        padding: 0.55rem 0.65rem;
        border-radius: 14px;
        background: #F8FAFD;
        border: 1px solid #D3DDE9;
        color: var(--kt-shell-950);
        font-size: 0.78rem;
        font-weight: 850;
    }

@media (max-width: 767.98px) {
    .payment-upsert-hero {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* View: Areas/Bar/Views/ItemPacks/Index.cshtml */

.compact-page-header {
    margin-bottom: 0.85rem;
}

    .compact-page-header h1 {
        margin-bottom: 0.2rem;
    }

    .compact-page-header .page-subtitle {
        margin-bottom: 0;
    }

.compact-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.compact-stat-card {
    min-height: 92px;
    padding: 0.85rem;
    border-radius: 18px;
}

    .compact-stat-card .stat-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        font-size: 1rem;
    }

    .compact-stat-card .stat-value {
        font-size: 1.25rem;
        line-height: 1.1;
    }

    .compact-stat-card .stat-label {
        font-size: 0.72rem;
    }

.compact-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.compact-search {
    max-width: 430px;
    width: 100%;
}

.compact-hint {
    display: inline-flex;
    align-items: center;
}

.unit-manager-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
}

    .unit-manager-card::before {
        display: none !important;
        content: none !important;
    }

    .unit-manager-card .card-header {
        padding: 0.72rem 0.9rem;
    }

    .unit-manager-card .card-body {
        padding: 0.85rem;
    }

.unit-form-box {
    height: 100%;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
    border-radius: 14px;
    padding: 0.8rem;
}

.unit-form-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--kt-shell-950);
    font-size: 0.85rem;
    font-weight: 900;
    margin-bottom: 0.55rem;
}

.unit-form-box .form-label {
    margin-bottom: 0.25rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.unit-form-box .form-control {
    min-height: 36px;
    font-size: 0.82rem;
    border-radius: 12px;
}

.unit-table-wrap {
    height: 100%;
    border: 1px solid #D3DDE9;
    border-radius: 14px;
    overflow: hidden;
    background: #FFFFFF;
}

.compact-unit-table th,
.compact-unit-table td {
    padding: 0.52rem 0.65rem;
    font-size: 0.78rem;
    vertical-align: middle;
}

.unit-count {
    display: inline-flex;
    min-width: 28px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-weight: 900;
}

.compact-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0.6rem 0 0.65rem;
}

    .compact-section-title h5 {
        margin: 0;
        color: var(--kt-shell-950);
        font-size: 1rem;
        font-weight: 900;
    }

    .compact-section-title span {
        color: var(--kt-text-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

.compact-pack-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.compact-pack-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: center;
    border: 1px solid rgba(29, 95, 209, 0.12);
    border-left: 4px solid var(--kt-primary-700);
    border-radius: 18px;
    background: #FFFFFF;
    padding: 0.78rem;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.045);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

    .compact-pack-card:hover {
        transform: translateY(-2px);
        border-color: rgba(29, 95, 209, 0.24);
        box-shadow: 0 16px 34px rgba(10, 27, 47, 0.08);
    }

.compact-pack-main {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    min-width: 0;
}

.compact-pack-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 1.15rem;
}

.compact-pack-info {
    min-width: 0;
    flex: 1;
}

.compact-pack-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.3rem;
}

    .compact-pack-title-row h6 {
        margin: 0;
        color: var(--kt-shell-950);
        font-size: 0.92rem;
        font-weight: 900;
        letter-spacing: -0.015em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.compact-pack-size {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.48rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.7rem;
    font-weight: 900;
}

.compact-pack-info p {
    margin: 0.38rem 0 0;
    color: var(--kt-text-muted);
    font-size: 0.74rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.compact-pack-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.45rem;
    color: var(--kt-text-muted);
    font-size: 0.69rem;
    font-weight: 800;
}

    .compact-pack-meta span {
        display: inline-flex;
        align-items: center;
        gap: 0.28rem;
    }

.compact-pack-actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.btn-ki-xs {
    min-height: 30px;
    padding: 0.32rem 0.48rem;
    border-radius: 10px;
    font-size: 0.72rem;
    line-height: 1;
}

.compact-empty-card {
    grid-column: 1 / -1;
    border-radius: 18px;
}

@media (max-width: 1199.98px) {
    .compact-stats-grid,
    .compact-pack-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .compact-stats-grid,
    .compact-pack-grid {
        grid-template-columns: 1fr;
    }

    .compact-pack-card {
        grid-template-columns: 1fr;
    }

    .compact-pack-actions {
        justify-content: flex-end;
        padding-top: 0.55rem;
        border-top: 1px solid #E3E9F1;
    }

    .compact-toolbar {
        align-items: stretch;
    }

    .compact-hint {
        width: 100%;
    }
}


/* View: Areas/Bar/Views/ItemPacks/Upsert.cshtml */

.item-pack-form-card,
.item-pack-preview-card {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(29, 95, 209, 0.12);
    background: #FFFFFF;
    box-shadow: 0 16px 36px rgba(10, 27, 47, 0.06), 0 4px 12px rgba(10, 27, 47, 0.035);
}

    .item-pack-form-card::before,
    .item-pack-preview-card::before {
        display: none !important;
        content: none !important;
    }

.item-pack-switch-box {
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: 1px solid #D3DDE9;
    background: #F8FAFD;
}

    .item-pack-switch-box .form-check-input {
        width: 2.7rem;
        height: 1.35rem;
        margin-right: 0.55rem;
    }

.item-pack-preview-card {
    padding: 1.25rem;
}

.item-pack-preview-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

.item-pack-preview-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    border: 1px solid rgba(29, 95, 209, 0.14);
    color: var(--kt-primary-700);
    font-size: 1.7rem;
    box-shadow: 0 12px 26px rgba(29, 95, 209, 0.09);
}

.item-pack-preview-card h3 {
    margin: 0;
    color: var(--kt-shell-950);
    font-weight: 900;
    letter-spacing: -0.03em;
}

.preview-pack-size {
    display: inline-flex;
    align-items: center;
    margin-top: 0.65rem;
    padding: 0.42rem 0.7rem;
    border-radius: 999px;
    background: #F8FAFD;
    border: 1px solid #D3DDE9;
    color: var(--kt-shell-950);
    font-size: 0.82rem;
    font-weight: 900;
}

.item-pack-preview-card p {
    min-height: 68px;
    margin: 0.8rem 0 1rem;
    color: var(--kt-text-muted);
    line-height: 1.55;
}

.item-pack-preview-footer {
    padding-top: 0.85rem;
    border-top: 1px solid #E3E9F1;
    color: var(--kt-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

    .item-pack-preview-footer span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }


/* View: Areas/Platform/Views/Permissions/Index.cshtml */

.permissions-page-shell {
    display: grid;
    gap: 1rem;
}

.permissions-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-radius: 22px;
    background: #FFFFFF;
    border: 1px solid rgba(29,95,209,.12);
    border-top: 1px solid var(--kt-border);
    box-shadow: 0 14px 34px rgba(10,27,47,.06);
}

    .permissions-hero h1 {
        margin: .3rem 0 .25rem;
        color: var(--kt-shell-950);
        font-size: 1.65rem;
        font-weight: 900;
    }

    .permissions-hero p {
        margin: 0;
        color: var(--kt-text-muted);
        font-size: .88rem;
        font-weight: 650;
    }

.permissions-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .26rem .65rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.permissions-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.permission-stat-pill {
    min-width: 132px;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .75rem .85rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #D3DDE9;
    box-shadow: 0 10px 24px rgba(10,27,47,.045);
}

    .permission-stat-pill i {
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 13px;
        background: #EEF4FC;
        color: var(--kt-primary-700);
        font-size: 1.05rem;
    }

    .permission-stat-pill strong {
        display: block;
        color: var(--kt-shell-950);
        font-size: 1rem;
        line-height: 1;
        font-weight: 900;
    }

    .permission-stat-pill span {
        color: var(--kt-text-muted);
        font-size: .68rem;
        font-weight: 800;
    }

.platform-alert {
    border-radius: 16px;
    border: 1px solid rgba(29,95,209,.12);
    box-shadow: 0 10px 24px rgba(10,27,47,.04);
}

.role-summary-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .75rem;
}

.role-summary-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .95rem;
    border-radius: 20px;
    background: #FFFFFF;
    border: 1px solid #D3DDE9;
    box-shadow: 0 10px 26px rgba(10,27,47,.045);
}

.role-summary-main {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.role-avatar {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    border: 1px solid rgba(29,95,209,.14);
    font-size: .85rem;
    font-weight: 900;
}

.role-summary-card:nth-child(2) .role-avatar {
    background: #FFF5DB;
    color: #d46f00;
    border-color: rgba(255,152,0,.2);
}

.role-summary-card:nth-child(3) .role-avatar {
    background: #e7f7f4;
    color: #00897b;
    border-color: rgba(0,137,123,.16);
}

.role-summary-card h3 {
    margin: 0;
    color: var(--kt-shell-950);
    font-size: .95rem;
    font-weight: 900;
}

.role-summary-card p {
    margin: .15rem 0 0;
    color: var(--kt-text-muted);
    font-size: .72rem;
    font-weight: 700;
}

.role-permission-count {
    white-space: nowrap;
    padding: .32rem .65rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .7rem;
    font-weight: 900;
}

.permissions-matrix-card {
    overflow: hidden;
    border-radius: 22px;
    background: #FFFFFF;
    border: 1px solid rgba(29,95,209,.12);
    box-shadow: 0 14px 34px rgba(10,27,47,.06);
}

.permissions-matrix-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid #D3DDE9;
    background: #FFFFFF;
}

    .permissions-matrix-head h2 {
        margin: 0;
        color: var(--kt-shell-950);
        font-size: 1rem;
        font-weight: 900;
    }

    .permissions-matrix-head p {
        margin: .15rem 0 0;
        color: var(--kt-text-muted);
        font-size: .74rem;
        font-weight: 700;
    }

.role-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}

.role-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .27rem .5rem;
    border-radius: 999px;
    border: 1px solid #d9e8d9;
    background: #fff;
    color: var(--kt-shell-950);
    font-size: .68rem;
    font-weight: 850;
}

.role-chip-initial {
    width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    font-size: .62rem;
    font-weight: 900;
}

.matrix-scroll {
    overflow-x: auto;
}

.permissions-matrix {
    width: 100%;
    min-width: 980px;
    border-collapse: separate;
    border-spacing: 0;
}

    .permissions-matrix th {
        padding: .72rem .8rem;
        background: #F8FAFD;
        color: var(--kt-shell-950);
        border-bottom: 1px solid #D3DDE9;
        font-size: .72rem;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .03em;
    }

    .permissions-matrix td {
        padding: .65rem .8rem;
        border-bottom: 1px solid #f0e5dc;
        vertical-align: middle;
        font-size: .78rem;
    }

.permission-module-cell {
    width: 220px;
    color: var(--kt-shell-950);
    font-weight: 900;
}

.module-pill {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .4rem .55rem;
    border-radius: 14px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    border: 1px solid rgba(29,95,209,.12);
}

.permission-name-cell strong {
    display: block;
    color: var(--kt-shell-950);
    font-size: .8rem;
    font-weight: 900;
}

.permission-name-cell small {
    display: block;
    color: var(--kt-text-muted);
    font-size: .66rem;
    font-weight: 700;
    margin-top: .1rem;
}

.granted-role-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .3rem;
}

.granted-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 .42rem;
    border-radius: 999px;
    background: #EEF4FC;
    color: var(--kt-shell-950);
    border: 1px solid rgba(29,95,209,.12);
    font-size: .62rem;
    font-weight: 900;
}

.role-check-cell {
    text-align: center;
    width: 120px;
}

.matrix-check {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .matrix-check input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .matrix-check span {
        width: 30px;
        height: 30px;
        border-radius: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d9cbbf;
        background: #fff;
        color: transparent;
        transition: .18s ease;
    }

    .matrix-check input:checked + span {
        border-color: rgba(29,95,209,.28);
        background: #1D5FD1;
        color: #fff;
        box-shadow: 0 8px 18px rgba(22,108,37,.18);
    }

    .matrix-check input:disabled + span {
        opacity: .9;
        cursor: not-allowed;
    }

.role-save-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
    padding: .85rem 1rem;
    border-top: 1px solid #D3DDE9;
    background: #F8FAFD;
}

.role-save-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-width: 280px;
    padding: .55rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #D3DDE9;
}

    .role-save-card strong {
        color: var(--kt-shell-950);
        font-size: .78rem;
        font-weight: 900;
    }

    .role-save-card small {
        display: block;
        color: var(--kt-text-muted);
        font-size: .65rem;
        font-weight: 700;
    }

@media (max-width: 1199.98px) {
    .permissions-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .role-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   KITUNZI 2026 FINAL VISUAL SYSTEM
   Flat, spacious, responsive, accessible, no gradients or
   decorative background circles.
   ============================================================ */


html {
    min-width: 320px;
    scroll-behavior: smooth;
    text-size-adjust: 100%;
}

body {
    min-width: 320px;
    background: var(--kt-surface-3) !important;
    color: var(--kt-text);
    line-height: 1.5;
    overflow-x: hidden;
}

/* Remove gradient and decorative background treatments. */
.auth-page,
.auth-showcase,
.auth-form-stage,
.home-page,
.home-hero,
.section-block,
.page-header,
.dashboard-hero,
.permissions-hero,
.reports-hero,
.pos-topbar,
.pos-deal-card,
.product-card-sm,
.card-ki,
.stat-card,
.dashboard-card,
.report-card-polished,
.public-navbar,
.public-footer,
.sidebar,
.topbar,
.modal-content,
.dropdown-menu {
    background-image: none !important;
}

    .stat-bg-icon,
    .decorative-circle,
    .decorative-ring,
    .decorative-shape,
    .bg-circle,
    .hero-circle,
    .floating-circle,
    .shape-circle,
    .auth-decoration,
    .auth-orb,
    .permissions-hero::before,
    .permissions-hero::after,
    .reports-hero::before,
    .reports-hero::after,
    .pos-deal-card::before,
    .pos-deal-card::after,
    .product-card-sm::before,
    .product-card-sm::after,
    .dashboard-hero::before,
    .dashboard-hero::after::before::after {
        display: none !important;
        content: none !important;
    }

/* Layout sizing and safe shrinking. */
img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

img,
svg {
    height: auto;
}

main,
.content-wrapper,
.main-content,
.page-content,
.public-main,
.auth-form-stage,
.card-body,
.modal-body,
.row > *,
[class*="col-"] {
    min-width: 0;
}

.container,
.container-fluid {
    width: 100%;
}

.app-content,
.main-content,
.content-wrapper {
    max-width: var(--ki-content-max);
    margin-inline: auto;
}

/* Typography. */
h1, .h1 {
    font-size: clamp(1.55rem, 3.1vw, 2.25rem);
    line-height: 1.15;
}

h2, .h2 {
    font-size: clamp(1.3rem, 2.5vw, 1.85rem);
    line-height: 1.2;
}

h3, .h3 {
    font-size: clamp(1.12rem, 2vw, 1.45rem);
    line-height: 1.25;
}

h4, .h4 {
    font-size: clamp(1rem, 1.6vw, 1.22rem);
}

h1, h2, h3, h4, h5, h6,
.page-title,
.card-title {
    color: var(--kt-shell-950);
    overflow-wrap: anywhere;
}

p,
.text-muted-custom,
.page-subtitle {
    overflow-wrap: anywhere;
}

/* Shared page header. */
.page-header,
.dashboard-hero,
.reports-hero,
.permissions-hero,
.pos-topbar {
    padding: clamp(.9rem, 2vw, 1.25rem) !important;
    border: 1px solid var(--kt-border) !important;
    border-top: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-xl) !important;
    background: var(--ki-surface) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

    .page-header h1,
    .dashboard-hero h1,
    .reports-hero h1,
    .permissions-hero h1 h1 {
        margin-block: .25rem .35rem;
    }

.ki-page-eyebrow,
.home-eyebrow,
.acc-eyebrow,
.permissions-eyebrow,
.auth-country-pill,
.acc-access-pill {
    border-radius: 999px;
    background: var(--kt-primary-100) !important;
    border: 1px solid #d5e7d7 !important;
    color: var(--kt-shell-950) !important;
}

/* Cards: lower visual noise and consistent hierarchy. */
.card,
.card-ki,
.stat-card,
.dashboard-card,
.report-card-polished,
.feature-card-updated,
.workflow-card-updated,
.uganda-card,
.preview-stat,
.hero-preview-card,
.dashboard-showcase,
.role-summary-card,
.permission-stat-pill,
.reports-filter-card,
.reports-card,
.reports-stat,
.pos-products-panel,
.pos-cart-panel-polished,
.pos-deal-card,
.product-card-sm,
.acc-card {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-lg) !important;
    background: var(--ki-surface) !important;
    box-shadow: var(--ki-shadow-xs) !important;
}

    .card:hover,
    .card-ki:hover,
    .stat-card:hover,
    .dashboard-card:hover,
    .report-card-polished:hover,
    .feature-card-updated:hover,
    .workflow-card-updated:hover,
    .uganda-card:hover,
    .preview-stat:hover,
    .role-summary-card:hover,
    .reports-card:hover,
    .pos-deal-card:hover,
    .product-card-sm:hover {
        transform: translateY(-1px) !important;
        border-color: var(--kt-border-strong) !important;
        box-shadow: var(--kt-shadow-sm) !important;
    }

.card-header,
.reports-card-header,
.pos-cart-head {
    padding: .85rem 1rem !important;
    background: var(--ki-surface-muted) !important;
    border-bottom: 1px solid var(--kt-border) !important;
}

.card-body {
    padding: clamp(.85rem, 2vw, 1.15rem);
}

/* Keep stat grids readable and not crowded. */
.dashboard-stat-grid,
.reports-stat-grid,
.acc-stat-grid,
.stats-grid,
.summary-grid,
.preview-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
}

.stat-card,
.reports-stat,
.dashboard-stat-card,
.dashboard-small-stat {
    min-height: 104px !important;
    padding: .9rem !important;
    overflow: visible !important;
}

.stat-card-main {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.stat-icon,
.feature-icon,
.workflow-number,
.uganda-icon,
.preview-logo-box,
.footer-brand-mark,
.role-avatar,
.report-icon,
.pcs-icon {
    flex: 0 0 auto;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.stat-value,
.reports-stat-value {
    font-size: clamp(1.08rem, 2.1vw, 1.45rem) !important;
    line-height: 1.2;
}

/* Buttons. */
.btn,
.btn-ki {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: 11px !important;
    font-weight: 750;
    box-shadow: none !important;
    white-space: normal;
    text-align: center;
}

    .btn:hover,
    .btn-ki:hover {
        transform: translateY(-1px);
    }

    .btn:focus-visible,
    .form-control:focus,
    .form-select:focus,
    .form-check-input:focus,
    a:focus-visible,
    button:focus-visible {
        outline: 3px solid rgba(245, 158, 11, .28) !important;
        outline-offset: 2px;
        box-shadow: none !important;
    }

.btn-group,
.action-buttons,
.page-actions,
.toolbar-actions,
.report-card-actions,
.form-actions,
.modal-footer,
.public-nav-actions,
.pos-top-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

/* Forms. */
.form-control,
.form-select,
.input-group-text,
.form-check-input,
textarea {
    border-color: var(--kt-border-strong) !important;
    border-radius: 10px !important;
    background-color: #fff !important;
}

.form-control,
.form-select {
    min-height: var(--kt-control-height);
    font-size: .92rem;
}

textarea.form-control {
    min-height: 96px;
    resize: vertical;
}

label,
.form-label {
    color: var(--kt-shell-950);
    font-weight: 750;
    margin-bottom: .35rem;
}

.form-grid,
.auth-form-grid,
.register-form-grid,
.details-grid,
.filter-grid,
.report-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .85rem;
}

.validation-summary-errors,
.field-validation-error {
    color: var(--kt-danger-600);
}

/* Tables: desktop scroll, mobile card rows. */
.table-responsive,
.table-responsive-custom,
.data-table-wrapper,
.ki-table-wrap,
.table-card {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--kt-radius-md);
}

table,
.table,
.table-ki,
.reports-mini-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

    .table th,
    .table td,
    .table-ki th,
    .table-ki td,
    .reports-mini-table th,
    .reports-mini-table td {
        padding: .72rem .78rem;
        vertical-align: middle;
        border-bottom: 1px solid #F1F4F8;
    }

    .table thead th,
    .table-ki thead th,
    .reports-mini-table thead th {
        background: #f4f8f4 !important;
        color: var(--kt-shell-950) !important;
        font-size: .72rem;
        font-weight: 850;
        text-transform: uppercase;
        letter-spacing: .025em;
        white-space: nowrap;
    }

    .table tbody tr:hover,
    .table-ki tbody tr:hover {
        background: #FBFCFE !important;
    }

/* Badges. */
.badge,
.status-badge,
.stock-badge,
.acc-status-pill {
    border-radius: 999px !important;
    padding: .4rem .62rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

/* Sidebar and topbar. */
.sidebar {
    background: #fff !important;
    border-right: 1px solid var(--kt-border) !important;
    box-shadow: 8px 0 24px rgba(20, 48, 26, .045) !important;
}

.sidebar-header,
.topbar {
    background: #fff !important;
    border-color: var(--kt-border) !important;
}

.sidebar-link,
.sidebar-menu-toggle {
    border-radius: 10px !important;
    min-height: 40px;
}

    .sidebar-link.active,
    .sidebar-link:hover,
    .sidebar-menu-toggle:hover,
    .sidebar-menu-toggle[aria-expanded="true"] {
        background: var(--kt-primary-100) !important;
        color: var(--kt-shell-950) !important;
    }

.sidebar-submenu {
    border-left: 1px solid #DCE4EF;
    margin-left: 1rem;
    padding-left: .45rem;
}

.topbar {
    min-width: 0;
}

.topbar-left,
.topbar-right,
.topbar-actions,
.topbar-user {
    min-width: 0;
}

/* Empty states and inline help. */
.ki-empty-state,
.empty-state,
.system-empty-state {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: 1.4rem;
    text-align: center;
    border: 1px dashed var(--kt-border-strong);
    border-radius: var(--kt-radius-lg);
    background: #FBFCFE;
    color: var(--kt-text-muted);
}

    .ki-empty-state i,
    .empty-state i,
    .empty-icon {
        color: var(--kt-primary-700);
        font-size: 1.45rem;
    }

.page-help-strip,
.context-help,
.ki-guidance {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .8rem .9rem;
    border: 1px solid #DCE4EF;
    border-left: 4px solid var(--kt-primary-700);
    border-radius: var(--kt-radius-md);
    background: #f8fcf8;
    color: var(--kt-text-muted);
}

    .page-help-strip i,
    .context-help i,
    .ki-guidance i {
        color: var(--kt-primary-700);
        flex: 0 0 auto;
    }

.global-help-button {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1045;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: var(--kt-primary-700);
    color: #fff;
    box-shadow: var(--kt-shadow-md);
}

body:has(.public-footer) .global-help-button {
    bottom: calc(var(--public-footer-height, 70px) + 1rem);
}

.help-list {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .help-list li {
        display: grid;
        grid-template-columns: 30px 1fr;
        gap: .65rem;
        align-items: start;
    }

.help-step-number {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--kt-primary-100);
    color: var(--kt-shell-950);
    font-weight: 900;
}

/* POS: compact and phone friendly. */
.pos-page-shell {
    gap: .75rem !important;
}

.pos-layout-polished {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 370px) !important;
    gap: .85rem !important;
}

.pos-products-panel {
    padding: .85rem !important;
}

.pos-active-deals {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    gap: .65rem !important;
}

.pos-deal-card {
    min-height: 108px !important;
    padding: .8rem !important;
}

.product-grid-polished {
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)) !important;
    gap: .65rem !important;
}

.product-card-sm {
    min-height: 154px !important;
    padding: .78rem !important;
    gap: .28rem !important;
}

.pcs-icon {
    width: 38px !important;
    height: 38px !important;
    margin-bottom: .1rem !important;
}

.pcs-name {
    min-height: auto !important;
    font-size: .84rem !important;
}

.pcs-price {
    font-size: .82rem !important;
}

.pos-cart-panel-polished {
    top: 74px !important;
    max-height: calc(100vh - 92px);
}

.pos-cart-items {
    max-height: min(39vh, 360px) !important;
    padding: .65rem !important;
}

.pos-cart-line {
    padding: .65rem !important;
    border-radius: 13px !important;
}

.pos-mobile-cart-toggle {
    display: none;
}

/* Reports: professional print header and selected-output layout. */
.report-document-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    margin-bottom: .9rem;
    border: 1px solid var(--kt-border);
    border-top: 1px solid var(--kt-border);
    border-radius: var(--kt-radius-lg);
    background: #fff;
}

.report-document-title {
    margin: 0;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 900;
    color: var(--kt-shell-950);
}

.report-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(140px, auto));
    gap: .4rem 1rem;
    font-size: .8rem;
}

    .report-meta-grid dt {
        color: var(--kt-text-muted);
        font-weight: 700;
    }

    .report-meta-grid dd {
        margin: 0;
        color: var(--kt-shell-950);
        font-weight: 850;
    }

.reports-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    gap: .85rem;
}

.report-section-print-title {
    display: none;
}

/* Audit and notification center. */
.operation-summary-grid,
.notification-summary-grid,
.audit-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
}

.timeline-list {
    display: grid;
    gap: .65rem;
}

.timeline-item,
.notification-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: start;
    padding: .8rem;
    border: 1px solid var(--kt-border);
    border-radius: var(--kt-radius-md);
    background: #fff;
}

.timeline-icon,
.notification-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--kt-primary-100);
    color: var(--kt-primary-700);
}

.notification-item.is-warning .notification-icon {
    background: var(--kt-warning-100);
    color: var(--kt-warning-700);
}

.notification-item.is-danger .notification-icon {
    background: var(--kt-danger-600-soft);
    color: var(--kt-danger-600);
}

/* Error pages. */
.error-page-shell {
    min-height: min(70vh, 720px);
    display: grid;
    place-items: center;
    padding: 1rem;
}

.error-card {
    width: min(100%, 680px);
    padding: clamp(1.2rem, 4vw, 2.25rem);
    text-align: center;
    border: 1px solid var(--kt-border);
    border-top: 1px solid var(--kt-border);
    border-radius: var(--kt-radius-xl);
    background: #fff;
    box-shadow: var(--kt-shadow-md);
}

.error-code {
    font-size: clamp(2.4rem, 8vw, 4.5rem);
    line-height: 1;
    color: var(--kt-primary-700);
    font-weight: 950;
}

/* Auth and public surfaces. */
.auth-showcase {
    background: #103f1c !important;
}

.auth-feature-card,
.auth-form-card,
.public-navbar,
.public-footer {
    border-color: var(--kt-border) !important;
}

.home-hero,
.section-block,
.public-main {
    background: var(--kt-surface-3) !important;
}

.cta-section-updated {
    background: var(--kt-shell-950) !important;
}

/* Responsive desktop/tablet. */
@media (max-width: 1199.98px) {
    .pos-layout-polished {
        grid-template-columns: minmax(0, 1fr) 330px !important;
    }

    .reports-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .page-header,
    .dashboard-hero,
    .reports-hero,
    .permissions-hero,
    .pos-topbar {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .pos-layout-polished {
        display: block !important;
    }

    .pos-cart-panel-polished {
        position: fixed !important;
        inset: auto 0 0 0;
        z-index: 1080;
        max-height: 78vh;
        border-radius: 20px 20px 0 0 !important;
        transform: translateY(calc(100% - 58px));
        transition: transform .22s ease;
        box-shadow: 0 -12px 34px rgba(20, 48, 26, .16) !important;
    }

        .pos-cart-panel-polished.mobile-open {
            transform: translateY(0);
        }

    .pos-cart-head {
        cursor: pointer;
        min-height: 58px;
    }

        .pos-cart-head::after {
            content: "Tap to open";
            margin-left: auto;
            color: var(--kt-text-muted);
            font-size: .7rem;
            font-weight: 700;
        }

    .pos-cart-panel-polished.mobile-open .pos-cart-head::after {
        content: "Tap to close";
    }

    .pos-page-shell {
        padding-bottom: 66px;
    }

    .reports-grid {
        grid-template-columns: 1fr;
    }

    .report-document-header {
        grid-template-columns: 1fr;
    }

    .report-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .role-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    .container,
    .container-fluid {
        padding-left: .75rem !important;
        padding-right: .75rem !important;
    }

    .main-content,
    .page-content,
    .content-wrapper {
        padding: .75rem !important;
    }

    .dashboard-stat-grid,
    .reports-stat-grid,
    .acc-stat-grid,
    .stats-grid,
    .summary-grid,
    .preview-stat-grid,
    .operation-summary-grid,
    .notification-summary-grid,
    .audit-summary-grid,
    .role-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .form-grid,
    .auth-form-grid,
    .register-form-grid,
    .details-grid,
    .filter-grid,
    .report-filter-grid {
        grid-template-columns: 1fr !important;
    }

    .page-actions,
    .toolbar-actions,
    .form-actions,
    .report-card-actions,
    .modal-footer,
    .pos-top-actions {
        width: 100%;
    }

        .page-actions .btn,
        .toolbar-actions .btn,
        .form-actions .btn,
        .modal-footer .btn,
        .pos-top-actions > .btn {
            flex: 1 1 150px;
        }

    .modal-dialog {
        margin: .5rem;
        max-width: calc(100% - 1rem);
    }

    .modal-content {
        border-radius: var(--kt-radius-lg) !important;
    }

    .timeline-item,
    .notification-item {
        grid-template-columns: 38px minmax(0, 1fr);
    }

        .timeline-item > :last-child,
        .notification-item > :last-child {
            grid-column: 2;
            justify-self: start;
        }

    .public-footer-inner,
    .footer-brand-area,
    .footer-meta {
        min-width: 0;
        max-width: 100%;
    }
}

@media (max-width: 575.98px) {
    body {
        font-size: .92rem;
    }

    .card-body,
    .card-header,
    .reports-card-header {
        padding: .75rem !important;
    }

    .dashboard-stat-grid,
    .reports-stat-grid,
    .acc-stat-grid,
    .stats-grid,
    .summary-grid,
    .preview-stat-grid,
    .operation-summary-grid,
    .notification-summary-grid,
    .audit-summary-grid,
    .role-summary-grid {
        grid-template-columns: 1fr !important;
    }

    .product-grid-polished {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .5rem !important;
    }

    .product-card-sm {
        min-height: 146px !important;
        padding: .65rem !important;
    }

    .pcs-actions .btn {
        min-height: 36px;
        padding-inline: .45rem;
        font-size: .75rem;
    }

    .pos-active-deals {
        grid-template-columns: 1fr !important;
    }

    .report-meta-grid {
        grid-template-columns: 1fr;
    }

    .btn,
    .btn-ki {
        min-height: 42px;
    }

    /* Card-table mode. JS supplies data-label attributes. */
    .table-mobile-cards thead {
        display: none;
    }

    .table-mobile-cards,
    .table-mobile-cards tbody,
    .table-mobile-cards tr,
    .table-mobile-cards td {
        display: block;
        width: 100%;
    }

        .table-mobile-cards tbody {
            display: grid;
            gap: .7rem;
            padding: .15rem;
        }

            .table-mobile-cards tbody tr {
                padding: .55rem .7rem;
                border: 1px solid var(--kt-border);
                border-radius: var(--kt-radius-md);
                background: #fff;
                box-shadow: var(--ki-shadow-xs);
            }

            .table-mobile-cards tbody td {
                display: grid;
                grid-template-columns: minmax(100px, 42%) minmax(0, 1fr);
                gap: .65rem;
                align-items: center;
                padding: .48rem 0 !important;
                border-bottom: 1px solid #F1F4F8 !important;
                text-align: right !important;
                white-space: normal !important;
                overflow-wrap: anywhere;
            }

                .table-mobile-cards tbody td:last-child {
                    border-bottom: 0 !important;
                }

                .table-mobile-cards tbody td::before {
                    content: attr(data-label);
                    color: var(--kt-text-muted);
                    font-size: .7rem;
                    font-weight: 850;
                    text-align: left;
                    text-transform: uppercase;
                    letter-spacing: .025em;
                }

                .table-mobile-cards tbody td[colspan] {
                    display: block;
                    text-align: center !important;
                }

                    .table-mobile-cards tbody td[colspan]::before {
                        content: none;
                    }
}

@media (max-width: 419.98px) {
    .container,
    .container-fluid,
    .main-content,
    .page-content,
    .content-wrapper {
        padding-left: .6rem !important;
        padding-right: .6rem !important;
    }

    .page-header,
    .dashboard-hero,
    .reports-hero,
    .permissions-hero,
    .pos-topbar {
        padding: .75rem !important;
        border-radius: 16px !important;
    }

    .product-grid-polished {
        grid-template-columns: 1fr 1fr !important;
    }

    .public-nav-actions,
    .auth-actions,
    .hero-actions {
        grid-template-columns: 1fr !important;
    }

        .public-nav-actions .btn,
        .auth-actions .btn,
        .hero-actions .btn {
            width: 100%;
        }

    .table-mobile-cards tbody td {
        grid-template-columns: 1fr;
        gap: .2rem;
        text-align: left !important;
    }
}

@media (max-width: 359.98px) {
    .product-grid-polished {
        grid-template-columns: 1fr !important;
    }

    .btn-group,
    .action-buttons,
    .page-actions,
    .toolbar-actions,
    .form-actions,
    .modal-footer,
    .public-nav-actions,
    .pos-top-actions {
        flex-direction: column;
        align-items: stretch;
    }

        .btn-group .btn,
        .action-buttons .btn,
        .page-actions .btn,
        .toolbar-actions .btn,
        .form-actions .btn,
        .modal-footer .btn,
        .public-nav-actions .btn,
        .pos-top-actions .btn {
            width: 100%;
        }
}

/* Printing. */
@media print {
    @page {
        margin: 12mm;
    }

    body {
        background: #fff !important;
        color: #111 !important;
        padding: 0 !important;
        font-size: 10pt;
    }

    .sidebar,
    .topbar,
    .public-navbar,
    .public-footer,
    .global-help-button,
    .scroll-top,
    #publicBackToTop,
    .no-print,
    .btn,
    button,
    .page-actions,
    .toolbar-actions,
    .report-card-actions {
        display: none !important;
    }

    .main-content,
    .content-wrapper,
    .public-main,
    .page-content {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    .card,
    .card-ki,
    .reports-card,
    .report-document-header {
        break-inside: avoid;
        box-shadow: none !important;
        border-color: #bbb !important;
    }

    .report-section-print-title {
        display: block !important;
        margin-bottom: .5rem;
        font-weight: 900;
        font-size: 13pt;
    }

    table {
        font-size: 9pt;
    }

    a[href]::after {
        content: none !important;
    }
}

/* ==============================================================
   ROLE-SPECIFIC DASHBOARD WORKSPACE
   ============================================================== */
.role-workspace {
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid var(--kt-border, #E3E9F1);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.05);
}

.role-workspace-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.role-workspace-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.35rem;
    color: var(--kt-primary-700, #1D5FD1);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.role-workspace h2 {
    margin: 0;
    color: var(--kt-shell-950, #071A2D);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    font-weight: 900;
    letter-spacing: -0.02em;
}

.role-workspace p {
    max-width: 720px;
    margin: 0.25rem 0 0;
    color: var(--kt-text-muted, #56667C);
    font-size: 0.86rem;
    line-height: 1.55;
    font-weight: 650;
}

.role-workspace-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0.35rem 0.7rem;
    border: 1px solid rgba(22, 108, 37, 0.18);
    border-radius: 10px;
    background: #EEF4FC;
    color: var(--kt-shell-950, #071A2D);
    font-size: 0.72rem;
    font-weight: 900;
}

.role-quick-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.role-workspace .quick-action-card {
    min-width: 0;
    min-height: 76px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem;
    border: 1px solid var(--kt-border, #E3E9F1);
    border-radius: 14px;
    background: #FFFFFF;
    color: var(--kt-shell-950, #071A2D);
    text-align: left;
    text-decoration: none;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

    .role-workspace .quick-action-card:hover,
    .role-workspace .quick-action-card:focus-visible {
        border-color: rgba(22, 108, 37, 0.34);
        color: var(--kt-shell-950, #071A2D);
        box-shadow: 0 10px 20px rgba(10, 27, 47, 0.07);
        transform: translateY(-2px);
        outline: none;
    }

.quick-action-card-button {
    width: 100%;
    cursor: pointer;
    font: inherit;
}

.role-workspace .qac-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(22, 108, 37, 0.14);
    border-radius: 12px;
    background: #EEF4FC;
    color: var(--kt-primary-700, #1D5FD1);
    font-size: 1.05rem;
}

.role-workspace .qac-icon-primary {
    background: #EEF4FC;
    color: var(--kt-primary-700, #1D5FD1);
}

.role-workspace .qac-content {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    gap: 0.15rem;
}

    .role-workspace .qac-content strong {
        overflow: hidden;
        color: var(--kt-shell-950, #071A2D);
        font-size: 0.84rem;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .role-workspace .qac-content small {
        display: -webkit-box;
        overflow: hidden;
        color: var(--kt-text-muted, #56667C);
        font-size: 0.72rem;
        font-weight: 650;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

.role-workspace .qac-arrow {
    flex: 0 0 auto;
    color: var(--kt-primary-700, #1D5FD1);
}

.workspace-help-note {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 0.9rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--kt-border, #E3E9F1);
    color: var(--kt-text-muted, #56667C);
    font-size: 0.75rem;
    font-weight: 650;
    line-height: 1.45;
}

    .workspace-help-note i {
        margin-top: 0.05rem;
        color: var(--kt-primary-700, #1D5FD1);
    }

@media (max-width: 575.98px) {
    .role-workspace-header {
        flex-direction: column;
        gap: 0.55rem;
    }

    .role-workspace-badge {
        align-self: flex-start;
    }

    .role-quick-action-grid {
        grid-template-columns: 1fr;
    }

    .role-workspace .quick-action-card {
        min-height: 68px;
        padding: 0.7rem;
    }

    .role-workspace .qac-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }
}

/* ==============================================================
   FRIENDLY ERROR AND STATUS PAGES
   ============================================================== */
.system-state-page {
    min-height: calc(100vh - var(--public-navbar-height, 76px) - var(--public-footer-height, 64px));
    display: grid;
    place-items: center;
    padding: clamp(2rem, 7vw, 5rem) 0;
    background: #F8FAFD;
}

.system-state-card {
    position: relative;
    max-width: 660px;
    margin-inline: auto;
    padding: clamp(1.25rem, 4vw, 2.25rem);
    overflow: hidden;
    border: 1px solid rgba(22, 108, 37, 0.16);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(10, 27, 47, 0.08);
    text-align: center;
}

.system-state-code {
    position: absolute;
    top: 0.65rem;
    right: 1rem;
    color: rgba(5, 59, 19, 0.08);
    font-size: clamp(3.2rem, 12vw, 7rem);
    font-weight: 950;
    line-height: 1;
    pointer-events: none;
}

.system-state-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    margin: 0 auto 1rem;
    border: 1px solid rgba(22, 108, 37, 0.16);
    border-radius: 16px;
    background: #EEF4FC;
    color: var(--kt-primary-700, #1D5FD1);
    font-size: 1.55rem;
}

.system-state-card-error .system-state-icon {
    border-color: rgba(180, 35, 35, 0.16);
    background: #FDE9EC;
    color: #b42323;
}

.system-state-card h1 {
    position: relative;
    margin: 0;
    color: var(--kt-shell-950, #071A2D);
    font-size: clamp(1.45rem, 4vw, 2rem);
    font-weight: 950;
    letter-spacing: -0.035em;
}

.system-state-card > p {
    position: relative;
    max-width: 540px;
    margin: 0.75rem auto 0;
    color: var(--kt-text-muted, #56667C);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.65;
}

.system-state-reference {
    position: relative;
    display: grid;
    gap: 0.25rem;
    max-width: 520px;
    margin: 1rem auto 0;
    padding: 0.7rem 0.8rem;
    border: 1px solid #D3DDE9;
    border-radius: 12px;
    background: #F8FAFD;
    text-align: left;
}

    .system-state-reference span {
        color: var(--kt-text-muted, #56667C);
        font-size: 0.68rem;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .system-state-reference code {
        overflow-wrap: anywhere;
        color: var(--kt-shell-950, #071A2D);
        font-size: 0.76rem;
    }

.system-state-actions {
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

@media (max-width: 480px) {
    .system-state-page {
        align-items: start;
        padding-top: 1rem;
    }

    .system-state-card {
        border-radius: 16px;
    }

    .system-state-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

        .system-state-actions .btn {
            width: 100%;
        }
}

/* Final decorative-background cleanup: retain only functional status indicators. */
.session-glow,
.dashboard-hero::before,
.dashboard-hero::after::before::after,
.permissions-hero::before,
.permissions-hero::after,
.reports-hero::before,
.reports-hero::after,
[class*="background-orb"],
[class*="floating-orb"],
[class*="decorative-circle"],
[class*="decorative-ring"],
[class*="decorative-shape"] {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Flat SVG doughnut chart support. */
.doughnut-chart {
    position: relative;
    width: 140px;
    height: 140px;
    display: grid;
    place-items: center;
    margin-inline: auto;
    border-radius: 0;
    background: transparent;
}

    .doughnut-chart svg {
        display: block;
        width: 140px;
        height: 140px;
    }

.doughnut-center {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    text-align: center;
    pointer-events: none;
}

    .doughnut-center .value {
        color: var(--kt-shell-950, #071A2D);
        font-size: 1.25rem;
        font-weight: 950;
        line-height: 1.1;
    }

    .doughnut-center .label {
        color: var(--kt-text-muted, #56667C);
        font-size: 0.68rem;
        font-weight: 800;
    }

/* ======================================================================
   KITUNZI TABLES, DETAILS PRINTING, HEADERS AND MOTION SYSTEM
   Added: project-wide clarity, five-row pagination and small-screen support.
   ====================================================================== */



/* Remove remaining purely decorative background marks. */
.stat-bg-icon,
[class*="decorative-"],
[class*="background-orb"],
[class*="floating-orb"],
.page-header::before,
.page-header::after,
.stock-hero-card::before,
.stock-hero-card::after,
.product-hero-card::before,
.product-hero-card::after,
.permissions-hero::before,
.permissions-hero::after,
.reports-hero::before,
.reports-hero::after::before::after,
.dashboard-hero::before,
.dashboard-hero::after {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Page and section headers. */
.page-header,
.stock-hero-card,
.product-hero-card,
.permissions-hero,
.reports-hero,
.dashboard-hero,
.ki-enhanced-page-header {
    position: relative;
    padding: clamp(1rem, 2.4vw, 1.5rem);
    border: 1px solid rgba(22, 108, 37, 0.15);
    border-radius: 20px;
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(10, 27, 47, 0.065);
}

.page-header,
.stock-hero-card,
.product-hero-card,
.permissions-hero,
.reports-hero,
.dashboard-hero {
    margin-bottom: 1rem;
}

    .page-header h1,
    .stock-hero-card h1,
    .product-hero-card h1,
    .permissions-hero h1,
    .reports-hero h1 h1,
    .dashboard-hero h1 {
        margin: 0.28rem 0 0.25rem;
        color: var(--kt-shell-950, #071A2D);
        font-size: clamp(1.4rem, 3.2vw, 2.15rem);
        font-weight: 950;
        line-height: 1.12;
        letter-spacing: -0.035em;
    }

    .page-subtitle,
    .page-header p,
    .stock-hero-card p,
    .product-hero-card p,
    .permissions-hero p,
    .reports-hero p p,
    .dashboard-hero p {
        max-width: 780px;
        margin-bottom: 0;
        color: var(--kt-text-muted, #56667C);
        font-size: 0.88rem;
        font-weight: 650;
        line-height: 1.55;
    }

.ki-page-eyebrow,
.stock-eyebrow,
.permissions-eyebrow,
.reports-eyebrow,
.acc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    color: var(--kt-primary-700, #1D5FD1);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

/* Card headers and content separation. */
.card-ki,
.card,
.table-card,
.stock-table-card,
.permissions-matrix-card,
.acc-card {
    border-color: rgba(22, 108, 37, 0.13) !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(10, 27, 47, 0.05);
}

    .card-ki > .card-header,
    .card > .card-header,
    .stock-card-header,
    .permissions-matrix-head,
    .table-card-header,
    .ki-card-header {
        min-height: 52px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.82rem 1rem;
        border-bottom: 1px solid rgba(22, 108, 37, 0.12) !important;
        background: #f8fbf8 !important;
        color: var(--kt-shell-950, #071A2D) !important;
        font-size: 0.88rem;
        font-weight: 900;
    }

    /* Universal table presentation. */
    .table-responsive,
    .table-responsive-custom,
    .data-table-wrapper,
    .ki-table-wrap,
    .table-card .card-body.p-0,
    .stock-table-card .card-body.p-0 {
        width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(22, 108, 37, 0.35) transparent;
    }

        .table-responsive::-webkit-scrollbar,
        .table-responsive-custom::-webkit-scrollbar,
        .data-table-wrapper::-webkit-scrollbar,
        .ki-table-wrap::-webkit-scrollbar {
            height: 8px;
        }

        .table-responsive::-webkit-scrollbar-thumb,
        .table-responsive-custom::-webkit-scrollbar-thumb,
        .data-table-wrapper::-webkit-scrollbar-thumb,
        .ki-table-wrap::-webkit-scrollbar-thumb {
            border-radius: 8px;
            background: rgba(22, 108, 37, 0.30);
        }

table,
.table,
.table-ki {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--kt-text, #18351f);
    font-size: 0.82rem;
}

    table thead th,
    .table thead th,
    .table-ki thead th {
        padding: 0.78rem 0.8rem;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
        background: var(--ki-table-header-bg) !important;
        color: var(--ki-table-header-text) !important;
        font-size: 0.68rem;
        font-weight: 900;
        line-height: 1.25;
        letter-spacing: 0.045em;
        text-transform: uppercase;
        white-space: nowrap;
        vertical-align: middle;
    }

        table thead th:first-child,
        .table thead th:first-child,
        .table-ki thead th:first-child {
            border-top-left-radius: 12px;
        }

        table thead th:last-child,
        .table thead th:last-child,
        .table-ki thead th:last-child {
            border-top-right-radius: 12px;
        }

    table tbody td,
    .table tbody td,
    .table-ki tbody td {
        padding: 0.72rem 0.8rem;
        border-bottom: 1px solid #eee7dc !important;
        background: #ffffff;
        vertical-align: middle;
        line-height: 1.4;
    }

    table tbody tr,
    .table tbody tr,
    .table-ki tbody tr {
        transition: background-color var(--ki-motion-fast) ease, transform var(--ki-motion-fast) ease;
    }

        table tbody tr:hover td,
        .table tbody tr:hover td,
        .table-ki tbody tr:hover td {
            background: var(--ki-table-row-hover) !important;
        }

        table tbody tr:last-child td,
        .table tbody tr:last-child td,
        .table-ki tbody tr:last-child td {
            border-bottom: 0 !important;
        }

/* Keep permission matrices readable without forcing their grouped layout into cards. */
.permissions-matrix thead th,
.permissions-matrix tbody td {
    white-space: normal;
}

/* Table action buttons: compact on desktop and clearly labelled on phones. */
table .btn,
.table .btn,
.table-ki .btn,
table a.btn,
table button.btn {
    min-width: 36px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.34rem;
    padding: 0.38rem 0.58rem;
    border-radius: 10px !important;
    border: 1px solid var(--ki-action-border) !important;
    background: var(--ki-action-bg) !important;
    color: var(--kt-shell-950, #071A2D) !important;
    box-shadow: var(--ki-action-shadow);
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: transform var(--ki-motion-fast) ease, box-shadow var(--ki-motion-fast) ease, background-color var(--ki-motion-fast) ease, border-color var(--ki-motion-fast) ease;
}

    table .btn:hover,
    .table .btn:hover,
    .table-ki .btn:hover {
        transform: translateY(-1px);
        border-color: rgba(22, 108, 37, 0.35) !important;
        background: #EEF4FC !important;
        box-shadow: 0 7px 16px rgba(10, 27, 47, 0.09);
    }

    table .btn.text-danger,
    .table .btn.text-danger,
    .table-ki .btn.text-danger,
    table .ki-action-danger {
        border-color: rgba(180, 35, 35, 0.20) !important;
        color: #a51f1f !important;
    }

        table .btn.text-danger:hover,
        .table .btn.text-danger:hover,
        .table-ki .btn.text-danger:hover,
        table .ki-action-danger:hover {
            border-color: rgba(180, 35, 35, 0.34) !important;
            background: #FDE9EC !important;
        }

.ki-table-action-text {
    display: none;
}

/* Project-wide pagination. */
.ki-page-hidden {
    display: none !important;
}

.ki-table-pagination {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.65rem 0.8rem;
    border-top: 1px solid rgba(22, 108, 37, 0.12);
    background: #FBFCFE;
}

.ki-pagination-summary {
    color: var(--kt-text-muted, #56667C);
    font-size: 0.75rem;
    font-weight: 750;
    white-space: nowrap;
}

.ki-pagination-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.ki-page-size {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    margin-right: 0.25rem;
    color: var(--kt-text-muted, #56667C);
    font-size: 0.72rem;
    font-weight: 800;
}

    .ki-page-size select {
        width: auto;
        min-width: 64px;
        height: 34px;
        padding: 0.22rem 1.75rem 0.22rem 0.55rem;
        border: 1px solid rgba(22, 108, 37, 0.20);
        border-radius: 9px;
        background-color: #ffffff;
        color: var(--kt-shell-950, #071A2D);
        font-size: 0.74rem;
        font-weight: 850;
    }

.ki-pagination-controls {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.ki-pagination-btn {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(22, 108, 37, 0.20);
    border-radius: 9px;
    background: #ffffff;
    color: var(--kt-shell-950, #071A2D);
    box-shadow: 0 4px 10px rgba(10, 27, 47, 0.045);
    cursor: pointer;
    transition: transform var(--ki-motion-fast) ease, background-color var(--ki-motion-fast) ease, color var(--ki-motion-fast) ease;
}

    .ki-pagination-btn:hover:not(:disabled) {
        transform: translateY(-1px);
        background: var(--kt-primary-700, #1D5FD1);
        color: #ffffff;
    }

    .ki-pagination-btn:disabled {
        opacity: 0.38;
        cursor: not-allowed;
        box-shadow: none;
    }

.ki-pagination-page {
    min-width: 82px;
    padding-inline: 0.35rem;
    color: var(--kt-shell-950, #071A2D);
    font-size: 0.72rem;
    font-weight: 900;
    text-align: center;
    white-space: nowrap;
}

/* Clear detail-page print action. */
.ki-detail-print-button {
    box-shadow: 0 6px 16px rgba(22, 108, 37, 0.12);
}

/* Subtle, professional motion without decorative backgrounds. */
@keyframes kiContentReveal {
    from {
        opacity: 0;
        transform: translateY(9px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ki-reveal {
    opacity: 0;
    transform: translateY(9px);
}

    .ki-reveal.is-visible {
        animation: kiContentReveal var(--ki-motion-normal) ease both;
    }

.card-ki,
.card,
.stat-card,
.dashboard-stat-card,
.stock-stat-card,
.acc-card,
.quick-action-card,
.feature-card-updated,
.workflow-card-updated {
    transition: transform var(--ki-motion-fast) ease, box-shadow var(--ki-motion-fast) ease, border-color var(--ki-motion-fast) ease;
}

    .card-ki:hover,
    .stat-card:hover,
    .dashboard-stat-card:hover,
    .stock-stat-card:hover,
    .acc-card:hover,
    .quick-action-card:hover {
        transform: translateY(-2px);
        border-color: rgba(22, 108, 37, 0.22) !important;
        box-shadow: 0 14px 30px rgba(10, 27, 47, 0.075);
    }

.btn,
.btn-ki {
    transition: transform var(--ki-motion-fast) ease, box-shadow var(--ki-motion-fast) ease, background-color var(--ki-motion-fast) ease, border-color var(--ki-motion-fast) ease, color var(--ki-motion-fast) ease;
}

    .btn:hover:not(:disabled),
    .btn-ki:hover:not(:disabled) {
        transform: translateY(-1px);
    }

/* Tablet and mobile table controls. */
@media (max-width: 767.98px) {
    .page-header,
    .stock-hero-card,
    .product-hero-card,
    .permissions-hero,
    .reports-hero,
    .dashboard-hero {
        align-items: flex-start !important;
        flex-direction: column !important;
        border-radius: 16px;
    }

        .page-header > .d-flex,
        .stock-hero-card > .d-flex,
        .product-hero-card > .d-flex {
            width: 100%;
        }

    .ki-table-pagination {
        align-items: stretch;
        flex-direction: column;
        padding: 0.65rem;
    }

    .ki-pagination-summary {
        text-align: center;
    }

    .ki-pagination-tools {
        width: 100%;
        justify-content: space-between;
    }

    .ki-pagination-controls {
        margin-left: auto;
    }

    .table-mobile-cards tbody td[data-label="Actions"],
    .table-mobile-cards tbody td:last-child {
        align-items: center;
    }

        .table-mobile-cards tbody td[data-label="Actions"] .btn,
        .table-mobile-cards tbody td:last-child .btn {
            min-height: 38px;
            padding-inline: 0.68rem;
        }

    .table-mobile-cards .ki-table-action-text {
        display: inline;
    }
}

@media (max-width: 479.98px) {
    .page-header,
    .stock-hero-card,
    .product-hero-card,
    .permissions-hero,
    .reports-hero,
    .dashboard-hero {
        padding: 0.9rem;
        border-radius: 14px;
    }

    .ki-pagination-tools {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .ki-page-size,
    .ki-pagination-controls {
        width: 100%;
        justify-content: center;
        margin: 0;
    }

    .ki-pagination-page {
        flex: 1;
    }

    .ki-pagination-btn {
        width: 38px;
        height: 38px;
    }

    .table-mobile-cards tbody td[data-label="Actions"] > div,
    .table-mobile-cards tbody td:last-child > div,
    .table-mobile-cards tbody td[data-label="Actions"] .d-flex,
    .table-mobile-cards tbody td:last-child .d-flex {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem !important;
    }

    .table-mobile-cards tbody td[data-label="Actions"] .btn,
    .table-mobile-cards tbody td:last-child .btn {
        width: 100%;
    }
}

@media (max-width: 359.98px) {
    .table-mobile-cards tbody td[data-label="Actions"] > div,
    .table-mobile-cards tbody td:last-child > div,
    .table-mobile-cards tbody td[data-label="Actions"] .d-flex,
    .table-mobile-cards tbody td:last-child .d-flex {
        grid-template-columns: 1fr;
    }
}

/* Printing all details clearly. The class is applied only to detail/review pages. */
@media print {
    body.ki-print-details,
    body.ki-print-details * {
        visibility: visible !important;
    }

    body.ki-print-details {
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        color: #101D30 !important;
    }

        body.ki-print-details .sidebar,
        body.ki-print-details .sidebar-overlay,
        body.ki-print-details .topbar,
        body.ki-print-details .footer-ki,
        body.ki-print-details .public-navbar,
        body.ki-print-details .public-footer,
        body.ki-print-details .scroll-top,
        body.ki-print-details #publicBackToTop,
        body.ki-print-details .no-print,
        body.ki-print-details .ki-table-pagination,
        body.ki-print-details .global-help-button,
        body.ki-print-details .ki-detail-print-button,
        body.ki-print-details button,
        body.ki-print-details .btn,
        body.ki-print-details form {
            display: none !important;
        }

        body.ki-print-details .main-content,
        body.ki-print-details .content-wrapper,
        body.ki-print-details .page-content,
        body.ki-print-details .public-main {
            position: static !important;
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: visible !important;
        }

        body.ki-print-details .ki-page-hidden {
            display: table-row !important;
        }

        body.ki-print-details .table-mobile-cards,
        body.ki-print-details .table-mobile-cards thead,
        body.ki-print-details .table-mobile-cards tbody,
        body.ki-print-details .table-mobile-cards tr,
        body.ki-print-details .table-mobile-cards th,
        body.ki-print-details .table-mobile-cards td {
            display: table-cell !important;
        }

        body.ki-print-details .table-mobile-cards {
            display: table !important;
        }

            body.ki-print-details .table-mobile-cards thead {
                display: table-header-group !important;
            }

            body.ki-print-details .table-mobile-cards tbody {
                display: table-row-group !important;
            }

            body.ki-print-details .table-mobile-cards tr {
                display: table-row !important;
            }

        body.ki-print-details .card-ki,
        body.ki-print-details .card,
        body.ki-print-details .stock-hero-card,
        body.ki-print-details .page-header {
            break-inside: avoid;
            border: 1px solid #b9b9b9 !important;
            box-shadow: none !important;
            background: #ffffff !important;
        }

        body.ki-print-details table thead th,
        body.ki-print-details .table thead th,
        body.ki-print-details .table-ki thead th {
            background: #efefef !important;
            color: #101D30 !important;
            -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
        }

        body.ki-print-details table tbody td,
        body.ki-print-details .table tbody td,
        body.ki-print-details .table-ki tbody td {
            background: #ffffff !important;
            color: #101D30 !important;
        }
}

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

    .ki-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Preserve action hierarchy inside tables. */
table .btn-ki-primary,
.table .btn-ki-primary,
.table-ki .btn-ki-primary,
table .btn-primary,
.table .btn-primary,
.table-ki .btn-primary {
    border-color: var(--kt-primary-700, #1D5FD1) !important;
    background: var(--kt-primary-700, #1D5FD1) !important;
    color: #ffffff !important;
}

    table .btn-ki-primary:hover,
    .table .btn-ki-primary:hover,
    .table-ki .btn-ki-primary:hover,
    table .btn-primary:hover,
    .table .btn-primary:hover,
    .table-ki .btn-primary:hover {
        border-color: var(--kt-shell-950, #071A2D) !important;
        background: var(--kt-shell-950, #071A2D) !important;
        color: #ffffff !important;
    }

table .btn-ki-soft,
.table .btn-ki-soft,
.table-ki .btn-ki-soft {
    background: #EEF4FC !important;
    color: var(--kt-shell-950, #071A2D) !important;
}


/* =====================================================================
   KITUNZI FINAL BAR-SHELL FIX
   Prevents the duplicate reserved topbar space that appeared after scroll.
   This block intentionally stays last so it overrides legacy merged CSS.
   ===================================================================== */
body.kitunzi-app-shell {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

    body.kitunzi-app-shell .topbar {
        top: 0 !important;
        margin-top: 0 !important;
    }

    body.kitunzi-app-shell .main-wrapper {
        margin-top: 0 !important;
        padding-top: var(--kt-topbar-height) !important;
    }

    body.kitunzi-app-shell .main-content {
        margin-top: 0 !important;
        padding-top: clamp(.8rem, 1.4vw, 1.15rem) !important;
    }

        body.kitunzi-app-shell .main-content > :first-child {
            margin-top: 0 !important;
        }

@media (max-width: 991.98px) {
    body.kitunzi-app-shell .main-wrapper {
        margin-left: 0 !important;
    }
}

/* =====================================================================
   KITUNZI PREMIUM REFINEMENT LAYER
   Compact enterprise shell, unified components and extreme-width safety.
   This block intentionally remains last to normalize legacy page styles.
   ===================================================================== */


/* ---------- Global visual discipline ---------- */
body.kitunzi-app-shell {
    min-width: 320px;
    background: #f7f9f7 !important;
    color: #1F2B3D;
    font-size: .875rem;
    line-height: 1.5;
}

    body.kitunzi-app-shell *,
    body.kitunzi-app-shell *::before,
    body.kitunzi-app-shell *::after {
        min-width: 0;
    }

    body.kitunzi-app-shell [class*="eyebrow"],
    body.kitunzi-app-shell .side-tag,
    body.kitunzi-app-shell .side-label,
    body.kitunzi-app-shell .ribbon,
    body.kitunzi-app-shell .decorative-circle,
    body.kitunzi-app-shell .decorative-ring,
    body.kitunzi-app-shell .decorative-shape,
    body.kitunzi-app-shell .floating-circle,
    body.kitunzi-app-shell .background-blob,
    body.kitunzi-app-shell .auth-orb,
    body.kitunzi-app-shell .stat-bg-icon {
        display: none !important;
    }

    body.kitunzi-app-shell .page-header::before,
    body.kitunzi-app-shell .page-header::after,
    body.kitunzi-app-shell .dashboard-hero::before,
    body.kitunzi-app-shell .dashboard-hero::after,
    body.kitunzi-app-shell .card-ki::before,
    body.kitunzi-app-shell .card-ki::after,
    body.kitunzi-app-shell .stat-card::before,
    body.kitunzi-app-shell .stat-card::after,
    body.kitunzi-app-shell .footer-ki::before {
        display: none !important;
        content: none !important;
    }

    body.kitunzi-app-shell a,
    body.kitunzi-app-shell button,
    body.kitunzi-app-shell input,
    body.kitunzi-app-shell select,
    body.kitunzi-app-shell textarea,
    body.kitunzi-app-shell [role="button"] {
        transition-duration: var(--ki-transition-fast) !important;
    }

    body.kitunzi-app-shell :focus-visible {
        outline: 2px solid rgba(23, 107, 42, .72) !important;
        outline-offset: 2px;
    }

    /* ---------- Fluid application shell ---------- */
    body.kitunzi-app-shell .main-wrapper {
        width: auto;
        max-width: none;
        min-height: 100dvh;
        margin-left: var(--kt-sidebar-width) !important;
        padding-top: var(--kt-topbar-height) !important;
    }

    body.kitunzi-app-shell .main-content {
        width: min(100%, var(--ki-content-max));
        max-width: var(--ki-content-max) !important;
        margin-inline: auto !important;
        padding: var(--ki-space-page) !important;
        padding-bottom: calc(var(--kt-footer-height) + var(--ki-space-page)) !important;
        animation-duration: 220ms !important;
    }

        body.kitunzi-app-shell .main-content > * + * {
            margin-top: clamp(.75rem, 1.1vw, 1rem);
        }

    /* ---------- Sidebar ---------- */
    body.kitunzi-app-shell .sidebar {
        width: var(--kt-sidebar-width) !important;
        max-width: min(88vw, var(--kt-sidebar-width)) !important;
        border-right: 1px solid #E3E9F1 !important;
        background: #ffffff !important;
        box-shadow: 5px 0 20px rgba(20, 48, 26, .045) !important;
    }

    body.kitunzi-app-shell .sidebar-header {
        min-height: 70px;
        padding: .65rem .75rem;
        border-bottom: 1px solid #e8ede9;
        background: #ffffff !important;
    }

    body.kitunzi-app-shell .brand-logo-wide-wrap {
        height: 48px;
        border: 0;
        border-radius: 10px;
        background: transparent !important;
        box-shadow: none;
    }

    body.kitunzi-app-shell .sidebar-logo-wide {
        max-height: 42px;
        max-width: 176px;
    }

    body.kitunzi-app-shell .bar-context {
        margin: .65rem .7rem .25rem;
        padding: .65rem .75rem;
        border: 1px solid #dce8de;
        border-radius: 10px;
        background: #f2f7f3 !important;
        color: var(--kt-shell-950) !important;
        box-shadow: none;
    }

        body.kitunzi-app-shell .bar-context small {
            color: #718075;
            font-size: .6rem;
            letter-spacing: .06em;
        }

        body.kitunzi-app-shell .bar-context strong {
            margin-top: .1rem;
            color: var(--kt-shell-950) !important;
            font-size: .78rem;
            font-weight: 750;
        }

    body.kitunzi-app-shell .sidebar-nav {
        padding: .55rem .55rem .85rem;
    }

    body.kitunzi-app-shell .sidebar-section {
        margin-bottom: .45rem;
        padding-bottom: .45rem;
        border-color: #F1F4F8;
    }

    body.kitunzi-app-shell .sidebar-group-title {
        padding: .45rem .65rem .28rem;
        color: #7b877e;
        font-size: .58rem;
        letter-spacing: .08em;
        font-weight: 750;
    }

        body.kitunzi-app-shell .sidebar-group-title::before,
        body.kitunzi-app-shell .sidebar-link.active::before,
        body.kitunzi-app-shell .sidebar-link.active::after {
            display: none !important;
            content: none !important;
        }

    body.kitunzi-app-shell .sidebar-link,
    body.kitunzi-app-shell .sidebar-menu-toggle {
        min-height: 36px;
        margin-bottom: .08rem;
        padding: .42rem .58rem;
        gap: .55rem;
        border: 1px solid transparent;
        border-radius: 9px;
        color: #35443a;
        font-size: .76rem;
        font-weight: 600;
        box-shadow: none;
        transform: none !important;
    }

        body.kitunzi-app-shell .sidebar-link > i,
        body.kitunzi-app-shell .sidebar-menu-toggle > i:first-child {
            width: 21px;
            height: 21px;
            border: 0;
            border-radius: 7px;
            background: transparent !important;
            color: #57705d;
            font-size: .9rem;
            transform: none !important;
        }

        body.kitunzi-app-shell .sidebar-link:hover,
        body.kitunzi-app-shell .sidebar-menu-toggle:hover,
        body.kitunzi-app-shell .sidebar-menu-toggle[aria-expanded="true"] {
            border-color: #e2ebe4;
            background: #F7F9FC !important;
            color: var(--kt-shell-950) !important;
            box-shadow: none !important;
        }

        body.kitunzi-app-shell .sidebar-link.active {
            border-color: #d3e4d6;
            background: #F0F5FF !important;
            color: var(--kt-shell-950) !important;
            font-weight: 750;
            box-shadow: inset 3px 0 0 var(--kt-primary-700) !important;
        }

            body.kitunzi-app-shell .sidebar-link.active > i {
                background: transparent !important;
                color: var(--kt-primary-700) !important;
            }

    body.kitunzi-app-shell .sidebar-submenu {
        margin: .2rem 0 .25rem .75rem;
        padding: .1rem 0 .1rem .45rem;
        border-left: 1px solid #DCE4EF;
    }

        body.kitunzi-app-shell .sidebar-submenu .sidebar-link {
            min-height: 33px;
            padding: .35rem .5rem;
            font-size: .72rem;
        }

    body.kitunzi-app-shell .link-badge {
        padding: .1rem .38rem;
        font-size: .6rem;
    }

    body.kitunzi-app-shell .sidebar-close {
        width: 34px;
        height: 34px;
        border-radius: 9px;
    }

    /* ---------- Topbar ---------- */
    body.kitunzi-app-shell .topbar {
        left: var(--kt-sidebar-width) !important;
        height: var(--kt-topbar-height) !important;
        padding: 0 clamp(.65rem, 1.2vw, 1.25rem);
        gap: .75rem;
        border-bottom: 1px solid #E3E9F1 !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 2px 12px rgba(20, 48, 26, .045) !important;
        backdrop-filter: blur(12px);
    }

    body.kitunzi-app-shell .topbar-left {
        flex: 1 1 auto;
        overflow: hidden;
    }

    body.kitunzi-app-shell .topbar-center {
        flex: 0 1 auto;
    }

    body.kitunzi-app-shell .topbar-right {
        flex: 0 0 auto;
        margin-left: auto;
    }

    body.kitunzi-app-shell .topbar-title-block {
        overflow: hidden;
        padding: 0;
    }

    body.kitunzi-app-shell .topbar-page-title {
        max-width: min(32vw, 430px);
        margin: 0;
        overflow: hidden;
        color: #1F2B3D;
        font-size: .94rem;
        font-weight: 750;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.kitunzi-app-shell .breadcrumb-ki {
        margin-top: .12rem;
        gap: .1rem;
        font-size: .64rem;
    }

        body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item + .breadcrumb-item::before {
            padding-inline: .25rem;
            font-size: .78rem;
        }

        body.kitunzi-app-shell .breadcrumb-ki a,
        body.kitunzi-app-shell .breadcrumb-ki .active {
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent !important;
            box-shadow: none;
            color: #758178;
            font-size: .64rem;
            font-weight: 600;
        }

    body.kitunzi-app-shell .topbar-bar-context-card {
        min-height: 34px;
        padding: .28rem .6rem;
        gap: .45rem;
        border: 1px solid #e1e9e2;
        border-radius: 9px;
        background: #F7F9FC !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell .topbar-bar-icon {
        width: 25px;
        height: 25px;
        border-radius: 7px;
        font-size: .78rem;
    }

    body.kitunzi-app-shell .topbar-bar-text strong {
        font-size: .7rem;
    }

    body.kitunzi-app-shell .topbar-bar-text small {
        font-size: .58rem;
    }

    body.kitunzi-app-shell .topbar-btn {
        width: 36px;
        height: 36px;
        border-color: #E3E9F1;
        border-radius: 9px;
        background: #ffffff !important;
        color: #506057;
        font-size: .92rem;
        box-shadow: none;
        transform: none !important;
    }

        body.kitunzi-app-shell .topbar-btn:hover,
        body.kitunzi-app-shell .topbar-btn[aria-expanded="true"] {
            border-color: #cadbcd;
            background: #F0F5FF !important;
            color: var(--kt-shell-950) !important;
        }

    /* ---------- Profile menu ---------- */
    body.kitunzi-app-shell .user-menu {
        min-width: 0;
        max-width: 250px;
        min-height: 38px;
        padding: .25rem .45rem .25rem .25rem;
        gap: .45rem;
        border-color: #E3E9F1;
        border-radius: 10px;
        background: #ffffff !important;
        box-shadow: none;
        transform: none !important;
    }

        body.kitunzi-app-shell .user-menu:hover,
        body.kitunzi-app-shell .user-menu[aria-expanded="true"] {
            border-color: #cbdccd;
            background: #F7F9FC !important;
        }

    body.kitunzi-app-shell .avatar {
        width: 31px;
        height: 31px;
        border-radius: 9px;
        font-size: .66rem;
        box-shadow: none;
    }

    body.kitunzi-app-shell .user-name {
        font-size: .72rem;
        font-weight: 750;
    }

    body.kitunzi-app-shell .user-bar,
    body.kitunzi-app-shell .user-details {
        margin-top: .03rem;
        font-size: .59rem;
    }

    body.kitunzi-app-shell .user-dropdown-menu {
        width: min(310px, calc(100vw - 1rem));
        min-width: min(310px, calc(100vw - 1rem));
        max-height: calc(100dvh - var(--kt-topbar-height) - 1rem);
        margin-top: .42rem !important;
        overflow-y: auto;
        border: 1px solid #E3E9F1;
        border-radius: var(--ki-radius-card);
        background: #ffffff !important;
        box-shadow: var(--ki-shadow-raised) !important;
    }

    body.kitunzi-app-shell .profile-card-head {
        padding: .75rem;
        background: #F7F9FC !important;
        color: #1F2B3D;
        border-bottom: 1px solid #e3eae4;
    }

    body.kitunzi-app-shell .profile-card-main {
        gap: .65rem;
    }

    body.kitunzi-app-shell .profile-avatar-lg {
        width: 42px;
        height: 42px;
        border: 1px solid #cfe0d2;
        border-radius: 11px;
        background: #e7f2e9 !important;
        color: var(--kt-shell-950);
        font-size: .78rem;
    }

    body.kitunzi-app-shell .profile-card-name {
        color: #1F2B3D;
        font-size: .82rem;
    }

    body.kitunzi-app-shell .profile-card-role {
        margin-top: .08rem;
        color: #6d7c71;
        font-size: .65rem;
    }

    body.kitunzi-app-shell .profile-card-body {
        padding: .45rem;
    }

    body.kitunzi-app-shell .profile-info-row {
        gap: .5rem;
        padding: .38rem .45rem;
        border-radius: 8px;
        font-size: .7rem;
    }

        body.kitunzi-app-shell .profile-info-row i {
            width: 24px;
            height: 24px;
            border-radius: 7px;
            font-size: .72rem;
        }

    body.kitunzi-app-shell .profile-dropdown-actions {
        padding: .45rem;
        border-top-color: #e4eae5;
        background: #fafcfa !important;
    }

        body.kitunzi-app-shell .profile-dropdown-actions .dropdown-item {
            min-height: 34px;
            padding: .42rem .55rem;
            border-radius: 8px;
            font-size: .72rem;
            font-weight: 650;
        }

    /* ---------- Notification dropdown ---------- */
    body.kitunzi-app-shell .notification-dropdown {
        position: relative;
    }

    body.kitunzi-app-shell .notification-trigger {
        overflow: visible;
    }

    body.kitunzi-app-shell .notification-count {
        position: absolute;
        top: -5px;
        right: -5px;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 2px solid #ffffff;
        border-radius: 999px;
        background: #bd2727;
        color: #ffffff;
        font-size: .56rem;
        font-weight: 800;
        line-height: 1;
    }

    body.kitunzi-app-shell .notification-menu {
        width: min(390px, calc(100vw - 1rem));
        min-width: min(390px, calc(100vw - 1rem));
        max-height: calc(100dvh - var(--kt-topbar-height) - 1rem);
        margin-top: .42rem !important;
        padding: 0;
        overflow: hidden;
        border: 1px solid #E3E9F1;
        border-radius: var(--ki-radius-card);
        background: #ffffff !important;
        box-shadow: var(--ki-shadow-raised) !important;
    }

    body.kitunzi-app-shell .notification-menu-header,
    body.kitunzi-app-shell .notification-menu-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .68rem .75rem;
        background: #FBFCFE;
    }

    body.kitunzi-app-shell .notification-menu-header {
        border-bottom: 1px solid #E3E9F1;
    }

        body.kitunzi-app-shell .notification-menu-header > div {
            display: flex;
            flex-direction: column;
            gap: .05rem;
        }

        body.kitunzi-app-shell .notification-menu-header strong {
            color: #1F2B3D;
            font-size: .8rem;
        }

        body.kitunzi-app-shell .notification-menu-header span,
        body.kitunzi-app-shell .notification-menu-footer {
            color: #56667C;
            font-size: .63rem;
        }

    body.kitunzi-app-shell .notification-mark-all {
        padding: .25rem .4rem;
        border: 0;
        border-radius: 7px;
        background: transparent;
        color: var(--kt-primary-700);
        font-size: .64rem;
        font-weight: 700;
    }

        body.kitunzi-app-shell .notification-mark-all:hover:not(:disabled) {
            background: #F0F5FF;
        }

        body.kitunzi-app-shell .notification-mark-all:disabled {
            color: #a2aaa4;
            cursor: default;
        }

    body.kitunzi-app-shell .notification-menu-list {
        max-height: min(440px, calc(100dvh - 180px));
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    body.kitunzi-app-shell .notification-menu-item {
        position: relative;
        border-bottom: 1px solid #F1F4F8;
        background: #ffffff;
    }

        body.kitunzi-app-shell .notification-menu-item:last-child {
            border-bottom: 0;
        }

        body.kitunzi-app-shell .notification-menu-item:not(.is-read)::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 5px;
            width: 4px;
            height: 24px;
            border-radius: 4px;
            background: var(--kt-primary-700);
            transform: translateY(-50%);
        }

        body.kitunzi-app-shell .notification-menu-item.is-warning:not(.is-read)::before {
            background: #d37a00;
        }

        body.kitunzi-app-shell .notification-menu-item.is-danger:not(.is-read)::before {
            background: #bd2727;
        }

        body.kitunzi-app-shell .notification-menu-item.is-read {
            background: #fafbfa;
        }

    body.kitunzi-app-shell .notification-menu-link {
        display: flex;
        align-items: flex-start;
        gap: .62rem;
        padding: .7rem 2.35rem .7rem .82rem;
        color: inherit;
    }

        body.kitunzi-app-shell .notification-menu-link:hover {
            background: #F7F9FC;
        }

    body.kitunzi-app-shell .notification-menu-icon {
        width: 31px;
        height: 31px;
        flex: 0 0 31px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d8e7da;
        border-radius: 9px;
        background: #F0F5FF;
        color: var(--kt-primary-700);
        font-size: .82rem;
    }

    body.kitunzi-app-shell .notification-menu-item.is-warning .notification-menu-icon {
        border-color: #f0dfbf;
        background: #FFF5DB;
        color: #a85d00;
    }

    body.kitunzi-app-shell .notification-menu-item.is-danger .notification-menu-icon {
        border-color: #eed2d2;
        background: #FDE9EC;
        color: #B4232C;
    }

    body.kitunzi-app-shell .notification-menu-copy {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: .1rem;
    }

        body.kitunzi-app-shell .notification-menu-copy strong {
            color: #1F2B3D;
            font-size: .72rem;
            line-height: 1.25;
        }

        body.kitunzi-app-shell .notification-menu-copy > span {
            display: -webkit-box;
            overflow: hidden;
            color: #56667C;
            font-size: .66rem;
            line-height: 1.35;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        body.kitunzi-app-shell .notification-menu-copy time {
            margin-top: .12rem;
            color: #8a958d;
            font-size: .58rem;
        }

    body.kitunzi-app-shell .notification-menu-item.is-read .notification-menu-copy {
        opacity: .68;
    }

    body.kitunzi-app-shell .notification-read-button {
        position: absolute;
        top: 50%;
        right: .55rem;
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid transparent;
        border-radius: 8px;
        background: transparent;
        color: #738078;
        transform: translateY(-50%);
    }

        body.kitunzi-app-shell .notification-read-button:hover {
            border-color: #d3e2d5;
            background: #F0F5FF;
            color: var(--kt-shell-950);
        }

    body.kitunzi-app-shell .notification-menu-item.is-read .notification-read-button {
        display: none;
    }

    body.kitunzi-app-shell .notification-menu-footer {
        border-top: 1px solid #E3E9F1;
    }

        body.kitunzi-app-shell .notification-menu-footer a {
            display: inline-flex;
            align-items: center;
            gap: .3rem;
            color: var(--kt-primary-700);
            font-size: .65rem;
            font-weight: 750;
        }

    /* ---------- Typography and spacing ---------- */
    body.kitunzi-app-shell h1,
    body.kitunzi-app-shell .h1 {
        font-size: clamp(1.28rem, 1.55vw, 1.52rem) !important;
        font-weight: 780;
        letter-spacing: -.025em;
    }

    body.kitunzi-app-shell h2,
    body.kitunzi-app-shell .h2 {
        font-size: clamp(1.02rem, 1.15vw, 1.16rem) !important;
        font-weight: 750;
        letter-spacing: -.015em;
    }

    body.kitunzi-app-shell h3,
    body.kitunzi-app-shell .h3 {
        font-size: clamp(.91rem, 1vw, 1rem) !important;
        font-weight: 720;
    }

    body.kitunzi-app-shell h4,
    body.kitunzi-app-shell .h4,
    body.kitunzi-app-shell h5,
    body.kitunzi-app-shell .h5 {
        font-size: .88rem !important;
        font-weight: 700;
    }

    body.kitunzi-app-shell .page-subtitle,
    body.kitunzi-app-shell .card-subtitle,
    body.kitunzi-app-shell .section-heading p {
        max-width: 76ch;
        margin: .18rem 0 0;
        color: #6b776e;
        font-size: .76rem;
        line-height: 1.42;
    }

    body.kitunzi-app-shell .small,
    body.kitunzi-app-shell small {
        font-size: .69rem;
    }

    /* ---------- Page headers and cards ---------- */
    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .permissions-hero,
    body.kitunzi-app-shell .stock-hero-card,
    body.kitunzi-app-shell .product-hero-card {
        margin: 0 !important;
        padding: .85rem 1rem !important;
        border: 1px solid #E3E9F1 !important;
        border-radius: var(--ki-radius-card) !important;
        background: #ffffff !important;
        box-shadow: var(--ki-shadow-card) !important;
    }

        body.kitunzi-app-shell .page-header h1,
        body.kitunzi-app-shell .dashboard-hero h1,
        body.kitunzi-app-shell .reports-hero h1,
        body.kitunzi-app-shell .permissions-hero h1 {
            margin: 0 0 .12rem !important;
        }

    body.kitunzi-app-shell .card,
    body.kitunzi-app-shell .card-ki,
    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .dashboard-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .info-card,
    body.kitunzi-app-shell .panel,
    body.kitunzi-app-shell .table-card,
    body.kitunzi-app-shell .stock-table-card,
    body.kitunzi-app-shell .permissions-matrix-card,
    body.kitunzi-app-shell .report-card-polished,
    body.kitunzi-app-shell .acc-card {
        border: 1px solid #E3E9F1 !important;
        border-radius: var(--ki-radius-card) !important;
        background: #ffffff !important;
        box-shadow: var(--ki-shadow-card) !important;
        transform: none !important;
    }

        body.kitunzi-app-shell .card:hover,
        body.kitunzi-app-shell .card-ki:hover,
        body.kitunzi-app-shell .stat-card:hover,
        body.kitunzi-app-shell .dashboard-card:hover,
        body.kitunzi-app-shell .summary-card:hover,
        body.kitunzi-app-shell .info-card:hover,
        body.kitunzi-app-shell .panel:hover {
            border-color: #d3dfd5 !important;
            box-shadow: var(--ki-shadow-card) !important;
            transform: none !important;
        }

    body.kitunzi-app-shell a.card:hover,
    body.kitunzi-app-shell a.card-ki:hover,
    body.kitunzi-app-shell .quick-action-card:hover,
    body.kitunzi-app-shell .clickable-card:hover,
    body.kitunzi-app-shell .featured-deal-card:hover {
        border-color: #bfd2c2 !important;
        box-shadow: 0 7px 18px rgba(20, 48, 26, .075) !important;
        transform: translateY(-1px) !important;
    }

    body.kitunzi-app-shell .card-header,
    body.kitunzi-app-shell .ki-card-header,
    body.kitunzi-app-shell .table-card-header,
    body.kitunzi-app-shell .stock-card-header,
    body.kitunzi-app-shell .permissions-matrix-head {
        min-height: 46px;
        padding: .68rem .8rem !important;
        border-bottom: 1px solid #E3E9F1 !important;
        background: #FBFCFE !important;
        color: #1F2B3D !important;
        font-size: .8rem;
        font-weight: 720;
    }

        body.kitunzi-app-shell .card-header .card-title,
        body.kitunzi-app-shell .card-title {
            color: #1F2B3D;
            font-size: .84rem !important;
            font-weight: 750;
        }

    body.kitunzi-app-shell .card-body {
        padding: .82rem;
    }

    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .dashboard-stat-card,
    body.kitunzi-app-shell .dashboard-small-stat,
    body.kitunzi-app-shell .metric-card,
    body.kitunzi-app-shell .kpi-card {
        min-height: 94px;
        padding: .78rem !important;
        gap: .42rem;
    }

    body.kitunzi-app-shell .stat-label,
    body.kitunzi-app-shell .summary-label,
    body.kitunzi-app-shell .metric-label,
    body.kitunzi-app-shell .kpi-label {
        color: #6d7a70;
        font-size: .63rem !important;
        font-weight: 750;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

    body.kitunzi-app-shell .stat-value,
    body.kitunzi-app-shell .stat-number,
    body.kitunzi-app-shell .summary-value,
    body.kitunzi-app-shell .metric-value,
    body.kitunzi-app-shell .kpi-value,
    body.kitunzi-app-shell .stat-card h3 {
        color: #183f22;
        font-size: clamp(1.18rem, 1.55vw, 1.48rem) !important;
        font-weight: 800;
        letter-spacing: -.025em;
    }

    body.kitunzi-app-shell .stat-icon,
    body.kitunzi-app-shell .summary-icon,
    body.kitunzi-app-shell .metric-icon,
    body.kitunzi-app-shell .kpi-icon,
    body.kitunzi-app-shell .card-icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: .92rem;
    }

    body.kitunzi-app-shell .section-heading {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: .75rem;
        margin-bottom: .65rem;
    }

        body.kitunzi-app-shell .section-heading h2 {
            margin: 0;
        }

    /* ---------- Forms ---------- */
    body.kitunzi-app-shell .form-label,
    body.kitunzi-app-shell label:not(.form-check-label) {
        margin-bottom: .28rem;
        color: #3e4d43;
        font-size: .71rem;
        font-weight: 680;
    }

    body.kitunzi-app-shell .form-control,
    body.kitunzi-app-shell .form-select,
    body.kitunzi-app-shell .input-group-text,
    body.kitunzi-app-shell input[type="date"],
    body.kitunzi-app-shell input[type="datetime-local"],
    body.kitunzi-app-shell input[type="number"],
    body.kitunzi-app-shell input[type="search"],
    body.kitunzi-app-shell input[type="text"],
    body.kitunzi-app-shell input[type="email"],
    body.kitunzi-app-shell input[type="password"],
    body.kitunzi-app-shell input[type="tel"] {
        min-height: var(--kt-control-height);
        border: 1px solid #d5ded7 !important;
        border-radius: var(--ki-radius-control) !important;
        background-color: #ffffff !important;
        color: #1F2B3D;
        font-size: .78rem;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell .form-control,
    body.kitunzi-app-shell .form-select {
        padding-block: .46rem;
    }

    body.kitunzi-app-shell textarea.form-control {
        min-height: 92px;
        resize: vertical;
    }

    body.kitunzi-app-shell .form-control::placeholder {
        color: #9aa49d;
        opacity: 1;
    }

    body.kitunzi-app-shell .form-control:hover:not(:disabled),
    body.kitunzi-app-shell .form-select:hover:not(:disabled) {
        border-color: #bdcabe !important;
    }

    body.kitunzi-app-shell .form-control:focus,
    body.kitunzi-app-shell .form-select:focus,
    body.kitunzi-app-shell .form-check-input:focus {
        border-color: #7cab84 !important;
        box-shadow: var(--ki-focus-ring) !important;
    }

    body.kitunzi-app-shell .form-control:disabled,
    body.kitunzi-app-shell .form-select:disabled,
    body.kitunzi-app-shell .form-control[readonly] {
        background: #f3f5f3 !important;
        color: #79837c;
        opacity: 1;
    }

    body.kitunzi-app-shell .form-check-input {
        border-color: #bfcac1;
        box-shadow: none;
    }

        body.kitunzi-app-shell .form-check-input:checked {
            border-color: var(--kt-primary-700);
            background-color: var(--kt-primary-700);
        }

    body.kitunzi-app-shell .form-text,
    body.kitunzi-app-shell .field-validation-valid,
    body.kitunzi-app-shell .field-validation-error,
    body.kitunzi-app-shell .text-danger {
        font-size: .66rem;
    }

    body.kitunzi-app-shell .input-group > :not(:first-child) {
        margin-left: -1px;
    }

    /* ---------- Buttons ---------- */
    body.kitunzi-app-shell .btn:not(.btn-close),
    body.kitunzi-app-shell .btn-ki {
        min-height: var(--kt-control-height);
        padding: .46rem .82rem;
        gap: .38rem;
        border-radius: var(--ki-radius-control) !important;
        font-size: .73rem;
        font-weight: 700;
        line-height: 1.1;
        box-shadow: none !important;
        transform: none !important;
    }

    body.kitunzi-app-shell .btn-ki-sm,
    body.kitunzi-app-shell .btn-sm {
        min-height: 34px !important;
        padding: .38rem .66rem !important;
        font-size: .68rem !important;
    }

    body.kitunzi-app-shell .btn-icon {
        width: var(--kt-control-height);
        min-width: var(--kt-control-height);
        padding-inline: 0 !important;
    }

    body.kitunzi-app-shell .btn:hover:not(:disabled),
    body.kitunzi-app-shell .btn-ki:hover:not(:disabled) {
        transform: none !important;
        filter: brightness(.98);
    }

    body.kitunzi-app-shell .btn-ki-primary,
    body.kitunzi-app-shell .btn-primary {
        border-color: var(--kt-primary-700) !important;
        background: var(--kt-primary-700) !important;
        color: #ffffff !important;
    }

        body.kitunzi-app-shell .btn-ki-primary:hover,
        body.kitunzi-app-shell .btn-primary:hover {
            border-color: var(--kt-shell-950) !important;
            background: var(--kt-shell-950) !important;
        }

    body.kitunzi-app-shell .btn-ki-soft,
    body.kitunzi-app-shell .btn-ki-ghost,
    body.kitunzi-app-shell .btn-outline-secondary,
    body.kitunzi-app-shell .btn-light {
        border-color: #d6e1d8 !important;
        background: #ffffff !important;
        color: #315039 !important;
    }

        body.kitunzi-app-shell .btn-ki-soft:hover,
        body.kitunzi-app-shell .btn-ki-ghost:hover,
        body.kitunzi-app-shell .btn-outline-secondary:hover,
        body.kitunzi-app-shell .btn-light:hover {
            border-color: #bfd1c2 !important;
            background: #F0F5FF !important;
            color: var(--kt-shell-950) !important;
        }

    body.kitunzi-app-shell .btn-danger,
    body.kitunzi-app-shell .btn-ki-danger {
        border-color: #c73737 !important;
        background: #c73737 !important;
        color: #ffffff !important;
    }

    body.kitunzi-app-shell .btn:disabled,
    body.kitunzi-app-shell .btn.disabled {
        opacity: .52;
        cursor: not-allowed;
    }

    /* ---------- Badges, alerts and states ---------- */
    body.kitunzi-app-shell .badge,
    body.kitunzi-app-shell [class*="status-badge"],
    body.kitunzi-app-shell .stock-badge,
    body.kitunzi-app-shell .ki-status-approved,
    body.kitunzi-app-shell .ki-status-pending,
    body.kitunzi-app-shell .ki-status-suspended {
        min-height: 23px;
        display: inline-flex;
        align-items: center;
        gap: .28rem;
        padding: .24rem .48rem;
        border: 1px solid transparent;
        border-radius: 999px;
        font-size: .62rem;
        font-weight: 720;
        line-height: 1;
    }

    body.kitunzi-app-shell .alert {
        padding: .68rem .8rem;
        border-width: 1px;
        border-radius: 10px;
        font-size: .75rem;
        box-shadow: none;
    }

    body.kitunzi-app-shell .ki-empty-state {
        padding: 1.35rem 1rem !important;
        color: #708076;
        text-align: center;
    }

        body.kitunzi-app-shell .ki-empty-state > i {
            margin-bottom: .45rem;
            color: #8aa18e;
            font-size: 1.45rem;
        }

        body.kitunzi-app-shell .ki-empty-state .fw-800 {
            color: #34463a;
            font-size: .78rem;
        }

    /* ---------- Tables ---------- */
    body.kitunzi-app-shell .table-responsive,
    body.kitunzi-app-shell .table-responsive-custom,
    body.kitunzi-app-shell .data-table-wrapper,
    body.kitunzi-app-shell .ki-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    body.kitunzi-app-shell table,
    body.kitunzi-app-shell .table,
    body.kitunzi-app-shell .table-ki {
        width: 100%;
        color: #314138;
        font-size: .75rem;
    }

        body.kitunzi-app-shell table thead th,
        body.kitunzi-app-shell .table thead th,
        body.kitunzi-app-shell .table-ki thead th {
            padding: .62rem .68rem;
            border-bottom: 1px solid #DCE4EF !important;
            background: #f2f6f3 !important;
            color: #435248 !important;
            font-size: .61rem;
            font-weight: 750;
            letter-spacing: .045em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        body.kitunzi-app-shell table tbody td,
        body.kitunzi-app-shell .table tbody td,
        body.kitunzi-app-shell .table-ki tbody td {
            padding: .61rem .68rem;
            border-bottom: 1px solid #F1F4F8 !important;
            background: #ffffff;
            line-height: 1.35;
        }

        body.kitunzi-app-shell table tbody tr:hover td,
        body.kitunzi-app-shell .table tbody tr:hover td,
        body.kitunzi-app-shell .table-ki tbody tr:hover td {
            background: #FBFCFE !important;
        }

        body.kitunzi-app-shell table .btn,
        body.kitunzi-app-shell .table .btn,
        body.kitunzi-app-shell .table-ki .btn {
            min-width: 32px;
            min-height: 32px !important;
            padding: .32rem .5rem !important;
            border-radius: 8px !important;
            font-size: .66rem !important;
        }

        body.kitunzi-app-shell table .btn-icon,
        body.kitunzi-app-shell .table .btn-icon,
        body.kitunzi-app-shell .table-ki .btn-icon {
            width: 32px;
            padding-inline: 0 !important;
        }

    body.kitunzi-app-shell .table-action-group {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: .3rem;
        white-space: nowrap;
    }

        body.kitunzi-app-shell .table-action-group form {
            display: inline-flex;
            margin: 0;
        }

    body.kitunzi-app-shell .ki-table-pagination {
        min-height: 50px;
        padding: .52rem .68rem;
        border-top-color: #E3E9F1;
        background: #FBFCFE;
    }

    body.kitunzi-app-shell .ki-pagination-btn,
    body.kitunzi-app-shell .ki-page-size select {
        height: 32px;
        min-height: 32px;
        border-radius: 8px;
        box-shadow: none;
    }

    body.kitunzi-app-shell .record-count {
        display: inline-flex;
        align-items: center;
        min-height: 25px;
        padding: .24rem .5rem;
        border: 1px solid #dce7de;
        border-radius: 999px;
        background: #f1f7f2;
        color: #4a6450;
        font-size: .64rem;
        font-weight: 700;
    }

    /* ---------- Modal and dialog system ---------- */
    body.kitunzi-app-shell .modal-dialog {
        max-width: min(var(--bs-modal-width, 600px), calc(100vw - 1rem));
        margin: max(.5rem, env(safe-area-inset-top)) auto;
    }

    body.kitunzi-app-shell .modal-content {
        max-height: calc(100dvh - 1rem);
        overflow: hidden;
        border: 1px solid #dbe4dc;
        border-radius: var(--ki-radius-modal) !important;
        background: #ffffff !important;
        box-shadow: 0 20px 55px rgba(18, 43, 24, .17) !important;
    }

    body.kitunzi-app-shell .modal-header,
    body.kitunzi-app-shell .modal-footer {
        padding: .72rem .85rem;
        border-color: #E3E9F1;
        background: #FBFCFE;
    }

    body.kitunzi-app-shell .modal-title {
        font-size: .9rem !important;
    }

    body.kitunzi-app-shell .modal-body {
        overflow-y: auto;
        padding: .85rem;
    }

    body.kitunzi-app-shell .dropdown-menu:not(.notification-menu):not(.user-dropdown-menu) {
        max-width: calc(100vw - 1rem);
        max-height: calc(100dvh - 1rem);
        overflow-y: auto;
        border: 1px solid #E3E9F1;
        border-radius: 10px;
        background: #ffffff !important;
        box-shadow: var(--ki-shadow-raised) !important;
    }

    body.kitunzi-app-shell .dropdown-item {
        font-size: .72rem;
    }

    /* ---------- Bucket deals ---------- */
    body.kitunzi-app-shell .bucket-page {
        display: flex;
        flex-direction: column;
        gap: clamp(.75rem, 1.1vw, 1rem);
    }

        body.kitunzi-app-shell .bucket-page > * + * {
            margin-top: 0;
        }

    body.kitunzi-app-shell .bucket-stats-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .7rem;
    }

    body.kitunzi-app-shell .bucket-stat-card {
        min-height: 94px;
        display: flex;
        align-items: center;
        gap: .7rem;
        padding: .75rem;
        border: 1px solid #E3E9F1;
        border-radius: var(--ki-radius-card);
        background: #ffffff;
        box-shadow: var(--ki-shadow-card);
    }

    body.kitunzi-app-shell .bucket-stat-icon {
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #DCE4EF;
        border-radius: 10px;
        background: #F0F5FF;
        color: var(--kt-primary-700);
        font-size: .92rem;
    }

    body.kitunzi-app-shell .bucket-stat-card.is-success .bucket-stat-icon {
        background: #edf7ef;
        color: #176b2a;
    }

    body.kitunzi-app-shell .bucket-stat-card.is-muted .bucket-stat-icon {
        border-color: #e0e4e1;
        background: #f3f5f3;
        color: #56667C;
    }

    body.kitunzi-app-shell .bucket-stat-card.is-warning .bucket-stat-icon {
        border-color: #efdfc3;
        background: #FFF5DB;
        color: #A45A08;
    }

    body.kitunzi-app-shell .bucket-stat-card > div {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

    body.kitunzi-app-shell .bucket-stat-label {
        color: #6e7b71;
        font-size: .61rem;
        font-weight: 750;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

    body.kitunzi-app-shell .bucket-stat-value {
        margin-top: .08rem;
        overflow-wrap: anywhere;
        color: #183f22;
        font-size: clamp(1rem, 1.25vw, 1.28rem);
        font-weight: 800;
        line-height: 1.2;
    }

    body.kitunzi-app-shell .bucket-stat-card small {
        margin-top: .12rem;
        color: #7a867d;
        font-size: .61rem;
    }

    body.kitunzi-app-shell .featured-deals-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .7rem;
    }

    body.kitunzi-app-shell .featured-deal-card {
        display: flex;
        flex-direction: column;
        min-height: 220px;
        padding: .82rem;
        border: 1px solid #E3E9F1;
        border-radius: var(--ki-radius-card);
        background: #ffffff !important;
        box-shadow: var(--ki-shadow-card);
        transition: border-color var(--ki-transition-fast), box-shadow var(--ki-transition-fast), transform var(--ki-transition-fast);
    }

        body.kitunzi-app-shell .featured-deal-card::before,
        body.kitunzi-app-shell .featured-deal-card::after {
            display: none !important;
            content: none !important;
        }

    body.kitunzi-app-shell .featured-deal-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .5rem;
    }

    body.kitunzi-app-shell .featured-deal-icon {
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #DCE4EF;
        border-radius: 9px;
        background: #F0F5FF;
        color: var(--kt-primary-700);
    }

    body.kitunzi-app-shell .featured-deal-copy {
        display: flex;
        flex-direction: column;
        margin-top: .72rem;
    }

        body.kitunzi-app-shell .featured-deal-copy h3 {
            margin: 0 0 .5rem;
            color: #1F2B3D;
            font-size: .8rem !important;
            line-height: 1.35;
        }

    body.kitunzi-app-shell .featured-deal-label {
        color: #56667C;
        font-size: .59rem;
        font-weight: 750;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    body.kitunzi-app-shell .featured-deal-price {
        margin-top: .05rem;
        color: #9b5900;
        font-size: 1.24rem;
        font-weight: 800;
        line-height: 1.2;
    }

    body.kitunzi-app-shell .featured-deal-quantity {
        margin-top: .15rem;
        color: #536159;
        font-size: .68rem;
    }

    body.kitunzi-app-shell .featured-deal-meta {
        display: grid;
        gap: .38rem;
        margin: auto 0 0;
        padding-top: .7rem;
        border-top: 1px solid #e6ece7;
    }

        body.kitunzi-app-shell .featured-deal-meta > div {
            display: grid;
            grid-template-columns: 74px minmax(0, 1fr);
            gap: .45rem;
        }

        body.kitunzi-app-shell .featured-deal-meta dt,
        body.kitunzi-app-shell .featured-deal-meta dd {
            margin: 0;
            font-size: .63rem;
            line-height: 1.35;
        }

        body.kitunzi-app-shell .featured-deal-meta dt {
            color: #7a867d;
            font-weight: 650;
        }

        body.kitunzi-app-shell .featured-deal-meta dd {
            overflow-wrap: anywhere;
            color: #3c4c41;
            font-weight: 650;
        }

    body.kitunzi-app-shell .bucket-guidance {
        display: flex;
        align-items: flex-start;
        gap: .6rem;
        padding: .68rem .75rem;
        border: 1px solid #ebdfc9;
        border-radius: 10px;
        background: #fffaf0;
        color: #704c17;
    }

        body.kitunzi-app-shell .bucket-guidance > i {
            margin-top: .08rem;
            color: #A45A08;
        }

        body.kitunzi-app-shell .bucket-guidance > div {
            display: flex;
            flex-direction: column;
            gap: .05rem;
        }

        body.kitunzi-app-shell .bucket-guidance strong {
            font-size: .7rem;
        }

        body.kitunzi-app-shell .bucket-guidance span {
            font-size: .67rem;
            line-height: 1.4;
        }

    body.kitunzi-app-shell .bucket-table-card {
        overflow: hidden;
    }

    body.kitunzi-app-shell .bucket-date-range {
        min-width: 155px;
        max-width: 260px;
        color: #5f6d63;
        font-size: .69rem;
        white-space: normal;
    }

    /* ---------- Footer and utility controls ---------- */
    body.kitunzi-app-shell .footer-ki {
        min-height: var(--kt-footer-height);
        margin-left: var(--kt-sidebar-width);
        padding: .48rem var(--ki-space-page);
        border-top: 1px solid #e2e8e3;
        background: rgba(255, 255, 255, .97) !important;
        color: #718076;
        font-size: .65rem;
        box-shadow: 0 -2px 10px rgba(20, 48, 26, .035);
        backdrop-filter: blur(10px);
    }

    body.kitunzi-app-shell .footer-links {
        gap: .3rem;
    }

        body.kitunzi-app-shell .footer-links a {
            padding: .18rem .38rem;
            border-radius: 7px;
        }

    body.kitunzi-app-shell .scroll-top {
        right: 1rem;
        bottom: calc(var(--kt-footer-height) + .8rem);
        width: 36px;
        height: 36px;
        border-radius: 10px;
        box-shadow: 0 8px 20px rgba(20, 48, 26, .14);
    }

    body.kitunzi-app-shell .sidebar-overlay {
        background: rgba(16, 29, 19, .46);
        backdrop-filter: blur(2px);
    }

/* ---------- Auth/public compact refinements ---------- */
.auth-card-icon,
.auth-showcase [class*="decorative"],
.auth-showcase .auth-orb,
.public-main [class*="decorative-circle"] {
    display: none !important;
}

.auth-form-card,
.auth-card,
.auth-section-card {
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(32, 45, 35, .08) !important;
}

    .auth-form-card h1,
    .auth-card h1 {
        font-size: clamp(1.35rem, 2.1vw, 1.75rem) !important;
    }

    .auth-form-card .form-control,
    .auth-form-card .form-select,
    .auth-card .form-control,
    .auth-card .form-select {
        min-height: 42px;
        border-radius: 10px !important;
    }

/* ---------- Large and medium screens ---------- */
@media (max-width: 1279.98px) {
    body.kitunzi-app-shell .topbar-center {
        display: none !important;
    }

    body.kitunzi-app-shell .user-details {
        display: none;
    }

    body.kitunzi-app-shell .featured-deals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1920px) {
    body.kitunzi-app-shell .main-content {
        padding-inline: clamp(1.4rem, 1.5vw, 2.5rem) !important;
    }

    body.kitunzi-app-shell .row.g-3,
    body.kitunzi-app-shell .row.g-4 {
        --bs-gutter-x: 1rem;
    }
}

/* ---------- Tablet and mobile shell ---------- */
@media (max-width: 991.98px) {


    body.kitunzi-app-shell .sidebar {
        z-index: 1045;
        transform: translateX(-102%) !important;
    }

        body.kitunzi-app-shell .sidebar.open,
        body.kitunzi-app-shell .sidebar.mobile-show {
            transform: translateX(0) !important;
        }

    body.kitunzi-app-shell .sidebar-close {
        display: inline-flex !important;
    }

    body.kitunzi-app-shell .sidebar-overlay {
        z-index: 1040;
    }

    body.kitunzi-app-shell.sidebar-open {
        overflow: hidden !important;
    }

    body.kitunzi-app-shell .topbar {
        left: 0 !important;
        padding-inline: .65rem;
    }

    body.kitunzi-app-shell .main-wrapper {
        margin-left: 0 !important;
    }

    body.kitunzi-app-shell .footer-ki {
        margin-left: 0;
    }

    body.kitunzi-app-shell .breadcrumb-ki {
        display: none;
    }

    body.kitunzi-app-shell .topbar-page-title {
        max-width: 42vw;
        font-size: .85rem;
    }

    body.kitunzi-app-shell .user-meta {
        display: none;
    }

    body.kitunzi-app-shell .user-menu {
        width: 36px;
        height: 36px;
        padding: 2px;
        border-radius: 9px;
    }

        body.kitunzi-app-shell .user-menu::after {
            display: none;
        }

    body.kitunzi-app-shell .avatar {
        width: 30px;
        height: 30px;
    }

    body.kitunzi-app-shell .bucket-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .main-content {
        padding: .7rem !important;
        padding-bottom: .9rem !important;
    }

    body.kitunzi-app-shell .footer-ki {
        display: none !important;
    }

    body.kitunzi-app-shell .scroll-top {
        bottom: 1rem;
    }

    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .permissions-hero,
    body.kitunzi-app-shell .stock-hero-card,
    body.kitunzi-app-shell .product-hero-card {
        align-items: stretch !important;
        padding: .78rem !important;
        border-radius: 12px !important;
    }

        body.kitunzi-app-shell .page-header > .d-flex,
        body.kitunzi-app-shell .page-header > form,
        body.kitunzi-app-shell .page-header > a.btn,
        body.kitunzi-app-shell .page-header > button.btn {
            max-width: 100%;
        }

        body.kitunzi-app-shell .page-header > .d-flex {
            width: 100%;
        }

            body.kitunzi-app-shell .page-header > .d-flex > .btn,
            body.kitunzi-app-shell .page-header > a.btn,
            body.kitunzi-app-shell .page-header > button.btn {
                flex: 1 1 auto;
            }

    body.kitunzi-app-shell .form-control,
    body.kitunzi-app-shell .form-select,
    body.kitunzi-app-shell .btn:not(.btn-close),
    body.kitunzi-app-shell .btn-ki {
        min-height: 42px;
    }

    body.kitunzi-app-shell table,
    body.kitunzi-app-shell .table,
    body.kitunzi-app-shell .table-ki {
        font-size: .73rem;
    }

    body.kitunzi-app-shell .table-mobile-cards tbody tr {
        border: 1px solid #E3E9F1 !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        box-shadow: var(--ki-shadow-card) !important;
    }

    body.kitunzi-app-shell .table-mobile-cards tbody td {
        padding: .52rem .62rem !important;
        border-bottom: 1px solid #F1F4F8 !important;
    }

        body.kitunzi-app-shell .table-mobile-cards tbody td::before {
            color: #758179;
            font-size: .59rem;
            font-weight: 750;
            letter-spacing: .035em;
            text-transform: uppercase;
        }

        body.kitunzi-app-shell .table-mobile-cards .table-action-group,
        body.kitunzi-app-shell .table-mobile-cards tbody td[data-label="Actions"] > div {
            width: 100%;
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
            gap: .35rem;
        }

            body.kitunzi-app-shell .table-mobile-cards .table-action-group .btn,
            body.kitunzi-app-shell .table-mobile-cards .table-action-group form,
            body.kitunzi-app-shell .table-mobile-cards .table-action-group form .btn {
                width: 100%;
            }

    body.kitunzi-app-shell .featured-deals-grid {
        grid-template-columns: 1fr;
    }

    body.kitunzi-app-shell .featured-deal-card {
        min-height: auto;
    }

    body.kitunzi-app-shell .notification-menu-list {
        max-height: calc(100dvh - 170px);
    }
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell .topbar {
        gap: .45rem;
    }

    body.kitunzi-app-shell .topbar-left {
        gap: .45rem !important;
    }

    body.kitunzi-app-shell .topbar-right {
        gap: .35rem !important;
    }

    body.kitunzi-app-shell .topbar-page-title {
        max-width: 34vw;
        font-size: .78rem;
    }

    body.kitunzi-app-shell .notification-menu,
    body.kitunzi-app-shell .user-dropdown-menu {
        width: calc(100vw - .75rem);
        min-width: calc(100vw - .75rem);
    }

    body.kitunzi-app-shell .bucket-stats-grid {
        grid-template-columns: 1fr;
    }

    body.kitunzi-app-shell .bucket-stat-card {
        min-height: 82px;
    }

    body.kitunzi-app-shell .featured-deal-meta > div {
        grid-template-columns: 66px minmax(0, 1fr);
    }

    body.kitunzi-app-shell .ki-table-pagination {
        gap: .5rem;
        padding: .55rem;
    }
}

@media (max-width: 389.98px) {
    body.kitunzi-app-shell .main-content {
        padding-inline: .55rem !important;
    }

    body.kitunzi-app-shell .topbar-page-title {
        max-width: 28vw;
    }

    body.kitunzi-app-shell .topbar-btn,
    body.kitunzi-app-shell .user-menu {
        width: 34px;
        height: 34px;
    }

    body.kitunzi-app-shell .notification-menu-header,
    body.kitunzi-app-shell .notification-menu-footer {
        padding-inline: .62rem;
    }

    body.kitunzi-app-shell .notification-menu-link {
        padding-left: .72rem;
    }
}

@media (max-width: 339.98px) {
    body.kitunzi-app-shell .topbar-page-title {
        max-width: 24vw;
    }

    body.kitunzi-app-shell .topbar-right {
        gap: .2rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-app-shell *,
    body.kitunzi-app-shell *::before,
    body.kitunzi-app-shell *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* Premium page-specific normalization for inventory and notification views. */
body.kitunzi-app-shell .inventory-header-actions {
    align-items: center;
}

body.kitunzi-app-shell .inventory-filter-form {
    display: flex;
}

body.kitunzi-app-shell .inventory-category-filter {
    width: auto;
    min-width: 170px;
}

body.kitunzi-app-shell .stat-icon.is-warning {
    border-color: #efdfc3;
    background: #FFF5DB !important;
    color: #A45A08 !important;
}

body.kitunzi-app-shell .stat-icon.is-danger {
    border-color: #eed3d3;
    background: #FDE9EC !important;
    color: #B4232C !important;
}

body.kitunzi-app-shell .notification-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .7rem;
}

body.kitunzi-app-shell .notification-page-meta {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: .25rem;
}

    body.kitunzi-app-shell .notification-page-meta time,
    body.kitunzi-app-shell .notification-page-time {
        color: #77827a;
        font-size: .64rem;
    }

body.kitunzi-app-shell .timeline-list {
    display: grid;
    gap: .55rem;
}

body.kitunzi-app-shell .notification-item {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .68rem;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
    background: #ffffff;
}

    body.kitunzi-app-shell .notification-item.is-info {
        border-left: 3px solid #5f8eb8;
    }

    body.kitunzi-app-shell .notification-item.is-warning {
        border-left: 3px solid #d27b00;
    }

    body.kitunzi-app-shell .notification-item.is-danger {
        border-left: 3px solid #bd2727;
    }

body.kitunzi-app-shell .notification-icon {
    width: 34px;
    height: 34px;
    border: 1px solid #DCE4EF;
    border-radius: 9px;
    background: #F0F5FF;
    color: var(--kt-primary-700);
    font-size: .84rem;
}

body.kitunzi-app-shell .notification-item-copy h3 {
    margin: 0;
    color: #2c3d31;
    font-size: .76rem !important;
    line-height: 1.3;
}

body.kitunzi-app-shell .notification-item-copy p {
    margin: .12rem 0 0;
    color: #56667C;
    font-size: .69rem;
    line-height: 1.38;
}

body.kitunzi-app-shell .notification-item-copy time {
    display: block;
    margin-top: .18rem;
    color: #89938c;
    font-size: .59rem;
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .inventory-header-actions,
    body.kitunzi-app-shell .inventory-filter-form,
    body.kitunzi-app-shell .inventory-category-filter {
        width: 100%;
    }

    body.kitunzi-app-shell .notification-item {
        grid-template-columns: 34px minmax(0, 1fr);
        align-items: start;
    }

        body.kitunzi-app-shell .notification-item > .btn {
            grid-column: 2;
            justify-self: start;
            min-height: 36px;
        }

    body.kitunzi-app-shell .notification-page-meta {
        align-items: flex-start;
    }
}

/* =====================================================================
   KITUNZI COMPACT TOPBAR CONFLICT FIX
   Neutralizes older !important grid/mobile rules that could place actions
   outside the viewport when the optional center block is absent.
   ===================================================================== */
body.kitunzi-app-shell .topbar {
    display: flex !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: var(--kt-topbar-height) !important;
    min-height: var(--kt-topbar-height) !important;
    padding-block: 0 !important;
}

body.kitunzi-app-shell .topbar-left,
body.kitunzi-app-shell .topbar-center,
body.kitunzi-app-shell .topbar-right {
    grid-area: auto !important;
    order: 0 !important;
    width: auto !important;
}

body.kitunzi-app-shell .topbar-left {
    flex: 1 1 0 !important;
    max-width: none !important;
}

body.kitunzi-app-shell .topbar-title-block {
    flex: 1 1 auto;
}

body.kitunzi-app-shell .topbar-right {
    position: relative;
    flex: 0 0 auto !important;
    max-width: max-content;
}

@media (max-width: 991.98px) {


    body.kitunzi-app-shell .topbar {
        left: 0 !important;
        right: 0 !important;
        gap: .55rem !important;
        padding: 0 .65rem !important;
    }

    body.kitunzi-app-shell .topbar-left {
        gap: .45rem !important;
    }

    body.kitunzi-app-shell .topbar-right {
        gap: .35rem !important;
    }

    body.kitunzi-app-shell .sidebar-toggle-mobile {
        flex: 0 0 36px !important;
        width: 36px !important;
        height: 36px !important;
    }

    body.kitunzi-app-shell .topbar-btn,
    body.kitunzi-app-shell .user-menu {
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        border-radius: 9px !important;
    }

    body.kitunzi-app-shell .avatar {
        width: 30px !important;
        height: 30px !important;
    }
}

@media (max-width: 389.98px) {
    body.kitunzi-app-shell .topbar {
        gap: .4rem !important;
        padding-inline: .5rem !important;
    }

    body.kitunzi-app-shell .topbar-left,
    body.kitunzi-app-shell .topbar-right {
        gap: .25rem !important;
    }

    body.kitunzi-app-shell .sidebar-toggle-mobile,
    body.kitunzi-app-shell .topbar-btn,
    body.kitunzi-app-shell .user-menu {
        flex-basis: 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
    }

    body.kitunzi-app-shell .avatar {
        width: 28px !important;
        height: 28px !important;
    }
}

/* =====================================================================
   KITUNZI NON-OBSCURING FOOTER FLOW
   Keeps the compact footer in document flow so tables, forms and cards are
   never covered while scrolling.
   ===================================================================== */
body.kitunzi-app-shell .main-wrapper {
    min-height: calc(100dvh - var(--kt-footer-height)) !important;
}

body.kitunzi-app-shell .main-content {
    padding-bottom: var(--ki-space-page) !important;
}

body.kitunzi-app-shell .footer-ki {
    position: relative !important;
    inset: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 20 !important;
    width: auto !important;
}

body.kitunzi-app-shell .scroll-top {
    bottom: 1rem !important;
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .main-wrapper {
        min-height: 100dvh !important;
    }

    body.kitunzi-app-shell .main-content {
        padding-bottom: .9rem !important;
    }
}

/* ========================================================================
   KITUNZI SYSTEM-WIDE SPACING + SURFACE REFINEMENT
   2026-08-21
   Purpose:
   - improve spacing hierarchy across the whole portal
   - reduce the "boxes inside boxes" appearance
   - use a deliberate theme-aligned accent instead of full rectangular borders
   - simplify table containers and row treatment
   - keep reports/dashboard/forms visually consistent
   - keep the portal footer fixed without covering page content
   ======================================================================== */



/* ---------- Page rhythm ---------- */
body.kitunzi-app-shell {
    background: var(--ku-refine-canvas) !important;
}

    body.kitunzi-app-shell .main-content {
        padding: clamp(.95rem, 1.55vw, 1.55rem) clamp(.95rem, 1.7vw, 1.7rem) calc(var(--ku-footer-height, 52px) + 2.1rem) !important;
    }

        body.kitunzi-app-shell .main-content > * + * {
            margin-top: var(--ku-refine-page-gap) !important;
        }

    body.kitunzi-app-shell .row.g-1,
    body.kitunzi-app-shell .row.g-2,
    body.kitunzi-app-shell .row.g-3,
    body.kitunzi-app-shell .row.g-4,
    body.kitunzi-app-shell .dashboard-stat-grid,
    body.kitunzi-app-shell .reports-stat-grid,
    body.kitunzi-app-shell .summary-grid,
    body.kitunzi-app-shell .stats-grid,
    body.kitunzi-app-shell .reports-chart-grid,
    body.kitunzi-app-shell .dashboard-chart-grid,
    body.kitunzi-app-shell .session-workflow-grid,
    body.kitunzi-app-shell .operation-summary-grid {
        row-gap: var(--ku-refine-page-gap) !important;
    }

    /* Page headings should read as headings, not another large card. */
    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .page-header-compact,
    body.kitunzi-app-shell .ki-enhanced-page-header,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .permissions-hero,
    body.kitunzi-app-shell .stock-hero-card,
    body.kitunzi-app-shell .product-hero-card {
        padding: .35rem .2rem .9rem .9rem !important;
        border: 0 !important;
        border-left: 4px solid var(--kt-primary-700) !important;
        border-bottom: 1px solid var(--ku-refine-line-soft) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

        body.kitunzi-app-shell .page-header::before,
        body.kitunzi-app-shell .page-header::after,
        body.kitunzi-app-shell .page-header-compact::before,
        body.kitunzi-app-shell .page-header-compact::after,
        body.kitunzi-app-shell .ki-enhanced-page-header::before,
        body.kitunzi-app-shell .ki-enhanced-page-header::after,
        body.kitunzi-app-shell .reports-hero::before,
        body.kitunzi-app-shell .reports-hero::after,
        body.kitunzi-app-shell .dashboard-hero::before,
        body.kitunzi-app-shell .dashboard-hero::after,
        body.kitunzi-app-shell .permissions-hero::before,
        body.kitunzi-app-shell .permissions-hero::after {
            display: none !important;
            content: none !important;
        }

        body.kitunzi-app-shell .page-header h1,
        body.kitunzi-app-shell .page-header-compact h1,
        body.kitunzi-app-shell .ki-enhanced-page-header h1,
        body.kitunzi-app-shell .reports-hero h1,
        body.kitunzi-app-shell .dashboard-hero h1 {
            margin-bottom: .2rem !important;
            color: var(--kt-shell-950) !important;
            letter-spacing: -.025em !important;
        }

    /* ---------- Shared cards / panels ---------- */
    body.kitunzi-app-shell .card,
    body.kitunzi-app-shell .card-ki,
    body.kitunzi-app-shell .panel,
    body.kitunzi-app-shell .dashboard-card,
    body.kitunzi-app-shell .info-card,
    body.kitunzi-app-shell .report-card-polished,
    body.kitunzi-app-shell .reports-section,
    body.kitunzi-app-shell .acc-card,
    body.kitunzi-app-shell .bucket-section,
    body.kitunzi-app-shell .session-control-panel,
    body.kitunzi-app-shell .session-form-panel,
    body.kitunzi-app-shell .role-workspace,
    body.kitunzi-app-shell .personal-dashboard-card,
    body.kitunzi-app-shell .quick-action-card,
    body.kitunzi-app-shell .featured-deal-card,
    body.kitunzi-app-shell .product-card-sm,
    body.kitunzi-app-shell .pos-products-panel,
    body.kitunzi-app-shell .pos-cart-panel-polished,
    body.kitunzi-app-shell .receipt-card {
        border: 0 !important;
        border-top: 1px solid var(--kt-border) !important;
        border-radius: var(--ku-refine-radius) !important;
        background: var(--ku-refine-surface) !important;
        box-shadow: var(--ku-refine-shadow) !important;
    }

        body.kitunzi-app-shell a.card:hover,
        body.kitunzi-app-shell a.card-ki:hover,
        body.kitunzi-app-shell .clickable-card:hover,
        body.kitunzi-app-shell .quick-action-card:hover,
        body.kitunzi-app-shell .featured-deal-card:hover,
        body.kitunzi-app-shell .product-card-sm:hover {
            border-top-color: var(--kt-shell-950) !important;
            box-shadow: var(--ku-refine-shadow-hover) !important;
            transform: translateY(-1px) !important;
        }

    body.kitunzi-app-shell .card-header,
    body.kitunzi-app-shell .ki-card-header,
    body.kitunzi-app-shell .reports-card-header,
    body.kitunzi-app-shell .stock-card-header,
    body.kitunzi-app-shell .product-table-header,
    body.kitunzi-app-shell .panel-header,
    body.kitunzi-app-shell .platform-panel-header {
        min-height: 50px !important;
        padding: .78rem var(--ku-refine-card-pad) !important;
        border: 0 !important;
        border-bottom: 1px solid var(--ku-refine-line-soft) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell .card-body,
    body.kitunzi-app-shell .ki-card-body,
    body.kitunzi-app-shell .panel-body,
    body.kitunzi-app-shell .reports-card-body {
        padding: var(--ku-refine-card-pad) !important;
    }

    body.kitunzi-app-shell .section-heading {
        margin-bottom: .7rem !important;
        padding-bottom: .55rem;
        border-bottom: 1px solid var(--ku-refine-line-soft);
    }

    /* ---------- KPI / summary cards ---------- */
    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .dashboard-stat-card,
    body.kitunzi-app-shell .dashboard-small-stat,
    body.kitunzi-app-shell .metric-card,
    body.kitunzi-app-shell .kpi-card,
    body.kitunzi-app-shell .bucket-stat-card,
    body.kitunzi-app-shell .platform-stat-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .role-summary-card,
    body.kitunzi-app-shell .permission-stat-pill,
    body.kitunzi-app-shell .session-summary-card,
    body.kitunzi-app-shell .my-sales-stat {
        min-height: 112px !important;
        padding: .95rem 1rem !important;
        border: 0 !important;
        border-top: 1px solid var(--kt-border) !important;
        border-radius: 13px !important;
        background: #ffffff !important;
        box-shadow: 0 1px 2px rgba(10, 27, 47, .03), 0 7px 18px rgba(10, 27, 47, .055) !important;
    }

        body.kitunzi-app-shell .stat-card::before,
        body.kitunzi-app-shell .stat-card::after,
        body.kitunzi-app-shell .summary-card::before,
        body.kitunzi-app-shell .summary-card::after,
        body.kitunzi-app-shell .dashboard-stat-card::before,
        body.kitunzi-app-shell .dashboard-stat-card::after,
        body.kitunzi-app-shell .reports-stat::before,
        body.kitunzi-app-shell .reports-stat::after,
        body.kitunzi-app-shell .kpi-card::before,
        body.kitunzi-app-shell .kpi-card::after {
            display: none !important;
            content: none !important;
        }

    body.kitunzi-app-shell .stat-label,
    body.kitunzi-app-shell .summary-label,
    body.kitunzi-app-shell .metric-label,
    body.kitunzi-app-shell .kpi-label,
    body.kitunzi-app-shell .reports-stat-label {
        color: var(--ku-refine-muted) !important;
        font-size: .64rem !important;
        font-weight: 760 !important;
        letter-spacing: .055em !important;
    }

    body.kitunzi-app-shell .stat-value,
    body.kitunzi-app-shell .stat-number,
    body.kitunzi-app-shell .summary-value,
    body.kitunzi-app-shell .metric-value,
    body.kitunzi-app-shell .kpi-value,
    body.kitunzi-app-shell .reports-stat-value {
        color: var(--kt-shell-950) !important;
        font-size: clamp(1.3rem, 1.5vw, 1.7rem) !important;
        font-weight: 800 !important;
        line-height: 1.12 !important;
    }

    body.kitunzi-app-shell .stat-icon,
    body.kitunzi-app-shell .summary-icon,
    body.kitunzi-app-shell .metric-icon,
    body.kitunzi-app-shell .kpi-icon,
    body.kitunzi-app-shell .report-icon,
    body.kitunzi-app-shell .card-icon {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: var(--kt-primary-100) !important;
        color: var(--kt-primary-700) !important;
        box-shadow: none !important;
    }

    /* ---------- Filter/form regions ---------- */
    body.kitunzi-app-shell .reports-filter-card,
    body.kitunzi-app-shell .filter-card,
    body.kitunzi-app-shell .sales-filter-card,
    body.kitunzi-app-shell .payment-filter-card,
    body.kitunzi-app-shell .supplier-filter-card,
    body.kitunzi-app-shell .stock-filter-card,
    body.kitunzi-app-shell .form-card,
    body.kitunzi-app-shell .search-panel,
    body.kitunzi-app-shell .toolbar-panel {
        padding: .9rem 1rem !important;
        border: 0 !important;
        border-left: 3px solid var(--kt-primary-700) !important;
        border-radius: var(--ku-refine-radius-sm) !important;
        background: #ffffff !important;
        box-shadow: 0 4px 14px rgba(10, 27, 47, .045) !important;
    }

    body.kitunzi-app-shell .form-grid,
    body.kitunzi-app-shell .filter-grid,
    body.kitunzi-app-shell .report-filter-grid {
        gap: .8rem 1rem !important;
    }

    /* ---------- Tables: one surface, no rectangular box around every table ---------- */
    body.kitunzi-app-shell .table-card,
    body.kitunzi-app-shell .stock-table-card,
    body.kitunzi-app-shell .product-table-card,
    body.kitunzi-app-shell .payment-table-card,
    body.kitunzi-app-shell .supplier-table-card,
    body.kitunzi-app-shell .sales-table-card,
    body.kitunzi-app-shell .my-sales-table-card,
    body.kitunzi-app-shell .session-table-card,
    body.kitunzi-app-shell .permissions-matrix-card {
        border: 0 !important;
        border-top: 1px solid var(--kt-border) !important;
        border-radius: var(--ku-refine-radius) !important;
        background: #ffffff !important;
        box-shadow: var(--ku-refine-shadow) !important;
        overflow: hidden !important;
    }

    body.kitunzi-app-shell .table-responsive,
    body.kitunzi-app-shell .table-responsive-custom,
    body.kitunzi-app-shell .data-table-wrapper,
    body.kitunzi-app-shell .ki-table-wrap,
    body.kitunzi-app-shell .ki-data-region {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell table,
    body.kitunzi-app-shell .table,
    body.kitunzi-app-shell .table-ki {
        border: 0 !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        background: transparent !important;
    }

        body.kitunzi-app-shell table thead th,
        body.kitunzi-app-shell .table thead th,
        body.kitunzi-app-shell .table-ki thead th {
            padding: .68rem .78rem !important;
            border: 0 !important;
            border-bottom: 2px solid #bfd2c3 !important;
            border-radius: 0 !important;
            background: var(--kt-primary-100) !important;
            color: var(--kt-shell-950) !important;
            font-size: .62rem !important;
            font-weight: 780 !important;
            letter-spacing: .045em !important;
        }

        body.kitunzi-app-shell table tbody td,
        body.kitunzi-app-shell .table tbody td,
        body.kitunzi-app-shell .table-ki tbody td {
            padding: .72rem .78rem !important;
            border: 0 !important;
            border-bottom: 1px solid var(--ku-refine-line-soft) !important;
            background: #ffffff !important;
            color: var(--ku-refine-text) !important;
        }

        body.kitunzi-app-shell table tbody tr:last-child td,
        body.kitunzi-app-shell .table tbody tr:last-child td,
        body.kitunzi-app-shell .table-ki tbody tr:last-child td {
            border-bottom: 0 !important;
        }

        body.kitunzi-app-shell table tbody tr:hover td,
        body.kitunzi-app-shell .table tbody tr:hover td,
        body.kitunzi-app-shell .table-ki tbody tr:hover td {
            background: #f7fbf8 !important;
        }

    body.kitunzi-app-shell .ki-table-pagination,
    body.kitunzi-app-shell .product-pagination-bar,
    body.kitunzi-app-shell .session-pagination {
        min-height: 46px !important;
        padding: .5rem .72rem !important;
        border: 0 !important;
        border-top: 1px solid var(--ku-refine-line-soft) !important;
        border-radius: 0 !important;
        background: #FBFCFE !important;
        box-shadow: none !important;
    }

    /* ---------- Reports and charts ---------- */
    body.kitunzi-app-shell .report-document-header,
    body.kitunzi-app-shell .reports-document-header,
    body.kitunzi-app-shell .report-summary-header {
        padding: .95rem 1rem !important;
        border: 0 !important;
        border-left: 4px solid var(--kt-primary-700) !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 4px 16px rgba(10, 27, 47, .045) !important;
    }

    body.kitunzi-app-shell .reports-chart-grid,
    body.kitunzi-app-shell .dashboard-chart-grid {
        gap: var(--ku-refine-page-gap) !important;
    }

        body.kitunzi-app-shell .reports-chart-grid > *,
        body.kitunzi-app-shell .dashboard-chart-grid > *,
        body.kitunzi-app-shell .chart-card,
        body.kitunzi-app-shell .chart-panel,
        body.kitunzi-app-shell .revenue-card {
            padding: 0 !important;
            border: 0 !important;
            border-top: 1px solid var(--kt-border) !important;
            border-radius: var(--ku-refine-radius) !important;
            background: #ffffff !important;
            box-shadow: var(--ku-refine-shadow) !important;
            overflow: hidden !important;
        }

    body.kitunzi-app-shell .ki-report-bar-track,
    body.kitunzi-app-shell .ki-status-chart-track {
        border: 0 !important;
        background: #e7eee8 !important;
        box-shadow: inset 0 1px 2px rgba(10, 27, 47, .05) !important;
    }

        body.kitunzi-app-shell .ki-report-bar-fill,
        body.kitunzi-app-shell .ki-status-chart-track > span {
            background: var(--kt-primary-700) !important;
            background-image: none !important;
        }

    /* ---------- Fixed portal footer ---------- */
    body.kitunzi-app-shell .footer-ki {
        position: fixed !important;
        left: var(--ku-sidebar-width) !important;
        right: 0 !important;
        bottom: 0 !important;
        width: auto !important;
        min-height: var(--ku-footer-height, 52px) !important;
        margin: 0 !important;
        padding: .58rem clamp(.8rem, 1.35vw, 1.35rem) !important;
        z-index: 1035 !important;
        border: 0 !important;
        border-top: 1px solid #cfdbd1 !important;
        background: rgba(255, 255, 255, .97) !important;
        color: var(--ku-refine-muted) !important;
        box-shadow: 0 -6px 20px rgba(10, 27, 47, .06) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
    }

        body.kitunzi-app-shell .footer-ki strong {
            color: var(--kt-shell-950) !important;
        }

        body.kitunzi-app-shell .footer-ki .footer-links a {
            color: var(--ku-refine-muted) !important;
        }

            body.kitunzi-app-shell .footer-ki .footer-links a:hover {
                background: var(--kt-primary-100) !important;
                color: var(--kt-shell-950) !important;
            }

    body.kitunzi-app-shell.sidebar-collapsed .footer-ki {
        left: var(--ku-sidebar-collapsed-width, 82px) !important;
    }

/* ---------- Responsive refinements ---------- */
@media (max-width: 991.98px) {
    body.kitunzi-app-shell .footer-ki,
    body.kitunzi-app-shell.sidebar-collapsed .footer-ki {
        left: 0 !important;
    }

    body.kitunzi-app-shell .main-content {
        padding-inline: .9rem !important;
    }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .main-content {
        padding: .8rem .8rem calc(var(--ku-footer-height, 52px) + 1.8rem) !important;
    }

    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .page-header-compact,
    body.kitunzi-app-shell .ki-enhanced-page-header,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .permissions-hero {
        padding: .25rem .1rem .75rem .75rem !important;
    }

    body.kitunzi-app-shell .footer-ki {
        min-height: 50px !important;
        padding: .5rem .7rem !important;
    }

    body.kitunzi-app-shell .footer-links {
        display: none !important;
    }

    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .dashboard-stat-card {
        min-height: 98px !important;
        padding: .8rem .85rem !important;
    }
}

@media print {
    body.kitunzi-app-shell .footer-ki {
        display: none !important;
    }

    body.kitunzi-app-shell .main-content {
        padding: 0 !important;
    }

    body.kitunzi-app-shell .card,
    body.kitunzi-app-shell .card-ki,
    body.kitunzi-app-shell .table-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .chart-card {
        box-shadow: none !important;
    }
}


/* ===== Consolidated component rules formerly spread across kitunzi-ultra.css ===== */
/* =====================================================================
   KITUNZI ULTRA-PREMIUM DESIGN SYSTEM
   Loaded after style.css so this file is the authoritative presentation
   layer for the application shell, shared components and auth experience.
   ===================================================================== */



html {
    min-width: 320px;
    background: var(--ku-canvas);
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

    body.kitunzi-app-shell {
        min-width: 320px;
        min-height: 100dvh;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: clip;
        background: var(--ku-canvas) !important;
        color: var(--ku-text);
        font-size: .875rem;
        line-height: 1.5;
    }

        body.kitunzi-app-shell *,
        body.kitunzi-app-shell *::before,
        body.kitunzi-app-shell *::after {
            min-width: 0;
        }

        body.kitunzi-app-shell a,
        body.kitunzi-app-shell button,
        body.kitunzi-app-shell input,
        body.kitunzi-app-shell select,
        body.kitunzi-app-shell textarea,
        body.kitunzi-app-shell [role="button"] {
            transition: color var(--ku-duration-fast) var(--ku-ease), background-color var(--ku-duration-fast) var(--ku-ease), border-color var(--ku-duration-fast) var(--ku-ease), box-shadow var(--ku-duration) var(--ku-ease), transform var(--ku-duration) var(--ku-ease), opacity var(--ku-duration-fast) var(--ku-ease) !important;
        }

        body.kitunzi-app-shell :focus-visible,
        body.auth-page :focus-visible {
            outline: 2px solid rgba(23, 107, 42, .78) !important;
            outline-offset: 2px !important;
        }

        body.kitunzi-app-shell h1,
        body.kitunzi-app-shell h2,
        body.kitunzi-app-shell h3,
        body.kitunzi-app-shell h4,
        body.kitunzi-app-shell h5,
        body.kitunzi-app-shell h6 {
            margin-top: 0;
            color: var(--ku-text-strong) !important;
            letter-spacing: -.018em;
        }

        body.kitunzi-app-shell h1,
        body.kitunzi-app-shell .h1 {
            font-size: clamp(1.45rem, 1.65vw, 1.95rem) !important;
            font-weight: 760 !important;
            line-height: 1.14;
        }

        body.kitunzi-app-shell h2,
        body.kitunzi-app-shell .h2 {
            font-size: clamp(1.08rem, 1.15vw, 1.35rem) !important;
            font-weight: 720 !important;
            line-height: 1.24;
        }

        body.kitunzi-app-shell h3,
        body.kitunzi-app-shell .h3 {
            font-size: clamp(.95rem, .95vw, 1.08rem) !important;
            font-weight: 700 !important;
            line-height: 1.3;
        }

        body.kitunzi-app-shell h4,
        body.kitunzi-app-shell .h4,
        body.kitunzi-app-shell h5,
        body.kitunzi-app-shell .h5 {
            font-size: .9rem !important;
            font-weight: 690 !important;
        }

        body.kitunzi-app-shell p,
        body.kitunzi-app-shell small,
        body.kitunzi-app-shell .text-muted,
        body.kitunzi-app-shell .text-muted-custom {
            color: var(--ku-text-muted) !important;
        }

        body.kitunzi-app-shell strong,
        body.kitunzi-app-shell .fw-bold,
        body.kitunzi-app-shell .fw-700,
        body.kitunzi-app-shell .fw-800,
        body.kitunzi-app-shell .fw-900 {
            letter-spacing: -.008em;
        }

        body.kitunzi-app-shell .text-success,
        body.kitunzi-app-shell .text-brand {
            color: var(--ku-brand-700) !important;
        }

        body.kitunzi-app-shell .text-warning,
        body.kitunzi-app-shell .text-warning {
            color: var(--ku-amber-700) !important;
        }

        body.kitunzi-app-shell .text-danger {
            color: var(--ku-danger-700) !important;
        }

        /* =====================================================================
   1. Fluid application shell and sticky footer architecture
   ===================================================================== */

        body.kitunzi-app-shell .main-wrapper {
            width: calc(100% - var(--ku-sidebar-width)) !important;
            min-height: 100dvh !important;
            margin: 0 0 0 var(--ku-sidebar-width) !important;
            padding: var(--ku-topbar-height) 0 0 !important;
            display: flex !important;
            flex-direction: column;
        }

        body.kitunzi-app-shell .main-content,
        body.kitunzi-app-shell .app-content,
        body.kitunzi-app-shell .content-wrapper,
        body.kitunzi-app-shell .page-content {
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
        }

        body.kitunzi-app-shell .main-content {
            flex: 1 1 auto;
            padding: var(--ku-page-gutter) !important;
        }

            body.kitunzi-app-shell .main-content > * + * {
                margin-top: var(--ku-section-gap);
            }

        body.kitunzi-app-shell .container,
        body.kitunzi-app-shell .container-sm,
        body.kitunzi-app-shell .container-md,
        body.kitunzi-app-shell .container-lg,
        body.kitunzi-app-shell .container-xl,
        body.kitunzi-app-shell .container-xxl,
        body.kitunzi-app-shell .container-fluid {
            width: 100% !important;
            max-width: none !important;
        }

        body.kitunzi-app-shell .footer-ki {
            position: relative !important;
            inset: auto !important;
            z-index: 20 !important;
            width: 100% !important;
            min-height: var(--ku-footer-height) !important;
            margin: 0 !important;
            flex: 0 0 auto;
            padding: .65rem var(--ku-page-gutter) !important;
            display: flex !important;
            align-items: center;
            justify-content: space-between;
            gap: .8rem;
            border: 0 !important;
            border-top: 1px solid var(--ku-border-subtle) !important;
            background: rgba(255, 255, 255, .92) !important;
            color: var(--ku-text-faint) !important;
            font-size: .69rem !important;
            box-shadow: none !important;
            backdrop-filter: blur(14px);
        }

            body.kitunzi-app-shell .footer-ki strong {
                color: var(--ku-text-muted) !important;
                font-weight: 700;
            }

        body.kitunzi-app-shell .footer-links {
            display: inline-flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: .2rem !important;
        }

            body.kitunzi-app-shell .footer-links a {
                padding: .25rem .45rem !important;
                border-radius: var(--ku-radius-xs) !important;
                color: var(--ku-text-muted) !important;
                font-weight: 620;
            }

                body.kitunzi-app-shell .footer-links a:hover {
                    background: var(--ku-brand-50) !important;
                    color: var(--ku-brand-800) !important;
                }

        /* =====================================================================
   2. Sidebar
   ===================================================================== */

        body.kitunzi-app-shell .sidebar {
            position: fixed !important;
            inset: 0 auto 0 0 !important;
            z-index: 1035 !important;
            width: var(--ku-sidebar-width) !important;
            max-width: min(90vw, var(--ku-sidebar-width)) !important;
            height: 100dvh !important;
            display: flex !important;
            flex-direction: column;
            overflow: hidden;
            border: 0 !important;
            border-right: 1px solid var(--ku-border-subtle) !important;
            background: rgba(255, 255, 255, .97) !important;
            box-shadow: 5px 0 24px rgba(15, 36, 22, .045) !important;
            backdrop-filter: blur(16px);
        }

        body.kitunzi-app-shell .sidebar-header {
            min-height: 78px !important;
            padding: .8rem .9rem !important;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border: 0 !important;
            border-bottom: 1px solid var(--ku-border-subtle) !important;
            background: transparent !important;
        }

        body.kitunzi-app-shell .sidebar-brand,
        body.kitunzi-app-shell .sidebar-brand-with-logo {
            min-height: 0 !important;
            padding: 0 !important;
            display: inline-flex;
            align-items: center;
            border: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
        }

        body.kitunzi-app-shell .brand-logo-wide-wrap {
            width: auto !important;
            height: 52px !important;
            padding: .25rem .35rem !important;
            display: inline-flex;
            align-items: center;
            border: 1px solid transparent !important;
            border-radius: var(--ku-radius-sm) !important;
            background: transparent !important;
            box-shadow: none !important;
        }

        body.kitunzi-app-shell .sidebar-brand:hover .brand-logo-wide-wrap {
            border-color: var(--ku-border-subtle) !important;
            background: var(--ku-surface-soft) !important;
        }

        body.kitunzi-app-shell .sidebar-logo-wide {
            width: auto !important;
            max-width: 184px !important;
            max-height: 44px !important;
            object-fit: contain;
        }

        body.kitunzi-app-shell .bar-context {
            margin: .75rem .75rem .25rem !important;
            padding: .7rem .75rem !important;
            display: grid;
            gap: .16rem;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-sm) !important;
            background: var(--ku-brand-50) !important;
            color: var(--ku-text) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84) !important;
        }

            body.kitunzi-app-shell .bar-context small {
                color: var(--ku-text-faint) !important;
                font-size: .61rem !important;
                font-weight: 720;
                letter-spacing: .075em;
                text-transform: uppercase;
            }

            body.kitunzi-app-shell .bar-context strong {
                color: var(--ku-brand-900) !important;
                font-size: .78rem !important;
                font-weight: 740 !important;
                line-height: 1.25;
            }

        body.kitunzi-app-shell .sidebar-nav {
            flex: 1 1 auto;
            padding: .55rem .65rem 1rem !important;
            overflow-y: auto;
            scrollbar-gutter: stable;
        }

        body.kitunzi-app-shell .sidebar-section {
            margin: 0 0 .35rem !important;
            padding: 0 0 .35rem !important;
            border-bottom: 1px solid rgba(13, 61, 30, .065) !important;
        }

            body.kitunzi-app-shell .sidebar-section:last-child {
                border-bottom: 0 !important;
            }

        body.kitunzi-app-shell .sidebar-group-title {
            margin: 0 !important;
            padding: .55rem .65rem .3rem !important;
            color: var(--ku-text-faint) !important;
            font-size: .59rem !important;
            font-weight: 740 !important;
            letter-spacing: .085em;
            text-transform: uppercase;
        }

        body.kitunzi-app-shell .sidebar-link,
        body.kitunzi-app-shell .sidebar-menu-toggle {
            position: relative;
            width: 100%;
            min-height: 40px !important;
            margin: 0 0 .12rem !important;
            padding: .45rem .62rem !important;
            display: flex !important;
            align-items: center;
            gap: .58rem !important;
            border: 1px solid transparent !important;
            border-radius: var(--ku-radius-sm) !important;
            background: transparent !important;
            color: #3f4d44 !important;
            font-size: .77rem !important;
            font-weight: 610 !important;
            line-height: 1.2;
            box-shadow: none !important;
            transform: none !important;
        }

            body.kitunzi-app-shell .sidebar-link::before,
            body.kitunzi-app-shell .sidebar-link::after,
            body.kitunzi-app-shell .sidebar-menu-toggle::before,
            body.kitunzi-app-shell .sidebar-menu-toggle::after {
                display: none !important;
                content: none !important;
            }

            body.kitunzi-app-shell .sidebar-link > i,
            body.kitunzi-app-shell .sidebar-menu-toggle > i:first-child {
                width: 25px !important;
                height: 25px !important;
                flex: 0 0 25px;
                display: inline-grid !important;
                place-items: center;
                border: 1px solid transparent !important;
                border-radius: 8px !important;
                background: transparent !important;
                color: #5f7065 !important;
                font-size: .93rem !important;
                box-shadow: none !important;
                transform: none !important;
            }

            body.kitunzi-app-shell .sidebar-link:hover,
            body.kitunzi-app-shell .sidebar-menu-toggle:hover,
            body.kitunzi-app-shell .sidebar-menu-toggle[aria-expanded="true"] {
                border-color: var(--ku-border-subtle) !important;
                background: var(--ku-surface-soft) !important;
                color: var(--ku-brand-900) !important;
            }

                body.kitunzi-app-shell .sidebar-link:hover > i,
                body.kitunzi-app-shell .sidebar-menu-toggle:hover > i:first-child,
                body.kitunzi-app-shell .sidebar-menu-toggle[aria-expanded="true"] > i:first-child {
                    border-color: var(--ku-border-subtle) !important;
                    background: var(--ku-surface) !important;
                    color: var(--ku-brand-700) !important;
                }

            body.kitunzi-app-shell .sidebar-link.active {
                border-color: rgba(23, 107, 42, .18) !important;
                background: var(--ku-brand-100) !important;
                color: var(--ku-brand-900) !important;
                font-weight: 720 !important;
                box-shadow: inset 3px 0 0 var(--ku-brand-700) !important;
            }

                body.kitunzi-app-shell .sidebar-link.active > i {
                    border-color: rgba(23, 107, 42, .14) !important;
                    background: rgba(255, 255, 255, .76) !important;
                    color: var(--ku-brand-700) !important;
                }

        body.kitunzi-app-shell .menu-chevron,
        body.kitunzi-app-shell .collapse-icon {
            margin-left: auto;
            color: var(--ku-text-faint) !important;
            font-size: .72rem !important;
            transition: transform var(--ku-duration) var(--ku-ease) !important;
        }

        body.kitunzi-app-shell .sidebar-menu-toggle[aria-expanded="true"] .menu-chevron,
        body.kitunzi-app-shell .sidebar-menu-toggle[aria-expanded="true"] .collapse-icon {
            transform: rotate(180deg) !important;
        }

        body.kitunzi-app-shell .sidebar-submenu {
            margin: .18rem 0 .38rem .78rem !important;
            padding: .12rem 0 .12rem .52rem !important;
            border-left: 1px solid rgba(23, 107, 42, .18) !important;
        }

            body.kitunzi-app-shell .sidebar-submenu .sidebar-link {
                min-height: 36px !important;
                padding: .38rem .52rem !important;
                font-size: .73rem !important;
            }

                body.kitunzi-app-shell .sidebar-submenu .sidebar-link > i {
                    width: 22px !important;
                    height: 22px !important;
                    flex-basis: 22px;
                    font-size: .8rem !important;
                }

        body.kitunzi-app-shell .sidebar-close {
            width: 36px !important;
            height: 36px !important;
            display: none;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-sm) !important;
            background: var(--ku-surface) !important;
            color: var(--ku-text-muted) !important;
            box-shadow: var(--ku-shadow-xs) !important;
        }

        /* =====================================================================
   3. Topbar, context, breadcrumbs and profile controls
   ===================================================================== */

        body.kitunzi-app-shell .topbar {
            position: fixed !important;
            inset: 0 0 auto var(--ku-sidebar-width) !important;
            z-index: 1030 !important;
            width: auto !important;
            height: var(--ku-topbar-height) !important;
            min-height: var(--ku-topbar-height) !important;
            padding: 0 clamp(.8rem, 1.25vw, 1.45rem) !important;
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
            grid-template-areas: "left center right" !important;
            align-items: center !important;
            gap: 1rem !important;
            border: 0 !important;
            border-bottom: 1px solid var(--ku-border-subtle) !important;
            background: rgba(255, 255, 255, .93) !important;
            box-shadow: 0 2px 14px rgba(15, 36, 22, .04) !important;
            backdrop-filter: blur(16px) saturate(125%);
        }

        body.kitunzi-app-shell .topbar-left {
            grid-area: left !important;
            width: auto !important;
            max-width: 100% !important;
            display: flex !important;
            align-items: center;
            justify-self: stretch;
            overflow: hidden;
        }

        body.kitunzi-app-shell .topbar-center {
            grid-area: center !important;
            width: auto !important;
            max-width: min(40vw, 520px) !important;
            display: flex !important;
            align-items: center;
            justify-self: center;
        }

        body.kitunzi-app-shell .topbar-right {
            grid-area: right !important;
            position: relative !important;
            width: auto !important;
            max-width: 100% !important;
            display: flex !important;
            align-items: center;
            justify-content: flex-end;
            justify-self: stretch;
            margin: 0 !important;
            overflow: visible;
        }

        body.kitunzi-app-shell .topbar-title-block {
            min-width: 0;
            padding: 0 !important;
            overflow: hidden;
        }

        body.kitunzi-app-shell .topbar-page-title {
            max-width: min(100%, 540px) !important;
            margin: 0 !important;
            overflow: hidden;
            color: var(--ku-text-strong) !important;
            font-size: .94rem !important;
            font-weight: 720 !important;
            line-height: 1.2;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        body.kitunzi-app-shell .breadcrumb-ki {
            margin: .16rem 0 0 !important;
            padding: 0 !important;
            display: flex;
            align-items: center;
            gap: 0 !important;
            color: var(--ku-text-faint) !important;
            font-size: .65rem !important;
            line-height: 1.2;
        }

            body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item,
            body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item a,
            body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item span,
            body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item.active {
                padding: 0 !important;
                border: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                color: var(--ku-text-faint) !important;
                font-size: .65rem !important;
                font-weight: 570 !important;
                box-shadow: none !important;
            }

                body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item a:hover {
                    color: var(--ku-brand-700) !important;
                }

                body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item.active {
                    color: var(--ku-text-muted) !important;
                    font-weight: 650 !important;
                }

                body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item + .breadcrumb-item::before {
                    content: "\F285" !important;
                    padding: 0 .36rem !important;
                    color: #a3ada6 !important;
                    font-family: "bootstrap-icons" !important;
                    font-size: .58rem !important;
                    line-height: 1;
                }

                body.kitunzi-app-shell .breadcrumb-ki .breadcrumb-item a::after {
                    display: none !important;
                    content: none !important;
                }

        body.kitunzi-app-shell .topbar-bar-context-card,
        body.kitunzi-app-shell .topbar-context-card {
            min-height: 40px !important;
            max-width: 100%;
            padding: .38rem .68rem !important;
            display: flex !important;
            align-items: center;
            gap: .55rem !important;
            overflow: hidden;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-sm) !important;
            background: rgba(248, 250, 248, .94) !important;
            color: var(--ku-text) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), var(--ku-shadow-xs) !important;
        }

        body.kitunzi-app-shell .topbar-bar-icon,
        body.kitunzi-app-shell .topbar-context-icon {
            width: 29px !important;
            height: 29px !important;
            flex: 0 0 29px;
            display: inline-grid !important;
            place-items: center;
            border: 1px solid rgba(23, 107, 42, .13) !important;
            border-radius: 8px !important;
            background: var(--ku-brand-100) !important;
            color: var(--ku-brand-700) !important;
            font-size: .78rem !important;
        }

        body.kitunzi-app-shell .topbar-bar-text,
        body.kitunzi-app-shell .topbar-context-text {
            min-width: 0;
            display: grid !important;
            gap: .08rem;
        }

            body.kitunzi-app-shell .topbar-bar-text strong,
            body.kitunzi-app-shell .topbar-context-text strong {
                overflow: hidden;
                color: var(--ku-text-strong) !important;
                font-size: .72rem !important;
                font-weight: 720 !important;
                line-height: 1.15;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            body.kitunzi-app-shell .topbar-bar-text small,
            body.kitunzi-app-shell .topbar-context-text small {
                overflow: hidden;
                color: var(--ku-text-faint) !important;
                font-size: .59rem !important;
                font-weight: 560;
                line-height: 1.2;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

        body.kitunzi-app-shell .topbar-dot-separator {
            width: 3px !important;
            height: 3px !important;
            display: inline-block;
            margin: 0 .28rem !important;
            border-radius: 50%;
            background: #b8c1ba !important;
            vertical-align: middle;
        }

        body.kitunzi-app-shell .topbar-btn {
            width: 38px !important;
            min-width: 38px !important;
            max-width: 38px !important;
            height: 38px !important;
            min-height: 38px !important;
            padding: 0 !important;
            display: inline-grid !important;
            place-items: center;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-sm) !important;
            background: var(--ku-surface) !important;
            color: #526158 !important;
            font-size: .95rem !important;
            box-shadow: var(--ku-shadow-xs) !important;
            transform: none !important;
        }

            body.kitunzi-app-shell .topbar-btn:hover,
            body.kitunzi-app-shell .topbar-btn[aria-expanded="true"] {
                border-color: var(--ku-border-strong) !important;
                background: var(--ku-brand-50) !important;
                color: var(--ku-brand-800) !important;
                box-shadow: var(--ku-shadow-sm) !important;
            }

        body.kitunzi-app-shell .user-menu {
            width: auto !important;
            min-width: 0 !important;
            max-width: min(300px, 31vw) !important;
            min-height: 42px !important;
            padding: .28rem .48rem .28rem .3rem !important;
            display: flex !important;
            align-items: center;
            gap: .48rem !important;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-sm) !important;
            background: var(--ku-surface) !important;
            color: var(--ku-text) !important;
            box-shadow: var(--ku-shadow-xs) !important;
            transform: none !important;
        }

            body.kitunzi-app-shell .user-menu:hover,
            body.kitunzi-app-shell .user-menu[aria-expanded="true"] {
                border-color: var(--ku-border-strong) !important;
                background: var(--ku-surface-soft) !important;
                box-shadow: var(--ku-shadow-sm) !important;
            }

            body.kitunzi-app-shell .user-menu::after {
                margin-left: .15rem;
                color: var(--ku-text-faint);
            }

        body.kitunzi-app-shell .avatar {
            width: 34px !important;
            height: 34px !important;
            flex: 0 0 34px;
            display: inline-grid !important;
            place-items: center;
            border: 1px solid rgba(23, 107, 42, .18) !important;
            border-radius: 10px !important;
            background: var(--ku-brand-700) !important;
            color: #fff !important;
            font-size: .68rem !important;
            font-weight: 780 !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2) !important;
        }

        body.kitunzi-app-shell .user-meta {
            min-width: 0;
            display: grid !important;
            gap: .04rem;
        }

        body.kitunzi-app-shell .user-name {
            overflow: hidden;
            color: var(--ku-text-strong) !important;
            font-size: .72rem !important;
            font-weight: 720 !important;
            line-height: 1.15;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        body.kitunzi-app-shell .user-bar,
        body.kitunzi-app-shell .user-details {
            overflow: hidden;
            color: var(--ku-text-faint) !important;
            font-size: .58rem !important;
            line-height: 1.15;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        body.kitunzi-app-shell .user-dropdown-menu,
        body.kitunzi-app-shell .notification-menu,
        body.kitunzi-app-shell .dropdown-menu {
            border: 1px solid var(--ku-border) !important;
            border-radius: var(--ku-radius-md) !important;
            background: rgba(255, 255, 255, .985) !important;
            box-shadow: var(--ku-shadow-overlay) !important;
            backdrop-filter: blur(18px);
        }

        body.kitunzi-app-shell .user-dropdown-menu {
            width: min(320px, calc(100vw - 1rem)) !important;
            min-width: min(320px, calc(100vw - 1rem)) !important;
            max-height: calc(100dvh - var(--ku-topbar-height) - 1rem) !important;
            margin-top: .45rem !important;
            overflow-y: auto;
        }

        body.kitunzi-app-shell .profile-card-head {
            padding: .85rem !important;
            border-bottom: 1px solid var(--ku-border-subtle) !important;
            background: var(--ku-surface-soft) !important;
            color: var(--ku-text) !important;
        }

        body.kitunzi-app-shell .profile-avatar-lg {
            width: 46px !important;
            height: 46px !important;
            border: 1px solid rgba(23, 107, 42, .18) !important;
            border-radius: 13px !important;
            background: var(--ku-brand-100) !important;
            color: var(--ku-brand-800) !important;
            font-size: .78rem !important;
        }

        body.kitunzi-app-shell .profile-card-name {
            color: var(--ku-text-strong) !important;
            font-size: .86rem !important;
            font-weight: 730 !important;
        }

        body.kitunzi-app-shell .profile-card-role {
            color: var(--ku-text-muted) !important;
            font-size: .67rem !important;
        }

        body.kitunzi-app-shell .profile-card-body,
        body.kitunzi-app-shell .profile-dropdown-actions {
            padding: .5rem !important;
        }

            body.kitunzi-app-shell .profile-info-row,
            body.kitunzi-app-shell .profile-dropdown-actions .dropdown-item,
            body.kitunzi-app-shell .dropdown-item {
                min-height: 38px !important;
                padding: .48rem .55rem !important;
                border-radius: var(--ku-radius-xs) !important;
                color: var(--ku-text-muted) !important;
                font-size: .72rem !important;
            }

                body.kitunzi-app-shell .profile-info-row i {
                    width: 26px !important;
                    height: 26px !important;
                    display: inline-grid !important;
                    place-items: center;
                    border-radius: 8px !important;
                    background: var(--ku-brand-50) !important;
                    color: var(--ku-brand-700) !important;
                }

                body.kitunzi-app-shell .dropdown-item:hover,
                body.kitunzi-app-shell .dropdown-item:focus {
                    background: var(--ku-brand-50) !important;
                    color: var(--ku-brand-900) !important;
                }

                body.kitunzi-app-shell .dropdown-item.text-danger {
                    color: var(--ku-danger-700) !important;
                }

                    body.kitunzi-app-shell .dropdown-item.text-danger:hover {
                        background: var(--ku-danger-100) !important;
                    }

        /* Notification menu */
        body.kitunzi-app-shell .notification-count {
            top: -5px !important;
            right: -5px !important;
            min-width: 18px !important;
            height: 18px !important;
            padding: 0 4px !important;
            border: 2px solid #fff !important;
            border-radius: var(--ku-radius-pill) !important;
            background: var(--ku-danger-700) !important;
            color: #fff !important;
            font-size: .56rem !important;
            font-weight: 780 !important;
        }

        body.kitunzi-app-shell .notification-menu {
            width: min(400px, calc(100vw - 1rem)) !important;
            min-width: min(400px, calc(100vw - 1rem)) !important;
            max-height: calc(100dvh - var(--ku-topbar-height) - 1rem) !important;
            margin-top: .45rem !important;
            overflow: hidden;
        }

        body.kitunzi-app-shell .notification-menu-header,
        body.kitunzi-app-shell .notification-menu-footer {
            padding: .75rem .82rem !important;
            background: var(--ku-surface-soft) !important;
        }

        body.kitunzi-app-shell .notification-menu-header {
            border-bottom: 1px solid var(--ku-border-subtle) !important;
        }

        body.kitunzi-app-shell .notification-menu-footer {
            border-top: 1px solid var(--ku-border-subtle) !important;
        }

        body.kitunzi-app-shell .notification-menu-item {
            border-bottom: 1px solid rgba(13, 61, 30, .065) !important;
            background: var(--ku-surface) !important;
        }

            body.kitunzi-app-shell .notification-menu-item:not(.is-read)::before {
                left: 0 !important;
                width: 3px !important;
                height: 100% !important;
                border-radius: 0 !important;
                background: var(--ku-brand-700) !important;
            }

        body.kitunzi-app-shell .notification-menu-link {
            padding: .76rem 2.5rem .76rem .85rem !important;
        }

            body.kitunzi-app-shell .notification-menu-link:hover {
                background: var(--ku-brand-50) !important;
            }

        body.kitunzi-app-shell .notification-menu-icon {
            width: 34px !important;
            height: 34px !important;
            flex: 0 0 34px;
            border: 1px solid rgba(23, 107, 42, .13) !important;
            border-radius: 10px !important;
            background: var(--ku-brand-100) !important;
            color: var(--ku-brand-700) !important;
        }

        body.kitunzi-app-shell .notification-menu-copy strong {
            color: var(--ku-text-strong) !important;
            font-size: .75rem !important;
        }

        body.kitunzi-app-shell .notification-menu-copy > span {
            color: var(--ku-text-muted) !important;
            font-size: .68rem !important;
        }

        body.kitunzi-app-shell .notification-menu-copy time {
            color: var(--ku-text-faint) !important;
            font-size: .6rem !important;
        }

        /* =====================================================================
   4. Page headers, panels, cards and metrics
   ===================================================================== */

        body.kitunzi-app-shell .page-header,
        body.kitunzi-app-shell .page-header-compact {
            min-height: 0 !important;
            margin: 0 !important;
            padding: .15rem .1rem .95rem !important;
            display: flex;
            align-items: flex-end !important;
            justify-content: space-between;
            gap: 1rem;
            border: 0 !important;
            border-bottom: 1px solid var(--ku-border-subtle) !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
        }

            body.kitunzi-app-shell .page-header::before,
            body.kitunzi-app-shell .page-header::after,
            body.kitunzi-app-shell .page-header-compact::before,
            body.kitunzi-app-shell .page-header-compact::after {
                display: none !important;
                content: none !important;
            }

            body.kitunzi-app-shell .page-header h1,
            body.kitunzi-app-shell .page-header-compact h1 {
                margin: 0 !important;
            }

        body.kitunzi-app-shell .page-subtitle,
        body.kitunzi-app-shell .card-subtitle,
        body.kitunzi-app-shell .section-subtitle,
        body.kitunzi-app-shell .section-heading p {
            max-width: 76ch !important;
            margin: .24rem 0 0 !important;
            color: var(--ku-text-muted) !important;
            font-size: .78rem !important;
            line-height: 1.45;
        }

        body.kitunzi-app-shell .section-heading,
        body.kitunzi-app-shell .card-header,
        body.kitunzi-app-shell .panel-header,
        body.kitunzi-app-shell .platform-panel-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .9rem;
        }

        body.kitunzi-app-shell .section-heading {
            margin: 0 0 .75rem !important;
        }

            body.kitunzi-app-shell .section-heading h2,
            body.kitunzi-app-shell .card-header h2,
            body.kitunzi-app-shell .card-header h3,
            body.kitunzi-app-shell .card-title {
                margin: 0 !important;
            }

        body.kitunzi-app-shell .card,
        body.kitunzi-app-shell .card-ki,
        body.kitunzi-app-shell .panel,
        body.kitunzi-app-shell .dashboard-card,
        body.kitunzi-app-shell .info-card,
        body.kitunzi-app-shell .table-card,
        body.kitunzi-app-shell .stock-table-card,
        body.kitunzi-app-shell .permissions-matrix-card,
        body.kitunzi-app-shell .report-card-polished,
        body.kitunzi-app-shell .acc-card,
        body.kitunzi-app-shell .bucket-section,
        body.kitunzi-app-shell .session-control-panel,
        body.kitunzi-app-shell .session-form-panel,
        body.kitunzi-app-shell .role-workspace,
        body.kitunzi-app-shell .personal-dashboard-card {
            position: relative;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-md) !important;
            background: var(--ku-surface) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), var(--ku-shadow-sm) !important;
            transform: none !important;
        }

            body.kitunzi-app-shell .card::before,
            body.kitunzi-app-shell .card::after,
            body.kitunzi-app-shell .card-ki::before,
            body.kitunzi-app-shell .card-ki::after,
            body.kitunzi-app-shell .dashboard-card::before,
            body.kitunzi-app-shell .dashboard-card::after {
                display: none !important;
                content: none !important;
            }

        body.kitunzi-app-shell a.card:hover,
        body.kitunzi-app-shell a.card-ki:hover,
        body.kitunzi-app-shell .clickable-card:hover,
        body.kitunzi-app-shell .quick-action-card:hover,
        body.kitunzi-app-shell .stat-hover:hover,
        body.kitunzi-app-shell .featured-deal-card:hover {
            border-color: var(--ku-border-accent) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92), var(--ku-shadow-md) !important;
            transform: translateY(-2px) !important;
        }

        body.kitunzi-app-shell .card-header,
        body.kitunzi-app-shell .ki-card-header,
        body.kitunzi-app-shell .table-card-header,
        body.kitunzi-app-shell .stock-card-header,
        body.kitunzi-app-shell .permissions-matrix-head {
            min-height: 52px !important;
            padding: .8rem .95rem !important;
            border: 0 !important;
            border-bottom: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-md) var(--ku-radius-md) 0 0 !important;
            background: var(--ku-surface-soft) !important;
            color: var(--ku-text) !important;
        }

            body.kitunzi-app-shell .card-header .card-title,
            body.kitunzi-app-shell .card-title {
                color: var(--ku-text-strong) !important;
                font-size: .88rem !important;
                font-weight: 710 !important;
            }

        body.kitunzi-app-shell .card-body {
            padding: .95rem !important;
        }

        body.kitunzi-app-shell .dashboard-hero,
        body.kitunzi-app-shell .reports-hero,
        body.kitunzi-app-shell .permissions-hero,
        body.kitunzi-app-shell .stock-hero-card,
        body.kitunzi-app-shell .product-hero-card {
            min-height: 0 !important;
            padding: clamp(1rem, 1.4vw, 1.4rem) !important;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-lg) !important;
            background: var(--ku-surface) !important;
            box-shadow: var(--ku-shadow-sm) !important;
        }

            body.kitunzi-app-shell .dashboard-hero::before,
            body.kitunzi-app-shell .dashboard-hero::after,
            body.kitunzi-app-shell .reports-hero::before,
            body.kitunzi-app-shell .reports-hero::after,
            body.kitunzi-app-shell .permissions-hero::before,
            body.kitunzi-app-shell .permissions-hero::after,
            body.kitunzi-app-shell .session-glow,
            body.kitunzi-app-shell .stat-bg-icon,
            body.kitunzi-app-shell [class*="decorative"],
            body.kitunzi-app-shell [class*="floating-circle"],
            body.kitunzi-app-shell [class*="background-blob"] {
                display: none !important;
                content: none !important;
            }

        body.kitunzi-app-shell .dashboard-eyebrow,
        body.kitunzi-app-shell .permissions-eyebrow,
        body.kitunzi-app-shell .reports-eyebrow,
        body.kitunzi-app-shell [class$="-eyebrow"] {
            display: inline-flex !important;
            align-items: center;
            gap: .35rem;
            margin-bottom: .55rem;
            padding: .28rem .48rem;
            border: 1px solid rgba(23, 107, 42, .13);
            border-radius: var(--ku-radius-pill);
            background: var(--ku-brand-50) !important;
            color: var(--ku-brand-800) !important;
            font-size: .61rem !important;
            font-weight: 720 !important;
            letter-spacing: .045em;
            text-transform: uppercase;
        }

        body.kitunzi-app-shell .stat-card,
        body.kitunzi-app-shell .summary-card,
        body.kitunzi-app-shell .dashboard-stat-card,
        body.kitunzi-app-shell .dashboard-small-stat,
        body.kitunzi-app-shell .metric-card,
        body.kitunzi-app-shell .kpi-card,
        body.kitunzi-app-shell .bucket-stat-card,
        body.kitunzi-app-shell .reports-stat,
        body.kitunzi-app-shell .role-summary-card,
        body.kitunzi-app-shell .permission-stat-pill {
            position: relative;
            min-height: 108px !important;
            padding: .9rem !important;
            border: 1px solid var(--ku-border-subtle) !important;
            border-radius: var(--ku-radius-md) !important;
            background: var(--ku-surface) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), var(--ku-shadow-sm) !important;
            overflow: hidden;
            transform: none !important;
        }

            body.kitunzi-app-shell .stat-card::before,
            body.kitunzi-app-shell .stat-card::after,
            body.kitunzi-app-shell .summary-card::before,
            body.kitunzi-app-shell .summary-card::after,
            body.kitunzi-app-shell .bucket-stat-card::before,
            body.kitunzi-app-shell .bucket-stat-card::after {
                display: none !important;
                content: none !important;
            }

        body.kitunzi-app-shell .stat-card-main {
            display: flex;
            align-items: flex-start;
            gap: .75rem !important;
        }

        body.kitunzi-app-shell .stat-icon,
        body.kitunzi-app-shell .summary-icon,
        body.kitunzi-app-shell .metric-icon,
        body.kitunzi-app-shell .kpi-icon,
        body.kitunzi-app-shell .bucket-stat-icon,
        body.kitunzi-app-shell .card-icon {
            width: 40px !important;
            height: 40px !important;
            flex: 0 0 40px;
            display: inline-grid !important;
            place-items: center;
            border: 1px solid rgba(23, 107, 42, .13) !important;
            border-radius: 11px !important;
            background: var(--ku-brand-100) !important;
            color: var(--ku-brand-700) !important;
            font-size: .95rem !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75) !important;
        }

            body.kitunzi-app-shell .stat-icon.bg-warning-subtle,
            body.kitunzi-app-shell .stat-icon.is-warning,
            body.kitunzi-app-shell .bucket-stat-card.is-warning .bucket-stat-icon {
                border-color: rgba(201, 110, 12, .18) !important;
                background: var(--ku-amber-100) !important;
                color: var(--ku-amber-700) !important;
            }

            body.kitunzi-app-shell .stat-icon.is-danger,
            body.kitunzi-app-shell .bucket-stat-card.is-danger .bucket-stat-icon {
                border-color: rgba(180, 35, 44, .16) !important;
                background: var(--ku-danger-100) !important;
                color: var(--ku-danger-700) !important;
            }

        body.kitunzi-app-shell .stat-label,
        body.kitunzi-app-shell .summary-label,
        body.kitunzi-app-shell .metric-label,
        body.kitunzi-app-shell .kpi-label,
        body.kitunzi-app-shell .bucket-stat-label {
            color: var(--ku-text-faint) !important;
            font-size: .63rem !important;
            font-weight: 720 !important;
            letter-spacing: .055em;
            line-height: 1.2;
            text-transform: uppercase;
        }

        body.kitunzi-app-shell .stat-value,
        body.kitunzi-app-shell .stat-number,
        body.kitunzi-app-shell .summary-value,
        body.kitunzi-app-shell .metric-value,
        body.kitunzi-app-shell .kpi-value,
        body.kitunzi-app-shell .bucket-stat-value,
        body.kitunzi-app-shell .reports-stat-value,
        body.kitunzi-app-shell .stat-card h3 {
            margin-top: .12rem;
            color: var(--ku-brand-900) !important;
            font-size: clamp(1.25rem, 1.45vw, 1.65rem) !important;
            font-weight: 780 !important;
            line-height: 1.15;
            letter-spacing: -.035em;
            font-variant-numeric: tabular-nums;
        }

        body.kitunzi-app-shell .stat-card small,
        body.kitunzi-app-shell .summary-card small,
        body.kitunzi-app-shell .bucket-stat-card small {
            margin-top: .2rem;
            color: var(--ku-text-muted) !important;
            font-size: .66rem !important;
            line-height: 1.35;
        }

        body.kitunzi-app-shell .dashboard-stat-grid,
        body.kitunzi-app-shell .reports-stat-grid,
        body.kitunzi-app-shell .acc-stat-grid,
        body.kitunzi-app-shell .stats-grid,
        body.kitunzi-app-shell .summary-grid,
        body.kitunzi-app-shell .preview-stat-grid,
        body.kitunzi-app-shell .bucket-stats-grid,
        body.kitunzi-app-shell .operation-summary-grid,
        body.kitunzi-app-shell .notification-summary-grid,
        body.kitunzi-app-shell .audit-summary-grid {
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
            gap: .85rem !important;
        }

        /* =====================================================================
   5. Buttons and interactive controls
   ===================================================================== */

        body.kitunzi-app-shell .btn:not(.btn-close),
        body.kitunzi-app-shell .btn-ki,
        body.auth-page .btn:not(.btn-close),
        body.auth-page .btn-ki {
            min-height: 40px !important;
            padding: .5rem .78rem !important;
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            gap: .42rem !important;
            border-width: 1px !important;
            border-radius: var(--ku-radius-sm) !important;
            font-size: .76rem !important;
            font-weight: 690 !important;
            line-height: 1.2;
            letter-spacing: -.004em;
            white-space: nowrap;
            box-shadow: var(--ku-shadow-xs) !important;
            transform: none !important;
        }

            body.kitunzi-app-shell .btn:hover:not(:disabled),
            body.kitunzi-app-shell .btn-ki:hover:not(:disabled),
            body.auth-page .btn:hover:not(:disabled),
            body.auth-page .btn-ki:hover:not(:disabled) {
                transform: translateY(-1px) !important;
            }

            body.kitunzi-app-shell .btn:active:not(:disabled),
            body.kitunzi-app-shell .btn-ki:active:not(:disabled),
            body.auth-page .btn:active:not(:disabled),
            body.auth-page .btn-ki:active:not(:disabled) {
                transform: translateY(0) !important;
                box-shadow: inset 0 1px 2px rgba(15, 36, 22, .12) !important;
            }

        body.kitunzi-app-shell .btn-ki-primary,
        body.kitunzi-app-shell .btn-primary,
        body.auth-page .btn-ki-primary,
        body.auth-page .btn-primary {
            border-color: var(--ku-brand-700) !important;
            background: var(--ku-brand-700) !important;
            color: #fff !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 2px rgba(8, 47, 23, .14), 0 5px 14px rgba(23, 107, 42, .13) !important;
        }

            body.kitunzi-app-shell .btn-ki-primary:hover,
            body.kitunzi-app-shell .btn-primary:hover,
            body.auth-page .btn-ki-primary:hover,
            body.auth-page .btn-primary:hover {
                border-color: var(--ku-brand-900) !important;
                background: var(--ku-brand-800) !important;
                color: #fff !important;
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 4px rgba(8, 47, 23, .16), 0 8px 18px rgba(23, 107, 42, .16) !important;
            }

        body.kitunzi-app-shell .btn-ki-soft,
        body.kitunzi-app-shell .btn-ki-ghost,
        body.kitunzi-app-shell .btn-ki-light,
        body.kitunzi-app-shell .btn-light,
        body.kitunzi-app-shell .btn-outline-secondary,
        body.auth-page .btn-ki-soft,
        body.auth-page .btn-ki-ghost,
        body.auth-page .btn-ki-light,
        body.auth-page .btn-light {
            border-color: var(--ku-border) !important;
            background: var(--ku-surface) !important;
            color: var(--ku-text) !important;
        }

            body.kitunzi-app-shell .btn-ki-soft:hover,
            body.kitunzi-app-shell .btn-ki-ghost:hover,
            body.kitunzi-app-shell .btn-ki-light:hover,
            body.kitunzi-app-shell .btn-light:hover,
            body.kitunzi-app-shell .btn-outline-secondary:hover,
            body.auth-page .btn-ki-soft:hover,
            body.auth-page .btn-ki-ghost:hover,
            body.auth-page .btn-ki-light:hover,
            body.auth-page .btn-light:hover {
                border-color: var(--ku-border-strong) !important;
                background: var(--ku-brand-50) !important;
                color: var(--ku-brand-900) !important;
            }

        body.kitunzi-app-shell .btn-danger,
        body.kitunzi-app-shell .btn-ki-danger,
        body.auth-page .btn-danger,
        body.auth-page .btn-ki-danger {
            border-color: var(--ku-danger-700) !important;
            background: var(--ku-danger-700) !important;
            color: #fff !important;
        }

        body.kitunzi-app-shell .btn-ki-warning,
        body.auth-page .btn-ki-warning {
            border-color: var(--ku-amber-600) !important;
            background: var(--ku-amber-600) !important;
            color: #fff !important;
        }

        body.kitunzi-app-shell .btn-ki-sm,
        body.kitunzi-app-shell .btn-sm,
        body.auth-page .btn-ki-sm,
        body.auth-page .btn-sm {
            min-height: 36px !important;
            padding: .42rem .64rem !important;
            font-size: .7rem !important;
        }

        body.kitunzi-app-shell .btn-icon,
        body.kitunzi-app-shell .icon-button,
        body.auth-page .btn-icon {
            width: 38px !important;
            min-width: 38px !important;
            max-width: 38px !important;
            height: 38px !important;
            min-height: 38px !important;
            padding: 0 !important;
        }

        body.kitunzi-app-shell .btn:disabled,
        body.kitunzi-app-shell .btn.disabled,
        body.auth-page .btn:disabled,
        body.auth-page .btn.disabled {
            opacity: .48 !important;
            transform: none !important;
            cursor: not-allowed;
        }

        body.kitunzi-app-shell .table-action-group,
        body.kitunzi-app-shell .action-buttons,
        body.kitunzi-app-shell .page-actions,
        body.kitunzi-app-shell .toolbar-actions,
        body.kitunzi-app-shell .form-actions,
        body.kitunzi-app-shell .modal-footer {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: .4rem !important;
        }

        body.kitunzi-app-shell .table-action-group {
            justify-content: flex-end;
            flex-wrap: nowrap;
        }

            body.kitunzi-app-shell .table-action-group form {
                display: inline-flex;
                margin: 0;
            }

        /* =====================================================================
   6. Forms and validation
   ===================================================================== */

        body.kitunzi-app-shell .form-label,
        body.kitunzi-app-shell label:not(.form-check-label),
        body.auth-page .form-label,
        body.auth-page label:not(.form-check-label) {
            margin-bottom: .34rem !important;
            color: #435148 !important;
            font-size: .72rem !important;
            font-weight: 660 !important;
            line-height: 1.25;
        }

        body.kitunzi-app-shell .form-control,
        body.kitunzi-app-shell .form-select,
        body.kitunzi-app-shell .input-group-text,
        body.auth-page .form-control,
        body.auth-page .form-select,
        body.auth-page .input-group-text {
            min-height: var(--ku-control-height) !important;
            padding-top: .55rem !important;
            padding-bottom: .55rem !important;
            border: 1px solid var(--ku-border) !important;
            border-radius: var(--ku-radius-sm) !important;
            background: var(--ku-surface) !important;
            color: var(--ku-text) !important;
            font-size: .8rem !important;
            line-height: 1.25;
            box-shadow: inset 0 1px 1px rgba(15, 36, 22, .025) !important;
        }

            body.kitunzi-app-shell .form-control:hover:not(:disabled):not([readonly]),
            body.kitunzi-app-shell .form-select:hover:not(:disabled),
            body.auth-page .form-control:hover:not(:disabled):not([readonly]),
            body.auth-page .form-select:hover:not(:disabled) {
                border-color: var(--ku-border-strong) !important;
            }

            body.kitunzi-app-shell .form-control:focus,
            body.kitunzi-app-shell .form-select:focus,
            body.kitunzi-app-shell .form-check-input:focus,
            body.auth-page .form-control:focus,
            body.auth-page .form-select:focus,
            body.auth-page .form-check-input:focus {
                border-color: rgba(23, 107, 42, .58) !important;
                box-shadow: var(--ku-focus) !important;
            }

            body.kitunzi-app-shell .form-control::placeholder,
            body.auth-page .form-control::placeholder {
                color: #98a29b !important;
                opacity: 1;
            }

        body.kitunzi-app-shell textarea.form-control,
        body.auth-page textarea.form-control {
            min-height: 108px !important;
            resize: vertical;
        }

        body.kitunzi-app-shell .form-control:disabled,
        body.kitunzi-app-shell .form-select:disabled,
        body.kitunzi-app-shell .form-control[readonly],
        body.auth-page .form-control:disabled,
        body.auth-page .form-select:disabled,
        body.auth-page .form-control[readonly] {
            background: var(--ku-surface-muted) !important;
            color: var(--ku-text-faint) !important;
            opacity: 1;
        }

        body.kitunzi-app-shell .form-check-input,
        body.auth-page .form-check-input {
            width: 1rem;
            height: 1rem;
            border-color: var(--ku-border-strong) !important;
            box-shadow: none !important;
        }

            body.kitunzi-app-shell .form-check-input:checked,
            body.auth-page .form-check-input:checked {
                border-color: var(--ku-brand-700) !important;
                background-color: var(--ku-brand-700) !important;
            }

        body.kitunzi-app-shell .form-grid,
        body.kitunzi-app-shell .details-grid,
        body.kitunzi-app-shell .filter-grid,
        body.kitunzi-app-shell .report-filter-grid,
        body.auth-page .auth-form-grid,
        body.auth-page .register-form-grid {
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
            gap: .9rem !important;
        }

        body.kitunzi-app-shell .form-text,
        body.kitunzi-app-shell .field-validation-error,
        body.kitunzi-app-shell .validation-summary-errors,
        body.auth-page .form-text,
        body.auth-page .field-validation-error,
        body.auth-page .validation-summary-errors {
            font-size: .67rem !important;
            line-height: 1.35;
        }

        body.kitunzi-app-shell .field-validation-error,
        body.auth-page .field-validation-error,
        body.kitunzi-app-shell .validation-summary-errors,
        body.auth-page .validation-summary-errors {
            color: var(--ku-danger-700) !important;
        }

        /* =====================================================================
   7. Tables, status badges, alerts, empty and loading states
   ===================================================================== */

        body.kitunzi-app-shell .table-responsive,
        body.kitunzi-app-shell .table-responsive-custom,
        body.kitunzi-app-shell .data-table-wrapper,
        body.kitunzi-app-shell .ki-table-wrap,
        body.kitunzi-app-shell .table-card {
            width: 100% !important;
            max-width: 100% !important;
            overflow-x: auto !important;
            overscroll-behavior-inline: contain;
            scrollbar-gutter: stable;
            -webkit-overflow-scrolling: touch;
        }

        body.kitunzi-app-shell table,
        body.kitunzi-app-shell .table,
        body.kitunzi-app-shell .table-ki {
            width: 100% !important;
            margin: 0 !important;
            border-collapse: separate !important;
            border-spacing: 0 !important;
            color: var(--ku-text) !important;
            font-size: .76rem !important;
            font-variant-numeric: tabular-nums;
        }

            body.kitunzi-app-shell table thead th,
            body.kitunzi-app-shell .table thead th,
            body.kitunzi-app-shell .table-ki thead th {
                position: relative;
                padding: .72rem .78rem !important;
                border: 0 !important;
                border-bottom: 1px solid var(--ku-border) !important;
                background: var(--ku-surface-muted) !important;
                color: #4a584f !important;
                font-size: .62rem !important;
                font-weight: 730 !important;
                letter-spacing: .05em;
                line-height: 1.2;
                text-transform: uppercase;
                white-space: nowrap;
            }

            body.kitunzi-app-shell table tbody td,
            body.kitunzi-app-shell .table tbody td,
            body.kitunzi-app-shell .table-ki tbody td {
                padding: .72rem .78rem !important;
                border: 0 !important;
                border-bottom: 1px solid rgba(13, 61, 30, .07) !important;
                background: var(--ku-surface) !important;
                color: var(--ku-text) !important;
                line-height: 1.4;
                vertical-align: middle;
            }

            body.kitunzi-app-shell table tbody tr:last-child td,
            body.kitunzi-app-shell .table tbody tr:last-child td,
            body.kitunzi-app-shell .table-ki tbody tr:last-child td {
                border-bottom: 0 !important;
            }

            body.kitunzi-app-shell table tbody tr:hover td,
            body.kitunzi-app-shell .table tbody tr:hover td,
            body.kitunzi-app-shell .table-ki tbody tr:hover td {
                background: #F7F9FC !important;
            }

            body.kitunzi-app-shell table td.text-end,
            body.kitunzi-app-shell table th.text-end,
            body.kitunzi-app-shell table td[data-label*="Amount"],
            body.kitunzi-app-shell table td[data-label*="Price"],
            body.kitunzi-app-shell table td[data-label*="Total"] {
                font-variant-numeric: tabular-nums;
            }

            body.kitunzi-app-shell table .btn,
            body.kitunzi-app-shell .table .btn,
            body.kitunzi-app-shell .table-ki .btn {
                min-height: 34px !important;
                padding: .35rem .52rem !important;
                border-radius: 9px !important;
                font-size: .68rem !important;
            }

            body.kitunzi-app-shell table .btn-icon,
            body.kitunzi-app-shell .table .btn-icon,
            body.kitunzi-app-shell .table-ki .btn-icon {
                width: 34px !important;
                min-width: 34px !important;
                max-width: 34px !important;
                height: 34px !important;
                padding: 0 !important;
            }

        body.kitunzi-app-shell .badge,
        body.kitunzi-app-shell .status-badge,
        body.kitunzi-app-shell .stock-badge,
        body.kitunzi-app-shell [class*="ki-status-"] {
            min-height: 24px !important;
            padding: .27rem .5rem !important;
            display: inline-flex !important;
            align-items: center;
            gap: .28rem;
            border: 1px solid transparent !important;
            border-radius: var(--ku-radius-pill) !important;
            font-size: .62rem !important;
            font-weight: 700 !important;
            line-height: 1;
            white-space: nowrap;
        }

            body.kitunzi-app-shell .badge-active,
            body.kitunzi-app-shell .badge-approved,
            body.kitunzi-app-shell .badge-success,
            body.kitunzi-app-shell .stock-badge.in-stock,
            body.kitunzi-app-shell .ki-status-approved {
                border-color: rgba(23, 107, 42, .15) !important;
                background: var(--ku-brand-100) !important;
                color: var(--ku-brand-800) !important;
            }

            body.kitunzi-app-shell .badge-pending,
            body.kitunzi-app-shell .badge-warning,
            body.kitunzi-app-shell .stock-badge.low-stock,
            body.kitunzi-app-shell .ki-status-pending {
                border-color: rgba(201, 110, 12, .16) !important;
                background: var(--ku-amber-100) !important;
                color: var(--ku-amber-700) !important;
            }

            body.kitunzi-app-shell .badge-rejected,
            body.kitunzi-app-shell .badge-danger,
            body.kitunzi-app-shell .stock-badge.out-of-stock,
            body.kitunzi-app-shell .ki-status-suspended {
                border-color: rgba(180, 35, 44, .14) !important;
                background: var(--ku-danger-100) !important;
                color: var(--ku-danger-700) !important;
            }

        body.kitunzi-app-shell .badge-inactive,
        body.kitunzi-app-shell .badge-neutral {
            border-color: var(--ku-border-subtle) !important;
            background: var(--ku-surface-muted) !important;
            color: var(--ku-text-muted) !important;
        }

        body.kitunzi-app-shell .alert,
        body.auth-page .alert {
            padding: .72rem .82rem !important;
            border-width: 1px !important;
            border-radius: var(--ku-radius-sm) !important;
            font-size: .74rem !important;
            box-shadow: none !important;
        }

        body.kitunzi-app-shell .alert-success,
        body.auth-page .alert-success {
            border-color: rgba(23, 107, 42, .16) !important;
            background: var(--ku-brand-50) !important;
            color: var(--ku-brand-900) !important;
        }

        body.kitunzi-app-shell .alert-warning,
        body.auth-page .alert-warning {
            border-color: rgba(201, 110, 12, .16) !important;
            background: #fff8ed !important;
            color: #704008 !important;
        }

        body.kitunzi-app-shell .alert-danger,
        body.auth-page .alert-danger {
            border-color: rgba(180, 35, 44, .15) !important;
            background: #fff4f5 !important;
            color: #7f1820 !important;
        }

        body.kitunzi-app-shell .ki-empty-state,
        body.kitunzi-app-shell .empty-state,
        body.kitunzi-app-shell .system-empty-state {
            min-height: 168px !important;
            padding: 1.6rem 1.1rem !important;
            display: flex !important;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: .42rem;
            border: 1px dashed var(--ku-border) !important;
            border-radius: var(--ku-radius-md) !important;
            background: var(--ku-surface-soft) !important;
            color: var(--ku-text-muted) !important;
            text-align: center;
            box-shadow: none !important;
        }

            body.kitunzi-app-shell .ki-empty-state > i,
            body.kitunzi-app-shell .empty-state > i,
            body.kitunzi-app-shell .empty-icon {
                width: 42px;
                height: 42px;
                display: grid;
                place-items: center;
                margin-bottom: .25rem;
                border: 1px solid var(--ku-border-subtle);
                border-radius: 12px;
                background: var(--ku-surface);
                color: var(--ku-brand-700) !important;
                font-size: 1.1rem !important;
                box-shadow: var(--ku-shadow-xs);
            }

        body.kitunzi-app-shell .skeleton,
        body.kitunzi-app-shell [class*="skeleton-"] {
            position: relative;
            overflow: hidden;
            border-radius: var(--ku-radius-xs);
            background: #e9eeea !important;
        }

            body.kitunzi-app-shell .skeleton::after,
            body.kitunzi-app-shell [class*="skeleton-"]::after {
                content: "";
                position: absolute;
                inset: 0;
                transform: translateX(-100%);
                background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .62), transparent);
                animation: ku-skeleton 1.35s infinite;
            }

@keyframes ku-skeleton {
    to {
        transform: translateX(100%);
    }
}

/* =====================================================================
   8. Modals, drawers, popovers and utility controls
   ===================================================================== */

body.kitunzi-app-shell .modal-dialog {
    max-width: min(var(--bs-modal-width, 640px), calc(100vw - 1rem)) !important;
    margin: max(.5rem, env(safe-area-inset-top)) auto !important;
}

body.kitunzi-app-shell .modal-content {
    max-height: calc(100dvh - 1rem) !important;
    overflow: hidden;
    border: 1px solid var(--ku-border) !important;
    border-radius: var(--ku-radius-lg) !important;
    background: var(--ku-surface) !important;
    box-shadow: var(--ku-shadow-overlay) !important;
}

body.kitunzi-app-shell .modal-header,
body.kitunzi-app-shell .modal-footer {
    padding: .82rem .95rem !important;
    border-color: var(--ku-border-subtle) !important;
    background: var(--ku-surface-soft) !important;
}

body.kitunzi-app-shell .modal-body {
    padding: .95rem !important;
    overflow-y: auto;
}

body.kitunzi-app-shell .modal-title {
    font-size: .95rem !important;
    font-weight: 710 !important;
}

body.kitunzi-app-shell .modal-backdrop.show {
    opacity: .48;
}

body.kitunzi-app-shell .scroll-top,
body.kitunzi-app-shell .global-help-button {
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 12px !important;
    background: var(--ku-brand-800) !important;
    color: #fff !important;
    box-shadow: var(--ku-shadow-md) !important;
}

body.kitunzi-app-shell .scroll-top {
    right: 1rem !important;
    bottom: 1rem !important;
}

body.kitunzi-app-shell .global-help-button {
    right: 1rem !important;
    bottom: 4.25rem !important;
}

    body.kitunzi-app-shell .scroll-top:hover,
    body.kitunzi-app-shell .global-help-button:hover {
        background: var(--ku-brand-900) !important;
        transform: translateY(-2px) !important;
    }

body.kitunzi-app-shell .sidebar-overlay {
    background: rgba(7, 25, 13, .48) !important;
    backdrop-filter: blur(3px);
}

/* =====================================================================
   9. Dashboard and high-density module refinements
   ===================================================================== */

body.kitunzi-app-shell .dashboard-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

body.kitunzi-app-shell .dashboard-hero-content {
    min-width: 0;
}

    body.kitunzi-app-shell .dashboard-hero-content > p {
        margin: .3rem 0 .55rem !important;
        font-size: .78rem !important;
    }

body.kitunzi-app-shell .dashboard-scope-pill,
body.kitunzi-app-shell .dashboard-card-pill,
body.kitunzi-app-shell .record-count {
    min-height: 25px !important;
    padding: .26rem .5rem !important;
    display: inline-flex !important;
    align-items: center;
    gap: .3rem;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: var(--ku-radius-pill) !important;
    background: var(--ku-brand-50) !important;
    color: var(--ku-brand-800) !important;
    font-size: .63rem !important;
    font-weight: 680 !important;
}

body.kitunzi-app-shell .dashboard-hero-status {
    min-width: 150px;
    padding: .62rem .7rem !important;
    display: flex;
    align-items: center;
    gap: .55rem;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: var(--ku-radius-sm) !important;
    background: var(--ku-surface-soft) !important;
    box-shadow: none !important;
}

    body.kitunzi-app-shell .dashboard-hero-status small {
        color: var(--ku-text-faint) !important;
        font-size: .59rem !important;
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    body.kitunzi-app-shell .dashboard-hero-status strong {
        color: var(--ku-text-strong) !important;
        font-size: .76rem !important;
    }

body.kitunzi-app-shell .session-workflow-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr) !important;
    gap: .9rem !important;
}

body.kitunzi-app-shell .session-control-panel,
body.kitunzi-app-shell .session-form-panel,
body.kitunzi-app-shell .role-workspace,
body.kitunzi-app-shell .personal-dashboard-card {
    padding: 1rem !important;
}

body.kitunzi-app-shell .session-progress-line {
    margin: .9rem 0 !important;
}

body.kitunzi-app-shell .session-money-grid,
body.kitunzi-app-shell .close-summary-box {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: .55rem !important;
}

    body.kitunzi-app-shell .session-money-grid > div,
    body.kitunzi-app-shell .close-summary-box > div {
        padding: .65rem .7rem !important;
        border: 1px solid var(--ku-border-subtle) !important;
        border-radius: var(--ku-radius-sm) !important;
        background: var(--ku-surface-soft) !important;
    }

body.kitunzi-app-shell .quick-action-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
    gap: .65rem !important;
}

body.kitunzi-app-shell .quick-action-card {
    min-height: 74px !important;
    padding: .7rem .75rem !important;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: var(--ku-radius-sm) !important;
    background: var(--ku-surface-soft) !important;
    color: var(--ku-text) !important;
    box-shadow: none !important;
}

body.kitunzi-app-shell .compact-dashboard-table {
    min-width: 620px;
}

/* =====================================================================
   10. Bucket deals
   ===================================================================== */

body.kitunzi-app-shell .bucket-page {
    display: flex !important;
    flex-direction: column;
    gap: var(--ku-section-gap) !important;
}

    body.kitunzi-app-shell .bucket-page > * + * {
        margin-top: 0 !important;
    }

body.kitunzi-app-shell .bucket-section {
    padding: .95rem !important;
}

body.kitunzi-app-shell .featured-deals-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
    gap: .85rem !important;
}

    body.kitunzi-app-shell .featured-deals-grid.is-single {
        grid-template-columns: minmax(0, 1fr) !important;
    }

body.kitunzi-app-shell .featured-deal-card {
    min-height: 250px !important;
    padding: .95rem !important;
    display: grid !important;
    grid-template-rows: auto auto 1fr;
    gap: .78rem !important;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: var(--ku-radius-md) !important;
    background: var(--ku-surface) !important;
    box-shadow: var(--ku-shadow-sm) !important;
    overflow: hidden;
}

    body.kitunzi-app-shell .featured-deal-card::before,
    body.kitunzi-app-shell .featured-deal-card::after {
        display: none !important;
        content: none !important;
    }

body.kitunzi-app-shell .featured-deal-top {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
}

body.kitunzi-app-shell .featured-deal-icon {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(23, 107, 42, .13) !important;
    border-radius: 11px !important;
    background: var(--ku-brand-100) !important;
    color: var(--ku-brand-700) !important;
}

body.kitunzi-app-shell .featured-deal-copy {
    margin: 0 !important;
    display: grid !important;
    gap: .15rem;
}

    body.kitunzi-app-shell .featured-deal-copy h3 {
        margin: 0 0 .35rem !important;
        color: var(--ku-text-strong) !important;
        font-size: .92rem !important;
        line-height: 1.3;
    }

body.kitunzi-app-shell .featured-deal-label {
    color: var(--ku-text-faint) !important;
    font-size: .6rem !important;
    font-weight: 720 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.kitunzi-app-shell .featured-deal-price {
    color: var(--ku-amber-700) !important;
    font-size: clamp(1.35rem, 1.6vw, 1.72rem) !important;
    font-weight: 790 !important;
    line-height: 1.15;
    letter-spacing: -.035em;
    font-variant-numeric: tabular-nums;
}

body.kitunzi-app-shell .featured-deal-quantity {
    color: var(--ku-text-muted) !important;
    font-size: .7rem !important;
}

body.kitunzi-app-shell .featured-deal-meta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem !important;
    margin: 0 !important;
    padding: .75rem 0 0 !important;
    border-top: 1px solid var(--ku-border-subtle) !important;
}

    body.kitunzi-app-shell .featured-deal-meta > div {
        min-width: 0;
        padding: .55rem .6rem;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .16rem !important;
        border: 1px solid var(--ku-border-subtle);
        border-radius: var(--ku-radius-sm);
        background: var(--ku-surface-soft);
    }

    body.kitunzi-app-shell .featured-deal-meta dt,
    body.kitunzi-app-shell .featured-deal-meta dd {
        margin: 0 !important;
        overflow-wrap: anywhere;
    }

    body.kitunzi-app-shell .featured-deal-meta dt {
        color: var(--ku-text-faint) !important;
        font-size: .6rem !important;
        font-weight: 660 !important;
    }

    body.kitunzi-app-shell .featured-deal-meta dd {
        color: var(--ku-text) !important;
        font-size: .68rem !important;
        font-weight: 670 !important;
        line-height: 1.35;
    }

body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-card {
    min-height: 0 !important;
    grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr) !important;
    grid-template-rows: auto 1fr !important;
    grid-template-areas:
        "top meta"
        "copy meta";
    align-items: stretch;
}

body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-top {
    grid-area: top;
}

body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-copy {
    grid-area: copy;
    align-content: center;
    padding-right: .6rem;
}

body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-meta {
    grid-area: meta;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-content: stretch;
    padding: 0 0 0 .85rem !important;
    border-top: 0 !important;
    border-left: 1px solid var(--ku-border-subtle) !important;
}

    body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-meta > div {
        align-content: center;
    }

body.kitunzi-app-shell .bucket-guidance {
    padding: .72rem .82rem !important;
    display: flex !important;
    align-items: flex-start;
    gap: .62rem !important;
    border: 1px solid rgba(201, 110, 12, .16) !important;
    border-radius: var(--ku-radius-sm) !important;
    background: #fff9ef !important;
    color: #69400e !important;
    box-shadow: none !important;
}

    body.kitunzi-app-shell .bucket-guidance strong {
        font-size: .71rem !important;
    }

    body.kitunzi-app-shell .bucket-guidance span {
        font-size: .68rem !important;
    }

body.kitunzi-app-shell .bucket-table-card {
    overflow: hidden;
}

body.kitunzi-app-shell .bucket-deals-table {
    min-width: 1120px;
}

/* =====================================================================
   11. Authentication: centered single-surface experience
   ===================================================================== */

body.auth-page {
    min-width: 320px;
    min-height: 100dvh;
    margin: 0;
    overflow-x: hidden;
    background: #f3f6f3 !important;
    color: var(--ku-text);
    font-family: var(--ki-font, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

    body.auth-page::before {
        display: none !important;
        content: none !important;
    }

    body.auth-page::after {
        content: "";
        position: fixed;
        inset: 4px 0 auto 0;
        height: 1px;
        z-index: 2;
        background: rgba(255, 255, 255, .75);
    }

    body.auth-page .kitunzi-auth-shell,
    body.auth-page .kitunzi-auth-register-shell {
        width: 100% !important;
        min-height: 100dvh !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        place-items: center;
        padding: clamp(1.15rem, 3vw, 2.5rem) !important;
        background: transparent !important;
    }

    body.auth-page .auth-showcase {
        display: none !important;
    }

    body.auth-page .auth-form-stage,
    body.auth-page .auth-form-stage-register {
        width: 100% !important;
        max-width: 520px !important;
        min-height: auto !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: .95rem;
        background: transparent !important;
    }

    body.auth-page.auth-register-page .auth-form-stage,
    body.auth-page.auth-register-page .auth-form-stage-register {
        max-width: 1180px !important;
    }

    body.auth-page .auth-page-brand {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .8rem;
        padding: 0 .15rem;
    }

    body.auth-page .auth-page-logo {
        display: inline-flex;
        align-items: center;
        padding: .3rem .42rem;
        border: 1px solid transparent;
        border-radius: var(--ku-radius-sm);
    }

        body.auth-page .auth-page-logo:hover {
            border-color: var(--ku-border-subtle);
            background: rgba(255, 255, 255, .65);
        }

        body.auth-page .auth-page-logo img {
            width: auto;
            max-width: 170px;
            max-height: 48px;
            object-fit: contain;
        }

    body.auth-page .auth-security-label {
        min-height: 30px;
        padding: .34rem .55rem;
        display: inline-flex;
        align-items: center;
        gap: .34rem;
        border: 1px solid var(--ku-border-subtle);
        border-radius: var(--ku-radius-pill);
        background: rgba(255, 255, 255, .72);
        color: var(--ku-text-muted);
        font-size: .65rem;
        font-weight: 650;
        box-shadow: var(--ku-shadow-xs);
    }

        body.auth-page .auth-security-label i {
            color: var(--ku-brand-700);
        }

    body.auth-page .auth-form-card,
    body.auth-page .auth-form-card-register {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: clamp(1.25rem, 3vw, 1.75rem) !important;
        border: 1px solid var(--ku-border) !important;
        border-radius: var(--ku-radius-lg) !important;
        background: rgba(255, 255, 255, .985) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), var(--ku-shadow-lg) !important;
        overflow: hidden;
    }

        body.auth-page .auth-form-card::before,
        body.auth-page .auth-form-card::after,
        body.auth-page .auth-form-card-register::before,
        body.auth-page .auth-form-card-register::after {
            display: none !important;
            content: none !important;
        }

    body.auth-page .auth-card-header {
        margin: 0 0 1.15rem !important;
        padding: 0 0 1rem !important;
        display: block !important;
        border-bottom: 1px solid var(--ku-border-subtle) !important;
    }

    body.auth-page .auth-card-kicker {
        display: inline-flex;
        margin-bottom: .45rem;
        color: var(--ku-brand-700);
        font-size: .62rem;
        font-weight: 740;
        letter-spacing: .075em;
        text-transform: uppercase;
    }

    body.auth-page .auth-card-header h1,
    body.auth-page .auth-card-header h2 {
        margin: 0 !important;
        color: var(--ku-text-strong) !important;
        font-size: clamp(1.55rem, 2.5vw, 2rem) !important;
        font-weight: 760 !important;
        line-height: 1.15;
        letter-spacing: -.035em;
    }

    body.auth-page .auth-card-header p {
        max-width: 64ch;
        margin: .42rem 0 0 !important;
        color: var(--ku-text-muted) !important;
        font-size: .79rem !important;
        line-height: 1.5;
    }

    body.auth-page .auth-form {
        display: grid;
        gap: .9rem;
    }

    body.auth-page .auth-field {
        display: grid;
        gap: .05rem;
    }

    body.auth-page .auth-input-wrap {
        position: relative;
    }

        body.auth-page .auth-input-wrap .form-control,
        body.auth-page .auth-input-wrap .form-select {
            padding-left: 2.7rem !important;
        }

        body.auth-page .auth-input-wrap.has-end .form-control {
            padding-right: 2.7rem !important;
        }

    body.auth-page .auth-input-icon {
        position: absolute !important;
        top: 50% !important;
        left: .95rem !important;
        z-index: 2;
        color: #849087 !important;
        font-size: .85rem !important;
        transform: translateY(-50%) !important;
        pointer-events: none;
    }

    body.auth-page .auth-input-wrap .toggle-password {
        right: .95rem !important;
        left: auto !important;
        cursor: pointer;
        pointer-events: auto;
    }

    body.auth-page .auth-input-wrap:focus-within .auth-input-icon {
        color: var(--ku-brand-700) !important;
    }

    body.auth-page .auth-inline-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
    }

    body.auth-page .auth-link {
        color: var(--ku-brand-700) !important;
        font-weight: 670 !important;
        text-decoration: none;
    }

        body.auth-page .auth-link:hover {
            color: var(--ku-brand-900) !important;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

    body.auth-page .auth-submit {
        width: 100%;
        min-height: 44px !important;
    }

    body.auth-page .auth-trust-row {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .5rem !important;
    }

    body.auth-page .auth-trust-chip {
        min-height: 38px !important;
        padding: .45rem .52rem !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: .35rem !important;
        border: 1px solid var(--ku-border-subtle) !important;
        border-radius: var(--ku-radius-sm) !important;
        background: var(--ku-surface-soft) !important;
        color: var(--ku-text-muted) !important;
        font-size: .64rem !important;
        font-weight: 650 !important;
        text-align: center;
        box-shadow: none !important;
    }

        body.auth-page .auth-trust-chip i {
            color: var(--ku-brand-700) !important;
        }

    body.auth-page .auth-callout {
        padding: .72rem .78rem !important;
        display: flex !important;
        align-items: flex-start;
        gap: .62rem !important;
        border: 1px solid var(--ku-border-subtle) !important;
        border-radius: var(--ku-radius-sm) !important;
        background: var(--ku-surface-soft) !important;
        color: var(--ku-text-muted) !important;
        font-size: .7rem !important;
        line-height: 1.45;
    }

        body.auth-page .auth-callout > i {
            margin-top: .08rem;
            color: var(--ku-brand-700) !important;
        }

    body.auth-page .auth-divider-line {
        display: flex;
        align-items: center;
        gap: .7rem;
        color: var(--ku-text-faint) !important;
        font-size: .62rem !important;
        font-weight: 690 !important;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

        body.auth-page .auth-divider-line::before,
        body.auth-page .auth-divider-line::after {
            content: "";
            flex: 1;
            height: 1px;
            background: var(--ku-border-subtle);
        }

    body.auth-page .auth-secondary-action,
    body.auth-page .auth-secondary-center {
        color: var(--ku-text-muted) !important;
        font-size: .7rem !important;
        text-align: center;
    }

    body.auth-page .auth-foot-note {
        padding: 0 .25rem;
        color: var(--ku-text-faint) !important;
        font-size: .64rem !important;
        text-align: center;
    }

        body.auth-page .auth-foot-note strong {
            color: var(--ku-text-muted) !important;
            font-weight: 680;
        }

    body.auth-page .auth-progress-steps {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .5rem !important;
    }

    body.auth-page .auth-progress-step {
        min-height: 38px;
        padding: .4rem .45rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .32rem;
        border: 1px solid var(--ku-border-subtle);
        border-radius: var(--ku-radius-sm);
        background: var(--ku-surface-soft);
        color: var(--ku-text-muted);
        font-size: .65rem;
        font-weight: 650;
    }

        body.auth-page .auth-progress-step span {
            width: 20px;
            height: 20px;
            display: grid;
            place-items: center;
            border-radius: 7px;
            background: var(--ku-surface);
            color: var(--ku-text-muted);
            font-size: .6rem;
        }

        body.auth-page .auth-progress-step.active {
            border-color: rgba(23, 107, 42, .18);
            background: var(--ku-brand-100);
            color: var(--ku-brand-900);
        }

            body.auth-page .auth-progress-step.active span {
                background: var(--ku-brand-700);
                color: #fff;
            }

    /* Register wizard without a side panel. */
    body.auth-page .auth-register-shell,
    body.auth-page .auth-register-landscape-shell,
    body.auth-page .auth-register-landscape-form {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.auth-page .auth-register-landscape-form {
        display: grid;
        gap: 1rem;
    }

    body.auth-page .register-wizard-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: .82rem .9rem;
        border: 1px solid var(--ku-border-subtle);
        border-radius: var(--ku-radius-md);
        background: var(--ku-surface-soft);
    }

    body.auth-page .register-wizard-title {
        display: flex;
        align-items: center;
        gap: .65rem;
    }

    body.auth-page .register-step-icon {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px;
        display: grid !important;
        place-items: center;
        border: 1px solid rgba(23, 107, 42, .14) !important;
        border-radius: 11px !important;
        background: var(--ku-brand-100) !important;
        color: var(--ku-brand-700) !important;
    }

    body.auth-page .register-wizard-title h2,
    body.auth-page .register-wizard-title h3 {
        margin: 0 !important;
        color: var(--ku-text-strong) !important;
        font-size: .92rem !important;
        font-weight: 710 !important;
    }

    body.auth-page .register-wizard-title p {
        margin: .16rem 0 0 !important;
        color: var(--ku-text-muted) !important;
        font-size: .69rem !important;
    }

    body.auth-page .register-help-inline {
        max-width: 360px;
        display: flex;
        align-items: flex-start;
        gap: .5rem;
        color: var(--ku-text-muted);
        font-size: .67rem;
        line-height: 1.4;
    }

        body.auth-page .register-help-inline i {
            margin-top: .08rem;
            color: var(--ku-amber-700);
        }

    body.auth-page .wizard-steps-horizontal,
    body.auth-page .wizard-steps {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: .55rem !important;
    }

    body.auth-page .wizard-step {
        min-height: 58px !important;
        padding: .55rem .62rem !important;
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: .5rem;
        border: 1px solid var(--ku-border-subtle) !important;
        border-radius: var(--ku-radius-sm) !important;
        background: var(--ku-surface) !important;
        color: var(--ku-text-muted) !important;
        text-align: left;
        box-shadow: var(--ku-shadow-xs) !important;
    }

        body.auth-page .wizard-step > span {
            grid-row: 1 / span 2;
            width: 28px !important;
            height: 28px !important;
            display: grid !important;
            place-items: center;
            border: 1px solid var(--ku-border-subtle);
            border-radius: 9px !important;
            background: var(--ku-surface-soft) !important;
            color: var(--ku-text-muted) !important;
            font-size: .66rem !important;
            font-weight: 730 !important;
        }

        body.auth-page .wizard-step strong {
            color: var(--ku-text) !important;
            font-size: .7rem !important;
            font-weight: 690 !important;
        }

        body.auth-page .wizard-step small {
            color: var(--ku-text-faint) !important;
            font-size: .59rem !important;
        }

        body.auth-page .wizard-step.active {
            border-color: rgba(23, 107, 42, .2) !important;
            background: var(--ku-brand-50) !important;
        }

            body.auth-page .wizard-step.active > span {
                border-color: var(--ku-brand-700) !important;
                background: var(--ku-brand-700) !important;
                color: #fff !important;
            }

        body.auth-page .wizard-step.current {
            border-color: rgba(23, 107, 42, .38) !important;
            box-shadow: var(--ku-focus) !important;
        }

    body.auth-page .register-form-panel {
        min-width: 0;
    }

    body.auth-page .wizard-panel {
        display: none;
    }

        body.auth-page .wizard-panel.active {
            display: block;
            animation: ku-auth-enter var(--ku-duration-slow) var(--ku-ease) both;
        }

@keyframes ku-auth-enter {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.auth-page .auth-section-card {
    padding: 1rem !important;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: var(--ku-radius-md) !important;
    background: var(--ku-surface) !important;
    box-shadow: var(--ku-shadow-xs) !important;
}

body.auth-page .auth-section-title {
    margin-bottom: .95rem !important;
    padding-bottom: .85rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    border-bottom: 1px solid var(--ku-border-subtle);
}

body.auth-page .auth-section-icon {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(23, 107, 42, .13) !important;
    border-radius: 11px !important;
    background: var(--ku-brand-100) !important;
    color: var(--ku-brand-700) !important;
}

body.auth-page .auth-section-title h3 {
    margin: 0 !important;
    color: var(--ku-text-strong) !important;
    font-size: .9rem !important;
}

body.auth-page .auth-section-title p {
    margin: .16rem 0 0 !important;
    color: var(--ku-text-muted) !important;
    font-size: .68rem !important;
}

body.auth-page .preview-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
    gap: .75rem !important;
}

body.auth-page .preview-card,
body.auth-page .terms-card {
    padding: .78rem !important;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: var(--ku-radius-sm) !important;
    background: var(--ku-surface-soft) !important;
}

body.auth-page .wizard-actions,
body.auth-page .register-landscape-actions {
    margin-top: .9rem !important;
    padding-top: .9rem;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    border-top: 1px solid var(--ku-border-subtle);
}

body.auth-page .wizard-action-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
}

body.auth-page .auth-state {
    text-align: center;
}

body.auth-page .auth-state-icon {
    width: 56px !important;
    height: 56px !important;
    margin: 0 auto .75rem;
    display: grid !important;
    place-items: center;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: 16px !important;
    background: var(--ku-brand-100) !important;
    color: var(--ku-brand-700) !important;
}

    body.auth-page .auth-state-icon.danger {
        border-color: rgba(180, 35, 44, .14) !important;
        background: var(--ku-danger-100) !important;
        color: var(--ku-danger-700) !important;
    }

body.auth-page .auth-actions-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem !important;
}

/* =====================================================================
   12. Responsive behavior
   ===================================================================== */

@media (min-width: 1920px) {


    body.kitunzi-app-shell .dashboard-stat-grid,
    body.kitunzi-app-shell .reports-stat-grid,
    body.kitunzi-app-shell .summary-grid,
    body.kitunzi-app-shell .bucket-stats-grid {
        gap: 1rem !important;
    }
}

@media (max-width: 1399.98px) {
    body.kitunzi-app-shell .topbar-center {
        max-width: min(36vw, 440px) !important;
    }

    body.kitunzi-app-shell .topbar-bar-text small,
    body.kitunzi-app-shell .topbar-context-text small {
        display: none !important;
    }

    body.kitunzi-app-shell .user-details {
        display: none !important;
    }
}

@media (max-width: 1199.98px) {
    body.kitunzi-app-shell .topbar {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "left right" !important;
    }

    body.kitunzi-app-shell .topbar-center {
        display: none !important;
    }

    body.kitunzi-app-shell .session-workflow-grid {
        grid-template-columns: minmax(0, 1fr) 320px !important;
    }

    body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-card {
        grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr) !important;
    }
}

@media (max-width: 991.98px) {


    body.kitunzi-app-shell .sidebar {
        z-index: 1050 !important;
        transform: translateX(-102%) !important;
        transition: transform var(--ku-duration-slow) var(--ku-ease) !important;
    }

        body.kitunzi-app-shell .sidebar.open,
        body.kitunzi-app-shell .sidebar.mobile-show {
            transform: translateX(0) !important;
        }

    body.kitunzi-app-shell .sidebar-close {
        display: inline-flex !important;
    }

    body.kitunzi-app-shell .topbar {
        inset: 0 0 auto 0 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "left right" !important;
        padding-inline: .75rem !important;
        gap: .65rem !important;
    }

    body.kitunzi-app-shell .main-wrapper {
        width: 100% !important;
        margin-left: 0 !important;
    }

    body.kitunzi-app-shell .footer-ki {
        width: 100% !important;
        margin-left: 0 !important;
    }

    body.kitunzi-app-shell .topbar-page-title {
        max-width: 42vw !important;
        font-size: .86rem !important;
    }

    body.kitunzi-app-shell .breadcrumb-ki {
        display: none !important;
    }

    body.kitunzi-app-shell .user-meta {
        display: none !important;
    }

    body.kitunzi-app-shell .user-menu {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 2px !important;
    }

        body.kitunzi-app-shell .user-menu::after {
            display: none !important;
        }

    body.kitunzi-app-shell .avatar {
        width: 32px !important;
        height: 32px !important;
    }

    body.kitunzi-app-shell .session-workflow-grid {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-card {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto !important;
        grid-template-areas: "top" "copy" "meta" !important;
    }

    body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-copy {
        padding-right: 0;
    }

    body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-meta {
        padding: .75rem 0 0 !important;
        border-top: 1px solid var(--ku-border-subtle) !important;
        border-left: 0 !important;
    }

    body.auth-page .register-wizard-header {
        align-items: flex-start;
        flex-direction: column;
    }

    body.auth-page .register-help-inline {
        max-width: none;
    }
}

@media (max-width: 767.98px) {


    body.kitunzi-app-shell .main-content {
        padding: var(--ku-page-gutter) !important;
    }

    body.kitunzi-app-shell .footer-ki {
        min-height: 48px !important;
        padding: .58rem .8rem !important;
        display: flex !important;
        justify-content: center;
        text-align: center;
    }

    body.kitunzi-app-shell .footer-links {
        display: none !important;
    }

    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .page-header-compact {
        align-items: stretch !important;
        flex-direction: column !important;
        padding-bottom: .8rem !important;
    }

        body.kitunzi-app-shell .page-header > .btn,
        body.kitunzi-app-shell .page-header > a.btn,
        body.kitunzi-app-shell .page-header > button.btn,
        body.kitunzi-app-shell .page-header > .d-flex {
            width: 100%;
        }

            body.kitunzi-app-shell .page-header > .btn,
            body.kitunzi-app-shell .page-header > a.btn,
            body.kitunzi-app-shell .page-header > button.btn,
            body.kitunzi-app-shell .page-header > .d-flex > .btn {
                flex: 1 1 auto;
            }

    body.kitunzi-app-shell .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    body.kitunzi-app-shell .dashboard-hero-status {
        width: 100%;
    }

    body.kitunzi-app-shell .card-body,
    body.kitunzi-app-shell .card-header,
    body.kitunzi-app-shell .ki-card-header {
        padding-left: .78rem !important;
        padding-right: .78rem !important;
    }

    body.kitunzi-app-shell .form-grid,
    body.kitunzi-app-shell .details-grid,
    body.kitunzi-app-shell .filter-grid,
    body.kitunzi-app-shell .report-filter-grid,
    body.auth-page .auth-form-grid,
    body.auth-page .register-form-grid {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell .form-control,
    body.kitunzi-app-shell .form-select,
    body.kitunzi-app-shell .btn:not(.btn-close),
    body.kitunzi-app-shell .btn-ki,
    body.auth-page .form-control,
    body.auth-page .form-select,
    body.auth-page .btn:not(.btn-close),
    body.auth-page .btn-ki {
        min-height: 44px !important;
    }

    body.kitunzi-app-shell .featured-deal-meta,
    body.kitunzi-app-shell .featured-deals-grid.is-single .featured-deal-meta {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell .table-mobile-cards thead {
        display: none !important;
    }

    body.kitunzi-app-shell .table-mobile-cards,
    body.kitunzi-app-shell .table-mobile-cards tbody,
    body.kitunzi-app-shell .table-mobile-cards tr,
    body.kitunzi-app-shell .table-mobile-cards td {
        display: block !important;
        width: 100% !important;
    }

        body.kitunzi-app-shell .table-mobile-cards tbody {
            display: grid !important;
            gap: .7rem !important;
            padding: .12rem !important;
        }

            body.kitunzi-app-shell .table-mobile-cards tbody tr {
                padding: .55rem .7rem !important;
                border: 1px solid var(--ku-border-subtle) !important;
                border-radius: var(--ku-radius-md) !important;
                background: var(--ku-surface) !important;
                box-shadow: var(--ku-shadow-sm) !important;
            }

            body.kitunzi-app-shell .table-mobile-cards tbody td {
                display: grid !important;
                grid-template-columns: minmax(100px, 40%) minmax(0, 1fr) !important;
                gap: .7rem !important;
                align-items: center;
                padding: .5rem 0 !important;
                border-bottom: 1px solid rgba(13, 61, 30, .07) !important;
                text-align: right !important;
                white-space: normal !important;
                overflow-wrap: anywhere;
            }

                body.kitunzi-app-shell .table-mobile-cards tbody td:last-child {
                    border-bottom: 0 !important;
                }

                body.kitunzi-app-shell .table-mobile-cards tbody td::before {
                    content: attr(data-label);
                    color: var(--ku-text-faint) !important;
                    font-size: .61rem !important;
                    font-weight: 720 !important;
                    letter-spacing: .045em;
                    text-align: left;
                    text-transform: uppercase;
                }

        body.kitunzi-app-shell .table-mobile-cards .table-action-group {
            width: 100%;
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
            gap: .35rem !important;
        }

            body.kitunzi-app-shell .table-mobile-cards .table-action-group form,
            body.kitunzi-app-shell .table-mobile-cards .table-action-group .btn {
                width: 100%;
            }

    body.auth-page .kitunzi-auth-shell,
    body.auth-page .kitunzi-auth-register-shell {
        padding: .85rem !important;
        place-items: start center;
    }

    body.auth-page .auth-form-stage,
    body.auth-page .auth-form-stage-register {
        justify-content: flex-start;
    }

    body.auth-page .auth-page-brand {
        padding-top: .3rem;
    }

    body.auth-page .auth-security-label {
        display: none;
    }

    body.auth-page .auth-form-card,
    body.auth-page .auth-form-card-register {
        padding: 1rem !important;
        border-radius: var(--ku-radius-md) !important;
    }

    body.auth-page .auth-trust-row {
        grid-template-columns: 1fr !important;
    }

    body.auth-page .auth-trust-chip {
        justify-content: flex-start;
    }

    body.auth-page .wizard-steps-horizontal,
    body.auth-page .wizard-steps {
        grid-template-columns: repeat(4, minmax(72px, 1fr)) !important;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding: .1rem 0 .3rem;
    }

    body.auth-page .wizard-step {
        min-width: 92px;
        min-height: 56px !important;
        grid-template-columns: 25px minmax(0, 1fr);
        padding: .48rem .5rem !important;
    }

        body.auth-page .wizard-step > span {
            width: 25px !important;
            height: 25px !important;
        }

        body.auth-page .wizard-step small {
            display: none;
        }

    body.auth-page .wizard-actions,
    body.auth-page .register-landscape-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    body.auth-page .wizard-action-right {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

        body.auth-page .wizard-action-right .btn:last-child:nth-child(3) {
            grid-column: 1 / -1;
        }

    body.auth-page .auth-actions-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell .topbar {
        padding-inline: .55rem !important;
        gap: .45rem !important;
    }

    body.kitunzi-app-shell .topbar-left,
    body.kitunzi-app-shell .topbar-right {
        gap: .35rem !important;
    }

    body.kitunzi-app-shell .topbar-page-title {
        max-width: 32vw !important;
        font-size: .8rem !important;
    }

    body.kitunzi-app-shell .topbar-btn,
    body.kitunzi-app-shell .user-menu {
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }

    body.kitunzi-app-shell .avatar {
        width: 30px !important;
        height: 30px !important;
    }

    body.kitunzi-app-shell .notification-menu,
    body.kitunzi-app-shell .user-dropdown-menu {
        width: calc(100vw - .7rem) !important;
        min-width: calc(100vw - .7rem) !important;
    }

    body.kitunzi-app-shell .dashboard-stat-grid,
    body.kitunzi-app-shell .reports-stat-grid,
    body.kitunzi-app-shell .acc-stat-grid,
    body.kitunzi-app-shell .stats-grid,
    body.kitunzi-app-shell .summary-grid,
    body.kitunzi-app-shell .preview-stat-grid,
    body.kitunzi-app-shell .bucket-stats-grid,
    body.kitunzi-app-shell .operation-summary-grid,
    body.kitunzi-app-shell .notification-summary-grid,
    body.kitunzi-app-shell .audit-summary-grid {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .bucket-stat-card {
        min-height: 96px !important;
    }

    body.auth-page .auth-inline-row {
        align-items: flex-start;
        flex-direction: column;
    }

    body.auth-page .auth-card-header h1,
    body.auth-page .auth-card-header h2 {
        font-size: 1.48rem !important;
    }
}

@media (max-width: 389.98px) {
    body.kitunzi-app-shell .topbar-page-title {
        max-width: 27vw !important;
    }

    body.kitunzi-app-shell .topbar-btn,
    body.kitunzi-app-shell .user-menu {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
    }

    body.kitunzi-app-shell .avatar {
        width: 28px !important;
        height: 28px !important;
    }

    body.auth-page .kitunzi-auth-shell,
    body.auth-page .kitunzi-auth-register-shell {
        padding: .6rem !important;
    }

    body.auth-page .auth-form-card,
    body.auth-page .auth-form-card-register {
        padding: .85rem !important;
    }

    body.auth-page .auth-page-logo img {
        max-width: 145px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-app-shell *,
    body.kitunzi-app-shell *::before,
    body.kitunzi-app-shell *::after,
    body.auth-page *,
    body.auth-page *::before,
    body.auth-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    body.kitunzi-app-shell {
        background: #fff !important;
    }

        body.kitunzi-app-shell .sidebar,
        body.kitunzi-app-shell .topbar,
        body.kitunzi-app-shell .footer-ki,
        body.kitunzi-app-shell .scroll-top,
        body.kitunzi-app-shell .global-help-button {
            display: none !important;
        }

        body.kitunzi-app-shell .main-wrapper {
            width: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        body.kitunzi-app-shell .main-content {
            padding: 0 !important;
        }

        body.kitunzi-app-shell .card,
        body.kitunzi-app-shell .card-ki,
        body.kitunzi-app-shell .stat-card,
        body.kitunzi-app-shell .bucket-stat-card {
            box-shadow: none !important;
            break-inside: avoid;
        }
}

/* =====================================================================
   13. Targeted structural refinements from final visual QA
   ===================================================================== */

body.kitunzi-app-shell .topbar.is-scrolled {
    background: rgba(255, 255, 255, .975) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9), 0 12px 30px rgba(15, 36, 22, .075) !important;
}

body.kitunzi-app-shell .dashboard-page {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--ku-section-gap);
}

    body.kitunzi-app-shell .dashboard-page > * {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

body.kitunzi-app-shell .dashboard-insight-grid,
body.kitunzi-app-shell .dashboard-history-grid {
    --bs-gutter-x: .9rem;
    --bs-gutter-y: .9rem;
}

body.kitunzi-app-shell .bucket-feature-panel {
    padding: 0 !important;
    overflow: hidden;
}

    body.kitunzi-app-shell .bucket-feature-panel > .section-heading {
        margin: 0 !important;
        padding: .82rem .92rem !important;
        border-bottom: 1px solid var(--ku-border-subtle) !important;
        background: linear-gradient(180deg, #ffffff, #FBFCFE) !important;
    }

    body.kitunzi-app-shell .bucket-feature-panel > .featured-deals-grid {
        padding: .9rem !important;
    }

@media (min-width: 2200px) {


    body.kitunzi-app-shell .dashboard-page {
        min-height: calc(100dvh - var(--ku-topbar-height) - var(--ku-footer-height) - (2 * var(--ku-page-gutter)));
    }

    body.kitunzi-app-shell .dashboard-stat-grid-extended {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    body.kitunzi-app-shell .dashboard-insight-grid,
    body.kitunzi-app-shell .dashboard-history-grid {
        flex: 1 0 auto;
        align-content: stretch;
    }

        body.kitunzi-app-shell .dashboard-insight-grid > [class*="col-"],
        body.kitunzi-app-shell .dashboard-history-grid > [class*="col-"] {
            display: flex;
        }

        body.kitunzi-app-shell .dashboard-insight-grid .dashboard-card,
        body.kitunzi-app-shell .dashboard-history-grid .dashboard-card {
            width: 100%;
            min-height: 190px;
        }
}

@media (min-width: 3000px) {
    body.kitunzi-app-shell .main-content {
        padding-inline: clamp(2.6rem, 2.2vw, 6rem) !important;
    }
}

/* =====================================================================
   14. Final accessibility and auth-control refinements
   ===================================================================== */

body.auth-page .auth-security-note {
    min-height: 38px;
    padding: .58rem .68rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    border: 1px solid rgba(23, 107, 42, .13);
    border-radius: var(--ku-radius-sm);
    background: var(--ku-brand-50);
    color: var(--ku-text-muted);
    font-size: .69rem;
    line-height: 1.4;
}

    body.auth-page .auth-security-note i {
        flex: 0 0 auto;
        color: var(--ku-brand-700);
        font-size: .86rem;
    }

body.auth-page .auth-password-toggle {
    position: absolute;
    top: 50%;
    right: .45rem;
    z-index: 3;
    width: 34px;
    height: 34px;
    padding: 0;
    display: inline-grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: var(--ku-text-faint);
    font-size: .86rem;
    line-height: 1;
    transform: translateY(-50%);
}

    body.auth-page .auth-password-toggle:hover,
    body.auth-page .auth-password-toggle[aria-pressed="true"] {
        border-color: var(--ku-border-subtle);
        background: var(--ku-surface-soft);
        color: var(--ku-brand-700);
    }

    body.auth-page .auth-password-toggle:active {
        transform: translateY(-50%) scale(.97);
    }

body.auth-page .auth-input-wrap:focus-within .auth-password-toggle {
    color: var(--ku-brand-700);
}

body.auth-page .register-wizard-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr);
    grid-template-areas:
        "title help"
        "steps steps";
    align-items: center;
    gap: .8rem 1rem;
}

body.auth-page .register-wizard-title {
    grid-area: title;
}

body.auth-page .register-wizard-header > .wizard-steps {
    grid-area: steps;
}

body.auth-page .register-help-inline {
    grid-area: help;
    justify-self: end;
}

@media (max-width: 991.98px) {
    body.auth-page .register-wizard-header {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "steps"
            "help";
    }

    body.auth-page .register-help-inline {
        justify-self: stretch;
    }
}

@media (max-width: 575.98px) {
    body.auth-page .auth-page-brand {
        align-items: flex-start;
    }

    body.auth-page .auth-security-note {
        align-items: flex-start;
    }

    body.auth-page .register-wizard-header {
        padding: .72rem !important;
    }
}

/* =====================================================================
   15. ULTRA-PREMIUM REFINEMENT PASS II
   Page headers, responsive shell, data tables, pagination and sessions
   ===================================================================== */



/* ---------- Responsive shell and navigation state ---------- */
body.kitunzi-app-shell .sidebar,
body.kitunzi-app-shell .main-wrapper,
body.kitunzi-app-shell .topbar {
    transition: width var(--ku-duration-slow) var(--ku-ease), margin-left var(--ku-duration-slow) var(--ku-ease), inset var(--ku-duration-slow) var(--ku-ease), transform var(--ku-duration-slow) var(--ku-ease), box-shadow var(--ku-duration) var(--ku-ease) !important;
}

body.kitunzi-app-shell .sidebar {
    z-index: var(--ku-z-sidebar) !important;
}

body.kitunzi-app-shell .topbar {
    z-index: var(--ku-z-topbar) !important;
}

body.kitunzi-app-shell .sidebar-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: var(--ku-z-overlay) !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgba(5, 20, 10, .34) !important;
    backdrop-filter: blur(1.5px) !important;
    -webkit-backdrop-filter: blur(1.5px) !important;
    transition: opacity 200ms var(--ku-ease), visibility 0s linear 200ms !important;
}

    body.kitunzi-app-shell .sidebar-overlay[hidden] {
        display: none !important;
    }

    body.kitunzi-app-shell .sidebar-overlay.show,
    body.kitunzi-app-shell .sidebar-overlay.open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: opacity 200ms var(--ku-ease), visibility 0s linear 0s !important;
    }

body.kitunzi-app-shell.sidebar-mobile-open .main-wrapper,
body.kitunzi-app-shell.sidebar-mobile-open .topbar,
body.kitunzi-app-shell.sidebar-open .main-wrapper,
body.kitunzi-app-shell.sidebar-open .topbar {
    filter: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

body.kitunzi-app-shell .sidebar-brand-mark {
    width: 42px;
    height: 42px;
    display: none;
    place-items: center;
    border: 1px solid rgba(23, 107, 42, .18);
    border-radius: 12px;
    background: var(--ku-brand-900);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.04em;
    box-shadow: var(--ku-shadow-xs);
}

body.kitunzi-app-shell .sidebar-toggle {
    flex: 0 0 auto;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center;
    border: 1px solid var(--ku-border-subtle) !important;
    border-radius: 11px !important;
    background: var(--ku-surface) !important;
    color: var(--ku-brand-900) !important;
    box-shadow: var(--ku-shadow-xs) !important;
}

    body.kitunzi-app-shell .sidebar-toggle:hover {
        border-color: var(--ku-border-accent) !important;
        background: var(--ku-brand-50) !important;
        color: var(--ku-brand-700) !important;
        transform: translateY(-1px) !important;
    }

    body.kitunzi-app-shell .sidebar-toggle:active {
        transform: translateY(0) scale(.97) !important;
    }

@media (min-width: 992px) {
    body.kitunzi-app-shell.sidebar-collapsed .sidebar {
        width: var(--ku-sidebar-collapsed-width) !important;
        max-width: var(--ku-sidebar-collapsed-width) !important;
        overflow: visible !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .main-wrapper {
        width: calc(100% - var(--ku-sidebar-collapsed-width)) !important;
        margin-left: var(--ku-sidebar-collapsed-width) !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .topbar {
        inset-inline-start: var(--ku-sidebar-collapsed-width) !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:hover,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:focus-within {
        width: var(--ku-sidebar-width) !important;
        max-width: var(--ku-sidebar-width) !important;
        box-shadow: 10px 0 34px rgba(15, 36, 22, .11) !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .brand-logo-wide-wrap,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .bar-context,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-group-title,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-link > span,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-menu-toggle > span,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .menu-chevron,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-submenu {
        width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-brand-mark {
        display: grid;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-header {
        justify-content: center;
        padding-inline: .45rem !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-nav {
        padding-inline: .52rem !important;
        overflow-y: auto;
        overflow-x: hidden;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-section {
        margin-bottom: .15rem !important;
        padding-bottom: .15rem !important;
        border-bottom-color: transparent !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-link,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-menu-toggle {
        min-height: 46px !important;
        justify-content: center !important;
        gap: 0 !important;
        padding: .45rem !important;
        box-shadow: none !important;
    }

        body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-link > i,
        body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-menu-toggle > i:first-child {
            width: 30px !important;
            height: 30px !important;
            flex-basis: 30px !important;
        }
}

@media (max-width: 991.98px) {
    body.kitunzi-app-shell .sidebar {
        width: min(86vw, 304px) !important;
        max-width: min(86vw, 304px) !important;
        transform: translate3d(-104%, 0, 0) !important;
        will-change: transform;
        box-shadow: none !important;
    }

        body.kitunzi-app-shell .sidebar.open,
        body.kitunzi-app-shell .sidebar.mobile-open,
        body.kitunzi-app-shell .sidebar.mobile-show {
            transform: translate3d(0, 0, 0) !important;
            box-shadow: 14px 0 48px rgba(5, 20, 10, .18) !important;
        }

    body.kitunzi-app-shell .sidebar-toggle {
        display: inline-grid !important;
    }
}

/* ---------- Page header system ---------- */
body.kitunzi-app-shell .page-header,
body.kitunzi-app-shell .page-header-compact,
body.kitunzi-app-shell .ki-enhanced-page-header,
body.kitunzi-app-shell .stock-hero-card,
body.kitunzi-app-shell .product-hero-card,
body.kitunzi-app-shell .dashboard-hero,
body.kitunzi-app-shell .reports-hero,
body.kitunzi-app-shell .permissions-hero {
    position: relative;
    min-height: 92px !important;
    margin: 0 !important;
    padding: clamp(.95rem, 1.25vw, 1.25rem) clamp(1rem, 1.45vw, 1.45rem) !important;
    align-items: center !important;
    border: 1px solid var(--ku-border-default) !important;
    border-radius: var(--ku-radius-lg) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .995), rgba(249, 251, 249, .985)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .94), 0 1px 1px rgba(12, 31, 18, .025), 0 8px 24px rgba(12, 31, 18, .035) !important;
    overflow: hidden;
}

    body.kitunzi-app-shell .page-header::before,
    body.kitunzi-app-shell .page-header-compact::before,
    body.kitunzi-app-shell .ki-enhanced-page-header::before,
    body.kitunzi-app-shell .stock-hero-card::before,
    body.kitunzi-app-shell .product-hero-card::before,
    body.kitunzi-app-shell .dashboard-hero::before,
    body.kitunzi-app-shell .reports-hero::before,
    body.kitunzi-app-shell .permissions-hero::before {
        content: "" !important;
        position: absolute;
        inset: 0 0 auto;
        display: block !important;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(23, 107, 42, .24), transparent);
        pointer-events: none;
    }

    body.kitunzi-app-shell .page-header h1,
    body.kitunzi-app-shell .page-header-compact h1,
    body.kitunzi-app-shell .stock-hero-card h1,
    body.kitunzi-app-shell .product-hero-card h1,
    body.kitunzi-app-shell .dashboard-hero h1,
    body.kitunzi-app-shell .reports-hero h1,
    body.kitunzi-app-shell .permissions-hero h1 {
        margin: 0 !important;
        font-size: clamp(1.3rem, 1.55vw, 1.8rem) !important;
        line-height: 1.15 !important;
    }

    body.kitunzi-app-shell .page-header .page-subtitle,
    body.kitunzi-app-shell .page-header-compact .page-subtitle,
    body.kitunzi-app-shell .stock-hero-card p,
    body.kitunzi-app-shell .product-hero-card p,
    body.kitunzi-app-shell .dashboard-hero p,
    body.kitunzi-app-shell .reports-hero p,
    body.kitunzi-app-shell .permissions-hero p {
        margin-top: .3rem !important;
        margin-bottom: 0 !important;
        font-size: .76rem !important;
        line-height: 1.45 !important;
    }

    body.kitunzi-app-shell .page-header-actions,
    body.kitunzi-app-shell .page-header > .d-flex:last-child,
    body.kitunzi-app-shell .page-header-compact > .d-flex:last-child {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: .5rem;
    }

/* ---------- Summary / KPI cards ---------- */
body.kitunzi-app-shell .stat-card,
body.kitunzi-app-shell .summary-card,
body.kitunzi-app-shell .dashboard-stat-card,
body.kitunzi-app-shell .dashboard-small-stat,
body.kitunzi-app-shell .metric-card,
body.kitunzi-app-shell .kpi-card,
body.kitunzi-app-shell .bucket-stat-card,
body.kitunzi-app-shell .reports-stat,
body.kitunzi-app-shell .role-summary-card,
body.kitunzi-app-shell .permission-stat-pill {
    min-height: 102px !important;
    padding: .86rem .92rem !important;
    border-color: var(--ku-border-default) !important;
    background: linear-gradient(180deg, #fff 0%, #fcfdfc 100%) !important;
    box-shadow: var(--ku-shadow-card) !important;
    isolation: isolate;
}

    body.kitunzi-app-shell .stat-card::before,
    body.kitunzi-app-shell .summary-card::before,
    body.kitunzi-app-shell .dashboard-stat-card::before,
    body.kitunzi-app-shell .dashboard-small-stat::before,
    body.kitunzi-app-shell .metric-card::before,
    body.kitunzi-app-shell .kpi-card::before,
    body.kitunzi-app-shell .bucket-stat-card::before,
    body.kitunzi-app-shell .reports-stat::before,
    body.kitunzi-app-shell .role-summary-card::before {
        content: "" !important;
        position: absolute;
        inset: 0 12% auto;
        z-index: -1;
        display: block !important;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(23, 107, 42, .25), transparent);
        pointer-events: none;
    }

    body.kitunzi-app-shell .stat-hover:hover,
    body.kitunzi-app-shell a.stat-card:hover,
    body.kitunzi-app-shell button.stat-card:hover,
    body.kitunzi-app-shell .metric-card[role="button"]:hover,
    body.kitunzi-app-shell .kpi-card[role="button"]:hover {
        border-color: rgba(23, 107, 42, .27) !important;
        box-shadow: var(--ku-shadow-card-hover) !important;
        transform: translateY(-2px) !important;
    }

body.kitunzi-app-shell .stat-icon,
body.kitunzi-app-shell .summary-icon,
body.kitunzi-app-shell .metric-icon,
body.kitunzi-app-shell .kpi-icon,
body.kitunzi-app-shell .bucket-stat-icon {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
    border-radius: 11px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86) !important;
}

body.kitunzi-app-shell .stat-value,
body.kitunzi-app-shell .stat-number,
body.kitunzi-app-shell .summary-value,
body.kitunzi-app-shell .metric-value,
body.kitunzi-app-shell .kpi-value,
body.kitunzi-app-shell .bucket-stat-value,
body.kitunzi-app-shell .reports-stat-value {
    font-size: clamp(1.28rem, 1.38vw, 1.72rem) !important;
}

/* ---------- Table regions, toolbars and filters ---------- */
body.kitunzi-app-shell .ki-data-region {
    position: relative;
    width: 100%;
    border: 1px solid var(--ku-border-default);
    border-radius: var(--ku-radius-md);
    background: var(--ku-surface);
    box-shadow: var(--ku-shadow-card);
    overflow: hidden;
}

body.kitunzi-app-shell .card-ki .ki-data-region,
body.kitunzi-app-shell .card .ki-data-region,
body.kitunzi-app-shell .table-card .ki-data-region {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.kitunzi-app-shell .ki-table-toolbar,
body.kitunzi-app-shell .table-toolbar,
body.kitunzi-app-shell .product-filter-card .card-body,
body.kitunzi-app-shell .sales-filter-card .card-body,
body.kitunzi-app-shell .inventory-filter-form,
body.kitunzi-app-shell [class*="-filter-card"] .card-body {
    min-height: 58px;
    padding: .68rem .78rem !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .55rem .7rem;
    border-bottom: 1px solid var(--ku-border-hairline);
    background: var(--ku-surface-soft) !important;
}

body.kitunzi-app-shell .ki-table-toolbar-main,
body.kitunzi-app-shell .ki-table-toolbar-actions,
body.kitunzi-app-shell .ki-table-filter-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .48rem;
}

body.kitunzi-app-shell .ki-table-toolbar-main {
    flex: 1 1 420px;
}

body.kitunzi-app-shell .ki-table-toolbar-actions {
    flex: 0 1 auto;
    justify-content: flex-end;
}

body.kitunzi-app-shell .ki-table-search-wrap,
body.kitunzi-app-shell .input-group-ki.compact-search,
body.kitunzi-app-shell .input-group-ki.product-search,
body.kitunzi-app-shell .input-group-ki.payment-search {
    position: relative;
    width: min(100%, 360px);
    flex: 1 1 260px;
}

body.kitunzi-app-shell .ki-table-search,
body.kitunzi-app-shell .ki-table-filter,
body.kitunzi-app-shell .ki-table-page-size {
    min-height: 40px !important;
    height: 40px !important;
    border-color: var(--ku-border-default) !important;
    border-radius: 10px !important;
    background-color: var(--ku-surface) !important;
    font-size: .74rem !important;
    box-shadow: var(--ku-shadow-xs) !important;
}

body.kitunzi-app-shell .ki-table-search {
    width: 100%;
    padding-inline: 2.2rem 2.2rem !important;
}

body.kitunzi-app-shell .ki-table-search-icon,
body.kitunzi-app-shell .ki-table-search-clear {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
}

body.kitunzi-app-shell .ki-table-search-icon {
    left: .72rem;
    color: var(--ku-text-faint);
    pointer-events: none;
}

body.kitunzi-app-shell .ki-table-search-clear {
    right: .35rem;
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ku-text-faint);
}

    body.kitunzi-app-shell .ki-table-search-clear:hover {
        background: var(--ku-surface-muted);
        color: var(--ku-brand-800);
    }

    body.kitunzi-app-shell .ki-table-search-clear[hidden] {
        display: none !important;
    }

body.kitunzi-app-shell .ki-table-filter {
    width: auto;
    min-width: 142px;
    max-width: 210px;
    padding-right: 2rem !important;
}

body.kitunzi-app-shell .ki-table-clear-filters {
    min-height: 40px !important;
    height: 40px !important;
    padding: .45rem .65rem !important;
}

body.kitunzi-app-shell .ki-table-active-filters {
    width: 100%;
    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    padding-top: .12rem;
}

    body.kitunzi-app-shell .ki-table-active-filters.has-filters {
        display: flex;
    }

body.kitunzi-app-shell .ki-filter-chip {
    min-height: 26px;
    padding: .28rem .48rem;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    border: 1px solid rgba(23, 107, 42, .15);
    border-radius: var(--ku-radius-pill);
    background: var(--ku-brand-50);
    color: var(--ku-brand-800);
    font-size: .64rem;
    font-weight: 680;
}

    body.kitunzi-app-shell .ki-filter-chip button {
        width: 18px;
        height: 18px;
        padding: 0;
        display: inline-grid;
        place-items: center;
        border: 0;
        border-radius: 50%;
        background: transparent;
        color: currentColor;
    }

        body.kitunzi-app-shell .ki-filter-chip button:hover {
            background: rgba(23, 107, 42, .1);
        }

body.kitunzi-app-shell .ki-table-result-count {
    color: var(--ku-text-muted);
    font-size: .68rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

body.kitunzi-app-shell .ki-data-region table,
body.kitunzi-app-shell .card-ki table,
body.kitunzi-app-shell .card table {
    border-radius: 0 !important;
}

body.kitunzi-app-shell table thead th,
body.kitunzi-app-shell .table thead th,
body.kitunzi-app-shell .table-ki thead th {
    height: 42px;
    padding: .62rem .72rem !important;
    border-bottom-color: var(--ku-border-default) !important;
    background: #f3f6f3 !important;
    color: #46564b !important;
}

body.kitunzi-app-shell table tbody td,
body.kitunzi-app-shell .table tbody td,
body.kitunzi-app-shell .table-ki tbody td {
    min-height: var(--ku-table-row-height);
    padding: .64rem .72rem !important;
    border-bottom-color: var(--ku-border-hairline) !important;
}

body.kitunzi-app-shell table tbody tr {
    transition: background-color 150ms var(--ku-ease), opacity 150ms var(--ku-ease) !important;
}

    body.kitunzi-app-shell table tbody tr:hover td,
    body.kitunzi-app-shell .table tbody tr:hover td,
    body.kitunzi-app-shell .table-ki tbody tr:hover td {
        background: #f6faf7 !important;
    }

body.kitunzi-app-shell table[data-sticky-header="true"] thead th {
    position: sticky;
    top: 0;
    z-index: 4;
    box-shadow: 0 1px 0 var(--ku-border-default);
}

body.kitunzi-app-shell .ki-sort-button {
    width: 100%;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: inherit;
    gap: .34rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-align: inherit;
    text-transform: inherit;
}

    body.kitunzi-app-shell .ki-sort-button i {
        color: var(--ku-text-faint);
        font-size: .68rem;
    }

body.kitunzi-app-shell th[aria-sort="ascending"] .ki-sort-button i,
body.kitunzi-app-shell th[aria-sort="descending"] .ki-sort-button i {
    color: var(--ku-brand-700);
}

body.kitunzi-app-shell .ki-page-hidden,
body.kitunzi-app-shell tr.ki-page-hidden,
body.kitunzi-app-shell tr.ki-filtered-out {
    display: none !important;
}

body.kitunzi-app-shell .ki-table-transitioning tbody {
    opacity: .58;
}

body.kitunzi-app-shell .ki-table-no-results {
    display: none;
}

    body.kitunzi-app-shell .ki-table-no-results.is-visible {
        display: table-row;
    }

    body.kitunzi-app-shell .ki-table-no-results td {
        padding: 1rem !important;
    }

body.kitunzi-app-shell .ki-table-no-results-card {
    min-height: 148px;
    display: grid;
    place-items: center;
    gap: .35rem;
    text-align: center;
    color: var(--ku-text-muted);
}

    body.kitunzi-app-shell .ki-table-no-results-card i {
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        border: 1px solid var(--ku-border-subtle);
        border-radius: 12px;
        background: var(--ku-surface-soft);
        color: var(--ku-brand-700);
        font-size: 1rem;
    }

/* ---------- Premium numeric pagination ---------- */
body.kitunzi-app-shell .ki-table-pagination,
body.kitunzi-app-shell .product-pagination-bar {
    min-height: 58px !important;
    padding: .65rem .78rem !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .62rem;
    border-top: 1px solid var(--ku-border-hairline) !important;
    background: var(--ku-surface-soft) !important;
}

body.kitunzi-app-shell .ki-pagination-summary,
body.kitunzi-app-shell .pagination-summary {
    color: var(--ku-text-muted) !important;
    font-size: .68rem !important;
    font-variant-numeric: tabular-nums;
}

body.kitunzi-app-shell .ki-pagination-tools,
body.kitunzi-app-shell .ki-pagination-controls,
body.kitunzi-app-shell .pagination-controls,
body.kitunzi-app-shell .ki-pagination-pages {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

body.kitunzi-app-shell .ki-page-size {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: var(--ku-text-muted);
    font-size: .66rem;
    white-space: nowrap;
}

    body.kitunzi-app-shell .ki-page-size select {
        width: 62px;
        height: 34px;
        min-height: 34px !important;
        padding: .25rem 1.55rem .25rem .48rem;
        border: 1px solid var(--ku-border-default);
        border-radius: 9px;
        background-color: var(--ku-surface);
        color: var(--ku-text);
        font-size: .68rem;
    }

body.kitunzi-app-shell .ki-pagination-btn,
body.kitunzi-app-shell .ki-pagination-number {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px !important;
    padding: 0;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--ku-border-subtle);
    border-radius: 9px;
    background: var(--ku-surface);
    color: var(--ku-text-muted);
    font-size: .68rem;
    font-weight: 680;
    box-shadow: var(--ku-shadow-xs);
}

    body.kitunzi-app-shell .ki-pagination-btn:hover:not(:disabled),
    body.kitunzi-app-shell .ki-pagination-number:hover:not(.is-active) {
        border-color: var(--ku-border-accent);
        background: var(--ku-brand-50);
        color: var(--ku-brand-800);
        transform: translateY(-1px);
    }

    body.kitunzi-app-shell .ki-pagination-number.is-active {
        border-color: var(--ku-brand-700);
        background: var(--ku-brand-700);
        color: #fff;
        box-shadow: 0 5px 12px rgba(23, 107, 42, .18);
    }

    body.kitunzi-app-shell .ki-pagination-btn:disabled {
        opacity: .42;
        cursor: not-allowed;
        box-shadow: none;
    }

body.kitunzi-app-shell .ki-pagination-ellipsis {
    width: 24px;
    display: inline-grid;
    place-items: center;
    color: var(--ku-text-faint);
    font-size: .72rem;
}

body.kitunzi-app-shell .ki-pagination-page {
    min-width: 74px;
    color: var(--ku-text-muted);
    font-size: .67rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* ---------- Session register ---------- */
body.kitunzi-app-shell .session-page {
    display: flex;
    flex-direction: column;
    gap: var(--ku-section-gap);
}

body.kitunzi-app-shell .session-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
}

body.kitunzi-app-shell .session-tabs {
    width: fit-content;
    max-width: 100%;
    padding: .28rem;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    border: 1px solid var(--ku-border-default);
    border-radius: 12px;
    background: var(--ku-surface-muted);
    box-shadow: inset 0 1px 2px rgba(12, 31, 18, .035);
}

body.kitunzi-app-shell .session-tab {
    min-height: 36px;
    padding: .42rem .68rem;
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: var(--ku-text-muted);
    font-size: .72rem;
    font-weight: 660;
    text-decoration: none;
    white-space: nowrap;
}

    body.kitunzi-app-shell .session-tab:hover {
        color: var(--ku-brand-800);
        background: rgba(255, 255, 255, .72);
    }

    body.kitunzi-app-shell .session-tab.active {
        border-color: var(--ku-border-subtle);
        background: var(--ku-surface);
        color: var(--ku-brand-900);
        box-shadow: var(--ku-shadow-xs);
    }

body.kitunzi-app-shell .session-tab-count {
    min-width: 22px;
    height: 22px;
    padding: 0 .35rem;
    display: inline-grid;
    place-items: center;
    border-radius: var(--ku-radius-pill);
    background: var(--ku-surface-muted);
    color: var(--ku-text-muted);
    font-size: .61rem;
    font-variant-numeric: tabular-nums;
}

body.kitunzi-app-shell .session-tab.active .session-tab-count {
    background: var(--ku-brand-100);
    color: var(--ku-brand-800);
}

body.kitunzi-app-shell .session-status {
    min-height: 25px;
    padding: .28rem .5rem;
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    border: 1px solid transparent;
    border-radius: var(--ku-radius-pill);
    font-size: .62rem;
    font-weight: 720;
    line-height: 1;
    text-transform: capitalize;
}

    body.kitunzi-app-shell .session-status::before {
        content: "";
        width: 6px;
        height: 6px;
        flex: 0 0 6px;
        border-radius: 50%;
        background: currentColor;
        box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 14%, transparent);
    }

body.kitunzi-app-shell .session-status-open {
    border-color: rgba(23, 107, 42, .16);
    background: var(--ku-brand-100);
    color: var(--ku-brand-700);
}

body.kitunzi-app-shell .session-status-closed {
    border-color: var(--ku-border-subtle);
    background: var(--ku-surface-muted);
    color: var(--ku-text-muted);
}

body.kitunzi-app-shell .session-status-expired {
    border-color: rgba(180, 35, 44, .14);
    background: var(--ku-danger-100);
    color: var(--ku-danger-700);
}

body.kitunzi-app-shell .session-number-cell {
    display: grid;
    gap: .14rem;
}

    body.kitunzi-app-shell .session-number-cell strong {
        color: var(--ku-brand-900);
        font-size: .75rem;
    }

    body.kitunzi-app-shell .session-number-cell small {
        color: var(--ku-text-faint);
        font-size: .64rem;
    }

body.kitunzi-app-shell .session-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .6rem;
}

body.kitunzi-app-shell .session-detail-item {
    padding: .72rem .78rem;
    display: grid;
    gap: .18rem;
    border: 1px solid var(--ku-border-subtle);
    border-radius: 11px;
    background: var(--ku-surface-soft);
}

    body.kitunzi-app-shell .session-detail-item span {
        color: var(--ku-text-faint);
        font-size: .61rem;
        font-weight: 720;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

    body.kitunzi-app-shell .session-detail-item strong {
        color: var(--ku-text-strong);
        font-size: .78rem;
        font-variant-numeric: tabular-nums;
    }

/* ---------- Animation refinement ---------- */
body.kitunzi-app-shell .ki-reveal {
    opacity: 0;
    transform: translateY(8px);
}

    body.kitunzi-app-shell .ki-reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 240ms var(--ku-ease), transform 240ms var(--ku-ease) !important;
    }

/* ---------- Responsive table and session behavior ---------- */
@media (max-width: 1199.98px) {
    body.kitunzi-app-shell .session-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .page-header-compact,
    body.kitunzi-app-shell .ki-enhanced-page-header,
    body.kitunzi-app-shell .stock-hero-card,
    body.kitunzi-app-shell .product-hero-card,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .permissions-hero {
        min-height: 0 !important;
        padding: .9rem !important;
        align-items: stretch !important;
        border-radius: var(--ku-radius-md) !important;
    }

        body.kitunzi-app-shell .page-header-actions,
        body.kitunzi-app-shell .page-header > .d-flex:last-child,
        body.kitunzi-app-shell .page-header-compact > .d-flex:last-child {
            width: 100%;
            justify-content: stretch;
        }

    body.kitunzi-app-shell .ki-table-toolbar,
    body.kitunzi-app-shell .table-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    body.kitunzi-app-shell .ki-table-toolbar-main,
    body.kitunzi-app-shell .ki-table-toolbar-actions,
    body.kitunzi-app-shell .ki-table-filter-group,
    body.kitunzi-app-shell .ki-table-search-wrap {
        width: 100%;
        flex: 1 1 auto;
    }

    body.kitunzi-app-shell .ki-table-toolbar-actions,
    body.kitunzi-app-shell .ki-table-filter-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.kitunzi-app-shell .ki-table-filter,
    body.kitunzi-app-shell .ki-table-clear-filters {
        width: 100%;
        max-width: none;
    }

    body.kitunzi-app-shell .ki-table-pagination,
    body.kitunzi-app-shell .product-pagination-bar {
        align-items: stretch;
        flex-direction: column;
    }

    body.kitunzi-app-shell .ki-pagination-summary {
        text-align: center;
    }

    body.kitunzi-app-shell .ki-pagination-tools {
        width: 100%;
        justify-content: space-between;
    }

    body.kitunzi-app-shell .ki-pagination-pages {
        display: none;
    }

    body.kitunzi-app-shell .session-tabs {
        width: 100%;
        overflow-x: auto;
    }

    body.kitunzi-app-shell .session-tab {
        flex: 1 0 auto;
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell .session-summary-grid {
        grid-template-columns: 1fr;
    }

    body.kitunzi-app-shell .ki-table-toolbar-actions,
    body.kitunzi-app-shell .ki-table-filter-group {
        grid-template-columns: 1fr;
    }

    body.kitunzi-app-shell .ki-pagination-tools {
        align-items: center;
        flex-direction: column-reverse;
    }

    body.kitunzi-app-shell .ki-pagination-controls {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-app-shell .ki-reveal,
    body.kitunzi-app-shell .ki-reveal.is-visible,
    body.kitunzi-app-shell .stat-hover,
    body.kitunzi-app-shell .sidebar,
    body.kitunzi-app-shell .main-wrapper,
    body.kitunzi-app-shell .topbar,
    body.kitunzi-app-shell .sidebar-overlay {
        opacity: 1;
        transform: none;
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* ======================================================================
   KITUNZI PASS II - SESSION REGISTER, EXTERNAL TOOLBARS AND DETAIL DENSITY
   ====================================================================== */
body.kitunzi-app-shell .ki-table-external-toolbar {
    min-height: var(--ku-toolbar-height);
    padding: .58rem .68rem;
    border: 1px solid var(--ku-border-subtle);
    border-radius: var(--ku-radius-md);
    background: var(--ku-surface-soft);
    box-shadow: var(--ku-shadow-xs);
}

body.kitunzi-app-shell .ki-external-search {
    width: min(100%, 420px);
    max-width: 420px;
}

body.kitunzi-app-shell .dashboard-card-header-actions {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
}

body.kitunzi-app-shell .session-table-card {
    overflow: hidden;
}

body.kitunzi-app-shell .session-card-header {
    min-height: 56px;
    padding: .55rem .7rem !important;
    border-bottom: 1px solid var(--ku-border-hairline) !important;
    background: var(--ku-surface-soft) !important;
}

body.kitunzi-app-shell .session-segmented-tabs {
    width: fit-content;
    max-width: 100%;
    padding: .25rem;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    border: 1px solid var(--ku-border-default);
    border-radius: 12px;
    background: var(--ku-surface-muted);
    box-shadow: inset 0 1px 2px rgba(12, 31, 18, .035);
}

body.kitunzi-app-shell .session-tab.is-active {
    border-color: var(--ku-border-subtle);
    background: var(--ku-surface);
    color: var(--ku-brand-900);
    box-shadow: var(--ku-shadow-xs);
}

    body.kitunzi-app-shell .session-tab.is-active .session-tab-count {
        background: var(--ku-brand-100);
        color: var(--ku-brand-800);
    }

body.kitunzi-app-shell .session-tab-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--ku-text-faint);
}

    body.kitunzi-app-shell .session-tab-dot.is-open {
        background: var(--ku-success-600, #18843b);
        box-shadow: 0 0 0 3px rgba(24, 132, 59, .11);
    }

    body.kitunzi-app-shell .session-tab-dot.is-closed {
        background: #839087;
        box-shadow: 0 0 0 3px rgba(83, 101, 90, .09);
    }

body.kitunzi-app-shell .session-filter-toolbar {
    padding: .7rem;
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(145px, .72fr) minmax(145px, .72fr) auto;
    align-items: end;
    gap: .58rem;
    border-bottom: 1px solid var(--ku-border-hairline);
    background: var(--ku-surface);
}

    body.kitunzi-app-shell .session-filter-toolbar .ki-table-search-wrap {
        width: 100%;
        min-width: 0;
    }

body.kitunzi-app-shell .session-date-filter {
    min-width: 0;
    display: grid;
    gap: .28rem;
}

    body.kitunzi-app-shell .session-date-filter label {
        margin: 0;
        color: var(--ku-text-muted);
        font-size: .62rem;
        font-weight: 700;
    }

    body.kitunzi-app-shell .session-date-filter .form-control {
        min-height: 40px !important;
        height: 40px;
        padding-block: .45rem;
        font-size: .7rem;
    }

body.kitunzi-app-shell .session-filter-actions {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

body.kitunzi-app-shell .session-table-wrap {
    margin: 0;
    border: 0;
    border-radius: 0;
}

body.kitunzi-app-shell .session-table .table-primary-text,
body.kitunzi-app-shell .table-primary-text {
    display: block;
    color: var(--ku-text-strong);
    font-weight: 720;
}

body.kitunzi-app-shell .table-secondary-text {
    display: block;
    margin-top: .12rem;
    color: var(--ku-text-faint);
    font-size: .62rem;
    font-weight: 520;
}

body.kitunzi-app-shell .session-status-chip {
    min-height: 25px;
    padding: .28rem .5rem;
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    border: 1px solid transparent;
    border-radius: var(--ku-radius-pill);
    font-size: .62rem;
    font-weight: 730;
    line-height: 1;
}

    body.kitunzi-app-shell .session-status-chip > span {
        width: 6px;
        height: 6px;
        flex: 0 0 6px;
        border-radius: 50%;
        background: currentColor;
    }

    body.kitunzi-app-shell .session-status-chip.is-open {
        border-color: rgba(23, 107, 42, .16);
        background: var(--ku-brand-100);
        color: var(--ku-brand-700);
    }

    body.kitunzi-app-shell .session-status-chip.is-closed {
        border-color: var(--ku-border-subtle);
        background: var(--ku-surface-muted);
        color: var(--ku-text-muted);
    }

body.kitunzi-app-shell .session-variance {
    font-weight: 720;
    font-variant-numeric: tabular-nums;
}

    body.kitunzi-app-shell .session-variance.is-positive {
        color: var(--ku-brand-700);
    }

    body.kitunzi-app-shell .session-variance.is-negative {
        color: var(--ku-danger-700);
    }

body.kitunzi-app-shell .session-empty-state {
    min-height: 260px;
    margin: 0;
    border: 0;
    border-radius: 0;
}

body.kitunzi-app-shell .ki-pagination-btn.disabled,
body.kitunzi-app-shell a.ki-pagination-btn[aria-disabled="true"] {
    opacity: .42;
    pointer-events: none;
    box-shadow: none;
}

body.kitunzi-app-shell a.ki-pagination-btn,
body.kitunzi-app-shell a.ki-pagination-number {
    text-decoration: none;
}

body.kitunzi-app-shell .session-page-size-form {
    margin: 0;
}

    body.kitunzi-app-shell .session-page-size-form label {
        margin: 0;
    }

body.kitunzi-app-shell .session-details-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
    gap: .8rem;
    margin-bottom: .8rem;
    align-items: stretch;
}

body.kitunzi-app-shell .session-overview-card {
    height: 100%;
}

    body.kitunzi-app-shell .session-overview-card .card-header,
    body.kitunzi-app-shell .session-table-card .card-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .65rem;
    }

body.kitunzi-app-shell .card-kicker {
    display: block;
    margin-bottom: .1rem;
    color: var(--ku-text-faint);
    font-size: .58rem;
    font-weight: 760;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.kitunzi-app-shell dl.session-detail-grid {
    margin: 0;
}

    body.kitunzi-app-shell dl.session-detail-grid .session-detail-item {
        margin: 0;
    }

    body.kitunzi-app-shell dl.session-detail-grid dt {
        margin: 0;
        color: var(--ku-text-faint);
        font-size: .6rem;
        font-weight: 740;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

    body.kitunzi-app-shell dl.session-detail-grid dd {
        margin: 0;
        color: var(--ku-text-strong);
        font-size: .76rem;
        font-weight: 650;
        font-variant-numeric: tabular-nums;
    }

body.kitunzi-app-shell .session-cash-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

    body.kitunzi-app-shell .session-cash-grid .stat-card {
        min-height: 104px;
    }

    body.kitunzi-app-shell .session-cash-grid .money-value {
        font-size: clamp(.9rem, 1.25vw, 1.16rem) !important;
        white-space: nowrap;
    }

body.kitunzi-app-shell .status-badge {
    min-height: 24px;
    padding: .28rem .48rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--ku-border-subtle);
    border-radius: var(--ku-radius-pill);
    background: var(--ku-surface-muted);
    color: var(--ku-text-muted);
    font-size: .61rem;
    font-weight: 720;
}

    body.kitunzi-app-shell .status-badge.status-paid,
    body.kitunzi-app-shell .status-badge.status-active,
    body.kitunzi-app-shell .status-badge.status-open,
    body.kitunzi-app-shell .status-badge.status-approved {
        border-color: rgba(23, 107, 42, .16);
        background: var(--ku-brand-100);
        color: var(--ku-brand-700);
    }

    body.kitunzi-app-shell .status-badge.status-cancelled,
    body.kitunzi-app-shell .status-badge.status-rejected,
    body.kitunzi-app-shell .status-badge.status-expired {
        border-color: rgba(180, 35, 44, .14);
        background: var(--ku-danger-100);
        color: var(--ku-danger-700);
    }

    body.kitunzi-app-shell .status-badge.status-taken,
    body.kitunzi-app-shell .status-badge.status-pending {
        border-color: rgba(178, 106, 0, .16);
        background: var(--ku-warning-100, #fff7e5);
        color: var(--ku-warning-700, #945900);
    }

@media (max-width: 1199.98px) {
    body.kitunzi-app-shell .session-filter-toolbar {
        grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(140px, .65fr));
    }

    body.kitunzi-app-shell .session-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    body.kitunzi-app-shell .session-details-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .ki-table-external-toolbar {
        align-items: stretch !important;
        flex-direction: column;
    }

    body.kitunzi-app-shell .ki-external-search {
        width: 100%;
        max-width: none;
    }

    body.kitunzi-app-shell .session-segmented-tabs {
        width: 100%;
        overflow-x: auto;
    }

    body.kitunzi-app-shell .session-tab {
        flex: 1 0 auto;
        justify-content: center;
    }

    body.kitunzi-app-shell .session-filter-toolbar {
        grid-template-columns: 1fr 1fr;
    }

        body.kitunzi-app-shell .session-filter-toolbar .ki-table-search-wrap,
        body.kitunzi-app-shell .session-filter-actions {
            grid-column: 1 / -1;
        }

    body.kitunzi-app-shell .session-filter-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.kitunzi-app-shell .session-cash-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell .session-filter-toolbar,
    body.kitunzi-app-shell .session-cash-grid {
        grid-template-columns: 1fr;
    }

    body.kitunzi-app-shell .session-date-filter,
    body.kitunzi-app-shell .session-filter-actions {
        grid-column: 1;
    }

    body.kitunzi-app-shell .dashboard-card-header-actions .dashboard-card-pill {
        display: none;
    }
}

/* Custom legacy headers inherit the shared premium page-header hierarchy. */
body.kitunzi-app-shell .ki-enhanced-page-header h1,
body.kitunzi-app-shell .ki-enhanced-page-header h4 {
    margin: 0 !important;
    color: var(--ku-text-strong) !important;
    font-size: clamp(1.3rem, 1.55vw, 1.8rem) !important;
    font-weight: 760 !important;
    line-height: 1.15 !important;
    letter-spacing: -.028em !important;
}

body.kitunzi-app-shell .ki-enhanced-page-header p,
body.kitunzi-app-shell .ki-enhanced-page-header .page-subtitle {
    margin-top: .3rem !important;
    margin-bottom: 0 !important;
    color: var(--ku-text-muted) !important;
    font-size: .76rem !important;
    line-height: 1.45 !important;
}

body.kitunzi-app-shell .sales-toolbar.ki-enhanced-page-header,
body.kitunzi-app-shell .my-sales-hero.ki-enhanced-page-header,
body.kitunzi-app-shell .sale-details-hero.ki-enhanced-page-header,
body.kitunzi-app-shell .payment-upsert-hero.ki-enhanced-page-header,
body.kitunzi-app-shell .pos-topbar.ki-enhanced-page-header {
    margin-bottom: .8rem !important;
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .ki-enhanced-page-header {
        min-height: 0 !important;
        padding: .9rem !important;
        align-items: stretch !important;
        border-radius: var(--ku-radius-md) !important;
    }
}

body.kitunzi-app-shell .table-identity-cell {
    display: flex;
    align-items: center;
    gap: .58rem;
    min-width: 0;
}

body.kitunzi-app-shell .table-identity-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(23, 107, 42, .12);
    border-radius: 9px;
    background: var(--ku-brand-50);
    color: var(--ku-brand-700);
    font-size: .76rem;
}

body.kitunzi-app-shell .table-count-pill,
body.kitunzi-app-shell .table-code-pill {
    min-height: 24px;
    padding: .24rem .45rem;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--ku-border-subtle);
    border-radius: 8px;
    background: var(--ku-surface-muted);
    color: var(--ku-text-strong);
    font-size: .64rem;
    font-weight: 720;
    font-variant-numeric: tabular-nums;
}

body.kitunzi-app-shell .table-action-group {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .3rem;
}

body.kitunzi-app-shell .status-badge.status-inactive,
body.kitunzi-app-shell .status-badge.status-closed {
    border-color: var(--ku-border-subtle);
    background: var(--ku-surface-muted);
    color: var(--ku-text-muted);
}

body.kitunzi-app-shell .ki-reveal.is-visible {
    transition-delay: var(--ki-reveal-delay, 0ms) !important;
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-app-shell .ki-reveal.is-visible {
        transition-delay: 0ms !important;
    }
}

/* Pass II QA hardening: hidden table controls and result rows must remain non-interactive. */
body.kitunzi-app-shell .ki-table-clear-filters[hidden],
body.kitunzi-app-shell .ki-table-search-clear[hidden],
body.kitunzi-app-shell .ki-table-no-results:not(.is-visible) {
    display: none !important;
}

body.kitunzi-app-shell .ki-table-no-results.is-visible {
    display: table-row !important;
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .table-mobile-cards .ki-table-no-results.is-visible {
        display: block !important;
    }

        body.kitunzi-app-shell .table-mobile-cards .ki-table-no-results.is-visible > td {
            display: block !important;
            width: 100% !important;
        }
}

/* =====================================================================
   KITUNZI ULTRA-PREMIUM REFINEMENT PASS III
   Public/auth navigation, side brand mark, table filter disclosure,
   navigation state hardening and enterprise-density refinements.
   ===================================================================== */



.ki-skip-link {
    position: fixed;
    inset: .65rem auto auto .65rem;
    z-index: 12000;
    padding: .58rem .78rem;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 10px;
    background: var(--ku-brand-900);
    color: #fff;
    font-size: .78rem;
    font-weight: 720;
    text-decoration: none;
    box-shadow: var(--ku-shadow-md);
    transform: translateY(-160%);
    transition: transform var(--ku-duration) var(--ku-ease) !important;
}

    .ki-skip-link:focus {
        color: #fff;
        transform: translateY(0);
    }

/* ---------- Public site shell and compact icon rail ---------- */
body.public-layout {
    min-width: 320px;
    min-height: 100dvh;
    margin: 0;
    display: flex;
    flex-direction: column;
    overflow-x: clip;
    background: #F7F9FC !important;
    color: var(--ku-text);
    font-family: var(--ki-font, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

    body.public-layout .public-main {
        width: 100%;
        min-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        flex: 1 1 auto;
    }

    body.public-layout .container {
        width: min(100% - clamp(1.5rem, 4vw, 4rem), var(--ku-public-width));
        max-width: var(--ku-public-width) !important;
    }

    body.public-layout .public-navbar {
        position: sticky !important;
        inset: 0 0 auto !important;
        z-index: 1080 !important;
        min-height: 72px !important;
        border-bottom: 1px solid rgba(13, 61, 30, .09) !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 1px 0 rgba(13, 61, 30, .025), 0 8px 28px rgba(13, 61, 30, .035) !important;
        backdrop-filter: saturate(125%) blur(10px);
        -webkit-backdrop-filter: saturate(125%) blur(10px);
    }

        body.public-layout .public-navbar .navbar,
        body.public-layout .public-navbar-container {
            min-height: 72px !important;
        }

    body.public-layout .public-brand {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        gap: .62rem;
        color: var(--ku-brand-900);
        text-decoration: none;
    }

    body.public-layout .public-brand-icon {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(23, 107, 42, .14);
        border-radius: 12px;
        background: #fff;
        box-shadow: var(--ku-shadow-xs);
    }

        body.public-layout .public-brand-icon img {
            width: 34px !important;
            height: 34px !important;
            object-fit: contain;
        }

    body.public-layout .public-brand-wordmark {
        width: 142px !important;
        height: auto !important;
        max-height: 38px;
        object-fit: contain;
    }

    body.public-layout .public-nav-link {
        min-height: 40px;
        padding: .48rem .68rem !important;
        display: inline-flex;
        align-items: center;
        gap: .42rem;
        border: 1px solid transparent;
        border-radius: 10px;
        color: var(--ku-text-muted) !important;
        font-size: .78rem !important;
        font-weight: 650 !important;
        line-height: 1;
        text-decoration: none;
    }

        body.public-layout .public-nav-link i {
            color: var(--ku-text-faint);
            font-size: .82rem;
        }

        body.public-layout .public-nav-link:hover,
        body.public-layout .public-nav-link.active,
        body.public-layout .public-nav-link[aria-current] {
            border-color: rgba(23, 107, 42, .11);
            background: var(--ku-brand-50) !important;
            color: var(--ku-brand-800) !important;
        }

            body.public-layout .public-nav-link:hover i,
            body.public-layout .public-nav-link.active i,
            body.public-layout .public-nav-link[aria-current] i {
                color: var(--ku-brand-700);
            }

    body.public-layout .public-nav-actions {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
    }

    body.public-layout .public-navbar-toggle {
        width: 40px;
        height: 40px;
        padding: 0;
        display: none;
        place-items: center;
        border: 1px solid var(--ku-border-subtle) !important;
        border-radius: 11px !important;
        background: #fff !important;
        color: var(--ku-brand-900) !important;
        box-shadow: var(--ku-shadow-xs);
    }

        body.public-layout .public-navbar-toggle i {
            font-size: 1.15rem;
        }

    body.public-layout .public-side-rail,
    body.auth-page .auth-side-rail {
        position: fixed;
        z-index: 1060;
        inset: 50% auto auto clamp(.55rem, 1vw, 1rem);
        width: var(--ku-side-rail-size);
        padding: .38rem;
        display: none;
        flex-direction: column;
        align-items: center;
        gap: .42rem;
        border: 1px solid rgba(13, 61, 30, .11);
        border-radius: 16px;
        background: rgba(255, 255, 255, .96);
        box-shadow: var(--ku-shadow-md);
        transform: translateY(-50%);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    body.public-layout .public-side-rail-mark,
    body.auth-page .auth-side-rail-mark {
        width: 38px;
        height: 38px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(23, 107, 42, .13);
        border-radius: 12px;
        background: #fff;
        box-shadow: var(--ku-shadow-xs);
    }

        body.public-layout .public-side-rail-mark img,
        body.auth-page .auth-side-rail-mark img {
            width: 34px;
            height: 34px;
        }

    body.public-layout .public-side-rail-links,
    body.auth-page .auth-side-rail-links {
        width: 100%;
        display: grid;
        gap: .24rem;
    }

        body.public-layout .public-side-rail-links a,
        body.auth-page .auth-side-rail-links a {
            width: 38px;
            height: 38px;
            display: grid;
            place-items: center;
            border: 1px solid transparent;
            border-radius: 11px;
            color: var(--ku-text-muted);
            text-decoration: none;
        }

            body.public-layout .public-side-rail-links a:hover,
            body.public-layout .public-side-rail-links a.is-active,
            body.auth-page .auth-side-rail-links a:hover {
                border-color: rgba(23, 107, 42, .12);
                background: var(--ku-brand-50);
                color: var(--ku-brand-700);
                transform: translateY(-1px);
            }

    body.public-layout .public-side-rail-label,
    body.auth-page .auth-side-rail-label {
        margin: .2rem 0 .1rem;
        color: var(--ku-text-faint);
        font-size: .55rem;
        font-weight: 750;
        letter-spacing: .08em;
        line-height: 1;
        text-transform: uppercase;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
    }

@media (min-width: 1500px) {
    body.public-layout .public-side-rail,
    body.auth-page .auth-side-rail {
        display: flex;
    }
}

body.public-layout .public-footer {
    position: relative !important;
    inset: auto !important;
    min-height: 78px !important;
    margin-top: auto;
    border-top: 1px solid rgba(13, 61, 30, .09) !important;
    background: #fff !important;
    box-shadow: 0 -6px 24px rgba(13, 61, 30, .025) !important;
}

body.public-layout .public-footer-inner {
    min-height: 78px;
    padding: .9rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

body.public-layout .footer-brand-area,
body.public-layout .footer-meta {
    display: flex;
    align-items: center;
    gap: .68rem;
}

body.public-layout .footer-brand-mark {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(23, 107, 42, .13);
    border-radius: 12px;
    background: var(--ku-surface-soft);
}

    body.public-layout .footer-brand-mark img {
        width: 36px;
        height: 36px;
    }

body.public-layout .footer-brand-copy {
    display: grid;
    gap: .08rem;
}

    body.public-layout .footer-brand-copy strong {
        color: var(--ku-text-strong);
        font-size: .76rem;
    }

    body.public-layout .footer-brand-copy span,
    body.public-layout .footer-year {
        color: var(--ku-text-muted);
        font-size: .67rem;
    }

body.public-layout .footer-link {
    min-height: 34px;
    padding: .36rem .5rem;
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    border-radius: 9px;
    color: var(--ku-text-muted);
    font-size: .69rem;
    font-weight: 640;
    text-decoration: none;
}

    body.public-layout .footer-link:hover {
        background: var(--ku-brand-50);
        color: var(--ku-brand-700);
    }

body.public-layout #publicBackToTop {
    position: fixed;
    z-index: 1055;
    inset: auto 1rem 1rem auto;
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 13px;
    background: var(--ku-brand-800);
    color: #fff;
    box-shadow: var(--ku-shadow-md);
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
}

    body.public-layout #publicBackToTop.is-visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    body.public-layout #publicBackToTop[hidden] {
        display: none !important;
    }

/* ---------- Public home and public-page visual refinement ---------- */
body.public-layout .home-hero {
    position: relative;
    min-height: clamp(560px, 72vh, 760px);
    padding: clamp(4rem, 7vw, 7rem) 0 clamp(3.2rem, 6vw, 6rem) !important;
    display: grid;
    align-items: center;
    overflow: hidden;
    background: #F7F9FC !important;
}

    body.public-layout .home-hero::before,
    body.public-layout .home-hero::after {
        content: "";
        position: absolute;
        pointer-events: none;
    }

    body.public-layout .home-hero::before {
        inset: 9% 4% auto auto;
        width: clamp(150px, 18vw, 280px);
        height: clamp(150px, 18vw, 280px);
        border: 1px solid rgba(23, 107, 42, .08);
        border-radius: 42px;
        transform: rotate(8deg);
    }

    body.public-layout .home-hero::after {
        inset: auto auto 8% 3%;
        width: 92px;
        height: 92px;
        border-left: 1px solid rgba(201, 110, 12, .13);
        border-bottom: 1px solid rgba(201, 110, 12, .13);
        border-radius: 0 0 0 24px;
    }

    body.public-layout .home-hero .container {
        position: relative;
        z-index: 1;
    }

body.public-layout .home-hero-copy {
    position: relative;
    padding-left: clamp(0rem, 5vw, 4.25rem);
}

body.public-layout .home-hero-side-mark {
    position: absolute;
    inset: .2rem auto auto 0;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(23, 107, 42, .13);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--ku-shadow-sm);
}

    body.public-layout .home-hero-side-mark img {
        width: 46px;
        height: 46px;
    }

body.public-layout .home-title {
    max-width: 680px;
    margin: .9rem 0 .9rem;
    color: var(--ku-brand-950) !important;
    font-size: clamp(2.35rem, 5vw, 4.75rem) !important;
    font-weight: 790 !important;
    letter-spacing: -.055em !important;
    line-height: .98 !important;
}

    body.public-layout .home-title span {
        color: var(--ku-brand-700) !important;
    }

body.public-layout .home-subtitle {
    max-width: 640px;
    margin: 0;
    color: var(--ku-text-muted) !important;
    font-size: clamp(.96rem, 1.2vw, 1.12rem) !important;
    line-height: 1.65 !important;
}

body.public-layout .hero-actions {
    margin-top: 1.45rem;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

body.public-layout .hero-trust-row {
    margin-top: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: .48rem;
}

body.public-layout .trust-pill {
    min-height: 32px;
    padding: .34rem .56rem;
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    border: 1px solid rgba(13, 61, 30, .09);
    border-radius: 999px;
    background: rgba(255, 255, 255, .74);
    color: var(--ku-text-muted);
    font-size: .67rem;
    font-weight: 650;
}

body.public-layout .hero-preview-card,
body.public-layout .dashboard-showcase,
body.public-layout .feature-card-updated,
body.public-layout .uganda-card,
body.public-layout .workflow-card-updated,
body.public-layout .cta-box,
body.public-layout .policy-page-header,
body.public-layout .policy-card,
body.public-layout .system-state-card {
    border: 1px solid rgba(13, 61, 30, .105) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: var(--ku-shadow-card) !important;
}

body.public-layout .hero-preview-card {
    position: relative;
    padding: clamp(1rem, 2.4vw, 1.5rem) !important;
    overflow: hidden;
}

    body.public-layout .hero-preview-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 2px;
        background: var(--ku-brand-700);
        opacity: .8;
    }

body.public-layout .preview-logo-box {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(23, 107, 42, .11);
    border-radius: 12px;
    background: var(--ku-surface-soft);
}

    body.public-layout .preview-logo-box img {
        width: 38px;
        height: 38px;
    }

body.public-layout .preview-title,
body.public-layout .preview-progress-label {
    color: var(--ku-brand-900);
    font-size: .82rem;
    font-weight: 720;
}

body.public-layout .preview-progress-value {
    color: var(--ku-brand-700);
    font-size: .78rem;
    font-weight: 780;
    font-variant-numeric: tabular-nums;
}

body.public-layout .preview-stat {
    border: 1px solid rgba(13, 61, 30, .08) !important;
    border-radius: 13px !important;
    background: var(--ku-surface-soft) !important;
    box-shadow: none !important;
}

body.public-layout .section-block {
    padding: clamp(3.2rem, 6vw, 6rem) 0 !important;
    background: #F7F9FC !important;
}

    body.public-layout .section-block.cream {
        background: #eef3ee !important;
    }

body.public-layout .section-heading {
    max-width: 720px;
    margin: 0 auto clamp(1.6rem, 3vw, 2.5rem);
}

    body.public-layout .section-heading h2,
    body.public-layout .section-title {
        color: var(--ku-brand-950) !important;
        font-size: clamp(1.7rem, 3vw, 2.65rem) !important;
        font-weight: 770 !important;
        letter-spacing: -.04em !important;
        line-height: 1.08 !important;
    }

body.public-layout .feature-card-updated,
body.public-layout .uganda-card,
body.public-layout .workflow-card-updated {
    height: 100%;
    padding: 1.15rem !important;
    transition: transform 190ms var(--ku-ease), border-color 190ms var(--ku-ease), box-shadow 220ms var(--ku-ease) !important;
}

    body.public-layout .feature-card-updated:hover,
    body.public-layout .uganda-card:hover,
    body.public-layout .workflow-card-updated:hover {
        border-color: rgba(23, 107, 42, .19) !important;
        box-shadow: var(--ku-shadow-card-hover) !important;
        transform: translateY(-2px) !important;
    }

    body.public-layout .feature-card-updated h5,
    body.public-layout .uganda-card h5,
    body.public-layout .workflow-card-updated h5 {
        margin-top: .75rem;
        color: var(--ku-text-strong) !important;
        font-size: .9rem !important;
        font-weight: 720 !important;
    }

    body.public-layout .feature-card-updated p,
    body.public-layout .uganda-card p,
    body.public-layout .workflow-card-updated p {
        color: var(--ku-text-muted) !important;
        font-size: .75rem !important;
        line-height: 1.55 !important;
    }

body.public-layout .accordion-ki .accordion-item {
    overflow: hidden;
    border: 1px solid rgba(13, 61, 30, .1) !important;
    border-radius: 13px !important;
    background: #fff;
    box-shadow: var(--ku-shadow-xs);
}

    body.public-layout .accordion-ki .accordion-item + .accordion-item {
        margin-top: .55rem;
    }

/* ---------- Authentication shell with public navigation and side icon ---------- */
body.auth-page {
    position: relative;
    min-height: 100dvh;
    background: #f2f5f2 !important;
}

    body.auth-page::before {
        display: none !important;
        content: none !important;
    }

    body.auth-page::after {
        content: "";
        position: fixed;
        z-index: 0;
        inset: 13% 6% auto auto !important;
        width: clamp(130px, 16vw, 240px) !important;
        height: clamp(130px, 16vw, 240px) !important;
        border: 1px solid rgba(23, 107, 42, .075);
        border-radius: 38px;
        background: transparent !important;
        transform: rotate(7deg);
        pointer-events: none;
    }

    body.auth-page .kitunzi-auth-shell,
    body.auth-page .kitunzi-auth-register-shell {
        position: relative;
        z-index: 1;
        width: 100%;
        min-height: 100dvh;
        padding: clamp(1rem, 2.6vw, 2rem);
        display: grid;
        place-items: center;
    }

    body.auth-page .auth-form-stage,
    body.auth-page .auth-form-stage-register {
        width: min(100%, 540px) !important;
        max-width: 540px !important;
        margin: 0 auto;
        padding: 0 !important;
        display: grid;
        gap: .75rem;
    }

    body.auth-page.auth-register-page .auth-form-stage,
    body.auth-page.auth-register-page .auth-form-stage-register {
        width: min(100%, 1120px) !important;
        max-width: 1120px !important;
    }

    body.auth-page .auth-public-nav {
        min-height: 42px;
        padding: .32rem .38rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .65rem;
        border: 1px solid rgba(13, 61, 30, .09);
        border-radius: 13px;
        background: rgba(255, 255, 255, .78);
        box-shadow: var(--ku-shadow-xs);
    }

    body.auth-page .auth-public-back {
        min-height: 34px;
        padding: .36rem .52rem;
        display: inline-flex;
        align-items: center;
        gap: .38rem;
        border-radius: 9px;
        color: var(--ku-brand-800);
        font-size: .7rem;
        font-weight: 700;
        text-decoration: none;
    }

        body.auth-page .auth-public-back:hover {
            background: var(--ku-brand-50);
            color: var(--ku-brand-700);
        }

    body.auth-page .auth-public-links {
        display: inline-flex;
        align-items: center;
        gap: .16rem;
    }

        body.auth-page .auth-public-links a {
            min-height: 32px;
            padding: .36rem .46rem;
            display: inline-flex;
            align-items: center;
            border-radius: 8px;
            color: var(--ku-text-muted);
            font-size: .66rem;
            font-weight: 630;
            text-decoration: none;
        }

            body.auth-page .auth-public-links a:hover {
                background: var(--ku-surface-muted);
                color: var(--ku-brand-800);
            }

    body.auth-page .auth-page-brand {
        min-height: 54px;
        padding: .45rem .5rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .65rem;
        border: 1px solid rgba(13, 61, 30, .075);
        border-radius: 14px;
        background: rgba(255, 255, 255, .62);
    }

    body.auth-page .auth-page-logo {
        min-height: 38px;
        padding: 0 .25rem;
        display: inline-flex;
        align-items: center;
        border-radius: 9px;
    }

        body.auth-page .auth-page-logo img {
            width: 148px !important;
            height: auto !important;
            max-height: 40px;
        }

    body.auth-page .auth-form-card,
    body.auth-page .auth-form-card-register {
        position: relative;
        width: 100%;
        padding: clamp(1rem, 2.5vw, 1.5rem) !important;
        border: 1px solid rgba(13, 61, 30, .12) !important;
        border-radius: 20px !important;
        background: #fff !important;
        box-shadow: var(--ku-shadow-md) !important;
        overflow: hidden;
    }

        body.auth-page .auth-form-card::before,
        body.auth-page .auth-form-card-register::before {
            content: "";
            position: absolute;
            inset: 0 0 auto;
            height: 2px;
            background: var(--ku-brand-700);
            opacity: .85;
        }

    body.auth-page .auth-card-header-with-icon {
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: .78rem;
        align-items: start;
        text-align: left !important;
    }

    body.auth-page .auth-card-context-icon {
        width: 46px;
        height: 46px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(23, 107, 42, .14);
        border-radius: 14px;
        background: var(--ku-brand-50);
        color: var(--ku-brand-700);
        font-size: 1.05rem;
        box-shadow: var(--ku-shadow-xs);
    }

    body.auth-page .auth-card-heading-copy {
        min-width: 0;
    }

    body.auth-page .auth-card-header-with-icon h1 {
        margin: .08rem 0 .22rem !important;
        color: var(--ku-brand-950) !important;
        font-size: clamp(1.45rem, 2.4vw, 1.9rem) !important;
        font-weight: 780 !important;
        letter-spacing: -.04em !important;
        line-height: 1.08 !important;
    }

    body.auth-page .auth-card-header-with-icon p {
        margin: 0 !important;
        color: var(--ku-text-muted) !important;
        font-size: .76rem !important;
        line-height: 1.5 !important;
    }

    body.auth-page .auth-form {
        margin-top: .95rem;
    }

    body.auth-page .auth-foot-note {
        min-height: 40px;
        padding: .36rem .5rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        color: var(--ku-text-muted);
        font-size: .63rem;
    }

        body.auth-page .auth-foot-note nav {
            display: inline-flex;
            gap: .25rem;
        }

        body.auth-page .auth-foot-note a {
            padding: .28rem .38rem;
            border-radius: 7px;
            color: var(--ku-text-muted);
            font-weight: 650;
            text-decoration: none;
        }

            body.auth-page .auth-foot-note a:hover {
                background: rgba(255, 255, 255, .72);
                color: var(--ku-brand-700);
            }

/* ---------- App-shell state, page headers and card hierarchy ---------- */
body.kitunzi-app-shell {
    --ku-z-content: 10;
    --ku-z-sticky-table: 80;
    --ku-z-topbar: 1030;
    --ku-z-overlay: 1040;
    --ku-z-sidebar: 1050;
    --ku-z-dropdown: 1080;
    --ku-z-modal: 1100;
}

    body.kitunzi-app-shell .main-wrapper,
    body.kitunzi-app-shell .main-content,
    body.kitunzi-app-shell .topbar {
        filter: none !important;
        opacity: 1 !important;
    }

    body.kitunzi-app-shell .main-wrapper,
    body.kitunzi-app-shell .main-content {
        pointer-events: auto !important;
    }

    body.kitunzi-app-shell .sidebar-overlay {
        pointer-events: none !important;
    }

        body.kitunzi-app-shell .sidebar-overlay.show,
        body.kitunzi-app-shell .sidebar-overlay.open,
        body.kitunzi-app-shell .sidebar-overlay.is-visible {
            pointer-events: auto !important;
        }

        body.kitunzi-app-shell .sidebar-overlay[hidden],
        body.kitunzi-app-shell .sidebar-overlay[aria-hidden="true"]:not(.show):not(.open) {
            display: none !important;
            visibility: hidden !important;
            opacity: 0 !important;
            pointer-events: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

    body.kitunzi-app-shell[data-sidebar-mode="mobile-closed"] {
        overflow: auto !important;
    }

    body.kitunzi-app-shell .topbar {
        min-height: var(--ku-topbar-height) !important;
        border-bottom-color: rgba(13, 61, 30, .085) !important;
        background: rgba(255, 255, 255, .965) !important;
        backdrop-filter: saturate(120%) blur(10px);
        -webkit-backdrop-filter: saturate(120%) blur(10px);
    }

        body.kitunzi-app-shell .topbar.is-scrolled {
            box-shadow: 0 1px 0 rgba(13, 61, 30, .04), 0 10px 28px rgba(13, 61, 30, .055) !important;
        }

    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .page-header-compact,
    body.kitunzi-app-shell .ki-enhanced-page-header,
    body.kitunzi-app-shell .stock-hero-card,
    body.kitunzi-app-shell .product-hero-card,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .permissions-hero {
        border-color: rgba(13, 61, 30, .11) !important;
        background: #fff !important;
        box-shadow: 0 1px 1px rgba(13, 61, 30, .025), 0 7px 22px rgba(13, 61, 30, .035) !important;
    }

        body.kitunzi-app-shell .page-header::before,
        body.kitunzi-app-shell .page-header-compact::before,
        body.kitunzi-app-shell .ki-enhanced-page-header::before,
        body.kitunzi-app-shell .stock-hero-card::before,
        body.kitunzi-app-shell .product-hero-card::before,
        body.kitunzi-app-shell .dashboard-hero::before,
        body.kitunzi-app-shell .reports-hero::before,
        body.kitunzi-app-shell .permissions-hero::before {
            height: 2px !important;
            background: var(--ku-brand-700) !important;
            opacity: .72 !important;
        }

    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .dashboard-stat-card,
    body.kitunzi-app-shell .bucket-stat-card,
    body.kitunzi-app-shell .platform-stat-card,
    body.kitunzi-app-shell .metric-card {
        border-color: rgba(13, 61, 30, .105) !important;
        box-shadow: var(--ku-shadow-card) !important;
    }

    body.kitunzi-app-shell a.stat-card:hover,
    body.kitunzi-app-shell button.stat-card:hover,
    body.kitunzi-app-shell a.summary-card:hover,
    body.kitunzi-app-shell button.summary-card:hover,
    body.kitunzi-app-shell [role="button"].metric-card:hover {
        border-color: rgba(23, 107, 42, .19) !important;
        box-shadow: var(--ku-shadow-card-hover) !important;
        transform: translateY(-2px) !important;
    }

    body.kitunzi-app-shell .sidebar-link,
    body.kitunzi-app-shell .sidebar-menu-toggle {
        border: 1px solid transparent !important;
    }

        body.kitunzi-app-shell .sidebar-link:hover,
        body.kitunzi-app-shell .sidebar-menu-toggle:hover {
            border-color: rgba(23, 107, 42, .08) !important;
            transform: translateX(1px) !important;
        }

        body.kitunzi-app-shell .sidebar-link.active {
            border-color: rgba(23, 107, 42, .14) !important;
            box-shadow: inset 3px 0 0 var(--ku-brand-700), var(--ku-shadow-xs) !important;
        }

@media (min-width: 992px) {
    body.kitunzi-app-shell .sidebar-toggle {
        display: inline-grid !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-link::after,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-menu-toggle::after {
        content: attr(title);
        position: absolute;
        z-index: var(--ku-z-dropdown);
        inset: 50% auto auto calc(100% + .45rem);
        padding: .42rem .56rem;
        border: 1px solid rgba(13, 61, 30, .12);
        border-radius: 9px;
        background: var(--ku-brand-950);
        color: #fff;
        font-size: .65rem;
        font-weight: 650;
        line-height: 1;
        white-space: nowrap;
        box-shadow: var(--ku-shadow-md);
        opacity: 0;
        transform: translate(-4px, -50%);
        pointer-events: none;
        transition: opacity 150ms var(--ku-ease), transform 150ms var(--ku-ease);
    }

    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-link:hover::after,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-menu-toggle:hover::after,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-link:focus-visible::after,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:not(:hover):not(:focus-within) .sidebar-menu-toggle:focus-visible::after {
        opacity: 1;
        transform: translate(0, -50%);
    }
}

/* ---------- Integrated table toolbar and responsive filter disclosure ---------- */
body.kitunzi-app-shell .ki-table-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "main actions"
        "chips chips";
    align-items: center !important;
    gap: .55rem .7rem !important;
    padding: .62rem .7rem !important;
    border-bottom: 1px solid var(--ku-border-hairline) !important;
    background: var(--ku-surface-soft) !important;
}

body.kitunzi-app-shell .ki-table-toolbar-main {
    grid-area: main;
    width: 100%;
    display: flex !important;
    align-items: center;
    gap: .48rem;
}

body.kitunzi-app-shell .ki-table-toolbar-actions {
    grid-area: actions;
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: .42rem;
}

body.kitunzi-app-shell .ki-table-active-filters {
    grid-area: chips;
}

body.kitunzi-app-shell .ki-table-search-wrap {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    flex: 1 1 280px;
}

body.kitunzi-app-shell .ki-table-filter-toggle {
    display: none !important;
    align-items: center;
    gap: .38rem;
}

body.kitunzi-app-shell .ki-filter-count {
    min-width: 20px;
    height: 20px;
    padding: 0 .32rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: var(--ku-brand-700);
    color: #fff;
    font-size: .58rem;
    font-weight: 760;
    font-variant-numeric: tabular-nums;
}

    body.kitunzi-app-shell .ki-filter-count[hidden] {
        display: none !important;
    }

body.kitunzi-app-shell .ki-filter-chevron {
    font-size: .62rem;
    transition: transform var(--ku-duration-fast) var(--ku-ease) !important;
}

body.kitunzi-app-shell .ki-table-filter-toggle[aria-expanded="true"] .ki-filter-chevron {
    transform: rotate(180deg);
}

body.kitunzi-app-shell .ki-table-filter-panel {
    min-width: 0;
    display: block;
}

body.kitunzi-app-shell .ki-table-filter-group {
    display: flex !important;
    align-items: center;
    gap: .42rem;
}

body.kitunzi-app-shell .ki-table-filter-field {
    margin: 0;
    display: block;
}

body.kitunzi-app-shell .ki-table-filter {
    width: clamp(132px, 13vw, 190px) !important;
    min-height: 38px !important;
    height: 38px !important;
    padding-top: .35rem !important;
    padding-bottom: .35rem !important;
    font-size: .68rem !important;
}

body.kitunzi-app-shell .ki-table-result-count {
    min-height: 26px;
    padding: .28rem .48rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--ku-border-subtle);
    border-radius: 999px;
    background: #fff;
    color: var(--ku-text-muted);
    font-size: .63rem;
    font-weight: 670;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

body.kitunzi-app-shell .ki-table-active-filters.has-filters {
    padding-top: .48rem;
    border-top: 1px solid rgba(13, 61, 30, .06);
}

body.kitunzi-app-shell .ki-no-results-reset {
    margin-top: .3rem;
}

body.kitunzi-app-shell .ki-table-transitioning tbody {
    opacity: .6;
    transition: opacity 150ms var(--ku-ease) !important;
}

body.kitunzi-app-shell .ki-table-pagination {
    min-height: 56px !important;
    border-top-color: rgba(13, 61, 30, .07) !important;
    background: #FBFCFE !important;
}

body.kitunzi-app-shell .ki-pagination-number[aria-current="page"] {
    border-color: var(--ku-brand-700) !important;
    background: var(--ku-brand-700) !important;
    color: #fff !important;
}

/* Reveal motion for public and authentication surfaces. */
body.public-layout .ki-reveal,
body.auth-page .ki-reveal {
    opacity: 0;
    transform: translateY(8px);
}

    body.public-layout .ki-reveal.is-visible,
    body.auth-page .ki-reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 240ms var(--ku-ease), transform 240ms var(--ku-ease) !important;
        transition-delay: var(--ki-reveal-delay, 0ms) !important;
    }

@media (max-width: 1199.98px) {
    body.kitunzi-app-shell .ki-table-toolbar-main {
        flex-wrap: wrap;
    }

    body.kitunzi-app-shell .ki-table-search-wrap {
        max-width: 100% !important;
    }
}

@media (max-width: 991.98px) {
    body.public-layout .public-navbar-toggle {
        display: inline-grid;
    }

    body.public-layout .public-navbar .navbar-collapse {
        position: absolute;
        inset: calc(100% + .45rem) var(--ku-page-gutter, 1rem) auto;
        max-height: calc(100dvh - 92px);
        padding: .65rem;
        overflow: auto;
        border: 1px solid rgba(13, 61, 30, .12);
        border-radius: 16px;
        background: #fff;
        box-shadow: var(--ku-shadow-drawer);
    }

    body.public-layout .public-navbar .navbar-nav {
        align-items: stretch !important;
        gap: .2rem !important;
    }

    body.public-layout .public-nav-link {
        width: 100%;
        justify-content: flex-start;
    }

    body.public-layout .public-nav-actions {
        width: 100%;
        margin: .4rem 0 0 !important;
        padding-top: .55rem;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-top: 1px solid var(--ku-border-subtle);
    }

        body.public-layout .public-nav-actions .btn {
            width: 100%;
        }

    body.public-layout .home-hero {
        min-height: auto;
        padding-top: 3.3rem !important;
    }

    body.public-layout .home-hero-copy {
        padding-left: 0;
    }

    body.public-layout .home-hero-side-mark {
        position: static;
        margin-bottom: .75rem;
    }

    body.auth-page .auth-public-links {
        display: none;
    }

    body.auth-page .auth-public-nav {
        justify-content: flex-start;
    }

    body.kitunzi-app-shell .sidebar-overlay {
        backdrop-filter: blur(1px) !important;
        -webkit-backdrop-filter: blur(1px) !important;
    }
}

@media (max-width: 767.98px) {
    body.public-layout .container {
        width: min(100% - 1.5rem, var(--ku-public-width));
    }

    body.public-layout .public-brand-icon {
        display: none;
    }

    body.public-layout .public-brand-wordmark {
        width: 126px !important;
    }

    body.public-layout .public-footer-inner,
    body.public-layout .footer-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    body.public-layout .footer-divider {
        display: none;
    }

    body.public-layout .home-title {
        font-size: clamp(2.2rem, 12vw, 3.65rem) !important;
    }

    body.public-layout .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

        body.public-layout .hero-actions .btn {
            width: 100%;
        }

    body.public-layout .preview-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.auth-page .kitunzi-auth-shell,
    body.auth-page .kitunzi-auth-register-shell {
        padding: .75rem;
        place-items: start center;
    }

    body.auth-page .auth-form-stage,
    body.auth-page .auth-form-stage-register {
        gap: .55rem;
    }

    body.auth-page .auth-page-brand {
        min-height: 48px;
        padding: .35rem;
    }

    body.auth-page .auth-security-label {
        display: none !important;
    }

    body.auth-page .auth-form-card,
    body.auth-page .auth-form-card-register {
        padding: .95rem !important;
        border-radius: 16px !important;
    }

    body.auth-page .auth-card-header-with-icon {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: .62rem;
    }

    body.auth-page .auth-card-context-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    body.auth-page .auth-foot-note {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }

    body.kitunzi-app-shell .ki-table-toolbar {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "main"
            "actions"
            "chips" !important;
        align-items: stretch !important;
    }

    body.kitunzi-app-shell .ki-table-toolbar-main {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    body.kitunzi-app-shell .ki-table-search-wrap {
        width: 100% !important;
        max-width: none !important;
    }

    body.kitunzi-app-shell .ki-table-filter-toggle {
        min-height: 42px;
        display: inline-flex !important;
    }

    body.kitunzi-app-shell .ki-table-filter-panel {
        grid-column: 1 / -1;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(-4px);
        pointer-events: none;
        transition: max-height 220ms var(--ku-ease), opacity 180ms var(--ku-ease), transform 180ms var(--ku-ease) !important;
    }

        body.kitunzi-app-shell .ki-table-filter-panel.is-open {
            max-height: 420px;
            padding-top: .5rem;
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

    body.kitunzi-app-shell .ki-table-filter-group {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.kitunzi-app-shell .ki-table-filter,
    body.kitunzi-app-shell .ki-table-filter-field {
        width: 100% !important;
        max-width: none !important;
    }

    body.kitunzi-app-shell .ki-table-toolbar-actions {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 575.98px) {
    body.public-layout .public-navbar .navbar-collapse {
        inset-inline: .75rem;
    }

    body.public-layout .public-nav-actions {
        grid-template-columns: 1fr;
    }

    body.public-layout .preview-stat-grid {
        grid-template-columns: 1fr !important;
    }

    body.auth-page .auth-public-back span {
        font-size: .67rem;
    }

    body.auth-page .auth-page-logo img {
        width: 132px !important;
    }

    body.auth-page .auth-card-header-with-icon {
        grid-template-columns: 1fr;
    }

    body.auth-page .auth-card-context-icon {
        width: 42px;
        height: 42px;
    }

    body.kitunzi-app-shell .ki-table-toolbar-main {
        grid-template-columns: 1fr;
    }

    body.kitunzi-app-shell .ki-table-filter-toggle {
        width: 100%;
        justify-content: center;
    }

    body.kitunzi-app-shell .ki-table-filter-group {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.public-layout *,
    body.public-layout *::before,
    body.public-layout *::after,
    body.auth-page *,
    body.auth-page *::before,
    body.auth-page *::after,
    body.kitunzi-app-shell .ki-table-filter-panel,
    body.kitunzi-app-shell .ki-filter-chevron {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    body.public-layout .ki-reveal,
    body.public-layout .ki-reveal.is-visible,
    body.auth-page .ki-reveal,
    body.auth-page .ki-reveal.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition-delay: 0ms !important;
    }
}

/* =====================================================================
   KITUNZI ULTRA-PREMIUM REFINEMENT PASS IV
   Final auth/public brand navigation, session register and interaction QA.
   ===================================================================== */

/* Collapsed portal brand uses the same icon-only Kitunzi mark as public/auth. */
body.kitunzi-app-shell .sidebar-brand-mark {
    overflow: hidden;
    background: #fff !important;
}

    body.kitunzi-app-shell .sidebar-brand-mark img {
        width: 38px;
        height: 38px;
        display: block;
        object-fit: contain;
    }

body.kitunzi-app-shell .profile-dropdown-actions .profile-public-link {
    margin-top: .28rem;
    padding-top: .62rem !important;
    border-top: 1px solid var(--ku-border-subtle);
    border-radius: 0 0 var(--ku-radius-xs) var(--ku-radius-xs) !important;
}

/* The mobile barrier dims only; it never blurs or disables the main surface. */
body.kitunzi-app-shell .sidebar-overlay,
body.kitunzi-app-shell .sidebar-overlay.show,
body.kitunzi-app-shell .sidebar-overlay.open {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.kitunzi-app-shell .ki-pagination-btn.disabled,
body.kitunzi-app-shell .ki-pagination-btn[aria-disabled="true"] {
    pointer-events: none !important;
}

/* External search/filter controls visually belong to the table they operate. */
body.kitunzi-app-shell .ki-table-external-toolbar,
body.kitunzi-app-shell .payment-filter-card,
body.kitunzi-app-shell .supplier-filter-card,
body.kitunzi-app-shell .sales-filter-card,
body.kitunzi-app-shell form.card-ki:has(.filter-grid) {
    border-color: var(--ku-border-hairline) !important;
    background: var(--ku-surface-soft) !important;
    box-shadow: var(--ku-shadow-xs) !important;
}

body.kitunzi-app-shell .ki-table-external-toolbar {
    margin-bottom: .55rem !important;
    padding: .6rem .68rem !important;
    border: 1px solid var(--ku-border-hairline);
    border-radius: var(--ku-radius-md);
}

    body.kitunzi-app-shell .ki-table-external-toolbar + .card-ki,
    body.kitunzi-app-shell .payment-filter-card + .payment-table-card,
    body.kitunzi-app-shell .supplier-filter-card + .supplier-table-card,
    body.kitunzi-app-shell .sales-filter-card + .sales-table-card {
        margin-top: -.05rem;
    }

body.kitunzi-app-shell .ki-external-search,
body.kitunzi-app-shell .payment-search,
body.kitunzi-app-shell .supplier-search {
    width: min(100%, 360px) !important;
    min-width: 230px;
}

/* Server-paginated session register. */
body.kitunzi-app-shell .session-card-header {
    padding: .72rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, auto) minmax(250px, 1fr);
    align-items: center !important;
    gap: .72rem 1rem !important;
    border-bottom: 1px solid var(--ku-border-hairline) !important;
    background: linear-gradient(180deg, #fff 0%, var(--ku-surface-soft) 100%) !important;
}

body.kitunzi-app-shell .session-tab-context {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
    color: var(--ku-text-muted);
    text-align: left;
}

    body.kitunzi-app-shell .session-tab-context > span:last-child {
        min-width: 0;
        display: grid;
        gap: .08rem;
    }

    body.kitunzi-app-shell .session-tab-context strong {
        color: var(--ku-text-strong);
        font-size: .7rem;
        font-weight: 760;
    }

    body.kitunzi-app-shell .session-tab-context small {
        overflow: hidden;
        color: var(--ku-text-muted);
        font-size: .62rem;
        line-height: 1.35;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

body.kitunzi-app-shell .session-tab-context-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ku-border-subtle);
    border-radius: 10px;
    background: var(--ku-surface-muted);
    color: var(--ku-text-muted);
}

    body.kitunzi-app-shell .session-tab-context-icon.is-open {
        border-color: var(--ku-border-success);
        background: var(--ku-success-100);
        color: var(--ku-success-700);
    }

body.kitunzi-app-shell .session-filter-toolbar {
    grid-template-columns: minmax(220px, 1.4fr) minmax(132px, .55fr) minmax(132px, .55fr) minmax(150px, .62fr) auto !important;
    align-items: end !important;
    gap: .58rem !important;
    padding: .68rem .72rem !important;
    border-bottom: 1px solid var(--ku-border-hairline) !important;
    background: #fff !important;
}

body.kitunzi-app-shell .session-date-filter,
body.kitunzi-app-shell .session-sort-filter {
    min-width: 0;
    display: grid;
    gap: .25rem;
}

    body.kitunzi-app-shell .session-date-filter label,
    body.kitunzi-app-shell .session-sort-filter label {
        margin: 0;
        color: var(--ku-text-muted);
        font-size: .61rem;
        font-weight: 720;
        letter-spacing: .025em;
    }

body.kitunzi-app-shell .session-filter-toolbar .form-control,
body.kitunzi-app-shell .session-filter-toolbar .form-select {
    min-height: 40px !important;
    height: 40px !important;
    font-size: .7rem !important;
}

body.kitunzi-app-shell .session-filter-actions {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: .38rem;
}

body.kitunzi-app-shell .session-active-filters {
    min-height: 42px;
    padding: .45rem .72rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .38rem;
    border-bottom: 1px solid var(--ku-border-hairline);
    background: var(--ku-brand-50);
}

body.kitunzi-app-shell .session-active-filter-label {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    color: var(--ku-brand-800);
    font-size: .62rem;
    font-weight: 750;
}

body.kitunzi-app-shell .session-clear-filter-link {
    margin-left: auto;
    color: var(--ku-brand-700);
    font-size: .63rem;
    font-weight: 720;
    text-decoration: none;
}

    body.kitunzi-app-shell .session-clear-filter-link:hover {
        color: var(--ku-brand-900);
        text-decoration: underline;
        text-underline-offset: 2px;
    }

body.kitunzi-app-shell .session-page[data-session-state="open"] .session-table tbody tr {
    box-shadow: inset 2px 0 0 rgba(23, 107, 42, .2);
}

body.kitunzi-app-shell .session-page[data-session-state="closed"] .session-table tbody tr {
    box-shadow: inset 2px 0 0 rgba(84, 99, 91, .14);
}

body.kitunzi-app-shell .session-page-size-form select {
    min-width: 58px;
}

/* Auth/public brand navigation remains usable at small and zoomed viewports. */
body.auth-page .auth-public-back,
body.auth-page .auth-public-links a,
body.public-layout .footer-link {
    text-underline-offset: 3px;
}

    body.auth-page .auth-public-back:hover,
    body.auth-page .auth-public-links a:hover,
    body.public-layout .footer-link:hover {
        text-decoration: none;
    }

body.auth-page form[aria-busy="true"] {
    cursor: progress;
}

    body.auth-page form[aria-busy="true"] .auth-submit {
        pointer-events: none;
    }

body.public-layout .public-side-rail-links a[aria-current="location"],
body.public-layout .public-side-rail-links a.active {
    border-color: rgba(23, 107, 42, .14);
    background: var(--ku-brand-100);
    color: var(--ku-brand-800);
}

@media (max-width: 1199.98px) {
    body.kitunzi-app-shell .session-card-header {
        grid-template-columns: 1fr;
    }

    body.kitunzi-app-shell .session-tab-context {
        justify-content: flex-start;
    }

    body.kitunzi-app-shell .session-filter-toolbar {
        grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(132px, .48fr)) !important;
    }

    body.kitunzi-app-shell .session-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .session-card-header,
    body.kitunzi-app-shell .session-filter-toolbar {
        padding: .62rem !important;
    }

    body.kitunzi-app-shell .session-tab-context small {
        white-space: normal;
    }

    body.kitunzi-app-shell .session-filter-toolbar {
        grid-template-columns: 1fr 1fr !important;
    }

        body.kitunzi-app-shell .session-filter-toolbar .ki-table-search-wrap,
        body.kitunzi-app-shell .session-sort-filter,
        body.kitunzi-app-shell .session-filter-actions {
            grid-column: 1 / -1;
        }

    body.kitunzi-app-shell .session-filter-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.kitunzi-app-shell .session-active-filters {
        align-items: flex-start;
    }

    body.kitunzi-app-shell .session-clear-filter-link {
        width: 100%;
        margin: .1rem 0 0;
    }

    body.kitunzi-app-shell .ki-table-external-toolbar,
    body.kitunzi-app-shell .payment-filter-card,
    body.kitunzi-app-shell .supplier-filter-card,
    body.kitunzi-app-shell .sales-filter-card {
        border-radius: var(--ku-radius-sm) !important;
    }
}

@media (max-width: 479.98px) {
    body.kitunzi-app-shell .session-filter-toolbar {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell .session-date-filter,
    body.kitunzi-app-shell .session-sort-filter,
    body.kitunzi-app-shell .session-filter-actions {
        grid-column: 1 !important;
    }

    body.kitunzi-app-shell .session-filter-actions {
        grid-template-columns: 1fr;
    }

    body.public-layout .public-nav-actions {
        grid-template-columns: 1fr !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-app-shell .sidebar-toggle,
    body.kitunzi-app-shell .session-tab,
    body.kitunzi-app-shell .session-table tbody tr,
    body.public-layout .public-side-rail-links a,
    body.auth-page .auth-side-rail-links a {
        transition: none !important;
        transform: none !important;
    }
}

/* =====================================================================
   KITUNZI ULTRA-PREMIUM REFINEMENT PASS V
   Solid surface hierarchy, anchored footers, richer cards, stronger
   sidebar identity, five-row table registers and high-contrast public copy.
   ===================================================================== */



/* ---------- True sticky-footer architecture without content overlay ---------- */
html,
body.kitunzi-app-shell,
body.public-layout,
body.auth-page {
    min-height: 100%;
}

    body.kitunzi-app-shell .main-wrapper {
        min-height: 100vh !important;
        min-height: 100dvh !important;
        height: auto !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body.kitunzi-app-shell .main-content {
        min-height: 0 !important;
        flex: 1 0 auto !important;
    }

    body.kitunzi-app-shell .footer-ki {
        margin-top: auto !important;
        flex: 0 0 auto !important;
        border-top: 1px solid #1e5630 !important;
        background: var(--ku-brand-950) !important;
        color: #c8dccd !important;
        box-shadow: 0 -8px 24px rgba(10, 27, 47, .08) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

        body.kitunzi-app-shell .footer-ki strong,
        body.kitunzi-app-shell .footer-ki .footer-links a {
            color: #f3faf5 !important;
        }

        body.kitunzi-app-shell .footer-ki .footer-links a {
            border: 1px solid transparent !important;
        }

            body.kitunzi-app-shell .footer-ki .footer-links a:hover {
                border-color: #3c714a !important;
                background: #164a29 !important;
                color: #ffffff !important;
            }

body.public-layout {
    min-height: 100vh !important;
    min-height: 100dvh !important;
}

    body.public-layout .public-main {
        min-height: 0 !important;
        flex: 1 0 auto !important;
    }

    body.public-layout .public-footer {
        margin-top: auto !important;
        flex: 0 0 auto !important;
        border-top: 1px solid #1f5631 !important;
        background: var(--ku-brand-950) !important;
        color: #dce9df !important;
        box-shadow: 0 -10px 30px rgba(10, 27, 47, .09) !important;
    }

        body.public-layout .public-footer .footer-brand-mark {
            border-color: #3d714a !important;
            background: #ffffff !important;
            box-shadow: 0 6px 18px rgba(0, 0, 0, .16) !important;
        }

        body.public-layout .public-footer .footer-brand-copy strong,
        body.public-layout .public-footer .footer-brand-copy span,
        body.public-layout .public-footer .footer-year,
        body.public-layout .public-footer .footer-link {
            color: #f3faf5 !important;
        }

        body.public-layout .public-footer .footer-brand-copy span,
        body.public-layout .public-footer .footer-year {
            color: #b8cfbe !important;
        }

        body.public-layout .public-footer .footer-link {
            border: 1px solid transparent;
        }

            body.public-layout .public-footer .footer-link:hover {
                border-color: #3d714a;
                background: #164a29;
                color: #ffffff !important;
            }

body.auth-page {
    display: flex !important;
    flex-direction: column !important;
}

    body.auth-page .kitunzi-auth-shell,
    body.auth-page .kitunzi-auth-register-shell {
        min-height: 100vh !important;
        min-height: 100dvh !important;
        flex: 1 0 auto !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: center !important;
    }

    body.auth-page .auth-form-stage,
    body.auth-page .auth-form-stage-register {
        min-height: calc(100vh - clamp(2rem, 5.2vw, 4rem)) !important;
        min-height: calc(100dvh - clamp(2rem, 5.2vw, 4rem)) !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body.auth-page:not(.auth-register-page) .auth-form-card {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }

    body.auth-page .auth-foot-note {
        margin-top: auto !important;
        border-top: 1px solid #cbd9ce;
        color: #43564a !important;
    }

/* ---------- Stronger solid card and panel hierarchy ---------- */
body.kitunzi-app-shell .card,
body.kitunzi-app-shell .card-ki,
body.kitunzi-app-shell .panel,
body.kitunzi-app-shell .dashboard-card,
body.kitunzi-app-shell .info-card,
body.kitunzi-app-shell .table-card,
body.kitunzi-app-shell .stock-table-card,
body.kitunzi-app-shell .permissions-matrix-card,
body.kitunzi-app-shell .report-card-polished,
body.kitunzi-app-shell .acc-card,
body.kitunzi-app-shell .bucket-section,
body.kitunzi-app-shell .session-control-panel,
body.kitunzi-app-shell .session-form-panel,
body.kitunzi-app-shell .role-workspace,
body.kitunzi-app-shell .personal-dashboard-card,
body.kitunzi-app-shell .featured-deal-card,
body.kitunzi-app-shell .quick-action-card,
body.kitunzi-app-shell .workflow-step-card {
    border: 1px solid var(--ku-border-solid) !important;
    background: #ffffff !important;
    box-shadow: var(--ku-shadow-card-solid) !important;
}

body.kitunzi-app-shell .card-header,
body.kitunzi-app-shell .ki-card-header,
body.kitunzi-app-shell .table-card-header,
body.kitunzi-app-shell .stock-card-header,
body.kitunzi-app-shell .permissions-matrix-head,
body.kitunzi-app-shell .product-table-header,
body.kitunzi-app-shell .reports-card-header {
    border-bottom: 1px solid #cbd9ce !important;
    background: #F1F4F8 !important;
    box-shadow: inset 0 1px 0 #ffffff !important;
}

    body.kitunzi-app-shell .card-header > i:first-child,
    body.kitunzi-app-shell .ki-card-header > i:first-child,
    body.kitunzi-app-shell .table-card-header > i:first-child,
    body.kitunzi-app-shell .stock-card-header > i:first-child,
    body.kitunzi-app-shell .reports-card-title > .report-icon,
    body.kitunzi-app-shell .section-heading-icon,
    body.kitunzi-app-shell .table-identity-icon {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
        display: inline-grid !important;
        place-items: center !important;
        margin: 0 .45rem 0 0 !important;
        border: 1px solid var(--ku-border-solid-green) !important;
        border-radius: 10px !important;
        background: var(--ku-surface-green) !important;
        color: var(--ku-brand-700) !important;
        font-size: .86rem !important;
        box-shadow: 0 4px 10px rgba(23, 107, 42, .10) !important;
    }

body.kitunzi-app-shell a.card:hover,
body.kitunzi-app-shell a.card-ki:hover,
body.kitunzi-app-shell .clickable-card:hover,
body.kitunzi-app-shell .quick-action-card:hover,
body.kitunzi-app-shell .featured-deal-card:hover,
body.kitunzi-app-shell [role="button"].card:hover {
    border-color: var(--ku-border-solid-accent) !important;
    box-shadow: var(--ku-shadow-card-solid-hover) !important;
    transform: translateY(-2px) !important;
}

/* ---------- Summary/KPI cards: visible structure, accent and depth ---------- */
body.kitunzi-app-shell .dashboard-stat-grid,
body.kitunzi-app-shell .reports-stat-grid,
body.kitunzi-app-shell .acc-stat-grid,
body.kitunzi-app-shell .stats-grid,
body.kitunzi-app-shell .summary-grid,
body.kitunzi-app-shell .bucket-stats-grid,
body.kitunzi-app-shell .operation-summary-grid,
body.kitunzi-app-shell .notification-summary-grid,
body.kitunzi-app-shell .audit-summary-grid,
body.kitunzi-app-shell .session-summary-grid {
    --ku-metric-accent: #1D5FD1;
    --ku-metric-soft: #EAF1FF;
}

body.kitunzi-app-shell .stat-card,
body.kitunzi-app-shell .summary-card,
body.kitunzi-app-shell .dashboard-stat-card,
body.kitunzi-app-shell .dashboard-small-stat,
body.kitunzi-app-shell .metric-card,
body.kitunzi-app-shell .kpi-card,
body.kitunzi-app-shell .bucket-stat-card,
body.kitunzi-app-shell .platform-stat-card,
body.kitunzi-app-shell .reports-stat,
body.kitunzi-app-shell .role-summary-card,
body.kitunzi-app-shell .permission-stat-pill,
body.kitunzi-app-shell .session-summary-card {
    --ku-metric-accent: #1D5FD1;
    --ku-metric-soft: #EAF1FF;
    min-height: 122px !important;
    padding: 1rem 1.05rem !important;
    border: 1px solid var(--ku-border-solid-strong) !important;
    border-top: 1px solid var(--kt-border) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: var(--ku-shadow-card-solid) !important;
    overflow: hidden !important;
    transition: transform 190ms var(--ku-ease), border-color 190ms var(--ku-ease), box-shadow 220ms var(--ku-ease) !important;
}

    body.kitunzi-app-shell .stat-card::before,
    body.kitunzi-app-shell .summary-card::before,
    body.kitunzi-app-shell .dashboard-stat-card::before,
    body.kitunzi-app-shell .dashboard-small-stat::before,
    body.kitunzi-app-shell .metric-card::before,
    body.kitunzi-app-shell .kpi-card::before,
    body.kitunzi-app-shell .bucket-stat-card::before,
    body.kitunzi-app-shell .platform-stat-card::before,
    body.kitunzi-app-shell .reports-stat::before,
    body.kitunzi-app-shell .session-summary-card::before {
        display: none !important;
        content: none !important;
    }

    body.kitunzi-app-shell .stat-card::after,
    body.kitunzi-app-shell .summary-card::after,
    body.kitunzi-app-shell .dashboard-stat-card::after,
    body.kitunzi-app-shell .dashboard-small-stat::after,
    body.kitunzi-app-shell .metric-card::after,
    body.kitunzi-app-shell .kpi-card::after,
    body.kitunzi-app-shell .bucket-stat-card::after,
    body.kitunzi-app-shell .platform-stat-card::after,
    body.kitunzi-app-shell .reports-stat::after,
    body.kitunzi-app-shell .session-summary-card::after {
        content: "" !important;
        position: absolute !important;
        inset: auto 0 0 auto !important;
        width: 56px !important;
        height: 5px !important;
        display: block !important;
        background: var(--ku-metric-soft) !important;
        border-radius: 5px 0 0 0 !important;
        pointer-events: none !important;
    }

    body.kitunzi-app-shell .stat-card:hover,
    body.kitunzi-app-shell .summary-card:hover,
    body.kitunzi-app-shell .dashboard-stat-card:hover,
    body.kitunzi-app-shell .dashboard-small-stat:hover,
    body.kitunzi-app-shell .metric-card:hover,
    body.kitunzi-app-shell .kpi-card:hover,
    body.kitunzi-app-shell .bucket-stat-card:hover,
    body.kitunzi-app-shell .platform-stat-card:hover,
    body.kitunzi-app-shell .reports-stat:hover,
    body.kitunzi-app-shell .session-summary-card:hover {
        border-color: var(--ku-border-solid-accent) !important;
        box-shadow: var(--ku-shadow-card-solid-hover) !important;
        transform: translateY(-2px) !important;
    }

body.kitunzi-app-shell .stat-icon,
body.kitunzi-app-shell .summary-icon,
body.kitunzi-app-shell .metric-icon,
body.kitunzi-app-shell .kpi-icon,
body.kitunzi-app-shell .bucket-stat-icon,
body.kitunzi-app-shell .card-icon,
body.kitunzi-app-shell .session-summary-icon {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border: 1px solid var(--ku-border-solid-green) !important;
    border-radius: 13px !important;
    background: var(--ku-metric-soft) !important;
    color: var(--ku-metric-accent) !important;
    font-size: 1rem !important;
    box-shadow: inset 0 1px 0 #ffffff, 0 6px 14px rgba(23, 107, 42, .12) !important;
}

body.kitunzi-app-shell .stat-label,
body.kitunzi-app-shell .summary-label,
body.kitunzi-app-shell .metric-label,
body.kitunzi-app-shell .kpi-label,
body.kitunzi-app-shell .bucket-stat-label,
body.kitunzi-app-shell .session-summary-label {
    color: #506456 !important;
    font-size: .66rem !important;
    font-weight: 780 !important;
    letter-spacing: .065em !important;
}

body.kitunzi-app-shell .stat-value,
body.kitunzi-app-shell .stat-number,
body.kitunzi-app-shell .summary-value,
body.kitunzi-app-shell .metric-value,
body.kitunzi-app-shell .kpi-value,
body.kitunzi-app-shell .bucket-stat-value,
body.kitunzi-app-shell .reports-stat-value,
body.kitunzi-app-shell .session-summary-value,
body.kitunzi-app-shell .stat-card h3 {
    color: #0b351a !important;
    font-size: clamp(1.42rem, 1.62vw, 1.9rem) !important;
    font-weight: 820 !important;
}

body.kitunzi-app-shell .stat-card small,
body.kitunzi-app-shell .summary-card small,
body.kitunzi-app-shell .bucket-stat-card small,
body.kitunzi-app-shell .session-summary-card small {
    color: #526459 !important;
    font-size: .7rem !important;
    font-weight: 520 !important;
}

body.kitunzi-app-shell .dashboard-stat-grid > *:nth-child(4n + 2),
body.kitunzi-app-shell .summary-grid > *:nth-child(4n + 2),
body.kitunzi-app-shell .bucket-stats-grid > *:nth-child(4n + 2),
body.kitunzi-app-shell .session-summary-grid > *:nth-child(4n + 2),
body.kitunzi-app-shell .operation-summary-grid > *:nth-child(4n + 2) {
    --ku-metric-accent: #176f67;
    --ku-metric-soft: #e6f4f2;
}

body.kitunzi-app-shell .dashboard-stat-grid > *:nth-child(4n + 3),
body.kitunzi-app-shell .summary-grid > *:nth-child(4n + 3),
body.kitunzi-app-shell .bucket-stats-grid > *:nth-child(4n + 3),
body.kitunzi-app-shell .session-summary-grid > *:nth-child(4n + 3),
body.kitunzi-app-shell .operation-summary-grid > *:nth-child(4n + 3) {
    --ku-metric-accent: #a65e0d;
    --ku-metric-soft: #fff2df;
}

body.kitunzi-app-shell .dashboard-stat-grid > *:nth-child(4n + 4),
body.kitunzi-app-shell .summary-grid > *:nth-child(4n + 4),
body.kitunzi-app-shell .bucket-stats-grid > *:nth-child(4n + 4),
body.kitunzi-app-shell .session-summary-grid > *:nth-child(4n + 4),
body.kitunzi-app-shell .operation-summary-grid > *:nth-child(4n + 4) {
    --ku-metric-accent: #28658e;
    --ku-metric-soft: #eaf3f8;
}

@keyframes ku-metric-enter-v5 {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.kitunzi-app-shell .dashboard-stat-grid > *,
body.kitunzi-app-shell .summary-grid > *,
body.kitunzi-app-shell .bucket-stats-grid > *,
body.kitunzi-app-shell .session-summary-grid > *,
body.kitunzi-app-shell .operation-summary-grid > * {
    animation: ku-metric-enter-v5 220ms var(--ku-ease) both;
    animation-delay: calc(var(--ki-card-index, 0) * 36ms);
}

    body.kitunzi-app-shell .dashboard-stat-grid > *:nth-child(2),
    body.kitunzi-app-shell .summary-grid > *:nth-child(2),
    body.kitunzi-app-shell .bucket-stats-grid > *:nth-child(2),
    body.kitunzi-app-shell .session-summary-grid > *:nth-child(2) {
        --ki-card-index: 1;
    }

    body.kitunzi-app-shell .dashboard-stat-grid > *:nth-child(3),
    body.kitunzi-app-shell .summary-grid > *:nth-child(3),
    body.kitunzi-app-shell .bucket-stats-grid > *:nth-child(3),
    body.kitunzi-app-shell .session-summary-grid > *:nth-child(3) {
        --ki-card-index: 2;
    }

    body.kitunzi-app-shell .dashboard-stat-grid > *:nth-child(4),
    body.kitunzi-app-shell .summary-grid > *:nth-child(4),
    body.kitunzi-app-shell .bucket-stats-grid > *:nth-child(4),
    body.kitunzi-app-shell .session-summary-grid > *:nth-child(4) {
        --ki-card-index: 3;
    }

    body.kitunzi-app-shell .dashboard-stat-grid > *:nth-child(n + 5),
    body.kitunzi-app-shell .summary-grid > *:nth-child(n + 5),
    body.kitunzi-app-shell .bucket-stats-grid > *:nth-child(n + 5),
    body.kitunzi-app-shell .session-summary-grid > *:nth-child(n + 5) {
        --ki-card-index: 4;
    }

/* ---------- Sidebar as a high-contrast premium visual anchor ---------- */
body.kitunzi-app-shell .sidebar {
    border-right: 1px solid var(--ku-sidebar-border) !important;
    background: var(--ku-sidebar-bg) !important;
    box-shadow: 8px 0 30px rgba(4, 20, 9, .18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.kitunzi-app-shell .sidebar-header {
    border-bottom: 1px solid var(--ku-sidebar-border) !important;
    background: #082714 !important;
}

body.kitunzi-app-shell .brand-logo-wide-wrap {
    padding: .3rem .45rem !important;
    border: 1px solid #365f42 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .17) !important;
}

body.kitunzi-app-shell .sidebar-brand:hover .brand-logo-wide-wrap {
    border-color: #7fab8a !important;
    background: #ffffff !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .20) !important;
}

body.kitunzi-app-shell .bar-context {
    border: 1px solid #356443 !important;
    background: var(--ku-sidebar-bg-raised) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 8px 18px rgba(0, 0, 0, .12) !important;
}

    body.kitunzi-app-shell .bar-context small {
        color: var(--ku-sidebar-muted) !important;
    }

    body.kitunzi-app-shell .bar-context strong {
        color: #ffffff !important;
    }

body.kitunzi-app-shell .sidebar-nav {
    scrollbar-color: #427452 transparent;
}

body.kitunzi-app-shell .sidebar-section {
    border-bottom-color: #244b31 !important;
}

body.kitunzi-app-shell .sidebar-group-title {
    color: var(--ku-sidebar-muted) !important;
}

body.kitunzi-app-shell .sidebar-link,
body.kitunzi-app-shell .sidebar-menu-toggle {
    border-color: transparent !important;
    color: var(--ku-sidebar-text) !important;
}

    body.kitunzi-app-shell .sidebar-link > i,
    body.kitunzi-app-shell .sidebar-menu-toggle > i:first-child {
        border-color: #2a5838 !important;
        background: #123b21 !important;
        color: #afd2b7 !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
    }

    body.kitunzi-app-shell .sidebar-link:hover,
    body.kitunzi-app-shell .sidebar-menu-toggle:hover,
    body.kitunzi-app-shell .sidebar-menu-toggle[aria-expanded="true"] {
        border-color: #387149 !important;
        background: #144a28 !important;
        color: #ffffff !important;
        box-shadow: 0 7px 16px rgba(0, 0, 0, .12) !important;
        transform: translateX(2px) !important;
    }

        body.kitunzi-app-shell .sidebar-link:hover > i,
        body.kitunzi-app-shell .sidebar-menu-toggle:hover > i:first-child,
        body.kitunzi-app-shell .sidebar-menu-toggle[aria-expanded="true"] > i:first-child {
            border-color: #5b9369 !important;
            background: #1d5a31 !important;
            color: #ffffff !important;
        }

    body.kitunzi-app-shell .sidebar-link.active {
        border-color: #5e9b6e !important;
        background: var(--ku-sidebar-bg-active) !important;
        color: #ffffff !important;
        box-shadow: inset 4px 0 0 #f0a02c, 0 8px 18px rgba(0, 0, 0, .18) !important;
    }

        body.kitunzi-app-shell .sidebar-link.active > i {
            border-color: #ffffff !important;
            background: #ffffff !important;
            color: var(--ku-brand-700) !important;
            box-shadow: 0 5px 12px rgba(0, 0, 0, .18) !important;
        }

body.kitunzi-app-shell .menu-chevron,
body.kitunzi-app-shell .collapse-icon {
    color: #9fbaa6 !important;
}

body.kitunzi-app-shell .sidebar-submenu {
    border-left-color: #4c825b !important;
}

    body.kitunzi-app-shell .sidebar-submenu .sidebar-link {
        color: #c9dece !important;
    }

body.kitunzi-app-shell .sidebar-close {
    border-color: #447453 !important;
    background: #123d22 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .16) !important;
}

body.kitunzi-app-shell .sidebar-brand-mark {
    border-color: #4f805d !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .20) !important;
}

@media (min-width: 992px) {
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:hover,
    body.kitunzi-app-shell.sidebar-collapsed .sidebar:focus-within {
        box-shadow: 12px 0 40px rgba(4, 20, 9, .24) !important;
    }
}

/* ---------- Table registers: solid borders, active five rows and stronger paging ---------- */
body.kitunzi-app-shell .ki-data-region,
body.kitunzi-app-shell .table-card,
body.kitunzi-app-shell .stock-table-card,
body.kitunzi-app-shell .product-table-card,
body.kitunzi-app-shell .payment-table-card,
body.kitunzi-app-shell .supplier-table-card,
body.kitunzi-app-shell .sales-table-card,
body.kitunzi-app-shell .session-register-card {
    border: 1px solid var(--ku-border-solid-strong) !important;
    box-shadow: var(--ku-shadow-panel-solid) !important;
}

body.kitunzi-app-shell .ki-table-toolbar,
body.kitunzi-app-shell .table-toolbar,
body.kitunzi-app-shell .ki-table-external-toolbar,
body.kitunzi-app-shell .session-filter-toolbar {
    border-color: var(--ku-border-solid) !important;
    background: #F1F4F8 !important;
    box-shadow: inset 0 -1px 0 #d9e4dc !important;
}

body.kitunzi-app-shell .ki-table-search,
body.kitunzi-app-shell .ki-table-filter,
body.kitunzi-app-shell .ki-table-page-size,
body.kitunzi-app-shell .ki-page-size select {
    border-color: var(--ku-border-solid-strong) !important;
    background-color: #ffffff !important;
    box-shadow: 0 3px 9px rgba(10, 27, 47, .07) !important;
}

    body.kitunzi-app-shell .ki-table-search:focus,
    body.kitunzi-app-shell .ki-table-filter:focus,
    body.kitunzi-app-shell .ki-table-page-size:focus,
    body.kitunzi-app-shell .ki-page-size select:focus {
        border-color: var(--ku-border-solid-accent) !important;
        box-shadow: 0 0 0 3px #dcecdf, 0 5px 12px rgba(10, 27, 47, .09) !important;
    }

body.kitunzi-app-shell table,
body.kitunzi-app-shell .table,
body.kitunzi-app-shell .table-ki {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
}

    body.kitunzi-app-shell table thead th,
    body.kitunzi-app-shell .table thead th,
    body.kitunzi-app-shell .table-ki thead th {
        height: 44px !important;
        border-top: 1px solid #d5e1d7 !important;
        border-bottom: 2px solid #b9cbbd !important;
        background: #eaf2ec !important;
        color: #243d2c !important;
        font-size: .68rem !important;
        font-weight: 800 !important;
        letter-spacing: .045em !important;
    }

    body.kitunzi-app-shell table tbody td,
    body.kitunzi-app-shell .table tbody td,
    body.kitunzi-app-shell .table-ki tbody td {
        border-bottom: 1px solid #dce6de !important;
        background: #ffffff !important;
        color: #2c3f33 !important;
    }

    body.kitunzi-app-shell table tbody tr.ki-active-row td:first-child,
    body.kitunzi-app-shell .table tbody tr.ki-active-row td:first-child,
    body.kitunzi-app-shell .table-ki tbody tr.ki-active-row td:first-child {
        border-left: 3px solid #d2e3d6 !important;
    }

    body.kitunzi-app-shell table tbody tr.ki-active-row[data-visible-row="2"] td,
    body.kitunzi-app-shell table tbody tr.ki-active-row[data-visible-row="4"] td,
    body.kitunzi-app-shell .table tbody tr.ki-active-row[data-visible-row="2"] td,
    body.kitunzi-app-shell .table tbody tr.ki-active-row[data-visible-row="4"] td,
    body.kitunzi-app-shell .table-ki tbody tr.ki-active-row[data-visible-row="2"] td,
    body.kitunzi-app-shell .table-ki tbody tr.ki-active-row[data-visible-row="4"] td {
        background: #FBFCFE !important;
    }

    body.kitunzi-app-shell table tbody tr.ki-active-row:hover td,
    body.kitunzi-app-shell .table tbody tr.ki-active-row:hover td,
    body.kitunzi-app-shell .table-ki tbody tr.ki-active-row:hover td {
        background: #edf7ef !important;
    }

        body.kitunzi-app-shell table tbody tr.ki-active-row:hover td:first-child,
        body.kitunzi-app-shell .table tbody tr.ki-active-row:hover td:first-child,
        body.kitunzi-app-shell .table-ki tbody tr.ki-active-row:hover td:first-child {
            border-left-color: var(--ku-brand-700) !important;
        }

body.kitunzi-app-shell .ki-table-pagination,
body.kitunzi-app-shell .product-pagination-bar,
body.kitunzi-app-shell .session-pagination {
    min-height: 62px !important;
    border-top: 1px solid var(--ku-border-solid-strong) !important;
    background: #F1F4F8 !important;
    box-shadow: inset 0 1px 0 #ffffff !important;
}

body.kitunzi-app-shell .ki-pagination-summary,
body.kitunzi-app-shell .pagination-summary {
    color: #45594c !important;
    font-weight: 650 !important;
}

body.kitunzi-app-shell .ki-pagination-page {
    min-height: 32px;
    padding: .36rem .55rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid #c5d4c8;
    border-radius: 9px;
    background: #ffffff;
    color: #3f5447 !important;
    font-weight: 700;
}

body.kitunzi-app-shell .ki-pagination-btn,
body.kitunzi-app-shell .ki-pagination-number {
    border-color: #bdcdc0 !important;
    background: #ffffff !important;
    color: #314638 !important;
    box-shadow: 0 4px 10px rgba(10, 27, 47, .08) !important;
}

    body.kitunzi-app-shell .ki-pagination-btn:hover:not(:disabled),
    body.kitunzi-app-shell .ki-pagination-number:hover:not(.is-active) {
        border-color: var(--ku-border-solid-accent) !important;
        background: var(--ku-surface-green) !important;
        color: var(--ku-brand-800) !important;
        box-shadow: 0 7px 14px rgba(10, 27, 47, .11) !important;
    }

    body.kitunzi-app-shell .ki-pagination-number.is-active,
    body.kitunzi-app-shell .ki-pagination-number[aria-current="page"] {
        border-color: #0b4d22 !important;
        background: #176b2a !important;
        color: #ffffff !important;
        box-shadow: 0 7px 16px rgba(23, 107, 42, .28) !important;
    }

body.kitunzi-app-shell .ki-page-size {
    color: #3d5144 !important;
    font-weight: 700 !important;
}

body.kitunzi-app-shell .table-action-group .btn,
body.kitunzi-app-shell .product-actions .btn,
body.kitunzi-app-shell table .btn-icon,
body.kitunzi-app-shell .table .btn-icon,
body.kitunzi-app-shell .table-ki .btn-icon {
    border: 1px solid #c3d2c6 !important;
    background: #ffffff !important;
    color: #1f5e32 !important;
    box-shadow: 0 3px 8px rgba(10, 27, 47, .08) !important;
}

    body.kitunzi-app-shell .table-action-group .btn:hover,
    body.kitunzi-app-shell .product-actions .btn:hover,
    body.kitunzi-app-shell table .btn-icon:hover,
    body.kitunzi-app-shell .table .btn-icon:hover,
    body.kitunzi-app-shell .table-ki .btn-icon:hover {
        border-color: var(--ku-border-solid-accent) !important;
        background: var(--ku-surface-green) !important;
        box-shadow: 0 6px 13px rgba(10, 27, 47, .12) !important;
    }

/* ---------- Consistent, stronger icon treatment ---------- */
body.kitunzi-app-shell .btn > i,
body.auth-page .btn > i,
body.public-layout .btn > i {
    font-size: .88rem !important;
    line-height: 1 !important;
}

body.kitunzi-app-shell .btn-icon,
body.kitunzi-app-shell .topbar-icon-btn,
body.kitunzi-app-shell .notification-trigger,
body.kitunzi-app-shell .scroll-top,
body.public-layout #publicBackToTop {
    border: 1px solid var(--ku-border-solid-strong) !important;
    box-shadow: 0 5px 13px rgba(10, 27, 47, .11) !important;
}

body.kitunzi-app-shell .status-badge > i,
body.kitunzi-app-shell .badge > i,
body.kitunzi-app-shell .status-chip > i {
    font-size: .72rem !important;
}

/* ---------- Public site: words and supporting copy remain clearly visible ---------- */
body.public-layout {
    color: #263b2e !important;
}

    body.public-layout .public-nav-link {
        color: #33493b !important;
        font-size: .8rem !important;
        font-weight: 700 !important;
    }

        body.public-layout .public-nav-link i {
            color: #4e6757 !important;
        }

    body.public-layout .home-title,
    body.public-layout .section-heading h2,
    body.public-layout .section-title,
    body.public-layout .policy-page-header h1,
    body.public-layout .policy-card h2,
    body.public-layout .policy-card h3 {
        color: #082f17 !important;
        text-shadow: 0 1px 0 #ffffff;
    }

    body.public-layout .home-subtitle,
    body.public-layout .section-heading p,
    body.public-layout .section-subtitle,
    body.public-layout .feature-card-updated p,
    body.public-layout .uganda-card p,
    body.public-layout .workflow-card-updated p,
    body.public-layout .policy-card p,
    body.public-layout .policy-card li,
    body.public-layout .accordion-body {
        color: #3a5041 !important;
        font-weight: 520 !important;
    }

    body.public-layout .home-subtitle {
        font-size: clamp(1rem, 1.25vw, 1.16rem) !important;
        line-height: 1.7 !important;
    }

    body.public-layout .section-heading p,
    body.public-layout .section-subtitle {
        font-size: clamp(.9rem, 1vw, 1rem) !important;
        line-height: 1.65 !important;
    }

    body.public-layout .feature-card-updated,
    body.public-layout .uganda-card,
    body.public-layout .workflow-card-updated,
    body.public-layout .hero-preview-card,
    body.public-layout .dashboard-showcase,
    body.public-layout .policy-card,
    body.public-layout .system-state-card,
    body.public-layout .cta-box {
        border: 1px solid var(--ku-border-solid-strong) !important;
        box-shadow: var(--ku-shadow-card-solid) !important;
    }

        body.public-layout .feature-card-updated h5,
        body.public-layout .uganda-card h5,
        body.public-layout .workflow-card-updated h5 {
            color: #132f1d !important;
            font-size: .96rem !important;
            font-weight: 780 !important;
        }

        body.public-layout .feature-card-updated p,
        body.public-layout .uganda-card p,
        body.public-layout .workflow-card-updated p {
            font-size: .81rem !important;
            line-height: 1.62 !important;
        }

    body.public-layout .trust-pill {
        border-color: #b9cbbd !important;
        background: #ffffff !important;
        color: #344a3c !important;
        font-weight: 700 !important;
        box-shadow: 0 3px 9px rgba(10, 27, 47, .07) !important;
    }

    body.public-layout .public-side-rail,
    body.auth-page .auth-side-rail {
        border-color: var(--ku-border-solid-strong) !important;
        background: #ffffff !important;
        box-shadow: 0 12px 28px rgba(10, 27, 47, .14) !important;
    }

    body.public-layout .public-side-rail-label,
    body.auth-page .auth-side-rail-label {
        padding: .38rem .24rem;
        border: 1px solid #c5d5c8;
        border-radius: 8px;
        background: var(--ku-surface-green);
        color: #24442f !important;
        font-size: .62rem !important;
        font-weight: 820 !important;
        letter-spacing: .09em !important;
    }

    body.public-layout .public-side-rail-links a,
    body.auth-page .auth-side-rail-links a {
        border-color: #d2ded4 !important;
        background: #ffffff !important;
        color: #36503f !important;
        box-shadow: 0 3px 8px rgba(10, 27, 47, .07) !important;
    }

        body.public-layout .public-side-rail-links a:hover,
        body.public-layout .public-side-rail-links a.is-active,
        body.auth-page .auth-side-rail-links a:hover {
            border-color: var(--ku-border-solid-accent) !important;
            background: var(--ku-surface-green) !important;
            color: var(--ku-brand-700) !important;
            box-shadow: 0 6px 12px rgba(10, 27, 47, .11) !important;
        }

/* ---------- Responsive refinements ---------- */
@media (max-width: 991.98px) {
    body.kitunzi-app-shell .sidebar {
        box-shadow: none !important;
    }

        body.kitunzi-app-shell .sidebar.open,
        body.kitunzi-app-shell .sidebar.mobile-open,
        body.kitunzi-app-shell .sidebar.mobile-show {
            box-shadow: 16px 0 48px rgba(4, 20, 9, .30) !important;
        }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .footer-ki {
        margin-top: auto !important;
        background: var(--ku-brand-950) !important;
    }

    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .dashboard-stat-card,
    body.kitunzi-app-shell .dashboard-small-stat,
    body.kitunzi-app-shell .metric-card,
    body.kitunzi-app-shell .kpi-card,
    body.kitunzi-app-shell .bucket-stat-card,
    body.kitunzi-app-shell .platform-stat-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .session-summary-card {
        min-height: 112px !important;
        padding: .88rem !important;
    }

    body.kitunzi-app-shell .ki-table-pagination,
    body.kitunzi-app-shell .product-pagination-bar,
    body.kitunzi-app-shell .session-pagination {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.kitunzi-app-shell .ki-pagination-tools,
    body.kitunzi-app-shell .ki-pagination-controls {
        width: 100%;
        justify-content: space-between;
    }

    body.public-layout .public-footer-inner {
        min-height: 0;
        padding: 1rem 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-app-shell .dashboard-stat-grid > *,
    body.kitunzi-app-shell .summary-grid > *,
    body.kitunzi-app-shell .bucket-stats-grid > *,
    body.kitunzi-app-shell .session-summary-grid > *,
    body.kitunzi-app-shell .operation-summary-grid > * {
        animation: none !important;
    }
}

/* Pass V footer lockup and semantic footer icons. */
body.kitunzi-app-shell .footer-ki-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: .58rem;
}

body.kitunzi-app-shell .footer-ki-mark {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #477856;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
}

    body.kitunzi-app-shell .footer-ki-mark img {
        width: 31px;
        height: 31px;
        display: block;
        object-fit: contain;
    }

body.kitunzi-app-shell .footer-ki-copy {
    min-width: 0;
    display: grid;
    gap: .05rem;
}

    body.kitunzi-app-shell .footer-ki-copy strong {
        color: #ffffff !important;
        font-size: .72rem;
        font-weight: 760;
        line-height: 1.2;
    }

    body.kitunzi-app-shell .footer-ki-copy small {
        overflow: hidden;
        color: #b7cfbd !important;
        font-size: .62rem;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

body.kitunzi-app-shell .footer-links a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

    body.kitunzi-app-shell .footer-links a i {
        color: #a9cbb2;
        font-size: .75rem;
    }

    body.kitunzi-app-shell .footer-links a:hover i {
        color: #ffffff;
    }

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .footer-ki-brand {
        justify-content: center;
    }

    body.kitunzi-app-shell .footer-ki-mark {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

        body.kitunzi-app-shell .footer-ki-mark img {
            width: 27px;
            height: 27px;
        }
}

/* Wide-screen side rails expose readable labels without crowding normal layouts. */
body.public-layout .public-side-rail-links a > span,
body.auth-page .auth-side-rail-links a > span {
    display: none;
}

@media (min-width: 1680px) {
    body.public-layout .public-side-rail,
    body.auth-page .auth-side-rail {
        width: 142px;
        padding: .48rem;
        align-items: stretch;
    }

    body.public-layout .public-side-rail-mark,
    body.auth-page .auth-side-rail-mark {
        align-self: center;
    }

    body.public-layout .public-side-rail-links a,
    body.auth-page .auth-side-rail-links a {
        width: 100%;
        height: 40px;
        padding: .38rem .52rem;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: .48rem;
        white-space: nowrap;
    }

        body.public-layout .public-side-rail-links a > i,
        body.auth-page .auth-side-rail-links a > i {
            width: 20px;
            flex: 0 0 20px;
            text-align: center;
        }

        body.public-layout .public-side-rail-links a > span,
        body.auth-page .auth-side-rail-links a > span {
            display: inline;
            overflow: hidden;
            color: inherit;
            font-size: .68rem;
            font-weight: 720;
            text-overflow: ellipsis;
        }

    body.public-layout .public-side-rail-label,
    body.auth-page .auth-side-rail-label {
        writing-mode: horizontal-tb;
        transform: none;
        text-align: center;
    }
}

/* Pass V page headers use the same solid-border surface system. */
body.kitunzi-app-shell .page-header,
body.kitunzi-app-shell .page-header-compact,
body.kitunzi-app-shell .ki-enhanced-page-header,
body.kitunzi-app-shell .stock-hero-card,
body.kitunzi-app-shell .product-hero-card,
body.kitunzi-app-shell .dashboard-hero,
body.kitunzi-app-shell .reports-hero,
body.kitunzi-app-shell .permissions-hero {
    border: 1px solid var(--ku-border-solid-strong) !important;
    border-top: 1px solid var(--kt-border) !important;
    background: #ffffff !important;
    box-shadow: var(--ku-shadow-panel-solid) !important;
}

    body.kitunzi-app-shell .page-header::before,
    body.kitunzi-app-shell .page-header-compact::before,
    body.kitunzi-app-shell .ki-enhanced-page-header::before,
    body.kitunzi-app-shell .stock-hero-card::before,
    body.kitunzi-app-shell .product-hero-card::before,
    body.kitunzi-app-shell .dashboard-hero::before,
    body.kitunzi-app-shell .reports-hero::before,
    body.kitunzi-app-shell .permissions-hero::before {
        background: var(--ku-brand-700) !important;
        opacity: 1 !important;
    }

/* ========================================================================
   PASS V.1 - footer geometry, authentication surface, and public legibility
   ======================================================================== */

/* Legacy shell rules reserved fixed-header/footer space on every body. The
   public and authentication layouts own their own flow, so that compensation
   must be removed or it leaves visible blank strips above and below the page. */
body.public-layout,
body.auth-page {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.public-layout {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
}

    body.public-layout .public-main {
        min-height: 0 !important;
        flex: 1 1 auto !important;
    }

    body.public-layout .public-footer {
        width: 100%;
        margin-top: auto !important;
        flex: 0 0 auto !important;
    }

/* Keep the authentication note at the real viewport bottom on short pages,
   while allowing long registration/reset forms to push it down naturally. */
body.auth-page .kitunzi-auth-shell,
body.auth-page .kitunzi-auth-register-shell {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    padding: clamp(1rem, 2.6vw, 2.5rem) clamp(.85rem, 2.6vw, 2rem) 0 !important;
    overflow: visible !important;
}

body.auth-page .auth-form-stage,
body.auth-page .auth-form-stage-register {
    min-height: calc(100vh - clamp(1rem, 2.6vw, 2.5rem)) !important;
    min-height: calc(100dvh - clamp(1rem, 2.6vw, 2.5rem)) !important;
    flex: 1 1 auto !important;
    overflow: visible !important;
}

body.auth-page .auth-foot-note {
    margin-top: auto !important;
    flex: 0 0 auto !important;
}

/* Authentication cards now use the same solid-border and layered-elevation
   system as the application cards instead of the older translucent outline. */
body.auth-page .auth-form-card,
body.auth-page .auth-form-card-register {
    border: 1px solid var(--ku-border-solid-strong) !important;
    border-top: 1px solid var(--kt-border) !important;
    background: #ffffff !important;
    box-shadow: var(--ku-shadow-card-solid) !important;
}

body.auth-page .auth-card-context-icon,
body.auth-page .auth-security-icon,
body.auth-page .auth-page-brand-icon {
    border: 1px solid var(--ku-border-solid-green) !important;
    background: var(--ku-surface-green-strong) !important;
    color: var(--ku-brand-800) !important;
    box-shadow: 0 5px 13px rgba(10, 27, 47, .11) !important;
}

/* Make wide-screen public/auth navigation words read as navigation labels,
   not tiny captions. */
@media (min-width: 1680px) {
    body.public-layout .public-side-rail,
    body.auth-page .auth-side-rail {
        width: 150px;
    }

    body.public-layout .public-side-rail-links a > span,
    body.auth-page .auth-side-rail-links a > span {
        font-size: .76rem !important;
        font-weight: 760 !important;
        letter-spacing: -.005em;
    }

    body.public-layout .public-side-rail-label,
    body.auth-page .auth-side-rail-label {
        font-size: .68rem !important;
    }
}

@media (max-width: 767.98px) {
    body.auth-page .kitunzi-auth-shell,
    body.auth-page .kitunzi-auth-register-shell {
        padding: .75rem .75rem 0 !important;
    }

    body.auth-page .auth-form-stage,
    body.auth-page .auth-form-stage-register {
        min-height: calc(100dvh - .75rem) !important;
    }
}

/* Compact pagination for dashboard/report tables: still five active rows, but
   without turning small information panels into oversized control surfaces. */
body.kitunzi-app-shell .dashboard-card .ki-table-pagination,
body.kitunzi-app-shell .reports-section .ki-table-pagination,
body.kitunzi-app-shell .reports-card .ki-table-pagination,
body.kitunzi-app-shell .report-card-polished .ki-table-pagination,
body.kitunzi-app-shell .compact-dashboard-table ~ .ki-table-pagination,
body.kitunzi-app-shell .reports-mini-table ~ .ki-table-pagination {
    min-height: 44px;
    padding: .42rem .52rem !important;
    gap: .45rem;
    border-top-color: #c9d8cc !important;
    background: #f6faf7 !important;
    box-shadow: none !important;
}

body.kitunzi-app-shell .dashboard-card .ki-pagination-summary,
body.kitunzi-app-shell .reports-section .ki-pagination-summary,
body.kitunzi-app-shell .reports-card .ki-pagination-summary,
body.kitunzi-app-shell .report-card-polished .ki-pagination-summary {
    font-size: .61rem !important;
}

body.kitunzi-app-shell .dashboard-card .ki-pagination-page,
body.kitunzi-app-shell .reports-section .ki-pagination-page,
body.kitunzi-app-shell .reports-card .ki-pagination-page,
body.kitunzi-app-shell .report-card-polished .ki-pagination-page {
    display: none;
}

/* Public feature icons use the same deliberate solid-border language as the
   portal, with enough elevation to read as functional visual anchors. */
body.public-layout .feature-icon,
body.public-layout .uganda-icon,
body.public-layout .workflow-number,
body.public-layout .preview-logo-box,
body.public-layout .report-icon {
    border: 1px solid var(--ku-border-solid-strong) !important;
    box-shadow: 0 1px 2px rgba(10, 27, 47, .06), 0 6px 14px rgba(10, 27, 47, .10) !important;
}

    body.public-layout .feature-icon > i,
    body.public-layout .uganda-icon > i,
    body.public-layout .preview-logo-box > i,
    body.public-layout .report-icon > i {
        font-size: 1.05rem !important;
        line-height: 1 !important;
    }

/* Keep the final public call-to-action deliberately dark so its wording never
   disappears against the card surface. */
body.public-layout .cta-section-updated {
    background: var(--ku-brand-950) !important;
}

    body.public-layout .cta-section-updated .cta-box {
        padding: clamp(1.5rem, 4vw, 2.6rem) !important;
        border: 1px solid #477856 !important;
        border-top: 1px solid var(--kt-border) !important;
        background: #103b20 !important;
        color: #ffffff !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .18), 0 18px 42px rgba(0, 0, 0, .22) !important;
    }

        body.public-layout .cta-section-updated .cta-box h2 {
            color: #ffffff !important;
            text-shadow: none !important;
        }

        body.public-layout .cta-section-updated .cta-box p {
            color: #d9eadf !important;
            font-size: clamp(.96rem, 1.1vw, 1.08rem) !important;
            font-weight: 520 !important;
            line-height: 1.65 !important;
        }

/* ========================================================================
   ORDER WORKFLOW + STOCK CARD + REPORTING + FIXED PORTAL FOOTER
   Added for operational-session integrity without changing Kitunzi's theme.
   ======================================================================== */

body.kitunzi-app-shell .main-content {
    padding-bottom: 6rem !important;
}

body.kitunzi-app-shell .footer-ki {
    position: fixed !important;
    left: var(--ku-sidebar-width) !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 1035 !important;
    border-top: 1px solid #c8d6cb !important;
    box-shadow: 0 -8px 24px rgba(10, 27, 47, .08) !important;
    background: #ffffff !important;
}

body.kitunzi-app-shell.sidebar-collapsed .footer-ki {
    left: var(--ku-sidebar-collapsed-width) !important;
}

.session-progress-four {
    grid-template-columns: auto minmax(24px, 1fr) auto minmax(24px, 1fr) auto minmax(24px, 1fr) auto !important;
}

.session-form-section {
    padding: .85rem;
    border: 1px solid #d7e2da;
    border-radius: .75rem;
    background: #f9fbf9;
}

    .session-form-section + .session-form-section {
        margin-top: .75rem;
    }

.session-form-section-title {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
    color: #154f29;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.close-summary-box-extended {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.session-stock-card-panel,
.stock-card-report {
    overflow: hidden;
    border-top: 1px solid var(--kt-border) !important;
}

.session-stock-card-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1rem;
    flex-wrap: wrap;
}

    .session-stock-card-header > div:first-child {
        display: grid;
        gap: .18rem;
    }

    .session-stock-card-header small {
        color: #68776d;
        font-weight: 500;
    }

.stock-card-summary-inline {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

    .stock-card-summary-inline > span {
        display: inline-flex;
        align-items: center;
        gap: .3rem;
        padding: .34rem .5rem;
        border: 1px solid #d4e0d7;
        border-radius: .55rem;
        background: #f5f9f6;
        color: #647268;
        font-size: .68rem;
        white-space: nowrap;
    }

    .stock-card-summary-inline strong {
        color: #153e24;
        font-size: .72rem;
    }

.stock-card-note {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    color: #68766c;
    font-size: .72rem;
    line-height: 1.45;
}

    .stock-card-note i {
        color: #168A4B;
        margin-top: .08rem;
    }

.stock-card-table {
    min-width: 1050px;
}

    .stock-card-table thead th {
        white-space: normal !important;
        vertical-align: bottom;
        font-size: .66rem !important;
        line-height: 1.15;
    }

    .stock-card-table tbody td {
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

.badge-info,
.status-ordered {
    border-color: #b9ccef !important;
    background: #e9f0ff !important;
    color: #28569d !important;
}

.reports-chart-grid,
.dashboard-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.ki-report-bars,
.ki-status-chart {
    display: grid;
    gap: .68rem;
}

.ki-report-bar-row {
    display: grid;
    grid-template-columns: 58px minmax(80px, 1fr) minmax(104px, auto);
    align-items: center;
    gap: .6rem;
    font-size: .72rem;
}

.ki-report-bar-label {
    color: #5f6f64;
    font-weight: 700;
}

.ki-report-bar-row > strong {
    text-align: right;
    color: #173f24;
    font-size: .72rem;
    font-variant-numeric: tabular-nums;
}

.ki-report-bar-track,
.ki-status-chart-track {
    position: relative;
    height: .62rem;
    overflow: hidden;
    border: 1px solid #d6e2d8;
    border-radius: 999px;
    background: #edf3ee;
}

    .ki-report-bar-fill,
    .ki-status-chart-track > span {
        display: block;
        min-width: 2px;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #168A4B, #3f9a5a);
    }

.ki-status-chart-row {
    display: grid;
    gap: .3rem;
}

    .ki-status-chart-row > div:first-child {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        color: #4d5d52;
        font-size: .72rem;
    }

        .ki-status-chart-row > div:first-child strong {
            color: #173f24;
        }

    .ki-status-chart-row > small {
        color: #728076;
        text-align: right;
        font-size: .65rem;
    }

@media (max-width: 991.98px) {
    body.kitunzi-app-shell .footer-ki,
    body.kitunzi-app-shell.sidebar-collapsed .footer-ki {
        left: 0 !important;
    }

    .reports-chart-grid,
    .dashboard-chart-grid {
        grid-template-columns: 1fr;
    }

    .session-stock-card-header {
        display: grid !important;
    }

    .stock-card-summary-inline {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell .main-content {
        padding-bottom: 7rem !important;
    }

    body.kitunzi-app-shell .footer-ki {
        padding: .55rem .7rem !important;
    }

    body.kitunzi-app-shell .footer-links {
        display: none !important;
    }

    .close-summary-box-extended {
        grid-template-columns: 1fr !important;
    }

    .session-progress-four {
        grid-template-columns: 1fr !important;
        gap: .35rem !important;
    }

        .session-progress-four .line {
            display: none !important;
        }

    .ki-report-bar-row {
        grid-template-columns: 48px minmax(60px, 1fr) 84px;
        gap: .35rem;
    }
}

@media print {
    body.kitunzi-app-shell .footer-ki {
        display: none !important;
    }

    body.kitunzi-app-shell .main-content {
        padding-bottom: 0 !important;
    }

    .reports-chart-grid,
    .dashboard-chart-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* ========================================================================
   KITUNZI SYSTEM-WIDE SPACING + SURFACE REFINEMENT
   2026-08-21
   Purpose:
   - improve spacing hierarchy across the whole portal
   - reduce the "boxes inside boxes" appearance
   - use a deliberate theme-aligned accent instead of full rectangular borders
   - simplify table containers and row treatment
   - keep reports/dashboard/forms visually consistent
   - keep the portal footer fixed without covering page content
   ======================================================================== */



/* ---------- Page rhythm ---------- */
body.kitunzi-app-shell {
    background: var(--ku-refine-canvas) !important;
}

    body.kitunzi-app-shell .main-content {
        padding: clamp(.95rem, 1.55vw, 1.55rem) clamp(.95rem, 1.7vw, 1.7rem) calc(var(--ku-footer-height, 52px) + 2.1rem) !important;
    }

        body.kitunzi-app-shell .main-content > * + * {
            margin-top: var(--ku-refine-page-gap) !important;
        }

    body.kitunzi-app-shell .row.g-1,
    body.kitunzi-app-shell .row.g-2,
    body.kitunzi-app-shell .row.g-3,
    body.kitunzi-app-shell .row.g-4,
    body.kitunzi-app-shell .dashboard-stat-grid,
    body.kitunzi-app-shell .reports-stat-grid,
    body.kitunzi-app-shell .summary-grid,
    body.kitunzi-app-shell .stats-grid,
    body.kitunzi-app-shell .reports-chart-grid,
    body.kitunzi-app-shell .dashboard-chart-grid,
    body.kitunzi-app-shell .session-workflow-grid,
    body.kitunzi-app-shell .operation-summary-grid {
        row-gap: var(--ku-refine-page-gap) !important;
    }

    /* Page headings should read as headings, not another large card. */
    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .page-header-compact,
    body.kitunzi-app-shell .ki-enhanced-page-header,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .permissions-hero,
    body.kitunzi-app-shell .stock-hero-card,
    body.kitunzi-app-shell .product-hero-card {
        padding: .35rem .2rem .9rem .9rem !important;
        border: 0 !important;
        border-left: 4px solid var(--kt-primary-700) !important;
        border-bottom: 1px solid var(--ku-refine-line-soft) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

        body.kitunzi-app-shell .page-header::before,
        body.kitunzi-app-shell .page-header::after,
        body.kitunzi-app-shell .page-header-compact::before,
        body.kitunzi-app-shell .page-header-compact::after,
        body.kitunzi-app-shell .ki-enhanced-page-header::before,
        body.kitunzi-app-shell .ki-enhanced-page-header::after,
        body.kitunzi-app-shell .reports-hero::before,
        body.kitunzi-app-shell .reports-hero::after,
        body.kitunzi-app-shell .dashboard-hero::before,
        body.kitunzi-app-shell .dashboard-hero::after,
        body.kitunzi-app-shell .permissions-hero::before,
        body.kitunzi-app-shell .permissions-hero::after {
            display: none !important;
            content: none !important;
        }

        body.kitunzi-app-shell .page-header h1,
        body.kitunzi-app-shell .page-header-compact h1,
        body.kitunzi-app-shell .ki-enhanced-page-header h1,
        body.kitunzi-app-shell .reports-hero h1,
        body.kitunzi-app-shell .dashboard-hero h1 {
            margin-bottom: .2rem !important;
            color: var(--kt-shell-950) !important;
            letter-spacing: -.025em !important;
        }

    /* ---------- Shared cards / panels ---------- */
    body.kitunzi-app-shell .card,
    body.kitunzi-app-shell .card-ki,
    body.kitunzi-app-shell .panel,
    body.kitunzi-app-shell .dashboard-card,
    body.kitunzi-app-shell .info-card,
    body.kitunzi-app-shell .report-card-polished,
    body.kitunzi-app-shell .reports-section,
    body.kitunzi-app-shell .acc-card,
    body.kitunzi-app-shell .bucket-section,
    body.kitunzi-app-shell .session-control-panel,
    body.kitunzi-app-shell .session-form-panel,
    body.kitunzi-app-shell .role-workspace,
    body.kitunzi-app-shell .personal-dashboard-card,
    body.kitunzi-app-shell .quick-action-card,
    body.kitunzi-app-shell .featured-deal-card,
    body.kitunzi-app-shell .product-card-sm,
    body.kitunzi-app-shell .pos-products-panel,
    body.kitunzi-app-shell .pos-cart-panel-polished,
    body.kitunzi-app-shell .receipt-card {
        border: 0 !important;
        border-top: 1px solid var(--kt-border) !important;
        border-radius: var(--ku-refine-radius) !important;
        background: var(--ku-refine-surface) !important;
        box-shadow: var(--ku-refine-shadow) !important;
    }

        body.kitunzi-app-shell a.card:hover,
        body.kitunzi-app-shell a.card-ki:hover,
        body.kitunzi-app-shell .clickable-card:hover,
        body.kitunzi-app-shell .quick-action-card:hover,
        body.kitunzi-app-shell .featured-deal-card:hover,
        body.kitunzi-app-shell .product-card-sm:hover {
            border-top-color: var(--kt-shell-950) !important;
            box-shadow: var(--ku-refine-shadow-hover) !important;
            transform: translateY(-1px) !important;
        }

    body.kitunzi-app-shell .card-header,
    body.kitunzi-app-shell .ki-card-header,
    body.kitunzi-app-shell .reports-card-header,
    body.kitunzi-app-shell .stock-card-header,
    body.kitunzi-app-shell .product-table-header,
    body.kitunzi-app-shell .panel-header,
    body.kitunzi-app-shell .platform-panel-header {
        min-height: 50px !important;
        padding: .78rem var(--ku-refine-card-pad) !important;
        border: 0 !important;
        border-bottom: 1px solid var(--ku-refine-line-soft) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell .card-body,
    body.kitunzi-app-shell .ki-card-body,
    body.kitunzi-app-shell .panel-body,
    body.kitunzi-app-shell .reports-card-body {
        padding: var(--ku-refine-card-pad) !important;
    }

    body.kitunzi-app-shell .section-heading {
        margin-bottom: .7rem !important;
        padding-bottom: .55rem;
        border-bottom: 1px solid var(--ku-refine-line-soft);
    }

    /* ---------- KPI / summary cards ---------- */
    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .dashboard-stat-card,
    body.kitunzi-app-shell .dashboard-small-stat,
    body.kitunzi-app-shell .metric-card,
    body.kitunzi-app-shell .kpi-card,
    body.kitunzi-app-shell .bucket-stat-card,
    body.kitunzi-app-shell .platform-stat-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .role-summary-card,
    body.kitunzi-app-shell .permission-stat-pill,
    body.kitunzi-app-shell .session-summary-card,
    body.kitunzi-app-shell .my-sales-stat {
        min-height: 112px !important;
        padding: .95rem 1rem !important;
        border: 0 !important;
        border-top: 1px solid var(--kt-border) !important;
        border-radius: 13px !important;
        background: #ffffff !important;
        box-shadow: 0 1px 2px rgba(10, 27, 47, .03), 0 7px 18px rgba(10, 27, 47, .055) !important;
    }

        body.kitunzi-app-shell .stat-card::before,
        body.kitunzi-app-shell .stat-card::after,
        body.kitunzi-app-shell .summary-card::before,
        body.kitunzi-app-shell .summary-card::after,
        body.kitunzi-app-shell .dashboard-stat-card::before,
        body.kitunzi-app-shell .dashboard-stat-card::after,
        body.kitunzi-app-shell .reports-stat::before,
        body.kitunzi-app-shell .reports-stat::after,
        body.kitunzi-app-shell .kpi-card::before,
        body.kitunzi-app-shell .kpi-card::after {
            display: none !important;
            content: none !important;
        }

    body.kitunzi-app-shell .stat-label,
    body.kitunzi-app-shell .summary-label,
    body.kitunzi-app-shell .metric-label,
    body.kitunzi-app-shell .kpi-label,
    body.kitunzi-app-shell .reports-stat-label {
        color: var(--ku-refine-muted) !important;
        font-size: .64rem !important;
        font-weight: 760 !important;
        letter-spacing: .055em !important;
    }

    body.kitunzi-app-shell .stat-value,
    body.kitunzi-app-shell .stat-number,
    body.kitunzi-app-shell .summary-value,
    body.kitunzi-app-shell .metric-value,
    body.kitunzi-app-shell .kpi-value,
    body.kitunzi-app-shell .reports-stat-value {
        color: var(--kt-shell-950) !important;
        font-size: clamp(1.3rem, 1.5vw, 1.7rem) !important;
        font-weight: 800 !important;
        line-height: 1.12 !important;
    }

    body.kitunzi-app-shell .stat-icon,
    body.kitunzi-app-shell .summary-icon,
    body.kitunzi-app-shell .metric-icon,
    body.kitunzi-app-shell .kpi-icon,
    body.kitunzi-app-shell .report-icon,
    body.kitunzi-app-shell .card-icon {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: var(--kt-primary-100) !important;
        color: var(--kt-primary-700) !important;
        box-shadow: none !important;
    }

    /* ---------- Filter/form regions ---------- */
    body.kitunzi-app-shell .reports-filter-card,
    body.kitunzi-app-shell .filter-card,
    body.kitunzi-app-shell .sales-filter-card,
    body.kitunzi-app-shell .payment-filter-card,
    body.kitunzi-app-shell .supplier-filter-card,
    body.kitunzi-app-shell .stock-filter-card,
    body.kitunzi-app-shell .form-card,
    body.kitunzi-app-shell .search-panel,
    body.kitunzi-app-shell .toolbar-panel {
        padding: .9rem 1rem !important;
        border: 0 !important;
        border-left: 3px solid var(--kt-primary-700) !important;
        border-radius: var(--ku-refine-radius-sm) !important;
        background: #ffffff !important;
        box-shadow: 0 4px 14px rgba(10, 27, 47, .045) !important;
    }

    body.kitunzi-app-shell .form-grid,
    body.kitunzi-app-shell .filter-grid,
    body.kitunzi-app-shell .report-filter-grid {
        gap: .8rem 1rem !important;
    }

    /* ---------- Tables: one surface, no rectangular box around every table ---------- */
    body.kitunzi-app-shell .table-card,
    body.kitunzi-app-shell .stock-table-card,
    body.kitunzi-app-shell .product-table-card,
    body.kitunzi-app-shell .payment-table-card,
    body.kitunzi-app-shell .supplier-table-card,
    body.kitunzi-app-shell .sales-table-card,
    body.kitunzi-app-shell .my-sales-table-card,
    body.kitunzi-app-shell .session-table-card,
    body.kitunzi-app-shell .permissions-matrix-card {
        border: 0 !important;
        border-top: 1px solid var(--kt-border) !important;
        border-radius: var(--ku-refine-radius) !important;
        background: #ffffff !important;
        box-shadow: var(--ku-refine-shadow) !important;
        overflow: hidden !important;
    }

    body.kitunzi-app-shell .table-responsive,
    body.kitunzi-app-shell .table-responsive-custom,
    body.kitunzi-app-shell .data-table-wrapper,
    body.kitunzi-app-shell .ki-table-wrap,
    body.kitunzi-app-shell .ki-data-region {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell table,
    body.kitunzi-app-shell .table,
    body.kitunzi-app-shell .table-ki {
        border: 0 !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        background: transparent !important;
    }

        body.kitunzi-app-shell table thead th,
        body.kitunzi-app-shell .table thead th,
        body.kitunzi-app-shell .table-ki thead th {
            padding: .68rem .78rem !important;
            border: 0 !important;
            border-bottom: 2px solid #bfd2c3 !important;
            border-radius: 0 !important;
            background: var(--kt-primary-100) !important;
            color: var(--kt-shell-950) !important;
            font-size: .62rem !important;
            font-weight: 780 !important;
            letter-spacing: .045em !important;
        }

        body.kitunzi-app-shell table tbody td,
        body.kitunzi-app-shell .table tbody td,
        body.kitunzi-app-shell .table-ki tbody td {
            padding: .72rem .78rem !important;
            border: 0 !important;
            border-bottom: 1px solid var(--ku-refine-line-soft) !important;
            background: #ffffff !important;
            color: var(--ku-refine-text) !important;
        }

        body.kitunzi-app-shell table tbody tr:last-child td,
        body.kitunzi-app-shell .table tbody tr:last-child td,
        body.kitunzi-app-shell .table-ki tbody tr:last-child td {
            border-bottom: 0 !important;
        }

        body.kitunzi-app-shell table tbody tr:hover td,
        body.kitunzi-app-shell .table tbody tr:hover td,
        body.kitunzi-app-shell .table-ki tbody tr:hover td {
            background: #f7fbf8 !important;
        }

    body.kitunzi-app-shell .ki-table-pagination,
    body.kitunzi-app-shell .product-pagination-bar,
    body.kitunzi-app-shell .session-pagination {
        min-height: 46px !important;
        padding: .5rem .72rem !important;
        border: 0 !important;
        border-top: 1px solid var(--ku-refine-line-soft) !important;
        border-radius: 0 !important;
        background: #FBFCFE !important;
        box-shadow: none !important;
    }

    /* ---------- Reports and charts ---------- */
    body.kitunzi-app-shell .report-document-header,
    body.kitunzi-app-shell .reports-document-header,
    body.kitunzi-app-shell .report-summary-header {
        padding: .95rem 1rem !important;
        border: 0 !important;
        border-left: 4px solid var(--kt-primary-700) !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 4px 16px rgba(10, 27, 47, .045) !important;
    }

    body.kitunzi-app-shell .reports-chart-grid,
    body.kitunzi-app-shell .dashboard-chart-grid {
        gap: var(--ku-refine-page-gap) !important;
    }

        body.kitunzi-app-shell .reports-chart-grid > *,
        body.kitunzi-app-shell .dashboard-chart-grid > *,
        body.kitunzi-app-shell .chart-card,
        body.kitunzi-app-shell .chart-panel,
        body.kitunzi-app-shell .revenue-card {
            padding: 0 !important;
            border: 0 !important;
            border-top: 1px solid var(--kt-border) !important;
            border-radius: var(--ku-refine-radius) !important;
            background: #ffffff !important;
            box-shadow: var(--ku-refine-shadow) !important;
            overflow: hidden !important;
        }

    body.kitunzi-app-shell .ki-report-bar-track,
    body.kitunzi-app-shell .ki-status-chart-track {
        border: 0 !important;
        background: #e7eee8 !important;
        box-shadow: inset 0 1px 2px rgba(10, 27, 47, .05) !important;
    }

        body.kitunzi-app-shell .ki-report-bar-fill,
        body.kitunzi-app-shell .ki-status-chart-track > span {
            background: var(--kt-primary-700) !important;
            background-image: none !important;
        }

    /* ---------- Fixed portal footer ---------- */
    body.kitunzi-app-shell .footer-ki {
        position: fixed !important;
        left: var(--ku-sidebar-width) !important;
        right: 0 !important;
        bottom: 0 !important;
        width: auto !important;
        min-height: var(--ku-footer-height, 52px) !important;
        margin: 0 !important;
        padding: .58rem clamp(.8rem, 1.35vw, 1.35rem) !important;
        z-index: 1035 !important;
        border: 0 !important;
        border-top: 1px solid #cfdbd1 !important;
        background: rgba(255, 255, 255, .97) !important;
        color: var(--ku-refine-muted) !important;
        box-shadow: 0 -6px 20px rgba(10, 27, 47, .06) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
    }

        body.kitunzi-app-shell .footer-ki strong {
            color: var(--kt-shell-950) !important;
        }

        body.kitunzi-app-shell .footer-ki .footer-links a {
            color: var(--ku-refine-muted) !important;
        }

            body.kitunzi-app-shell .footer-ki .footer-links a:hover {
                background: var(--kt-primary-100) !important;
                color: var(--kt-shell-950) !important;
            }

    body.kitunzi-app-shell.sidebar-collapsed .footer-ki {
        left: var(--ku-sidebar-collapsed-width, 82px) !important;
    }

/* ---------- Responsive refinements ---------- */
@media (max-width: 991.98px) {
    body.kitunzi-app-shell .footer-ki,
    body.kitunzi-app-shell.sidebar-collapsed .footer-ki {
        left: 0 !important;
    }

    body.kitunzi-app-shell .main-content {
        padding-inline: .9rem !important;
    }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell .main-content {
        padding: .8rem .8rem calc(var(--ku-footer-height, 52px) + 1.8rem) !important;
    }

    body.kitunzi-app-shell .page-header,
    body.kitunzi-app-shell .page-header-compact,
    body.kitunzi-app-shell .ki-enhanced-page-header,
    body.kitunzi-app-shell .reports-hero,
    body.kitunzi-app-shell .dashboard-hero,
    body.kitunzi-app-shell .permissions-hero {
        padding: .25rem .1rem .75rem .75rem !important;
    }

    body.kitunzi-app-shell .footer-ki {
        min-height: 50px !important;
        padding: .5rem .7rem !important;
    }

    body.kitunzi-app-shell .footer-links {
        display: none !important;
    }

    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .dashboard-stat-card {
        min-height: 98px !important;
        padding: .8rem .85rem !important;
    }
}

@media print {
    body.kitunzi-app-shell .footer-ki {
        display: none !important;
    }

    body.kitunzi-app-shell .main-content {
        padding: 0 !important;
    }

    body.kitunzi-app-shell .card,
    body.kitunzi-app-shell .card-ki,
    body.kitunzi-app-shell .table-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .chart-card {
        box-shadow: none !important;
    }
}


/* ===== Consolidated premium system rules formerly spread across kitunzi-premium.css ===== */
/* =====================================================================
   KITUNZI AURORA — SYSTEM-WIDE ULTRA-PREMIUM DESIGN SYSTEM
   Presentation-only layer. Loaded LAST after legacy and page styles.
   Scope: shell, navigation, breadcrumbs, cards, forms, tables, dashboards,
   reports, auth/public surfaces, responsive behavior and motion.
   ===================================================================== */



html {
    min-width: 320px;
    background: var(--kt-canvas);
}

body.kitunzi-theme-aurora {
    color: var(--kt-text);
    background: var(--kt-canvas);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

    body.kitunzi-theme-aurora a,
    body.kitunzi-theme-aurora button,
    body.kitunzi-theme-aurora input,
    body.kitunzi-theme-aurora select,
    body.kitunzi-theme-aurora textarea,
    body.kitunzi-theme-aurora [role="button"] {
        transition: color var(--kt-fast) var(--kt-ease), background-color var(--kt-fast) var(--kt-ease), border-color var(--kt-fast) var(--kt-ease), box-shadow var(--kt-state) var(--kt-ease), transform var(--kt-state) var(--kt-ease), opacity var(--kt-fast) var(--kt-ease);
    }

    body.kitunzi-theme-aurora :focus-visible {
        outline: 2px solid rgba(91, 143, 247, .88) !important;
        outline-offset: 2px !important;
    }

/* =====================================================================
   1. APPLICATION SHELL — one continuous dark frame
   ===================================================================== */

body.kitunzi-app-shell.kitunzi-theme-aurora {
    min-height: 100dvh;
    overflow-x: clip;
    background: radial-gradient(circle at 86% 8%, rgba(21, 94, 239, .055), transparent 25rem), var(--kt-canvas) !important;
    color: var(--kt-text) !important;
    font-size: .875rem;
    line-height: 1.5;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        z-index: 1045 !important;
        width: var(--kt-sidebar-width) !important;
        max-width: min(92vw, var(--kt-sidebar-width)) !important;
        height: 100dvh !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        border: 0 !important;
        border-right: 1px solid rgba(255, 255, 255, .07) !important;
        background: var(--kt-shell-950) !important;
        color: #d7e3f1 !important;
        box-shadow: 12px 0 34px rgba(6, 20, 34, .14) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-header {
        min-height: var(--kt-topbar-height) !important;
        padding: .72rem .78rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
        background: var(--kt-shell-950) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-brand,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-brand-with-logo {
        min-height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .brand-logo-wide-wrap {
        height: 48px !important;
        padding: .28rem .52rem !important;
        display: inline-flex !important;
        align-items: center !important;
        border: 1px solid rgba(255, 255, 255, .10) !important;
        border-radius: 13px !important;
        background: #ffffff !important;
        box-shadow: 0 6px 16px rgba(0, 0, 0, .11) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-logo-wide {
        max-width: 174px !important;
        max-height: 38px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-brand-mark {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .bar-context {
        margin: .75rem .72rem .38rem !important;
        padding: .72rem .78rem !important;
        display: grid !important;
        gap: .16rem !important;
        border: 1px solid rgba(126, 169, 227, .22) !important;
        border-radius: 13px !important;
        background: rgba(255, 255, 255, .055) !important;
        color: #edf5ff !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .bar-context small {
            color: #8ea7c3 !important;
            font-size: .61rem !important;
            font-weight: 720 !important;
            letter-spacing: .08em !important;
            text-transform: uppercase !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .bar-context strong {
            color: #f5f9ff !important;
            font-size: .78rem !important;
            font-weight: 720 !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-nav {
        flex: 1 1 auto !important;
        padding: .45rem .62rem 1rem !important;
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-section {
        margin: 0 0 .26rem !important;
        padding: 0 0 .32rem !important;
        border-bottom: 1px solid rgba(255, 255, 255, .055) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-section:last-child {
            border-bottom: 0 !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-group-title {
        padding: .58rem .64rem .3rem !important;
        color: #7892af !important;
        font-size: .58rem !important;
        font-weight: 760 !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle {
        position: relative !important;
        width: 100% !important;
        min-height: 40px !important;
        margin: 0 0 .14rem !important;
        padding: .43rem .58rem !important;
        display: flex !important;
        align-items: center !important;
        gap: .58rem !important;
        overflow: hidden !important;
        border: 1px solid transparent !important;
        border-radius: 10px !important;
        background: transparent !important;
        color: #c4d2e2 !important;
        font-size: .765rem !important;
        font-weight: 590 !important;
        line-height: 1.2 !important;
        box-shadow: none !important;
        transform: none !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle::before {
            content: "" !important;
            position: absolute !important;
            inset: 8px auto 8px 0 !important;
            width: 3px !important;
            border-radius: 999px !important;
            background: transparent !important;
            transform: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle::after {
            display: none !important;
            content: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link > i,
        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle > i:first-child {
            width: 27px !important;
            height: 27px !important;
            flex: 0 0 27px !important;
            display: inline-grid !important;
            place-items: center !important;
            border: 1px solid rgba(255, 255, 255, .06) !important;
            border-radius: 8px !important;
            background: rgba(255, 255, 255, .035) !important;
            color: #90a9c3 !important;
            font-size: .89rem !important;
            box-shadow: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle[aria-expanded="true"] {
            border-color: rgba(141, 178, 228, .17) !important;
            background: rgba(102, 154, 225, .09) !important;
            color: #f2f7ff !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link:hover > i,
            body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle:hover > i:first-child,
            body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle[aria-expanded="true"] > i:first-child {
                border-color: rgba(143, 181, 234, .24) !important;
                background: rgba(91, 143, 247, .13) !important;
                color: #d9e7ff !important;
                transform: translateX(1px) !important;
            }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link.active {
            border-color: rgba(128, 167, 222, .24) !important;
            background: linear-gradient(180deg, rgba(91, 143, 247, .18), rgba(91, 143, 247, .11)) !important;
            color: #ffffff !important;
            font-weight: 720 !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 5px 16px rgba(0, 0, 0, .08) !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link.active::before {
                background: #7aa9ff !important;
            }

            body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-link.active > i {
                border-color: rgba(164, 195, 240, .32) !important;
                background: rgba(255, 255, 255, .09) !important;
                color: #ffffff !important;
            }

    body.kitunzi-app-shell.kitunzi-theme-aurora .menu-chevron,
    body.kitunzi-app-shell.kitunzi-theme-aurora .collapse-icon {
        margin-left: auto !important;
        color: #7891ac !important;
        font-size: .67rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle[aria-expanded="true"] .menu-chevron,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-menu-toggle[aria-expanded="true"] .collapse-icon {
        transform: rotate(180deg) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-submenu {
        margin: .15rem 0 .35rem .86rem !important;
        padding: .08rem 0 .08rem .48rem !important;
        border-left: 1px solid rgba(132, 168, 216, .17) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-submenu .sidebar-link {
            min-height: 35px !important;
            padding: .35rem .48rem !important;
            font-size: .72rem !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-submenu .sidebar-link > i {
                width: 23px !important;
                height: 23px !important;
                flex-basis: 23px !important;
                font-size: .76rem !important;
            }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-close {
        width: 34px !important;
        height: 34px !important;
        border: 1px solid rgba(255, 255, 255, .12) !important;
        border-radius: 10px !important;
        background: rgba(255, 255, 255, .06) !important;
        color: #dbe8f6 !important;
    }

    /* Topbar */
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar {
        position: fixed !important;
        inset: 0 0 auto var(--kt-sidebar-width) !important;
        z-index: 1035 !important;
        width: auto !important;
        height: var(--kt-topbar-height) !important;
        min-height: var(--kt-topbar-height) !important;
        padding: 0 clamp(.8rem, 1.25vw, 1.35rem) !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        grid-template-areas: "left center right" !important;
        align-items: center !important;
        gap: 1rem !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
        background: var(--kt-shell-950) !important;
        color: #eef5ff !important;
        box-shadow: 0 10px 30px rgba(6, 20, 34, .13) !important;
        backdrop-filter: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-left {
        grid-area: left !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-center {
        grid-area: center !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-right {
        grid-area: right !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-left,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-right {
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-right {
        justify-content: flex-end !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-title-block {
        min-width: 0 !important;
        display: grid !important;
        gap: .18rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-page-title {
        margin: 0 !important;
        max-width: min(100%, 520px) !important;
        overflow: hidden !important;
        color: #f5f8ff !important;
        font-size: .92rem !important;
        font-weight: 730 !important;
        line-height: 1.15 !important;
        letter-spacing: -.012em !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-btn {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        display: inline-grid !important;
        place-items: center !important;
        border: 1px solid rgba(173, 198, 230, .16) !important;
        border-radius: 11px !important;
        background: rgba(255, 255, 255, .055) !important;
        color: #c9d8e9 !important;
        box-shadow: none !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-btn:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-btn[aria-expanded="true"] {
            border-color: rgba(173, 203, 241, .31) !important;
            background: rgba(91, 143, 247, .15) !important;
            color: #ffffff !important;
            transform: translateY(-1px) !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-center {
        max-width: min(40vw, 540px) !important;
        justify-self: center !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-context-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-card {
        min-height: 43px !important;
        max-width: 100% !important;
        padding: .34rem .66rem !important;
        display: flex !important;
        align-items: center !important;
        gap: .52rem !important;
        overflow: hidden !important;
        border: 1px solid rgba(174, 202, 238, .16) !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, .055) !important;
        color: #ecf4ff !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-icon {
        width: 29px !important;
        height: 29px !important;
        flex: 0 0 29px !important;
        display: inline-grid !important;
        place-items: center !important;
        border: 1px solid rgba(168, 198, 236, .18) !important;
        border-radius: 8px !important;
        background: rgba(91, 143, 247, .14) !important;
        color: #b9d2ff !important;
        font-size: .78rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-text,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-text {
        min-width: 0 !important;
        display: grid !important;
        gap: .03rem !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-text strong,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-text strong {
            overflow: hidden !important;
            color: #f2f7ff !important;
            font-size: .72rem !important;
            font-weight: 710 !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-text small,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-text small {
            color: #91a9c3 !important;
            font-size: .59rem !important;
            font-weight: 560 !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-text small i,
            body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-text small i {
                color: #82adff !important;
            }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-dot-separator {
        width: 3px !important;
        height: 3px !important;
        margin: 0 .25rem !important;
        border-radius: 50% !important;
        background: #6f89a6 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu {
        min-height: 42px !important;
        padding: .26rem .45rem .26rem .28rem !important;
        display: flex !important;
        align-items: center !important;
        gap: .46rem !important;
        border: 1px solid rgba(173, 198, 230, .16) !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, .055) !important;
        color: #eef5ff !important;
        box-shadow: none !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu[aria-expanded="true"] {
            border-color: rgba(173, 203, 241, .30) !important;
            background: rgba(91, 143, 247, .13) !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .avatar {
        width: 33px !important;
        height: 33px !important;
        flex: 0 0 33px !important;
        border: 1px solid rgba(186, 210, 241, .21) !important;
        border-radius: 9px !important;
        background: #184b7d !important;
        color: #ffffff !important;
        font-size: .67rem !important;
        font-weight: 790 !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .user-name {
        color: #f5f8ff !important;
        font-size: .71rem !important;
        font-weight: 710 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .user-details,
    body.kitunzi-app-shell.kitunzi-theme-aurora .user-bar {
        color: #92a7be !important;
        font-size: .58rem !important;
    }

    /* Main / Footer */
    body.kitunzi-app-shell.kitunzi-theme-aurora .main-wrapper {
        width: calc(100% - var(--kt-sidebar-width)) !important;
        min-height: 100dvh !important;
        margin: 0 0 0 var(--kt-sidebar-width) !important;
        padding: var(--kt-topbar-height) 0 0 !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
        flex: 1 0 auto !important;
        width: 100% !important;
        min-height: calc(100dvh - var(--kt-topbar-height) - var(--kt-footer-min-height)) !important;
        margin: 0 !important;
        padding: var(--kt-page-gutter) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .main-content > * + * {
            margin-top: var(--kt-section-gap) !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki {
        position: relative !important;
        inset: auto !important;
        z-index: 20 !important;
        width: 100% !important;
        min-height: var(--kt-footer-min-height) !important;
        margin: auto 0 0 !important;
        padding: .68rem var(--kt-page-gutter) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: .9rem !important;
        border: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, .07) !important;
        background: var(--kt-shell-950) !important;
        color: #91a7be !important;
        box-shadow: 0 -8px 24px rgba(6, 20, 34, .09) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki-brand {
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: .55rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki-mark {
        width: 30px !important;
        height: 30px !important;
        flex: 0 0 30px !important;
        display: grid !important;
        place-items: center !important;
        padding: 4px !important;
        border-radius: 9px !important;
        background: #ffffff !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, .13) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki-mark img {
            max-width: 100% !important;
            max-height: 100% !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki-copy {
        min-width: 0 !important;
        display: grid !important;
        gap: .02rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki strong {
        color: #eef5ff !important;
        font-size: .68rem !important;
        font-weight: 690 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki small {
        color: #8399b1 !important;
        font-size: .59rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-links {
        display: inline-flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        gap: .18rem !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .footer-links a {
            padding: .32rem .48rem !important;
            border-radius: 8px !important;
            color: #a9bdd3 !important;
            font-size: .63rem !important;
            font-weight: 620 !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .footer-links a:hover {
                background: rgba(91, 143, 247, .12) !important;
                color: #ffffff !important;
            }

    /* =====================================================================
   2. BREADCRUMBS — compact premium blue-border treatment
   ===================================================================== */

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-shell {
        width: fit-content !important;
        max-width: min(690px, 55vw) !important;
        min-height: 27px !important;
        display: inline-flex !important;
        align-items: center !important;
        padding: 2px !important;
        border: 1px solid rgba(154, 188, 236, .28) !important;
        border-radius: 9px !important;
        background: rgba(255, 255, 255, .065) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 3px 10px rgba(0, 0, 0, .055) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item,
        body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a,
        body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item span {
            min-width: 0 !important;
            color: #91a8c2 !important;
            font-size: .62rem !important;
            font-weight: 600 !important;
            line-height: 1 !important;
            text-decoration: none !important;
            white-space: nowrap !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a,
            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item > span {
                min-height: 21px !important;
                display: inline-flex !important;
                align-items: center !important;
                gap: .28rem !important;
                padding: .26rem .43rem !important;
                border-radius: 7px !important;
            }

                body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a:hover {
                    background: rgba(91, 143, 247, .15) !important;
                    color: #ffffff !important;
                }

            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item i {
                width: 17px !important;
                height: 17px !important;
                display: inline-grid !important;
                place-items: center !important;
                border: 1px solid rgba(171, 200, 238, .18) !important;
                border-radius: 5px !important;
                background: rgba(255, 255, 255, .055) !important;
                color: #a9c6f5 !important;
                font-size: .6rem !important;
            }

            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item + .breadcrumb-item::before {
                content: "\F285" !important;
                display: inline-flex !important;
                align-items: center !important;
                padding: 0 .14rem !important;
                color: #65809f !important;
                font-family: "bootstrap-icons" !important;
                font-size: .5rem !important;
                line-height: 1 !important;
            }

            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item.active {
                min-height: 21px !important;
                max-width: 260px !important;
                display: inline-flex !important;
                align-items: center !important;
                overflow: hidden !important;
                padding: .27rem .48rem !important;
                border: 1px solid rgba(158, 190, 238, .23) !important;
                border-radius: 7px !important;
                background: rgba(91, 143, 247, .13) !important;
                color: #f2f7ff !important;
                font-weight: 720 !important;
                text-overflow: ellipsis !important;
                white-space: nowrap !important;
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03) !important;
            }

    /* =====================================================================
   3. TYPOGRAPHY, PAGE HEADERS, CONTENT RHYTHM
   ===================================================================== */

    body.kitunzi-app-shell.kitunzi-theme-aurora h1,
    body.kitunzi-app-shell.kitunzi-theme-aurora h2,
    body.kitunzi-app-shell.kitunzi-theme-aurora h3,
    body.kitunzi-app-shell.kitunzi-theme-aurora h4,
    body.kitunzi-app-shell.kitunzi-theme-aurora h5,
    body.kitunzi-app-shell.kitunzi-theme-aurora h6 {
        margin-top: 0 !important;
        color: var(--kt-text-strong) !important;
        letter-spacing: -.02em !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .page-header h1,
    body.kitunzi-app-shell.kitunzi-theme-aurora .page-header-compact h1,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-page-title,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-hero h1,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-hero h1 {
        margin: 0 !important;
        color: var(--kt-text-strong) !important;
        font-size: clamp(1.55rem, 2vw, 2rem) !important;
        font-weight: 790 !important;
        line-height: 1.08 !important;
        letter-spacing: -.037em !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora h2,
    body.kitunzi-app-shell.kitunzi-theme-aurora .h2 {
        font-size: clamp(1.08rem, 1.2vw, 1.35rem) !important;
        font-weight: 740 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora h3,
    body.kitunzi-app-shell.kitunzi-theme-aurora .h3 {
        font-size: clamp(.96rem, 1vw, 1.1rem) !important;
        font-weight: 720 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora p,
    body.kitunzi-app-shell.kitunzi-theme-aurora .text-muted,
    body.kitunzi-app-shell.kitunzi-theme-aurora .text-muted-custom {
        color: var(--kt-text-muted) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .page-subtitle,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-page-subtitle,
    body.kitunzi-app-shell.kitunzi-theme-aurora .section-subtitle,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-subtitle {
        max-width: 74ch !important;
        margin: .28rem 0 0 !important;
        color: var(--kt-text-muted) !important;
        font-size: .79rem !important;
        line-height: 1.48 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .page-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .page-header-compact,
    body.kitunzi-app-shell.kitunzi-theme-aurora .compact-page-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-page-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-hero {
        position: relative !important;
        min-height: 0 !important;
        margin: 0 0 var(--kt-section-gap) !important;
        padding: 1rem 1.05rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 1rem !important;
        overflow: hidden !important;
        border: 1px solid var(--kt-border-blue) !important;
        border-left: 4px solid var(--kt-primary-700) !important;
        border-radius: var(--kt-radius-md) !important;
        background: var(--kt-surface) !important;
        box-shadow: var(--kt-shadow-sm) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .page-header::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .page-header::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .page-header-compact::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .page-header-compact::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-hero::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-hero::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-hero::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-hero::after {
            display: none !important;
            content: none !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-page-eyebrow,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-eyebrow,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-eyebrow,
    body.kitunzi-app-shell.kitunzi-theme-aurora [class$="-eyebrow"] {
        min-height: 25px !important;
        margin-bottom: .45rem !important;
        padding: .26rem .48rem !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: .32rem !important;
        border: 1px solid #cddcf1 !important;
        border-radius: var(--kt-radius-pill) !important;
        background: var(--kt-primary-50) !important;
        color: var(--kt-primary-800) !important;
        font-size: .61rem !important;
        font-weight: 720 !important;
        letter-spacing: .055em !important;
        text-transform: uppercase !important;
    }

    /* =====================================================================
   4. CARDS, PANELS, KPI / SUMMARY CARDS
   ===================================================================== */

    body.kitunzi-app-shell.kitunzi-theme-aurora .card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-ki,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .info-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-table-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-matrix-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .report-card-polished,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-filter-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .acc-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .bucket-section,
    body.kitunzi-app-shell.kitunzi-theme-aurora .session-control-panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .session-form-panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .role-workspace,
    body.kitunzi-app-shell.kitunzi-theme-aurora .personal-dashboard-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-card-sm,
    body.kitunzi-app-shell.kitunzi-theme-aurora .quick-action-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .profile-summary-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-form-panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-table-panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .permission-role-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .category-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .category-form-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .category-preview-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-hero-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .receipt-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-table-card {
        position: relative !important;
        overflow: hidden !important;
        border: 1px solid var(--kt-border) !important;
        border-radius: var(--kt-radius-md) !important;
        background: var(--kt-surface) !important;
        box-shadow: var(--kt-shadow-sm) !important;
        transform: none !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora a.card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora a.card-ki:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .clickable-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .quick-action-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .product-card-sm:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .report-card-polished:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .category-card:hover {
            border-color: var(--kt-border-blue-strong) !important;
            box-shadow: var(--kt-shadow-md) !important;
            transform: translateY(-2px) !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .card-ki::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .card-ki::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card::after {
            display: none !important;
            content: none !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-card-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-card-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-matrix-head,
    body.kitunzi-app-shell.kitunzi-theme-aurora .panel-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-panel-header {
        min-height: 52px !important;
        padding: .82rem .95rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: .8rem !important;
        border: 0 !important;
        border-bottom: 1px solid var(--kt-border-subtle) !important;
        border-radius: 0 !important;
        background: var(--kt-surface-2) !important;
        color: var(--kt-text) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-body,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card-body,
    body.kitunzi-app-shell.kitunzi-theme-aurora .panel-body {
        padding: .95rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-title,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card-title,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-header h2,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-header h3,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-header h4,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-header h5 {
        margin: 0 !important;
        color: var(--kt-text-strong) !important;
        font-size: .88rem !important;
        font-weight: 720 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .role-summary-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .preview-stat {
        position: relative !important;
        min-height: 116px !important;
        padding: .9rem .95rem !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        gap: .58rem !important;
        overflow: hidden !important;
        border: 1px solid var(--kt-border-blue) !important;
        border-radius: var(--kt-radius-md) !important;
        background: var(--kt-surface) !important;
        box-shadow: var(--kt-shadow-sm) !important;
        transform: none !important;
        transition: transform var(--kt-state) var(--kt-ease), box-shadow var(--kt-state) var(--kt-ease), border-color var(--kt-state) var(--kt-ease), background-color var(--kt-state) var(--kt-ease) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat::before {
            content: "" !important;
            position: absolute !important;
            inset: 0 auto 0 0 !important;
            width: 3px !important;
            display: block !important;
            background: var(--kt-primary-700) !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat::after {
            content: "" !important;
            position: absolute !important;
            right: -30px !important;
            bottom: -34px !important;
            width: 92px !important;
            height: 92px !important;
            display: block !important;
            border: 15px solid rgba(91, 143, 247, .055) !important;
            border-radius: 50% !important;
            background: transparent !important;
            pointer-events: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .stock-stat-card:hover {
            border-color: var(--kt-border-blue-strong) !important;
            box-shadow: var(--kt-shadow-md) !important;
            transform: translateY(-2px) !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .bucket-stat-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .report-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .qac-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .pcs-icon,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat-icon-box {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
        display: inline-grid !important;
        place-items: center !important;
        border: 1px solid #c9d9ef !important;
        border-radius: 11px !important;
        background: var(--kt-primary-75) !important;
        color: var(--kt-primary-700) !important;
        font-size: .95rem !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-label,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-label,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-label,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-label,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat-label,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat-label {
        color: var(--kt-text-muted) !important;
        font-size: .64rem !important;
        font-weight: 700 !important;
        letter-spacing: .055em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-value,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-number,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-value,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-value,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-value,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat-value,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat-value,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card h3 {
        margin: .08rem 0 0 !important;
        color: var(--kt-text-strong) !important;
        font-size: clamp(1.28rem, 1.5vw, 1.72rem) !important;
        font-weight: 790 !important;
        line-height: 1.08 !important;
        letter-spacing: -.035em !important;
        font-variant-numeric: tabular-nums !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stats-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .bucket-stats-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .operation-summary-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .notification-summary-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .audit-summary-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr)) !important;
        gap: .78rem !important;
    }

/* =====================================================================
   5. BUTTONS, LINKS, FORMS
   ===================================================================== */

body.kitunzi-theme-aurora .btn:not(.btn-close),
body.kitunzi-theme-aurora .btn-ki {
    min-height: 40px !important;
    padding: .48rem .76rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .4rem !important;
    border-width: 1px !important;
    border-radius: 10px !important;
    font-size: .755rem !important;
    font-weight: 680 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: var(--kt-shadow-xs) !important;
    transform: none !important;
}

    body.kitunzi-theme-aurora .btn:hover:not(:disabled),
    body.kitunzi-theme-aurora .btn-ki:hover:not(:disabled) {
        transform: translateY(-1px) !important;
        box-shadow: var(--kt-shadow-sm) !important;
    }

    body.kitunzi-theme-aurora .btn:active:not(:disabled),
    body.kitunzi-theme-aurora .btn-ki:active:not(:disabled) {
        transform: translateY(0) !important;
        box-shadow: inset 0 1px 2px rgba(15, 29, 49, .12) !important;
    }

body.kitunzi-theme-aurora .btn-primary,
body.kitunzi-theme-aurora .btn-ki-primary {
    border-color: var(--kt-primary-700) !important;
    background: var(--kt-primary-700) !important;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(21, 94, 239, .20) !important;
}

    body.kitunzi-theme-aurora .btn-primary:hover,
    body.kitunzi-theme-aurora .btn-ki-primary:hover {
        border-color: var(--kt-primary-800) !important;
        background: var(--kt-primary-800) !important;
    }

body.kitunzi-theme-aurora .btn-success,
body.kitunzi-theme-aurora .btn-ki-success {
    border-color: var(--kt-success-600) !important;
    background: var(--kt-success-600) !important;
    color: #fff !important;
}

body.kitunzi-theme-aurora .btn-warning,
body.kitunzi-theme-aurora .btn-ki-warning {
    border-color: var(--kt-warning-600) !important;
    background: var(--kt-warning-600) !important;
    color: #fff !important;
}

body.kitunzi-theme-aurora .btn-danger,
body.kitunzi-theme-aurora .btn-ki-danger {
    border-color: var(--kt-danger-600) !important;
    background: var(--kt-danger-600) !important;
    color: #fff !important;
}

body.kitunzi-theme-aurora .btn-ki-soft,
body.kitunzi-theme-aurora .btn-ki-ghost,
body.kitunzi-theme-aurora .btn-ki-light,
body.kitunzi-theme-aurora .btn-light,
body.kitunzi-theme-aurora .btn-outline-secondary,
body.kitunzi-theme-aurora .btn-outline-primary {
    border-color: var(--kt-border) !important;
    background: var(--kt-surface) !important;
    color: var(--kt-text) !important;
}

    body.kitunzi-theme-aurora .btn-ki-soft:hover,
    body.kitunzi-theme-aurora .btn-ki-ghost:hover,
    body.kitunzi-theme-aurora .btn-ki-light:hover,
    body.kitunzi-theme-aurora .btn-light:hover,
    body.kitunzi-theme-aurora .btn-outline-secondary:hover,
    body.kitunzi-theme-aurora .btn-outline-primary:hover {
        border-color: var(--kt-border-blue) !important;
        background: var(--kt-primary-50) !important;
        color: var(--kt-primary-800) !important;
    }

body.kitunzi-theme-aurora .btn-sm,
body.kitunzi-theme-aurora .btn-ki-sm {
    min-height: 34px !important;
    padding: .38rem .6rem !important;
    font-size: .69rem !important;
}

body.kitunzi-theme-aurora .btn-icon,
body.kitunzi-theme-aurora .icon-button {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
}

body.kitunzi-theme-aurora a:not(.sidebar-link):not(.public-nav-link):not(.dropdown-item):not(.btn):not(.btn-ki) {
    color: var(--kt-primary-700);
    text-decoration-color: rgba(21, 94, 239, .28);
    text-underline-offset: 2px;
}

    body.kitunzi-theme-aurora a:not(.sidebar-link):not(.public-nav-link):not(.dropdown-item):not(.btn):not(.btn-ki):hover {
        color: var(--kt-primary-800);
        text-decoration-color: currentColor;
    }

body.kitunzi-theme-aurora .form-label,
body.kitunzi-theme-aurora label:not(.form-check-label) {
    margin-bottom: .32rem !important;
    color: #40516a !important;
    font-size: .71rem !important;
    font-weight: 660 !important;
    line-height: 1.25 !important;
}

body.kitunzi-theme-aurora .form-control,
body.kitunzi-theme-aurora .form-select,
body.kitunzi-theme-aurora .input-group-text {
    min-height: var(--kt-control-height) !important;
    padding-top: .52rem !important;
    padding-bottom: .52rem !important;
    border: 1px solid var(--kt-border) !important;
    border-radius: 10px !important;
    background: var(--kt-surface) !important;
    color: var(--kt-text) !important;
    font-size: .79rem !important;
    line-height: 1.25 !important;
    box-shadow: inset 0 1px 1px rgba(15, 29, 49, .018) !important;
}

    body.kitunzi-theme-aurora .form-control:hover:not(:disabled):not([readonly]),
    body.kitunzi-theme-aurora .form-select:hover:not(:disabled) {
        border-color: var(--kt-border-strong) !important;
    }

    body.kitunzi-theme-aurora .form-control:focus,
    body.kitunzi-theme-aurora .form-select:focus,
    body.kitunzi-theme-aurora .form-check-input:focus {
        border-color: var(--kt-primary-500) !important;
        box-shadow: var(--kt-focus) !important;
    }

    body.kitunzi-theme-aurora .form-control::placeholder {
        color: #9aa5b4 !important;
        opacity: 1 !important;
    }

body.kitunzi-theme-aurora textarea.form-control {
    min-height: 96px !important;
    resize: vertical !important;
}

body.kitunzi-theme-aurora .form-control:disabled,
body.kitunzi-theme-aurora .form-select:disabled,
body.kitunzi-theme-aurora .form-control[readonly] {
    background: #f2f5f8 !important;
    color: #7f8b9b !important;
    opacity: 1 !important;
}

body.kitunzi-theme-aurora .form-check-input {
    border-color: var(--kt-border-strong) !important;
    box-shadow: none !important;
}

    body.kitunzi-theme-aurora .form-check-input:checked {
        border-color: var(--kt-primary-700) !important;
        background-color: var(--kt-primary-700) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .form-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .details-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .filter-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .report-filter-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)) !important;
    gap: .8rem !important;
}

/* =====================================================================
   6. TABLES, SEARCH, FILTERS, PAGINATION
   ===================================================================== */

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-data-region,
body.kitunzi-app-shell.kitunzi-theme-aurora .table-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .stock-table-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-table-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-table-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .brand-table-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-table-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .payment-table-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .sales-table-card {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-md) !important;
    background: var(--kt-surface) !important;
    box-shadow: var(--kt-shadow-sm) !important;
    overflow: hidden !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .table-responsive,
body.kitunzi-app-shell.kitunzi-theme-aurora .table-responsive-custom,
body.kitunzi-app-shell.kitunzi-theme-aurora .data-table-wrapper,
body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-wrap,
body.kitunzi-app-shell.kitunzi-theme-aurora .compact-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-gutter: stable !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-overflow-scrolling: touch !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora table,
body.kitunzi-app-shell.kitunzi-theme-aurora .table,
body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki,
body.kitunzi-app-shell.kitunzi-theme-aurora .data-table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: var(--kt-surface) !important;
    color: var(--kt-text) !important;
    font-size: .75rem !important;
    font-variant-numeric: tabular-nums !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora table thead th,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table thead th,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki thead th,
    body.kitunzi-app-shell.kitunzi-theme-aurora .data-table thead th {
        padding: .72rem .78rem !important;
        border: 0 !important;
        border-bottom: 1px solid #dbe6f2 !important;
        background: #f1f6fc !important;
        color: #3d5069 !important;
        font-size: .61rem !important;
        font-weight: 730 !important;
        letter-spacing: .055em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora table tbody td,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table tbody td,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki tbody td,
    body.kitunzi-app-shell.kitunzi-theme-aurora .data-table tbody td {
        padding: .7rem .78rem !important;
        border: 0 !important;
        border-bottom: 1px solid #edf1f6 !important;
        background: var(--kt-surface) !important;
        color: #26374d !important;
        line-height: 1.35 !important;
        vertical-align: middle !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora table tbody tr:last-child td,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table tbody tr:last-child td,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki tbody tr:last-child td {
        border-bottom: 0 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora table tbody tr,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table tbody tr,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki tbody tr {
        transition: background-color var(--kt-fast) var(--kt-ease), box-shadow var(--kt-fast) var(--kt-ease) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora table tbody tr:hover td,
        body.kitunzi-app-shell.kitunzi-theme-aurora .table tbody tr:hover td,
        body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki tbody tr:hover td {
            background: #f8fbff !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora table tbody tr:hover td:first-child,
            body.kitunzi-app-shell.kitunzi-theme-aurora .table tbody tr:hover td:first-child,
            body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki tbody tr:hover td:first-child {
                box-shadow: inset 3px 0 0 rgba(21, 94, 239, .55) !important;
            }

    body.kitunzi-app-shell.kitunzi-theme-aurora table td.text-end,
    body.kitunzi-app-shell.kitunzi-theme-aurora table th.text-end,
    body.kitunzi-app-shell.kitunzi-theme-aurora table td[data-label*="Amount"],
    body.kitunzi-app-shell.kitunzi-theme-aurora table td[data-label*="Price"],
    body.kitunzi-app-shell.kitunzi-theme-aurora table td[data-label*="Total"] {
        font-variant-numeric: tabular-nums !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora table .btn,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table .btn,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki .btn {
        min-height: 32px !important;
        padding: .32rem .48rem !important;
        border-radius: 8px !important;
        font-size: .66rem !important;
        box-shadow: none !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .table-action-group,
body.kitunzi-app-shell.kitunzi-theme-aurora .action-buttons {
    gap: .28rem !important;
    flex-wrap: nowrap !important;
}

/* Reusable table toolkit */
body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar {
    min-height: 58px !important;
    padding: .68rem .78rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    flex-wrap: wrap !important;
    border-bottom: 1px solid var(--kt-border-subtle) !important;
    background: var(--kt-surface-2) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar-main,
body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar-actions {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-search-wrap {
    position: relative !important;
    min-width: min(300px, 100%) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-search {
    min-height: 38px !important;
    padding-left: 2.2rem !important;
    padding-right: 2rem !important;
    background: #fff !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-search-icon {
    position: absolute !important;
    left: .75rem !important;
    top: 50% !important;
    z-index: 2 !important;
    color: #8795a8 !important;
    transform: translateY(-50%) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-search-clear {
    position: absolute !important;
    right: .46rem !important;
    top: 50% !important;
    z-index: 2 !important;
    width: 26px !important;
    height: 26px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #8b98aa !important;
    transform: translateY(-50%) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-panel {
    width: min(520px, calc(100vw - 2rem)) !important;
    padding: .75rem !important;
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-sm) !important;
    background: #fff !important;
    box-shadow: var(--kt-shadow-overlay) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-filter-chip {
    min-height: 27px !important;
    padding: .25rem .45rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .28rem !important;
    border: 1px solid #cbdcf4 !important;
    border-radius: var(--kt-radius-pill) !important;
    background: var(--kt-primary-50) !important;
    color: var(--kt-primary-800) !important;
    font-size: .63rem !important;
    font-weight: 650 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-pagination,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-pagination-bar,
body.kitunzi-app-shell.kitunzi-theme-aurora .session-pagination {
    min-height: 52px !important;
    padding: .62rem .78rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    flex-wrap: wrap !important;
    border-top: 1px solid var(--kt-border-subtle) !important;
    background: var(--kt-surface-2) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-pagination-summary,
body.kitunzi-app-shell.kitunzi-theme-aurora .pagination-summary {
    color: var(--kt-text-muted) !important;
    font-size: .63rem !important;
    font-weight: 600 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-pagination-btn,
body.kitunzi-app-shell.kitunzi-theme-aurora .ki-pagination-number,
body.kitunzi-app-shell.kitunzi-theme-aurora .page-link {
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 .45rem !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid var(--kt-border) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #516178 !important;
    font-size: .67rem !important;
    font-weight: 650 !important;
    box-shadow: none !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-pagination-btn:hover:not(:disabled),
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-pagination-number:hover:not(.is-active),
    body.kitunzi-app-shell.kitunzi-theme-aurora .page-link:hover {
        border-color: var(--kt-border-blue) !important;
        background: var(--kt-primary-50) !important;
        color: var(--kt-primary-800) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-pagination-number.is-active,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-pagination-number[aria-current="page"],
    body.kitunzi-app-shell.kitunzi-theme-aurora .page-item.active .page-link {
        border-color: var(--kt-primary-700) !important;
        background: var(--kt-primary-700) !important;
        color: #fff !important;
        box-shadow: 0 4px 10px rgba(21, 94, 239, .18) !important;
    }

/* =====================================================================
   7. BADGES, ALERTS, DROPDOWNS, MODALS, OFFCANVAS
   ===================================================================== */

body.kitunzi-theme-aurora .badge,
body.kitunzi-theme-aurora .status-badge,
body.kitunzi-theme-aurora .stock-badge,
body.kitunzi-theme-aurora [class*="ki-status-"] {
    min-height: 23px !important;
    padding: .25rem .48rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .26rem !important;
    border: 1px solid transparent !important;
    border-radius: var(--kt-radius-pill) !important;
    font-size: .6rem !important;
    font-weight: 680 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

    body.kitunzi-theme-aurora .badge-active,
    body.kitunzi-theme-aurora .badge-approved,
    body.kitunzi-theme-aurora .badge-success,
    body.kitunzi-theme-aurora .status-active,
    body.kitunzi-theme-aurora .stock-badge.in-stock,
    body.kitunzi-theme-aurora .ki-status-approved {
        border-color: rgba(22, 138, 75, .16) !important;
        background: var(--kt-success-100) !important;
        color: var(--kt-success-700) !important;
    }

    body.kitunzi-theme-aurora .badge-pending,
    body.kitunzi-theme-aurora .badge-warning,
    body.kitunzi-theme-aurora .stock-badge.low-stock,
    body.kitunzi-theme-aurora .ki-status-pending {
        border-color: rgba(201, 116, 6, .16) !important;
        background: var(--kt-warning-100) !important;
        color: var(--kt-warning-700) !important;
    }

    body.kitunzi-theme-aurora .badge-rejected,
    body.kitunzi-theme-aurora .badge-danger,
    body.kitunzi-theme-aurora .stock-badge.out-of-stock,
    body.kitunzi-theme-aurora .ki-status-suspended {
        border-color: rgba(198, 55, 66, .14) !important;
        background: var(--kt-danger-100) !important;
        color: var(--kt-danger-700) !important;
    }

body.kitunzi-theme-aurora .badge-inactive,
body.kitunzi-theme-aurora .badge-neutral,
body.kitunzi-theme-aurora .status-inactive {
    border-color: var(--kt-border) !important;
    background: #f1f4f7 !important;
    color: #657386 !important;
}

body.kitunzi-theme-aurora .alert {
    padding: .72rem .82rem !important;
    border-width: 1px !important;
    border-radius: 11px !important;
    font-size: .73rem !important;
    box-shadow: var(--kt-shadow-xs) !important;
}

body.kitunzi-theme-aurora .alert-success {
    border-color: rgba(22, 138, 75, .16) !important;
    background: #effaf4 !important;
    color: #135d36 !important;
}

body.kitunzi-theme-aurora .alert-warning {
    border-color: rgba(201, 116, 6, .16) !important;
    background: #fff8e8 !important;
    color: #70430a !important;
}

body.kitunzi-theme-aurora .alert-danger {
    border-color: rgba(198, 55, 66, .15) !important;
    background: #fff2f3 !important;
    color: #81222a !important;
}

body.kitunzi-theme-aurora .alert-info {
    border-color: rgba(11, 107, 143, .15) !important;
    background: #eff9fc !important;
    color: #145b72 !important;
}

body.kitunzi-theme-aurora .dropdown-menu,
body.kitunzi-theme-aurora .user-dropdown-menu,
body.kitunzi-theme-aurora .notification-menu {
    border: 1px solid var(--kt-border) !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .99) !important;
    box-shadow: var(--kt-shadow-overlay) !important;
}

body.kitunzi-theme-aurora .dropdown-item {
    min-height: 37px !important;
    padding: .46rem .56rem !important;
    border-radius: 8px !important;
    color: #4a5a70 !important;
    font-size: .71rem !important;
}

    body.kitunzi-theme-aurora .dropdown-item:hover,
    body.kitunzi-theme-aurora .dropdown-item:focus {
        background: var(--kt-primary-50) !important;
        color: var(--kt-primary-800) !important;
    }

body.kitunzi-theme-aurora .modal-content,
body.kitunzi-theme-aurora .offcanvas,
body.kitunzi-theme-aurora .side-panel {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-lg) !important;
    background: #fff !important;
    box-shadow: var(--kt-shadow-overlay) !important;
}

    body.kitunzi-theme-aurora .offcanvas.offcanvas-end,
    body.kitunzi-theme-aurora .side-panel {
        border-radius: var(--kt-radius-lg) 0 0 var(--kt-radius-lg) !important;
    }

        body.kitunzi-theme-aurora .modal-header,
        body.kitunzi-theme-aurora .modal-footer,
        body.kitunzi-theme-aurora .offcanvas-header,
        body.kitunzi-theme-aurora .side-panel .panel-header,
        body.kitunzi-theme-aurora .side-panel .panel-footer {
            padding: .8rem .92rem !important;
            border-color: var(--kt-border-subtle) !important;
            background: var(--kt-surface-2) !important;
        }

        body.kitunzi-theme-aurora .modal-body,
        body.kitunzi-theme-aurora .offcanvas-body,
        body.kitunzi-theme-aurora .side-panel .panel-body {
            padding: .92rem !important;
        }

body.kitunzi-theme-aurora .modal-backdrop.show,
body.kitunzi-theme-aurora .offcanvas-backdrop.show {
    opacity: .52 !important;
    background: var(--kt-shell-975) !important;
}

/* =====================================================================
   8. EMPTY / LOADING STATES
   ===================================================================== */

body.kitunzi-theme-aurora .ki-empty-state,
body.kitunzi-theme-aurora .empty-state,
body.kitunzi-theme-aurora .system-empty-state,
body.kitunzi-theme-aurora .dashboard-empty-state {
    min-height: 150px !important;
    padding: 1.35rem 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .38rem !important;
    border: 1px dashed #c6d4e4 !important;
    border-radius: var(--kt-radius-md) !important;
    background: #f8fafc !important;
    color: var(--kt-text-muted) !important;
    text-align: center !important;
    box-shadow: none !important;
}

    body.kitunzi-theme-aurora .ki-empty-state > i,
    body.kitunzi-theme-aurora .empty-state > i,
    body.kitunzi-theme-aurora .empty-icon,
    body.kitunzi-theme-aurora .dashboard-empty-state i {
        width: 40px !important;
        height: 40px !important;
        display: grid !important;
        place-items: center !important;
        margin-bottom: .18rem !important;
        border: 1px solid #cbdcf1 !important;
        border-radius: 11px !important;
        background: #fff !important;
        color: var(--kt-primary-700) !important;
        font-size: 1rem !important;
        box-shadow: var(--kt-shadow-xs) !important;
    }

body.kitunzi-theme-aurora .skeleton,
body.kitunzi-theme-aurora [class*="skeleton-"] {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #e9eef5 !important;
}

    body.kitunzi-theme-aurora .skeleton::after,
    body.kitunzi-theme-aurora [class*="skeleton-"]::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        transform: translateX(-100%) !important;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent) !important;
        animation: kt-shimmer 1.25s infinite !important;
    }

@keyframes kt-shimmer {
    to {
        transform: translateX(100%);
    }
}

/* =====================================================================
   9. DASHBOARD / SESSION / POS HIGH-DENSITY SCREENS
   ===================================================================== */

body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-hero {
    align-items: center !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-scope-pill,
body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card-pill,
body.kitunzi-app-shell.kitunzi-theme-aurora .record-count,
body.kitunzi-app-shell.kitunzi-theme-aurora .platform-summary-pill,
body.kitunzi-app-shell.kitunzi-theme-aurora .platform-count-badge {
    min-height: 25px !important;
    padding: .26rem .5rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .28rem !important;
    border: 1px solid #cadcf4 !important;
    border-radius: var(--kt-radius-pill) !important;
    background: var(--kt-primary-50) !important;
    color: var(--kt-primary-800) !important;
    font-size: .62rem !important;
    font-weight: 650 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .session-workflow-grid {
    gap: .85rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .session-money-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .close-summary-box {
    gap: .5rem !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .session-money-grid > div,
    body.kitunzi-app-shell.kitunzi-theme-aurora .close-summary-box > div,
    body.kitunzi-app-shell.kitunzi-theme-aurora .session-detail-item {
        padding: .62rem .68rem !important;
        border: 1px solid var(--kt-border-subtle) !important;
        border-radius: 10px !important;
        background: var(--kt-surface-3) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .quick-action-grid {
    gap: .58rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .quick-action-card {
    min-height: 72px !important;
    padding: .65rem .7rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .6rem !important;
    border-radius: 12px !important;
    background: #fff !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .pos-products-panel,
body.kitunzi-app-shell.kitunzi-theme-aurora .pos-cart-panel-polished,
body.kitunzi-app-shell.kitunzi-theme-aurora .receipt-card {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-md) !important;
    background: #fff !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .pos-cart-line,
body.kitunzi-app-shell.kitunzi-theme-aurora .report-list-row,
body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-list-row,
body.kitunzi-app-shell.kitunzi-theme-aurora .top-product-row,
body.kitunzi-app-shell.kitunzi-theme-aurora .cashier-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-cashier-row {
    border-color: var(--kt-border-subtle) !important;
}

/* =====================================================================
   10. REPORTING SYSTEM / CHARTS
   ===================================================================== */

body.kitunzi-app-shell.kitunzi-theme-aurora .reports-shell,
body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-workspace {
    display: flex !important;
    flex-direction: column !important;
    gap: .9rem !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-shell > * + *,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-workspace > * + * {
        margin-top: 0 !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-hero,
body.kitunzi-app-shell.kitunzi-theme-aurora .report-document-header {
    position: relative !important;
    min-height: 0 !important;
    padding: 1rem 1.05rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 1rem !important;
    border: 1px solid var(--kt-border-blue) !important;
    border-radius: var(--kt-radius-md) !important;
    background: var(--kt-surface) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-hero::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .report-document-header::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 4px !important;
        border-radius: var(--kt-radius-md) 0 0 var(--kt-radius-md) !important;
        background: var(--kt-primary-700) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: .32rem !important;
    margin-bottom: .35rem !important;
    color: var(--kt-primary-800) !important;
    font-size: .61rem !important;
    font-weight: 720 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-hero h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .report-document-title {
    margin: 0 !important;
    color: var(--kt-text-strong) !important;
    font-size: clamp(1.34rem, 1.55vw, 1.72rem) !important;
    font-weight: 770 !important;
    letter-spacing: -.03em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-actions,
body.kitunzi-app-shell.kitunzi-theme-aurora .report-card-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: .38rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .report-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .38rem .85rem !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .report-meta-grid > div {
        min-width: 105px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .report-meta-grid dt {
        margin: 0 !important;
        color: var(--kt-text-faint) !important;
        font-size: .58rem !important;
        font-weight: 650 !important;
        text-transform: uppercase !important;
        letter-spacing: .055em !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .report-meta-grid dd {
        margin: .08rem 0 0 !important;
        color: var(--kt-text) !important;
        font-size: .7rem !important;
        font-weight: 700 !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-filterbar,
body.kitunzi-app-shell.kitunzi-theme-aurora .reports-filter-card {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-md) !important;
    background: #fff !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-filterbar .card-body,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-filter-card .card-body {
        padding: .78rem .85rem !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: .65rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi {
    position: relative !important;
    min-width: 0 !important;
    min-height: 106px !important;
    padding: .78rem .82rem !important;
    overflow: hidden !important;
    border: 1px solid var(--kt-border) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: var(--kt-shadow-xs) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi::before {
        display: none !important;
        content: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi.is-success::before {
        background: var(--kt-success-600) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi.is-warning::before {
        background: var(--kt-warning-600) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi.is-danger::before {
        background: var(--kt-danger-600) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi.is-info::before {
        background: var(--kt-info-700) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .5rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-icon {
    width: 32px !important;
    height: 32px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #cfddf0 !important;
    border-radius: 9px !important;
    background: var(--kt-primary-50) !important;
    color: var(--kt-primary-700) !important;
    font-size: .78rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-label {
    color: var(--kt-text-muted) !important;
    font-size: .59rem !important;
    font-weight: 700 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-value {
    margin-top: .45rem !important;
    overflow: hidden !important;
    color: var(--kt-text-strong) !important;
    font-size: clamp(1.15rem, 1.35vw, 1.5rem) !important;
    font-weight: 790 !important;
    line-height: 1.06 !important;
    letter-spacing: -.03em !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-meta {
    margin-top: .25rem !important;
    color: var(--kt-text-faint) !important;
    font-size: .61rem !important;
    line-height: 1.3 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-analytics-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .reports-chart-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .reports-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .9fr) !important;
    gap: .75rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card-header {
    min-height: 54px !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card-title {
    display: flex !important;
    align-items: center !important;
    gap: .62rem !important;
    color: var(--kt-text-strong) !important;
    font-size: .82rem !important;
    font-weight: 730 !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card-title small {
        display: block !important;
        margin-top: .11rem !important;
        color: var(--kt-text-faint) !important;
        font-size: .61rem !important;
        font-weight: 550 !important;
        line-height: 1.3 !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-line-chart {
    position: relative !important;
    min-height: 238px !important;
    padding: .35rem .2rem 0 !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-line-chart svg {
        width: 100% !important;
        height: 220px !important;
        overflow: visible !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-grid-line {
    stroke: #e7edf5 !important;
    stroke-width: 1 !important;
    vector-effect: non-scaling-stroke !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-area {
    fill: rgba(21, 94, 239, .08) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-line {
    fill: none !important;
    stroke: var(--kt-primary-700) !important;
    stroke-width: 2.5 !important;
    vector-effect: non-scaling-stroke !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-point {
    fill: #fff !important;
    stroke: var(--kt-primary-700) !important;
    stroke-width: 2 !important;
    vector-effect: non-scaling-stroke !important;
    cursor: pointer !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-point:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-point.is-active {
        r: 5.5 !important;
        fill: var(--kt-primary-700) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-axis-label {
    fill: #7a899d !important;
    font-size: 10px !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-tooltip {
    position: absolute !important;
    z-index: 5 !important;
    min-width: 120px !important;
    padding: .48rem .55rem !important;
    border: 1px solid #cbd8e7 !important;
    border-radius: 9px !important;
    background: rgba(8, 27, 45, .96) !important;
    color: #fff !important;
    box-shadow: var(--kt-shadow-md) !important;
    font-size: .64rem !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: translate(-50%, calc(-100% - 9px)) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-tooltip.is-visible {
        opacity: 1 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-chart-tooltip strong {
        display: block !important;
        margin-top: .08rem !important;
        color: #fff !important;
        font-size: .7rem !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-layout {
    min-height: 236px !important;
    display: grid !important;
    grid-template-columns: 156px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .9rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut {
    position: relative !important;
    width: 150px !important;
    aspect-ratio: 1 !important;
    margin: 0 auto !important;
    border-radius: 50% !important;
    background: conic-gradient(#dfe6ef 0 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(15, 29, 49, .035) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut::after {
        content: "" !important;
        position: absolute !important;
        inset: 26px !important;
        border-radius: 50% !important;
        background: #fff !important;
        box-shadow: 0 0 0 1px #edf1f6 !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-center {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: grid !important;
    place-content: center !important;
    text-align: center !important;
    pointer-events: none !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-center strong {
        color: var(--kt-text-strong) !important;
        font-size: 1.28rem !important;
        font-weight: 790 !important;
        line-height: 1 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-center span {
        margin-top: .16rem !important;
        color: var(--kt-text-faint) !important;
        font-size: .58rem !important;
        font-weight: 620 !important;
        text-transform: uppercase !important;
        letter-spacing: .05em !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-legend {
    display: grid !important;
    gap: .48rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-legend-item {
    display: grid !important;
    grid-template-columns: 9px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .45rem !important;
    padding: .36rem .42rem !important;
    border-radius: 8px !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-legend-item:hover {
        background: #f5f8fc !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-legend-swatch {
    width: 9px !important;
    height: 9px !important;
    border-radius: 3px !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-legend-item span:nth-child(2) {
    color: var(--kt-text-muted) !important;
    font-size: .64rem !important;
    font-weight: 620 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-legend-item strong {
    color: var(--kt-text-strong) !important;
    font-size: .65rem !important;
    font-weight: 720 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-list {
    display: grid !important;
    gap: .55rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-row {
    display: grid !important;
    grid-template-columns: minmax(135px, .7fr) minmax(180px, 1.3fr) auto !important;
    align-items: center !important;
    gap: .58rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-name {
    min-width: 0 !important;
    overflow: hidden !important;
    color: var(--kt-text) !important;
    font-size: .68rem !important;
    font-weight: 650 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-track {
    height: 8px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #edf1f6 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-fill {
    height: 100% !important;
    display: block !important;
    border-radius: inherit !important;
    background: var(--kt-primary-700) !important;
    transform-origin: left !important;
    animation: kt-bar-grow .55s var(--kt-ease-spring) both !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-value {
    color: var(--kt-text-strong) !important;
    font-size: .65rem !important;
    font-weight: 720 !important;
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
}

@keyframes kt-bar-grow {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

body.kitunzi-app-shell.kitunzi-theme-aurora .ki-report-bar-track,
body.kitunzi-app-shell.kitunzi-theme-aurora .ki-status-chart-track {
    height: 9px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #edf1f6 !important;
    box-shadow: inset 0 1px 2px rgba(15, 29, 49, .025) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-report-bar-fill,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-status-chart-track > span {
        border-radius: inherit !important;
        background: var(--kt-primary-700) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .stock-card-summary-inline {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: .3rem !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-card-summary-inline span {
        min-height: 26px !important;
        padding: .28rem .45rem !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: .22rem !important;
        border: 1px solid #d6e1ee !important;
        border-radius: 8px !important;
        background: #fff !important;
        color: var(--kt-text-muted) !important;
        font-size: .59rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-card-summary-inline strong {
        color: var(--kt-text-strong) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .stock-card-note {
    margin: .75rem .9rem 0 !important;
    padding: .62rem .68rem !important;
    border: 1px solid #d8e4f1 !important;
    border-left: 3px solid var(--kt-primary-700) !important;
    border-radius: 9px !important;
    background: #f8fbff !important;
    color: var(--kt-text-muted) !important;
    font-size: .67rem !important;
}

/* =====================================================================
   11. AUTH / PUBLIC / IDENTITY SURFACES
   ===================================================================== */

body.auth-page.kitunzi-theme-aurora {
    min-height: 100dvh !important;
    background: radial-gradient(circle at 78% 10%, rgba(52, 120, 246, .18), transparent 25rem), var(--kt-shell-950) !important;
    color: var(--kt-text) !important;
}

    body.auth-page.kitunzi-theme-aurora::before,
    body.auth-page.kitunzi-theme-aurora::after {
        display: none !important;
        content: none !important;
    }

    body.auth-page.kitunzi-theme-aurora .auth-side-rail,
    body.public-layout.kitunzi-theme-aurora .public-side-rail {
        background: var(--kt-shell-950) !important;
        border-color: rgba(255, 255, 255, .08) !important;
    }

    body.auth-page.kitunzi-theme-aurora .kitunzi-auth-shell,
    body.auth-page.kitunzi-theme-aurora .kitunzi-auth-register-shell {
        background: transparent !important;
    }

    body.auth-page.kitunzi-theme-aurora .auth-public-nav,
    body.auth-page.kitunzi-theme-aurora .auth-page-brand,
    body.auth-page.kitunzi-theme-aurora .auth-foot-note {
        color: #d6e3f2 !important;
    }

        body.auth-page.kitunzi-theme-aurora .auth-public-nav a,
        body.auth-page.kitunzi-theme-aurora .auth-foot-note a {
            color: #c1d3e7 !important;
        }

    body.auth-page.kitunzi-theme-aurora .auth-form-card,
    body.auth-page.kitunzi-theme-aurora .auth-form-card-register,
    body.auth-page.kitunzi-theme-aurora .auth-section-card {
        border: 1px solid #cdd9e7 !important;
        border-radius: var(--kt-radius-xl) !important;
        background: rgba(255, 255, 255, .99) !important;
        box-shadow: var(--kt-shadow-lg) !important;
    }

        body.auth-page.kitunzi-theme-aurora .auth-form-card::before,
        body.auth-page.kitunzi-theme-aurora .auth-form-card-register::before {
            display: none !important;
            content: none !important;
        }

    body.auth-page.kitunzi-theme-aurora .auth-card-context-icon,
    body.auth-page.kitunzi-theme-aurora .auth-card-icon,
    body.auth-page.kitunzi-theme-aurora .auth-section-icon,
    body.auth-page.kitunzi-theme-aurora .auth-state-icon {
        border-color: #cbdcf2 !important;
        background: var(--kt-primary-50) !important;
        color: var(--kt-primary-700) !important;
    }

    body.auth-page.kitunzi-theme-aurora .auth-security-label {
        border-color: rgba(255, 255, 255, .16) !important;
        background: rgba(255, 255, 255, .08) !important;
        color: #d4e1ef !important;
        box-shadow: none !important;
    }

body.public-layout.kitunzi-theme-aurora .public-navbar,
body.identity-layout.kitunzi-theme-aurora .public-navbar {
    background: var(--kt-shell-950) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
    box-shadow: 0 10px 30px rgba(6, 20, 34, .13) !important;
}

body.public-layout.kitunzi-theme-aurora .public-brand,
body.identity-layout.kitunzi-theme-aurora .public-brand {
    color: #ffffff !important;
}

    body.public-layout.kitunzi-theme-aurora .public-brand-icon,
    body.public-layout.kitunzi-theme-aurora .public-brand-wordmark,
    body.identity-layout.kitunzi-theme-aurora .public-brand img {
        border-radius: 10px !important;
        background: #fff !important;
    }

body.public-layout.kitunzi-theme-aurora .public-nav-link,
body.identity-layout.kitunzi-theme-aurora .public-nav-link {
    min-height: 36px !important;
    padding: .42rem .58rem !important;
    border-radius: 9px !important;
    color: #c5d5e6 !important;
    font-size: .72rem !important;
    font-weight: 620 !important;
}

    body.public-layout.kitunzi-theme-aurora .public-nav-link:hover,
    body.public-layout.kitunzi-theme-aurora .public-nav-link.active,
    body.identity-layout.kitunzi-theme-aurora .public-nav-link:hover {
        background: rgba(91, 143, 247, .13) !important;
        color: #ffffff !important;
    }

body.public-layout.kitunzi-theme-aurora .public-footer,
body.identity-layout.kitunzi-theme-aurora .public-footer {
    background: var(--kt-shell-950) !important;
    border-top: 1px solid rgba(255, 255, 255, .07) !important;
    color: #94a9c0 !important;
}

body.public-layout.kitunzi-theme-aurora .public-main,
body.identity-layout.kitunzi-theme-aurora .public-main {
    background: var(--kt-canvas) !important;
}

body.public-layout.kitunzi-theme-aurora .card,
body.public-layout.kitunzi-theme-aurora .card-ki,
body.identity-layout.kitunzi-theme-aurora .card {
    border-color: var(--kt-border) !important;
    border-radius: var(--kt-radius-lg) !important;
    background: #fff !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

/* =====================================================================
   12. MOTION SYSTEM
   ===================================================================== */

body.kitunzi-app-shell.kitunzi-theme-aurora .kt-reveal,
body.kitunzi-app-shell.kitunzi-theme-aurora .kp-reveal {
    opacity: 0 !important;
    transform: translateY(8px) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .kt-reveal.kt-reveal-in,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-reveal.kp-reveal-in {
        opacity: 1 !important;
        transform: translateY(0) !important;
        transition: opacity var(--kt-page) var(--kt-ease), transform var(--kt-page) var(--kt-ease) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora [data-kt-delay="1"],
body.kitunzi-app-shell.kitunzi-theme-aurora [data-kp-delay="1"] {
    transition-delay: 35ms !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora [data-kt-delay="2"],
body.kitunzi-app-shell.kitunzi-theme-aurora [data-kp-delay="2"] {
    transition-delay: 70ms !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora [data-kt-delay="3"],
body.kitunzi-app-shell.kitunzi-theme-aurora [data-kp-delay="3"] {
    transition-delay: 105ms !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora [data-kt-delay="4"],
body.kitunzi-app-shell.kitunzi-theme-aurora [data-kp-delay="4"] {
    transition-delay: 140ms !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora [data-kt-delay="5"],
body.kitunzi-app-shell.kitunzi-theme-aurora [data-kp-delay="5"] {
    transition-delay: 175ms !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora [data-kt-delay="6"],
body.kitunzi-app-shell.kitunzi-theme-aurora [data-kp-delay="6"] {
    transition-delay: 210ms !important;
}

body.kitunzi-theme-aurora .dropdown-menu.show {
    animation: kt-dropdown-in var(--kt-panel) var(--kt-ease-spring) both !important;
}

@keyframes kt-dropdown-in {
    from {
        opacity: 0;
        transform: translateY(-5px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

body.kitunzi-theme-aurora .modal.show .modal-dialog {
    animation: kt-modal-in var(--kt-panel) var(--kt-ease-spring) both !important;
}

@keyframes kt-modal-in {
    from {
        opacity: 0;
        transform: translateY(10px) scale(.99);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* =====================================================================
   13. RESPONSIVE DESIGN / ZOOM SAFETY
   ===================================================================== */

@media (min-width: 1600px) {


    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-grid {
        gap: .75rem !important;
    }
}

@media (max-width: 1399.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-center {
        max-width: min(36vw, 430px) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-text small,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-text small {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1199.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "left right" !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-center {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-shell {
        max-width: 46vw !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-analytics-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-chart-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 991.98px) {


    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar {
        z-index: 1060 !important;
        transform: translateX(-102%) !important;
        transition: transform var(--kt-panel) var(--kt-ease) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar.open,
        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar.mobile-show {
            transform: translateX(0) !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar {
        inset: 0 0 auto 0 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "left right" !important;
        padding-inline: .72rem !important;
        gap: .6rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .main-wrapper {
        width: 100% !important;
        margin-left: 0 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-shell {
        max-width: 54vw !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .user-meta {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 2px !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu::after {
            display: none !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-analytics-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-chart-grid,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767.98px) {


    body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
        padding: var(--kt-page-gutter) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki {
        min-height: 50px !important;
        padding: .58rem .78rem !important;
        justify-content: center !important;
        text-align: center !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-links {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-page-title {
        max-width: 48vw !important;
        font-size: .84rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-shell {
        max-width: 52vw !important;
        min-height: 24px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item:not(.active) {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item.active {
        max-width: 100% !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .page-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .page-header-compact,
    body.kitunzi-app-shell.kitunzi-theme-aurora .compact-page-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .report-document-header {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        padding: .88rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .page-actions,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-actions {
        justify-content: flex-start !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-donut-layout {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-row {
        grid-template-columns: minmax(120px, .7fr) minmax(120px, 1.3fr) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-ranking-value {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar {
        align-items: stretch !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar-main,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar-actions,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-search-wrap {
        width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-report-kpi-grid {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .report-meta-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .btn:not(.btn-close),
    body.kitunzi-app-shell.kitunzi-theme-aurora .btn-ki {
        max-width: 100% !important;
    }

    /* Tables become readable card rows when the JS supplies data-label attributes. */
    body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table {
        min-width: 0 !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table thead {
            display: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table tbody,
        body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table tr,
        body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table td {
            display: block !important;
            width: 100% !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table tbody tr {
                margin: 0 0 .6rem !important;
                overflow: hidden !important;
                border: 1px solid var(--kt-border) !important;
                border-radius: 11px !important;
                background: #fff !important;
                box-shadow: var(--kt-shadow-xs) !important;
            }

            body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table tbody td {
                min-height: 42px !important;
                padding: .58rem .65rem .58rem 44% !important;
                position: relative !important;
                border-bottom: 1px solid var(--kt-border-subtle) !important;
                text-align: right !important;
                white-space: normal !important;
            }

                body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table tbody td::before {
                    content: attr(data-label) !important;
                    position: absolute !important;
                    left: .65rem !important;
                    top: .58rem !important;
                    width: 38% !important;
                    overflow: hidden !important;
                    color: var(--kt-text-muted) !important;
                    font-size: .58rem !important;
                    font-weight: 700 !important;
                    text-align: left !important;
                    text-overflow: ellipsis !important;
                    text-transform: uppercase !important;
                    letter-spacing: .035em !important;
                    white-space: nowrap !important;
                }

                body.kitunzi-app-shell.kitunzi-theme-aurora table.kt-mobile-table tbody td:last-child {
                    border-bottom: 0 !important;
                }
}

/* =====================================================================
   14. ACCESSIBILITY / REDUCED MOTION / PRINT
   ===================================================================== */

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-theme-aurora *,
    body.kitunzi-theme-aurora *::before,
    body.kitunzi-theme-aurora *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .kt-reveal,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kp-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

@media print {
    body.kitunzi-app-shell.kitunzi-theme-aurora {
        background: #fff !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar,
        body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki,
        body.kitunzi-app-shell.kitunzi-theme-aurora .global-help-button,
        body.kitunzi-app-shell.kitunzi-theme-aurora .scroll-top,
        body.kitunzi-app-shell.kitunzi-theme-aurora .no-print {
            display: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .main-wrapper {
            width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
            padding: 0 !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .card,
        body.kitunzi-app-shell.kitunzi-theme-aurora .card-ki,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat,
        body.kitunzi-app-shell.kitunzi-theme-aurora .report-document-header,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card,
        body.kitunzi-app-shell.kitunzi-theme-aurora .table-card {
            box-shadow: none !important;
            transform: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .kt-reveal,
        body.kitunzi-app-shell.kitunzi-theme-aurora .kp-reveal {
            opacity: 1 !important;
            transform: none !important;
        }
}

/* =====================================================================
   15. LEGACY PAGE-SPECIFIC SURFACES — normalized to Aurora system
   ===================================================================== */

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .payment-upsert-hero,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero,
body.kitunzi-app-shell.kitunzi-theme-aurora .sale-details-hero,
body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-hero,
body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-hero,
body.kitunzi-app-shell.kitunzi-theme-aurora .platform-hero-card {
    position: relative !important;
    min-height: 0 !important;
    margin: 0 0 var(--kt-section-gap) !important;
    padding: 1rem 1.05rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    overflow: hidden !important;
    border: 1px solid var(--kt-border-blue) !important;
    border-left: 4px solid var(--kt-primary-700) !important;
    border-radius: var(--kt-radius-md) !important;
    background: var(--kt-surface) !important;
    color: var(--kt-text) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sale-details-hero::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sale-details-hero::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-hero::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-hero::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-hero::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-hero::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-hero-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-hero-card::after {
        display: none !important;
        content: none !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-main,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-main,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-main,
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero-main,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero-main {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: .8rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero-icon {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #c9d9ef !important;
    border-radius: 12px !important;
    background: var(--kt-primary-50) !important;
    color: var(--kt-primary-700) !important;
    font-size: 1rem !important;
    box-shadow: none !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-card h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-card h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-card h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .sale-details-hero h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-hero h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-hero h1,
body.kitunzi-app-shell.kitunzi-theme-aurora .platform-hero-card h1 {
    margin: 0 !important;
    color: var(--kt-text-strong) !important;
    font-size: clamp(1.45rem, 1.85vw, 1.9rem) !important;
    font-weight: 790 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-card p,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-card p,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-card p,
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero p,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero p,
body.kitunzi-app-shell.kitunzi-theme-aurora .sale-details-hero p,
body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-hero p,
body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-hero p,
body.kitunzi-app-shell.kitunzi-theme-aurora .platform-hero-card p {
    max-width: 72ch !important;
    margin: .25rem 0 0 !important;
    color: var(--kt-text-muted) !important;
    font-size: .78rem !important;
    line-height: 1.45 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-actions,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-actions,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-actions,
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero-actions,
body.kitunzi-app-shell.kitunzi-theme-aurora .hero-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: .42rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-access-pill,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-access-pill,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-access-pill,
body.kitunzi-app-shell.kitunzi-theme-aurora .view-only-badge {
    min-height: 26px !important;
    margin-top: .45rem !important;
    padding: .27rem .5rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .28rem !important;
    border: 1px solid #cbdcf2 !important;
    border-radius: var(--kt-radius-pill) !important;
    background: var(--kt-primary-50) !important;
    color: var(--kt-primary-800) !important;
    font-size: .61rem !important;
    font-weight: 650 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .sales-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .compact-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .bucket-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-mini-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-card {
    position: relative !important;
    min-height: 104px !important;
    padding: .82rem .88rem !important;
    overflow: hidden !important;
    border: 1px solid var(--kt-border-blue) !important;
    border-radius: 13px !important;
    background: var(--kt-surface) !important;
    color: var(--kt-text) !important;
    box-shadow: var(--kt-shadow-xs) !important;
    transform: none !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .payment-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sales-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .compact-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .bucket-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .approval-mini-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .approval-card:hover {
        border-color: var(--kt-border-blue-strong) !important;
        box-shadow: var(--kt-shadow-md) !important;
        transform: translateY(-2px) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-stats-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-stats-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-stats-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .compact-stats-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .approval-summary-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .role-summary-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-summary-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat-grid {
    gap: .72rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-filter-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-filter-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-filter-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .sales-filter-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .filter-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .session-filter-toolbar,
body.kitunzi-app-shell.kitunzi-theme-aurora .sales-toolbar,
body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-external-toolbar {
    border: 1px solid var(--kt-border) !important;
    border-radius: 13px !important;
    background: var(--kt-surface) !important;
    box-shadow: var(--kt-shadow-xs) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-filter-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-filter-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-filter-grid,
body.kitunzi-app-shell.kitunzi-theme-aurora .filter-grid {
    gap: .7rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .payment-method-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .payment-guide-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .payment-empty-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .brand-form-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .brand-preview-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .item-pack-form-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .item-pack-preview-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .item-pack-register-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .category-register-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-form-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-preview-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-form-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-preview-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .payment-upsert-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .role-save-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .session-help-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .session-stock-card-panel,
body.kitunzi-app-shell.kitunzi-theme-aurora .system-state-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .reason-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .policy-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .helper-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .unit-manager-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .revenue-card {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-md) !important;
    background: var(--kt-surface) !important;
    color: var(--kt-text) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .stock-action-panel {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-md) !important;
    background: var(--kt-surface) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .featured-deal-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .pos-deal-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .pos-product-card {
    border-color: var(--kt-border) !important;
    background: #fff !important;
    color: var(--kt-text) !important;
    box-shadow: var(--kt-shadow-sm) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .featured-deal-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .pos-deal-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .pos-product-card:hover {
        border-color: var(--kt-border-blue-strong) !important;
        box-shadow: var(--kt-shadow-md) !important;
        transform: translateY(-2px) !important;
    }

body.kitunzi-app-shell.kitunzi-theme-aurora .text-brand,
body.kitunzi-app-shell.kitunzi-theme-aurora .text-primary {
    color: var(--kt-primary-700) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .bg-brand-soft,
body.kitunzi-app-shell.kitunzi-theme-aurora .bg-primary-subtle {
    background: var(--kt-primary-50) !important;
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .approval-hero-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sale-details-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .permissions-hero,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-hero-card {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .payment-hero-actions,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-hero-actions,
    body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-hero-actions,
    body.kitunzi-app-shell.kitunzi-theme-aurora .profile-hero-actions,
    body.kitunzi-app-shell.kitunzi-theme-aurora .hero-actions {
        justify-content: flex-start !important;
    }
}

/* =====================================================================
   15. PUBLIC EXPERIENCE — commercial-grade landing surfaces
   ===================================================================== */

body.public-layout.kitunzi-theme-aurora .home-page {
    color: var(--kt-text);
    background: var(--kt-canvas);
}

body.public-layout.kitunzi-theme-aurora .home-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3.25rem, 7vw, 6.5rem) 0 clamp(2.8rem, 6vw, 5.5rem) !important;
    background: radial-gradient(circle at 82% 20%, rgba(52, 120, 246, .18), transparent 24rem), radial-gradient(circle at 18% 82%, rgba(11, 107, 143, .10), transparent 20rem), linear-gradient(145deg, var(--kt-shell-975) 0%, var(--kt-shell-950) 48%, #0c3151 100%) !important;
    color: #eef5ff;
}

    body.public-layout.kitunzi-theme-aurora .home-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
        background-size: 42px 42px;
        mask-image: linear-gradient(to bottom, rgba(0,0,0,.78), transparent 88%);
    }

    body.public-layout.kitunzi-theme-aurora .home-hero .container,
    body.public-layout.kitunzi-theme-aurora .home-hero-copy,
    body.public-layout.kitunzi-theme-aurora .home-hero-visual {
        position: relative;
        z-index: 1;
    }

body.public-layout.kitunzi-theme-aurora .home-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: .45rem !important;
    min-height: 32px;
    padding: .38rem .66rem !important;
    border: 1px solid rgba(155, 191, 244, .24) !important;
    border-radius: var(--kt-radius-pill) !important;
    background: rgba(255, 255, 255, .07) !important;
    color: #c8dcf8 !important;
    font-size: .7rem !important;
    font-weight: 760 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.public-layout.kitunzi-theme-aurora .home-title {
    max-width: 760px;
    margin: 1rem 0 .85rem !important;
    color: #ffffff !important;
    font-size: clamp(2.7rem, 5.3vw, 5.25rem) !important;
    font-weight: 860 !important;
    line-height: .98 !important;
    letter-spacing: -.06em !important;
}

    body.public-layout.kitunzi-theme-aurora .home-title span {
        color: #8cb5ff !important;
    }

body.public-layout.kitunzi-theme-aurora .home-subtitle {
    max-width: 670px !important;
    margin: 0 0 1.55rem !important;
    color: #b8c8da !important;
    font-size: clamp(.98rem, 1.25vw, 1.12rem) !important;
    line-height: 1.7 !important;
}

body.public-layout.kitunzi-theme-aurora .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .7rem !important;
}

    body.public-layout.kitunzi-theme-aurora .hero-actions .btn {
        min-height: 48px !important;
        padding-inline: 1.05rem !important;
    }

body.public-layout.kitunzi-theme-aurora .home-hero .btn-ki-ghost {
    border-color: rgba(255,255,255,.20) !important;
    background: rgba(255,255,255,.075) !important;
    color: #f4f8ff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

    body.public-layout.kitunzi-theme-aurora .home-hero .btn-ki-ghost:hover {
        border-color: rgba(255,255,255,.34) !important;
        background: rgba(255,255,255,.13) !important;
    }

body.public-layout.kitunzi-theme-aurora .hero-trust-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    margin-top: 1.15rem !important;
}

body.public-layout.kitunzi-theme-aurora .trust-pill,
body.public-layout.kitunzi-theme-aurora .status-chip-live {
    min-height: 29px !important;
    padding: .32rem .58rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .34rem !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: var(--kt-radius-pill) !important;
    background: rgba(255,255,255,.06) !important;
    color: #cbd9e8 !important;
    font-size: .67rem !important;
    font-weight: 680 !important;
}

    body.public-layout.kitunzi-theme-aurora .trust-pill i {
        color: #6fcf97 !important;
    }

body.public-layout.kitunzi-theme-aurora .hero-preview-card,
body.public-layout.kitunzi-theme-aurora .dashboard-showcase {
    position: relative !important;
    padding: 1rem !important;
    overflow: hidden !important;
    border: 1px solid rgba(188, 212, 248, .18) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.96) !important;
    color: var(--kt-text) !important;
    box-shadow: 0 34px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.96) !important;
    backdrop-filter: blur(18px) saturate(120%);
}

    body.public-layout.kitunzi-theme-aurora .hero-preview-card::before,
    body.public-layout.kitunzi-theme-aurora .dashboard-showcase::before {
        display: none !important;
        content: none !important;
    }

body.public-layout.kitunzi-theme-aurora .preview-topbar {
    padding: .3rem .25rem .85rem !important;
    border-bottom: 1px solid var(--kt-border-subtle) !important;
}

body.public-layout.kitunzi-theme-aurora .preview-logo-box {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid var(--kt-border) !important;
    border-radius: 12px !important;
    background: var(--kt-surface) !important;
    box-shadow: var(--kt-shadow-xs) !important;
}

    body.public-layout.kitunzi-theme-aurora .preview-logo-box img {
        max-width: 24px !important;
        max-height: 24px !important;
    }

body.public-layout.kitunzi-theme-aurora .preview-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .65rem !important;
    margin-top: .85rem !important;
}

body.public-layout.kitunzi-theme-aurora .preview-stat {
    min-height: 92px !important;
    padding: .75rem !important;
    display: grid !important;
    align-content: space-between !important;
    border: 1px solid var(--kt-border-subtle) !important;
    border-radius: 15px !important;
    background: var(--kt-surface-3) !important;
    box-shadow: none !important;
}

    body.public-layout.kitunzi-theme-aurora .preview-stat small {
        color: var(--kt-text-muted) !important;
        font-size: .69rem !important;
        font-weight: 650 !important;
    }

    body.public-layout.kitunzi-theme-aurora .preview-stat strong {
        color: var(--kt-text-strong) !important;
        font-size: 1.35rem !important;
        font-weight: 820 !important;
        letter-spacing: -.025em !important;
    }

body.public-layout.kitunzi-theme-aurora .section-block {
    padding: clamp(3rem, 5.8vw, 5.5rem) 0 !important;
    background: var(--kt-canvas) !important;
}

    body.public-layout.kitunzi-theme-aurora .section-block.cream {
        background: var(--kt-canvas-2) !important;
    }

body.public-layout.kitunzi-theme-aurora .section-heading {
    margin-bottom: clamp(1.4rem, 2.8vw, 2.2rem) !important;
}

    body.public-layout.kitunzi-theme-aurora .section-heading h2,
    body.public-layout.kitunzi-theme-aurora .section-title {
        color: var(--kt-text-strong) !important;
        font-weight: 830 !important;
        letter-spacing: -.04em !important;
    }

    body.public-layout.kitunzi-theme-aurora .section-heading p,
    body.public-layout.kitunzi-theme-aurora .section-subtitle {
        color: var(--kt-text-muted) !important;
    }

body.public-layout.kitunzi-theme-aurora .feature-card-updated,
body.public-layout.kitunzi-theme-aurora .uganda-card,
body.public-layout.kitunzi-theme-aurora .workflow-card-updated {
    height: 100% !important;
    padding: 1.15rem !important;
    border: 1px solid var(--kt-border-subtle) !important;
    border-radius: 18px !important;
    background: var(--kt-surface) !important;
    box-shadow: var(--kt-shadow-sm) !important;
    transition: transform var(--kt-state) var(--kt-ease), border-color var(--kt-state) var(--kt-ease), box-shadow var(--kt-panel) var(--kt-ease) !important;
}

    body.public-layout.kitunzi-theme-aurora .feature-card-updated:hover,
    body.public-layout.kitunzi-theme-aurora .uganda-card:hover,
    body.public-layout.kitunzi-theme-aurora .workflow-card-updated:hover {
        transform: translateY(-3px) !important;
        border-color: var(--kt-border-blue) !important;
        box-shadow: var(--kt-shadow-md) !important;
    }

body.public-layout.kitunzi-theme-aurora .feature-icon,
body.public-layout.kitunzi-theme-aurora .uganda-icon,
body.public-layout.kitunzi-theme-aurora .workflow-number {
    width: 46px !important;
    height: 46px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid var(--kt-border-blue) !important;
    border-radius: 14px !important;
    background: var(--kt-primary-75) !important;
    color: var(--kt-primary-700) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.public-layout.kitunzi-theme-aurora .accordion-ki .accordion-item {
    border: 1px solid var(--kt-border-subtle) !important;
    border-radius: 15px !important;
    background: var(--kt-surface) !important;
    box-shadow: var(--kt-shadow-xs) !important;
}

body.public-layout.kitunzi-theme-aurora .accordion-ki .accordion-button {
    min-height: 52px !important;
    padding: .8rem .95rem !important;
    background: var(--kt-surface) !important;
    color: var(--kt-text-strong) !important;
    font-weight: 720 !important;
    box-shadow: none !important;
}

    body.public-layout.kitunzi-theme-aurora .accordion-ki .accordion-button:not(.collapsed) {
        background: var(--kt-primary-50) !important;
        color: var(--kt-primary-800) !important;
    }

body.public-layout.kitunzi-theme-aurora .cta-section-updated {
    padding: clamp(2.8rem, 5vw, 4.6rem) 0 !important;
    background: var(--kt-canvas) !important;
}

body.public-layout.kitunzi-theme-aurora .cta-box {
    position: relative !important;
    overflow: hidden !important;
    padding: clamp(1.7rem, 4vw, 3rem) !important;
    border: 1px solid rgba(132, 172, 229, .22) !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, var(--kt-shell-950), #0c3151) !important;
    color: #f2f7ff !important;
    box-shadow: var(--kt-shadow-lg) !important;
}

    body.public-layout.kitunzi-theme-aurora .cta-box h2,
    body.public-layout.kitunzi-theme-aurora .cta-box h3,
    body.public-layout.kitunzi-theme-aurora .cta-box p {
        color: inherit !important;
    }

/* =====================================================================
   16. AUTHENTICATION — compact, premium and consistent with shell
   ===================================================================== */

body.auth-page.kitunzi-theme-aurora {
    background: radial-gradient(circle at 82% 12%, rgba(21, 94, 239, .10), transparent 26rem), linear-gradient(155deg, #eef3f9 0%, #f8faff 48%, #eef4fb 100%) !important;
}

    body.auth-page.kitunzi-theme-aurora .auth-form-stage,
    body.auth-page.kitunzi-theme-aurora .auth-form-stage-register {
        padding-block: clamp(1.5rem, 4vh, 3rem) !important;
    }

    body.auth-page.kitunzi-theme-aurora .auth-form-card,
    body.auth-page.kitunzi-theme-aurora .auth-form-card-register {
        border-top: 1px solid var(--kt-border) !important;
        box-shadow: 0 24px 60px rgba(15,29,49,.13), 0 8px 20px rgba(15,29,49,.06) !important;
    }

    body.auth-page.kitunzi-theme-aurora .auth-card-header h1,
    body.auth-page.kitunzi-theme-aurora .auth-card-header h2 {
        color: var(--kt-text-strong) !important;
        font-weight: 840 !important;
        letter-spacing: -.04em !important;
    }

    body.auth-page.kitunzi-theme-aurora .auth-card-header p,
    body.auth-page.kitunzi-theme-aurora .auth-secondary-action,
    body.auth-page.kitunzi-theme-aurora .auth-callout {
        color: var(--kt-text-muted) !important;
    }

    body.auth-page.kitunzi-theme-aurora .auth-input-wrap .form-control,
    body.auth-page.kitunzi-theme-aurora .auth-input-wrap .form-select {
        min-height: 48px !important;
        border-radius: 13px !important;
        border-color: var(--kt-border) !important;
        background: var(--kt-surface) !important;
        box-shadow: inset 0 1px 2px rgba(15,29,49,.025) !important;
    }

        body.auth-page.kitunzi-theme-aurora .auth-input-wrap .form-control:focus,
        body.auth-page.kitunzi-theme-aurora .auth-input-wrap .form-select:focus {
            border-color: var(--kt-primary-500) !important;
            box-shadow: var(--kt-focus) !important;
        }

    body.auth-page.kitunzi-theme-aurora .wizard-step.current,
    body.auth-page.kitunzi-theme-aurora .wizard-step.active {
        border-color: var(--kt-border-blue) !important;
        background: var(--kt-primary-50) !important;
        color: var(--kt-primary-800) !important;
    }

        body.auth-page.kitunzi-theme-aurora .wizard-step.current > span,
        body.auth-page.kitunzi-theme-aurora .wizard-step.active > span {
            border-color: var(--kt-primary-700) !important;
            background: var(--kt-primary-700) !important;
            color: #fff !important;
        }

/* =====================================================================
   17. FINAL RESPONSIVE PUBLIC/AUTH DETAILS
   ===================================================================== */

@media (max-width: 991.98px) {
    body.public-layout.kitunzi-theme-aurora .home-hero {
        padding-top: 2.8rem !important;
    }

    body.public-layout.kitunzi-theme-aurora .home-hero-copy {
        text-align: center;
    }

    body.public-layout.kitunzi-theme-aurora .home-eyebrow,
    body.public-layout.kitunzi-theme-aurora .hero-actions,
    body.public-layout.kitunzi-theme-aurora .hero-trust-row {
        justify-content: center !important;
    }

    body.public-layout.kitunzi-theme-aurora .home-subtitle {
        margin-inline: auto !important;
    }
}

@media (max-width: 575.98px) {
    body.public-layout.kitunzi-theme-aurora .home-title {
        font-size: clamp(2.25rem, 12vw, 3.2rem) !important;
    }

    body.public-layout.kitunzi-theme-aurora .hero-actions .btn {
        width: 100% !important;
    }

    body.public-layout.kitunzi-theme-aurora .preview-stat-grid {
        grid-template-columns: 1fr !important;
    }
}




/* =====================================================================
   FINAL SYSTEM CONSISTENCY PASS
   ===================================================================== */

html, body {
    font-family: var(--kt-font) !important;
}

body {
    color: var(--kt-text);
    background: var(--kt-canvas);
}

.text-brand {
    color: var(--kt-primary-700) !important;
}

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

.bg-brand-soft {
    background-color: var(--kt-primary-100) !important;
    color: var(--kt-primary-800) !important;
}

.text-info {
    color: var(--kt-info-700) !important;
}

.text-success {
    color: var(--kt-success-700) !important;
}

.text-warning {
    color: var(--kt-warning-700) !important;
}

.text-danger {
    color: var(--kt-danger-700) !important;
}

.bg-info-subtle {
    background: var(--kt-info-100) !important;
}

.bg-success-subtle {
    background: var(--kt-success-100) !important;
}

.bg-warning-subtle {
    background: var(--kt-warning-100) !important;
}

.bg-danger-subtle {
    background: var(--kt-danger-100) !important;
}

/* Fixed shell: footer stays visible, only content scrolls. */
body.kitunzi-app-shell.kitunzi-theme-aurora {
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
    background: var(--kt-canvas) !important;
}

    body.kitunzi-app-shell.kitunzi-theme-aurora .main-wrapper {
        width: calc(100% - var(--kt-sidebar-width)) !important;
        height: 100dvh !important;
        min-height: 0 !important;
        margin-left: var(--kt-sidebar-width) !important;
        padding-top: var(--kt-topbar-height) !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: clip !important;
        overscroll-behavior: contain !important;
        scrollbar-gutter: stable !important;
        padding: var(--kt-page-gutter) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 var(--kt-footer-height) !important;
        min-height: var(--kt-footer-height) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: .55rem var(--kt-page-gutter) !important;
        background: var(--kt-shell-950) !important;
        border: 0 !important;
        border-top: 1px solid rgba(255,255,255,.08) !important;
        color: #B8C7D9 !important;
        box-shadow: 0 -8px 24px rgba(5,19,33,.12) !important;
        z-index: 24 !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki strong,
        body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki small,
        body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki a {
            color: #DDE7F3 !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki a:hover {
                color: #FFFFFF !important;
                background: rgba(255,255,255,.07) !important;
            }

    /* The shell is one continuous navy product frame. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-header,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar,
    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki {
        background: var(--kt-shell-950) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar {
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        box-shadow: 0 10px 24px rgba(5,19,33,.16) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora 
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar .user-name,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar .user-details,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar .user-bar {
            color: #EEF5FC !important;
        }

    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-btn,
    body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-context-card {
        background: rgba(255,255,255,.065) !important;
        border-color: rgba(255,255,255,.11) !important;
        color: #E8F1FA !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 5px 14px rgba(0,0,0,.10) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-btn:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-btn[aria-expanded="true"],
        body.kitunzi-app-shell.kitunzi-theme-aurora .user-menu[aria-expanded="true"] {
            background: rgba(255,255,255,.11) !important;
            border-color: rgba(255,255,255,.18) !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-card strong,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-context-card strong {
            color: #F5F9FD !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-context-card small,
        body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-bar-context-card small {
            color: #AFC0D3 !important;
        }

    /* Logo surfaces are quiet and integrated, no ornamental brand bars. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .brand-logo-wide-wrap,
    body.public-layout.kitunzi-theme-aurora .public-brand-logo,
    body.auth-page.kitunzi-theme-aurora .auth-page-logo {
        background: rgba(255,255,255,.97) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        box-shadow: 0 6px 16px rgba(0,0,0,.11) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-brand::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sidebar-brand::after,
    body.public-layout.kitunzi-theme-aurora .public-brand::before,
    body.public-layout.kitunzi-theme-aurora .public-brand::after {
        display: none !important;
        content: none !important;
    }

    /* Breadcrumb bar — compact, visible, keyboard-friendly. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-bar,
    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki {
        width: fit-content !important;
        max-width: min(100%, 760px) !important;
        min-height: 34px !important;
        margin-top: .28rem !important;
        padding: .28rem .38rem !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        overflow: hidden !important;
        border: 1px solid #AFC5E5 !important;
        border-radius: 11px !important;
        background: #F8FAFE !important;
        box-shadow: 0 4px 12px rgba(10,27,47,.055), inset 0 1px 0 rgba(255,255,255,.9) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item,
        body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a,
        body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item span {
            min-width: 0 !important;
            color: #66768A !important;
            font-size: .68rem !important;
            font-weight: 600 !important;
            text-decoration: none !important;
            white-space: nowrap !important;
        }

            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a {
                padding: .28rem .42rem !important;
                border-radius: 8px !important;
            }

                body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a:hover,
                body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a:focus-visible {
                    color: var(--kt-primary-800) !important;
                    background: var(--kt-primary-100) !important;
                }

            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item.active {
                padding: .28rem .48rem !important;
                border: 1px solid #BED0EA !important;
                border-radius: 8px !important;
                background: #EAF1FF !important;
                color: #174EA6 !important;
                font-weight: 750 !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }

            body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item + .breadcrumb-item::before {
                content: "\F285" !important;
                padding: 0 .12rem !important;
                color: #98A8BB !important;
                font-family: "bootstrap-icons" !important;
                font-size: .58rem !important;
            }

    /* No repeated top-line motif on ordinary cards/summary cards. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-ki,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-filter-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-stat-card,
    body.auth-page.kitunzi-theme-aurora .auth-form-card,
    body.auth-page.kitunzi-theme-aurora .auth-form-card-register {
        border-top-width: 1px !important;
        border-top-color: var(--kt-border) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .card-ki::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat::before,
        body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat::before,
        body.auth-page.kitunzi-theme-aurora .auth-form-card::before,
        body.auth-page.kitunzi-theme-aurora .auth-form-card-register::before {
            display: none !important;
            content: none !important;
        }

        body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card::after,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat::after {
            display: none !important;
            content: none !important;
        }

    /* Clean card border and elevation hierarchy. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .card-ki,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .info-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .table-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-table-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-filter-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .session-control-panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .session-form-panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .role-workspace,
    body.kitunzi-app-shell.kitunzi-theme-aurora .personal-dashboard-card {
        border: 1px solid var(--kt-border) !important;
        border-radius: var(--kt-radius-md) !important;
        background: var(--kt-surface) !important;
        box-shadow: var(--kt-shadow-sm) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-stat-card {
        min-height: 112px !important;
        padding: .92rem .96rem !important;
        border: 1px solid #C9D5E4 !important;
        border-radius: 14px !important;
        background: linear-gradient(180deg,#FFFFFF 0%,#FBFCFE 100%) !important;
        box-shadow: var(--kt-shadow-sm) !important;
    }

        body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .clickable-card:hover,
        body.kitunzi-app-shell.kitunzi-theme-aurora .quick-action-card:hover {
            border-color: #91ACD1 !important;
            box-shadow: var(--kt-shadow-md) !important;
            transform: translateY(-2px) !important;
        }

/* Buttons: less blocky, consistent and tactile. */
body.kitunzi-theme-aurora .btn:not(.btn-close),
body.kitunzi-theme-aurora .btn-ki {
    min-height: 40px !important;
    padding: .49rem .82rem !important;
    border-radius: 10px !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: 0 2px 5px rgba(10,27,47,.045) !important;
    transform: translateY(0) !important;
    transition: color 160ms var(--kt-ease), background-color 160ms var(--kt-ease), border-color 160ms var(--kt-ease), box-shadow 180ms var(--kt-ease), transform 180ms var(--kt-ease) !important;
}

    body.kitunzi-theme-aurora .btn:hover:not(:disabled),
    body.kitunzi-theme-aurora .btn-ki:hover:not(:disabled) {
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 13px rgba(10,27,47,.085) !important;
    }

    body.kitunzi-theme-aurora .btn:active:not(:disabled),
    body.kitunzi-theme-aurora .btn-ki:active:not(:disabled) {
        transform: translateY(0) !important;
        box-shadow: inset 0 1px 2px rgba(10,27,47,.12) !important;
    }

body.kitunzi-theme-aurora .btn-primary,
body.kitunzi-theme-aurora .btn-ki-primary {
    background: var(--kt-primary-700) !important;
    border-color: var(--kt-primary-700) !important;
    color: #fff !important;
}

    body.kitunzi-theme-aurora .btn-primary:hover,
    body.kitunzi-theme-aurora .btn-ki-primary:hover {
        background: var(--kt-primary-800) !important;
        border-color: var(--kt-primary-800) !important;
    }

body.kitunzi-theme-aurora .btn-success {
    background: var(--kt-success-600) !important;
    border-color: var(--kt-success-600) !important;
    color: #fff !important;
}

body.kitunzi-theme-aurora .btn-danger,
body.kitunzi-theme-aurora .btn-ki-danger {
    background: var(--kt-danger-600) !important;
    border-color: var(--kt-danger-600) !important;
    color: #fff !important;
}

body.kitunzi-theme-aurora .btn-warning {
    background: var(--kt-warning-600) !important;
    border-color: var(--kt-warning-600) !important;
    color: #fff !important;
}

body.kitunzi-theme-aurora .btn-ki-soft,
body.kitunzi-theme-aurora .btn-ki-ghost,
body.kitunzi-theme-aurora .btn-outline-secondary,
body.kitunzi-theme-aurora .btn-outline-primary,
body.kitunzi-theme-aurora .btn-light {
    background: #fff !important;
    border-color: var(--kt-border-strong) !important;
    color: var(--kt-primary-800) !important;
}

    body.kitunzi-theme-aurora .btn-ki-soft:hover,
    body.kitunzi-theme-aurora .btn-ki-ghost:hover,
    body.kitunzi-theme-aurora .btn-outline-secondary:hover,
    body.kitunzi-theme-aurora .btn-outline-primary:hover,
    body.kitunzi-theme-aurora .btn-light:hover {
        background: var(--kt-primary-50) !important;
        border-color: var(--kt-border-blue-strong) !important;
    }

body.kitunzi-theme-aurora .btn-icon,
body.kitunzi-theme-aurora .icon-button,
body.kitunzi-theme-aurora .topbar-btn {
    border-radius: 10px !important;
}

body.kitunzi-theme-aurora .btn i,
body.kitunzi-theme-aurora .btn-ki i {
    transition: transform 160ms var(--kt-ease) !important;
}

body.kitunzi-theme-aurora .btn:hover i,
body.kitunzi-theme-aurora .btn-ki:hover i {
    transform: translateX(1px);
}

/* Links and text contrast. */
body.kitunzi-theme-aurora a:not(.btn):not(.sidebar-link):not(.dropdown-item) {
    color: var(--kt-primary-700);
}

    body.kitunzi-theme-aurora a:not(.btn):not(.sidebar-link):not(.dropdown-item):hover {
        color: var(--kt-primary-800);
    }

body.kitunzi-theme-aurora p,
body.kitunzi-theme-aurora .text-muted,
body.kitunzi-theme-aurora .text-muted-custom {
    color: var(--kt-text-muted) !important;
}

body.kitunzi-theme-aurora h1,
body.kitunzi-theme-aurora h2,
body.kitunzi-theme-aurora h3,
body.kitunzi-theme-aurora h4,
body.kitunzi-theme-aurora h5,
body.kitunzi-theme-aurora h6 {
    color: var(--kt-text-strong) !important;
}

/* Tables: solid outer card boundary, light blue header, no heavy grids. */
body.kitunzi-app-shell.kitunzi-theme-aurora .table-responsive,
body.kitunzi-app-shell.kitunzi-theme-aurora .table-responsive-custom,
body.kitunzi-app-shell.kitunzi-theme-aurora .data-table-wrapper,
body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-wrap,
body.kitunzi-app-shell.kitunzi-theme-aurora .session-table-wrap {
    border: 1px solid var(--kt-border) !important;
    border-radius: 13px !important;
    background: var(--kt-surface) !important;
    box-shadow: none !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora table thead th,
body.kitunzi-app-shell.kitunzi-theme-aurora .table thead th,
body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki thead th {
    padding: .72rem .8rem !important;
    border: 0 !important;
    border-bottom: 1px solid #CCD9E8 !important;
    background: #EEF4FC !important;
    color: #334963 !important;
    font-size: .67rem !important;
    font-weight: 750 !important;
    letter-spacing: .045em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora table tbody td,
body.kitunzi-app-shell.kitunzi-theme-aurora .table tbody td,
body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki tbody td {
    padding: .72rem .8rem !important;
    border: 0 !important;
    border-bottom: 1px solid #E8EDF3 !important;
    background: #fff !important;
    color: var(--kt-text) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora table tbody tr:hover td,
body.kitunzi-app-shell.kitunzi-theme-aurora .table tbody tr:hover td,
body.kitunzi-app-shell.kitunzi-theme-aurora .table-ki tbody tr:hover td {
    background: #F7FAFE !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora table tbody tr:last-child td {
    border-bottom: 0 !important;
}

/* Forms: one compact control language. */
body.kitunzi-theme-aurora .form-control,
body.kitunzi-theme-aurora .form-select,
body.kitunzi-theme-aurora .input-group-text {
    min-height: var(--kt-control-height) !important;
    border: 1px solid var(--kt-border-strong) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--kt-text) !important;
    box-shadow: inset 0 1px 1px rgba(10,27,47,.02) !important;
}

    body.kitunzi-theme-aurora .form-control:focus,
    body.kitunzi-theme-aurora .form-select:focus,
    body.kitunzi-theme-aurora .form-check-input:focus {
        border-color: var(--kt-border-focus) !important;
        box-shadow: var(--kt-focus) !important;
    }

body.kitunzi-theme-aurora .form-label,
body.kitunzi-theme-aurora label:not(.form-check-label) {
    color: #35465C !important;
    font-size: .72rem !important;
    font-weight: 650 !important;
}

body.kitunzi-theme-aurora .form-check-input:checked {
    background-color: var(--kt-primary-700) !important;
    border-color: var(--kt-primary-700) !important;
}

/* Alerts, modals, dropdowns. */
body.kitunzi-theme-aurora .alert {
    border-radius: 12px !important;
    box-shadow: var(--kt-shadow-xs) !important;
}

body.kitunzi-theme-aurora .alert-success {
    background: var(--kt-success-100) !important;
    border-color: #B9E3CA !important;
    color: #0F6036 !important;
}

body.kitunzi-theme-aurora .alert-warning {
    background: var(--kt-warning-100) !important;
    border-color: #EBD6A8 !important;
    color: #744109 !important;
}

body.kitunzi-theme-aurora .alert-danger {
    background: var(--kt-danger-100) !important;
    border-color: #F0BDC3 !important;
    color: #8D1D28 !important;
}

body.kitunzi-theme-aurora .alert-info {
    background: var(--kt-info-100) !important;
    border-color: #BEE0EB !important;
    color: #075A78 !important;
}

body.kitunzi-theme-aurora .modal-content,
body.kitunzi-theme-aurora .dropdown-menu,
body.kitunzi-theme-aurora .popover {
    border: 1px solid var(--kt-border) !important;
    border-radius: var(--kt-radius-md) !important;
    background: #fff !important;
    box-shadow: var(--kt-shadow-overlay) !important;
}

body.kitunzi-theme-aurora .modal-header,
body.kitunzi-theme-aurora .modal-footer {
    background: var(--kt-surface-3) !important;
    border-color: var(--kt-border-subtle) !important;
}

/* Pagination. */
body.kitunzi-theme-aurora .ki-pagination-btn,
body.kitunzi-theme-aurora .ki-pagination-number,
body.kitunzi-theme-aurora .page-link {
    min-width: 36px !important;
    min-height: 36px !important;
    border: 1px solid var(--kt-border) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kt-text) !important;
    box-shadow: none !important;
}

    body.kitunzi-theme-aurora .ki-pagination-number.is-active,
    body.kitunzi-theme-aurora .ki-pagination-number[aria-current="page"],
    body.kitunzi-theme-aurora .page-item.active .page-link {
        background: var(--kt-primary-700) !important;
        border-color: var(--kt-primary-700) !important;
        color: #fff !important;
    }

    body.kitunzi-theme-aurora .ki-pagination-btn:hover:not(:disabled),
    body.kitunzi-theme-aurora .ki-pagination-number:hover:not(.is-active),
    body.kitunzi-theme-aurora .page-link:hover {
        background: var(--kt-primary-50) !important;
        border-color: var(--kt-border-blue-strong) !important;
    }

/* Chart palette and interactions. */
body.kitunzi-theme-aurora .ki-report-bar-track,
body.kitunzi-theme-aurora .ki-status-chart-track {
    background: #E8EEF6 !important;
}

    body.kitunzi-theme-aurora .ki-report-bar-fill,
    body.kitunzi-theme-aurora .ki-status-chart-track > span {
        background: linear-gradient(90deg,var(--kt-primary-600),var(--kt-primary-800)) !important;
        box-shadow: 0 2px 7px rgba(29,95,209,.16) !important;
    }

body.kitunzi-theme-aurora .accent-primary {
    color: var(--kt-primary-700) !important;
}

body.kitunzi-theme-aurora .accent-warning {
    color: var(--kt-warning-700) !important;
}

body.kitunzi-theme-aurora .accent-blue {
    color: var(--kt-info-700) !important;
}

body.kitunzi-theme-aurora .accent-purple {
    color: var(--kt-accent-purple) !important;
}

/* Motion. */
@keyframes kt-page-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.kitunzi-app-shell.kitunzi-theme-aurora .main-content > * {
    animation: kt-page-in 280ms var(--kt-ease) both;
}

body.kitunzi-theme-aurora .dropdown-menu.show {
    animation: kt-page-in 180ms var(--kt-ease) both;
}

@media (max-width: 991.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .main-wrapper {
        width: 100% !important;
        margin-left: 0 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki {
        width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    :root {
        --kt-topbar-height: 64px;
        --kt-footer-height: 52px;
        --kt-page-gutter: .8rem;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
        padding: .8rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki {
        padding: .45rem .8rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-links {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-bar,
    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki {
        max-width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .footer-ki {
        justify-content: center !important;
        text-align: center !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-theme-aurora *, body.kitunzi-theme-aurora *::before, body.kitunzi-theme-aurora *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* Utility classes introduced during theme cleanup. */
body.kitunzi-theme-aurora .staff-table-avatar {
    width: 34px !important;
    height: 34px !important;
    font-size: .75rem !important;
}

body.kitunzi-theme-aurora .role-metric-value {
    font-size: 1.5rem !important;
    line-height: 1.1;
    font-weight: 800 !important;
}

body.kitunzi-theme-aurora .bucket-preview-emphasis {
    font-size: .72rem !important;
    color: var(--kt-primary-700) !important;
    font-weight: 800 !important;
}

body.kitunzi-theme-aurora .branding-preview-topbar {
    background: var(--kt-shell-950) !important;
    color: #fff !important;
}

body.kitunzi-theme-aurora .branding-preview-sidebar {
    background: var(--kt-primary-800) !important;
}

body.kitunzi-theme-aurora .branding-preview-receipt {
    color: var(--kt-primary-700) !important;
}


/* Branding and preview utilities moved out of inline markup. */
body.kitunzi-theme-aurora .branding-upload-zone {
    padding: 1.25rem;
    text-align: center;
    border: 1px dashed var(--kt-border-strong);
    border-radius: var(--kt-radius-sm);
    background: var(--kt-surface-3);
}

body.kitunzi-theme-aurora .branding-upload-icon {
    font-size: 1.35rem;
    color: var(--kt-primary-700);
}

body.kitunzi-theme-aurora .branding-upload-copy {
    margin: .35rem 0 0;
    color: var(--kt-text-muted) !important;
    font-size: .76rem;
}

body.kitunzi-theme-aurora .branding-color-picker {
    width: 48px !important;
    min-width: 48px !important;
    padding: 3px !important;
}

body.kitunzi-theme-aurora .branding-color-value {
    font-size: .78rem !important;
}

body.kitunzi-theme-aurora .branding-preview-name {
    font-size: .8rem;
    font-weight: 700;
}

body.kitunzi-theme-aurora .branding-preview-caption {
    font-size: .6rem;
    opacity: .78;
}

body.kitunzi-theme-aurora .branding-preview-body {
    display: flex;
}

body.kitunzi-theme-aurora .branding-preview-nav-dot {
    width: 20px;
    height: 20px;
    border-radius: 5px;
    background: rgba(255,255,255,.18);
}

    body.kitunzi-theme-aurora .branding-preview-nav-dot.is-active {
        background: rgba(255,255,255,.34);
    }

body.kitunzi-theme-aurora .branding-preview-content {
    flex: 1;
}

body.kitunzi-theme-aurora .branding-preview-line {
    height: 8px;
    margin-bottom: 8px;
    border-radius: 999px;
    background: var(--kt-border-subtle);
}

    body.kitunzi-theme-aurora .branding-preview-line:last-child {
        margin-bottom: 0;
    }

    body.kitunzi-theme-aurora .branding-preview-line.is-60 {
        width: 60%;
    }

    body.kitunzi-theme-aurora .branding-preview-line.is-40 {
        width: 40%;
    }

    body.kitunzi-theme-aurora .branding-preview-line.is-80 {
        width: 80%;
    }

body.kitunzi-theme-aurora .bucket-preview-meta {
    color: var(--kt-text-muted);
    font-size: .72rem;
    font-weight: 650;
}

/* =====================================================================
   2026-08-22 — SUMMARY / KPI CARD PREMIUM REFINEMENT
   Purpose:
   - stronger solid left + right card borders
   - richer but restrained elevation
   - guaranteed visibility for existing card icons
   - clearer KPI hierarchy without adding a top-line motif
   ===================================================================== */

/* Standardize every summary/KPI family on the same premium treatment. */
body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat,
body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat,
body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat,
body.kitunzi-app-shell.kitunzi-theme-aurora .platform-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .role-summary-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .stock-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .preview-stat,
body.kitunzi-app-shell.kitunzi-theme-aurora .payment-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .product-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .sales-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .compact-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .bucket-stat-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .session-summary-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .permission-stat-pill,
body.kitunzi-app-shell .stat-card,
body.kitunzi-app-shell .summary-card,
body.kitunzi-app-shell .dashboard-stat-card,
body.kitunzi-app-shell .dashboard-small-stat,
body.kitunzi-app-shell .metric-card,
body.kitunzi-app-shell .kpi-card,
body.kitunzi-app-shell .reports-stat,
body.kitunzi-app-shell .my-sales-stat,
body.kitunzi-app-shell .platform-stat-card,
body.kitunzi-app-shell .role-summary-card,
body.kitunzi-app-shell .stock-stat-card,
body.kitunzi-app-shell .preview-stat,
body.kitunzi-app-shell .payment-stat-card,
body.kitunzi-app-shell .product-stat-card,
body.kitunzi-app-shell .supplier-stat-card,
body.kitunzi-app-shell .sales-stat-card,
body.kitunzi-app-shell .compact-stat-card,
body.kitunzi-app-shell .bucket-stat-card,
body.kitunzi-app-shell .session-summary-card,
body.kitunzi-app-shell .permission-stat-pill {
    position: relative !important;
    isolation: isolate !important;
    min-height: 122px !important;
    padding: 1rem 1.05rem !important;
    overflow: hidden !important;
    /* Deliberately stronger on the vertical edges, restrained top/bottom. */
    border-top: 1px solid #D6E0EC !important;
    border-bottom: 1px solid #D6E0EC !important;
    border-left: 4px solid var(--kt-primary-700) !important;
    border-right: 4px solid #9FBDF6 !important;
    border-radius: 17px !important;
    background: #FFFFFF !important;
    background-image: none !important;
    box-shadow: 0 1px 2px rgba(5, 19, 33, .035), 0 8px 20px rgba(10, 27, 47, .075), inset 0 1px 0 rgba(255, 255, 255, .96) !important;
    transform: translateY(0) !important;
    transition: transform 180ms var(--kt-ease), box-shadow 200ms var(--kt-ease), border-color 180ms var(--kt-ease), background-color 180ms var(--kt-ease) !important;
}

    /* Remove older decorative top bars/rings so the side-border language stays clean. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat::after,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat::before,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat::after,
    body.kitunzi-app-shell .stat-card::before,
    body.kitunzi-app-shell .stat-card::after,
    body.kitunzi-app-shell .summary-card::before,
    body.kitunzi-app-shell .summary-card::after,
    body.kitunzi-app-shell .dashboard-stat-card::before,
    body.kitunzi-app-shell .dashboard-stat-card::after,
    body.kitunzi-app-shell .dashboard-small-stat::before,
    body.kitunzi-app-shell .dashboard-small-stat::after,
    body.kitunzi-app-shell .metric-card::before,
    body.kitunzi-app-shell .metric-card::after,
    body.kitunzi-app-shell .kpi-card::before,
    body.kitunzi-app-shell .kpi-card::after,
    body.kitunzi-app-shell .reports-stat::before,
    body.kitunzi-app-shell .reports-stat::after,
    body.kitunzi-app-shell .my-sales-stat::before,
    body.kitunzi-app-shell .my-sales-stat::after {
        display: none !important;
        content: none !important;
    }

    /* Hover: a small lift, firmer side rails and noticeably better depth. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .summary-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .dashboard-small-stat:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .metric-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .reports-stat:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .platform-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .role-summary-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .stock-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .payment-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .product-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .supplier-stat-card:hover,
    body.kitunzi-app-shell.kitunzi-theme-aurora .sales-stat-card:hover,
    body.kitunzi-app-shell .stat-card:hover,
    body.kitunzi-app-shell .summary-card:hover,
    body.kitunzi-app-shell .dashboard-stat-card:hover,
    body.kitunzi-app-shell .dashboard-small-stat:hover,
    body.kitunzi-app-shell .metric-card:hover,
    body.kitunzi-app-shell .kpi-card:hover,
    body.kitunzi-app-shell .reports-stat:hover,
    body.kitunzi-app-shell .my-sales-stat:hover,
    body.kitunzi-app-shell .platform-stat-card:hover,
    body.kitunzi-app-shell .role-summary-card:hover,
    body.kitunzi-app-shell .stock-stat-card:hover {
        border-left-color: var(--kt-primary-800) !important;
        border-right-color: var(--kt-primary-500) !important;
        border-top-color: #C5D3E4 !important;
        border-bottom-color: #C5D3E4 !important;
        background-color: #FCFDFF !important;
        box-shadow: 0 2px 4px rgba(5, 19, 33, .04), 0 15px 34px rgba(10, 27, 47, .12), 0 5px 12px rgba(29, 95, 209, .055) !important;
        transform: translateY(-2px) !important;
    }

    /* Preserve semantic meaning when a summary card already exposes a semantic state. */
    body.kitunzi-app-shell .stat-card.is-success,
    body.kitunzi-app-shell .summary-card.is-success,
    body.kitunzi-app-shell .metric-card.is-success,
    body.kitunzi-app-shell .kpi-card.is-success,
    body.kitunzi-app-shell .reports-stat.is-success {
        border-left-color: var(--kt-success-600) !important;
        border-right-color: #8FCFA9 !important;
    }

    body.kitunzi-app-shell .stat-card.is-warning,
    body.kitunzi-app-shell .summary-card.is-warning,
    body.kitunzi-app-shell .metric-card.is-warning,
    body.kitunzi-app-shell .kpi-card.is-warning,
    body.kitunzi-app-shell .reports-stat.is-warning {
        border-left-color: var(--kt-warning-600) !important;
        border-right-color: #E1C078 !important;
    }

    body.kitunzi-app-shell .stat-card.is-danger,
    body.kitunzi-app-shell .summary-card.is-danger,
    body.kitunzi-app-shell .metric-card.is-danger,
    body.kitunzi-app-shell .kpi-card.is-danger,
    body.kitunzi-app-shell .reports-stat.is-danger {
        border-left-color: var(--kt-danger-600) !important;
        border-right-color: #E29AA2 !important;
    }

    body.kitunzi-app-shell .stat-card.is-info,
    body.kitunzi-app-shell .summary-card.is-info,
    body.kitunzi-app-shell .metric-card.is-info,
    body.kitunzi-app-shell .kpi-card.is-info,
    body.kitunzi-app-shell .reports-stat.is-info {
        border-left-color: var(--kt-info-600) !important;
        border-right-color: #8BC7D9 !important;
    }

/* Existing icons: make their container and icon glyph unmistakably visible. */
body.kitunzi-app-shell.kitunzi-theme-aurora .stat-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .summary-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .metric-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .kpi-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .bucket-stat-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .card-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .report-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .qac-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .pcs-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .my-sales-stat-icon-box,
body.kitunzi-app-shell.kitunzi-theme-aurora .platform-stat-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .role-summary-icon,
body.kitunzi-app-shell .stat-icon,
body.kitunzi-app-shell .summary-icon,
body.kitunzi-app-shell .metric-icon,
body.kitunzi-app-shell .kpi-icon,
body.kitunzi-app-shell .bucket-stat-icon,
body.kitunzi-app-shell .card-icon,
body.kitunzi-app-shell .report-icon,
body.kitunzi-app-shell .qac-icon,
body.kitunzi-app-shell .pcs-icon,
body.kitunzi-app-shell .my-sales-stat-icon-box,
body.kitunzi-app-shell .platform-stat-icon,
body.kitunzi-app-shell .role-summary-icon {
    position: relative !important;
    z-index: 3 !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    flex: 0 0 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    border: 1px solid #BFD2EE !important;
    border-radius: 13px !important;
    background: var(--kt-primary-100) !important;
    color: var(--kt-primary-800) !important;
    font-size: 1.08rem !important;
    line-height: 1 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 5px 12px rgba(29,95,209,.10) !important;
    transform: translateY(0) !important;
    transition: transform 180ms var(--kt-ease), background-color 180ms var(--kt-ease), border-color 180ms var(--kt-ease), color 180ms var(--kt-ease), box-shadow 180ms var(--kt-ease) !important;
}

    /* Bootstrap icons / Font Awesome / SVG children must inherit a visible color. */
    body.kitunzi-app-shell .stat-icon i,
    body.kitunzi-app-shell .summary-icon i,
    body.kitunzi-app-shell .metric-icon i,
    body.kitunzi-app-shell .kpi-icon i,
    body.kitunzi-app-shell .bucket-stat-icon i,
    body.kitunzi-app-shell .card-icon i,
    body.kitunzi-app-shell .report-icon i,
    body.kitunzi-app-shell .qac-icon i,
    body.kitunzi-app-shell .pcs-icon i,
    body.kitunzi-app-shell .my-sales-stat-icon-box i,
    body.kitunzi-app-shell .platform-stat-icon i,
    body.kitunzi-app-shell .role-summary-icon i,
    body.kitunzi-app-shell .stat-icon .bi,
    body.kitunzi-app-shell .summary-icon .bi,
    body.kitunzi-app-shell .metric-icon .bi,
    body.kitunzi-app-shell .kpi-icon .bi,
    body.kitunzi-app-shell .report-icon .bi,
    body.kitunzi-app-shell .stat-icon svg,
    body.kitunzi-app-shell .summary-icon svg,
    body.kitunzi-app-shell .metric-icon svg,
    body.kitunzi-app-shell .kpi-icon svg,
    body.kitunzi-app-shell .report-icon svg {
        display: inline-block !important;
        opacity: 1 !important;
        visibility: visible !important;
        color: inherit !important;
        font-size: 1.08rem !important;
        line-height: 1 !important;
    }

        body.kitunzi-app-shell .stat-icon i::before,
        body.kitunzi-app-shell .summary-icon i::before,
        body.kitunzi-app-shell .metric-icon i::before,
        body.kitunzi-app-shell .kpi-icon i::before,
        body.kitunzi-app-shell .bucket-stat-icon i::before,
        body.kitunzi-app-shell .card-icon i::before,
        body.kitunzi-app-shell .report-icon i::before,
        body.kitunzi-app-shell .qac-icon i::before,
        body.kitunzi-app-shell .pcs-icon i::before,
        body.kitunzi-app-shell .my-sales-stat-icon-box i::before,
        body.kitunzi-app-shell .platform-stat-icon i::before,
        body.kitunzi-app-shell .role-summary-icon i::before {
            opacity: 1 !important;
            visibility: visible !important;
            color: currentColor !important;
        }

body.kitunzi-app-shell .stat-card:hover .stat-icon,
body.kitunzi-app-shell .summary-card:hover .summary-icon,
body.kitunzi-app-shell .metric-card:hover .metric-icon,
body.kitunzi-app-shell .kpi-card:hover .kpi-icon,
body.kitunzi-app-shell .reports-stat:hover .report-icon,
body.kitunzi-app-shell .my-sales-stat:hover .my-sales-stat-icon-box,
body.kitunzi-app-shell .quick-action-card:hover .qac-icon {
    border-color: var(--kt-primary-300) !important;
    background: var(--kt-primary-75) !important;
    color: var(--kt-primary-800) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 16px rgba(29,95,209,.14) !important;
    transform: translateY(-1px) !important;
}

/* Stronger KPI hierarchy without making the cards oversized. */
body.kitunzi-app-shell .stat-label,
body.kitunzi-app-shell .summary-label,
body.kitunzi-app-shell .metric-label,
body.kitunzi-app-shell .kpi-label,
body.kitunzi-app-shell .reports-stat-label,
body.kitunzi-app-shell .my-sales-stat-label {
    color: #5D6F86 !important;
    font-size: .67rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

body.kitunzi-app-shell .stat-value,
body.kitunzi-app-shell .stat-number,
body.kitunzi-app-shell .summary-value,
body.kitunzi-app-shell .metric-value,
body.kitunzi-app-shell .kpi-value,
body.kitunzi-app-shell .reports-stat-value,
body.kitunzi-app-shell .my-sales-stat-value,
body.kitunzi-app-shell .platform-stat-value,
body.kitunzi-app-shell .stat-card h3 {
    color: var(--kt-text-strong) !important;
    font-size: clamp(1.38rem, 1.6vw, 1.86rem) !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
    letter-spacing: -.038em !important;
    font-variant-numeric: tabular-nums !important;
}

body.kitunzi-app-shell .stat-card small,
body.kitunzi-app-shell .summary-card small,
body.kitunzi-app-shell .metric-card small,
body.kitunzi-app-shell .kpi-card small,
body.kitunzi-app-shell .reports-stat small,
body.kitunzi-app-shell .my-sales-stat small {
    color: var(--kt-text-muted) !important;
    line-height: 1.35 !important;
}

/* Layout helpers already used by several Kitunzi KPI components. */
body.kitunzi-app-shell .stat-card-main,
body.kitunzi-app-shell .summary-card-main,
body.kitunzi-app-shell .metric-card-main,
body.kitunzi-app-shell .kpi-card-main,
body.kitunzi-app-shell .stat-card-top,
body.kitunzi-app-shell .summary-card-top {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: .8rem !important;
    min-width: 0 !important;
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell .stat-card,
    body.kitunzi-app-shell .summary-card,
    body.kitunzi-app-shell .dashboard-stat-card,
    body.kitunzi-app-shell .dashboard-small-stat,
    body.kitunzi-app-shell .metric-card,
    body.kitunzi-app-shell .kpi-card,
    body.kitunzi-app-shell .reports-stat,
    body.kitunzi-app-shell .my-sales-stat,
    body.kitunzi-app-shell .platform-stat-card {
        min-height: 112px !important;
        padding: .88rem .9rem !important;
        border-left-width: 3px !important;
        border-right-width: 3px !important;
        border-radius: 15px !important;
    }

    body.kitunzi-app-shell .stat-icon,
    body.kitunzi-app-shell .summary-icon,
    body.kitunzi-app-shell .metric-icon,
    body.kitunzi-app-shell .kpi-icon,
    body.kitunzi-app-shell .report-icon,
    body.kitunzi-app-shell .my-sales-stat-icon-box {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        flex-basis: 42px !important;
    }
}

/* =====================================================================
   2026-08-22 — PREMIUM STANDARD CARDS + CARD HEADER HIERARCHY
   Purpose:
   - give normal cards the same disciplined side-border language as KPI cards
   - make headers visually distinct without a heavy top stripe
   - guarantee visible header icons
   - create clear header / body / footer and content hierarchy
   - keep detail rows readable without turning every element into a box
   ===================================================================== */

:root {
    --kt-card-edge-left: #2B67CB;
    --kt-card-edge-right: #A9C2EB;
    --kt-card-edge-top: #D7E0EB;
    --kt-card-header-bg: #F7F9FC;
    --kt-card-header-border: #DCE5EF;
    --kt-card-body-text: #2A3A50;
    --kt-card-muted-text: #617188;
    --kt-card-row-hover: #F7FAFF;
}

/* ---------------------------------------------------------------------
   Standard card shell
   --------------------------------------------------------------------- */
body.kitunzi-app-shell :where( .card, .card-ki, .ki-card, .dashboard-card, .smart-card, .info-card, .panel, .reports-card, .reports-filter-card, .report-card-polished, .reports-section, .acc-card, .bucket-section, .session-control-panel, .session-form-panel, .role-workspace, .personal-dashboard-card, .pos-products-panel, .pos-cart-panel-polished, .receipt-card, .bar-card, .room-card, .room-type-card, .booking-summary-card, .cashier-card, .permission-group, .action-panel, .branding-preview, .preview-card, .platform-form-panel, .platform-table-panel, .permission-role-card, .category-form-card, .category-preview-card, .category-card, .stock-hero-card, .product-hero-card, .my-sales-table-card ) {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    background-image: none !important;
    border-top: 1px solid var(--kt-card-edge-top) !important;
    border-bottom: 1px solid var(--kt-card-edge-top) !important;
    border-left: 3px solid var(--kt-card-edge-left) !important;
    border-right: 3px solid var(--kt-card-edge-right) !important;
    border-radius: 17px !important;
    box-shadow: 0 1px 2px rgba(5, 19, 33, .025), 0 8px 22px rgba(10, 27, 47, .070), inset 0 1px 0 rgba(255,255,255,.92) !important;
    color: var(--kt-card-body-text) !important;
    transition: border-color 180ms var(--kt-ease), box-shadow 200ms var(--kt-ease), transform 180ms var(--kt-ease), background-color 180ms var(--kt-ease) !important;
}

/* No recurring top strips or decorative bars on ordinary cards. */
body.kitunzi-app-shell :where( .card, .card-ki, .ki-card, .dashboard-card, .reports-card, .reports-filter-card, .report-card-polished, .smart-card, .session-control-panel, .session-form-panel, .personal-dashboard-card, .receipt-card, .platform-form-panel, .platform-table-panel, .permission-role-card, .category-form-card, .category-preview-card, .category-card )::before,
body.kitunzi-app-shell :where( .card, .card-ki, .ki-card, .dashboard-card, .reports-card, .reports-filter-card, .report-card-polished, .smart-card, .session-control-panel, .session-form-panel, .personal-dashboard-card, .receipt-card, .platform-form-panel, .platform-table-panel, .permission-role-card, .category-form-card, .category-preview-card, .category-card )::after {
    display: none !important;
    content: none !important;
}

/* Only interactive cards lift. Large form/report containers stay stable. */
body.kitunzi-app-shell :where( a.card, a.card-ki, .clickable-card, .quick-action-card, .product-card-sm, .featured-deal-card, .report-card-polished, .bar-card, .room-card, .room-type-card, .booking-summary-card, .category-card, .cashier-card, .kanban-room-card ):hover {
    border-left-color: var(--kt-primary-800) !important;
    border-right-color: var(--kt-primary-500) !important;
    border-top-color: #C8D5E5 !important;
    border-bottom-color: #C8D5E5 !important;
    background-color: #FCFDFF !important;
    box-shadow: 0 2px 4px rgba(5,19,33,.035), 0 15px 34px rgba(10,27,47,.115), 0 5px 13px rgba(29,95,209,.050) !important;
    transform: translateY(-2px) !important;
}

/* Semantic card edges remain available where the markup carries meaning. */
body.kitunzi-app-shell :where(.card, .card-ki, .ki-card, .panel).is-success {
    border-left-color: var(--kt-success-600) !important;
    border-right-color: #8FCFA9 !important;
}

body.kitunzi-app-shell :where(.card, .card-ki, .ki-card, .panel).is-warning {
    border-left-color: var(--kt-warning-600) !important;
    border-right-color: #E1C078 !important;
}

body.kitunzi-app-shell :where(.card, .card-ki, .ki-card, .panel).is-danger {
    border-left-color: var(--kt-danger-600) !important;
    border-right-color: #E29AA2 !important;
}

body.kitunzi-app-shell :where(.card, .card-ki, .ki-card, .panel).is-info {
    border-left-color: var(--kt-info-600) !important;
    border-right-color: #8BC7D9 !important;
}

/* ---------------------------------------------------------------------
   Premium card headers
   --------------------------------------------------------------------- */
body.kitunzi-app-shell :where( .card-header, .ki-card-header, .reports-card-header, .table-card-header, .stock-card-header, .product-table-header, .panel-header, .platform-panel-header, .permission-group-header, .permissions-matrix-head, .pos-cart-head, .session-stock-card-header ) {
    position: relative !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .85rem !important;
    padding: .82rem 1rem !important;
    margin: 0 !important;
    background: var(--kt-card-header-bg) !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--kt-card-header-border) !important;
    border-radius: 0 !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.82), 0 1px 0 rgba(10,27,47,.015) !important;
    color: var(--kt-text-strong) !important;
}

/* Header title blocks are allowed to shrink rather than collide with actions. */
body.kitunzi-app-shell :where( .card-header, .ki-card-header, .reports-card-header, .table-card-header, .stock-card-header, .panel-header, .platform-panel-header ) > :where(div, span, h2, h3, h4, h5, h6) {
    min-width: 0 !important;
}

body.kitunzi-app-shell :where( .card-title, .ki-card-title, .reports-card-title, .panel-title, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6, .ki-card-header h2, .ki-card-header h3, .ki-card-header h4, .ki-card-header h5, .reports-card-header h2, .reports-card-header h3, .reports-card-header h4, .reports-card-header h5, .platform-panel-header h2, .platform-panel-header h3, .platform-panel-header h4 ) {
    margin: 0 !important;
    color: var(--kt-text-strong) !important;
    font-size: .92rem !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: -.015em !important;
    text-transform: none !important;
}

body.kitunzi-app-shell :where( .card-subtitle, .card-header small, .card-header p, .ki-card-header small, .ki-card-header p, .reports-card-header small, .reports-card-header p, .platform-panel-header small, .platform-panel-header p, .panel-header small, .panel-header p ) {
    margin: .18rem 0 0 !important;
    color: var(--kt-card-muted-text) !important;
    font-size: .73rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

/* Existing title-line icon containers. */
body.kitunzi-app-shell :where( .ki-card-icon, .card-header-icon, .panel-header-icon, .reports-card-icon, .platform-panel-icon, .permission-role-icon ) {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    flex: 0 0 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #C9D8ED !important;
    border-radius: 11px !important;
    background: #EEF4FF !important;
    color: var(--kt-primary-700) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 5px 12px rgba(29,95,209,.08) !important;
    font-size: 1rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Make bare Bootstrap icons used as the leading header icon visible as well. */
body.kitunzi-app-shell :where( .card-header, .ki-card-header, .reports-card-header, .panel-header, .platform-panel-header, .stock-card-header ) > i:first-child,
body.kitunzi-app-shell :where( .card-title, .ki-card-title, .reports-card-title, .ki-card-title-line, .platform-panel-title, .permission-role-title ) > i:first-child {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    flex: 0 0 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #C9D8ED !important;
    border-radius: 10px !important;
    background: #EEF4FF !important;
    color: var(--kt-primary-700) !important;
    font-size: .98rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.kitunzi-app-shell :where( .card-header, .ki-card-header, .reports-card-header, .panel-header, .platform-panel-header, .stock-card-header ) :where(.bi, [class^="bi-"], [class*=" bi-"])::before {
    color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Header actions remain secondary to the title. */
body.kitunzi-app-shell :where( .card-header, .ki-card-header, .reports-card-header, .panel-header, .platform-panel-header ) :where(.btn, .btn-ki) {
    min-height: 34px !important;
    padding: .38rem .7rem !important;
    border-radius: 9px !important;
    font-size: .75rem !important;
    font-weight: 750 !important;
    box-shadow: none !important;
}

/* ---------------------------------------------------------------------
   Card body, copy hierarchy and content distinction
   --------------------------------------------------------------------- */
body.kitunzi-app-shell :where( .card-body, .ki-card-body, .reports-card-body, .panel-body, .platform-panel-body, .permission-group-body ) {
    padding: 1rem 1.05rem !important;
    background: #FFFFFF !important;
    color: var(--kt-card-body-text) !important;
    font-size: .84rem !important;
    line-height: 1.55 !important;
}

body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) :where(h3, h4, h5, h6) {
    color: var(--kt-text-strong) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -.01em !important;
}

body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) p {
    color: var(--kt-card-muted-text) !important;
    line-height: 1.55 !important;
}

body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) strong {
    color: var(--kt-text-strong) !important;
    font-weight: 800 !important;
}

body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) small {
    color: var(--kt-card-muted-text) !important;
    line-height: 1.4 !important;
}

/* Labels and values read differently at a glance. */
body.kitunzi-app-shell :where( .ki-detail-label, .detail-label, .meta-label, .field-label, .summary-label, .metric-label, .info-label ) {
    color: #66778E !important;
    font-size: .69rem !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
}

body.kitunzi-app-shell :where( .ki-detail-value, .detail-value, .meta-value, .field-value, .info-value ) {
    color: var(--kt-text-strong) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

/* Detail tiles: subtle surface + one visual rail, not a heavy box. */
body.kitunzi-app-shell :where( .ki-detail-item, .approval-summary-item, .category-switch-box, .permission-line ) {
    background: #F9FBFD !important;
    border-top: 1px solid #E4EAF2 !important;
    border-right: 1px solid #E4EAF2 !important;
    border-bottom: 1px solid #E4EAF2 !important;
    border-left: 3px solid #C4D5EE !important;
    border-radius: 11px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* Repeated rows use separators instead of becoming nested cards. */
body.kitunzi-app-shell :where( .profile-info-row, .report-list-row, .dashboard-list-row, .top-product-row, .approval-item, .permission-row, .pos-cart-line, .dashboard-cashier-row, .category-meta-row ) {
    position: relative !important;
    padding-top: .72rem !important;
    padding-bottom: .72rem !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-bottom: 1px solid #E7ECF3 !important;
    background: transparent !important;
    color: var(--kt-card-body-text) !important;
    transition: background-color 160ms var(--kt-ease), padding-left 160ms var(--kt-ease) !important;
}

body.kitunzi-app-shell :where( .profile-info-row, .report-list-row, .dashboard-list-row, .top-product-row, .approval-item, .permission-row, .pos-cart-line, .dashboard-cashier-row ):hover {
    padding-left: .45rem !important;
    background: var(--kt-card-row-hover) !important;
}

body.kitunzi-app-shell :where( .profile-info-row, .report-list-row, .dashboard-list-row, .top-product-row, .approval-item, .permission-row, .pos-cart-line, .dashboard-cashier-row ):last-child {
    border-bottom-color: transparent !important;
}

/* Lists and horizontal rules stay quiet but visible. */
body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) .list-group-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    border-color: #E7ECF3 !important;
    color: var(--kt-card-body-text) !important;
}

body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) hr {
    margin: .9rem 0 !important;
    border: 0 !important;
    border-top: 1px solid #E4EAF2 !important;
    opacity: 1 !important;
}

/* Tables/charts inside cards are visually separated by spacing, not another thick box. */
body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) > :where(.table-responsive, .ki-table-scroll, .chart-wrap, .chart-container) {
    margin-top: .75rem !important;
}

body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) > :where(.table-responsive, .ki-table-scroll) {
    border-left-width: 1px !important;
    border-right-width: 1px !important;
    box-shadow: none !important;
}

/* ---------------------------------------------------------------------
   Card footer distinction
   --------------------------------------------------------------------- */
body.kitunzi-app-shell :where( .card-footer, .ki-card-footer, .panel-footer, .reports-card-footer ) {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    gap: .65rem !important;
    padding: .72rem 1rem !important;
    background: #F8FAFD !important;
    border: 0 !important;
    border-top: 1px solid var(--kt-card-header-border) !important;
    color: var(--kt-card-muted-text) !important;
    font-size: .76rem !important;
    font-weight: 600 !important;
}

/* ---------------------------------------------------------------------
   Auth/public cards get the same family resemblance, at a softer strength.
   --------------------------------------------------------------------- */
body.auth-page :where(.auth-form-card, .auth-section-card, .preview-card),
body.kitunzi-theme-aurora :where(.feature-card, .uganda-context-card) {
    border-top: 1px solid #D7E0EB !important;
    border-bottom: 1px solid #D7E0EB !important;
    border-left: 3px solid var(--kt-card-edge-left) !important;
    border-right: 3px solid var(--kt-card-edge-right) !important;
    box-shadow: 0 8px 22px rgba(10,27,47,.07) !important;
}

/* ---------------------------------------------------------------------
   Responsive refinement
   --------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    body.kitunzi-app-shell :where( .card, .card-ki, .ki-card, .dashboard-card, .smart-card, .reports-card, .session-control-panel, .session-form-panel, .personal-dashboard-card, .pos-products-panel, .pos-cart-panel-polished, .receipt-card, .platform-form-panel, .platform-table-panel, .permission-role-card, .category-card ) {
        border-left-width: 3px !important;
        border-right-width: 2px !important;
        border-radius: 15px !important;
    }

    body.kitunzi-app-shell :where( .card-header, .ki-card-header, .reports-card-header, .panel-header, .platform-panel-header, .stock-card-header ) {
        min-height: 52px !important;
        padding: .72rem .82rem !important;
        gap: .65rem !important;
    }

    body.kitunzi-app-shell :where( .card-title, .ki-card-title, .reports-card-title, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6 ) {
        font-size: .86rem !important;
    }

    body.kitunzi-app-shell :where(.card-body, .ki-card-body, .panel-body) {
        padding: .86rem !important;
    }
}

/* =====================================================================
   KITUNZI CARD SYSTEM + STAFF FORM WIZARD — FINAL AUTHORITATIVE PASS
   2026-08-22
   Purpose:
   - visibly stronger left/right card borders across the Bar application
   - premium card headers with visible icon containers
   - stronger text/content hierarchy inside cards
   - guided Staff Add/Edit form wizard
   - intentionally placed at the END of style.css so older rules cannot
     neutralize the presentation.
   ===================================================================== */

:root {
    --kt-card-edge-primary: #1D5FD1;
    --kt-card-edge-secondary: #86A9DD;
    --kt-card-edge-hover: #174EA6;
    --kt-card-outline: #C8D6E8;
    --kt-card-outline-soft: #DDE6F1;
    --kt-card-header-bg-final: #F4F7FC;
    --kt-card-header-bg-hover: #EEF4FD;
    --kt-card-header-border-final: #D8E3F0;
    --kt-card-body-final: #FFFFFF;
    --kt-card-text-final: #17263A;
    --kt-card-muted-final: #63758E;
    --kt-card-shadow-final: 0 10px 26px rgba(7, 26, 45, .085), 0 2px 7px rgba(7, 26, 45, .045);
    --kt-card-shadow-hover-final: 0 17px 38px rgba(7, 26, 45, .13), 0 5px 14px rgba(7, 26, 45, .065);
}

/* ---------------------------------------------------------------------
   1. Standard application cards: unmistakable solid side rails
   --------------------------------------------------------------------- */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card,
    .card-ki,
    .ki-card,
    .dashboard-card,
    .smart-card,
    .reports-card,
    .reports-filter-card,
    .table-card,
    .stock-table-card,
    .compact-card,
    .form-card,
    .section-card,
    .info-card,
    .session-control-panel,
    .session-form-panel,
    .session-stock-card-panel,
    .personal-dashboard-card,
    .pos-products-panel,
    .pos-cart-panel-polished,
    .receipt-card,
    .my-sales-table-card,
    .platform-form-panel,
    .platform-table-panel,
    .permission-role-card,
    .category-form-card,
    .category-preview-card,
    .category-card,
    .bar-card,
    .report-card,
    .room-card,
    .room-type-card,
    .booking-summary-card,
    .cashier-card,
    .action-panel
) {
    position: relative !important;
    overflow: hidden !important;
    background: var(--kt-card-body-final) !important;
    border-top: 1px solid var(--kt-card-outline) !important;
    border-bottom: 1px solid var(--kt-card-outline) !important;
    border-left: 4px solid var(--kt-card-edge-primary) !important;
    border-right: 3px solid var(--kt-card-edge-secondary) !important;
    border-radius: 17px !important;
    box-shadow: var(--kt-card-shadow-final) !important;
    transition: transform 190ms var(--kt-ease), box-shadow 190ms var(--kt-ease), border-color 190ms var(--kt-ease) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-ki,
    .ki-card,
    .dashboard-card,
    .smart-card,
    .reports-card,
    .table-card,
    .session-control-panel,
    .session-form-panel,
    .personal-dashboard-card,
    .product-card-sm,
    .category-card,
    .platform-form-panel,
    .platform-table-panel
):hover {
    transform: translateY(-2px) !important;
    border-left-color: var(--kt-card-edge-hover) !important;
    border-right-color: #5F8ED0 !important;
    box-shadow: var(--kt-card-shadow-hover-final) !important;
}

/* Do not reintroduce decorative top bars on cards. */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card,
    .card-ki,
    .ki-card,
    .dashboard-card,
    .smart-card,
    .reports-card,
    .reports-filter-card,
    .session-control-panel,
    .session-form-panel,
    .personal-dashboard-card,
    .receipt-card,
    .my-sales-table-card,
    .platform-form-panel,
    .platform-table-panel,
    .category-card
)::before,
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card,
    .card-ki,
    .ki-card,
    .dashboard-card,
    .smart-card,
    .reports-card,
    .reports-filter-card,
    .session-control-panel,
    .session-form-panel,
    .personal-dashboard-card,
    .receipt-card,
    .my-sales-table-card,
    .platform-form-panel,
    .platform-table-panel,
    .category-card
)::after {
    content: none !important;
    display: none !important;
}

/* ---------------------------------------------------------------------
   2. Summary cards: even stronger two-sided frame
   --------------------------------------------------------------------- */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .stat-card,
    .dashboard-stat-card,
    .dashboard-small-stat,
    .reports-stat,
    .my-sales-stat,
    .platform-stat-card,
    .summary-card,
    .kpi-card,
    .metric-card
) {
    position: relative !important;
    min-height: 116px !important;
    padding: 1.05rem 1.1rem !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    border-top: 1px solid #C8D6E8 !important;
    border-bottom: 1px solid #C8D6E8 !important;
    border-left: 5px solid var(--kt-card-edge-primary) !important;
    border-right: 4px solid #7FA5DA !important;
    border-radius: 17px !important;
    box-shadow: 0 11px 27px rgba(7, 26, 45, .09), 0 2px 7px rgba(7, 26, 45, .05) !important;
    transition: transform 180ms var(--kt-ease), box-shadow 180ms var(--kt-ease), border-color 180ms var(--kt-ease) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .stat-card,
    .dashboard-stat-card,
    .dashboard-small-stat,
    .reports-stat,
    .my-sales-stat,
    .platform-stat-card,
    .summary-card,
    .kpi-card,
    .metric-card
):hover {
    transform: translateY(-2px) !important;
    border-left-color: #174EA6 !important;
    border-right-color: #4E7FC5 !important;
    box-shadow: 0 18px 40px rgba(7, 26, 45, .14), 0 5px 13px rgba(7, 26, 45, .07) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .stat-card,
    .dashboard-stat-card,
    .dashboard-small-stat,
    .reports-stat,
    .my-sales-stat,
    .platform-stat-card,
    .summary-card,
    .kpi-card,
    .metric-card
)::before,
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .stat-card,
    .dashboard-stat-card,
    .dashboard-small-stat,
    .reports-stat,
    .my-sales-stat,
    .platform-stat-card,
    .summary-card,
    .kpi-card,
    .metric-card
)::after {
    content: none !important;
    display: none !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .stat-card-main {
    display: flex !important;
    align-items: center !important;
    gap: .9rem !important;
    min-width: 0 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .stat-icon,
    .summary-icon,
    .metric-icon,
    .kpi-icon,
    .report-icon,
    .my-sales-stat-icon-box,
    .platform-stat-icon,
    .role-summary-icon,
    .bucket-stat-icon,
    .qac-icon,
    .pcs-icon
) {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    flex: 0 0 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #BDD0EB !important;
    border-radius: 13px !important;
    background: #EDF4FF !important;
    color: var(--kt-primary-700) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 6px 14px rgba(29,95,209,.11) !important;
    font-size: 1.08rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .stat-icon,
    .summary-icon,
    .metric-icon,
    .kpi-icon,
    .report-icon,
    .my-sales-stat-icon-box,
    .platform-stat-icon,
    .role-summary-icon,
    .bucket-stat-icon,
    .qac-icon,
    .pcs-icon
) :where(i, svg) {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .stat-icon,
    .summary-icon,
    .metric-icon,
    .kpi-icon,
    .report-icon,
    .my-sales-stat-icon-box,
    .platform-stat-icon,
    .role-summary-icon,
    .bucket-stat-icon,
    .qac-icon,
    .pcs-icon
) :where(.bi, [class^="bi-"], [class*=" bi-"])::before {
    opacity: 1 !important;
    visibility: visible !important;
    color: currentColor !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.stat-value, .reports-stat-value, .my-sales-stat-value, .summary-value, .metric-value, .kpi-value) {
    color: #10213A !important;
    font-size: clamp(1.4rem, 1.8vw, 1.8rem) !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.stat-label, .reports-stat-label, .my-sales-stat-label, .summary-label, .metric-label, .kpi-label) {
    color: #5D708A !important;
    font-size: .7rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

/* ---------------------------------------------------------------------
   3. Premium card headers: visible icon block + title hierarchy
   --------------------------------------------------------------------- */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header,
    .ki-card-header,
    .reports-card-header,
    .dashboard-card .card-header,
    .panel-header,
    .platform-panel-header,
    .stock-card-header,
    .table-card-header,
    .session-stock-card-header
) {
    min-height: 58px !important;
    padding: .82rem 1rem !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .85rem !important;
    background: var(--kt-card-header-bg-final) !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--kt-card-header-border-final) !important;
    color: var(--kt-card-text-final) !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.88) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header,
    .ki-card-header,
    .reports-card-header,
    .dashboard-card .card-header,
    .panel-header,
    .platform-panel-header,
    .stock-card-header,
    .table-card-header,
    .session-stock-card-header
) > span:first-child,
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header,
    .ki-card-header,
    .reports-card-header,
    .dashboard-card .card-header,
    .panel-header,
    .platform-panel-header
) .ki-card-title-line {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .66rem !important;
    color: #14243A !important;
    font-size: .88rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    letter-spacing: -.012em !important;
}

/* This selector fixes the tiny/invisible icons seen in dashboard/staff headers. */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header,
    .ki-card-header,
    .reports-card-header,
    .dashboard-card .card-header,
    .panel-header,
    .platform-panel-header,
    .stock-card-header,
    .table-card-header,
    .session-stock-card-header
) > span:first-child > i:first-child,
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header,
    .ki-card-header,
    .reports-card-header,
    .dashboard-card .card-header,
    .panel-header,
    .platform-panel-header,
    .stock-card-header,
    .table-card-header,
    .session-stock-card-header
) > i:first-child {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    flex: 0 0 34px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #C4D5EE !important;
    border-radius: 10px !important;
    background: #EAF2FF !important;
    color: var(--kt-primary-700) !important;
    box-shadow: 0 5px 12px rgba(29,95,209,.10) !important;
    font-size: .95rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Preserve semantic warning/danger/success meaning in header icon boxes. */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-header, .ki-card-header, .dashboard-card .card-header) > span:first-child > i.text-warning:first-child {
    background: #FFF7E7 !important;
    border-color: #F1D29B !important;
    color: #A45A08 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-header, .ki-card-header, .dashboard-card .card-header) > span:first-child > i.text-danger:first-child {
    background: #FDECEF !important;
    border-color: #F3BEC4 !important;
    color: #B4232C !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-header, .ki-card-header, .dashboard-card .card-header) > span:first-child > i.text-success:first-child {
    background: #EAF7EF !important;
    border-color: #BFE4CE !important;
    color: #137A43 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header,
    .ki-card-header,
    .reports-card-header,
    .dashboard-card .card-header,
    .panel-header,
    .platform-panel-header
) :where(h2, h3, h4, h5, h6, strong) {
    color: #14243A !important;
    font-weight: 850 !important;
    letter-spacing: -.012em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header,
    .ki-card-header,
    .reports-card-header,
    .dashboard-card .card-header,
    .panel-header,
    .platform-panel-header
) :where(small, p, .card-subtitle) {
    color: #657790 !important;
    font-size: .72rem !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

/* ---------------------------------------------------------------------
   4. Card content hierarchy and visual distinction
   --------------------------------------------------------------------- */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-body, .ki-card-body, .panel-body, .reports-card-body) {
    background: #FFFFFF !important;
    color: #26364C !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-body, .ki-card-body, .panel-body) :where(h3, h4, h5, h6) {
    color: #14243A !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-body, .ki-card-body, .panel-body) p {
    color: #657790 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-body, .ki-card-body, .panel-body) strong {
    color: #17263A !important;
    font-weight: 800 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .profile-info-row,
    .report-list-row,
    .dashboard-list-row,
    .top-product-row,
    .approval-item,
    .permission-row,
    .pos-cart-line,
    .dashboard-cashier-row
) {
    border-bottom: 1px solid #E2E9F2 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .profile-info-row,
    .report-list-row,
    .dashboard-list-row,
    .top-product-row,
    .approval-item,
    .permission-row,
    .pos-cart-line,
    .dashboard-cashier-row
):hover {
    background: #F7FAFE !important;
}

/* Tables placed inside a card belong to the card instead of becoming a
   second large boxed surface. */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-ki, .card, .dashboard-card, .reports-card) > .card-body.p-0 :where(.table-responsive, .table-responsive-custom),
body.kitunzi-app-shell.kitunzi-theme-aurora :where(.card-ki, .card, .dashboard-card, .reports-card) > .card-body.p-0 > :where(.table, .table-ki) {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ---------------------------------------------------------------------
   5. STAFF ADD/EDIT — guided form wizard
   --------------------------------------------------------------------- */
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-form {
    max-width: 1240px !important;
    margin: 0 auto !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-wizard {
    border-left-width: 5px !important;
    border-right-width: 4px !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-header {
    min-height: 84px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 1rem 1.15rem .92rem !important;
    background: #F5F8FD !important;
    border-bottom: 1px solid #D7E2EF !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-heading {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: .85rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-heading-icon {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #BFD1EA !important;
    border-radius: 13px !important;
    background: #EAF2FF !important;
    color: var(--kt-primary-700) !important;
    box-shadow: 0 7px 16px rgba(29,95,209,.10) !important;
    font-size: 1.15rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-eyebrow,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-kicker {
    display: block !important;
    margin-bottom: .12rem !important;
    color: var(--kt-primary-700) !important;
    font-size: .66rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-heading h2 {
    margin: 0 !important;
    color: #11233B !important;
    font-size: 1.08rem !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-heading p {
    margin: .18rem 0 0 !important;
    color: #667A93 !important;
    font-size: .76rem !important;
    line-height: 1.4 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-progress-meta {
    flex: 0 0 auto !important;
    display: grid !important;
    gap: .12rem !important;
    padding: .55rem .78rem !important;
    border: 1px solid #CEDBEA !important;
    border-radius: 11px !important;
    background: #FFFFFF !important;
    text-align: right !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-progress-meta span {
    color: #708198 !important;
    font-size: .67rem !important;
    font-weight: 750 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-progress-meta strong {
    color: #17345D !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-progress-track {
    height: 4px !important;
    overflow: hidden !important;
    background: #E4EBF4 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-progress-track span {
    width: 33.333%;
    height: 100% !important;
    display: block !important;
    background: var(--kt-primary-700) !important;
    transition: width 240ms var(--kt-ease) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    background: #FBFCFE !important;
    border-bottom: 1px solid #DDE5F0 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step {
    position: relative !important;
    min-width: 0 !important;
    min-height: 66px !important;
    display: flex !important;
    align-items: center !important;
    gap: .68rem !important;
    padding: .75rem 1rem !important;
    border: 0 !important;
    border-right: 1px solid #E0E7F0 !important;
    border-radius: 0 !important;
    background: #FBFCFE !important;
    color: #687990 !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background-color 170ms var(--kt-ease), color 170ms var(--kt-ease) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step:last-child {
    border-right: 0 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step:hover {
    background: #F2F6FC !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step.current {
    background: #EAF2FF !important;
    color: #143B77 !important;
    box-shadow: inset 0 -3px 0 var(--kt-primary-700) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step-number {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #C9D5E4 !important;
    border-radius: 9px !important;
    background: #FFFFFF !important;
    color: #6C7D93 !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step.current .staff-wizard-step-number,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step.complete .staff-wizard-step-number {
    background: var(--kt-primary-700) !important;
    border-color: var(--kt-primary-700) !important;
    color: #FFFFFF !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: .08rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step-copy strong {
    color: inherit !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step-copy small {
    overflow: hidden !important;
    color: #8190A4 !important;
    font-size: .65rem !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-complete-icon {
    margin-left: auto !important;
    color: var(--kt-success-600) !important;
    font-size: .9rem !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step.complete .staff-wizard-complete-icon {
    opacity: 1 !important;
    visibility: visible !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-body {
    min-height: 450px !important;
    padding: 1.15rem !important;
    background: #FFFFFF !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-panel {
    display: none !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-panel.active {
    display: block !important;
    animation: staffWizardEnter 220ms var(--kt-ease) both !important;
}

@keyframes staffWizardEnter {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-header {
    display: flex !important;
    align-items: center !important;
    gap: .8rem !important;
    padding-bottom: .9rem !important;
    margin-bottom: 1rem !important;
    border-bottom: 1px solid #E0E7F0 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-icon {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #BFD1EA !important;
    border-radius: 12px !important;
    background: #EDF4FF !important;
    color: var(--kt-primary-700) !important;
    font-size: 1.05rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-header h3 {
    margin: 0 !important;
    color: #13253D !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-header p {
    margin: .18rem 0 0 !important;
    color: #6B7D94 !important;
    font-size: .75rem !important;
    line-height: 1.4 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-section {
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    border: 1px solid #DCE5F0 !important;
    border-left: 3px solid #A6BFE2 !important;
    border-right: 2px solid #D0DCEC !important;
    border-radius: 13px !important;
    background: #FBFCFE !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-section-label {
    margin-bottom: .82rem !important;
    color: #3F5470 !important;
    font-size: .69rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout {
    display: flex !important;
    align-items: flex-start !important;
    gap: .7rem !important;
    padding: .78rem .9rem !important;
    margin-bottom: 1rem !important;
    border: 1px solid #D7E1EE !important;
    border-radius: 12px !important;
    background: #F8FAFD !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout > i {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
    background: #EAF2FF !important;
    color: var(--kt-primary-700) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout strong,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout span {
    display: block !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout strong {
    margin-bottom: .12rem !important;
    color: #22364E !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout span {
    color: #667A92 !important;
    font-size: .73rem !important;
    line-height: 1.45 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout-warning {
    border-color: #E8CD99 !important;
    background: #FFF8E9 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-step-callout-warning > i {
    background: #FFF0CB !important;
    color: #A45A08 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-status-tile,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-switch-card,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-toggle-row {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    gap: .7rem !important;
    padding: .65rem .78rem !important;
    border: 1px solid #D8E3EF !important;
    border-radius: 11px !important;
    background: #FFFFFF !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-status-tile-success {
    border-color: #BCE0C9 !important;
    background: #EFF9F3 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-status-tile > i,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-switch-card-icon,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-toggle-icon {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
    background: #EAF2FF !important;
    color: var(--kt-primary-700) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-status-tile-success > i {
    background: #E2F4E9 !important;
    color: #137A43 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-status-tile strong,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-switch-card-copy strong,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-toggle-copy strong {
    display: block !important;
    color: #20344D !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-status-tile span,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-switch-card-copy small,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-toggle-copy span {
    display: block !important;
    margin-top: .08rem !important;
    color: #6D7E94 !important;
    font-size: .68rem !important;
    line-height: 1.35 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-switch-card {
    cursor: pointer !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-switch-card-copy,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-toggle-copy {
    min-width: 0 !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: .7rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-switch-card-copy > span,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-toggle-copy > div {
    min-width: 0 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-toggle-row {
    margin-bottom: 1rem !important;
    padding: .8rem .9rem !important;
    border-left: 3px solid var(--kt-primary-700) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-fields {
    overflow: hidden !important;
    max-height: 900px !important;
    opacity: 1 !important;
    transition: max-height 220ms var(--kt-ease), opacity 180ms var(--kt-ease), margin 180ms var(--kt-ease) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-account-fields.is-collapsed {
    max-height: 0 !important;
    opacity: 0 !important;
    margin: 0 !important;
    pointer-events: none !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-address-field {
    min-height: 92px !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-footer {
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    padding: .78rem 1rem !important;
    background: #F6F8FC !important;
    border-top: 1px solid #D9E3EF !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-footer-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .6rem !important;
    margin-left: auto !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-footer :where(.btn, .btn-ki) {
    min-height: 40px !important;
    border-radius: 10px !important;
    padding-inline: 1rem !important;
}

/* Form controls inside wizard get a little more definition. */
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-wizard :where(.form-control, .form-select) {
    min-height: 44px !important;
    border: 1px solid #C8D5E5 !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: #1D2F46 !important;
    box-shadow: inset 0 1px 2px rgba(7,26,45,.02) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-wizard :where(.form-control, .form-select):focus {
    border-color: #5D88CA !important;
    box-shadow: 0 0 0 3px rgba(29,95,209,.11) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-wizard .form-label {
    color: #32465F !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
}

/* ---------------------------------------------------------------------
   6. Responsive wizard/card adjustments
   --------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora :where(
        .card,
        .card-ki,
        .ki-card,
        .dashboard-card,
        .smart-card,
        .reports-card,
        .session-control-panel,
        .session-form-panel,
        .personal-dashboard-card,
        .platform-form-panel,
        .platform-table-panel,
        .category-card
    ) {
        border-left-width: 3px !important;
        border-right-width: 3px !important;
        border-radius: 14px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora :where(
        .stat-card,
        .dashboard-stat-card,
        .reports-stat,
        .my-sales-stat,
        .summary-card,
        .kpi-card
    ) {
        border-left-width: 4px !important;
        border-right-width: 3px !important;
        min-height: 104px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-header {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-progress-meta {
        width: 100% !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        text-align: left !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-nav {
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step {
        min-height: 54px !important;
        border-right: 0 !important;
        border-bottom: 1px solid #E0E7F0 !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-step.current {
        box-shadow: inset 3px 0 0 var(--kt-primary-700) !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-body {
        min-height: 0 !important;
        padding: .85rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-section {
        padding: .85rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-footer {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-footer-actions {
        width: 100% !important;
        margin-left: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-footer :where(.btn, .btn-ki) {
        width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-panel.active {
        animation: none !important;
    }
}


/* =====================================================================
   KITUNZI LAYOUT + FILTER + CARD ACTION REFINEMENT — 2026-08-22
   Authoritative final UI layer. UI/UX only.
   ===================================================================== */

body.kitunzi-app-shell.kitunzi-theme-aurora {
    --kt-card-side-left: #1D5FD1;
    --kt-card-side-right: #78A4E8;
    --kt-card-edge: #C9D7E8;
    --kt-card-header-surface: #F7FAFE;
    --kt-card-header-line: #D7E2EF;
}

/* Wider usable content area at browser zoom-out / large screens. */
body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
    width: 100% !important;
    max-width: none !important;
    padding-inline: clamp(.9rem, 1.25vw, 1.45rem) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .main-content > form,
body.kitunzi-app-shell.kitunzi-theme-aurora .main-content > .page-form,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-form {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

/* ---------- Topbar: breadcrumb becomes the page-context control ---------- */
body.kitunzi-app-shell.kitunzi-theme-aurora .topbar {
    grid-template-columns: minmax(390px, 1.22fr) minmax(330px, .92fr) minmax(220px, auto) !important;
    gap: .85rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-left {
    min-width: 0 !important;
    gap: .7rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .topbar-breadcrumb-block,
body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-shell {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-bar {
    width: 100% !important;
    min-height: 40px !important;
    padding: .28rem .34rem !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: .16rem !important;
    overflow: hidden !important;
    border: 1px solid rgba(135,164,204,.34) !important;
    border-radius: 11px !important;
    background: rgba(255,255,255,.075) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item {
    min-width: 0 !important;
    max-width: 38% !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #B9C9DC !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a,
body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-static {
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 32px !important;
    padding: 0 .58rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .4rem !important;
    overflow: hidden !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    color: #C9D6E6 !important;
    text-overflow: ellipsis !important;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item a:hover {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #FFFFFF !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item.active {
    min-height: 32px !important;
    max-width: 45% !important;
    padding: 0 .68rem !important;
    justify-content: center !important;
    border: 1px solid #B8CEF1 !important;
    border-radius: 8px !important;
    background: #F4F8FF !important;
    color: #174EA6 !important;
    font-weight: 850 !important;
    box-shadow: 0 3px 9px rgba(5,19,33,.16) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item + .breadcrumb-item::before {
    flex: 0 0 auto !important;
    padding: 0 .18rem !important;
    color: #7088A5 !important;
    font-size: .95rem !important;
}

/* ---------- Page headers: compact, balanced, no oversized empty half ---------- */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(.page-header, .page-header-compact, .compact-page-header, .stock-hero-card, .payment-upsert-hero) {
    width: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .8rem 1rem !important;
    padding: .86rem 1rem !important;
    margin-bottom: .9rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.page-header, .page-header-compact, .compact-page-header, .stock-hero-card, .payment-upsert-hero) > :first-child {
    min-width: 0 !important;
    max-width: 880px !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.page-header h1, .page-header-compact h1, .compact-page-header h1, .stock-hero-card h1, .payment-upsert-hero h1) {
    margin: 0 !important;
    font-size: clamp(1.3rem, 1.55vw, 1.72rem) !important;
    line-height: 1.08 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.page-header p, .page-subtitle, .stock-hero-card p, .payment-upsert-hero p) {
    margin: .22rem 0 0 !important;
    max-width: 780px !important;
    line-height: 1.42 !important;
}

/* ---------- Card borders and headers: stronger edge, cleaner hierarchy ---------- */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card, .card-ki, .ki-card, .dashboard-card, .smart-card, .reports-card,
    .session-control-panel, .session-form-panel, .personal-dashboard-card,
    .platform-form-panel, .platform-table-panel, .permission-role-card,
    .category-card, .brand-table-card, .staff-register-card
) {
    border-top: 1px solid var(--kt-card-edge) !important;
    border-bottom: 1px solid var(--kt-card-edge) !important;
    border-left: 4px solid var(--kt-card-side-left) !important;
    border-right: 3px solid var(--kt-card-side-right) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(7,26,45,.07), 0 2px 7px rgba(7,26,45,.035) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header, .ki-card-header, .reports-card-header, .dashboard-card .card-header,
    .stock-card-header, .table-card-header, .panel-header, .platform-panel-header,
    .payment-upsert-card-header
) {
    min-height: 54px !important;
    padding: .68rem .82rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    background: var(--kt-card-header-surface) !important;
    border: 0 !important;
    border-bottom: 2px solid var(--kt-card-header-line) !important;
    box-shadow: inset 0 -1px 0 #FFFFFF, 0 3px 8px rgba(7,26,45,.025) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-title-group {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: .68rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #BFD2EC !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: var(--kt-primary-700) !important;
    box-shadow: 0 5px 12px rgba(29,95,209,.09) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: .08rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-copy strong {
    color: #11233A !important;
    font-size: .86rem !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -.012em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-copy small {
    color: #667A94 !important;
    font-size: .66rem !important;
    line-height: 1.28 !important;
    font-weight: 650 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-meta {
    min-height: 29px !important;
    padding: .28rem .54rem !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #D6E1EF !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: #657790 !important;
    font-size: .63rem !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.staff-register-note, .register-card-note) {
    min-height: 37px !important;
    padding: .48rem .82rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .46rem !important;
    border-bottom: 1px solid #E1E9F3 !important;
    background: #FBFCFE !important;
    color: #60748E !important;
    font-size: .66rem !important;
    font-weight: 650 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(.staff-register-note, .register-card-note) > i {
    color: var(--kt-primary-700) !important;
}

/* ---------- Table toolbar: search + filters aligned, no empty floating panel ---------- */
@media (min-width: 768px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar {
        min-height: 58px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "main actions" "chips chips" !important;
        align-items: center !important;
        gap: .48rem .65rem !important;
        padding: .6rem .72rem !important;
        background: #F9FBFE !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar-main {
        grid-area: main !important;
        min-width: 0 !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        gap: .5rem !important;
        flex-wrap: wrap !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-search-wrap {
        width: clamp(240px, 24vw, 340px) !important;
        min-width: 220px !important;
        max-width: 340px !important;
        flex: 1 1 280px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-toggle {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-panel,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-panel.is-open {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        overflow: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-group {
        display: flex !important;
        align-items: center !important;
        gap: .46rem !important;
        flex-wrap: wrap !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-field {
        width: auto !important;
        min-width: 142px !important;
        max-width: 190px !important;
        flex: 1 1 148px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter {
        width: 100% !important;
        min-width: 142px !important;
        max-width: 190px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding-inline: .68rem 2rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar-actions {
        grid-area: actions !important;
        width: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: .42rem !important;
        flex-wrap: nowrap !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-active-filters {
        grid-area: chips !important;
    }
}

@media (min-width: 1180px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-toolbar-main,
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-group {
        flex-wrap: nowrap !important;
    }
}

/* ---------- Form card actions: always visually inside the card ---------- */
body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-footer {
    min-height: 64px !important;
    padding: .7rem .82rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    border-top: 1px solid #D9E3EF !important;
    background: #F7F9FC !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-footer-inline {
    margin-inline: -.05rem !important;
    margin-bottom: -.05rem !important;
    border: 1px solid #D9E3EF !important;
    border-radius: 11px !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: .08rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-copy span {
    color: #283B55 !important;
    font-size: .7rem !important;
    font-weight: 850 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-copy small {
    color: #71839A !important;
    font-size: .62rem !important;
    line-height: 1.3 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-buttons {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .stock-action-summary {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: .5rem 1rem !important;
    flex-wrap: wrap !important;
    color: #5F718A !important;
    font-size: .68rem !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .stock-action-summary strong {
    color: #23364F !important;
}

/* Staff wizard should stretch with the application content width. */
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-wizard-form,
body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-wizard {
    width: 100% !important;
    max-width: none !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .staff-form-wizard {
    margin-inline: 0 !important;
}

@media (max-width: 1199.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar {
        grid-template-columns: minmax(310px, 1.1fr) minmax(280px, .9fr) auto !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-copy small {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .topbar {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "left right" "center center" !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-bar {
        min-height: 38px !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora :where(.page-header, .page-header-compact, .compact-page-header, .stock-hero-card, .payment-upsert-hero) {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }
}

@media (max-width: 767.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
        padding-inline: .72rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item {
        max-width: 36% !important;
        font-size: .67rem !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item.active {
        max-width: 48% !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-header-actions {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-footer {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-buttons {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .card-action-buttons :where(.btn,.btn-ki) {
        width: 100% !important;
    }

    /* Mobile keeps the disclosure button and stacks filter fields cleanly. */
    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-toggle {
        display: inline-flex !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .ki-table-filter-group {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 1400px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .main-content {
        padding-inline: clamp(1rem, 1.15vw, 1.35rem) !important;
    }
}

/* Final small alignment corrections for single-sided headers and legacy header markup. */
body.kitunzi-app-shell.kitunzi-theme-aurora :where(.page-header, .page-header-compact, .compact-page-header, .stock-hero-card, .payment-upsert-hero) > :only-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header, .ki-card-header, .reports-card-header, .dashboard-card .card-header,
    .stock-card-header, .table-card-header, .panel-header, .platform-panel-header,
    .payment-upsert-card-header
) > span:first-child:not(.badge),
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header, .ki-card-header, .reports-card-header, .dashboard-card .card-header,
    .stock-card-header, .table-card-header, .panel-header, .platform-panel-header,
    .payment-upsert-card-header
) > div:first-child:not(.card-header-actions) {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: .62rem !important;
    color: #13263F !important;
    font-size: .84rem !important;
    font-weight: 900 !important;
    letter-spacing: -.012em !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header, .ki-card-header, .reports-card-header, .dashboard-card .card-header,
    .stock-card-header, .table-card-header, .panel-header, .platform-panel-header,
    .payment-upsert-card-header
) > span:first-child:not(.badge) > i:first-child,
body.kitunzi-app-shell.kitunzi-theme-aurora :where(
    .card-header, .ki-card-header, .reports-card-header, .dashboard-card .card-header,
    .stock-card-header, .table-card-header, .panel-header, .platform-panel-header,
    .payment-upsert-card-header
) > i:first-child {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 !important;
    border: 1px solid #BFD2EC !important;
    border-radius: 9px !important;
    background: #FFFFFF !important;
    color: var(--kt-primary-700) !important;
    box-shadow: 0 4px 10px rgba(29,95,209,.09) !important;
    font-size: .9rem !important;
}

/* Profile header follows the same in-card action rule. */
body.kitunzi-app-shell.kitunzi-theme-aurora .profile-card-header {
    min-height: 54px !important;
    padding: .68rem .82rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    border-bottom: 2px solid var(--kt-card-header-line) !important;
    background: var(--kt-card-header-surface) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .profile-card-header > span:first-child {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .62rem !important;
    color: #13263F !important;
    font-size: .84rem !important;
    font-weight: 900 !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .profile-card-header > span:first-child > i:first-child {
    width: 32px !important;
    height: 32px !important;
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 !important;
    border: 1px solid #BFD2EC !important;
    border-radius: 9px !important;
    background: #FFFFFF !important;
    color: var(--kt-primary-700) !important;
}

body.kitunzi-app-shell.kitunzi-theme-aurora .profile-card-header-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
}

@media (max-width: 575.98px) {
    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item:not(:first-child):not(.active) {
        display: none !important;
    }

    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item:first-child,
    body.kitunzi-app-shell.kitunzi-theme-aurora .breadcrumb-ki .breadcrumb-item.active {
        max-width: 50% !important;
    }
}
