/* SCAPO Projektdatenbank - Zentrale Farbdefinitionen */

:root {
    /* Primary Brand Colors - SCAPO Blue */
    --primary-color: #1a615c;
    --primary-color-dark: #144a46;
    --primary-color-light:  #237670;
    --primary-color-lighter: #298880;
    --primary-color-lightest: #2da59c;

    /* Secondary Colors */
    --secondary-color: #f8f9fa;
    --secondary-color-dark: #e9ecef;
    --secondary-color-darker: #dee2e6;

    /* Neutral Colors */
    --white: #ffffff;
    --black: #000000;
    --gray-50: #f8f9fa;
    --gray-100: #f1f3f4;
    --gray-200: #e9ecef;
    --gray-300: #dee2e6;
    --gray-400: #ced4da;
    --gray-500: #adb5bd;
    --gray-600: #6c757d;
    --gray-700: #495057;
    --gray-800: #343a40;
    --gray-900: #212529;

    /* Text Colors */
    --text-color: #343a40;
    --text-color-light: #6c757d;
    --text-color-lighter: #adb5bd;
    --text-color-inverse: #ffffff;
    --text-color-muted: #868e96;

    /* Background Colors */
    --bg-color: #ffffff;
    --bg-color-secondary: #f8f9fa;
    --bg-color-tertiary: #e9ecef;
    --bg-color-dark: #343a40;
    --bg-color-darker: #212529;

    /* Border Colors */
    --border-color: #e9ecef;
    --border-color-light: #f1f3f4;
    --border-color-dark: #dee2e6;
    --border-color-darker: #ced4da;

    /* Status Colors - Success */
    --success-color: #28a745;
    --success-color-dark: #218838;
    --success-color-light: #5cb85c;
    --success-bg: #d4edda;
    --success-border: #c3e6cb;
    --success-text: #155724;

    /* Status Colors - Error/Danger */
    --error-color: #dc3545;
    --error-color-dark: #c82333;
    --error-color-light: #e85d6b;
    --error-bg: #f8d7da;
    --error-border: #f5c6cb;
    --error-text: #721c24;

    /* Status Colors - Warning */
    --warning-color: #ffc107;
    --warning-color-dark: #e0a800;
    --warning-color-light: #ffce3a;
    --warning-bg: #fff3cd;
    --warning-border: #ffeaa7;
    --warning-text: #856404;

    /* Status Colors - Info */
    --info-color: #17a2b8;
    --info-color-dark: #138496;
    --info-color-light: #3fc5d8;
    --info-bg: #d1ecf1;
    --info-border: #bee5eb;
    --info-text: #0c5460;

    /* Interactive Colors */
    --link-color: var(--primary-color);
    --link-color-hover: var(--primary-color-dark);
    --link-color-visited: #551a8b;

    /* Focus Colors */
    --focus-color: var(--primary-color);
    --focus-ring: rgba(0, 102, 204, 0.25);
    --focus-ring-error: rgba(220, 53, 69, 0.25);
    --focus-ring-success: rgba(40, 167, 69, 0.25);

    /* Shadow Colors */
    --shadow-color: rgba(0, 0, 0, 0.1);
    --shadow-color-light: rgba(0, 0, 0, 0.05);
    --shadow-color-dark: rgba(0, 0, 0, 0.15);
    --shadow-color-darker: rgba(0, 0, 0, 0.25);

    /* Overlay Colors */
    --overlay-color: rgba(0, 0, 0, 0.5);
    --overlay-color-light: rgba(0, 0, 0, 0.3);
    --overlay-color-dark: rgba(0, 0, 0, 0.7);

    /* Sidebar Specific Colors */
    --sidebar-bg: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color-dark) 100%);
    --sidebar-text: var(--white);
    --sidebar-text-muted: rgba(255, 255, 255, 0.7);
    --sidebar-active-bg: var(--white);
    --sidebar-active-text: var(--primary-color);
    --sidebar-hover-bg: rgba(255, 255, 255, 0.1);
    --sidebar-border: rgba(255, 255, 255, 0.1);

    /* Form Colors */
    --form-control-bg: var(--white);
    --form-control-border: var(--border-color);
    --form-control-border-focus: var(--primary-color);
    --form-control-text: var(--text-color);
    --form-control-placeholder: var(--text-color-lighter);

    /* Button Colors */
    --btn-primary-bg: var(--primary-color);
    --btn-primary-text: var(--white);
    --btn-primary-border: var(--primary-color);
    --btn-primary-hover-bg: var(--primary-color-dark);
    --btn-primary-hover-border: var(--primary-color-dark);

    --btn-secondary-bg: var(--gray-200);
    --btn-secondary-text: var(--text-color);
    --btn-secondary-border: var(--gray-300);
    --btn-secondary-hover-bg: var(--gray-300);
    --btn-secondary-hover-border: var(--gray-400);

    --btn-success-bg: var(--success-color);
    --btn-success-text: var(--white);
    --btn-success-border: var(--success-color);
    --btn-success-hover-bg: var(--success-color-dark);
    --btn-success-hover-border: var(--success-color-dark);

    --btn-danger-bg: var(--error-color);
    --btn-danger-text: var(--white);
    --btn-danger-border: var(--error-color);
    --btn-danger-hover-bg: var(--error-color-dark);
    --btn-danger-hover-border: var(--error-color-dark);

    /* Card Colors */
    --card-bg: var(--white);
    --card-border: var(--border-color);
    --card-header-bg: var(--gray-50);
    --card-header-text: var(--text-color);
    --card-shadow: var(--shadow-color);

    /* Table Colors */
    --table-bg: var(--white);
    --table-border: var(--border-color);
    --table-header-bg: var(--gray-50);
    --table-header-text: var(--text-color);
    --table-stripe-bg: var(--gray-50);
    --table-hover-bg: var(--gray-100);

    /* Navigation Colors */
    --nav-bg: var(--white);
    --nav-text: var(--text-color);
    --nav-link-hover: var(--primary-color-light);
    --nav-border: var(--border-color);

    /* Loading Colors */
    --loading-color: var(--primary-color);
    --loading-bg: var(--gray-100);

    /* Product Status Colors */
    --status-production-bg: var(--success-bg);
    --status-production-text: var(--success-text);
    --status-production-border: var(--success-border);

    --status-development-bg: var(--warning-bg);
    --status-development-text: var(--warning-text);
    --status-development-border: var(--warning-border);

    --status-inactive-bg: var(--gray-100);
    --status-inactive-text: var(--gray-600);
    --status-inactive-border: var(--gray-300);
}

[data-theme="dark"] {
    --text-color: #ffffff;
    --text-color-light: #adb5bd;
    --text-color-lighter: #6c757d;
    --text-color-inverse: #212529;

    --bg-color: #212529;
    --bg-color-secondary: #343a40;
    --bg-color-tertiary: #495057;

    --border-color: #495057;
    --border-color-light: #343a40;
    --border-color-dark: #6c757d;

    --card-bg: #343a40;
    --card-header-bg: #495057;

    --form-control-bg: #495057;
    --form-control-border: #6c757d;
    --form-control-text: #ffffff;
}

/* High Contrast Mode (Accessibility) */
@media (prefers-contrast: high) {
    :root {
        --border-color: #000000;
        --text-color: #000000;
        --primary-color: #0000ff;
        --error-color: #ff0000;
        --success-color: #008000;
    }
}

/* Reduced Motion (Accessibility) */
@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-duration: 0.01ms;
        --animation-duration: 0.01ms;
    }
}