﻿:root[data-theme="light"] {
    
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #f0f1f3;
    --bg-elevated: #ffffff;

    
    color-scheme: light;

    
    --text-primary: #1a1a1a;
    --text-secondary: #4a4a4a;
    --text-tertiary: #6a6a6a;
    --text-hint: #9a9a9a;

    
    --accent-primary: #5565dd;
    --accent-hover: #4454cc;
    --accent-active: #3343bb;

    
    --success: #22c55e;
    --warning: #f59e0b;
    --error: #ef4444;
    --info: #3b82f6;

    
    --border-subtle: #e5e7eb;
    --border-medium: #d1d5db;
    --border-strong: #9ca3af;

    
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.15);
    --shadow-xl: 0 8px 16px rgba(0, 0, 0, 0.18);

    
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;

    
    --radius-sm: 3px;
    --radius-md: 4px;
    --radius-lg: 6px;
    --radius-xl: 8px;

    
    --transition-fast: 150ms ease;
    --transition-normal: 250ms ease;
    --transition-slow: 350ms ease;

    
    --font-mono: 'Consolas', 'Monaco', 'Courier New', monospace;
    --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica', 'Arial', sans-serif;
    --font-primary: Georgia, 'Times New Roman', serif;
}

[data-theme="light"] .secondary-btn {
    background: var(--bg-elevated);
    border-color: var(--border-medium);
    color: var(--text-primary);
}

[data-theme="light"] .secondary-btn:hover {
    background: var(--bg-tertiary);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

[data-theme="light"] .icon-btn {
    background: var(--bg-elevated);
    border-color: var(--border-medium);
    color: var(--text-primary);
}

[data-theme="light"] .icon-btn:hover {
    background: var(--bg-tertiary);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

[data-theme="light"] .toolbar-btn {
    background: var(--bg-elevated);
    border-color: var(--border-medium);
    color: var(--text-primary);
}

[data-theme="light"] .toolbar-btn:hover {
    background: var(--bg-tertiary);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

[data-theme="light"] .chat-btn {
    background: rgba(85, 101, 221, 0.08);
    border-color: rgba(85, 101, 221, 0.25);
    color: var(--accent-primary);
}

[data-theme="light"] .chat-btn:hover {
    background: rgba(85, 101, 221, 0.15);
    border-color: rgba(85, 101, 221, 0.4);
}

[data-theme="light"] .nav-btn {
    background: rgba(85, 101, 221, 0.08);
    border-color: rgba(85, 101, 221, 0.25);
    color: var(--accent-primary);
}

[data-theme="light"] .nav-btn:hover {
    background: rgba(85, 101, 221, 0.15);
    border-color: rgba(85, 101, 221, 0.4);
}

[data-theme="light"] .card-btn {
    background: rgba(85, 101, 221, 0.08);
    border-color: rgba(85, 101, 221, 0.2);
    color: var(--accent-primary);
}

[data-theme="light"] .card-btn:hover {
    background: rgba(85, 101, 221, 0.12);
    border-color: rgba(85, 101, 221, 0.35);
}

[data-theme="light"] .budget-stats-btn {
    background: rgba(85, 101, 221, 0.08);
    border-color: rgba(85, 101, 221, 0.25);
    color: var(--accent-primary);
}

[data-theme="light"] .budget-stats-btn:hover {
    background: rgba(85, 101, 221, 0.15);
    border-color: rgba(85, 101, 221, 0.4);
}

[data-theme="light"] .message-btn {
    background: rgba(85, 101, 221, 0.08);
    border-color: rgba(85, 101, 221, 0.15);
    color: var(--accent-primary);
}

[data-theme="light"] .message-btn:hover {
    background: rgba(85, 101, 221, 0.15);
    border-color: rgba(85, 101, 221, 0.3);
}


[data-theme="light"] .upload-button-compact {
    background: linear-gradient(135deg, rgba(85, 101, 221, 0.08) 0%, rgba(68, 84, 204, 0.05) 100%);
    border-color: rgba(85, 101, 221, 0.35);
}

[data-theme="light"] .upload-button-compact:hover {
    background: linear-gradient(135deg, rgba(85, 101, 221, 0.12) 0%, rgba(68, 84, 204, 0.08) 100%);
    border-color: rgba(85, 101, 221, 0.5);
    box-shadow: 0 4px 12px rgba(85, 101, 221, 0.2);
}

[data-theme="light"] .upload-button-label {
    color: var(--accent-primary);
}

[data-theme="light"] .document-card,
[data-theme="light"] .summary-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 249, 250, 0.9) 100%);
    border-color: rgba(85, 101, 221, 0.2);
    box-shadow: 0 2px 8px rgba(85, 101, 221, 0.08);
}

[data-theme="light"] .document-card:hover,
[data-theme="light"] .summary-card:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(240, 241, 243, 0.95) 100%);
    border-color: rgba(85, 101, 221, 0.35);
    box-shadow: 0 6px 20px rgba(85, 101, 221, 0.15), 0 2px 8px rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .document-card.active {
    background: linear-gradient(135deg, rgba(85, 101, 221, 0.12) 0%, rgba(107, 124, 255, 0.08) 100%);
    border-color: var(--accent-primary);
    box-shadow: 0 4px 16px rgba(85, 101, 221, 0.25), 0 0 0 3px rgba(85, 101, 221, 0.08);
}

[data-theme="light"] .card-title::before {
    filter: drop-shadow(0 0 4px rgba(85, 101, 221, 0.3));
}


[data-theme="light"] .message-content.user {
    background: rgba(248, 249, 250, 0.95);
    border-color: rgba(85, 101, 221, 0.25);
}

[data-theme="light"] .message-content.user:hover {
    border-color: rgba(85, 101, 221, 0.35);
}

[data-theme="light"] .message-content.assistant {
    background: rgba(85, 101, 221, 0.1);
    border-color: rgba(85, 101, 221, 0.35);
}

[data-theme="light"] .message-content.assistant:hover {
    border-color: rgba(85, 101, 221, 0.5);
}


[data-theme="light"] input[type="text"],
[data-theme="light"] input[type="password"],
[data-theme="light"] input[type="number"],
[data-theme="light"] select,
[data-theme="light"] textarea {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 249, 250, 0.9) 100%);
    border-color: rgba(85, 101, 221, 0.3);
    color: var(--text-primary);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(85, 101, 221, 0);
    caret-color: var(--text-primary);
    
    cursor: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="11" y="4" width="2" height="16" fill="black"/><path d="M8 4H16M8 20H16" stroke="black" stroke-width="2"/></svg>') 12 12, text;
}


[data-theme="light"] #canvas-editor {
    caret-color: var(--text-primary) !important;
    cursor: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="11" y="4" width="2" height="16" fill="black"/><path d="M8 4H16M8 20H16" stroke="black" stroke-width="2"/></svg>') 12 12, text !important;
}

[data-theme="light"] input[type="text"]:hover,
[data-theme="light"] input[type="password"]:hover,
[data-theme="light"] input[type="number"]:hover,
[data-theme="light"] select:hover,
[data-theme="light"] textarea:hover {
    border-color: rgba(85, 101, 221, 0.45);
    background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(240, 241, 243, 0.95) 100%);
}

[data-theme="light"] input:focus,
[data-theme="light"] select:focus,
[data-theme="light"] textarea:focus {
    border-color: var(--accent-primary);
    background: #ffffff;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08),
        0 0 0 3px rgba(85, 101, 221, 0.15),
        0 4px 12px rgba(85, 101, 221, 0.2);
}

[data-theme="light"] label {
    color: var(--text-primary);
}

