/* ==========================================================================
   1. CORE VARIABLES (THE SOURCE OF TRUTH)
   ========================================================================== */
:root {
    /* Basic Layout & Typography */
    --bg-color: #f4f4f4;
    --container-bg: #ffffff;
    --text-color: #333333;
    --muted-text: #666666;
    
    /* Structural */
    --header-gradient: linear-gradient(to right, #ffffff 0%, #ffffff 120px, #b0b0b0 100%);
    --nav-bg: #222222;
    --border-color: #dddddd;
    
    /* Brand & Interactive Colors */
    --accent-color: #0e5d03; 
    --accent-hover: #0a4602;
    --btn-dark-bg: #333333;
    --btn-dark-hover: #000000;
    
    /* Forms & Data Displays */
    --stat-box-bg: #ffffff;
    --input-bg: #ffffff;
    --input-border: #cccccc;
    
    /* System States & Alerts */
    --success-bg: #e8f5e9;
    --success-color: #2e7d32;
    --success-hover: #1b5e20;
    --warning-bg: #fff3e0;
    --warning-border: #ff9800;
    --warning-text: #e65100;
    --danger-bg: #ffebee;
    --danger-text: #c62828;
    
    /* Specific Financial Metrics */
    --profit-bg: #e8f5e9; 
    --tax-text: #b45309;
}

/* --- DARK MODE OVERRIDES --- */
[data-theme="dark"] {
    --bg-color: #121212;
    --container-bg: #1e1e1e;
    --text-color: #e0e0e0;
    --muted-text: #aaaaaa;
    
    --header-gradient: linear-gradient(to right, #999999 0%, #999999 120px, #000000 100%);
    --nav-bg: #000000;
    --border-color: #333333;
    
    --btn-dark-bg: #444444;
    --btn-dark-hover: #222222;
    
    --stat-box-bg: #2d2d2d;
    --input-bg: #2d2d2d;
    --input-border: #444444;
    
    /* Dark Mode System States */
    --success-bg: #143317;
    --success-color: #81c784;
    --warning-bg: #3e2723;
    --warning-text: #ffb74d;
    --danger-bg: #3c1414;
    --danger-text: #ef5350;
    
    --profit-bg: #143317; 
    --tax-text: #fbbf24; 
}


/* ==========================================================================
   2. GLOBAL HTML RESETS
   ========================================================================== */
* {
    box-sizing: border-box; 
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s, color 0.3s;
    overflow-x: hidden; 
}

/* Specialized Page Backgrounds */
body.login-page {
    background-color: var(--nav-bg);
}

a {
    color: var(--accent-color);
    text-decoration: none;
    transition: color 0.2s;
}

a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}


/* ==========================================================================
   3. UTILITY CLASSES (SPACING, TEXT, & HELPERS)
   ========================================================================== */

/* --- Spacing Helpers --- */
.m-0  { margin: 0 !important; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }

/* --- Text & Alignment Helpers --- */
.d-block { display: block; }
.text-left { text-align: left; }
.text-right { text-align: right !important; }
.indent-header { margin-left: 20px; }
.empty-state { text-align: center; padding: 30px; color: var(--muted-text); font-style: italic; }

/* --- Color Utilities --- */
.text-accent { color: var(--accent-color); font-weight: bold; }
.text-danger { color: var(--danger-text) !important; font-weight: bold; }
.text-tax { color: var(--tax-text) !important; font-weight: bold; }
.text-muted { color: var(--muted-text); font-size: 0.9em; }
.due-soon { color: var(--danger-text); font-weight: bold; }
.row-paused { opacity: 0.6; }

/* --- Structural Helpers --- */
.flex-header { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    margin-bottom: 30px; 
    flex-wrap: wrap; 
    gap: 15px; 
}


/* ==========================================================================
   4. GLOBAL STATE COMPONENTS (ALERTS & SYSTEM BUTTONS)
   ========================================================================== */

/* --- Alert Boxes --- */
.success-box { 
    background: var(--success-bg); 
    color: var(--success-color); 
    padding: 15px; 
    border-radius: 4px; 
    margin-bottom: 15px; 
    border-left: 5px solid var(--success-color); 
}

.warning-box { 
    background: var(--warning-bg); 
    color: var(--warning-text); 
    border: 1px solid var(--warning-border); 
    padding: 15px; 
    border-radius: 6px; 
    margin-bottom: 20px; 
}

.error-box { 
    background: var(--danger-bg); 
    color: var(--danger-text); 
    padding: 15px; 
    border-radius: 4px; 
    margin-bottom: 15px; 
    border-left: 5px solid var(--danger-text); 
}

/* --- Helper Buttons (Using Variables) --- */
.btn-dark { 
    background-color: var(--btn-dark-bg) !important; 
    color: #ffffff !important; 
}
.btn-dark:hover { 
    background-color: var(--btn-dark-hover) !important; 
}

.btn-add-new { 
    background-color: var(--success-color) !important; 
    color: #ffffff !important; 
    text-decoration: none !important; 
}
.btn-add-new:hover { 
    background-color: var(--success-hover) !important; 
    text-decoration: none !important; 
}