@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

:root {
    /* Typography */
    --font-sans: 'IBM Plex Sans', 'Inter', 'Segoe UI', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'JetBrains Mono', 'SFMono-Regular', Menlo, Monaco, Consolas, monospace;
    --font: var(--font-sans);

    /* Spacing scale */
    --space-0: 0;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 1.75rem;
    --space-8: 2rem;
    --space-9: 2.25rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;

    /* Radius scale */
    --radius-none: 0;
    --radius-xs: 0.25rem;
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.25rem;
    --radius-full: 9999px;
    --radius-s: var(--radius-md);
    --radius-m: var(--radius-lg);
    --radius-l: var(--radius-xl);

    /* Motion */
    --dur-fast: 120ms;
    --dur-base: 180ms;
    --ease-standard: cubic-bezier(0.2, 0, 0, 1);
}

/* Dark mode production tokens (enterprise SaaS, flat, minimal gradient) */
:root,
[data-theme='dark'] {
    /* Elevation: no glow */
    --shadow-none: none;
    --shadow-sm: none;
    --shadow-md: none;

    /* Core palette */
    --color-bg: #0d141c;
    --color-surface: #151f2a;
    --color-surface-2: #1b2734;
    --color-card: #1b2734;
    --color-border: #2a394b;
    --color-border-strong: #3b4d62;
    --color-text: #ebf1f8;
    --color-text-muted: #a8b7ca;
    --color-text-subtle: #8799af;

    /* Primary/secondary actions */
    --color-primary: #2f6feb;
    --color-primary-hover: #2a63d9;
    --color-primary-pressed: #275cc5;
    --color-secondary: #33475d;
    --color-secondary-hover: #3f5670;
    --color-secondary-pressed: #2c4056;

    /* Status colors */
    --color-success: #1f9d67;
    --color-danger: #e66978;
    --color-warning: #c28a2f;
    --color-info: #66a8ff;
    --color-success-bg: #102a21;
    --color-danger-bg: #321a1f;
    --color-warning-bg: #322711;
    --color-info-bg: #13283d;

    /* Button tokens */
    --btn-height-sm: 2rem;
    --btn-height-md: 2.5rem;
    --btn-height-lg: 2.875rem;
    --btn-radius: var(--radius-md);
    --btn-font-weight: 600;
    --btn-padding-x-sm: var(--space-3);
    --btn-padding-x-md: var(--space-4);
    --btn-padding-x-lg: var(--space-5);

    --btn-primary-bg: var(--color-primary);
    --btn-primary-fg: #ffffff;
    --btn-primary-border: var(--color-primary);
    --btn-primary-bg-hover: var(--color-primary-hover);
    --btn-primary-bg-pressed: var(--color-primary-pressed);

    --btn-secondary-bg: var(--color-secondary);
    --btn-secondary-fg: #e6edf7;
    --btn-secondary-border: var(--color-secondary);
    --btn-secondary-bg-hover: var(--color-secondary-hover);
    --btn-secondary-bg-pressed: var(--color-secondary-pressed);

    --btn-danger-bg: var(--color-danger);
    --btn-danger-fg: #fff5f6;
    --btn-danger-border: var(--color-danger);
    --btn-danger-bg-hover: #dd5f6f;
    --btn-danger-bg-pressed: #b94554;

    --btn-ghost-bg: transparent;
    --btn-ghost-fg: var(--color-text);
    --btn-ghost-border: #304258;
    --btn-ghost-bg-hover: rgba(235, 241, 248, 0.04);
    --btn-ghost-bg-pressed: rgba(235, 241, 248, 0.07);

    /* Card tokens */
    --card-bg: var(--color-card);
    --card-bg-hover: #202e3c;
    --card-border: var(--color-border);
    --card-border-hover: var(--color-border-strong);
    --card-radius: var(--radius-lg);
    --card-padding-sm: var(--space-4);
    --card-padding-md: var(--space-5);
    --card-padding-lg: var(--space-6);
    --card-shadow: var(--shadow-none);
    --card-shadow-hover: var(--shadow-sm);

    --focus-ring: 0 0 0 2px rgba(47, 111, 235, 0.34);
    --gradient-subtle: linear-gradient(180deg, rgba(255, 255, 255, 0.015) 0%, rgba(255, 255, 255, 0) 100%);

    /* Theme utility tokens */
    --theme-header-bg: rgba(11, 19, 30, 0.96);
    --theme-nav-bg: rgba(10, 17, 28, 0.98);
    --theme-modal-backdrop: rgba(4, 8, 16, 0.74);
    --theme-sheet-backdrop: rgba(4, 8, 16, 0.76);
    --theme-toast-bg: rgba(12, 21, 36, 0.96);
    --theme-muted-soft: rgba(168, 183, 202, 0.08);
    --theme-muted-fill: rgba(168, 183, 202, 0.16);
    --theme-chip-active-bg: rgba(47, 111, 235, 0.18);
    --theme-chip-active-border: rgba(47, 111, 235, 0.52);
    --theme-chip-active-text: #deebff;
    --theme-nav-active-bg: rgba(47, 111, 235, 0.18);
    --theme-nav-active-text: #deebff;
    --theme-success-soft-bg: rgba(31, 157, 103, 0.16);
    --theme-success-soft-border: rgba(31, 157, 103, 0.4);
    --theme-danger-soft-bg: rgba(209, 82, 99, 0.14);
    --theme-danger-soft-border: rgba(209, 82, 99, 0.4);

    /* Charts */
    --chart-income: #22c55e;
    --chart-expense: #f43f5e;
    --chart-net: #3b82f6;
    --chart-accent: #06b6d4;
    --chart-grid: #30445d;
    --chart-label: #b6c5d8;
    --chart-tooltip-bg: rgba(10, 16, 28, 0.96);
    --chart-tooltip-title: #f1f5fb;
    --chart-tooltip-text: #d3dfef;
    --chart-spark-income: #2dd4bf;
    --chart-spark-expense: #fb7185;
    --chart-spark-net: #60a5fa;
    --chart-up-soft-bg: rgba(34, 197, 94, 0.16);
    --chart-up-soft-border: rgba(34, 197, 94, 0.42);
    --chart-down-soft-bg: rgba(244, 63, 94, 0.16);
    --chart-down-soft-border: rgba(244, 63, 94, 0.42);
    --chart-categorical: #3b82f6, #14b8a6, #22c55e, #84cc16, #f59e0b, #f97316, #ef4444, #ec4899, #a855f7, #8b5cf6, #06b6d4, #0ea5e9;

    /* Backward-compatible aliases */
    --bg-body: var(--color-bg);
    --surface-1: var(--color-surface);
    --surface-2: var(--color-surface-2);
    --surface-3: #213246;
    --border: var(--color-border);
    --border-strong: var(--color-border-strong);
    --text-main: var(--color-text);
    --text-muted: var(--color-text-muted);
    --primary: var(--color-primary);
    --primary-pressed: var(--color-primary-pressed);
    --secondary-action: var(--btn-secondary-bg);
    --secondary: var(--color-secondary);
    --success: var(--color-success);
    --danger: var(--color-danger);
    --warning: var(--color-warning);
    --info: var(--color-info);
    --glass: var(--surface-1);
    --modal-bg: var(--surface-2);
    --card-solid: var(--surface-1);
    --input-bg: var(--surface-2);
}

/* Light theme keeps same language with adjusted luminance for readability */
body.light-theme,
[data-theme='light'] {
    --color-bg: #f4f7fb;
    --color-surface: #ffffff;
    --color-surface-2: #f8fafc;
    --color-card: #ffffff;
    --color-border: #d8e0ea;
    --color-border-strong: #c4ceda;
    --color-text: #0f172a;
    --color-text-muted: #334155;
    --color-text-subtle: #64748b;

    --bg-body: var(--color-bg);
    --text-main: var(--color-text);
    --text-muted: var(--color-text-muted);
    --glass: var(--color-surface);
    --border: var(--color-border);
    --card-solid: var(--color-card);
    --secondary-action: var(--btn-secondary-bg);
    --primary-action: var(--color-primary);

    --color-primary: #1d4ed8;
    --color-primary-hover: #1e40af;
    --color-primary-pressed: #1e3a8a;
    --color-secondary: #0f766e;
    --color-secondary-hover: #0e857b;
    --color-secondary-pressed: #0d6b63;

    --color-success: #1f8a4c;
    --color-danger: #c63d3d;
    --color-warning: #b7791f;
    --color-info: #2563eb;
    --color-success-bg: #eaf7ef;
    --color-danger-bg: #fceded;
    --color-warning-bg: #fff6e8;
    --color-info-bg: #eaf1ff;

    --shadow-sm: none;
    --shadow-md: none;

    --btn-primary-bg: var(--color-primary);
    --btn-primary-fg: #ffffff;
    --btn-primary-border: var(--color-primary);
    --btn-primary-bg-hover: var(--color-primary-hover);
    --btn-primary-bg-pressed: var(--color-primary-pressed);

    --btn-secondary-bg: #eaf0f7;
    --btn-secondary-fg: #0f172a;
    --btn-secondary-border: #cfd8e4;
    --btn-secondary-bg-hover: #dde7f2;
    --btn-secondary-bg-pressed: #d3deeb;

    --btn-danger-bg: var(--color-danger);
    --btn-danger-fg: #ffffff;
    --btn-danger-border: var(--color-danger);
    --btn-danger-bg-hover: #b73535;
    --btn-danger-bg-pressed: #9d2d2d;

    --btn-ghost-bg: transparent;
    --btn-ghost-fg: var(--color-text);
    --btn-ghost-border: #cfd8e4;
    --btn-ghost-bg-hover: rgba(15, 23, 42, 0.04);
    --btn-ghost-bg-pressed: rgba(15, 23, 42, 0.06);

    --card-bg: var(--color-card);
    --card-bg-hover: #f8fafc;
    --card-border: var(--color-border);
    --card-border-hover: var(--color-border-strong);
    --card-shadow: var(--shadow-none);
    --card-shadow-hover: var(--shadow-sm);
    --focus-ring: 0 0 0 2px rgba(29, 78, 216, 0.28);

    --theme-header-bg: #ffffff;
    --theme-nav-bg: #ffffff;
    --theme-modal-backdrop: rgba(15, 23, 42, 0.18);
    --theme-sheet-backdrop: rgba(15, 23, 42, 0.2);
    --theme-toast-bg: #ffffff;
    --theme-muted-soft: rgba(15, 23, 42, 0.05);
    --theme-muted-fill: rgba(15, 23, 42, 0.08);
    --theme-chip-active-bg: var(--color-primary);
    --theme-chip-active-border: var(--color-primary);
    --theme-chip-active-text: #ffffff;
    --theme-nav-active-bg: rgba(29, 78, 216, 0.12);
    --theme-nav-active-text: #153c8a;
    --theme-success-soft-bg: rgba(31, 138, 76, 0.12);
    --theme-success-soft-border: rgba(31, 138, 76, 0.35);
    --theme-danger-soft-bg: rgba(198, 61, 61, 0.1);
    --theme-danger-soft-border: rgba(198, 61, 61, 0.35);

    --chart-income: #16a34a;
    --chart-expense: #e11d48;
    --chart-net: #2563eb;
    --chart-accent: #0891b2;
    --chart-grid: #d7e0ec;
    --chart-label: #334155;
    --chart-tooltip-bg: rgba(255, 255, 255, 0.98);
    --chart-tooltip-title: #0f172a;
    --chart-tooltip-text: #334155;
    --chart-spark-income: #0f766e;
    --chart-spark-expense: #db2777;
    --chart-spark-net: #1d4ed8;
    --chart-up-soft-bg: rgba(22, 163, 74, 0.13);
    --chart-up-soft-border: rgba(22, 163, 74, 0.34);
    --chart-down-soft-bg: rgba(225, 29, 72, 0.13);
    --chart-down-soft-border: rgba(225, 29, 72, 0.34);
    --chart-categorical: #2563eb, #0d9488, #16a34a, #65a30d, #d97706, #ea580c, #dc2626, #db2777, #7c3aed, #4f46e5, #0284c7, #0891b2;

    --bg-body: var(--color-bg);
    --surface-1: var(--color-surface);
    --surface-2: var(--color-surface-2);
    --surface-3: #eef2f7;
    --border: var(--color-border);
    --border-strong: var(--color-border-strong);
    --text-main: var(--color-text);
    --text-muted: var(--color-text-muted);
    --primary: var(--color-primary);
    --primary-pressed: var(--color-primary-pressed);
    --secondary-action: var(--btn-secondary-bg);
    --secondary: var(--color-secondary);
    --success: var(--color-success);
    --danger: var(--color-danger);
    --warning: var(--color-warning);
    --info: var(--color-info);
    --glass: var(--surface-1);
    --modal-bg: var(--surface-2);
    --card-solid: var(--surface-1);
    --input-bg: var(--surface-2);
}

body {
    background: var(--bg-body) !important;
    color: var(--text-main) !important;
    font-family: var(--font);
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* ==================================================
   USER MODE TOKENS
   ================================================== */

body.user-mode-individual {
    --primary: #5C84D6;
    --secondary: #2E7A72;
    --surface-1: #161f2b;
    --surface-2: #202c3b;
    --surface-3: #273649;
    --border: #2e3d52;
    --border-strong: #4b607c;
    --text-muted: #b6c5d8;
    --theme-chip-active-bg: rgba(92, 132, 214, 0.2);
    --theme-chip-active-border: rgba(92, 132, 214, 0.45);
    --theme-chip-active-text: #deebff;
    --chart-categorical: #4f8df8, #22c55e, #14b8a6, #f59e0b, #f97316, #fb7185, #a855f7, #6366f1, #06b6d4, #84cc16, #3b82f6, #ec4899;
    --ds-radius: 14px;
}

body.user-mode-corporate {
    --primary: #3f628f;
    --secondary: #4f647d;
    --surface-1: #131a23;
    --surface-2: #18222d;
    --surface-3: #1d2836;
    --border: #2a3648;
    --border-strong: #3b4a5f;
    --text-muted: #A9B7C8;
    --theme-chip-active-bg: #253245;
    --theme-chip-active-border: #3d516d;
    --theme-chip-active-text: #dbe6f4;
    --chart-categorical: #3b82f6, #0ea5a6, #22c55e, #84cc16, #f59e0b, #f97316, #ef4444, #d946ef, #8b5cf6, #6366f1, #0891b2, #38bdf8;
    --ds-radius: 8px;
    --shadow-sm: none;
    --shadow-md: none;
}

body.light-theme.user-mode-individual {
    --primary: #4a73c7;
    --secondary: #0f766e;
    --surface-1: #ffffff;
    --surface-2: #f6f8fc;
    --surface-3: #ecf1f8;
    --border: #d7e0ec;
    --border-strong: #c4ceda;
    --theme-chip-active-bg: #e9f0ff;
    --theme-chip-active-border: #bfd1f4;
    --theme-chip-active-text: #23457f;
}

body.light-theme.user-mode-corporate {
    --primary: #2f4f7c;
    --secondary: #4f647d;
    --surface-1: #f8fafd;
    --surface-2: #f0f4f8;
    --surface-3: #e6ecf3;
    --border: #d0d8e2;
    --border-strong: #bcc8d6;
    --text-muted: #475569;
    --theme-chip-active-bg: #e3eaf4;
    --theme-chip-active-border: #c5d1e1;
    --theme-chip-active-text: #21364f;
}

body.user-mode-corporate .card,
body.user-mode-corporate .form-card,
body.user-mode-corporate .stats-content,
body.user-mode-corporate .stats-sidebar,
body.user-mode-corporate .modal-content,
body.user-mode-corporate .sheet-content {
    box-shadow: none !important;
}

body.user-mode-corporate .quick-entry-subtitle {
    display: none;
}

body.user-mode-corporate .chip-btn,
body.user-mode-corporate .glass-btn,
body.user-mode-corporate .h-filter-chip,
body.user-mode-corporate .filter-chip,
body.user-mode-corporate .amt-tag {
    border-radius: 8px !important;
}

body.user-mode-individual #corporateReportActions,
body.user-mode-individual #homeCorporateActions,
body.user-mode-individual #txCorporateActions,
body.user-mode-individual #corporateStatsTableWrap,
body.user-mode-individual .corporate-tx-head,
body.user-mode-individual .tx-mobile-corporate-head {
    display: none !important;
}

.corporate-only-nav {
    display: none !important;
}

body.user-mode-corporate .corporate-only-nav {
    display: block !important;
}

body.user-mode-individual .stats-content {
    background: linear-gradient(180deg, var(--surface-1) 0%, var(--surface-2) 100%) !important;
}

body.user-mode-individual .stats-kpi-card {
    border-radius: 16px !important;
    border-color: rgba(126, 152, 199, 0.32) !important;
}

body.user-mode-individual .quick-entry-subtitle {
    display: block;
}

body.user-mode-corporate #page-home .dashboard-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, 1fr);
    gap: 12px;
}

body.user-mode-corporate .stats-container {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 12px;
}

body.user-mode-corporate .stats-sidebar {
    position: sticky;
    top: 106px;
    align-self: start;
    max-height: calc(100vh - 130px);
    overflow: auto;
}

body.user-mode-corporate .stats-content {
    min-height: 520px;
}

body.user-mode-individual .stats-summary-grid-layout {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

body.user-mode-corporate .stats-summary-grid-layout {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

body.user-mode-corporate .list-header span,
body.user-mode-corporate .tx-mobile-title,
body.user-mode-corporate .page-kicker {
    letter-spacing: 0.09em;
}

.chat-quota-badge {
    margin-top: 2px;
    font-size: 10px;
    color: var(--text-muted);
    border: 1px solid var(--border);
    background: var(--theme-muted-soft);
    border-radius: 999px;
    padding: 1px 6px;
    width: fit-content;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text-main) !important;
    letter-spacing: -0.01em;
}

p,
span,
small,
label {
    color: inherit;
}

.container {
    max-width: 1200px;
    padding-left: var(--space-4);
    padding-right: var(--space-4);
}

/* ==================================================
   PAGE LAYOUT UTILITIES
   ================================================== */

.page-hidden {
    display: none;
}

.hidden-inline {
    display: none;
}

.align-center {
    align-items: center;
}

.grow-1 {
    flex: 1;
}

.ml-5 {
    margin-left: 5px;
}

.icon-mr-5 {
    margin-right: 5px;
}

.flex-gap-5 {
    gap: 5px;
}

.flex-gap-10 {
    gap: 10px;
}

.flex-gap-15 {
    gap: 15px;
}

.form-group-15 {
    margin-bottom: 15px;
}

.form-group-20 {
    margin-bottom: 20px;
}

.options-scroll-200 {
    max-height: 200px;
    overflow-y: auto;
}

.input-hidden-mt-10 {
    display: none;
    margin-top: 10px;
}

.asset-card-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.asset-main-col,
.asset-stats-col {
    width: 100%;
}

.sum-item-centered {
    text-align: center;
}

.dashboard-tx-card {
    height: fit-content;
    max-height: 550px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.list-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tx-head-right {
    text-align: right;
}

.tx-list-scroll {
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

.quick-card-fit {
    height: fit-content;
}

.qa-group-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.qa-group-hidden {
    display: none;
}

.type-icon-expense {
    color: var(--danger);
}

.type-icon-income {
    color: var(--success);
}

.type-icon-warning {
    color: var(--warning);
}

.debt-ops-group {
    display: none;
    margin-bottom: 20px;
}

.custom-cat-input {
    display: none;
    margin-top: 10px;
    border-color: var(--primary);
}

.curr-chevron-small {
    font-size: 12px;
}

.label-between {
    display: flex;
    justify-content: space-between;
}

.optional-label-hint {
    opacity: 0.6;
    font-size: 9px;
    font-weight: 400;
}

.recurring-label {
    font-size: 14px;
    font-weight: 600;
}

.recurring-icon {
    margin-right: 8px;
    opacity: 0.7;
}

.analytics-card-panel {
    display: none;
    padding: 15px;
    margin: 0;
    height: 100%;
}

.analytics-card-head {
    margin-bottom: 15px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 10px;
}

.analytics-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.analytics-btn-sm {
    font-size: 11px;
    padding: 4px 10px;
}

.stack-gap-15 {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.tx-mobile-card {
    height: calc(100vh - 180px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.tx-mobile-header {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tx-mobile-title {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.tx-mobile-filter {
    margin-top: 8px;
}

.tx-mobile-list-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.tx-mobile-list {
    flex: 1;
    min-height: 0;
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

.page-kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 8px;
}

.data-filter-disclosure,
.stats-filter-disclosure {
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    background: var(--surface-2);
    padding: 4px;
    margin-bottom: 10px;
}

.data-filter-summary,
.stats-filter-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border-radius: var(--radius-s);
    color: var(--text-main);
    font-size: 12px;
    font-weight: 700;
}

.data-filter-summary::-webkit-details-marker,
.stats-filter-summary::-webkit-details-marker {
    display: none;
}

.data-filter-summary i,
.stats-filter-summary i {
    font-size: 11px;
    color: var(--text-muted);
    transition: transform var(--dur-base) var(--ease-standard);
}

.data-filter-disclosure[open] .data-filter-summary i,
.stats-filter-disclosure[open] .stats-filter-summary i {
    transform: rotate(180deg);
}

.data-filter-disclosure .home-filter-bar,
.stats-filter-disclosure .advanced-filter-bar {
    padding: 6px;
}

.stats-filter-disclosure .stats-filter-title {
    margin-bottom: 0;
    opacity: 0.88;
}

.stats-filter-title {
    font-size: 12px;
    font-weight: 800;
    opacity: 0.5;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.date-separator-hidden {
    opacity: 0.5;
    align-self: center;
    display: none;
}

.stats-apply-btn {
    width: 100%;
    justify-content: center;
    margin-top: 5px;
}

.stats-summary-grid-layout {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.stats-chart-header-row {
    margin-bottom: 15px;
    position: relative;
    z-index: 102;
}

.stats-chart-title {
    font-size: 15px;
}

.chart-status-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.7;
    font-weight: 700;
}

.chart-status-value {
    font-weight: 800;
    font-size: 28px;
    margin: 4px 0;
    letter-spacing: -0.5px;
}

.chart-status-desc {
    font-weight: 500;
}

.limit-nav-row {
    display: none;
    align-items: center;
    gap: 15px;
    margin-top: 12px;
    justify-content: flex-start;
}

.limit-nav-btn {
    padding: 6px 10px;
    border-radius: 50%;
}

.limit-nav-icon {
    font-size: 12px;
}

.limit-nav-title {
    font-weight: 700;
    font-size: 14px;
    min-width: 80px;
    text-align: center;
}

.target-actions-hidden {
    gap: 10px;
    display: none;
    align-items: center;
    flex-wrap: wrap;
}

.manual-save-wrap {
    display: flex;
    align-items: center;
    gap: 5px;
    background: var(--theme-muted-soft);
    padding: 4px 8px;
    border-radius: 12px;
    border: 1px solid var(--theme-muted-fill);
}

.manual-save-input {
    width: 110px;
    background: transparent;
    border: none;
    color: var(--text-main);
    font-size: 15px;
    padding: 6px;
    text-align: right;
    font-weight: 600;
}

.manual-save-currency {
    font-size: 14px;
    opacity: 0.5;
    margin-right: 5px;
}

.btn-pad-md {
    padding: 8px 12px;
}

.btn-pad-sm {
    padding: 6px 12px;
}

.list-panel {
    height: fit-content;
}

.list-panel-spaced {
    margin-bottom: 20px;
}

.list-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.list-panel-title {
    font-size: 16px;
}

.list-panel-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.list-panel-subtitle {
    color: var(--text-muted);
    font-size: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
}

.list-panel-add-btn {
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
}

.list-panel-sublist {
    margin-top: 0;
}

.list-panel-debtlist {
    margin-top: 15px;
}

.card,
.form-card,
.mini-market-box,
.stats-sidebar,
.stats-content,
.modal-content,
.sheet-content,
.curr-check-item,
.auth-card,
.chat-window,
#chatWindow {
    background: var(--surface-1) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-radius: var(--radius-m) !important;
    color: var(--text-main) !important;
}

.card:hover,
.form-card:hover,
.tx-item:hover,
.list-card-item:hover {
    transform: none !important;
    border-color: var(--border-strong) !important;
    box-shadow: var(--shadow-sm) !important;
}

.dashboard-grid {
    gap: var(--space-4);
}

.lists-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.secondary-modules {
    margin-top: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.disclosure-panel {
    padding: 0 !important;
    overflow: hidden;
}

.disclosure-toggle {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
    color: var(--text-main);
    padding: 14px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    cursor: pointer;
}

.disclosure-toggle span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.disclosure-title-wrap {
    display: inline-flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 2px;
}

.disclosure-title-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.disclosure-subtitle {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 500;
}

.disclosure-chevron {
    color: var(--text-muted);
    transition: transform 0.2s ease;
}

.disclosure-panel.open .disclosure-chevron {
    transform: rotate(180deg);
}

.disclosure-body {
    display: none;
    padding: 14px 16px 16px;
}

.disclosure-panel.open .disclosure-body {
    display: block;
}

.rates-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2);
}

.rate-tile {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    padding: 10px 12px;
}

.rate-tile-label {
    color: var(--text-muted);
    font-size: 11px;
}

.rate-tile-code {
    color: var(--text-muted);
    font-size: 10px;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.rate-tile-value {
    font-size: 17px;
    font-weight: 700;
    margin-top: 8px;
    color: var(--text-main);
}

.gold-panel-card {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    padding: 14px;
}

.gold-panel-label {
    color: var(--text-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.gold-panel-value {
    font-size: 30px;
    font-weight: 700;
    color: var(--warning);
    line-height: 1.1;
    margin: 6px 0 4px;
}

.gold-panel-meta {
    color: var(--text-muted);
    font-size: 11px;
}

.extended-analytics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.analytics-card {
    background: var(--surface-2) !important;
    box-shadow: none !important;
}

.secondary-action-btn {
    margin-top: var(--space-3);
    width: 100%;
    justify-content: center;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.quick-entry-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.quick-entry-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.quick-entry-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-main);
}

.quick-entry-subtitle {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 2px;
}

.quick-advanced-toggle {
    min-height: 34px !important;
    padding: 6px 10px;
    font-size: 12px;
}

.quick-advanced-toggle i {
    transition: transform 0.16s ease;
}

.quick-type-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.quick-type-btn {
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: var(--secondary-action);
    color: var(--text-main);
    font-size: 13px;
    font-weight: 700;
    padding: 8px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
}

.quick-type-btn.active {
    border-color: var(--primary);
    background: var(--theme-chip-active-bg);
    color: var(--theme-chip-active-text);
}

.quick-amount-zone {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.quick-amount-input {
    min-height: 56px !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    text-align: left;
    letter-spacing: 0.02em;
}

.quick-amount-tags {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px !important;
}

.quick-amount-tags .amt-tag {
    min-height: 36px;
    font-size: 12px;
    border-radius: 10px;
}

.quick-shortcuts .quick-label {
    margin-bottom: 8px;
    opacity: 0.78;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.quick-shortcuts .qa-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.quick-shortcuts .chip-btn {
    min-height: 36px;
    border-radius: 10px !important;
    font-size: 12px;
}

.quick-submit-btn {
    width: 100%;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-top: 4px;
}

.quick-advanced-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 4px;
    border-top: 1px dashed var(--border);
}

.quick-currency-preview {
    width: fit-content;
}

.top-section {
    margin-top: 0;
}

.invest-card,
.invest-card::before,
.header,
.auth-btn,
.btn-income,
.btn-expense,
.btn-debt,
.fab-main,
.fab-action,
.excel-export-btn,
.btn-cancel,
.btn-save,
.premium-icon-large,
.premium-theme .sheet-content,
.filter-chip,
.h-filter-chip,
.chip-btn,
.amt-tag {
    background-image: none !important;
}

.premium-icon-large {
    animation: none !important;
    box-shadow: none !important;
}

.invest-card {
    background: var(--surface-1) !important;
    border: 1px solid var(--border-strong) !important;
}

.invest-card .big-value,
.big-value {
    font-size: 34px !important;
    color: var(--text-main) !important;
    -webkit-text-fill-color: var(--text-main) !important;
    background: none !important;
    margin-top: var(--space-2);
}

#assetCard {
    padding: var(--space-5);
}

#assetCard .card-header-row {
    margin-bottom: var(--space-2) !important;
}

.asset-stats {
    background: transparent;
    border: none;
    border-top: 1px solid var(--border);
    border-radius: 0;
    padding: var(--space-4) 0 0 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    gap: var(--space-2);
}

.asset-divider {
    display: none;
}

.sum-item h5 {
    color: var(--text-muted) !important;
    font-size: 11px;
    letter-spacing: 0.08em;
}

.sum-item p {
    font-size: 16px;
    font-weight: 700;
}

.sum-income {
    color: var(--success) !important;
}

.sum-expense {
    color: var(--danger) !important;
}

.sum-net {
    color: var(--primary) !important;
}

.header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--theme-header-bg) !important;
    border-bottom: 1px solid var(--border);
    padding: var(--space-4) var(--space-4) var(--space-3) !important;
    border-radius: 0 !important;
    box-shadow: var(--shadow-sm) !important;
    margin-bottom: var(--space-4);
}

.top-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-3);
    align-items: center;
    margin: 0;
}

.user-profile {
    gap: var(--space-2);
}

.user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--surface-3);
    border: 1px solid var(--border);
    box-shadow: none !important;
    font-size: 14px;
}

.user-avatar.is-corporate {
    background: rgba(26, 167, 161, 0.16);
    border-color: rgba(26, 167, 161, 0.38);
    color: var(--secondary);
}

.pro-badge {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 999px;
    color: #d9f4f2;
    background: rgba(26, 167, 161, 0.18);
    border: 1px solid rgba(26, 167, 161, 0.38);
    vertical-align: middle;
    margin-left: 6px;
}

.user-info div:first-child {
    font-size: 10px;
    letter-spacing: 0.07em;
    color: var(--text-muted);
}

.user-info div:last-child {
    font-size: 14px;
    font-weight: 700;
}

.market-center-bar {
    display: none;
    gap: var(--space-2);
    justify-content: center;
    overflow-x: auto;
    scrollbar-width: none;
}

.market-center-bar::-webkit-scrollbar {
    display: none;
}

.mini-market-box {
    min-width: 92px;
    padding: 8px 10px;
    border-radius: var(--radius-s);
    background: var(--surface-2) !important;
    box-shadow: none !important;
    cursor: pointer;
}

.mini-market-box:hover {
    border-color: var(--primary);
}

.mini-market-box small {
    font-size: 10px;
    color: var(--text-muted) !important;
    margin-bottom: 2px;
}

.mini-market-box strong {
    font-size: 14px;
    color: var(--text-main) !important;
}

.add-currency-btn {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: var(--surface-2);
    border: 1px dashed var(--border-strong);
    color: var(--text-muted);
}

.add-currency-btn:hover {
    color: var(--primary);
    border-color: var(--primary);
}

.del-currency-btn {
    background: var(--danger) !important;
    border: 2px solid var(--surface-1) !important;
}

.action-btns {
    display: flex;
    gap: var(--space-2);
}

.icon-btn {
    width: 36px;
    height: 36px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--text-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.18s ease, color 0.18s ease;
}

.icon-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: var(--surface-2);
}

.icon-btn.logout-btn:hover {
    border-color: var(--danger);
    color: var(--danger);
}

button,
input,
select,
textarea,
.modern-input,
.modal-input,
.date-input {
    font-family: var(--font);
}

input,
select,
textarea,
.modern-input,
.modal-input,
.date-input,
.custom-select-trigger,
.currency-trigger,
.sheet-input,
.auth-input {
    background: var(--input-bg) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-main) !important;
    border-radius: var(--radius-s) !important;
    box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus,
.modern-input:focus,
.modal-input:focus,
.date-input:focus,
.custom-select-trigger:focus,
.currency-trigger:focus {
    border-color: var(--primary) !important;
    box-shadow: var(--focus-ring) !important;
    background: var(--input-bg) !important;
}

input::placeholder,
textarea::placeholder,
.modern-input::placeholder,
.modal-input::placeholder {
    color: var(--text-muted) !important;
    opacity: 0.75;
}

.custom-options,
.currency-options,
.excel-menu {
    background: var(--surface-1) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
}

.custom-option,
.curr-option,
.excel-menu-item {
    border-bottom: 1px solid rgba(149, 168, 196, 0.12);
}

.custom-option:hover,
.curr-option:hover,
.excel-menu-item:hover {
    background: rgba(47, 127, 247, 0.1) !important;
    color: var(--primary);
}

.glass-btn,
.chip-btn,
.filter-chip,
.h-filter-chip,
.amt-tag,
.type-btn,
.debt-type-btn,
.btn-secondary,
.btn-ghost,
.modal-btn.btn-cancel {
    background: var(--secondary-action) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-main) !important;
    box-shadow: none !important;
}

.glass-btn,
.chip-btn,
.filter-chip,
.h-filter-chip,
.amt-tag,
.type-btn,
.debt-type-btn,
.modal-btn,
.excel-export-btn,
#addBtn,
.sheet-btn,
.auth-btn {
    border-radius: var(--radius-s);
    font-weight: 600;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.glass-btn:hover,
.chip-btn:hover,
.filter-chip:hover,
.h-filter-chip:hover,
.amt-tag:hover,
.type-btn:hover,
.debt-type-btn:hover,
.modal-btn.btn-cancel:hover {
    background: var(--surface-3) !important;
    border-color: var(--border-strong) !important;
    transform: none !important;
}

.h-filter-chip.active,
.filter-chip.active {
    background: var(--theme-chip-active-bg) !important;
    border-color: var(--theme-chip-active-border) !important;
    color: var(--theme-chip-active-text) !important;
}

#addBtn {
    width: 100%;
    padding: 14px 16px;
    border: none;
    color: #ffffff;
    margin-top: var(--space-3);
}

.btn-income {
    background: var(--success) !important;
    color: #ffffff !important;
}

.btn-expense {
    background: var(--danger) !important;
    color: #ffffff !important;
}

.btn-debt {
    background: var(--secondary) !important;
    color: #ffffff !important;
}

.btn-income:hover,
.btn-expense:hover,
.btn-debt:hover {
    filter: brightness(0.96);
    transform: none !important;
}

.modal-actions {
    gap: var(--space-2);
}

.modal-btn,
.sheet-btn,
.auth-btn,
.excel-export-btn {
    padding: 11px 14px;
    border: 1px solid transparent;
}

.modal-btn.btn-save,
.sheet-btn.btn-primary,
.auth-btn,
.excel-export-btn,
.btn-gold {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
}

.modal-btn.btn-danger {
    background: var(--danger) !important;
    border-color: var(--danger) !important;
    color: #ffffff !important;
}

.modal-btn.btn-save:hover,
.sheet-btn.btn-primary:hover,
.auth-btn:hover,
.excel-export-btn:hover,
.btn-gold:hover,
.modal-btn.btn-danger:hover {
    background: var(--primary-pressed) !important;
    border-color: var(--primary-pressed) !important;
    transform: none !important;
    box-shadow: none !important;
}

.modal-btn.btn-danger:hover {
    background: var(--btn-danger-bg-hover) !important;
    border-color: var(--btn-danger-bg-hover) !important;
}

.auth-container {
    background: var(--bg-body);
    background-image: none;
}

.auth-link {
    border: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text-muted);
}

.auth-link:hover {
    color: var(--text-main);
    border-color: var(--border-strong);
    transform: none;
}

.bottom-nav {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    width: 100% !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--border-strong) !important;
    background: var(--theme-nav-bg) !important;
    box-shadow: var(--shadow-sm) !important;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-2);
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    z-index: 140;
}

.nav-item {
    border: 1px solid transparent;
    border-radius: var(--radius-s);
    background: transparent;
    color: var(--text-muted) !important;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 6px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 48px;
    line-height: 1;
}

.nav-item i {
    font-size: 16px;
}

.nav-item:hover {
    background: var(--theme-muted-soft);
    color: var(--text-main) !important;
    transform: none !important;
}

.nav-item.active {
    background: var(--theme-nav-active-bg) !important;
    border-color: var(--theme-chip-active-border) !important;
    color: var(--theme-nav-active-text) !important;
    transform: none !important;
    box-shadow: none !important;
}

.nav-item.active::after {
    content: none !important;
}

.nav-label {
    font-size: 10px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.page {
    padding-bottom: 92px !important;
}

.chat-fab,
.fab-main,
.fab-action {
    box-shadow: var(--shadow-sm) !important;
}

.fab-main {
    background: var(--primary) !important;
    border: 1px solid var(--primary);
}

.fab-main.open {
    background: var(--danger) !important;
    border-color: var(--danger) !important;
}

.fab-action.income {
    background: var(--success) !important;
}

.fab-action.expense {
    background: var(--danger) !important;
}

.fab-action.debt {
    background: var(--secondary) !important;
}

.tx-list {
    gap: var(--space-2);
}

.corporate-tx-head {
    display: none;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    margin-bottom: 8px;
    background: var(--surface-2);
}

.corporate-report-actions {
    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: -2px 0 12px;
}

.home-corporate-actions,
.tx-page-corporate-actions {
    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
}

.corp-report-btn {
    min-height: 34px !important;
    font-size: 12px !important;
    padding: 6px 10px !important;
}

body.user-mode-corporate #corporateReportActions {
    display: flex;
}

body.user-mode-corporate #homeCorporateActions,
body.user-mode-corporate #txCorporateActions {
    display: flex;
}

body.user-mode-corporate .corporate-tx-head {
    display: grid;
}

body.user-mode-corporate .tx-mobile-corporate-head {
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

body.user-mode-corporate .tx-list {
    gap: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    overflow: hidden;
    background: var(--surface-1);
}

body.user-mode-corporate .tx-item-corporate {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    border-radius: 0;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 10px 12px;
    background: transparent !important;
}

body.user-mode-corporate .tx-item-corporate:last-child {
    border-bottom: 0 !important;
}

body.user-mode-corporate #page-transactions .tx-list {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

body.user-mode-corporate .tx-item-corporate .tx-main-cell {
    min-width: 0;
}

body.user-mode-corporate .tx-item-corporate .tx-icon {
    display: none;
}

body.user-mode-corporate .tx-item-corporate .tx-title {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.user-mode-corporate .tx-item-corporate .tx-meta {
    font-size: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.user-mode-corporate .tx-item-corporate .tx-meta-sep {
    opacity: 0.4;
}

body.user-mode-corporate .tx-item-corporate .tx-actions-cell {
    gap: 8px !important;
}

body.user-mode-corporate .tx-item-corporate .tx-action-icon {
    width: 26px;
    height: 26px;
    border-radius: 6px;
}

body.user-mode-corporate .tx-item-corporate .tx-amount {
    min-width: 136px;
}

.tx-item {
    background: var(--surface-2) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-s);
    padding: 12px 14px;
}

.tx-item.is-filter-hidden {
    display: none !important;
}

.tx-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    margin-right: var(--space-3);
    background: rgba(149, 168, 196, 0.12);
    color: var(--text-main);
}

.tx-icon-expense {
    background: rgba(223, 90, 90, 0.18);
    color: var(--danger);
}

.tx-icon-income {
    background: rgba(31, 181, 108, 0.18);
    color: var(--success);
}

.tx-title {
    font-weight: 600;
    color: var(--text-main);
}

.tx-meta {
    font-size: 11px;
    color: var(--text-muted);
}

.tx-amount {
    font-size: 14px;
    font-weight: 700;
    min-width: 108px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
}

.tx-action-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--surface-3);
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.tx-action-icon:hover {
    border-color: var(--primary);
    color: var(--primary);
}

/* Transactions page readability for long content */
#page-transactions .tx-main-cell {
    align-items: flex-start;
}

#page-transactions .tx-details {
    min-width: 0;
}

#page-transactions .tx-title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.3;
}

#page-transactions .tx-meta {
    white-space: normal;
    line-height: 1.25;
}

#page-transactions .tx-actions-cell {
    flex-shrink: 0;
    align-self: flex-start;
}

body.user-mode-corporate #page-transactions .tx-item-corporate {
    align-items: flex-start;
}

body.user-mode-corporate #page-transactions .tx-item-corporate .tx-title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

.tx-action-icon-delete {
    color: var(--danger);
    border-color: rgba(223, 90, 90, 0.35);
    background: rgba(223, 90, 90, 0.08);
}

.tx-action-icon-delete:hover {
    border-color: var(--danger);
}

.empty-state,
.empty-placeholder {
    text-align: center;
    color: var(--text-muted);
    font-size: 12px;
    padding: 16px 12px;
    border: 1px dashed var(--border);
    border-radius: var(--radius-s);
}

.list-header {
    padding-bottom: var(--space-2) !important;
    margin-bottom: var(--space-2) !important;
    border-bottom: 1px solid var(--border) !important;
}

.search-input-wrap {
    position: relative;
    width: 46%;
}

.search-input-wrap i {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.6;
    font-size: 12px;
}

.search-input-wrap input {
    padding: 7px 10px 7px 30px !important;
    border-radius: 999px !important;
    font-size: 12px;
}

.stats-summary-grid {
    gap: var(--space-3) !important;
}

.stats-kpi-card {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
    overflow: hidden;
}

.stats-summary-grid .stats-kpi-card:first-child {
    border-color: var(--border-strong);
    background: var(--surface-2);
}

.stats-summary-grid .stats-kpi-card:first-child .stats-kpi-value {
    font-size: 22px;
}

.stats-kpi-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    font-weight: 600;
}

.stats-kpi-value {
    font-size: 18px;
    font-weight: 700;
}

.stats-kpi-icon {
    position: absolute;
    right: 12px;
    top: 12px;
    font-size: 26px;
    opacity: 0.14;
}

.stats-kpi-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.stats-kpi-sub {
    font-size: 10px;
    color: var(--text-muted);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.stats-kpi-trend {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--theme-muted-soft);
}

.stats-kpi-trend.trend-up {
    color: var(--chart-income);
    border-color: var(--chart-up-soft-border);
    background: var(--chart-up-soft-bg);
}

.stats-kpi-trend.trend-down {
    color: var(--chart-expense);
    border-color: var(--chart-down-soft-border);
    background: var(--chart-down-soft-bg);
}

.stats-kpi-trend.trend-flat {
    color: var(--text-muted);
}

.stats-kpi-sparkline {
    height: 30px;
    margin-top: 2px;
}

.stats-kpi-card-compact .stats-kpi-value {
    font-size: 20px;
}

.stats-kpi-dual-values {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 700;
}

.stats-kpi-dual-income {
    color: var(--success);
}

.stats-kpi-dual-expense {
    color: var(--danger);
}

.stats-kpi-dual-sep {
    color: var(--text-muted);
    font-size: 12px;
}

.corp-stats-table-wrap {
    display: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    background: var(--surface-2);
    padding: 10px;
    margin-top: -6px;
}

.corp-stats-table-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 8px;
}

.corp-stats-table-title {
    margin: 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.corp-stats-table-subtitle {
    color: var(--text-muted);
    font-size: 11px;
}

.corp-stats-table-scroll {
    overflow-x: auto;
}

.corp-stats-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
}

.corp-stats-table th,
.corp-stats-table td {
    text-align: left;
    padding: 9px 8px;
    border-bottom: none;
    font-size: 12px;
}

.corp-stats-table th {
    color: var(--text-muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.corp-stats-table td:first-child {
    font-weight: 600;
}

.corp-stats-table tbody tr:last-child td {
    border-bottom: 0;
}

.corp-stats-delta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
}

.corp-stats-delta.trend-up {
    color: var(--chart-income);
}

.corp-stats-delta.trend-down {
    color: var(--chart-expense);
}

.corp-stats-delta.trend-flat {
    color: var(--text-muted);
}

body.user-mode-corporate #corporateStatsTableWrap {
    display: block;
}

.sparkline-svg {
    width: 100%;
    height: 100%;
    opacity: 0.95;
}

.chart-drill-row {
    margin-bottom: 10px;
    padding: 8px 10px;
    border: 1px dashed var(--border);
    border-radius: var(--radius-s);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--text-muted);
}

.chart-drill-reset {
    min-height: 30px !important;
    font-size: 11px !important;
    padding: 4px 8px !important;
}

.chart-delta-line {
    margin-top: 8px;
    font-size: 11px;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}

.chart-delta-line.trend-up {
    color: var(--chart-income);
}

.chart-delta-line.trend-down {
    color: var(--chart-expense);
}

.limit-row {
    margin-bottom: 12px;
}

.limit-meta,
.savings-meta,
.savings-head {
    font-size: 12px;
    color: var(--text-muted);
}

.limit-meta {
    margin-bottom: 6px;
}

.limit-actions {
    display: inline-flex;
    gap: 4px;
}

.limit-action-btn {
    width: 24px;
    height: 24px;
    border: 1px solid var(--border);
    border-radius: var(--radius-xs);
    background: var(--surface-3);
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.limit-action-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.budget-progress-track,
.savings-track {
    width: 100%;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--theme-muted-fill);
}

.budget-progress-fill,
.savings-fill {
    height: 100%;
    border-radius: 999px;
    box-shadow: none !important;
}

.savings-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.savings-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
}

.savings-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
}

.savings-create {
    border: 1px dashed var(--border);
    border-radius: var(--radius-s);
    padding: 14px;
    text-align: center;
    color: var(--text-muted);
    cursor: pointer;
}

.savings-create:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.recurring-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    padding: 10px 12px;
}

.badge-tag {
    background: var(--surface-2) !important;
    border: 1px solid var(--border);
    color: var(--text-muted);
    border-radius: 999px;
    font-size: 11px;
    padding: 5px 10px;
}

.list-card-item {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
    padding: 12px;
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-2);
    border-left-width: 4px;
    border-left-style: solid;
    border-left-color: transparent;
}

.list-card-item.is-give {
    border-left-color: var(--danger);
}

.list-card-item.is-take {
    border-left-color: var(--success);
}

.list-card-main,
.list-card-end {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.list-card-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-main);
}

.list-card-sub {
    font-size: 11px;
    color: var(--text-muted);
}

.list-card-amount {
    font-size: 15px;
    font-weight: 700;
}

.list-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.list-card-icon-sub {
    background: rgba(47, 127, 247, 0.16);
    color: var(--primary);
}

.list-card-icon-debt {
    background: rgba(223, 90, 90, 0.16);
    color: var(--danger);
}

.list-actions {
    display: flex;
    gap: 6px;
    opacity: 1;
}

.l-btn {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--surface-3);
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.l-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.l-btn.l-del {
    color: var(--danger);
    border-color: rgba(223, 90, 90, 0.35);
    background: rgba(223, 90, 90, 0.08);
}

.debt-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.badge-give {
    color: #ffd8d8;
    background: rgba(223, 90, 90, 0.16);
    border: 1px solid rgba(223, 90, 90, 0.35);
}

.badge-take {
    color: #d9f9e7;
    background: rgba(31, 181, 108, 0.16);
    border: 1px solid rgba(31, 181, 108, 0.35);
}

#targetControls>div {
    background: var(--surface-2) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-s) !important;
}

#targetControls input,
#manualSaveInput {
    color: var(--text-main) !important;
}

#targetControls span {
    color: var(--text-muted) !important;
}

.chart-info-box,
.chart-box,
#emptyChartState {
    background: transparent;
}

.custom-modal {
    background: var(--theme-modal-backdrop) !important;
    backdrop-filter: none;
}

.modal-header {
    border-bottom: 1px solid var(--border);
    padding-bottom: var(--space-2);
}

.modal-close {
    color: var(--text-muted);
}

.modal-close:hover {
    color: var(--danger);
}

.sheet-backdrop {
    background: var(--theme-sheet-backdrop);
}

.sheet-handle {
    background: var(--theme-muted-fill);
}

.sheet-icon-box {
    background: var(--surface-2);
    border: 1px solid var(--border);
}

.sheet-content {
    border-top: 1px solid var(--border);
    box-shadow: var(--shadow-sm) !important;
}

#toast {
    background: var(--theme-toast-bg) !important;
    border: 1px solid var(--border);
    color: var(--text-main);
    box-shadow: var(--shadow-sm) !important;
}

.icon-inline-offset {
    margin-left: 5px;
}

.type-icon-primary {
    color: var(--primary);
}

#chatQuotaBadge {
    display: none;
}

.chat-header-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.chat-header-avatar {
    background: var(--primary);
    color: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.chat-header-avatar-icon {
    font-size: 14px;
}

.chat-header-meta {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.tx-main-cell {
    flex: 1;
    align-items: center;
}

.tx-actions-cell {
    gap: 10px;
    align-items: center;
}

.tx-action-icon-glyph {
    font-size: 12px;
}

.custom-option-divider-top {
    border-top: 1px solid rgba(149, 168, 196, 0.24);
}

.market-empty-message {
    font-size: 12px;
    color: var(--text-muted);
    padding: 5px;
    align-self: center;
}

.savings-fill {
    transition: width 0.5s ease;
}

.savings-fill.is-active {
    background: var(--primary);
}

.savings-fill.is-complete {
    background: var(--success);
}

.savings-create-icon {
    font-size: 16px;
    margin-bottom: 5px;
    display: block;
}

.list-suggestions-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
}

.list-suggestion-chip {
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
}

.list-suggestions-divider {
    width: 100%;
    height: 1px;
    background: var(--border);
    margin: 6px 0;
}

.list-main-category-row {
    width: 100%;
    display: flex;
    gap: 5px;
    overflow-x: auto;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--border);
}

.list-main-chip {
    white-space: nowrap;
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
}

.list-main-chip.active {
    background: var(--theme-chip-active-bg) !important;
    border-color: var(--theme-chip-active-border) !important;
    color: var(--theme-chip-active-text) !important;
}

.list-sub-category-row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.list-sub-chip {
    padding: 5px 10px;
    font-size: 11px;
    border-radius: var(--radius-s);
    border: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text-main);
    cursor: pointer;
}

.list-sub-chip.active {
    border-color: var(--theme-success-soft-border);
    color: var(--success);
    background: var(--theme-success-soft-bg);
}

.premium-glow {
    box-shadow: none !important;
    background-image: none !important;
}

.premium-sheet-body {
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.premium-title {
    color: var(--warning);
    margin: 10px 0 5px;
}

.premium-text {
    color: var(--text-muted);
    font-size: 14px;
    margin-bottom: 20px;
}

.debt-type-container {
    display: none;
    margin-bottom: 15px;
    justify-content: center;
    gap: 10px;
}

.recurring-check-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.recurring-date-group {
    display: none;
}

.w-full-btn {
    width: 100%;
}

.currency-chart-canvas-wrap {
    height: 250px;
    width: 100%;
}

.corp-fields-wrapper {
    display: none;
    background: var(--warning-bg);
    padding: 10px;
    border-radius: var(--radius-s);
    margin-bottom: 10px;
    border: 1px solid rgba(197, 138, 43, 0.45);
}

.corp-field-label {
    color: var(--warning);
    font-weight: 700;
}

.modal-separator {
    border: 0;
    border-top: 1px solid var(--border);
    margin: 15px 0;
}

.modal-content-compact {
    max-width: 350px;
}

.confirm-text {
    opacity: 0.8;
    margin-bottom: 20px;
}

.prompt-text {
    opacity: 0.8;
    margin-bottom: 15px;
    display: none;
}

/* ==================================================
   ENTERPRISE SAAS HARDENING
   ================================================== */

/* Strong, data-centric typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    letter-spacing: -0.01em;
}

.money-value,
.tx-amount,
#cardValue,
#totalInc,
#totalExp,
#totalNet,
#cfValue1,
.stats-kpi-value,
.list-card-amount,
.gold-panel-value {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
}

/* Flat cards, muted surfaces, no decorative depth */
.card,
.form-card,
.stats-content,
.stats-sidebar,
.disclosure-panel,
.modal-content,
.sheet-content,
.chart-container,
.chart-box,
.analytics-card {
    box-shadow: var(--shadow-none) !important;
    background-image: none !important;
}

/* Structured spacing rhythm */
#page-home .top-section,
#page-home .dashboard-grid,
#page-home .secondary-modules,
#page-stats .stats-container,
#page-lists .dashboard-grid {
    gap: var(--space-4);
}

.quick-entry-card,
.stats-kpi-card,
.list-card-item,
.tx-item {
    border-radius: var(--radius-md);
}

/* Readability refinements for dense financial UI */
.tx-title,
.list-card-title,
.stats-chart-title,
.analytics-title {
    font-weight: 700;
}

.tx-meta,
.list-card-sub,
.chart-status-desc,
.chart-delta-line {
    color: var(--color-text-muted);
}

/* ==================================================
   DESIGN SYSTEM - COMPONENT STANDARD
   ================================================== */

:root {
    --ds-radius: var(--card-radius);
    --ds-control-h: var(--btn-height-md);
    --ds-control-h-sm: var(--btn-height-sm);
    --ds-card-padding: var(--card-padding-sm);
    --ds-transition: var(--dur-base) var(--ease-standard);
}

/* Buttons */
.btn,
.glass-btn,
.modal-btn,
.sheet-btn,
.auth-btn,
.excel-export-btn,
#addBtn {
    min-height: var(--ds-control-h);
    border-radius: var(--ds-radius) !important;
    border: 1px solid transparent;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: background-color var(--ds-transition), border-color var(--ds-transition), color var(--ds-transition);
}

.btn:hover,
.glass-btn:hover,
.modal-btn:hover,
.sheet-btn:hover,
.auth-btn:hover,
.excel-export-btn:hover,
#addBtn:hover {
    transform: none !important;
    box-shadow: none !important;
}

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

.btn-secondary {
    background: var(--btn-secondary-bg) !important;
    border-color: var(--btn-secondary-border) !important;
    color: var(--btn-secondary-fg) !important;
}

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

.btn-ghost {
    background: var(--btn-ghost-bg) !important;
    border-color: var(--btn-ghost-border) !important;
    color: var(--btn-ghost-fg) !important;
}

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

.btn-secondary:hover {
    background: var(--btn-secondary-bg-hover) !important;
    border-color: var(--color-border-strong) !important;
}

.btn-ghost:hover {
    background: var(--btn-ghost-bg-hover) !important;
    border-color: var(--btn-ghost-border) !important;
}

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

/* Form Inputs */
.form-input,
.modern-input,
.modal-input,
input:not([type='checkbox']):not([type='radio']),
textarea {
    min-height: var(--ds-control-h);
    border-radius: var(--ds-radius) !important;
    border: 1px solid var(--border) !important;
    background: var(--input-bg) !important;
    color: var(--text-main) !important;
    font-size: 14px;
    padding: 10px 12px;
    box-shadow: none !important;
    transition: border-color var(--ds-transition), background-color var(--ds-transition), color var(--ds-transition);
}

.form-input:focus,
.modern-input:focus,
.modal-input:focus,
input:not([type='checkbox']):not([type='radio']):focus,
textarea:focus {
    border-color: var(--primary) !important;
    background: var(--input-bg) !important;
    box-shadow: var(--focus-ring) !important;
}

/* Select Dropdown */
.select-trigger,
.custom-select-trigger,
.currency-trigger,
select {
    min-height: var(--ds-control-h);
    border-radius: var(--ds-radius) !important;
    border: 1px solid var(--border) !important;
    background: var(--surface-2) !important;
    color: var(--text-main) !important;
    padding: 10px 12px;
    box-shadow: none !important;
}

.custom-options,
.currency-options {
    border-radius: var(--ds-radius) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Cards */
.card,
.form-card,
.stats-content,
.stats-sidebar,
.disclosure-panel,
.modal-content {
    border-radius: var(--ds-radius) !important;
    border: 1px solid var(--card-border) !important;
    background: var(--card-bg) !important;
    box-shadow: var(--card-shadow) !important;
    padding: var(--ds-card-padding);
}

/* Stat Widgets */
.stat-widget,
.stats-kpi-card,
.sum-item {
    border-radius: var(--ds-radius) !important;
}

.stats-kpi-card {
    background: var(--surface-2);
    border: 1px solid var(--border);
    box-shadow: none;
}

/* Charts Container */
.charts-shell,
.chart-container,
.charts-wrapper {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--ds-radius);
    padding: 12px;
}

/* Filter Chips */
.filter-chip,
.h-filter-chip,
.chip-btn {
    appearance: none;
    -webkit-appearance: none;
    min-height: 34px;
    border-radius: 999px !important;
    border: 1px solid var(--border) !important;
    background: var(--secondary-action) !important;
    color: var(--text-main) !important;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    transition: background-color var(--ds-transition), border-color var(--ds-transition), color var(--ds-transition);
}

.filter-chip:hover,
.h-filter-chip:hover,
.chip-btn:hover {
    background: var(--theme-muted-soft) !important;
    border-color: var(--border-strong) !important;
}

.filter-chip.active,
.h-filter-chip.active {
    background: var(--theme-chip-active-bg) !important;
    border-color: var(--theme-chip-active-border) !important;
    color: var(--theme-chip-active-text) !important;
}

/* Floating Action Button */
.fab-main {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid var(--btn-primary-border);
    background: var(--btn-primary-bg) !important;
    color: var(--btn-primary-fg);
    box-shadow: var(--shadow-sm) !important;
}

.fab-action {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid transparent;
    box-shadow: var(--shadow-sm) !important;
}

.fab-main:hover,
.fab-action:hover {
    filter: brightness(0.96);
    transform: none !important;
}

/* ==================================================
   ENTERPRISE MOBILE PWA REDESIGN
   ================================================== */

:root {
    --mobile-shell-max: 560px;
    --mobile-gutter: 12px;
    --mobile-stack-gap: 12px;
    --mobile-card-padding: 12px;
}

#mainApp .container {
    max-width: 1200px;
}

@media (max-width: 768px) {
    #mainApp .container {
        max-width: var(--mobile-shell-max);
        margin: 0 auto;
        padding-left: var(--mobile-gutter);
        padding-right: var(--mobile-gutter);
    }

    .page {
        display: flex;
        flex-direction: column;
        gap: var(--mobile-stack-gap);
    }

    .page-kicker {
        margin-bottom: 4px;
        letter-spacing: 0.09em;
        font-weight: 700;
    }

    .header {
        padding: 10px 12px !important;
        border-bottom-width: 1px;
    }

    .card,
    .form-card,
    .stats-content,
    .stats-sidebar,
    .chart-container,
    .chart-info-box,
    .chart-box {
        border-radius: var(--radius-s) !important;
        box-shadow: none !important;
    }

    .form-card,
    .card {
        padding: var(--mobile-card-padding) !important;
    }

    .list-header span,
    .tx-mobile-title,
    .stats-chart-title,
    .quick-entry-title {
        letter-spacing: 0.06em;
        font-weight: 700;
    }

    .filter-chip,
    .h-filter-chip,
    .chip-btn,
    .amt-tag {
        border-radius: var(--radius-s) !important;
    }

    .dashboard-grid,
    .stats-container,
    .secondary-modules {
        gap: var(--mobile-stack-gap) !important;
    }

    .quick-entry-card {
        gap: 10px;
    }

    .quick-amount-input {
        font-size: 22px !important;
        min-height: 50px !important;
    }

    .quick-smart-hint {
        font-size: 11px;
        color: var(--text-muted);
    }

    .tx-item {
        padding: 10px 11px;
        border-radius: var(--radius-s);
    }

    .tx-main-cell {
        align-items: flex-start;
    }

    .tx-title {
        font-size: 13px;
        line-height: 1.25;
    }

    .tx-meta {
        font-size: 10px;
        letter-spacing: 0.03em;
    }

    .tx-actions-cell {
        gap: 6px !important;
    }

    .stats-summary-grid-layout {
        gap: 10px !important;
    }

    .stats-kpi-card {
        padding: 10px;
    }

    .stats-kpi-value {
        font-size: 17px;
    }

    .excel-menu,
    .custom-options,
    .currency-options {
        box-shadow: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

::-webkit-scrollbar-thumb {
    background: #2a3e5d;
}

::-webkit-scrollbar-track {
    background: transparent;
}

@media (max-width: 768px) {
    .header {
        padding: 12px 12px 10px !important;
    }

    .top-row {
        grid-template-columns: 1fr auto;
        gap: 10px;
    }

    .market-center-bar {
        grid-column: 1 / -1;
        justify-content: flex-start;
        margin-top: 2px;
    }

    #assetCard {
        padding: var(--space-4);
    }

    .top-section {
        margin-top: 0 !important;
        gap: 10px !important;
    }

    .asset-stats {
        padding: 10px;
        gap: 6px;
    }

    .dashboard-grid {
        gap: 12px;
    }

    #page-home .dashboard-grid {
        grid-template-columns: 1fr !important;
    }

    #page-home .dashboard-grid>.card:first-child {
        position: static !important;
        left: auto !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .form-card,
    .card {
        padding: 14px !important;
    }

    .search-input-wrap {
        width: 52%;
    }

    .tx-amount {
        min-width: 88px;
        font-size: 13px;
    }

    .rates-grid,
    .extended-analytics-grid {
        grid-template-columns: 1fr;
    }

    .quick-entry-head {
        align-items: center;
    }

    .quick-entry-subtitle {
        display: none;
    }

    .quick-type-row {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .quick-type-btn {
        min-height: 40px;
        font-size: 12px;
        padding: 6px 8px;
    }

    .quick-amount-input {
        min-height: 52px !important;
        font-size: 24px !important;
    }

    .quick-amount-tags {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .quick-submit-btn {
        min-height: 46px !important;
        font-size: 14px !important;
    }

    .corporate-report-actions {
        gap: 6px;
    }

    .home-corporate-actions,
    .tx-page-corporate-actions {
        gap: 6px;
    }

    .corp-report-btn {
        flex: 1 1 calc(50% - 6px);
        justify-content: center;
    }

    body.user-mode-corporate .stats-container {
        grid-template-columns: 1fr;
    }

    body.user-mode-corporate .stats-sidebar {
        position: static;
        max-height: none;
        overflow: visible;
    }

    body.user-mode-corporate #page-home .dashboard-grid {
        grid-template-columns: 1fr;
    }

    body.user-mode-corporate .stats-summary-grid-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .corp-stats-table-wrap {
        padding: 8px;
    }

    .corp-stats-table {
        min-width: 560px;
    }

    .chart-drill-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .chart-drill-reset {
        width: 100%;
        justify-content: center;
    }

    .stats-kpi-sparkline {
        height: 24px;
    }

    .bottom-nav {
        gap: 6px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .nav-item {
        min-height: 46px;
        padding: 6px 4px;
    }

    .nav-item i {
        font-size: 15px;
    }

    .nav-label {
        font-size: 9px;
    }

    .mobile-fab-container {
        left: 12px !important;
        bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .chat-fab {
        right: 12px !important;
        bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    }

    #page-home .dashboard-grid>.card:first-child {
        position: static !important;
        left: auto !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .btn,
    .glass-btn,
    .modal-btn,
    .sheet-btn,
    .auth-btn,
    .excel-export-btn,
    #addBtn {
        min-height: var(--ds-control-h-sm);
        font-size: 13px;
    }
}

@media (max-width: 420px) {
    .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .mini-market-box {
        min-width: 84px;
    }

    .search-input-wrap {
        width: 56%;
    }

    .tx-amount {
        min-width: 78px;
    }

    body.user-mode-corporate .stats-summary-grid-layout {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   ENTERPRISE MOBILE FINAL OVERRIDES
   ================================================== */
@media (max-width: 768px) {
    .header {
        padding: 10px 12px 9px !important;
    }

    .form-card,
    .card {
        padding: 12px !important;
    }

    .page {
        gap: 12px;
    }

    .page-kicker {
        letter-spacing: 0.09em;
    }

    .filter-chip,
    .h-filter-chip,
    .chip-btn,
    .amt-tag {
        border-radius: var(--radius-s) !important;
    }

    .quick-amount-input {
        min-height: 50px !important;
        font-size: 22px !important;
    }

    .stats-kpi-card {
        padding: 10px !important;
    }

    .stats-kpi-value {
        font-size: 17px !important;
    }

    .tx-item {
        padding: 10px 11px !important;
    }

    .tx-title {
        font-size: 13px !important;
        line-height: 1.25;
    }

    .tx-meta {
        font-size: 10px !important;
        letter-spacing: 0.03em;
    }

    .excel-menu,
    .custom-options,
    .currency-options {
        box-shadow: none !important;
    }
}