/* =========================================

   AURORA THEME - SONNET MONEY (MASTER)

   Aesthetic: Modern, Minimalist, Elegant, Glassmorphic

   ========================================= */



:root {

    /* --- Palette: Ethereal & Bright --- */

    --bg-base: #fdfbf7;

    --bg-gradient: linear-gradient(135deg, #fdfbf7 0%, #fff0f5 100%);



    /* Primary Accents */

    --primary: #0ea5e9;

    /* Sky Blue */

    --primary-dark: #0284c7;

    --primary-light: #38bdf8;

    --primary-soft: rgba(14, 165, 233, 0.08);



    --success: #10b981;

    /* Emerald */

    --warning: #f59e0b;

    /* Amber */

    --danger: #ef4444;

    /* Red */



    /* Text Colors */

    --text-main: #1e293b;

    --text-muted: #64748b;

    --text-light: #94a3b8;



    /* Glassmorphism Tokens */

    --glass-bg: rgba(255, 255, 255, 0.65);

    --glass-border: rgba(255, 255, 255, 0.8);

    --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);

    --glass-blur: blur(12px);



    /* Component Specific */

    --nav-bg: rgba(255, 255, 255, 0.8);

    --panel-bg: rgba(255, 255, 255, 0.65);



    /* Spacing & Radius */

    --radius-full: 100px;

    --radius-lg: 24px;

    --radius-md: 16px;

    --radius-sm: 12px;

}

/* Glassmorphism Utility Class */
.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
}

/* --- Global Reset & Typography --- */

* {
    box-sizing: border-box;
}

body {

    font-family: 'Inter', sans-serif;

    background: transparent;

    color: var(--text-main);

    line-height: 1.6;

    margin: 0;

    padding: 0;

    overflow-x: hidden;

}



h1,

h2,

h3,

h4,

h5,

h6 {

    font-family: 'DM Serif Text', serif;

    font-weight: 400;

    letter-spacing: -0.02em;

    color: var(--text-main);

}



/* --- Aurora Background Effect --- */

.aurora-bg {

    position: fixed;

    top: 0;

    left: 0;

    width: 100vw;

    height: 100vh;

    z-index: -1;

    overflow: hidden;

    background: var(--bg-base);

}



.aurora-blob {

    position: absolute;

    border-radius: 50%;

    filter: blur(60px);

    /* Reduced blur for more definition */

    opacity: 0.8;

    /* Increased opacity */

    animation: float 20s infinite alternate;

}



.blob-1 {

    top: -10%;

    left: -10%;

    width: 50vw;

    height: 50vw;

    background: radial-gradient(circle, #bae6fd 0%, rgba(255, 255, 255, 0) 70%);

    /* Brighter Blue */

    animation-delay: 0s;

}



.blob-2 {

    bottom: -10%;

    right: -10%;

    width: 60vw;

    height: 60vw;

    background: radial-gradient(circle, #fbcfe8 0%, rgba(255, 255, 255, 0) 70%);

    /* Brighter Pink */

    animation-delay: -5s;

}



.blob-3 {

    top: 40%;

    left: 40%;

    width: 40vw;

    height: 40vw;

    background: radial-gradient(circle, #bbf7d0 0%, rgba(255, 255, 255, 0) 70%);

    /* Brighter Green */

    animation-delay: -10s;

}



@keyframes float {

    0% {

        transform: translate(0, 0) scale(1);

    }



    50% {

        transform: translate(30px, -30px) scale(1.1);

    }



    100% {

        transform: translate(-20px, 20px) scale(0.95);

    }

}



/* --- Glassmorphism Utilities --- */

.glass-panel {

    background: var(--glass-bg);

    backdrop-filter: var(--glass-blur);

    -webkit-backdrop-filter: var(--glass-blur);

    border: 1px solid var(--glass-border);

    box-shadow: var(--glass-shadow);

    border-radius: var(--radius-lg);

}



/* --- Navigation (Aurora Style) --- */

.aurora-nav {
    position: fixed;
    top: 16px;
    left: 0;
    right: 0;
    max-width: 1280px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--radius-full);
    padding: 12px 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--text-main);
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    letter-spacing: -0.02em;
}

.nav-logo img {
    height: 32px;
    width: 32px;
}

.nav-links {
    display: flex;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 4px;
    background: rgba(0,0,0,0.03);
    border-radius: var(--radius-full);
}

.nav-links a {
    text-decoration: none;
    color: var(--text-muted);
    font-weight: 500;
    font-size: 0.9rem;
    padding: 8px 16px;
    border-radius: var(--radius-full);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-links a:hover, .nav-links a.active {
    color: var(--text-main);
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.nav-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.nav-actions a.nav-link-btn {
    text-decoration: none;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.9rem;
    padding: 8px 16px;
    border-radius: var(--radius-full);
    transition: all 0.2s;
}

.nav-actions a.nav-link-btn:hover {
    color: var(--text-main);
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.btn-pill-primary {
    background: var(--text-main);
    color: white;
    padding: 10px 24px;
    border-radius: var(--radius-full);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.btn-pill-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    background: black;
}



.nav-center {

    display: flex;

    gap: 6px;

    align-items: center;

}



.nav-pill {

    padding: 6px 18px;

    border-radius: var(--radius-full);

    font-size: 13px;

    font-weight: 500;

    color: var(--text-muted);

    text-decoration: none;

    transition: all 0.3s ease;

    cursor: pointer;

    border: none;

    background: transparent;

}



.nav-pill:hover {

    background: var(--primary-soft);

    color: var(--primary);

}



.nav-pill.active {

    background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%);

    color: white;

    box-shadow: 0 2px 8px rgba(56, 189, 248, 0.25);

}



.nav-user {

    display: flex;

    align-items: center;

    gap: 10px;

}



.user-name {

    font-size: 13px;

    color: var(--text-muted);

}



.user-name strong {

    color: var(--text-main);

    font-weight: 600;

}



.user-avatar {

    width: 32px;

    height: 32px;

    border-radius: 50%;

    background: linear-gradient(135deg, #f0abfc 0%, #c084fc 100%);

    display: flex;

    align-items: center;

    justify-content: center;

    color: white;

    font-weight: 600;

    font-size: 13px;

    cursor: pointer;

    transition: transform 0.2s;

}



.user-avatar:hover {

    transform: scale(1.08);

}



/* --- Nav Dropdown (Aurora) --- */

.nav-item-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}



.nav-dropdown {

    position: absolute;

    top: 100%;

    left: 50%;

    transform: translateX(-50%) translateY(10px);

    background: rgba(255, 255, 255, 0.9);

    backdrop-filter: blur(20px);

    border: 1px solid rgba(255, 255, 255, 0.95);

    border-radius: 16px;

    padding: 8px;

    min-width: 160px;

    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);

    opacity: 0;

    visibility: hidden;

    transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);

    z-index: 1100;

}



.nav-item-wrapper:hover .nav-dropdown {

    opacity: 1;

    visibility: visible;

    transform: translateX(-50%) translateY(8px);

}



.nav-dropdown-item {

    display: block;

    padding: 10px 16px;

    color: var(--text-muted);

    text-decoration: none;

    font-size: 13px;

    font-weight: 500;

    border-radius: 12px;

    transition: all 0.2s;

    cursor: pointer;

    text-align: center;

    border: none;

    background: transparent;

    width: 100%;

}



.nav-dropdown-item:hover {

    background: var(--primary-soft);

    color: var(--primary);

}



/* --- Glass Toolbar (Controls) --- */

.glass-toolbar {

    background: rgba(255, 255, 255, 0.75);

    backdrop-filter: blur(16px);

    border: 1px solid rgba(255, 255, 255, 0.9);

    border-radius: 100px;

    padding: 6px 8px;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);

    margin-bottom: 24px;

    flex-wrap: wrap;

}



.toolbar-divider {

    width: 1px;

    height: 24px;

    background: rgba(0, 0, 0, 0.06);

    margin: 0 4px;

}



.toolbar-btn {

    padding: 8px 16px;

    border-radius: 100px;

    border: none;

    background: transparent;

    color: var(--text-muted);

    font-size: 12px; /* Reduced from 13px */

    font-weight: 500;

    cursor: pointer;

    transition: all 0.2s;

    display: flex;

    align-items: center;

    gap: 6px;

}



.toolbar-btn:hover {

    color: var(--primary);

    background: rgba(255, 255, 255, 0.5);

}



.toolbar-btn.active {

    background: white;

    color: var(--primary);

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);

    font-weight: 600;

}



.toolbar-input-group {

    display: flex;

    align-items: center;

    background: rgba(255, 255, 255, 0.5);

    border-radius: 100px;

    padding: 4px 12px;

    border: 1px solid rgba(0, 0, 0, 0.03);

}



.toolbar-date {

    border: none;

    background: transparent;

    font-size: 11px; /* Reduced from 12px */

    color: var(--text-main);

    font-family: inherit;

    width: 110px;

}



.toolbar-date:focus {

    outline: none;

}



.toolbar-label {

    font-size: 11px;

    color: var(--text-light);

    margin-right: 8px;

    text-transform: uppercase;

    letter-spacing: 0.05em;

    font-weight: 600;

}



/* --- Main Layout --- */

.main-content {

    max-width: 1400px; /* Matched to aurora-nav width */

    margin: 0 auto;

    padding: 16px 24px 40px 24px;

    position: relative;

    z-index: 1;

}



/* --- Action Bar --- */

.action-bar {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 16px;

}



.tab-pills {

    display: flex;

    gap: 6px;

    background: rgba(255, 255, 255, 0.6);

    backdrop-filter: blur(12px);

    border: 1px solid rgba(255, 255, 255, 0.9);

    border-radius: var(--radius-full);

    padding: 4px;

}



.tab-pill {

    padding: 7px 18px;

    border-radius: var(--radius-full);

    font-size: 13px;

    font-weight: 500;

    color: var(--text-muted);

    background: transparent;

    border: none;

    cursor: pointer;

    transition: all 0.3s ease;

}



.tab-pill:hover {

    color: var(--primary);

}



.tab-pill.active {

    background: white;

    color: var(--primary);

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);

}



.action-buttons {

    display: flex;

    gap: 8px;

}



.action-btn {

    padding: 8px 18px;

    border-radius: var(--radius-full);

    font-size: 13px;

    font-weight: 400 !important; /* Not bold */

    border: none;

    cursor: pointer;

    transition: all 0.3s ease;

    display: flex;

    align-items: center;

    gap: 6px;

}



.action-btn-primary {

    background: white;

    border: 1px solid var(--primary-light);

    color: var(--primary);

    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);

}



.action-btn-primary:hover {

    background: var(--primary);

    color: white;

    transform: translateY(-1px);

    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.2);

}



.action-btn-primary i {

    color: var(--primary) !important;

}



.action-btn-primary:hover i {

    color: white !important;

}



.action-btn i {

    color: var(--text-muted);

    transition: color 0.2s;

}



.action-btn:hover i {

    color: var(--primary);

}



/* --- Action Button Variants --- */

.action-btn-select {

    background: white;

    border: 1px solid #e2e8f0;

    color: #64748b;

}



.action-btn-select:hover {

    background: #f8fafc;

    color: #1e293b;

    border-color: #cbd5e1;

}



.action-btn-delete {

    background: #fee2e2;

    color: #dc2626;

    border: 1px solid #fecaca;

}



.action-btn-delete:hover {

    background: #fecaca;

    border-color: #fca5a5;

}



/* --- Controls Panel --- */

.controls-panel {

    background: var(--panel-bg);

    backdrop-filter: blur(16px);

    border: 1px solid rgba(255, 255, 255, 0.9);

    border-radius: 20px;

    padding: 14px 20px;

    margin-bottom: 16px;

    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);

    position: sticky;

    top: 80px;

    /* Adjusted for nav height */

    z-index: 90;

}



.controls-row {

    display: flex;

    flex-wrap: wrap;

    gap: 20px;

    align-items: center;

    justify-content: center;

}



.control-group {

    display: flex;

    align-items: center;

    gap: 10px;

}



.control-label {

    font-weight: 600;

    color: #475569;

    font-size: 12px;

}



/* Quick Select Pills */

.quick-pills {

    display: flex;

    gap: 4px;

    background: white;

    padding: 3px;

    border-radius: var(--radius-full);

    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);

}



.quick-pill {

    padding: 5px 14px;

    border-radius: var(--radius-full);

    font-size: 12px;

    font-weight: 500;

    color: var(--text-muted);

    background: transparent;

    border: none;

    cursor: pointer;

    transition: all 0.2s;

}



.quick-pill:hover {

    color: var(--primary);

}



.quick-pill.active {

    background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%);

    color: white;

    box-shadow: 0 1px 4px rgba(56, 189, 248, 0.3);

}



/* Inputs */

.date-input,

.select-input {

    padding: 6px 12px;

    border: 1px solid rgba(0, 0, 0, 0.06);

    border-radius: 10px;

    font-size: 12px;

    background: white;

    color: var(--text-main);

    font-weight: 500;

}



.date-input:focus,

.select-input:focus {

    outline: none;

    border-color: var(--primary-light);

    box-shadow: 0 0 0 3px var(--primary-soft);

}



/* Radio Pills */

.radio-pills {

    display: flex;

    gap: 4px;

    background: white;

    padding: 3px;

    border-radius: var(--radius-full);

    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);

}



.radio-pill {

    padding: 5px 12px;

    border-radius: var(--radius-full);

    font-size: 12px;

    font-weight: 500;

    color: var(--text-muted);

    background: transparent;

    border: none;

    cursor: pointer;

    transition: all 0.2s;

}



.radio-pill.active {

    background: #f1f5f9;

    color: var(--text-main);

    font-weight: 600;

}



/* --- Table Styles (Aurora) --- */

.table-container {

    background: transparent;

    backdrop-filter: none;

    border: none;

    border-radius: 0;

    padding: 0; /* Remove padding so scrollbar is at edge */

    box-shadow: none;

    overflow: auto; /* Allow both horizontal and vertical scroll */

    max-height: calc(100vh - 200px); /* Constrain height to enable vertical sticky header */

    position: relative; /* Creates a stacking context */

}



.aurora-table {

    width: 100%;

    border-collapse: separate;

    border-spacing: 0;

}



.aurora-table th {

    font-family: 'Inter', sans-serif !important; /* Consistent font */

    font-size: 13px;

    font-weight: 600;

    color: var(--text-muted);

    text-transform: none; /* Remove uppercase if it feels too aggressive */

    letter-spacing: normal;

    padding: 12px 16px;

    vertical-align: middle;

}



/* Fix column width for dates */

.aurora-table th:not(:first-child) {

    width: 95px; /* Compact width */

    min-width: 95px;

    max-width: 95px;

    text-align: right; /* Align headers with numbers */

}



.aurora-table td {

    font-family: 'Inter', sans-serif !important;

    font-size: 13px; /* Consistent size with headers */

    padding: 12px 16px;

    vertical-align: middle;

}



/* Indentation for sub-rows */

.indent-row td:first-child {

    padding-left: 32px !important;

    color: var(--text-muted);

}



/* Cash Ending Balance Row - Sleek Highlight */

.cash-ending-balance-row {

    background: #ecfdf5 !important; /* Solid color to match first column */

    border-top: 1px solid rgba(16, 185, 129, 0.2) !important;

    border-bottom: 1px solid rgba(16, 185, 129, 0.2) !important;

}



.cash-ending-balance-row td {

    font-weight: 600;

    color: var(--text-main);

    background: transparent !important; /* Override individual cell backgrounds */

}



/* Status Badges */

.status-badge {

    padding: 4px 10px;

    border-radius: 100px;

    font-size: 11px;

    font-weight: 600;

    display: inline-flex;

    align-items: center;

    gap: 4px;

}



.status-badge.success {

    background: rgba(16, 185, 129, 0.1);

    color: var(--success);

}



.status-badge.pending {

    background: rgba(245, 158, 11, 0.1);

    color: var(--warning);

}



/* --- Modal Styles (Aurora) --- */

.modal-overlay {

    background-color: rgba(255, 255, 255, 0.8) !important;

    backdrop-filter: blur(8px);

}



.modal-content {

    background: rgba(255, 255, 255, 0.95) !important;

    border: 1px solid white !important;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1) !important;

    border-radius: 24px !important;

}



.modal-header {

    border-bottom: 1px solid rgba(0, 0, 0, 0.05);

    padding-bottom: 16px;

    margin-bottom: 20px;

}



.modal-title {

    font-family: 'DM Serif Text', serif;

    font-size: 1.5rem;

    color: var(--text-main);

}



/* --- Page Headers --- */

.budget-title {
    font-family: 'DM Serif Text', serif;
    font-size: 24px;
    color: #1e293b;
    margin: 0;
}

.page-title-new {

    font-family: 'DM Serif Text', serif !important;

    font-size: 1.75rem !important;

    font-weight: 400 !important;

    background: linear-gradient(90deg, #29688C, #4a8bb0) !important;

    -webkit-background-clip: text !important;

    background-clip: text !important;

    -webkit-text-fill-color: transparent !important;

    color: #29688C !important; /* Fallback */

    margin-bottom: 4px !important;

    margin-top: 0 !important;

    line-height: 1.2 !important;

    display: inline-block !important;

}



.page-subtitle-new {

    font-family: 'Inter', sans-serif !important;

    font-size: 0.95rem !important;

    color: #64748b !important;

    font-weight: 400 !important;

    margin-top: 0 !important;

    margin-bottom: 0 !important;

    display: block !important;

    line-height: 1.5 !important;

}



/* --- Utility Classes --- */

.text-right {

    text-align: right;

}



.text-center {

    text-align: center;

}



.font-bold {

    font-weight: 600;

}



.text-sm {

    font-size: 13px;

}



.text-muted {

    color: var(--text-muted);

}



.flex-center {

    display: flex;

    align-items: center;

    justify-content: center;

}



.gap-2 {

    gap: 8px;

}



.mb-4 {

    margin-bottom: 16px;

}



/* Hide scrollbar for clean look */

::-webkit-scrollbar {

    width: 8px;

    height: 8px;

}



::-webkit-scrollbar-track {

    background: transparent;

}



::-webkit-scrollbar-thumb {

    background: rgba(0, 0, 0, 0.1);

    border-radius: 10px;

}



::-webkit-scrollbar-thumb:hover {

    background: rgba(0, 0, 0, 0.2);

}



/* --- Standardized Table Styles (Copied from Cash Flow Overview) --- */

.excel-table, .networth-table {

    width: 100% !important; /* Force full width */

    border-collapse: collapse;

    font-size: 12px;

    table-layout: auto !important; /* Auto layout to fit content */

}



.excel-table th, .networth-table th {

    background-color: #f8fafc !important;

    padding: 8px 6px !important;

    font-weight: 600 !important;

    color: #374151 !important;

    text-align: center !important;

    border-top: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-left: none !important;
    border-right: none !important;

    font-size: 11px !important;

    width: auto !important;

    position: sticky !important;

    top: 0 !important;

    z-index: 5 !important;

    white-space: nowrap !important;

}



.excel-table th:first-child, .networth-table th:first-child {

    width: auto !important; /* Allow first column to take remaining space */

    min-width: 200px !important; /* Minimum width */

    max-width: none !important; /* Allow unlimited growth */

    text-align: left !important;

    position: sticky !important;

    left: 0 !important;

    background-color: #f8fafc !important;

    z-index: 15 !important; /* Higher than regular headers to be on top */

    border-top-left-radius: 0 !important; /* Reset radius for standard look */
    border-right: 1px solid #e2e8f0 !important; /* Keep vertical line for first column */

    white-space: nowrap !important;

    overflow: visible !important; /* Show all content */

    font-size: 13px !important; /* Match Cash Flow font size */

    font-weight: 500 !important; /* Match Cash Flow font weight */

}



.excel-table th:not(:first-child), .networth-table th:not(:first-child) {

    width: 75px !important; /* Fixed width for data columns */

    min-width: 75px !important; /* Fixed minimum width */

    padding: 8px 6px !important; /* Increased padding for breathing room */

    text-align: center !important; /* Align headers to center */

}



.excel-table td, .networth-table td {

    padding: 8px !important;

    border-top: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-left: none !important;
    border-right: none !important;

    text-align: right !important;

    font-size: 11px !important;

    position: relative !important;

    cursor: pointer !important;

    transition: background-color 0.2s !important;

    width: 75px !important; /* Fixed width for data cells */

    min-width: 75px !important;

    overflow: visible !important; /* Show content */

    white-space: nowrap !important;

    user-select: none !important;

    background-color: white !important; /* Force white background for all cells */

}



.excel-table td:first-child, .networth-table td:first-child {

    text-align: left !important;

    position: sticky !important;

    left: 0 !important;

    background-color: white !important;

    z-index: 9 !important;
    border-right: 1px solid #e2e8f0 !important; /* Keep vertical line for first column */

    width: auto !important; /* Allow first column to take remaining space */

    min-width: 200px !important;

    max-width: none !important;

    font-weight: 500 !important;

    white-space: nowrap !important;

    overflow: visible !important; /* Show all content */

}



/* Fix for Section Headers (Assets/Liabilities Big Title) */

.section-header td {

    background-color: white !important;

    font-weight: 700 !important;

    font-size: 14px !important;

    color: #1e293b !important;

    text-transform: uppercase !important;

    border-bottom: 2px solid #e2e8f0 !important;

}



/* Ensure sticky first column works for section headers too */

.section-header td:first-child {

    z-index: 10 !important; /* Higher than normal cells */

}



/* Fix for Category Headers */

.category-header td {

    background-color: white !important;

    font-style: italic;

    font-weight: 600 !important;

    cursor: pointer;

    border-bottom: 1px solid #e2e8f0 !important;

}



/* Fix for Total Rows */

.total-row td {

    background-color: #f3f4f6 !important;

    font-weight: 700 !important;

}



.total-row td:first-child {

    background-color: #f3f4f6 !important;

}



/* --- Today Column (Sleek) --- */

.today-bubble {

    background: #f97316; /* Orange */

    color: white;

    font-size: 8px; /* Small but readable */

    font-weight: 700;

    padding: 1px 5px;

    border-radius: 100px;

    display: inline-block;

    text-transform: uppercase;

    letter-spacing: 0.05em;

    box-shadow: 0 1px 2px rgba(249, 115, 22, 0.3);

    

    /* Absolute positioning to fix alignment */

    position: absolute;

    top: 2px; /* Positioned at top of cell */

    left: 50%;

    transform: translateX(-50%);

    white-space: nowrap;

    z-index: 20;

    margin: 0 auto; /* Ensure centering */

}



.today-date {

    color: #f97316;

    font-weight: 700;

    display: block; /* Ensure it breaks to new line */

    margin-top: 10px; /* Space for bubble */

}



/* Ensure all header cells have consistent height/alignment */

.excel-table th, .networth-table th {

    vertical-align: bottom !important; /* Align text to bottom */

    height: 40px !important; /* Fixed height for consistency */

    position: sticky !important;

}



.today-header {

    /* background-color: #fffbf0 !important; Removed highlight */

    border-bottom: 2px solid #f97316 !important;

    position: relative !important; /* For bubble positioning */

    padding-top: 16px !important; /* Add padding to top to accommodate bubble */

}



.excel-table td:first-child, .networth-table td:first-child {

    text-align: left !important;

    position: sticky;

    left: 0;

    background-color: white !important;

    z-index: 5;

    font-weight: 500 !important;

    width: auto !important; /* Allow first column to take remaining space */

    min-width: 200px !important;

    max-width: none !important;

}



.excel-table tr:hover td, .networth-table tr:hover td {

    background-color: #f8fafc !important; /* Opaque background to prevent see-through on sticky columns */

    box-shadow: none !important; /* Remove unwanted shadow on hover */

}



.excel-table tr:hover, .networth-table tr:hover {

    box-shadow: none !important; /* Ensure row has no shadow */

    transform: none !important; /* Ensure row doesn't move */

}

/* --- Mobile Table Optimizations --- */
@media (max-width: 768px) {
    .excel-table th:first-child, .networth-table th:first-child,
    .excel-table td:first-child, .networth-table td:first-child {
        min-width: 120px !important;
        max-width: 140px !important;
        width: 130px !important;
        font-size: 11px !important;
        padding: 8px 4px !important;
    }
    
    .excel-table th, .networth-table th,
    .excel-table td, .networth-table td {
        padding: 6px 4px !important;
        font-size: 11px !important;
        min-width: 80px !important;
    }

    /* Ensure container scrolls */
    .account-tile, .networth-card {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}



/* Row Types */

.cash-opening-balance-row,

tr[class*="opening-balance"] {

    background-color: #f0f9ff !important;

}



.cash-opening-balance-row td,

tr[class*="opening-balance"] td {

    background: transparent !important;

    font-weight: 600 !important;

    color: #0369a1 !important;

    padding: 11px 14px !important;

    border-top: 1px solid #bae6fd !important;

}



.cash-ending-balance-row,

tr[class*="ending-balance"] {

    background-color: #ecfdf5 !important;

}



.cash-ending-balance-row td,

tr[class*="ending-balance"] td {

    background: transparent !important;

    font-weight: 600 !important;

    color: #047857 !important;

    padding: 11px 14px !important;

    border-top: 1px solid #a7f3d0 !important;

}



/* Ensure first cell of ending balance is opaque to hide scrolling content */

.cash-ending-balance-row td:first-child,

tr[class*="ending-balance"] td:first-child {

    background-color: #ecfdf5 !important;

    z-index: 20 !important;

}



.period-change-row td {

    background: #f8fafc !important;

    font-weight: 500 !important;

    color: #64748b !important;

    font-size: 12px !important;

}



/* Cell Colors */

.revenue-cell,

.positive-amount,

.period-change-positive,

.period-change-row td.period-change-positive {

    color: #059669 !important;

    font-weight: 400 !important;

}



.expense-cell,

.negative-amount,

.period-change-negative,

.period-change-row td.period-change-negative {

    color: #dc2626 !important;

    font-weight: 400 !important;

}



/* Account Rows */

.account-summary-row td {

    font-weight: 600 !important;

    background: #fafbfc !important;

    color: #1e293b; /* Removed !important to allow negative color override */

}



.account-summary-row td.positive-amount {

    color: #059669 !important;

}



.account-summary-row td.negative-amount,

.account-summary-row td.expense-cell {

    color: #dc2626 !important;

}



/* Hide legacy elements if needed */

.header,

.sub-nav {

    display: none !important;

}



/* --- Header Layout Refinements --- */

.page-header-wrapper {

    background: rgba(255, 255, 255, 0.5);

    backdrop-filter: blur(10px);

    border-radius: 24px;

    padding: 20px 24px 10px 24px;

    margin-bottom: 16px;

    border: 1px solid rgba(255, 255, 255, 0.8);

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);

}



.page-header {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    margin-bottom: 16px;

    flex-wrap: wrap;

    gap: 16px;

}



.page-header-content {

    flex: 1;

    min-width: 200px;

}



.header-actions {

    display: flex;

    gap: 8px;

    align-items: center;

    flex-wrap: wrap;

}



/* Ensure sticky headers work within the scrollable container */

.table-container {

    position: relative; /* Creates a stacking context */

    border: 1px solid rgba(255, 255, 255, 0.8);

    background: rgba(255, 255, 255, 0.7);

    backdrop-filter: blur(20px);

    border-radius: 24px;

    padding: 0; /* Remove padding so scrollbar is at edge */

    overflow: hidden; /* Hide outer overflow */

}



.statement-table {

    padding: 0; /* Remove padding so sticky headers/columns work perfectly */

    overflow: visible; /* Let the container handle scroll */

    zoom: var(--table-zoom, 1);

}



/* Custom Scrollbar for Table Container */

.table-container::-webkit-scrollbar {

    width: 10px;

    height: 10px;

}



.table-container::-webkit-scrollbar-track {

    background: rgba(0, 0, 0, 0.02);

    border-radius: 8px;

}



.table-container::-webkit-scrollbar-thumb {

    background: rgba(0, 0, 0, 0.1);

    border-radius: 8px;

    border: 2px solid transparent;

    background-clip: content-box;

}



.table-container::-webkit-scrollbar-thumb:hover {

    background-color: rgba(0, 0, 0, 0.2);

}



/* --- Modern Filter Bar (Image 2 Style) --- */

.modern-filter-bar {

    display: flex;

    align-items: center;

    background: white;

    border-radius: 100px;

    padding: 4px 6px;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);

    border: 1px solid rgba(0, 0, 0, 0.05);

    flex-wrap: nowrap;

    gap: 4px;

    width: fit-content;

    margin: 0 auto; /* Center alignment */

    white-space: nowrap;

}



.filter-group {

    display: flex;

    align-items: center;

    gap: 4px;

    background: #f1f5f9;

    border-radius: 100px;

    padding: 4px;

    white-space: nowrap;

}



.filter-pill {

    padding: 6px 12px;

    border-radius: 100px;

    border: none;

    background: transparent;

    color: #64748b;

    font-size: 13px;

    font-weight: 500;

    cursor: pointer;

    transition: all 0.2s;

}



.filter-pill:hover {

    color: #1e293b;

    background: rgba(255, 255, 255, 0.5);

}



.filter-pill.active {

    background: white;

    color: #0ea5e9; /* Sky Blue */

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);

    font-weight: 600;

}



.filter-divider {

    width: 1px;

    height: 24px;

    background: #e2e8f0;

    margin: 0 4px;

}



.date-range-group {

    background: white;

    border: 1px solid #e2e8f0;

    padding: 4px 8px;

}



.date-input-wrapper {

    display: flex;

    align-items: center;

    gap: 6px;

    color: #64748b;

}



.transparent-date-input {

    border: none;

    background: transparent;

    font-family: inherit;

    font-size: 13px;

    color: #1e293b;

    width: 110px;

    cursor: pointer;

}



.transparent-date-input:focus {

    outline: none;

}



.date-separator {

    font-size: 12px;

    color: #94a3b8;

    margin: 0 8px;

    font-weight: 500;

}



.filter-label {

    font-size: 12px;

    color: #64748b;

    margin-right: 4px;

    font-weight: 500;

    padding-left: 4px;

    white-space: nowrap;

}



.filter-select {

    border: none;

    background: transparent;

    font-size: 13px;

    color: #1e293b;

    font-weight: 500;

    cursor: pointer;

    padding-right: 4px;

}



.filter-select:focus {

    outline: none;

}



/* Zoom Control Pill */

.zoom-control-pill {

    display: flex;

    align-items: center;

    background: white;

    border-radius: 100px;

    padding: 4px;

    border: 1px solid #e2e8f0;

    box-shadow: 0 2px 4px rgba(0,0,0,0.02);

}



.zoom-btn {

    width: 24px;

    height: 24px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    cursor: pointer;

    color: #64748b;

    font-size: 10px;

    transition: all 0.2s;

}



.zoom-btn:hover {

    background: #f1f5f9;

    color: #1e293b;

}



.zoom-label {

    font-size: 11px;

    font-weight: 600;

    color: #64748b;

    padding: 0 8px;

    text-transform: uppercase;

    letter-spacing: 0.05em;

}



.icon-btn {

    width: 32px;

    height: 32px;

    border-radius: 50%;

    border: 1px solid #e2e8f0;

    background: white;

    color: #64748b;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    transition: all 0.2s;

}



.icon-btn:hover {

    background: #f8fafc;

    color: #1e293b;

    border-color: #cbd5e1;

}



.icon-btn:disabled {

    opacity: 0.5;

    cursor: not-allowed;

}







/* --- Collapsible Sections --- */

.section-header-row td {

    background: white !important; /* User requested white background */

    border-top: 1px solid #e2e8f0 !important;

    border-bottom: 1px solid #e2e8f0 !important;

}



.section-header-cell {

    cursor: pointer;

    user-select: none;

}



.section-header-cell:hover {

    background: #f8fafc !important; /* Subtle hover only */

}



.section-title {
    font-family: 'DM Serif Text', serif;
    font-size: 2.1rem;
    font-weight: 400;
    color: #1e293b;
    margin: 0 0 8px 0;
    white-space: nowrap;
    letter-spacing: -0.01em;
    text-transform: capitalize;
}



.revenue-title {
    color: #059669; /* Emerald */
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 500;
}

.expense-title {
    color: #dc2626; /* Red */
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 500;
}



.section-toggle-icon {

    color: #94a3b8;

    font-size: 12px;

    transition: transform 0.2s;

    width: 16px;

    text-align: center;

}



.section-total-cell {

    font-weight: 600;

    color: #64748b;

}



/* --- Negative Numbers (Reinforce) --- */

.negative-amount,

.cash-ending-balance.negative,

.expense-cell,

td.negative,

.excel-table td.negative-amount,

.excel-table td.expense-cell,

.excel-table td.cash-ending-balance.negative {

    color: #dc2626 !important;

}



/* --- Column Widths (Dynamic & Snug) --- */

/* Removed to use unified styles at the end of file */





/* --- Today Column (Sleek) --- */

.today-bubble {

    background: #f97316; /* Orange */

    color: white;

    font-size: 8px; /* Small but readable */

    font-weight: 700;

    padding: 1px 5px;

    border-radius: 100px;

    display: inline-block;

    text-transform: uppercase;

    letter-spacing: 0.05em;

    box-shadow: 0 1px 2px rgba(249, 115, 22, 0.3);

    

    /* Absolute positioning to fix alignment */

    position: absolute;

    top: 2px; /* Moved up to give more space */

    left: 50%;

    transform: translateX(-50%);

    white-space: nowrap;

    z-index: 20;

    margin: 0 auto; /* Ensure centering */

}



.today-date {

    color: #f97316;

    font-weight: 700;

}



.today-header {

    /* background-color: #fffbf0 !important; Removed highlight */

    border-bottom: 2px solid #f97316 !important;

    position: relative !important; /* For bubble positioning */

}



.current-week-indicator {

    /* background-color: #fffbf0 !important; Removed highlight */

    border-left: 1px solid rgba(249, 115, 22, 0.1) !important;

    border-right: 1px solid rgba(249, 115, 22, 0.1) !important;

}



/* --- Transactions Table (Matched to Excel Table) --- */

.transactions-table {

    width: 100%;

    border-collapse: separate;

    border-spacing: 0;

    font-size: 12px; /* Reduced from 13px */

    border: none !important;

    table-layout: auto !important;

    background: transparent !important;

}



.transactions-table th {

    background: #fafbfc !important;

    padding: 8px 12px !important; /* Reduced from 12px 14px */

    text-align: left !important;

    font-weight: 600 !important;

    color: #475569 !important;

    border-bottom: 1px solid #e2e8f0 !important;

    border-top: none !important;

    border-left: none !important;

    border-right: none !important;

    position: sticky;

    top: 0;

    z-index: 10;

    white-space: nowrap;

    font-size: 11px !important;

    text-transform: uppercase !important;

    letter-spacing: 0.5px !important;

}



.transactions-table th:first-child {

    border-top-left-radius: 12px;

}



.transactions-table th:last-child {

    border-top-right-radius: 12px;

}



.transactions-table td {

    padding: 6px 12px !important; /* Reduced from 10px 14px */

    border-bottom: 1px solid #f8fafc !important;

    border-top: none !important;

    border-left: none !important;

    border-right: none !important;

    color: #475569 !important;

    text-align: left !important;

    transition: background-color 0.15s;

    font-size: 12px !important; /* Reduced from 13px */

    vertical-align: middle !important;

    white-space: nowrap !important; /* Force single line */

}

/* Override colors for positive/negative amounts in transactions table */
.transactions-table td.negative-amount,
.transactions-table td.transaction-amount-expense {
    color: #dc2626 !important;
}

.transactions-table td.positive-amount,
.transactions-table td.transaction-amount-revenue {
    color: #059669 !important;
}

.transactions-table tr:hover td {

    background-color: rgba(248, 250, 252, 0.8) !important;

}



/* Specific column overrides */

.transactions-table td.amount-column,

.transactions-table th.amount-column {

    text-align: right !important;

}



.transactions-table .date-cell {

    white-space: nowrap;

    width: 1%;

}



/* --- Aurora Modals (Redesign V2 - Compact & Sophisticated) --- */

.aurora-modal-overlay {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background: rgba(255, 255, 255, 0.4); /* Lighter overlay */

    backdrop-filter: blur(12px); /* Stronger blur */

    z-index: 2000;

    display: none;

    align-items: center;

    justify-content: center;

    opacity: 0;

    visibility: hidden;

    transition: all 0.3s ease;

}



.aurora-modal-overlay.active {

    opacity: 1;

    visibility: visible;

}



.aurora-modal-content {

    background: rgba(255, 255, 255, 0.85);

    backdrop-filter: blur(20px);

    -webkit-backdrop-filter: blur(20px);

    border: 1px solid rgba(255, 255, 255, 0.8);

    border-radius: 24px; /* Slightly tighter radius */

    box-shadow: 

        0 20px 40px rgba(0, 0, 0, 0.05), 

        0 0 0 1px rgba(255, 255, 255, 0.5) inset;

    padding: 20px; /* Reduced padding */

    max-width: 360px; /* Even more compact */

    width: 90%;

    transform: scale(0.95);

    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); /* Bouncy pop */

    max-height: 95vh;

    overflow-y: auto;

    /* Hide scrollbar for Chrome/Safari/Opera */

    scrollbar-width: none; /* Firefox */

    -ms-overflow-style: none;  /* IE and Edge */

}



.aurora-modal-content::-webkit-scrollbar {

    display: none;

}



.aurora-modal-overlay.active .aurora-modal-content {

    transform: scale(1);

}



.aurora-modal-header {

    text-align: center;

    margin-bottom: 12px; /* Reduced margin */

}



.aurora-modal-title {

    font-family: 'DM Serif Text', serif;

    font-size: 1.25rem; /* Reduced font size */

    color: #1e293b;

    margin: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

}



/* --- Segmented Control (Toggle) --- */

.aurora-toggle-group {

    display: flex;

    background: rgba(0, 0, 0, 0.04);

    padding: 2px; /* Reduced padding */

    border-radius: 100px; /* Pill shape */

    margin-bottom: 16px; /* Reduced margin */

    position: relative;

    border: none;

    max-width: 220px; /* Reduced width */

    margin-left: auto;

    margin-right: auto;

}



.aurora-toggle-option {

    flex: 1;

    padding: 4px 10px; /* Reduced padding */

    text-align: center;

    border-radius: 100px;

    font-family: 'Inter', sans-serif;

    font-weight: 600;

    font-size: 0.75rem; /* Reduced font size */

    cursor: pointer;

    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    border: none;

    color: #64748b;

    background: transparent;

    z-index: 1;

}



.aurora-toggle-option:hover {

    color: #334155;

}



.aurora-toggle-option.active-revenue {

    background: white;

    color: #10b981;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);

}



.aurora-toggle-option.active-expense {

    background: white;

    color: #ef4444;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);

}



/* --- Modern Inputs --- */

.aurora-form-row {

    display: flex;

    gap: 8px; /* Reduced gap */

    margin-bottom: 8px; /* Reduced margin */

}



.aurora-form-group {

    margin-bottom: 8px; /* Reduced margin */

    flex: 1;

}



.aurora-label {

    display: block;

    font-family: 'Inter', sans-serif;

    font-size: 0.65rem; /* Reduced font size */

    font-weight: 700;

    color: #94a3b8;

    margin-bottom: 2px; /* Reduced margin */

    text-transform: uppercase;

    letter-spacing: 0.05em;

}



.aurora-input, .aurora-select, .aurora-textarea {

    width: 100%;

    padding: 8px 10px; /* Reduced padding */

    background: rgba(255, 255, 255, 0.6);

    border: 1px solid rgba(0, 0, 0, 0.06);

    border-radius: 10px; /* Slightly smaller radius */

    font-family: 'Inter', sans-serif;

    font-size: 0.8rem; /* Reduced font size */

    color: #1e293b;

    transition: all 0.2s;

    box-sizing: border-box;

    appearance: none;

}



.aurora-input:focus, .aurora-select:focus, .aurora-textarea:focus {

    background: white;

    border-color: #38bdf8;

    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.15);

    outline: none;

}



/* Big Amount Input */

.aurora-input-amount {

    font-size: 1.25rem; /* Reduced from 1.5rem */

    font-weight: 700;

    text-align: center;

    padding: 8px; /* Reduced padding */

    color: #1e293b;

    background: transparent;

    border: none;

    border-bottom: 2px solid #e2e8f0;

    border-radius: 0;

    margin-bottom: 4px;

}



.aurora-input-amount:focus {

    border-color: #38bdf8;

    box-shadow: none;

    background: transparent;

}



/* --- Recurring Switch --- */

.aurora-recurring-box {

    background: rgba(248, 250, 252, 0.5);

    border: 1px solid rgba(226, 232, 240, 0.6);

    border-radius: 12px;

    padding: 10px; /* Reduced padding */

    margin-top: 4px;

    margin-bottom: 12px; /* Reduced margin */

}



.aurora-switch-wrapper {

    display: flex;

    align-items: center;

    justify-content: space-between;

    cursor: pointer;

}



.aurora-switch-label {

    font-size: 0.8rem; /* Reduced font size */

    font-weight: 500;

    color: #334155;

}



/* iOS Style Switch */

.aurora-switch {

    position: relative;

    display: inline-block;

    width: 32px; /* Smaller switch */

    height: 18px; /* Smaller switch */

}



.aurora-switch input {

    opacity: 0;

    width: 0;

    height: 0;

}



.aurora-slider {

    position: absolute;

    cursor: pointer;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background-color: #cbd5e1;

    transition: .3s;

    border-radius: 20px;

}



.aurora-slider:before {

    position: absolute;

    content: "";

    height: 14px; /* Smaller knob */

    width: 14px; /* Smaller knob */

    left: 2px;

    bottom: 2px;

    background-color: white;

    transition: .3s;

    border-radius: 50%;

    box-shadow: 0 1px 2px rgba(0,0,0,0.2);

}



.aurora-switch input:checked + .aurora-slider {

    background-color: #0ea5e9;

}



.aurora-switch input:checked + .aurora-slider:before {

    transform: translateX(14px); /* Adjusted for smaller width */

}



.aurora-recurring-details {

    margin-top: 8px;

    padding-top: 8px;

    border-top: 1px solid rgba(0,0,0,0.05);

    display: flex;

    flex-direction: column;

    gap: 6px; /* Reduced gap */

    animation: slideDown 0.2s ease-out;

}



.aurora-recurring-row {

    display: flex;

    align-items: center;

    gap: 6px;

}



.aurora-text-sm {

    font-size: 0.75rem; /* Reduced font size */

    color: #64748b;

    white-space: nowrap;

}



/* Modern Inline Inputs (Sophisticated Look) */

.aurora-inline-input {

    width: 50px;

    padding: 6px;

    border-radius: 8px;

    border: 1px solid transparent; /* No border by default */

    background: rgba(255, 255, 255, 0.8);

    text-align: center;

    font-weight: 400; /* Removed bold */

    color: #64748b; /* Gray text */

    font-size: 0.8rem;

    transition: all 0.2s;

    box-shadow: 0 1px 2px rgba(0,0,0,0.05);

}



.aurora-inline-input:focus {

    background: white;

    border-color: #38bdf8;

    box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.15);

    outline: none;

    color: #1e293b; /* Darker on focus */

}



.aurora-inline-select {

    width: auto;

    padding: 6px 24px 6px 10px;

    border-radius: 8px;

    border: 1px solid transparent; /* No border by default */

    background-color: rgba(255, 255, 255, 0.8);

    font-weight: 400; /* Removed bold */

    color: #64748b; /* Gray text */

    font-size: 0.8rem;

    transition: all 0.2s;

    box-shadow: 0 1px 2px rgba(0,0,0,0.05);

    appearance: none;

    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");

    background-position: right 4px center;

    background-repeat: no-repeat;

    background-size: 14px;

}



.aurora-inline-select:focus {

    background-color: white;

    border-color: #38bdf8;

    box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.15);

    outline: none;

    color: #1e293b; /* Darker on focus */

}



/* --- Actions --- */

.aurora-actions {

    display: flex;

    gap: 12px;

    margin-top: 24px; /* Reduced margin */

    justify-content: center;

    padding: 0 4px;

}



.aurora-btn {

    padding: 10px 0; /* Reduced padding */

    width: 100%;

    border-radius: 100px;

    font-weight: 500; /* Reduced font weight */

    font-size: 0.85rem; /* Reduced font size */

    cursor: pointer;

    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, filter 0.3s ease;

    text-align: center;

    border: none;

    position: relative;

    overflow: hidden;

}



.aurora-btn:hover {

    transform: translateY(-2px) scale(1.01);

    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);

    filter: brightness(1.02);

}



.aurora-btn:active {

    transform: translateY(1px) scale(0.99);

    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}



.aurora-btn-cancel {

    background: white;

    color: #64748b;

    border: 1px solid #e2e8f0;

    flex: 1;

}



.aurora-btn-cancel:hover {

    color: #1e293b;

    background: #f8fafc;

    border-color: #cbd5e1;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);

}



.aurora-btn-save {

    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);

    color: white;

    flex: 1;

    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.25);

}



.aurora-btn-save:hover {

    box-shadow: 0 8px 24px rgba(14, 165, 233, 0.4);

}



/* --- Category Management List Items --- */

.aurora-category-item {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 8px 12px;

    background: rgba(255, 255, 255, 0.6);

    border: 1px solid rgba(0, 0, 0, 0.05);

    border-radius: 12px;

    margin-bottom: 6px;

    transition: all 0.2s;

}



.aurora-category-item:hover {

    background: rgba(255, 255, 255, 0.9);

    border-color: rgba(0, 0, 0, 0.1);

    transform: translateX(2px);

}



.aurora-category-input {

    flex: 1;

    background: transparent;

    border: none;

    padding: 0;

    font-weight: 500;

    color: #64748b; /* Sophisticated Gray */

    font-size: 0.8rem;

    box-shadow: none;

    height: auto;

    font-family: 'Inter', sans-serif;

}



.aurora-category-input:focus {

    outline: none;

    color: #1e293b; /* Darker on focus */

}



.aurora-category-count {

    font-size: 0.7rem;

    color: #94a3b8;

    font-weight: 500;

    white-space: nowrap;

    background: rgba(0, 0, 0, 0.03);

    padding: 2px 8px;

    border-radius: 100px;

}



.aurora-category-delete-btn {

    width: 24px;

    height: 24px;

    border-radius: 8px;

    background: transparent;

    color: #ef4444;

    border: 1px solid transparent;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: all 0.2s;

    opacity: 0.6;

    cursor: pointer;

}



.aurora-category-delete-btn:hover {

    opacity: 1;

    background: #fef2f2;

}



.aurora-btn-save-revenue {

    background: linear-gradient(135deg, #10b981 0%, #059669 100%);

    color: white;

    flex: 1; /* Equal width to cancel */

    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);

}



.aurora-btn-save-revenue:hover {

    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.4);

}



.aurora-btn-save-expense {

    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);

    color: white;

    flex: 1; /* Equal width to cancel */

    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.25);

}



.aurora-btn-save-expense:hover {

    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.4);

}



/* Fix for Category Management Modal Z-Index */

#categoryManagementModal {

    z-index: 2100 !important;

}



/* Fix for Custom Confirm Modal Z-Index (Must be higher than Category Modal) */

#customConfirmModal {

    z-index: 2200 !important;

}



/* Fix for Recurring Edit Choice Modal Z-Index (Must be higher than Add Transaction Modal) */

#recurringEditChoiceModal {

    z-index: 2300 !important;

}



/* Ensure Add Transaction Modal is visible but below choice modal */

#addTransactionModal {

    z-index: 2000 !important;

}



/* --- Account Header Styles (Ported from Cash Flow) --- */

.account-name-container {

    display: flex;

    align-items: center;

    gap: 6px;

    min-width: 150px;

    height: 100%; /* Fill cell height */

}



.account-name-display {

    background: transparent;

    border: none;

    padding: 2px 4px; /* Reduced padding for tighter height */

    font-size: 13px;

    font-weight: 500;

    color: #374151;

    cursor: default;

    flex: 1;

    min-width: 0;

    display: flex;

    align-items: center;

}



.account-name-display.sortable-header {

    cursor: pointer;

    transition: background-color 0.2s;

}



.account-name-display.sortable-header:hover {

    background-color: #f1f5f9;

    border-radius: 4px;

}



.account-edit-btn {

    background: white;

    border: 1px solid #e5e7eb;

    cursor: pointer;

    padding: 4px 6px;

    color: #6b7280;

    font-size: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 24px;

    height: 24px;

    border-radius: 4px;

    transition: all 0.2s;

}



.account-edit-btn:hover {

    background-color: #f9fafb;

    border-color: #9ca3af;

    color: #f58438;

}



.collapse-toggle-btn {

    background: white;

    border: 1px solid #e5e7eb;

    cursor: pointer;

    padding: 4px 6px;

    color: #059669;

    font-size: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 24px;

    height: 24px;

    border-radius: 4px;

    transition: all 0.2s;

    margin-left: 4px;

}



.collapse-toggle-btn:hover {

    background-color: #f0fdf4;

    border-color: #059669;

}



.account-detail-row.collapsed {

    display: none;

}







/* --- Aurora Buttons (Pill Style) --- */



.btn-pill-modern {



    padding: 8px 20px;



    border-radius: 100px;



    font-size: 14px;



    font-weight: 500;



    border: none;



    cursor: pointer;



    transition: all 0.2s;



}







.btn-pill-primary {



    padding: 8px 20px;



    border-radius: 100px;



    font-size: 14px;



    font-weight: 500;



    cursor: pointer;



    transition: all 0.2s;



    background: white;



    border: 1px solid #38bdf8;



    color: #0ea5e9;



    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);



}







.btn-pill-primary:hover {



    background: #0ea5e9;



    color: white;



    transform: translateY(-1px);



    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.2);



}







.btn-pill-secondary {



    padding: 8px 20px;



    border-radius: 100px;



    font-size: 14px;



    font-weight: 500;



    cursor: pointer;



    transition: all 0.2s;



    background: white;



    color: #64748b;



    border: 1px solid #e2e8f0;



}







.btn-pill-secondary:hover {



    background: #f8fafc;



    color: #1e293b;



    border-color: #cbd5e1;



}







/* --- User Greeting Override --- */



/* Force user name to match theme color instead of global green */



.user-greeting .user-name {



    color: var(--text-main) !important;



    font-weight: normal !important;



}





/* --- Aurora Footer (Deprecated - See below) --- */
/* .aurora-footer { ... } moved to bottom */



.footer-content {

    display: flex;

    flex-direction: row;

    justify-content: space-between;

    align-items: center;

    max-width: 1000px;

    margin: 0 auto;

    gap: 24px;

}



.footer-links {

    display: flex;

    gap: 32px;

}



.footer-links a {

    color: #94a3b8;

    text-decoration: none;

    transition: all 0.2s ease;

    font-weight: 400;

    font-size: 12px;

    letter-spacing: 0.02em;

}



.footer-links a:hover {

    color: #64748b;

    text-decoration: underline;

    text-decoration-color: rgba(100, 116, 139, 0.3);

    text-underline-offset: 4px;

}



@media (max-width: 768px) {

    .footer-content {

        flex-direction: column-reverse;

        gap: 24px;

    }

}




/* --- Overrides & New Additions --- */

.btn-pill-primary {
    padding: 12px 32px !important;
    border-radius: 100px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.3s ease;
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%) !important;
    color: white !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.3) !important;
}

.btn-pill-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(14, 165, 233, 0.4) !important;
}

.aurora-nav-floating {
    position: sticky;
    top: 20px;
    margin: 0 auto 20px;
    max-width: 1280px;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 20px;
    padding: 16px 24px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.aurora-nav-floating .nav-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #1e293b;
    font-family: 'Inter', sans-serif;
    font-weight: 600; /* Adjusted weight */
    font-size: 1.125rem;
    letter-spacing: -0.02em;
}

.aurora-nav-floating .nav-logo img {
    height: 32px;
    width: 32px;
}

.aurora-nav-floating .nav-links {
    display: flex;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 4px;
    background: rgba(0,0,0,0.03);
    border-radius: 100px;
}

.aurora-nav-floating .nav-links a {
    text-decoration: none;
    color: #64748b;
    font-weight: 500;
    font-size: 0.9rem;
    padding: 8px 16px;
    border-radius: 100px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.aurora-nav-floating .nav-links a:hover, .aurora-nav-floating .nav-links a.active {
    color: #1e293b;
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.aurora-nav-floating .nav-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}


/* --- UPDATED FLOATING NAVIGATION (Private Dashboard Style) --- */
.aurora-nav-floating {
    position: sticky;
    top: 16px;
    max-width: 1200px;
    margin: 16px auto 0 auto;
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 100px !important;
    padding: 12px 32px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.04);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}

.aurora-nav-floating:hover {
    background: rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
}

/* Brand Logo Font */
.brand-serif {
    font-family: 'DM Serif Text', serif !important;
    font-weight: 400;
    font-size: 1.5rem;
    color: var(--text-main);
    text-decoration: none;
    letter-spacing: -0.02em;
}

/* Clean Nav Links (No Pill Background) */
.nav-link-clean {
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-muted);
    text-decoration: none;
    padding: 8px 16px;
    transition: all 0.3s ease;
    position: relative;
}

.nav-link-clean:hover {
    color: var(--primary);
    transform: translateY(-1px);
}

/* Trendy Hover Effect (Dot) */
.nav-link-clean::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 4px;
    height: 4px;
    background: var(--primary);
    border-radius: 50%;
    transform: translateX(-50%) scale(0);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
}

.nav-link-clean:hover::after {
    transform: translateX(-50%) scale(1);
    opacity: 1;
}

/* Uniform Button Style */
.btn-uniform {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    border: none;
    cursor: pointer;
    letter-spacing: 0.01em;
}

.btn-uniform-primary {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.25);
}

.btn-uniform-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(14, 165, 233, 0.35);
}

/* Trendy Icons for Help Center */
.icon-trendy-container {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    color: var(--primary);
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
}

.category-card:hover .icon-trendy-container {
    transform: scale(1.1) rotate(5deg);
    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
}

/* Footer Brand Font */
.footer-brand {
    font-family: 'DM Serif Text', serif !important;
    font-size: 1.5rem;
}


/* Outline Button Variant */
.btn-outline {
    background: transparent;
    border: 2px solid #e2e8f0;
    color: #64748b;
}

.btn-outline:hover {
    border-color: #0ea5e9;
    color: #0ea5e9;
    background: rgba(14, 165, 233, 0.05);
    transform: translateY(-2px);
}


/* --- Floating Navigation (Private Page Style) --- */
.aurora-nav-floating {
    position: sticky;
    top: 20px;
    z-index: 1000;
    max-width: 1200px;
    margin: 0 auto 20px auto;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.aurora-nav-floating .nav-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.aurora-nav-floating .logo-text {
    font-family: 'DM Serif Text', serif;
    font-size: 22px;
    font-weight: 400;
    color: #1e293b;
}

.aurora-nav-floating .nav-center {
    display: flex;
    align-items: center;
    gap: 8px;
}

.aurora-nav-floating .nav-pill {
    padding: 8px 16px;
    color: #64748b;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    border-radius: 100px;
    transition: all 0.2s ease;
    background: transparent;
}

.aurora-nav-floating .nav-pill:hover {
    color: #0ea5e9;
    background: rgba(14, 165, 233, 0.08);
    transform: translateY(-1px);
}

.aurora-nav-floating .nav-pill.active {
    color: #0ea5e9;
    background: rgba(14, 165, 233, 0.1);
    font-weight: 600;
}

.aurora-nav-floating .nav-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* --- Button Overrides --- */
.btn-pill-primary {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    color: white;
    border: none;
    border-radius: 100px;
    padding: 10px 24px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.25);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-pill-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(14, 165, 233, 0.35);
    color: white;
}

/* --- Footer Logo --- */
.footer-logo-text {
    font-family: 'DM Serif Text', serif;
    font-size: 24px;
    color: #1e293b;
}


/* --- Vibrant Footer (Aurora Style) --- */
.aurora-footer {
    background: transparent;
    color: #1e293b;
    padding: 40px 24px 24px;
    border-top: 1px solid rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
}

.aurora-footer .footer-container {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px; /* Compact spacing */
}

.aurora-footer .footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px;
}

.aurora-footer .footer-brand {
    flex: 1;
    min-width: 250px;
    max-width: 350px;
}

.aurora-footer .footer-logo-text {
    font-family: 'DM Serif Text', serif;
    font-size: 1.5rem;
    color: #1e293b;
    display: block;
    margin-bottom: 8px;
}

.aurora-footer .footer-tagline {
    font-family: 'DM Serif Text', serif;
    font-size: 1rem;
    color: #64748b;
    line-height: 1.4;
    margin: 0;
}

.aurora-footer .footer-nav {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.aurora-footer .footer-col {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
}

.aurora-footer .footer-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.aurora-footer .footer-col h4 {
    color: #0ea5e9;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

.aurora-footer .footer-col a {
    color: #64748b;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.aurora-footer .footer-col a:hover {
    color: #0ea5e9;
}

.aurora-footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding-top: 0;
    flex-wrap: wrap;
    border-top: none;
}

.aurora-footer .footer-bottom p {
    color: #1e293b;
    font-size: 0.9rem;
    margin: 0;
}

.aurora-footer .social-links {
    display: flex;
    gap: 16px;
}

.aurora-footer .social-links a {
    color: #94a3b8;
    font-size: 1.2rem;
    transition: color 0.2s ease;
}

.aurora-footer .social-links a:hover {
    color: #0ea5e9;
}

@media (max-width: 768px) {
    .aurora-footer .footer-top {
        flex-direction: column;
    }
    
    .aurora-footer .footer-nav {
        width: 100%;
        justify-content: space-between;
        gap: 30px;
    }
    
    .aurora-footer .footer-bottom {
        flex-direction: column-reverse;
        align-items: center;
        text-align: center;
    }
}

.aurora-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0px;
    background: transparent;
}

.aurora-footer .footer-logo-text {
    color: #1e293b;
}

.aurora-footer h4 {
    color: #0ea5e9;
    font-weight: 600;
    margin-bottom: 24px;
    font-size: 1rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.aurora-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.aurora-footer li {
    margin-bottom: 12px;
}

.aurora-footer a {
    color: #64748b;
    transition: all 0.2s ease;
}

.aurora-footer a:hover {
    color: #0ea5e9;
    transform: translateX(2px);
}

.aurora-footer .social-links a {
    color: #94a3b8;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}

.aurora-footer .social-links a:hover {
    color: #0ea5e9;
    transform: translateY(-2px);
}

.aurora-footer .copyright {
    color: #94a3b8;
    border-top: 1px solid rgba(0,0,0,0.05);
    margin-top: 60px;
    padding-top: 30px;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 768px) {
    .aurora-footer .copyright {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
}

/* --- Vibrant Background (Aurora) --- */
.aurora-bg-vibrant {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    background: radial-gradient(circle at 0% 0%, rgba(186, 230, 253, 0.4) 0%, transparent 50%),
                radial-gradient(circle at 100% 0%, rgba(251, 207, 232, 0.4) 0%, transparent 50%),
                radial-gradient(circle at 100% 100%, rgba(187, 247, 208, 0.4) 0%, transparent 50%),
                radial-gradient(circle at 0% 100%, rgba(221, 214, 254, 0.4) 0%, transparent 50%);
    filter: blur(40px);
    opacity: 0.8;
}

/* --- Soft Background (Animated - Airy with White Gaps) --- */
.aurora-bg-soft {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    /* State 1: Warm Peach (Top Left) & Lavender (Bottom Right) */
    background: 
        radial-gradient(circle at 0% 0%, rgba(255, 218, 205, 0.8) 0%, transparent 60%), /* Warm Peach */
        radial-gradient(circle at 100% 100%, rgba(225, 215, 255, 0.8) 0%, transparent 60%), /* Lavender */
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0) 0%, transparent 60%), /* White Space */
        radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0) 0%, transparent 60%); /* White Space */
    background-color: #ffffff;
    filter: blur(90px);
}

.aurora-bg-soft::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* State 2: Cool Rose Pink & Blue (Mixed with White Space) */
    background: 
        radial-gradient(circle at 15% 15%, rgba(170, 220, 255, 0.7) 0%, transparent 55%), /* Blue */
        radial-gradient(circle at 85% 85%, rgba(255, 170, 210, 0.7) 0%, transparent 55%), /* Rose Pink */
        radial-gradient(circle at 85% 15%, rgba(190, 230, 255, 0.6) 0%, transparent 55%), /* Soft Blue */
        radial-gradient(circle at 15% 85%, rgba(255, 190, 220, 0.6) 0%, transparent 55%); /* Soft Pink */
    opacity: 0;
    animation: aurora-cycle 20s ease-in-out infinite alternate;
}

@keyframes aurora-cycle {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* --- Features Section (Aurora) --- */
.features {
    padding: 80px 24px;
    position: relative;
    z-index: 1;
}

.features-container {
    max-width: 1280px;
    margin: 0 auto;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
    max-width: 1000px; /* Increased from 800px to prevent line breaks */
    margin-left: auto;
    margin-right: auto;
}

.section-header h2 {
    font-family: 'DM Serif Text', serif;
    font-size: 2.5rem;
    margin-bottom: 16px;
    color: var(--text-main);
}

/* Standard Feature Grid (3 Columns) */
.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: stretch;
}

.feature-card {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 24px;
    padding: 32px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

@media (max-width: 1100px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .features-grid {
        grid-template-columns: 1fr;
    }
}

.feature-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05);
    border-color: white;
}

.feature-card .feature-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: #0ea5e9;
    font-size: 1.25rem;
}

.feature-card h3 {
    font-family: 'DM Serif Text', serif;
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 12px;
    color: var(--text-main);
}

.feature-card p {
    color: var(--text-muted);
    line-height: 1.6;
    font-size: 0.95rem;
}

/* --- Testimonials Section (Aurora) --- */
.testimonials {
    padding: 80px 24px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.testimonials-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding-bottom: 40px;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.testimonials-track::-webkit-scrollbar {
    display: none;
}

.testimonial-card {
    min-width: 350px;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    border-radius: 24px;
    padding: 32px;
    scroll-snap-align: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.8);
}


/* --- Testimonials Marquee --- */
.testimonials-marquee {
    display: flex;
    gap: 24px;
    overflow: hidden;
    width: 100%;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    padding: 40px 0;
}

.marquee-track {
    display: flex;
    gap: 24px;
    animation: scroll 40s linear infinite;
    width: max-content;
}

.marquee-track:hover {
    animation-play-state: paused;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 12px));
    }
}

.testimonial-card {
    flex: 0 0 400px;
    width: 400px;
}

/* --- Footer Column Fix --- */
.footer-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-col h4 {
    margin-bottom: 16px;
    color: var(--primary);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


/* Legal Pages */
.legal-page-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 4rem 2rem;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 3rem;
    position: relative;
    z-index: 1;
}

.legal-sidebar {
    position: sticky;
    top: 120px;
    height: fit-content;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(12px);
    padding: 1.5rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.legal-sidebar h3 {
    font-size: 1.1rem;
    margin-bottom: 1rem;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
}

.legal-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.legal-sidebar li {
    margin-bottom: 0.5rem;
}

.legal-sidebar a {
    text-decoration: none;
    color: var(--text-muted);
    font-size: 0.9rem;
    display: block;
    padding: 0.5rem;
    border-radius: 8px;
    transition: all 0.2s;
}

.legal-sidebar a:hover {
    background: white;
    color: var(--primary);
}

.legal-content-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    padding: 3rem;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

.legal-content-card h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.legal-content-card h2 {
    font-size: 1.75rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    scroll-margin-top: 120px;
}

.legal-content-card h3 {
    font-size: 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    scroll-margin-top: 120px;
}

.legal-content-card p, .legal-content-card li {
    color: var(--text-muted);
    line-height: 1.7;
    margin-bottom: 1rem;
}

.legal-content-card ul {
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 900px) {
    .legal-page-wrapper { grid-template-columns: 1fr; }
    .legal-sidebar { display: none; }
}

/* --- Mobile Navigation (Centralized) --- */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: #1e293b;
    cursor: pointer;
    padding: 8px;
}

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    z-index: 2000;
    transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.mobile-menu-overlay.active {
    right: 0;
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.mobile-nav-links {
    display: flex;
    flex-direction: column;
    gap: 24px;
    font-size: 1.2rem;
    font-weight: 500;
}

.mobile-nav-links a {
    color: #1e293b;
    text-decoration: none;
    padding: 8px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.mobile-nav-links a:hover {
    color: #0ea5e9;
}

.mobile-menu-actions {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (max-width: 768px) {
    .aurora-nav .nav-center,
    .aurora-nav .nav-actions,
    .aurora-nav .nav-user {
        display: none !important;
    }
    
    .mobile-menu-btn {
        display: block;
    }
    
    .aurora-nav {
        padding: 12px 20px;
    }
}







/* --- Mobile Optimizations for Private Pages --- */
@media (max-width: 768px) {
    /* Stack Page Header */
    .page-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 16px;
    }

    .header-actions-wrapper {
        width: 100%;
        flex-wrap: wrap;
        gap: 12px !important;
    }

    /* Make action buttons grid */
    .primary-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        width: 100%;
    }

    .action-btn {
        width: 100%;
        justify-content: center;
    }

    /* Filter Bar - Horizontal Scroll */
    .modern-filter-bar {
        width: 100%;
        max-width: 100vw;
        overflow-x: auto;
        justify-content: flex-start;
        padding: 8px 0;
        margin: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        border: none;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    
    /* Hide scrollbar for cleaner look */
    .modern-filter-bar::-webkit-scrollbar {
        display: none;
    }
    
    .filter-group {
        flex-shrink: 0;
        background: white;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        margin-right: 8px;
        border: 1px solid rgba(0,0,0,0.05);
    }

    /* Hide Zoom on Mobile to save space */
    .zoom-control-pill {
        display: none !important;
    }
    
    /* Adjust content padding */
    .main-content {
        padding: 16px !important;
    }
    
    .page-header-wrapper {
        padding: 0 !important;
    }
}
/* =========================================
   AURORA MOBILE FIXES
   Optimizations for mobile devices (< 768px)
   ========================================= */

@media (max-width: 768px) {

    /* --- Global Layout Fixes --- */
    .main-content {
        padding: 16px 12px !important;
        overflow-x: hidden;
    }

    /* --- Cash Flow Page --- */
    
    /* Compact Buttons */
    .action-btn {
        padding: 8px 12px !important;
        font-size: 13px !important;
        height: auto !important;
        min-height: 36px;
    }
    
    .action-btn i {
        font-size: 14px !important;
    }

    /* Compact Filter Bar */
    .modern-filter-bar {
        gap: 8px !important;
        padding: 4px !important;
    }
    
    .filter-pill {
        padding: 4px 10px !important;
        font-size: 12px !important;
    }
    
    .date-input-wrapper {
        padding: 2px 8px !important;
    }
    
    .transparent-date-input {
        font-size: 12px !important;
        width: 80px !important;
    }

    /* Cash Flow Table - Summary View */
    /* Hide detailed breakdown rows */
    .indent-row, 
    .revenue-detail-row, 
    .expense-detail-row {
        display: none !important;
    }
    
    /* Hide the expandable section headers */
    .section-header-row {
        display: none !important;
    }
    
    /* Show the summary rows (Total Revenue / Total Expenses) */
    .account-summary-row {
        display: table-row !important;
        background-color: #f8fafc;
    }
    
    .account-summary-row td {
        padding: 12px 8px !important;
        font-weight: 600;
        font-size: 13px;
        border-bottom: 1px solid #e2e8f0;
    }
    
    /* Adjust table cell padding for mobile */
    .excel-table th, 
    .excel-table td {
        padding: 8px 6px !important;
        font-size: 12px !important;
    }
    
    /* Sticky column adjustments */
    .excel-table th:first-child,
    .excel-table td:first-child {
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        font-size: 12px !important;
    }

    /* --- Dashboard Page --- */
    
    /* Stack the main grid */
    .dashboard-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    
    .forecast-section,
    .accounts-section,
    .bottom-section {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }
    
    /* Stack stats cards */
    .stats-overview {
        grid-template-columns: 1fr 1fr !important; /* 2x2 grid */
        gap: 12px !important;
    }
    
    .overview-card {
        padding: 16px !important;
    }
    
    .card-value {
        font-size: 24px !important;
    }
    
    /* Stack bottom section widgets */
    .bottom-section {
        grid-template-columns: 1fr !important;
    }
    
    /* Calendar adjustments */
    .calendar-grid {
        gap: 4px !important;
    }
    
    .calendar-day {
        font-size: 11px !important;
        height: 40px !important;
    }

    /* --- Net Worth Page --- */
    
    /* Similar table optimizations */
    .networth-table th,
    .networth-table td {
        padding: 8px 6px !important;
        font-size: 12px !important;
    }
    
    /* Hide individual accounts in Net Worth if possible, or just make it scrollable */
    /* For Net Worth, we might want to keep details but ensure scrolling works */
    .networth-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    /* --- Spending (Budget) Page --- */
    
    .budget-overview {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    
    .chart-grid {
        grid-template-columns: 1fr !important;
    }
    
    .controls-bar {
        flex-direction: column;
        align-items: stretch !important;
    }
    
    .control-select {
        width: 100% !important;
    }
    
    .page-header-container {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 16px;
    }
    
    /* Fix overlap in budget items */
    .budget-category-item {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 12px;
    }
    
    .budget-category-item > div {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}
/* =========================================
   AURORA MOBILE FIXES - PHASE 2
   Dashboard, Cash Flow, Net Worth Optimizations
   ========================================= */

@media (max-width: 768px) {

    /* --- Dashboard Fixes --- */
    
    /* Prevent tile overflow */
    .dashboard-grid,
    .section-card,
    .overview-card,
    .forecast-section,
    .accounts-section,
    .bottom-section {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Resize Calendar */
    .calendar-grid {
        gap: 2px !important;
    }
    
    .calendar-day {
        height: 32px !important;
        font-size: 10px !important;
        border-radius: 6px !important;
    }
    
    .calendar-day-header {
        font-size: 10px !important;
        padding: 4px 0 !important;
    }
    
    .calendar-header {
        margin-bottom: 12px !important;
    }
    
    .calendar-month-year {
        font-size: 14px !important;
        padding: 4px 8px !important;
    }
    
    /* Compact Stats Cards */
    .stats-overview {
        gap: 8px !important;
    }
    
    .overview-card {
        padding: 12px !important;
    }
    
    .card-title {
        font-size: 1rem !important;
        gap: 8px !important;
    }
    
    .card-icon {
        width: 24px !important;
        height: 24px !important;
        font-size: 12px !important;
    }
    
    .card-value {
        font-size: 18px !important;
        margin-bottom: 4px !important;
    }
    
    .card-change {
        font-size: 11px !important;
    }

    /* --- Cash Flow & Net Worth Mobile View --- */
    
    /* Hide desktop table elements on mobile */
    .desktop-only-col {
        display: none !important;
    }
    
    /* Mobile Navigation Arrows */
    .mobile-nav-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #f1f5f9;
        color: #64748b;
        border: none;
        cursor: pointer;
        margin: 0 8px;
    }
    
    .mobile-nav-arrow:hover {
        background: #e2e8f0;
        color: #1e293b;
    }
    
    /* Filter Bar - Stacked/Wrapped */
    .modern-filter-bar {
        flex-wrap: wrap !important;
        height: auto !important;
        overflow: visible !important;
        justify-content: center !important;
        gap: 8px !important;
    }
    
    .filter-group {
        margin-right: 0 !important;
        flex-grow: 1;
        justify-content: center;
    }
    
    /* Ensure single column view takes full width */
    .mobile-single-col {
        width: 100% !important;
    }
    
    /* Fix Net Worth Collapse/Expand */
    .category-header td {
        white-space: normal !important;
    }
    
    /* Ensure text doesn't overflow in single column */
    .account-name-display {
        max-width: 150px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: inline-block;
        vertical-align: middle;
    }
}
/* =========================================

   AURORA MOBILE FIXES - PHASE 3

   Refining Table Widths, Calendar, and Navigation

   ========================================= */



@media (max-width: 768px) {



    /* --- Table Column Widths (Cash Flow & Net Worth) --- */

    

    /* First Column (Account Name / Category) - Give it more space */

    .excel-table th:first-child,

    .excel-table td:first-child,

    .networth-table th:first-child,

    .networth-table td:first-child {

        width: auto !important; /* Allow it to grow */

        min-width: 140px !important; /* Ensure minimum readability */

        max-width: none !important; /* Remove restriction */

        white-space: normal !important; /* Allow text wrapping */

        position: sticky !important;

        left: 0;

        z-index: 10;

        background: white; /* Ensure background covers scrolling content if any */

    }



    /* Amount Column (The single visible period) - Make it compact */

    .mobile-single-col,

    .excel-table td:not(:first-child),

    .networth-table td:not(:first-child) {

        width: 90px !important; /* Compact fixed width */

        min-width: 80px !important;

        max-width: 100px !important;

        padding: 8px 4px !important; /* Reduce padding */

        font-size: 13px !important;

        text-align: right !important;

    }

    

    /* Ensure the table fits the screen */

    .statement-table,

    .networth-table-container {

        width: 100% !important;

        overflow-x: hidden !important; /* Prevent horizontal scroll since we have nav arrows */

    }

    

    .excel-table,

    .networth-table {

        width: 100% !important;

        table-layout: fixed !important; /* Force columns to respect widths */

    }



    /* --- Dashboard Calendar Fix --- */

    

    .calendar-grid {

        display: grid !important;

        grid-template-columns: repeat(7, 1fr) !important; /* Force 7 columns */

        gap: 2px !important;

        width: 100% !important;

        padding: 0 !important;

        box-sizing: border-box !important;

    }

    

    .calendar-day {

        width: 100% !important; /* Fill the grid cell */

        aspect-ratio: 1 !important; /* Keep square */

        height: auto !important; /* Let aspect-ratio control height */

        min-height: 30px !important;

    }

    

    /* Ensure container doesn't clip */

    .section-card {

        padding: 12px 8px !important; /* Reduce side padding on mobile cards */

    }



    /* --- Net Worth Specifics --- */

    

    /* Fix "sliding to left" - ensure container is full width */

    #netWorthTable {

        width: 100% !important;

        margin: 0 !important;

    }

    

    /* Ensure rows are visible */

    .category-header td,

    .account-row td {

        height: auto !important;

    }

}

/* =========================================

   AURORA MOBILE FIXES - PHASE 3

   Refining Table Widths, Calendar, and Navigation

   ========================================= */



@media (max-width: 768px) {



    /* --- Table Column Widths (Cash Flow & Net Worth) --- */

    

    /* First Column (Account Name / Category) - Give it more space */

    .excel-table th:first-child,

    .excel-table td:first-child,

    .networth-table th:first-child,

    .networth-table td:first-child {

        width: auto !important; /* Allow it to grow */

        min-width: 140px !important; /* Ensure minimum readability */

        max-width: none !important; /* Remove restriction */

        white-space: normal !important; /* Allow text wrapping */

        position: sticky !important;

        left: 0;

        z-index: 10;

        background: white; /* Ensure background covers scrolling content if any */

    }



    /* Amount Column (The single visible period) - Make it compact */

    .mobile-single-col,

    .excel-table td:not(:first-child),

    .networth-table td:not(:first-child) {

        width: 90px !important; /* Compact fixed width */

        min-width: 80px !important;

        max-width: 100px !important;

        padding: 8px 4px !important; /* Reduce padding */

        font-size: 13px !important;

        text-align: right !important;

    }

    

    /* Ensure the table fits the screen */

    .statement-table,

    .networth-table-container {

        width: 100% !important;

        overflow-x: hidden !important; /* Prevent horizontal scroll since we have nav arrows */

    }

    

    .excel-table,

    .networth-table {

        width: 100% !important;

        table-layout: fixed !important; /* Force columns to respect widths */

    }



    /* --- Dashboard Calendar Fix --- */

    

    .calendar-grid {

        display: grid !important;

        grid-template-columns: repeat(7, 1fr) !important; /* Force 7 columns */

        gap: 2px !important;

        width: 100% !important;

        padding: 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important; /* Prevent overflow */

    }

    

    .calendar-day {

        width: 100% !important; /* Fill the grid cell */

        min-width: 0 !important; /* Allow shrinking */

        aspect-ratio: 1 !important; /* Keep square */

        height: auto !important; /* Let aspect-ratio control height */

        min-height: 30px !important;

        font-size: 10px !important; /* Smaller font */

    }

    

    /* Ensure container doesn't clip */

    .section-card {

        padding: 12px 8px !important; /* Reduce side padding on mobile cards */

    }



    /* --- Net Worth Specifics --- */

    

    /* Fix "sliding to left" - ensure container is full width */

    #netWorthTable {

        width: 100% !important;

        margin: 0 !important;

    }

    

    /* Ensure rows are visible */

    .category-header td,

    .account-row td {

        height: auto !important;

    }

}

/* =========================================

   AURORA MOBILE FIXES - PHASE 3

   Refining Table Widths, Calendar, and Navigation

   ========================================= */



@media (max-width: 768px) {



    /* --- Table Column Widths (Cash Flow & Net Worth) --- */

    

    /* First Column (Account Name / Category) - Give it more space */

    .excel-table th:first-child,

    .excel-table td:first-child,

    .networth-table th:first-child,

    .networth-table td:first-child {

        width: auto !important; /* Allow it to grow */

        min-width: 160px !important; /* Ensure minimum readability */

        max-width: 200px !important; /* Prevent it from taking over completely */

        white-space: normal !important; /* Allow text wrapping */

        position: sticky !important;

        left: 0;

        z-index: 10;

        background: white; /* Ensure background covers scrolling content if any */

        border-right: 1px solid #e2e8f0; /* Visual separation */

    }



    /* Amount Column (The single visible period) - Make it compact */

    .mobile-single-col,

    .excel-table td:not(:first-child),

    .networth-table td:not(:first-child) {

        width: 100px !important; /* Compact fixed width */

        min-width: 90px !important;

        max-width: 110px !important;

        padding: 8px 4px !important; /* Reduce padding */

        font-size: 13px !important;

        text-align: right !important;

    }

    

    /* Ensure the table fits the screen */

    .statement-table,

    .networth-table-container {

        width: 100% !important;

        overflow-x: hidden !important; /* Prevent horizontal scroll since we have nav arrows */

        padding: 0 !important;

        margin: 0 !important;

    }

    

    .excel-table,

    .networth-table {

        width: 100% !important;

        table-layout: fixed !important; /* Force columns to respect widths */

        margin: 0 !important;

    }



    /* --- Dashboard Calendar Fix --- */

    

    .calendar-grid {

        display: grid !important;

        grid-template-columns: repeat(7, 1fr) !important; /* Force 7 columns */

        gap: 2px !important;

        width: 100% !important;

        padding: 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important; /* Prevent overflow */

    }

    

    .calendar-day {

        width: 100% !important; /* Fill the grid cell */

        min-width: 0 !important; /* Allow shrinking */

        aspect-ratio: 1 !important; /* Keep square */

        height: auto !important; /* Let aspect-ratio control height */

        min-height: 30px !important;

        font-size: 10px !important; /* Smaller font */

        display: flex !important;

        align-items: center !important;

        justify-content: center !important;

    }



    /* Ensure Calendar Header matches grid */

    .calendar-header {

        display: grid !important;

        grid-template-columns: repeat(7, 1fr) !important;

        width: 100% !important;

        padding: 0 !important;

        margin-bottom: 8px !important;

    }

    

    .calendar-header div {

        text-align: center !important;

        font-size: 11px !important;

        width: 100% !important;

    }

    

    /* Ensure container doesn't clip */

    .section-card {

        padding: 12px 8px !important; /* Reduce side padding on mobile cards */

    }



    /* --- Net Worth Specifics --- */

    

    /* Fix sliding to left - ensure container is full width */

    #netWorthTable {

        width: 100% !important;

        margin: 0 !important;

    }

    

    /* Ensure rows are visible */

    .category-header td,

    .account-row td {

        height: auto !important;

    }



    /* --- Action Buttons (Mobile Icons Only) --- */

    .action-btn-primary {

        font-size: 0 !important; /* Hide text */

        padding: 0 !important;

        width: 40px !important;

        height: 40px !important;

        display: inline-flex !important;

        justify-content: center !important;

        align-items: center !important;

        border-radius: 8px !important;

    }

    

    .action-btn-primary i {

        font-size: 16px !important; /* Show icon */

        margin: 0 !important;

    }



    /* Inline Undo/Redo/Export with Action Buttons */

    .header-actions-wrapper {

        flex-wrap: nowrap !important;

        gap: 8px !important;

        overflow-x: auto !important; /* Allow scroll if too many buttons */

        padding-bottom: 4px !important; /* Space for scrollbar if needed */

        justify-content: flex-end !important;

    }

    

    .primary-actions, .secondary-actions {

        display: flex !important;

        align-items: center !important;

        gap: 6px !important;

    }



    /* --- Hide Period Selector (Current, 3M, 6M, 1Y) --- */

    .modern-filter-bar .filter-group:first-child {

        display: none !important;

    }

    

    /* Ensure Date Range is visible and centered if needed */

    .modern-filter-bar {

        justify-content: center !important;

        gap: 8px !important;

    }

    

    .filter-divider {

        display: none !important;

    }

}

/* =========================================

   AURORA MOBILE FIXES - PHASE 3

   Refining Table Widths, Calendar, and Navigation

   ========================================= */



@media (max-width: 768px) {



    /* --- Table Column Widths (Cash Flow & Net Worth) --- */

    

    /* First Column (Account Name / Category) - Give it more space */

    .excel-table th:first-child,

    .excel-table td:first-child,

    .networth-table th:first-child,

    .networth-table td:first-child {

        width: auto !important; /* Allow it to grow */

        min-width: 160px !important; /* Ensure minimum readability */

        max-width: 200px !important; /* Prevent it from taking over completely */

        white-space: normal !important; /* Allow text wrapping */

        position: sticky !important;

        left: 0;

        z-index: 10;

        background: white; /* Ensure background covers scrolling content if any */

        border-right: 1px solid #e2e8f0; /* Visual separation */

    }



    /* Amount Column (The single visible period) - Make it compact */

    .mobile-single-col,

    .excel-table td:not(:first-child),

    .networth-table td:not(:first-child) {

        width: 100px !important; /* Compact fixed width */

        min-width: 90px !important;

        max-width: 110px !important;

        padding: 8px 4px !important; /* Reduce padding */

        font-size: 13px !important;

        text-align: right !important;

    }

    

    /* Ensure the table fits the screen */

    .statement-table,

    .networth-table-container {

        width: 100% !important;

        overflow-x: hidden !important; /* Prevent horizontal scroll since we have nav arrows */

        padding: 0 !important;

        margin: 0 !important;

    }

    

    .excel-table,

    .networth-table {

        width: 100% !important;

        table-layout: fixed !important; /* Force columns to respect widths */

        margin: 0 !important;

    }



    /* --- Dashboard Calendar Fix --- */

    

    .calendar-grid {

        display: grid !important;

        grid-template-columns: repeat(7, 1fr) !important; /* Force 7 columns */

        gap: 2px !important;

        width: 100% !important;

        padding: 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important; /* Prevent overflow */

    }

    

    .calendar-day {

        width: 100% !important; /* Fill the grid cell */

        min-width: 0 !important; /* Allow shrinking */

        aspect-ratio: 1 !important; /* Keep square */

        height: auto !important; /* Let aspect-ratio control height */

        min-height: 30px !important;

        font-size: 10px !important; /* Smaller font */

        display: flex !important;

        align-items: center !important;

        justify-content: center !important;

    }



    /* Ensure Calendar Header matches grid */

    .calendar-header {

        display: grid !important;

        grid-template-columns: repeat(7, 1fr) !important;

        width: 100% !important;

        padding: 0 !important;

        margin-bottom: 8px !important;

    }

    

    .calendar-header div {

        text-align: center !important;

        font-size: 11px !important;

        width: 100% !important;

    }

    

    /* Ensure container doesn't clip */

    .section-card {

        padding: 12px 8px !important; /* Reduce side padding on mobile cards */

    }



    /* --- Net Worth Specifics --- */

    

    /* Fix sliding to left - ensure container is full width */

    #netWorthTable {

        width: 100% !important;

        margin: 0 !important;

    }

    

    /* Ensure rows are visible */

    .category-header td,

    .account-row td {

        height: auto !important;

    }



    /* --- Action Buttons (Mobile Icons Only) --- */

    .action-btn-primary {

        font-size: 0 !important; /* Hide text */

        padding: 0 !important;

        width: 40px !important;

        height: 40px !important;

        display: inline-flex !important;

        justify-content: center !important;

        align-items: center !important;

        border-radius: 8px !important;

        transition: all 0.2s ease !important;

    }

    

    .action-btn-primary i {

        font-size: 16px !important; /* Show icon */

        margin: 0 !important;

    }

    

    /* Hover effect to show text */

    .action-btn-primary:hover,

    .action-btn-primary:active {

        font-size: 14px !important;

        width: auto !important;

        padding: 10px 16px !important;

        z-index: 100; /* Ensure it pops over other things */

        position: relative;

    }

    

    .action-btn-primary:hover i,

    .action-btn-primary:active i {

        margin-right: 8px !important;

    }



    /* Inline Undo/Redo/Export with Action Buttons */

    .header-actions-wrapper {

        flex-wrap: nowrap !important;

        gap: 8px !important;

        overflow-x: auto !important; /* Allow scroll if too many buttons */

        padding-bottom: 4px !important; /* Space for scrollbar if needed */

        justify-content: flex-end !important;

    }

    

    .primary-actions, .secondary-actions {

        display: flex !important;

        align-items: center !important;

        gap: 6px !important;

    }



    /* --- Hide Period Selector (Current, 3M, 6M, 1Y) --- */

    .modern-filter-bar .filter-group:first-child {

        display: none !important;

    }

    

    /* Ensure Date Range is visible and centered if needed */

    .modern-filter-bar {

        justify-content: center !important;

        gap: 8px !important;

    }

    

    .filter-divider {

        display: none !important;

    }

}


/* --- Fixes for User Requests --- */

/* 1. Blog Post Spacing - Mimic Editor */
.article-content p {
    margin-bottom: 1em; /* Reduced from default to match editor feel */
}

/* 2. Private Pages Header Overlap Fix */
/* Ensure content starts below the fixed header on dashboard pages */
.main-content {
    padding-top: 100px !important;
}


/* --- Standardized Hero Section (Public Pages) --- */
.aurora-hero {
    text-align: center;
    padding: 120px 24px 60px; /* Consistent padding accounting for fixed header */
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.aurora-hero-content {
    max-width: 1100px; /* Increased from 900px to prevent title wrapping */
    margin: 0 auto;
}

/* Wider content for Blog Post as requested */
.aurora-hero-content.wide {
    max-width: 90%; /* 90% of screen width */
}

@media (min-width: 1200px) {
    .aurora-hero-content.wide {
        max-width: 1400px; /* Cap at 1400px on very large screens */
    }
}

.aurora-hero h1 {
    font-family: 'DM Serif Text', serif;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.15;
    margin-bottom: 24px;
    
    /* Restored Gradient Style */
    background: linear-gradient(135deg, var(--text-main) 0%, var(--primary-dark) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    
    letter-spacing: -0.02em;
}

.aurora-hero p {
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--text-muted);
    margin-bottom: 32px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .aurora-hero {
        padding: 100px 20px 40px;
    }
    
    .aurora-hero h1 {
        font-size: 2.25rem;
    }
    
    .aurora-hero p {
        font-size: 1.125rem;
    }
}

