/* ===== RESET & GRUNDLAGEN ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* DRK PrimÃ¤rfarben */
    --primary: #E60005;
    --primary-dark: #A51E0F;
    --primary-light: #FDEAEA;
    
    /* DRK SekundÃ¤rfarben */
    --secondary-blue: #2275D0;
    --secondary-blue-dark: #008CCD;
    --secondary-blue-light: #EBF5FF;
    --soft-red: #E46450;
    
    /* Tab-Farben */
    --tab-meldungen: #008CCD;
    --tab-meldungen-light: #FDEAEA;
    --tab-ressourcen: #008CCD;
    --tab-ressourcen-light: #EBF5FF;
    --tab-patienten: #E60005;
    --tab-patienten-light: #FDEAEA;
    
    /* Status-Farben */
    --success: #16a34a;
    --success-dark: #15803d;
    --success-light: #dcfce7;
    --warning: #d97706;
    --warning-light: #fef3c7;
    --danger: #E60005;
    --danger-dark: #A51E0F;
    --danger-light: #FDEAEA;
    
    /* DRK Graustufen */
    --gray-900: #1a1a1a;
    --gray-800: #333333;
    --gray-700: #4a4a4a;
    --gray-600: #554F4A;
    --gray-500: #6b7280;
    --gray-400: #9ca3af;
    --gray-300: #B4B4B4;
    --gray-200: #e5e7eb;
    --gray-100: #f3f4f6;
    --gray-50: #f9fafb;
    
    /* HintergrÃ¼nde */
    --bg-page: #f5f5f5;
    --bg-card: #ffffff;
    --bg-input: #EBF5FF;
    --bg-header: #E60005;
    
    /* Text - DRK Dunkelgrau */
    --text-primary: #554F4A;
    --text-secondary: #6b7280;
    --text-muted: #9ca3af;
    --text-inverse: #ffffff;
    
    /* Borders */
    --border-color: #B4B4B4;
    --border-light: #e2e8f0;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --shadow-lg: 0 4px 6px rgba(0,0,0,0.1);
    
    /* Sichtungskategorien */
    --sk-rot: #E60005;
    --sk-gelb: #f59e0b;
    --sk-gruen: #16a34a;
    
    /* Ressourcen - farbliche Unterscheidung */
    --ktw-color: #3b82f6;      /* Blau fÃ¼r KTW */
    --rtw-color: #E60005;      /* Rot fÃ¼r RTW */
    --nef-color: #f59e0b;      /* Orange fÃ¼r NEF */
    --naw-color: #8b5cf6;      /* Lila fÃ¼r NAW */
    --sonst-color: #6b7280;    /* Grau fÃ¼r Sonstiges */
    
    /* Radius */
    --radius-sm: 4px;
    --radius: 6px;
    --radius-lg: 8px;
}

/* ===== DUNKELMODUS (automatisch) ===== */
@media (prefers-color-scheme: dark) {
    :root {
        /* HintergrÃ¼nde dunkel */
        --bg-page: #1a1a1a;
        --bg-card: #2d2d2d;
        --bg-input: #3d3d3d;
        --bg-header: #E60005;
        
        /* Text hell */
        --text-primary: #e5e5e5;
        --text-secondary: #a3a3a3;
        --text-muted: #737373;
        --text-inverse: #ffffff;
        
        /* Graustufen angepasst */
        --gray-50: #2d2d2d;
        --gray-100: #3d3d3d;
        --gray-200: #4d4d4d;
        --gray-300: #5d5d5d;
        --gray-400: #737373;
        --gray-500: #a3a3a3;
        
        /* Borders */
        --border-color: #4d4d4d;
        --border-light: #3d3d3d;
        
        /* Shadows */
        --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
        --shadow: 0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);
        --shadow-lg: 0 4px 6px rgba(0,0,0,0.4);
        
        /* Leicht angepasste Akzentfarben fÃ¼r bessere Lesbarkeit */
        --primary-light: #4a2020;
        --secondary-blue-light: #1e3a5f;
        --success-light: #1a3d2a;
        --warning-light: #3d2e1a;
        --danger-light: #4a2020;
        
        /* Tab-Farben angepasst */
        --tab-meldungen-light: #2d2040;
        --tab-ressourcen-light: #1e3a5f;
        --tab-patienten-light: #4a2020;
    }
    
    /* Spezifische Anpassungen fÃ¼r Dunkelmodus */
    .app-header {
        background: #2d2d2d;
        border-bottom-color: var(--primary);
    }
    
    .login-container {
        background: var(--bg-card);
    }
    
    .modal-content {
        background: var(--bg-card);
    }
    
    .patient-card {
        background: var(--bg-card);
    }
    
    .vitalwert-card {
        background: var(--bg-card);
    }
    
    .vitalwert-header {
        background: var(--gray-100);
    }
    
    .compact-section {
        background: var(--bg-card);
    }
    
    .btn-secondary {
        background: var(--gray-200);
        color: var(--text-primary);
    }
    
    input, select, textarea {
        background: var(--bg-input) !important;
        color: var(--text-primary) !important;
        border-color: var(--border-color) !important;
    }
    
    input::placeholder, textarea::placeholder {
        color: var(--text-muted) !important;
    }
    
    option {
        background: var(--bg-card);
        color: var(--text-primary);
    }
    
    .nav-tab {
        color: var(--text-primary);
    }
    
    .nav-tab:hover {
        background: var(--gray-100);
    }
    
    /* Dark Mode fÃ¼r Einsatz-Tabs und Panels */
    .einsatz-tab-btn {
        background: var(--bg-card);
        color: var(--text-primary);
        border-color: var(--border-color);
    }
    
    .einsatz-tab-btn:hover {
        background: var(--gray-100);
    }
    
    .einsatz-tab-btn.active {
        background: var(--primary);
        color: white;
        border-color: var(--primary);
    }
    
    .einsatz-panel {
        background: var(--bg-card);
        border-color: var(--border-color);
    }
}

/* ===== MANUELLER DUNKELMODUS ===== */
[data-theme="dark"] {
    /* HintergrÃ¼nde dunkel */
    --bg-page: #1a1a1a;
    --bg-card: #2d2d2d;
    --bg-input: #3d3d3d;
    --bg-header: #E60005;
    
    /* Text hell */
    --text-primary: #e5e5e5;
    --text-secondary: #a3a3a3;
    --text-muted: #737373;
    --text-inverse: #ffffff;
    
    /* Graustufen angepasst */
    --gray-50: #2d2d2d;
    --gray-100: #3d3d3d;
    --gray-200: #4d4d4d;
    --gray-300: #5d5d5d;
    --gray-400: #737373;
    --gray-500: #a3a3a3;
    
    /* Borders */
    --border-color: #4d4d4d;
    --border-light: #3d3d3d;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
    --shadow: 0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);
    --shadow-lg: 0 4px 6px rgba(0,0,0,0.4);
    
    /* Leicht angepasste Akzentfarben fÃ¼r bessere Lesbarkeit */
    --primary-light: #4a2020;
    --secondary-blue-light: #1e3a5f;
    --success-light: #1a3d2a;
    --warning-light: #3d2e1a;
    --danger-light: #4a2020;
    
    /* Tab-Farben angepasst */
    --tab-meldungen-light: #2d2040;
    --tab-ressourcen-light: #1e3a5f;
    --tab-patienten-light: #4a2020;
}

/* ===== MANUELLER HELLMODUS (Ã¼berschreibt System-Dark) ===== */
[data-theme="light"] {
    --bg-page: #f5f5f5;
    --bg-card: #ffffff;
    --bg-input: #EBF5FF;
    --bg-header: #E60005;
    --text-primary: #554F4A;
    --text-secondary: #6b7280;
    --text-muted: #9ca3af;
    --text-inverse: #ffffff;
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #B4B4B4;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --border-color: #B4B4B4;
    --border-light: #e2e8f0;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --shadow-lg: 0 4px 6px rgba(0,0,0,0.1);
    --primary-light: #FDEAEA;
    --secondary-blue-light: #EBF5FF;
    --success-light: #dcfce7;
    --warning-light: #fef3c7;
    --danger-light: #FDEAEA;
    --tab-meldungen-light: #FDEAEA;
    --tab-ressourcen-light: #EBF5FF;
    --tab-patienten-light: #FDEAEA;
}

[data-theme="dark"] .app-header {
    background: #2d2d2d;
    border-bottom-color: var(--primary);
}

[data-theme="dark"] .login-container,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .patient-card,
[data-theme="dark"] .vitalwert-card,
[data-theme="dark"] .compact-section {
    background: var(--bg-card);
}

[data-theme="dark"] .vitalwert-header {
    background: var(--gray-100);
}

[data-theme="dark"] .btn-secondary {
    background: var(--gray-200);
    color: var(--text-primary);
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    background: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--text-muted) !important;
}

[data-theme="dark"] option {
    background: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .nav-tab {
    color: var(--text-primary);
}

[data-theme="dark"] .nav-tab:hover {
    background: var(--gray-100);
}

[data-theme="dark"] .btn-theme-toggle {
    background: var(--gray-200);
    border-color: var(--border-color);
}

[data-theme="dark"] .log-entry {
    background: var(--bg-card);
}

[data-theme="dark"] .patients-section-header {
    background: var(--gray-100);
}

/* Dark Mode Button Fixes */
[data-theme="dark"] .btn-sichtung,
[data-theme="dark"] .btn-kategorie,
[data-theme="dark"] .btn-gender,
[data-theme="dark"] .btn-verletztenstatus {
    background: var(--gray-100);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .btn-sichtung:hover,
[data-theme="dark"] .btn-kategorie:hover,
[data-theme="dark"] .btn-gender:hover,
[data-theme="dark"] .btn-verletztenstatus:hover {
    background: var(--gray-200);
}

[data-theme="dark"] .patient-filter-tab {
    background: var(--gray-100);
    color: var(--text-primary);
}

[data-theme="dark"] .patient-stat {
    background: var(--gray-100);
}

[data-theme="dark"] .einsatzkraefte-overview {
    background: var(--bg-card);
    border-color: var(--border-color);
}

/* Dark Mode fÃ¼r Einsatz-Tabs und Panels */
[data-theme="dark"] .einsatz-tab-btn {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .einsatz-tab-btn:hover {
    background: var(--gray-100);
}

[data-theme="dark"] .einsatz-tab-btn.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

[data-theme="dark"] .einsatz-panel {
    background: var(--bg-card);
    border-color: var(--border-color);
}

/* Dark Mode Labels und Text */
[data-theme="dark"] label,
[data-theme="dark"] .form-group label,
[data-theme="dark"] h3,
[data-theme="dark"] .resource-add-section h3,
[data-theme="dark"] .posten-header h3 {
    color: var(--text-primary);
}

/* Dark Mode Dropdowns und Select */
[data-theme="dark"] select,
[data-theme="dark"] select option {
    background: var(--bg-input);
    color: var(--text-primary);
}

/* Dark Mode Patientenkarten Kategorien */
[data-theme="dark"] .patient-sichtung.sk1 {
    background: #E60005;
    color: white;
}

[data-theme="dark"] .patient-sichtung.sk2 {
    background: #E6A800;
    color: #1a1a1a;
}

[data-theme="dark"] .patient-sichtung.sk3 {
    background: #1E8E3E;
    color: white;
}

[data-theme="dark"] .patient-sichtung.sk4 {
    background: #0052CC;
    color: white;
}

[data-theme="dark"] .patient-sichtung.sk5 {
    background: #2D2D2D;
    color: white;
}

[data-theme="dark"] .patient-sichtung.b {
    background: #8B4513;
    color: white;
}

/* Dark Mode Form Sections */
[data-theme="dark"] .form-section,
[data-theme="dark"] .resource-add-section {
    background: var(--bg-card);
}

/* Dark Mode Resource Cards */
[data-theme="dark"] .resource-card {
    background: var(--bg-card);
}

/* Dark Mode Posten Cards */
[data-theme="dark"] .posten-card {
    background: var(--bg-card);
}

/* Dark Mode Compact Sections */
[data-theme="dark"] .compact-section-header {
    background: var(--gray-100);
    color: var(--text-primary);
}

/* Dark Mode Status Buttons auf Fahrzeugen */
[data-theme="dark"] .status-buttons .btn-status {
    background: var(--gray-100);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .status-buttons .btn-status:hover {
    background: var(--gray-200);
}

[data-theme="dark"] .status-buttons .btn-status.active {
    color: white;
}

/* Dark Mode Counter Box */
[data-theme="dark"] .counter-box {
    background: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="dark"] .counter-box.info {
    background: var(--gray-100);
}

[data-theme="dark"] .ressourcen-section {
    background: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="dark"] .ressourcen-section-header h4 {
    color: var(--text-primary);
}

@media (prefers-color-scheme: dark) {
    .btn-sichtung,
    .btn-kategorie,
    .btn-gender,
    .btn-verletztenstatus {
        background: var(--gray-100);
        color: var(--text-primary);
        border-color: var(--border-color);
    }
    
    .patient-filter-tab {
        background: var(--gray-100);
        color: var(--text-primary);
    }
    
    .patient-stat {
        background: var(--gray-100);
    }
    
    label,
    .form-group label,
    h3, h4 {
        color: var(--text-primary);
    }
    
    select,
    select option {
        background: var(--bg-input);
        color: var(--text-primary);
    }
    
    .patient-sichtung.sk1 {
        background: var(--sk-rot);
        color: white;
    }
    
    .patient-sichtung.sk2 {
        background: var(--sk-gelb);
        color: #1a1a1a;
    }
    
    .patient-sichtung.sk3 {
        background: var(--sk-gruen);
        color: white;
    }
    
    .form-section,
    .resource-add-section,
    .resource-card,
    .posten-card,
    .ressourcen-section,
    .counter-box {
        background: var(--bg-card);
    }
    
    .counter-box.info {
        background: var(--gray-100);
    }
    
    .compact-section-header {
        background: var(--gray-100);
        color: var(--text-primary);
    }
    
    .status-buttons .btn-status {
        background: var(--gray-100);
        color: var(--text-primary);
        border-color: var(--border-color);
    }
    
    .status-buttons .btn-status.active {
        color: white;
    }
}

/* ===== MANUELLER HELLMODUS ===== */
[data-theme="light"] {
    /* Explizit helle Variablen setzen - Ã¼berschreibt System Dark Mode */
    --bg-page: #f5f5f5;
    --bg-card: #ffffff;
    --bg-input: #EBF5FF;
    --text-primary: #554F4A;
    --text-secondary: #6b7280;
    --text-muted: #9ca3af;
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #B4B4B4;
    --border-color: #B4B4B4;
    --border-light: #e2e8f0;
}

[data-theme="light"] .app-header {
    background: white;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background-color: var(--bg-page);
    color: var(--text-primary);
    line-height: 1.5;
    font-size: 14px;
}

.hidden {
    display: none !important;
}

/* ===== LOGOS ===== */
.login-logo {
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    box-shadow: none;
}

.login-logo.small {
    width: 56px;
    height: 56px;
}

.logo-icon {
    color: white;
    font-size: 36px;
    font-weight: 300;
}

.logo-icon-small {
    color: white;
    font-size: 18px;
}

.header-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
}

/* ===== BUTTONS ===== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: none;
    border-radius: var(--radius);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    gap: 6px;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.btn:active {
    transform: translateY(0);
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: white;
}

.btn-primary:hover {
    background: linear-gradient(135deg, var(--primary-dark) 0%, #7a1508 100%);
}

.btn-secondary {
    background: var(--gray-500);
    color: white;
}

.btn-secondary:hover {
    background: var(--gray-600);
}

.btn-success {
    background: linear-gradient(135deg, var(--success) 0%, var(--success-dark) 100%);
    color: white;
}

.btn-success:hover {
    background: linear-gradient(135deg, var(--success-dark) 0%, #166534 100%);
}

.btn-danger {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: white;
}

.btn-danger:hover {
    background: linear-gradient(135deg, var(--primary-dark) 0%, #7a1508 100%);
}

.btn-block { width: 100%; }
.btn-sm { padding: 5px 10px; font-size: 12px; }
.btn-lg { padding: 12px 24px; font-size: 14px; }

/* ===== FORMULARE ===== */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-secondary);
}

.required::after {
    content: ' *';
    color: var(--danger);
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    font-size: 13px;
    background: var(--bg-input);
    color: var(--text-primary);
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(230, 0, 5, 0.1);
    background: white;
}

textarea {
    resize: vertical;
    min-height: 60px;
    font-family: inherit;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.form-row .form-group {
    margin-bottom: 0;
}

.form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.form-row-2 .form-group {
    margin-bottom: 0;
}

.form-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.form-row-3 .form-group {
    margin-bottom: 0;
}

.form-row-4 {
    display: grid;
    grid-template-columns: 1fr 1fr auto auto;
    gap: 16px;
    margin-bottom: 16px;
    align-items: end;
}

.form-row-4 .form-group {
    margin-bottom: 0;
}

.form-row-4 .button-cell {
    display: flex;
    flex-direction: column;
}

.form-row-4 .button-cell label {
    visibility: hidden;
}

.form-row-4 .button-cell .btn {
    white-space: nowrap;
}

/* Im Ambulant-Modus nur Buttons zeigen */
.ambulant-mode .transport-buttons-section {
    grid-template-columns: auto auto;
    justify-content: flex-end;
}

.ambulant-mode .transport-buttons-section .standard-only-block {
    display: none;
}

.button-row {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border-light);
}

#neuerEinsatzForm .button-row {
    justify-content: flex-start;
}

/* ===== ADDRESS GRID ===== */
.address-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.address-grid .form-group {
    margin-bottom: 0;
}

.address-grid .address-street { grid-column: 1; }
.address-grid .address-nr { grid-column: 2; }
.address-grid .address-plz { grid-column: 1; }
.address-grid .address-city { grid-column: 2; }
.address-grid .address-country { grid-column: 1; }
.address-grid .address-contact { grid-column: 2; }

/* ===== LOGIN SCREEN ===== */
.screen {
    min-height: 100vh;
}

.login-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background: white;
}

.login-header {
    color: var(--text-dark);
    text-align: center;
    margin-bottom: 24px;
}

.login-header h1 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 4px;
    letter-spacing: -0.5px;
}

.login-header p {
    opacity: 0.9;
    font-size: 14px;
}

.login-form {
    text-align: center;
    border: 2px solid var(--primary);
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    background: white;
    padding: 28px;
    border-radius: var(--radius-lg);
    width: 100%;
    max-width: 360px;
}

.login-form .form-group {
    text-align: left;
    width: 100%;
}

.login-error {
    background: var(--danger-light);
    color: var(--danger);
    padding: 10px;
    border-radius: var(--radius);
    margin-top: 14px;
    font-size: 13px;
    text-align: center;
    border: 1px solid var(--danger);
}

/* ===== FUNKTIONSAUSWAHL SCREEN ===== */
.function-select-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background: white;
}

.function-select-header {
    text-align: center;
    margin-bottom: 24px;
    color: white;
}

.function-select-header h1 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 4px;
}

.function-select-header p {
    opacity: 0.9;
    font-size: 14px;
}

.function-select-header .subtitle {
    margin-top: 16px;
    font-size: 15px;
    font-weight: 500;
    opacity: 1;
}

.function-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    max-width: 900px;
    margin-bottom: 20px;
}

.function-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 14px;
    background: white;
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    /* Border wird in abschnitt.css spezifisch gesetzt */
}

.function-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.function-icon {
    font-size: 28px;
    margin-bottom: 6px;
}

.function-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.function-select-footer {
    margin-top: 12px;
}

.function-badge {
    background: white;
    color: var(--primary);
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    margin-left: 8px;
}

/* ===== EINSATZ SCREEN ===== */
.einsatz-container {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px;
}

.einsatz-header {
    background: var(--bg-card);
    padding: 16px;
    border-radius: var(--radius-lg);
    margin-bottom: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border: 1px solid var(--border-light);
    border-top: 4px solid var(--primary);
}

.einsatz-header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    gap: 10px;
    flex-wrap: wrap;
}

.einsatz-header-logos {
    display: flex;
    align-items: center;
    gap: 10px;
}

.einsatz-header-logos h1 {
    font-size: 20px;
    color: var(--primary);
    font-weight: 700;
}

.einsatz-header-actions {
    display: flex;
    gap: 8px;
}

.einsatz-user-info {
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13px;
}

.admin-badge {
    background: var(--primary);
    color: white;
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    font-size: 11px;
    font-weight: 600;
}

.einsatz-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.einsatz-tab-btn {
    padding: 8px 16px;
    border: 1px solid var(--border-color);
    background: var(--bg-card);
    border-radius: var(--radius);
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    transition: all 0.15s ease;
    color: var(--text-primary);
}

.einsatz-tab-btn:hover {
    background: var(--gray-100);
}

.einsatz-tab-btn.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

.einsatz-panel {
    background: var(--bg-card);
    padding: 20px;
    border-radius: var(--radius-lg);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border: 1px solid var(--border-light);
}

.einsatz-panel h2 {
    margin-bottom: 16px;
    color: var(--primary);
    font-size: 16px;
    font-weight: 600;
}

.einsatz-list {
    display: grid;
    gap: 10px;
}

.einsatz-card {
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    padding: 12px 12px 16px 12px;
    background: var(--gray-50);
    transition: box-shadow 0.15s ease;
    border-left: 4px solid var(--primary);
}

.einsatz-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Header-Styles sind in der Hauptdefinition weiter unten */

.einsatz-card-badge {
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
}

.badge-active {
    background: var(--success-light);
    color: var(--success-dark);
}

.badge-archived {
    background: var(--gray-200);
    color: var(--gray-600);
}

.einsatz-card-info {
    display: flex;
    gap: 12px;
    color: var(--text-secondary);
    font-size: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.einsatz-card-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.empty-state {
    text-align: center;
    padding: 32px;
    color: var(--text-muted);
    font-style: italic;
}

/* ===== BENUTZERVERWALTUNG ===== */
.user-form-section {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-light);
}

.user-form-section h3,
.user-list-section h3 {
    margin-bottom: 12px;
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
}

.user-list {
    display: grid;
    gap: 8px;
}

.user-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    flex-wrap: wrap;
    gap: 8px;
    background: var(--gray-50);
}

.user-card-info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.user-card-name {
    font-weight: 600;
}

.user-card-actions {
    display: flex;
    gap: 6px;
}

/* ===== HAUPTANWENDUNG ===== */
.app-header {
    background: white;
    color: var(--text-primary);
    padding: 10px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    border-bottom: 4px solid var(--primary);
}

.header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.app-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--primary);
}

.einsatz-name {
    padding: 4px 10px;
    border-radius: var(--radius);
    font-size: 12px;
    background: var(--primary);
    color: white;
}

.btn-theme-toggle {
    background: var(--gray-100);
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    padding: 6px 10px;
    cursor: pointer;
    font-size: 16px;
    transition: all 0.2s ease;
}

.btn-theme-toggle:hover {
    background: var(--gray-200);
}

.header-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.user-info {
    text-align: right;
    color: var(--text-primary);
}

.user-info span {
    display: block;
    font-size: 12px;
}

.user-function {
    font-size: 11px !important;
    color: var(--text-secondary);
}

/* Navigation mit farbigen Tabs */
.main-nav {
    background: #f0f0f0;
    padding: 12px 15px;
    display: flex;
    gap: 5px;
    box-shadow: var(--shadow-sm);
    border-bottom: none;
}

.nav-tab {
    padding: 12px 22px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: white;
    cursor: pointer;
    font-weight: 500;
    font-size: 1.05rem;
    white-space: nowrap;
    transition: all 0.2s ease;
    color: #555;
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-icon {
    font-size: 1.25rem;
}

.nav-tab:hover {
    background: #f8f8f8;
}

/* Aktiver Tab - rot gefüllt */
.nav-tab.active {
    color: white;
    background: var(--primary);
    border-color: var(--primary);
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(228, 0, 43, 0.3);
}

/* Dark Mode für Haupt-Tabs */
[data-theme="dark"] .main-nav {
    background: #1a1a2e;
}

[data-theme="dark"] .nav-tab {
    background: #2a2a3e;
    border-color: #444;
    color: #ccc;
}

[data-theme="dark"] .nav-tab:hover {
    background: #3a3a4e;
}

[data-theme="dark"] .nav-tab.active {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}

.main-content {
    padding: 20px 16px;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

/* ===== FORM SECTIONS ===== */
.form-section {
    background: var(--bg-card);
    padding: 20px;
    border-radius: var(--radius-lg);
    margin-bottom: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border: 1px solid var(--border-light);
}

.form-section h3 {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--primary);
}

.standard-messages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

/* ===== LOG SECTION ===== */
.log-section {
    background: var(--bg-card);
    padding: 18px;
    border-radius: var(--radius-lg);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border: 1px solid var(--border-light);
}

.log-header {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-light);
}

.log-header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 10px;
}

.log-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--primary);
}

.log-header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.log-count {
    font-size: 12px;
    color: var(--text-secondary);
}

.filter-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
}

.filter-group {
    display: flex;
    flex-direction: column;
}

.filter-group label {
    font-size: 10px;
    margin-bottom: 4px;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.filter-group select {
    padding: 6px 8px;
    font-size: 12px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    background: var(--bg-input);
}

/* Log Entries */
.log-entry {
    background: var(--bg-card);
    border-left: 3px solid var(--gray-300);
    padding: 10px 12px;
    margin-bottom: 6px;
    border-radius: 0 var(--radius) var(--radius) 0;
    border: 1px solid var(--border-light);
    border-left-width: 3px;
}

.log-entry.priority-eilig {
    border-left-color: var(--danger);
    border-left-width: 4px;
    background: var(--danger-light);
    color: var(--danger);
    font-weight: 600;
}

/* Patienten-EintrÃ¤ge - nur SK farbig (medizinisch wichtig) */
.log-entry.patient-entry { border-left-width: 4px; }
.log-entry.patient-entry.sk1 { border-left-color: #E60005; }
.log-entry.patient-entry.sk2 { border-left-color: #E6A800; }
.log-entry.patient-entry.sk3 { border-left-color: #1E8E3E; }
.log-entry.patient-entry.sk4 { border-left-color: #0052CC; }
.log-entry.patient-entry.sk5 { border-left-color: #2D2D2D; }
.log-entry.patient-entry.b { border-left-color: #8B4513; }
.log-entry.entlassen-entry { border-left-color: var(--gray-400); border-left-width: 4px; }
.log-entry.resource-entry { border-left-color: var(--gray-400); border-left-width: 4px; }
.log-entry.ambulant-entry { border-left-color: var(--gray-400); border-left-width: 4px; }

.log-meta {
    display: flex;
    gap: 10px;
    margin-bottom: 4px;
    font-size: 11px;
    color: var(--text-secondary);
    flex-wrap: wrap;
    align-items: center;
}

.log-number {
    color: var(--text-primary);
    font-weight: 700;
}

.log-time {
    font-weight: 500;
    color: var(--text-muted);
}

.log-function {
    color: var(--text-secondary);
    font-weight: 500;
}

.log-mc {
    background: var(--gray-200);
    color: var(--text-primary);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
}

/* v3.4.1: Empfänger-Badge */
.log-empfaenger {
    background: #e3f2fd;
    color: #1565c0;
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
}

[data-theme="dark"] .log-empfaenger {
    background: #1565c0;
    color: #e3f2fd;
}

.priority-badge {
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
}

.priority-eilig { background: var(--warning); color: white; }
.priority-einfach { background: var(--gray-100); color: var(--text-muted); border: 1px solid var(--gray-300); }

/* Sichtungs-Badges dezenter */
.sichtung-badge {
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
    border: 1px solid;
}

.sichtung-badge.sk1 { background: #E60005; color: white; border-color: #E60005; }
.sichtung-badge.sk2 { background: #E6A800; color: #1a1a1a; border-color: #E6A800; }
.sichtung-badge.sk3 { background: #1E8E3E; color: white; border-color: #1E8E3E; }
.sichtung-badge.sk4 { background: #0052CC; color: white; border-color: #0052CC; }
.sichtung-badge.sk5 { background: #2D2D2D; color: white; border-color: #2D2D2D; }
.sichtung-badge.b { background: #8B4513; color: white; border-color: #8B4513; }

.ambulant-badge {
    background: var(--success-light);
    color: var(--success);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
    border: 1px solid var(--success);
}

.log-message {
    font-weight: 600;
    font-size: 15px;
    color: var(--text-dark);
    padding: 8px 0 4px 0;
}

/* ===== RESSOURCEN ===== */
.resource-add-section {
    max-width: 500px;
    margin-bottom: 16px;
    padding: 14px;
    background: var(--gray-100);
    border-radius: var(--radius);
    border: 1px solid var(--border-color);
}

.resource-add-section h3 {
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

.resource-add-form {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.resource-add-form .form-group {
    flex: 1;
    min-width: 140px;
    margin-bottom: 0;
}

.resource-type-section {
    margin-bottom: 16px;
}

.resource-type-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 8px 12px;
    background: var(--gray-100);
    border-radius: var(--radius);
    margin-bottom: 8px;
    border: 3px solid;
}

.resource-type-header.ktw { border-color: var(--ktw-color); color: var(--text-primary); }
.resource-type-header.rtw { border-color: var(--rtw-color); color: var(--text-primary); }
.resource-type-header.nef { border-color: var(--nef-color); color: var(--text-primary); }
.resource-type-header.naw { border-color: var(--naw-color); color: var(--text-primary); }
.resource-type-header.sonstiges { border-color: var(--sonst-color); color: var(--text-primary); }

.resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 10px;
}

.resource-card {
    background: var(--bg-card);
    border: 3px solid var(--gray-300);
    border-radius: var(--radius);
    padding: 12px 12px 16px 12px;
}

.resource-card.ktw { border-color: var(--ktw-color) !important; }
.resource-card.rtw { border-color: var(--rtw-color) !important; }
.resource-card.nef { border-color: var(--nef-color) !important; }
.resource-card.naw { border-color: var(--naw-color) !important; }
.resource-card.sonstiges { border-color: var(--sonst-color) !important; }

.resource-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border-light);
}

.resource-name {
    font-size: 13px;
    font-weight: 600;
}

.btn-delete-resource {
    background: transparent;
    color: var(--danger);
    border: none;
    cursor: pointer;
    padding: 2px 6px;
    font-size: 14px;
    border-radius: var(--radius-sm);
}

.btn-delete-resource:hover {
    background: var(--danger);
    color: white;
}

.resource-status {
    margin-bottom: 8px;
    font-size: 10px;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.current-status {
    display: block;
    padding: 3px 8px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    margin-top: 3px;
    font-size: 10px;
}

/* Zeit in zweiter Zeile */
.status-time {
    display: block;
    font-size: 9px;
    font-weight: 500;
    margin-top: 2px;
    opacity: 0.9;
}

.status-1 { background: var(--success); color: white; }
.status-3 { background: var(--secondary-blue); color: white; }
.status-4 { background: #a855f7; color: white; }  /* Lila - Ankunft Patient */
.status-7 { background: #0891b2; color: white; }  /* Cyan - Transport */
.status-8 { background: var(--danger); color: white; }  /* Rot - Ankunft Zielort */

.status-buttons {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
}

.btn-status {
    padding: 6px 4px;
    background: white;
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    transition: all 0.15s ease;
}

.btn-status:hover { transform: translateY(-1px); }
.btn-status.status-1:hover { background: var(--success); color: white; border-color: var(--success); }
.btn-status.status-3:hover { background: var(--secondary-blue); color: white; border-color: var(--secondary-blue); }
.btn-status.status-4:hover { background: #a855f7; color: white; border-color: #a855f7; }
.btn-status.status-7:hover { background: #0891b2; color: white; border-color: #0891b2; }
.btn-status.status-8:hover { background: var(--danger); color: white; border-color: var(--danger); }

/* ===== PATIENTEN ===== */
.patient-actions-row {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.patient-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 10px;
}

.patient-list-header h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--primary);
}

.patient-count-label {
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 400;
}

/* Statistik-Leiste */
.patient-stats-bar {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.patient-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: var(--radius);
    background: var(--gray-100);
    border: 2px solid var(--gray-300);
    min-width: 65px;
}

.patient-stat .stat-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
}

.patient-stat .stat-value {
    font-size: 16px;
    font-weight: 700;
}

.patient-stat.sk1 {
    border-color: #E60005;
    background: rgba(230, 0, 5, 0.15);
}
.patient-stat.sk1 .stat-value {
    color: #E60005;
}

.patient-stat.sk2 {
    border-color: #E6A800;
    background: rgba(230, 168, 0, 0.2);
}
.patient-stat.sk2 .stat-value {
    color: #B88600;
}

.patient-stat.sk3 {
    border-color: #1E8E3E;
    background: rgba(30, 142, 62, 0.15);
}
.patient-stat.sk3 .stat-value {
    color: #1E8E3E;
}

.patient-stat.sk4 {
    border-color: #0052CC;
    background: rgba(0, 82, 204, 0.15);
}
.patient-stat.sk4 .stat-value {
    color: #0052CC;
}

.patient-stat.sk5 {
    border-color: #2D2D2D;
    background: rgba(45, 45, 45, 0.15);
}
.patient-stat.sk5 .stat-value {
    color: #2D2D2D;
}

.patient-stat.skb {
    border-color: #8B4513;
    background: rgba(139, 69, 19, 0.15);
}
.patient-stat.skb .stat-value {
    color: #8B4513;
}

.patient-stat.transport {
    border-color: var(--gray-400);
    background: var(--gray-100);
}
.patient-stat.transport .stat-value {
    color: var(--gray-600);
}

.patient-stat.ambulant {
    border-color: var(--gray-400);
    background: var(--gray-100);
}
.patient-stat.ambulant .stat-value {
    color: var(--gray-600);
}

.patient-stat.entlassen {
    border-color: var(--gray-400);
    background: var(--gray-100);
}
.patient-stat.entlassen .stat-value {
    color: var(--gray-500);
}

.patient-filter-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.patient-filter-tab {
    padding: 6px 12px;
    background: var(--gray-100);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.15s ease;
}

.patient-filter-tab:hover {
    background: white;
}

.patient-filter-tab.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

.patients-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.patients-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.patients-section-header {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
    padding: 8px 12px;
    background: var(--gray-100);
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    gap: 8px;
}

.patients-section-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 10px;
}

.patient-card {
    background: var(--gray-50);
    border: 3px solid var(--gray-300);
    border-radius: var(--radius);
    padding: 12px 12px 16px 12px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.patient-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.patient-card.sk1 { border-color: #E60005; }
.patient-card.sk2 { border-color: #E6A800; }
.patient-card.sk3 { border-color: #1E8E3E; }
.patient-card.sk4 { border-color: #0052CC; }
.patient-card.sk5 { border-color: #2D2D2D; }
.patient-card.b { border-color: #8B4513; }
.patient-card.entlassen { border-color: var(--gray-400); opacity: 0.7; }
.patient-card.ambulant { border-color: var(--success); }

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

.patient-number {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary);
}

.patient-sichtung {
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
}

.patient-sichtung.sk1 { background: #E60005; color: white; }
.patient-sichtung.sk2 { background: #E6A800; color: #1a1a1a; }
.patient-sichtung.sk3 { background: #1E8E3E; color: white; }
.patient-sichtung.sk4 { background: #0052CC; color: white; }
.patient-sichtung.sk5 { background: #2D2D2D; color: white; }
.patient-sichtung.b { background: #8B4513; color: white; }
.patient-sichtung.ambulant { background: var(--success); color: white; }

.patient-compact-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-bottom: 3px;
}

.patient-compact-label {
    color: var(--text-muted);
    font-size: 10px;
    text-transform: uppercase;
}

.patient-compact-value {
    font-weight: 500;
}

.btn-transport {
    width: 100%;
    padding: 8px;
    background: var(--tab-patienten);
    color: white;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.15s ease;
}

.btn-transport:hover {
    background: var(--danger-dark);
}

.btn-entlassen {
    width: 100%;
    padding: 6px;
    background: var(--gray-500);
    color: white;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 11px;
    margin-top: 6px;
}

.btn-entlassen:hover {
    background: var(--gray-600);
}

/* ===== PATIENTEN FORMULAR ===== */
.patient-form-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

/* Hauptbereich des Patientenformulars */
.patient-form-main {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.patient-form-main .form-section {
    margin-bottom: 16px;
}

.patient-form-main .form-section:last-child {
    margin-bottom: 0;
}

/* Sichtung & Kategorie Bereich */
.sichtung-kategorie-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.sichtung-section,
.kategorie-section {
    margin-bottom: 0;
}

.sichtung-section label,
.kategorie-section label {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-secondary);
}

/* Ambulant Sichtung Row */
.ambulant-sichtung-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

.ambulant-sichtung-row .form-group {
    margin-bottom: 0;
}

.sichtung-buttons {
    display: flex;
    gap: 8px;
}

.btn-sichtung {
    padding: 8px 4px;
    flex: 1;
    min-width: 50px;
    border: 3px solid var(--gray-300);
    border-radius: var(--radius);
    cursor: pointer;
    font-weight: 700;
    transition: all 0.15s ease;
    background: white;
    color: var(--text-primary);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.btn-sichtung .sk-label { font-size: 14px; }
.btn-sichtung .sk-name { font-size: 9px; font-weight: 600; opacity: 0.8; }
.btn-sichtung:hover { transform: translateY(-2px); }
.btn-sichtung.active { border-width: 4px; }

/* SK1 - Rot (Sofort) */
.btn-sichtung.sk1 { border-color: #E60005; background: rgba(230, 0, 5, 0.15); }
.btn-sichtung.sk1.active { background: #E60005; color: white; }

/* SK2 - Gelb (Dringend) */
.btn-sichtung.sk2 { border-color: #E6A800; background: rgba(230, 168, 0, 0.2); }
.btn-sichtung.sk2.active { background: #E6A800; color: #1a1a1a; }

/* SK3 - Grün (Normal) */
.btn-sichtung.sk3 { border-color: #1E8E3E; background: rgba(30, 142, 62, 0.15); }
.btn-sichtung.sk3.active { background: #1E8E3E; color: white; }

/* SK4 - Blau (Abwartend) - besonders */
.btn-sichtung.sk4 { border-color: #0052CC; background: rgba(0, 82, 204, 0.15); }
.btn-sichtung.sk4.active { background: #0052CC; color: white; }

/* SK5 - Schwarz (Verstorben) - besonders */
.btn-sichtung.sk5 { border-color: #2D2D2D; background: rgba(45, 45, 45, 0.15); }
.btn-sichtung.sk5.active { background: #2D2D2D; color: white; }

/* B - Braun (Betreuung) */
.btn-sichtung.skb { border-color: #8B4513; background: rgba(139, 69, 19, 0.15); }
.btn-sichtung.skb.active { background: #8B4513; color: white; }

.kategorie-buttons {
    display: flex;
    gap: 6px;
}

.btn-kategorie {
    padding: 10px 6px;
    flex: 1;
    border: 2px solid var(--gray-300);
    border-radius: var(--radius);
    cursor: pointer;
    font-weight: 600;
    transition: all 0.15s ease;
    background: white;
    color: var(--text-primary);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.btn-kategorie .kat-icon { font-size: 22px; }
.btn-kategorie .kat-label { font-size: 11px; text-transform: uppercase; }
.btn-kategorie:hover { transform: translateY(-2px); border-color: var(--primary); }
.btn-kategorie.active { border-color: var(--primary); background: var(--primary); color: white; }

.gender-buttons {
    display: flex;
    gap: 6px;
}

.btn-gender {
    flex: 1;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    background: white;
    color: var(--text-primary);
}

.btn-gender:hover { border-color: var(--primary); }
.btn-gender.active { border-color: var(--primary); background: var(--primary); color: white; }

/* Transport Section */
.transport-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.transport-section .form-group {
    margin-bottom: 0;
}

/* Compact Sections (Sidebar) */
.compact-section {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    margin-bottom: 12px;
    overflow: hidden;
}

.compact-section:last-child {
    margin-bottom: 0;
}

.compact-section-header {
    background: var(--primary-light);
    color: var(--primary);
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    border-bottom: 1px solid var(--border-color);
}

.compact-section-body {
    padding: 16px;
}

.compact-section-body .form-group {
    margin-bottom: 16px;
}

.compact-section-body .form-group:last-child {
    margin-bottom: 0;
}

.compact-section-body .form-row,
.compact-section-body .form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

.compact-section-body .form-row:last-child,
.compact-section-body .form-row-2:last-child {
    margin-bottom: 0;
}

.compact-section-body .form-row .form-group,
.compact-section-body .form-row-2 .form-group {
    margin-bottom: 0;
}

/* ABCDE Grid */
.abcde-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.abcde-item {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    overflow: hidden;
}

.abcde-letter {
    padding: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    color: white;
}

.abcde-letter.a { background: var(--sk-rot); }
.abcde-letter.b { background: #ea580c; }
.abcde-letter.c { background: var(--sk-gelb); }
.abcde-letter.d { background: var(--sk-gruen); }
.abcde-letter.e { background: var(--ktw-color); }

.abcde-label {
    padding: 4px;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--text-secondary);
    background: var(--gray-50);
    text-align: center;
    font-weight: 600;
}

.abcde-item select {
    width: 100%;
    border: none;
    padding: 8px 4px;
    font-size: 11px;
    background: white;
}

/* Vitalwerte */
.vitalwerte-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}

.vitalwert-card {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    overflow: hidden;
}

.vitalwert-header {
    background: var(--gray-100);
    padding: 8px 10px;
    font-size: 13px;
    font-weight: 600;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-primary);
}

.vitalwert-body {
    padding: 10px;
}

.vitalwerte-input {
    display: flex;
    gap: 4px;
    align-items: center;
}

.vitalwerte-input.rr-input {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto;
    gap: 3px;
}

.rr-separator {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 12px;
}

.vitalwerte-input input {
    flex: 1;
    min-width: 0;
    padding: 6px;
    font-size: 12px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    background: var(--gray-50);
}

.vital-history {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    max-height: 50px;
    overflow-y: auto;
}

.vital-entry {
    background: var(--gray-50);
    padding: 4px 6px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left: 2px solid var(--gray-400);
}

/* Verletztenstatus */
.verletztenstatus-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.btn-verletztenstatus {
    padding: 12px 4px;
    border: 2px solid var(--gray-300);
    border-radius: var(--radius);
    cursor: pointer;
    font-weight: 600;
    transition: all 0.15s ease;
    background: white;
    color: var(--text-primary);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.btn-verletztenstatus .status-icon { font-size: 16px; }
.btn-verletztenstatus .status-label { font-size: 9px; text-transform: uppercase; }
.btn-verletztenstatus:hover { transform: translateY(-2px); }
.btn-verletztenstatus.active { border-width: 3px; }
.btn-verletztenstatus.active.sauerstoff { border-color: var(--gray-400); background: var(--ktw-color); color: white; }
.btn-verletztenstatus.active.monitor { border-color: var(--secondary-blue); background: var(--secondary-blue); color: white; }
.btn-verletztenstatus.active.intubiert { border-color: var(--gray-700); background: var(--gray-700); color: white; }
.btn-verletztenstatus.active.beatmet { border-color: #ea580c; background: #ea580c; color: white; }
.btn-verletztenstatus.active.reanimiert { border-color: var(--danger); background: var(--danger); color: white; }

/* Diagnose & Allergien */
.diagnose-main-group {
    margin-bottom: 16px;
}

.diagnose-main-group textarea {
    min-height: 100px;
    width: 100%;
    box-sizing: border-box;
}

.allergien-group input {
    background: #fef3c7;
    border-color: var(--warning);
}

/* ===== MODALS ===== */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal.active {
    display: flex;
}

.modal-content {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    width: 100%;
    max-width: 460px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: var(--shadow-lg);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-light);
    background: var(--primary-light);
}

.modal-header h2 {
    font-size: 15px;
    font-weight: 600;
    color: var(--primary);
}

.modal-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--primary);
    padding: 0;
    line-height: 1;
}

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

.modal-body {
    padding: 16px;
}

.modal-warning {
    background: var(--danger-light);
    border: 1px solid var(--danger);
    color: var(--danger);
    padding: 12px;
    border-radius: var(--radius);
    margin-bottom: 14px;
    text-align: center;
}

.modal-info-text {
    text-align: center;
    margin-bottom: 12px;
    color: var(--text-secondary);
    font-size: 13px;
}

.modal-export-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin: 16px 0;
    flex-wrap: wrap;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid var(--border-light);
}

.modal-actions.center {
    justify-content: center;
    flex-wrap: wrap;
}

#editUserForm {
    padding: 16px;
}

/* ===== READONLY MODE ===== */
.readonly-mode .form-section,
.readonly-mode .resource-add-section,
.readonly-mode .patient-actions-row {
    display: none !important;
}

.readonly-mode .btn-transport,
.readonly-mode .btn-entlassen,
.readonly-mode .btn-delete-resource,
.readonly-mode .status-buttons {
    display: none !important;
}

.readonly-mode .resource-card,
.readonly-mode .patient-card {
    cursor: default;
}

.readonly-mode .patient-card:hover {
    transform: none;
}

.readonly-banner {
    background: var(--warning);
    color: white;
    text-align: center;
    padding: 10px;
    font-weight: 600;
    font-size: 13px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    /* patient-form-layout bleibt zweispaltig bis 767px - siehe unten */
    .standard-messages-grid { grid-template-columns: repeat(2, 1fr); }
    .resources-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
    .patients-section-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
    .verletztenstatus-grid { grid-template-columns: repeat(3, 1fr); }
    .abcde-grid { grid-template-columns: repeat(3, 1fr); }
    .vitalwerte-grid { grid-template-columns: repeat(2, 1fr); }
    .sichtung-kategorie-row { grid-template-columns: 1fr; gap: 16px; }
    .ambulant-sichtung-row { grid-template-columns: 1fr 1fr; }
}

/* Patientenformular: Zweispaltig bis 767px, dann einspaltig */
@media (min-width: 768px) and (max-width: 1024px) {
    .patient-form-layout { 
        grid-template-columns: 1.5fr 1fr; 
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .patient-form-layout { grid-template-columns: 1fr; }
    .patient-form-sidebar { order: -1; }
}

@media (max-width: 768px) {
    .app-header { flex-direction: column; text-align: center; }
    .header-right { flex-direction: column; width: 100%; }
    .user-info { text-align: center; }
    .main-nav { overflow-x: auto; }
    .form-row, .form-row-2, .form-row-3, .form-row-4 { grid-template-columns: 1fr; }
    .ambulant-sichtung-row { grid-template-columns: 1fr; }
    .transport-section { grid-template-columns: 1fr; }
    .standard-messages-grid { grid-template-columns: 1fr; }
    .filter-row { grid-template-columns: 1fr; }
    .resource-add-form { flex-direction: column; }
    .resources-grid { grid-template-columns: 1fr; }
    .patients-section-grid { grid-template-columns: 1fr; }
    .status-buttons { grid-template-columns: repeat(3, 1fr); }
    .patient-actions-row { flex-direction: column; }
    .sichtung-buttons { flex-direction: column; }
    .kategorie-buttons { flex-wrap: wrap; }
    .btn-kategorie { flex: 0 0 calc(33% - 4px); }
    .abcde-grid { grid-template-columns: 1fr; }
    .vitalwerte-grid { grid-template-columns: 1fr; }
    .verletztenstatus-grid { grid-template-columns: repeat(2, 1fr); }
    .modal-export-buttons { flex-direction: column; }
    .einsatz-tabs { flex-direction: column; }
    .einsatz-tab-btn { width: 100%; }
    .function-grid { grid-template-columns: 1fr; }
    .address-grid { grid-template-columns: 1fr; }
    .address-grid .address-street,
    .address-grid .address-nr,
    .address-grid .address-plz,
    .address-grid .address-city,
    .address-grid .address-country,
    .address-grid .address-contact { grid-column: 1; }
    .compact-section-body .form-row,
    .compact-section-body .form-row-2 { grid-template-columns: 1fr; }
}

/* ===== FIX: Einheitliche AbstÃ¤nde in Sidebar ===== */
.compact-section-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.compact-section-body > * {
    margin-bottom: 0 !important;
}

.compact-section-body .form-row,
.compact-section-body .form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.compact-section-body .form-row .form-group,
.compact-section-body .form-row-2 .form-group,
.compact-section-body .address-grid .form-group {
    margin-bottom: 0 !important;
}

/* ===== FIX: Sidebar Proportionen 2/3 zu 1/3 ===== */
.sidebar-left {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sidebar-left .compact-section:first-child {
    flex: 2;
}

.sidebar-left .compact-section:last-child {
    flex: 1;
}

/* ===== FIX: Adresse Box grÃ¶ÃŸer ===== */
.sidebar-left .compact-section:nth-child(1) {
    min-height: auto;
}

.sidebar-left .compact-section:nth-child(2) {
    flex-grow: 1;
}

/* ===== FIX: Layout 2/3 Hauptbereich, 1/3 Sidebar ===== */
.app-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

.sidebar-left {
    width: 100%;
    min-width: 300px;
}

/* ===== FIX: Adresse Grid 50/50 ===== */
.compact-section-body .address-grid {
    grid-template-columns: 1fr 1fr;
}

/* ===== FIX: Patientenformular Layout ===== */
.patient-form-layout {
    align-items: start;
}

.patient-form-sidebar {
    align-self: start;
}

.patient-form-main {
    margin-top: 0;
}

.patient-form-sidebar {
    margin-top: 0;
}

/* ===== MEDIKAMENTE SEKTION ===== */
.medikamente-input-row {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.medikamente-input-row input[type="text"] {
    flex: 1;
    min-width: 100px;
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    font-size: 13px;
    background: var(--bg-input);
}

.medikamente-input-row input#inputMedikament {
    flex: 2;
}

.medikamente-input-row input#inputDosis {
    flex: 1;
    max-width: 100px;
}

.medikamente-input-row select {
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    font-size: 13px;
    background: var(--bg-input);
    min-width: 70px;
}

.medikamente-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 150px;
    overflow-y: auto;
}

.medikament-entry {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: var(--gray-50);
    border-radius: var(--radius);
    border-left: 3px solid var(--gray-400);
    font-size: 12px;
    flex-wrap: wrap;
}

.medikament-entry .med-time {
    color: var(--text-muted);
    font-size: 11px;
}

.medikament-entry .med-name {
    font-weight: 600;
    color: var(--text-primary);
}

.medikament-entry .med-dosis {
    color: var(--primary);
    font-weight: 500;
}

.medikament-entry .med-app {
    background: var(--gray-200);
    color: var(--text-primary);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
}

.medikament-entry .med-von {
    color: var(--text-muted);
    font-size: 10px;
    margin-left: auto;
}

.empty-state-small {
    color: var(--text-muted);
    font-size: 12px;
    font-style: italic;
    padding: 8px;
    text-align: center;
}

/* Vitalwerte Grid fÃ¼r 5 Karten */
.vitalwerte-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
}

@media (max-width: 768px) {
    .medikamente-input-row {
        flex-direction: column;
    }
    
    .medikamente-input-row input,
    .medikamente-input-row select {
        width: 100%;
        max-width: none;
    }
    
    .medikament-entry {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .medikament-entry .med-von {
        margin-left: 0;
    }
}

/* ===== EINSATZKRÃ„FTE ÃœBERSICHT ===== */
.einsatzkraefte-overview {
    background: var(--bg-card);
    border: 2px solid var(--primary);
    border-radius: var(--radius-lg);
    padding: 16px 24px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.ek-stat {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ek-icon {
    font-size: 28px;
}

.ek-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-secondary);
}

.ek-value {
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
}

.ek-breakdown {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 14px;
    color: var(--text-secondary);
}

.ek-detail {
    background: var(--gray-100);
    padding: 6px 12px;
    border-radius: var(--radius);
}

.ek-divider {
    color: var(--gray-400);
}

/* Posten Sektion */
.posten-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

/* Posten Grid - Styles in abschnitt.css */
.posten-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4px;
}

.posten-card .posten-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--text-primary);
}

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

.posten-card .posten-count {
    font-size: 11px;
    color: var(--text-secondary);
    font-weight: 600;
}

.btn-delete-posten {
    background: transparent;
    color: var(--danger);
    border: none;
    cursor: pointer;
    padding: 2px 6px;
    font-size: 14px;
    border-radius: var(--radius-sm);
}

.btn-delete-posten:hover {
    background: var(--danger);
    color: white;
}

/* Ressourcen ZÃ¤hler-Reihe */
.ressourcen-counter-row {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
    justify-content: center;
}

.counter-box {
    background: var(--bg-card);
    border: 2px solid var(--border-color);
    border-radius: var(--radius);
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 160px;
}

.counter-icon {
    font-size: 28px;
}

.counter-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
}

.counter-controls {
    display: flex;
    align-items: center;
    gap: 12px;
}

.counter-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary);
    min-width: 40px;
    text-align: center;
}

.btn-counter-sm {
    width: 36px;
    height: 36px;
    padding: 0;
    font-size: 22px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    border: none;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-counter-sm:hover {
    background: var(--primary-dark);
    transform: scale(1.1);
}

.ressource-count {
    display: none;
}

/* Ressourcen Sektionen kompakt */
.ressourcen-section {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    padding: 12px;
    margin-bottom: 12px;
}

.ressourcen-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.ressourcen-section-header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
}

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

.resource-add-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.resource-add-row select {
    width: 100px;
}

.resource-add-row input {
    flex: 1;
    min-width: 150px;
}

.empty-state-small {
    text-align: center;
    padding: 16px;
    color: var(--text-muted);
    font-size: 13px;
}

@media (max-width: 768px) {
    .einsatzkraefte-overview {
        flex-direction: column;
        text-align: center;
    }
    
    .ek-breakdown {
        flex-direction: column;
        gap: 8px;
    }
    
    .ressourcen-counter-row {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .resource-add-row {
        flex-direction: column;
    }
    
    .resource-add-row select,
    .resource-add-row input {
        width: 100%;
    }
}

/* ===== EINSÃ„TZE TAB ===== */
.einsatz-stats-bar {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.einsatz-stat {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-radius: var(--radius);
    background: var(--bg-card);
    border: 2px solid var(--border-color);
}

.einsatz-stat.aktiv {
    border-color: var(--danger);
    background: var(--danger-light);
}

.einsatz-stat.abgeschlossen {
    border-color: var(--gray-400);
    background: var(--gray-100);
}

.einsatz-stat .stat-icon {
    font-size: 24px;
}

.einsatz-stat .stat-label {
    font-size: 14px;
    color: var(--text-secondary);
}

.einsatz-stat .stat-value {
    font-size: 28px;
    font-weight: 700;
    margin-left: auto;
}

.form-section-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
    margin: 16px 0 8px 0;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-light);
}

.form-row-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.form-row-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.einsatz-filter-row {
    display: flex;
    gap: 6px;
    margin-bottom: 10px;
}

.einsatz-filter-btn {
    padding: 6px 12px;
    border: 2px solid var(--border-color);
    border-radius: var(--radius);
    background: var(--bg-card);
    color: var(--text-primary);
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.15s ease;
}

.einsatz-filter-btn:hover {
    background: var(--gray-100);
}

.einsatz-filter-btn.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

/* Spezifische Farben fÃ¼r Aktive (DRK-Rot) */
.einsatz-filter-btn.filter-aktiv.active {
    background: var(--primary);
    border-color: var(--primary);
}

/* Spezifische Farben fÃ¼r Abgeschlossene (grÃ¼n) */
.einsatz-filter-btn.filter-abgeschlossen.active {
    background: var(--success);
    border-color: var(--success);
}

.einsaetze-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 12px;
}

.einsatz-card {
    background: var(--bg-card);
    border: 3px solid var(--gray-400);
    border-radius: var(--radius);
    padding: 12px;
    overflow: hidden; /* Verhindert Überlauf */
}

/* Notfalleinsatz = rot */
.einsatz-card.notfall {
    border-color: var(--danger);
    background: var(--danger-light);
}

/* Rettungseinsatz = blau */
.einsatz-card.rettung {
    border-color: var(--secondary-blue);
    background: var(--secondary-blue-light);
}

/* Offen (für Transporte) = orange */
.einsatz-card.offen {
    border-color: #ff9800;
    background: #fff3e0;
}

/* Aktiv (für Transporte) = standard mit rotem Rand */
.einsatz-card.aktiv {
    border-color: var(--danger);
    background: var(--danger-light);
}

/* Abgeschlossen = grün */
.einsatz-card.abgeschlossen {
    border-color: var(--success);
    opacity: 0.8;
    background: var(--success-light);
}

/* Konsistente Größe für alle Karten im Grid */
.einsaetze-list .einsatz-card {
    min-height: 100px;
    display: flex;
    flex-direction: column;
}

.einsaetze-list .einsatz-card .einsatz-card-body {
    flex: 1;
}

/* ==========================================================================
   EINSATZ-CARD HEADER - EXAKT WIE PATIENT-HEADER
   ========================================================================== */

.einsatz-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border-light);
    margin-bottom: 6px;
    overflow: hidden;
}

/* Titel-Bereich: overflow hidden für Ellipsis */
.einsatz-card-header > div:first-child {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    margin-right: 12px;
}

.einsatz-card-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

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

/* Badge: wie patient-sichtung */
.einsatz-stichwort-badge {
    flex-shrink: 0;
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
    background: var(--gray-200);
    color: var(--text-primary);
    white-space: nowrap;
}

.einsatz-stichwort-badge.notfall {
    background: #E60005;
    color: white;
}

.einsatz-stichwort-badge.rettung {
    background: #0052CC;
    color: white;
}

/* Clickable wrapper */
.einsatz-card-clickable {
    display: block;
}

.einsatz-card-body {
    margin-bottom: 8px;
}

.einsatz-card-location {
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.einsatz-card-details {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.einsatz-detail-badge {
    padding: 4px 10px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 600;
    background: var(--gray-100);
}

.einsatz-detail-badge.posten { background: var(--gray-100); color: var(--text-primary); border: 1px solid var(--gray-400); }
.einsatz-detail-badge.fahrzeug { background: var(--secondary-blue-light); color: var(--secondary-blue); border: 1px solid var(--secondary-blue); }
.einsatz-detail-badge.arzt { background: var(--warning-light); color: var(--warning); border: 1px solid var(--warning); }

.einsatz-card-actions {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    padding-top: 8px;
    border-top: 1px solid var(--border-light);
}

.einsatz-rueckmeldungen {
    background: var(--bg-card);
    border-radius: var(--radius-sm);
    padding: 8px;
    margin-bottom: 8px;
    border: 2px solid var(--danger);
}

.rueckmeldung-item {
    font-size: 12px;
    color: var(--text-primary);
    padding: 3px 0;
}

.rueckmeldung-form {
    display: flex;
    gap: 6px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--border-light);
    flex-wrap: wrap;
}

.rueckmeldung-form.hidden {
    display: none;
}

.rueckmeldung-select {
    flex: 0 0 auto;
    min-width: 150px;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    font-size: 12px;
    background: var(--bg-card);
}

.rueckmeldung-input {
    flex: 1;
    min-width: 120px;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    font-size: 12px;
}

/* ===== RESSOURCEN GRID VERBESSERUNGEN ===== */
.ressourcen-add-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.ressourcen-add-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    padding: 12px;
}

.ressourcen-add-card h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
}

.add-form-row {
    display: flex;
    gap: 6px;
    align-items: center;
}

.add-form-row select,
.add-form-row input {
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-input);
    font-size: 13px;
    color: var(--text-primary);
    min-width: 0;
}

.add-form-row select {
    flex: 0 0 auto;
    width: auto;
    max-width: 100px;
}

.add-form-row input {
    flex: 1 1 0;
}

.add-form-row .btn,
.add-form-row .btn-add-round {
    flex-shrink: 0;
}

.ressourcen-list-section {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    padding: 12px;
    margin-bottom: 12px;
}

.ressourcen-list-section h4 {
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
}

.section-header-with-hint {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.section-header-with-hint h4 {
    margin: 0;
}

.resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 10px;
}

/* Arzt-Karte */
.arzt-card {
    background: var(--bg-card);
    border: 3px solid var(--gray-400);
    border-radius: var(--radius);
    padding: 10px;
}

.arzt-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.arzt-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--text-primary);
}

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

.btn-delete-arzt {
    background: transparent;
    color: var(--danger);
    border: none;
    cursor: pointer;
    padding: 2px 6px;
    font-size: 14px;
    border-radius: var(--radius-sm);
}

.btn-delete-arzt:hover {
    background: var(--danger);
    color: white;
}

/* Nav Tab fÃ¼r EinsÃ¤tze */

/* Dark Mode fÃ¼r neue Elemente */
[data-theme="dark"] .einsatz-stat {
    background: var(--bg-card);
}

[data-theme="dark"] .einsatz-card,
[data-theme="dark"] .ressourcen-add-card,
[data-theme="dark"] .ressourcen-list-section,
[data-theme="dark"] .arzt-card {
    background: var(--bg-card);
}

[data-theme="dark"] .einsatz-filter-btn {
    background: var(--gray-100);
    color: var(--text-primary);
}

[data-theme="dark"] .einsatz-detail-badge {
    background: var(--gray-200);
}

@media (prefers-color-scheme: dark) {
    .einsatz-stat,
    .einsatz-card,
    .ressourcen-add-card,
    .ressourcen-list-section,
    .arzt-card {
        background: var(--bg-card);
    }
    
    .einsatz-filter-btn {
        background: var(--gray-100);
        color: var(--text-primary);
    }
}

@media (max-width: 768px) {
    .einsatz-stats-bar {
        flex-direction: column;
    }
    
    .form-row-2,
    .form-row-3 {
        grid-template-columns: 1fr;
    }
    
    .ressourcen-add-grid {
        grid-template-columns: 1fr;
    }
    
    .add-form-row {
        flex-wrap: wrap;
    }
    
    .add-form-row select,
    .add-form-row input {
        width: 100%;
    }
}

/* Einsatz Action Row */
.einsatz-action-row {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 16px;
}

.form-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.form-header-row h3 {
    margin: 0;
}

/* Laufende EinsÃ¤tze Patient Card */
.patient-card.laufend {
    border-color: var(--warning);
}

.patient-sichtung.laufend {
    background: var(--warning);
    color: white;
}

/* Kompakte EinsatzkrÃ¤fte-Ãœbersicht */
.einsatzkraefte-overview-compact {
    background: var(--bg-card);
    border: 2px solid var(--primary);
    border-radius: var(--radius);
    padding: 16px;
    margin-bottom: 16px;
}

.ek-main {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.ek-main .ek-icon {
    font-size: 28px;
}

.ek-main .ek-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-secondary);
}

.ek-main .ek-value {
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
}

.ek-breakdown-new {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.ek-breakdown-new .ek-detail {
    display: flex;
    align-items: center;
    gap: 4px;
}

.btn-counter-inline {
    width: 20px;
    height: 20px;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    border: none;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-counter-inline:hover {
    background: var(--primary-dark);
    transform: scale(1.1);
}

/* Inline ZÃ¤hler neben Ãœberschrift */
.inline-count {
    display: none;
}

/* Resource Card Rahmen Fix - kompletter Rahmen */
.resource-card {
    background: var(--bg-card);
    border: 3px solid var(--gray-300) !important;
    border-radius: var(--radius);
    padding: 12px;
}

/* Patient Form Actions in einer Zeile */
.patient-form-actions {
    display: flex;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border-light);
    flex-wrap: wrap;
}

.patient-form-actions .btn {
    flex: 1;
    min-width: 120px;
}

/* Multiple Select Styling */
select[multiple] {
    min-height: 70px;
    padding: 4px;
}

select[multiple] option {
    padding: 6px 8px;
    margin: 2px 0;
    border-radius: var(--radius-sm);
}

select[multiple] option:checked {
    background: var(--primary);
    color: white;
}

@media (max-width: 768px) {
    .ek-breakdown-new {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .ek-breakdown-new .ek-divider {
        display: none;
    }
}

/* Einsatz Card Erweiterungen */
.einsatz-card-melder {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.einsatz-bemerkung {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 8px;
    padding: 8px;
    background: var(--gray-50);
    border-radius: var(--radius-sm);
}

/* Anforderung Protokoll-Einträge */
.anforderung-protokoll {
    margin-top: 8px;
    padding: 8px;
    background: #f0f7ff;
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--primary);
}

.protokoll-eintrag {
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 4px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.protokoll-eintrag:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.protokoll-zeit {
    font-weight: 600;
    color: var(--primary);
    margin-right: 8px;
}

.einsatz-rueckmeldungen {
    margin-bottom: 12px;
    border-left: 3px solid var(--primary);
    padding-left: 12px;
}

.rueckmeldung-item {
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.rueckmeldung-form {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-light);
}

.rueckmeldung-form.hidden {
    display: none;
}

.rueckmeldung-input {
    flex: 1;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
}

.btn-warning {
    background: var(--warning);
    color: white;
    border: none;
}

.btn-warning:hover {
    background: #d97706;
}

/* Dark Mode fÃ¼r neue Elemente */
[data-theme="dark"] .einsatz-bemerkung {
    background: var(--gray-100);
}

[data-theme="dark"] .rueckmeldung-input {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-color);
}

@media (prefers-color-scheme: dark) {
    .einsatz-bemerkung {
        background: var(--gray-100);
    }
    
    .rueckmeldung-input {
        background: var(--bg-input);
        color: var(--text-primary);
        border-color: var(--border-color);
    }
}

/* Ärzte Karten Breite */
.arzt-card {
    min-width: 200px;
    flex: 1;
}

/* Fahrzeug-Karten - einheitlich neutral (Farbe nur bei Status) */

/* Einsatz-Karte kompakter */
.einsatz-card {
    padding: 12px;
}

/* Header-Styles sind in der Hauptdefinition bei .einsatz-card-header */

.einsatz-card-location,
.einsatz-card-melder {
    font-size: 12px;
    margin-bottom: 4px;
}

.einsatz-card-details {
    margin-bottom: 8px;
}

.einsatz-detail-badge {
    font-size: 11px;
    padding: 2px 6px;
}

.einsatz-card-actions {
    gap: 6px;
}

.einsatz-card-actions .btn {
    padding: 4px 8px;
    font-size: 12px;
}

/* Patienten-Bereich LÃ¼cke reduzieren */
.patients-grid {
    gap: 12px;
}

.patient-section {
    margin-bottom: 12px;
}

/* Log User Anzeige */
.log-user {
    font-weight: 600;
    color: var(--primary);
    background: var(--gray-100);
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    font-size: 12px;
}

/* Patienten-Bereich AbstÃ¤nde reduzieren */
#tab-patienten .patient-filter-tabs {
    margin-bottom: 12px;
}

.patient-section-header {
    margin-top: 8px;
    margin-bottom: 8px;
}

.patients-grid {
    gap: 8px !important;
    margin-top: 8px;
}

.patient-section {
    margin-bottom: 8px !important;
    padding-bottom: 8px;
}

#patientsContainer {
    padding-top: 0;
}

/* Patienten Header AbstÃ¤nde reduzieren */
#tab-patienten .section-header {
    margin-bottom: 8px !important;
}

#tab-patienten .patient-actions {
    margin-bottom: 8px !important;
    gap: 8px;
}

#tab-patienten h3 {
    margin-bottom: 8px !important;
}

.patient-filter-tabs {
    margin-top: 0 !important;
}

/* Header zu Neuer Patient Button Abstand */
#tab-patienten {
    padding-top: 8px !important;
}

#tab-patienten > .section-header:first-child,
#tab-patienten > h3:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.patient-actions {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Tab Content oben weniger Abstand */
.tab-content {
    padding-top: 8px !important;
}

#tab-patienten {
    margin-top: 0 !important;
}

.tab-content > *:first-child {
    margin-top: 0 !important;
}

/* FORCE: Tab Patienten kein Abstand oben */
#tab-patienten {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

#tab-patienten .patient-actions-row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.main-content {
    padding-top: 20px !important;
}

.tab-content.active {
    padding-top: 12px !important;
    margin-top: 0 !important;
}

/* FORCE: Patienten Tab - Abstand zum Header */
#tab-patienten,
#tab-patienten.active,
#tab-patienten.tab-content,
#tab-patienten.tab-content.active {
    padding-top: 12px !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
}

#patientActionsRow {
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

/* FIX: Hidden Form Section nimmt keinen Platz ein */
.form-section.hidden,
#patientFormContainer.hidden {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* FIX: mainApp Screen keine min-height */
#mainApp.screen {
    min-height: auto !important;
    height: auto !important;
}

#mainApp .main-content {
    padding-top: 0 !important;
}

/* FIX: Tab Content korrekt verstecken */
.tab-content {
    display: none !important;
}

.tab-content.active {
    display: block !important;
}

/* Entferne flex von tab-patienten wenn nicht aktiv */
#tab-patienten:not(.active) {
    display: none !important;
}

#tab-patienten.active {
    display: block !important;
}

/* Header Abstand zu Tab-Inhalt */
.main-content {
    padding: 16px !important;
}

.tab-content.active {
    padding-top: 12px !important;
}
/* Einsatz Detail Modal */
.modal-lg {
    max-width: 700px;
}

/* v2.6.3: Kleines Modal für Ressourcen-Bearbeitung */
.modal-small {
    max-width: 400px;
}

.einsatz-detail-view {
    padding: 0;
}

.detail-section {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border-color);
}

.detail-section h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 12px;
}

.detail-row {
    display: flex;
    margin-bottom: 8px;
}

.detail-label {
    width: 120px;
    font-weight: 500;
    color: var(--text-muted);
    flex-shrink: 0;
}

.detail-value {
    flex: 1;
    color: var(--text-dark);
}

.ressourcen-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rueckmeldungen-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rueckmeldung-detail {
    background: var(--bg-light);
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
}

.rueckmeldung-time {
    font-weight: 600;
    color: var(--primary-color);
    margin-right: 8px;
}

.rueckmeldung-user {
    color: var(--text-muted);
    margin-right: 8px;
}

.rueckmeldung-user::after {
    content: ':';
}

.rueckmeldung-text {
    color: var(--text-dark);
}

.bemerkung-text {
    background: var(--bg-light);
    padding: 12px;
    border-radius: 6px;
    margin: 0;
    white-space: pre-wrap;
}

.status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.status-badge.status-abgeschlossen {
    background: var(--success-light, #d4edda);
    color: var(--success-dark, #155724);
}

.status-badge.status-aktiv {
    background: var(--danger-light, #f8d7da);
    color: var(--danger-dark, #721c24);
}
/* Patienten-Zähler im Einsatz-Formular */
.counter-group {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bg-secondary);
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

.btn-counter {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 6px;
    background: var(--primary-color);
    color: white;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.btn-counter:hover {
    background: var(--primary-dark);
}

.btn-counter:active {
    transform: scale(0.95);
}

.counter-value {
    font-size: 24px;
    font-weight: bold;
    min-width: 40px;
    text-align: center;
    color: var(--text-primary);
}

/* Patienten-Anzeige auf Einsatzkarte */
.einsatz-patienten-section {
    margin-top: 8px;
    padding: 8px 12px;
    background: var(--bg-secondary);
    border-radius: 6px;
    border-left: 3px solid var(--primary-color);
}

.einsatz-patienten-count {
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--text-primary);
}

.einsatz-patienten-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.patient-link {
    padding: 2px 8px;
    background: var(--primary-color);
    color: white;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.2s;
}

.patient-link:hover {
    background: var(--primary-dark);
}

.einsatz-patienten-info {
    color: var(--text-secondary);
    font-style: italic;
    padding: 4px 0;
}
cat >> css/styles.css << 'EOF'

/* Patientenkontakte Zähler - DRK Blau */
.patient-stat.kontakte {
    background: linear-gradient(135deg, #004A99 0%, #003366 100%) !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    min-width: 140px !important;
}
.patient-stat.kontakte .stat-label {
    font-size: 0.85rem;
    color: white !important;
    opacity: 0.9;
}
.patient-stat.kontakte .stat-value.large {
    font-size: 2.5rem !important;
    font-weight: bold !important;
    line-height: 1.1;
    color: white !important;
}
EOF
/* Patientenkontakte Zähler - DRK Blau */
.patient-stat.kontakte {
    background: linear-gradient(135deg, #004A99 0%, #003366 100%) !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    min-width: 140px !important;
}
.patient-stat.kontakte .stat-label {
    font-size: 0.85rem !important;
    color: white !important;
}
.patient-stat.kontakte .stat-value {
    font-size: 2.5rem !important;
    font-weight: bold !important;
    color: white !important;
}

/* Patientenkontakte Zähler - DRK Blau */
.patient-stat.kontakte {
    background: linear-gradient(135deg, #004A99 0%, #003366 100%) !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    min-width: 140px !important;
}
.patient-stat.kontakte .stat-label {
    font-size: 0.85rem !important;
    color: white !important;
}
.patient-stat.kontakte .stat-value {
    font-size: 2.5rem !important;
    font-weight: bold !important;
    color: white !important;
}

/* Ambulant Zähler - Grau */
.patient-stat.ambulant {
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%) !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
}
.patient-stat.ambulant .stat-label {
    font-size: 0.85rem !important;
    color: white !important;
}
.patient-stat.ambulant .stat-value {
    font-size: 2rem !important;
    font-weight: bold !important;
    color: white !important;
}

/* Transport Zähler - Grau */
.patient-stat.transport {
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%) !important;
    color: white !important;
    border: none !important;
}
.patient-stat.transport .stat-label {
    color: white !important;
}
.patient-stat.transport .stat-value {
    color: white !important;
}

/* Patientenkarten Rahmen nach Sichtungskategorie */
.patient-card.sk1 {
    border: 3px solid #dc3545 !important;
    border-left: 6px solid #dc3545 !important;
}
.patient-card.sk2 {
    border: 3px solid #ffc107 !important;
    border-left: 6px solid #ffc107 !important;
}
.patient-card.sk3 {
    border: 3px solid #28a745 !important;
    border-left: 6px solid #28a745 !important;
}

/* Ambulantenkarten komplett grau */
.patient-card.ambulant {
    border: 3px solid #6c757d !important;
    border-left: 6px solid #6c757d !important;
    background: #f8f9fa !important;
}
.patient-card.ambulant .patient-sichtung {
    background: #6c757d !important;
    color: white !important;
}

/* Button Ambulante Versorgung grau */
.btn-ambulant,
button[data-action="showAmbulantForm"] {
    background: #6c757d !important;
    border-color: #6c757d !important;
    color: white !important;
}
.btn-ambulant:hover,
button[data-action="showAmbulantForm"]:hover {
    background: #5a6268 !important;
    border-color: #545b62 !important;
}

/* Patientenkarten Rahmen gleichmäßig nach Sichtungskategorie */
.patient-card.sk1 {
    border: 3px solid #dc3545 !important;
}
.patient-card.sk2 {
    border: 3px solid #ffc107 !important;
}
.patient-card.sk3 {
    border: 3px solid #28a745 !important;
}
.patient-card.ambulant {
    border: 3px solid #6c757d !important;
    background: #f8f9fa !important;
}

/* Filter-Tabs Farben */
.patient-filter-tab {
    background: #e9ecef !important;
    color: #495057 !important;
    border: 2px solid transparent !important;
}

[data-theme="dark"] .patient-filter-tab {
    background: #2a2a3e !important;
    color: #ccc !important;
}

[data-theme="dark"] .patient-filter-tab.filter-zulauf,
[data-theme="dark"] .patient-filter-tab.filter-aktuell,
[data-theme="dark"] .patient-filter-tab.filter-mc1,
[data-theme="dark"] .patient-filter-tab.filter-mc2,
[data-theme="dark"] .patient-filter-tab.filter-ambulant,
[data-theme="dark"] .patient-filter-tab.filter-entlassen {
    background: #2a2a3e !important;
}

.patient-filter-tab:hover {
    opacity: 0.85 !important;
}
.patient-filter-tab.active.filter-all {
    background: #E60005 !important;
    color: white !important;
}
.patient-filter-tab.filter-zulauf {
    border-color: #fd7e14 !important;
    color: #fd7e14 !important;
}
.patient-filter-tab.active.filter-zulauf {
    background: #fd7e14 !important;
    color: white !important;
}
.patient-filter-tab.filter-aktuell {
    border-color: #004A99 !important;
    color: #004A99 !important;
}
.patient-filter-tab.active.filter-aktuell {
    background: #004A99 !important;
    color: white !important;
}
.patient-filter-tab.filter-mc1 {
    border-color: #17a2b8 !important;
    color: #17a2b8 !important;
}
.patient-filter-tab.active.filter-mc1 {
    background: #17a2b8 !important;
    color: white !important;
}
.patient-filter-tab.filter-mc2 {
    border-color: #0056b3 !important;
    color: #0056b3 !important;
}
.patient-filter-tab.active.filter-mc2 {
    background: #0056b3 !important;
    color: white !important;
}
.patient-filter-tab.filter-ambulant {
    border-color: #6c757d !important;
    color: #6c757d !important;
}
.patient-filter-tab.active.filter-ambulant {
    background: #6c757d !important;
    color: white !important;
}
.patient-filter-tab.filter-entlassen {
    border-color: #28a745 !important;
    color: #28a745 !important;
}
.patient-filter-tab.active.filter-entlassen {
    background: #28a745 !important;
    color: white !important;
}

/* Einsatz Patienten-Liste */
.einsatz-patienten-header {
    width: 100%;
    font-weight: 600;
    font-size: 12px;
    color: #666;
    margin-bottom: 5px;
}

.einsatz-patient-btn {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    font-size: 11px;
    padding: 4px 8px;
    margin: 2px;
    border-radius: 4px;
}

.einsatz-patient-btn.sk1 {
    background: rgba(230, 0, 5, 0.15);
    border: 1px solid #E60005;
    color: #E60005;
}

.einsatz-patient-btn.sk2 {
    background: rgba(255, 193, 7, 0.15);
    border: 1px solid #FFC107;
    color: #856404;
}

.einsatz-patient-btn.sk3 {
    background: rgba(40, 167, 69, 0.15);
    border: 1px solid #28a745;
    color: #28a745;
}

.einsatz-patient-btn.ambulant {
    background: rgba(0, 74, 153, 0.1);
    border: 1px solid #004A99;
    color: #004A99;
}

/* Einsatz Patienten Container im Formular */
.einsatz-patienten-container {
    background: rgba(0, 74, 153, 0.05);
    border: 1px solid rgba(0, 74, 153, 0.2);
    border-radius: 8px;
    padding: 10px;
    margin-top: 10px;
}

.einsatz-patienten-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 5px;
}

/* Gesperrte Elemente */
.patient-card.locked,
.einsatz-card.locked {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.patient-card.locked::after,
.einsatz-card.locked::after {
    content: '🔒 Wird bearbeitet';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 12px;
    z-index: 10;
}

/* Lock Overlay mit Benutzername */
.lock-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 8px 12px;
    font-size: 12px;
    text-align: center;
    z-index: 10;
    line-height: 1.4;
}

.patient-card.locked::after,
.einsatz-card.locked::after {
    display: none;
}

/* Lage Art Badge */
.lage-art-badge {
    background: #004A99;
    color: white;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    margin-left: 8px;
}

/* Verbundene Benutzer */
.lage-users {
    padding: 8px 12px;
    background: rgba(0, 74, 153, 0.05);
    border-top: 1px solid rgba(0, 74, 153, 0.1);
    font-size: 12px;
}

.user-badge {
    display: inline-block;
    background: rgba(0, 74, 153, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
    margin-right: 5px;
}

/* Archiv Gruppierung */
.archiv-gruppe {
    margin-bottom: 20px;
}

.archiv-gruppe-header {
    color: #004A99;
    font-size: 14px;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 2px solid #004A99;
}

/* Theme Toggle Button - Präsenter */
.btn-theme-toggle {
    background: var(--primary) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 1.2rem !important;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.btn-theme-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
[data-theme="dark"] .btn-theme-toggle {
    background: var(--warning) !important;
}

/* ============================================================================
   RUNDE ADD-BUTTONS FÜR RESSOURCEN
   ============================================================================ */
.btn-add-round {
    width: 32px;
    height: 32px;
    min-width: 32px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--success);
    color: white;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.btn-add-round:hover {
    background: #1e7e34;
    transform: scale(1.1);
}

/* Tablet/iPad: kleinere Buttons */
@media (max-width: 1200px) {
    .btn-add-round {
        width: 24px;
        height: 24px;
        min-width: 24px;
        font-size: 14px;
    }
    
    .ressourcen-add-grid {
        gap: 8px;
    }
    
    .ressourcen-add-card {
        padding: 10px;
    }
    
    .ressourcen-add-card h4 {
        font-size: 13px;
        margin-bottom: 6px;
    }
    
    .add-form-row {
        gap: 4px;
    }
    
    .add-form-row select {
        max-width: 75px;
        font-size: 12px;
        padding: 6px 4px;
    }
    
    .add-form-row input {
        font-size: 12px;
        padding: 6px 6px;
    }
}

/* Nur auf Handy 1-spaltig */
@media (max-width: 768px) {
    .ressourcen-add-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   MELDUNGEN TAB NEUSTRUKTURIERUNG
   ============================================ */

/* Kopfzeile mit Art, Vorrang, Transport/Inbox */
.meldung-header-row {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.meldung-header-row > .form-group {
    margin-bottom: 0;
}

/* Auftrag-Dropdown eigene Zeile */
.auftrag-row {
    margin-bottom: 16px;
}

.auftrag-row .form-group {
    max-width: 400px;
}

/* Transport-Buttons inline */
.transport-buttons-inline {
    margin-bottom: 0 !important;
}

.transport-buttons-compact {
    display: flex;
    gap: 6px;
}

/* v3.5.2: Transport-Tiles (prominente Kacheln) */
.transport-tiles {
    display: flex;
    gap: 10px;
}

.transport-tile {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
    min-height: 70px;
}

.transport-tile.tile-request {
    background: linear-gradient(135deg, #E60005 0%, #ff4444 100%);
    color: white;
    box-shadow: 0 3px 10px rgba(230, 0, 5, 0.3);
}

.transport-tile.tile-request:hover {
    background: linear-gradient(135deg, #c50004 0%, #E60005 100%);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(230, 0, 5, 0.4);
}

.transport-tile.tile-inbox {
    background: linear-gradient(135deg, #004A99 0%, #0077cc 100%);
    color: white;
    box-shadow: 0 3px 10px rgba(0, 74, 153, 0.3);
}

.transport-tile.tile-inbox:hover {
    background: linear-gradient(135deg, #003d80 0%, #0066bb 100%);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 74, 153, 0.4);
}

.transport-tile .tile-icon {
    font-size: 1.4rem;
    margin-bottom: 4px;
}

.transport-tile .tile-title {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.transport-tile .tile-subtitle {
    font-size: 0.7rem;
    opacity: 0.85;
    margin-top: 2px;
}

.transport-tile .tile-badge {
    background: #fff;
    color: #E60005;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    margin-left: 4px;
}

/* Alte Button-Styles (Fallback) */
.btn-transport-sm {
    min-width: 94px;
    background: linear-gradient(135deg, #E60005 0%, #ff3333 100%);
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-transport-sm:hover {
    background: linear-gradient(135deg, #c50004 0%, #e60005 100%);
    transform: translateY(-1px);
}

.btn-inbox-sm {
    min-width: 94px;
    background: linear-gradient(135deg, #004A99 0%, #0066cc 100%);
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-inbox-sm:hover {
    background: linear-gradient(135deg, #003d80 0%, #0055aa 100%);
    transform: translateY(-1px);
}

.transport-badge-inline {
    background: #fff;
    color: #E60005;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    margin-left: 2px;
}

/* Schnellauswahl Grid - v2.6.3: nicht mehr verwendet, aber CSS bleibt für Rückwärtskompatibilität */
.schnellauswahl-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

/* v2.6.3: Vorlage-Dropdown in Header-Row */
.form-group-vorlage {
    flex: 1;
    min-width: 180px;
    max-width: 250px;
}

.form-group-vorlage select {
    width: 100%;
}

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

.schnellauswahl-box {
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: 10px;
    padding: 14px;
}

/* EPS spezifisch - dezent grau */
.schnellauswahl-box.eps-spezifisch {
    background: var(--gray-100);
    border: 1px dashed var(--gray-300);
}

.schnellauswahl-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.schnellauswahl-box.eps-spezifisch .schnellauswahl-title {
    color: var(--gray-600);
}

.schnellauswahl-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.schnellauswahl-content .form-group {
    margin-bottom: 0;
}

.schnellauswahl-content .form-group label {
    font-size: 0.7rem;
    margin-bottom: 4px;
}

.schnellauswahl-content .form-group select {
    padding: 6px 10px;
    font-size: 0.85rem;
}

/* Buttons links ausrichten */
.button-row-left {
    justify-content: flex-start;
}

/* ============================================================================
   PATIENTENPROTOKOLL BUTTON
   ============================================================================ */
.btn-protokoll {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    margin-top: 8px;
    margin-right: 5px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #004A99 0%, #003366 100%);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 74, 153, 0.3);
}

.btn-protokoll:hover {
    background: linear-gradient(135deg, #003366 0%, #002244 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 74, 153, 0.4);
}

.btn-protokoll:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0, 74, 153, 0.3);
}

.patient-card.entlassen .btn-protokoll {
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
    box-shadow: 0 2px 4px rgba(108, 117, 125, 0.3);
}

.patient-card.entlassen .btn-protokoll:hover {
    background: linear-gradient(135deg, #495057 0%, #343a40 100%);
}


/* Patient-Card: Hervorgehobene Hauptinfo */
.patient-main-info {
    background: rgba(0, 0, 0, 0.05);
    padding: 6px 8px;
    margin: -8px -10px 8px -10px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.patient-main-name {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 2px;
}
.patient-main-geb {
    font-size: 12px;
    color: #555;
}
.patient-card.locked .patient-main-info {
    opacity: 1 !important;
}
/* ============================================
   Ortsverein Badge & Filter (v2.4.2)
   ============================================ */

.ortsverein-badge {
    background: #6c757d;
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    margin-left: 8px;
}

.user-filter-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 8px;
}

.user-filter-row label {
    font-weight: 500;
    white-space: nowrap;
}

.user-filter-row select {
    flex: 1;
    max-width: 300px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.9rem;
}

.user-card-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

/* ============================================
   Passwort Reset (v2.4.3)
   ============================================ */

.forgot-password-link {
    text-align: center;
    margin-top: 15px;
}

.forgot-password-link a {
    color: #6c757d;
    font-size: 0.9rem;
    text-decoration: none;
}

.forgot-password-link a:hover {
    color: #004A99;
    text-decoration: underline;
}

.reset-message {
    margin-top: 15px;
    padding: 10px 15px;
    border-radius: 6px;
    text-align: center;
}

.reset-message.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.reset-message.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.email-badge {
    font-size: 0.9rem;
    margin-left: 5px;
    cursor: help;
}

/* STATUS 2 & 6 - Fix v2.5.1 */
.status-2 { background: #f59e0b; color: white; }
.btn-status.status-2:hover { background: #d97706; color: white; border-color: #d97706; }
.status-6 { background: #6b7280; color: white; }
.btn-status.status-6:hover { background: #4b5563; color: white; border-color: #4b5563; }
.resource-card .status-badge { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: 12px; font-weight: 600; }
.resource-card .status-badge.status-1 { background: var(--success); color: white; }
.resource-card .status-badge.status-2 { background: #f59e0b; color: white; }
.resource-card .status-badge.status-3 { background: var(--secondary-blue); color: white; }
.resource-card .status-badge.status-4 { background: #a855f7; color: white; }
.resource-card .status-badge.status-6 { background: #6b7280; color: white; }
[data-theme="dark"] .btn-status.status-2 { background: #f59e0b; border-color: #f59e0b; }
[data-theme="dark"] .btn-status.status-6 { background: #6b7280; border-color: #6b7280; }

/* ============================================
   RESSOURCEN STATUS BUTTONS - v2.5.2
   6 Buttons in einer Reihe (1,3,4,6,7,8)
   ============================================ */

.fahrzeug-status-buttons {
    display: flex;
    gap: 3px;
    margin-top: 6px;
}

.fahrzeug-status-buttons .btn-status {
    flex: 1;
    min-width: 28px;
    max-width: 36px;
    padding: 4px 2px;
    font-size: 11px;
    font-weight: 600;
    background: white;
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.fahrzeug-status-buttons .btn-status:hover {
    transform: translateY(-1px);
}

.fahrzeug-status-buttons .btn-status.active {
    color: white;
}

/* Status-Farben für aktive Buttons */
.fahrzeug-status-buttons .btn-status.active[data-status="1"] { background: var(--success); border-color: var(--success); }
.fahrzeug-status-buttons .btn-status.active[data-status="3"] { background: var(--secondary-blue); border-color: var(--secondary-blue); }
.fahrzeug-status-buttons .btn-status.active[data-status="4"] { background: #a855f7; border-color: #a855f7; }
.fahrzeug-status-buttons .btn-status.active[data-status="6"] { background: #6b7280; border-color: #6b7280; }
.fahrzeug-status-buttons .btn-status.active[data-status="7"] { background: #0891b2; border-color: #0891b2; }
.fahrzeug-status-buttons .btn-status.active[data-status="8"] { background: var(--danger); border-color: var(--danger); }

/* Hover-Farben */
.fahrzeug-status-buttons .btn-status[data-status="1"]:hover { background: var(--success); color: white; border-color: var(--success); }
.fahrzeug-status-buttons .btn-status[data-status="3"]:hover { background: var(--secondary-blue); color: white; border-color: var(--secondary-blue); }
.fahrzeug-status-buttons .btn-status[data-status="4"]:hover { background: #a855f7; color: white; border-color: #a855f7; }
.fahrzeug-status-buttons .btn-status[data-status="6"]:hover { background: #6b7280; color: white; border-color: #6b7280; }
.fahrzeug-status-buttons .btn-status[data-status="7"]:hover { background: #0891b2; color: white; border-color: #0891b2; }
.fahrzeug-status-buttons .btn-status[data-status="8"]:hover { background: var(--danger); color: white; border-color: var(--danger); }

/* Dark Mode */
[data-theme="dark"] .fahrzeug-status-buttons .btn-status {
    background: var(--gray-700);
    border-color: var(--gray-600);
    color: var(--text-primary);
}

/* Posten EK-Row Styling */
.fahrzeug-card .posten-ek-row {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #666;
    margin: 4px 0;
}

.fahrzeug-card .posten-ek-row .btn-counter {
    width: 22px;
    height: 22px;
    padding: 0;
    font-size: 14px;
    line-height: 1;
}

.fahrzeug-card .posten-ek-count {
    min-width: 20px;
    text-align: center;
    font-weight: 600;
}

/* ============================================
   EINSATZ-FORMULAR STATUS-BUTTONS - v2.5.2
   ============================================ */

.btn-mini-status {
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 600;
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
    min-width: 22px;
}

.btn-mini-status:hover {
    transform: translateY(-1px);
}

/* Status-spezifische Farben für Hover */
.btn-mini-status[data-status="3"]:hover { background: var(--secondary-blue); color: white; border-color: var(--secondary-blue); }
.btn-mini-status[data-status="4"]:hover { background: #a855f7; color: white; border-color: #a855f7; }
.btn-mini-status[data-status="7"]:hover { background: #0891b2; color: white; border-color: #0891b2; }
.btn-mini-status[data-status="8"]:hover { background: var(--danger); color: white; border-color: var(--danger); }

/* Status-spezifische Farben für Active */
.btn-mini-status.active[data-status="3"] { background: var(--secondary-blue); color: white; border-color: var(--secondary-blue); }
.btn-mini-status.active[data-status="4"] { background: #a855f7; color: white; border-color: #a855f7; }
.btn-mini-status.active[data-status="7"] { background: #0891b2; color: white; border-color: #0891b2; }
.btn-mini-status.active[data-status="8"] { background: var(--danger); color: white; border-color: var(--danger); }

/* Dark Mode */
[data-theme="dark"] .btn-mini-status {
    background: var(--gray-700);
    border-color: var(--gray-600);
    color: var(--text-primary);
}

[data-theme="dark"] .btn-mini-status:hover {
    background: var(--gray-600);
}

/* ============================================
   EINSATZ-KARTE RESSOURCEN MIT STATUS - v2.5.2
   ============================================ */

.einsatz-ressource-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    margin: 2px 4px 2px 0;
    border-radius: 6px;
    font-size: 13px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
}

.einsatz-ressource-badge.posten {
    background: #fef3c7;
    border-color: #f59e0b;
}

.einsatz-ressource-badge.fahrzeug {
    background: #dbeafe;
    border-color: #3b82f6;
}

.einsatz-ressource-badge.arzt {
    background: #d1fae5;
    border-color: #10b981;
}

.einsatz-ressource-badge .ressource-name {
    font-weight: 500;
}

.einsatz-ressource-badge .ressource-status-btns {
    display: inline-flex;
    gap: 2px;
}

/* Dark Mode für Einsatz-Ressourcen */
[data-theme="dark"] .einsatz-ressource-badge {
    background: var(--gray-700);
    border-color: var(--gray-600);
}

[data-theme="dark"] .einsatz-ressource-badge.posten {
    background: #78350f;
    border-color: #f59e0b;
}

[data-theme="dark"] .einsatz-ressource-badge.fahrzeug {
    background: #1e3a5f;
    border-color: #3b82f6;
}

[data-theme="dark"] .einsatz-ressource-badge.arzt {
    background: #064e3b;
    border-color: #10b981;
}

/* Status-Info auf Einsatz-Karte */
.einsatz-ressource-badge .ressource-status-info {
    font-size: 11px;
    color: #666;
    font-weight: 500;
    padding: 1px 4px;
    background: rgba(0,0,0,0.05);
    border-radius: 3px;
}

[data-theme="dark"] .einsatz-ressource-badge .ressource-status-info {
    color: #aaa;
    background: rgba(255,255,255,0.1);
}

/* ============================================
   KOMPAKTES MELDUNGS-FORMULAR - v3.5.2
   ============================================ */

/* Zeile 1: Meldungs-Formular */
.meldung-compact-row {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 10px 0;
    flex-wrap: wrap;
}

.compact-select {
    padding: 8px 10px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    font-size: 0.85rem;
    background: #f0f7ff;
    min-width: 100px;
}

.compact-select-sm {
    min-width: 80px;
}

.compact-input {
    flex: 1;
    min-width: 200px;
    padding: 8px 12px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    font-size: 0.9rem;
}

.btn-compact {
    padding: 8px 16px !important;
    font-size: 1rem;
}

/* Zeile 2: Toolbar mit Anforderungen + Filter */
.meldung-toolbar-row {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 8px 0;
    border-top: 1px solid var(--border-color, #eee);
    flex-wrap: wrap;
}

.toolbar-left {
    display: flex;
    gap: 8px;
}

.btn-tile-compact {
    padding: 8px 14px;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
    color: white;
}

.btn-tile-compact.tile-request {
    background: linear-gradient(135deg, #E60005 0%, #ff3333 100%);
}

.btn-tile-compact.tile-request:hover {
    background: linear-gradient(135deg, #c50004 0%, #E60005 100%);
    transform: translateY(-1px);
}

.btn-tile-compact.tile-inbox {
    background: linear-gradient(135deg, #004A99 0%, #0066cc 100%);
}

.btn-tile-compact.tile-inbox:hover {
    background: linear-gradient(135deg, #003d80 0%, #0055aa 100%);
    transform: translateY(-1px);
}

.badge-compact {
    background: white;
    color: #E60005;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 8px;
    margin-left: 4px;
}

.toolbar-filters {
    display: flex;
    gap: 6px;
    align-items: center;
    flex: 1;
}

.toolbar-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary, #666);
    margin-right: 4px;
}

.filter-compact {
    padding: 6px 8px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 4px;
    font-size: 0.8rem;
    background: #f0f7ff;
    min-width: 90px;
}

.btn-reset-compact {
    padding: 6px 10px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 4px;
    background: white;
    cursor: pointer;
    font-size: 0.85rem;
}

.btn-reset-compact:hover {
    background: #f5f5f5;
}

.toolbar-right {
    display: flex;
    gap: 8px;
    align-items: center;
}

.entry-count-compact {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    white-space: nowrap;
}

/* Auftrag-Zeile */
.auftrag-row {
    padding: 8px 0;
}

/* Dark Mode */
[data-theme="dark"] .compact-select,
[data-theme="dark"] .compact-input,
[data-theme="dark"] .filter-compact,
[data-theme="dark"] .btn-reset-compact {
    background: var(--gray-700);
    border-color: var(--gray-600);
    color: var(--text-primary);
}

/* Responsive */
@media (max-width: 1200px) {
    .meldung-toolbar-row {
        flex-wrap: wrap;
    }
    .toolbar-filters {
        order: 3;
        width: 100%;
        margin-top: 8px;
    }
}

/* ============================================
   RESSOURCEN TYPE-LABELS - v3.5.2
   ============================================ */

.resource-type-label {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-right: 8px;
}

.resource-header {
    display: flex;
    align-items: center;
    gap: 6px;
}

.resource-header .resource-name {
    flex: 1;
}

.resource-status-text {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-bottom: 8px;
}

.btn-icon-action {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.btn-icon-action:hover {
    opacity: 1;
}

/* ============================================
   v3.5.2: LAGEKARTE SIDEBAR TOGGLE
   ============================================ */

.sidebar-toggle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 48px;
    background: var(--primary, #E60005);
    color: white;
    border: none;
    cursor: pointer;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    transition: background 0.2s;
}

.sidebar-toggle:hover {
    background: var(--primary-dark, #c50004);
}

.sidebar-toggle-left {
    right: -12px;
    border-radius: 0 4px 4px 0;
}

.sidebar-toggle-right {
    left: -12px;
    border-radius: 4px 0 0 4px;
}

.sidebar-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 12px;
    padding: 12px;
}

.lagekarte-sidebar-left.collapsed,
.lagekarte-sidebar-right.collapsed {
    width: 40px !important;
    min-width: 40px !important;
    overflow: hidden;
}

.lagekarte-sidebar-left.collapsed .sidebar-content,
.lagekarte-sidebar-right.collapsed .sidebar-content {
    display: none;
}

.lagekarte-sidebar-left.collapsed .sidebar-toggle,
.lagekarte-sidebar-right.collapsed .sidebar-toggle {
    position: relative;
    left: 0;
    right: 0;
}

/* Drag & Drop Styling */
.draggable-ressource {
    cursor: grab;
    transition: opacity 0.2s, transform 0.2s;
}

.draggable-ressource:hover {
    background: rgba(0, 0, 0, 0.05);
}

.draggable-ressource:active {
    cursor: grabbing;
}

#lagekarte-map.drop-target {
    outline: 3px dashed var(--primary, #E60005);
    outline-offset: -3px;
}

.fahrzeug-type-mini {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Dark Mode */
[data-theme="dark"] .sidebar-toggle {
    background: var(--gray-600);
}

[data-theme="dark"] .sidebar-toggle:hover {
    background: var(--gray-500);
}

/* Chat Button Styles */
.btn-chat {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: white !important;
}
.btn-chat:hover {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
}
.chat-ressource-btn {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #f8f9fa;
    cursor: pointer;
    transition: all 0.2s;
}
.chat-ressource-btn:hover {
    background: #e9ecef;
    border-color: #0d6efd;
}
.chat-ressource-btn.selected {
    background: #0d6efd;
    color: white;
    border-color: #0d6efd;
}


/* Einsatz-Karte - kein min-width, soll ins Grid passen */
.einsatz-protokoll {
    margin: 10px 0;
    padding: 8px;
    background: #f8f9fa;
    border-radius: 4px;
    border-left: 3px solid #6c757d;
}
.protokoll-header {
    font-weight: 600;
    font-size: 0.85rem;
    color: #495057;
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid #dee2e6;
}
.protokoll-item {
    font-size: 0.8rem;
    padding: 3px 0;
    color: #333;
}
.protokoll-item.chat {
    color: #0d6efd;
}

/* Einsatz 2-Spalten Kommunikation */
.einsatz-kommunikation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 10px 0;
    padding: 10px;
    background: #f5f5f5;
    border-radius: 6px;
}
.einsatz-protokoll, .einsatz-chat {
    background: white;
    border-radius: 4px;
    padding: 8px;
    min-height: 80px;
    max-height: 200px;
    overflow-y: auto;
}
.einsatz-protokoll {
    border-left: 3px solid #6c757d;
}
.einsatz-chat {
    border-left: 3px solid #0d6efd;
}
.spalte-header {
    font-weight: 600;
    font-size: 0.8rem;
    color: #495057;
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #eee;
}
.protokoll-item {
    font-size: 0.8rem;
    padding: 4px 0;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
}
.protokoll-item:last-child {
    border-bottom: none;
}
.empty-hint {
    font-size: 0.75rem;
    color: #999;
    font-style: italic;
}

/* Chat Bubbles in Einsatz-Karte */
.chat-messages {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.chat-bubble-out, .chat-bubble-in {
    max-width: 90%;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 0.8rem;
}
.chat-bubble-out {
    align-self: flex-end;
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    border-bottom-right-radius: 2px;
}
.chat-bubble-in {
    align-self: flex-start;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border-bottom-left-radius: 2px;
}
.chat-bubble-out .chat-sender, .chat-bubble-in .chat-sender {
    font-weight: 600;
    font-size: 0.7rem;
    color: #1565c0;
    margin-bottom: 2px;
}
.chat-bubble-in .chat-sender {
    color: #2e7d32;
}
.chat-bubble-out .chat-text, .chat-bubble-in .chat-text {
    color: #333;
}
.chat-bubble-out .chat-time, .chat-bubble-in .chat-time {
    font-size: 0.65rem;
    color: #888;
    text-align: right;
    margin-top: 2px;
}

/* Responsive: 1 Spalte auf kleinen Screens */
@media (max-width: 600px) {
    .einsatz-kommunikation {
        grid-template-columns: 1fr;
    }
}

/* v3.6.3: Einsatz 2-Spalten Kommunikation */
.einsatz-komm {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 8px 0;
    padding: 8px;
    background: #f8f9fa;
    border-radius: 4px;
}
.komm-spalte {
    background: white;
    border-radius: 4px;
    padding: 6px 8px;
    font-size: 0.8rem;
    max-height: 150px;
    overflow-y: auto;
}
.protokoll-spalte { border-left: 3px solid #6c757d; }
.chat-spalte { border-left: 3px solid #0d6efd; }
.komm-titel {
    font-weight: 600;
    font-size: 0.75rem;
    color: #666;
    margin-bottom: 4px;
    border-bottom: 1px solid #eee;
    padding-bottom: 2px;
}
.komm-leer { color: #999; font-style: italic; font-size: 0.75rem; }
.protokoll-eintrag { padding: 2px 0; border-bottom: 1px solid #f0f0f0; }
.protokoll-eintrag:last-child { border-bottom: none; }
.chat-msg { padding: 3px 0; }
.chat-out { color: #0d6efd; }
.chat-in { color: #28a745; }
.chat-label { font-weight: 500; }
.chat-zeit { color: #999; font-size: 0.7rem; }
@media (max-width: 500px) {
    .einsatz-komm { grid-template-columns: 1fr; }
}

/* v3.6.3: Mobile Message Popup */
.mobile-msg-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}
.mobile-msg-popup {
    background: white;
    border-radius: 8px;
    padding: 20px;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    animation: popupIn 0.2s ease-out;
}
@keyframes popupIn {
    from { transform: scale(0.8); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.mobile-msg-popup-header {
    font-weight: 600;
    font-size: 1.1rem;
    color: #0d6efd;
    margin-bottom: 5px;
}
.mobile-msg-popup-time {
    font-size: 0.8rem;
    color: #666;
    margin-bottom: 10px;
}
.mobile-msg-popup-text {
    font-size: 1rem;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
    margin-bottom: 15px;
    white-space: pre-wrap;
}
.mobile-msg-popup-btn {
    width: 100%;
}

/* v3.6.3: EL Chat Modal (Mobile-Style) */
.el-chat-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}
.el-chat-modal {
    background: #f5f5f5;
    border-radius: 12px;
    width: 90%;
    max-width: 420px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    overflow: hidden;
}
.el-chat-header {
    background: linear-gradient(135deg, #E60005 0%, #B80004 100%);
    color: white;
    padding: 12px 15px;
    font-weight: 600;
    font-size: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.el-chat-close {
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    line-height: 1;
}
.el-chat-history {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 150px;
    max-height: 300px;
    background: white;
}
.el-chat-empty {
    padding: 40px 20px;
    text-align: center;
    color: #999;
    font-style: italic;
    background: white;
}
.el-chat-bubble {
    max-width: 85%;
    padding: 8px 12px;
    border-radius: 12px;
}
.el-chat-out {
    align-self: flex-end;
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    border-bottom-right-radius: 4px;
}
.el-chat-in {
    align-self: flex-start;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border-bottom-left-radius: 4px;
}
.el-chat-sender {
    font-weight: 600;
    font-size: 0.7rem;
    margin-bottom: 2px;
}
.el-chat-out .el-chat-sender { color: #1565c0; }
.el-chat-in .el-chat-sender { color: #2e7d32; }
.el-chat-text {
    font-size: 0.9rem;
    color: #333;
    word-break: break-word;
}
.el-chat-time {
    font-size: 0.65rem;
    color: #888;
    text-align: right;
    margin-top: 3px;
}
.el-chat-input-area {
    background: white;
    border-top: 1px solid #eee;
    padding: 10px;
}
.el-chat-recipients {
    margin-bottom: 10px;
}
.el-chat-label {
    font-size: 0.75rem;
    color: #666;
    margin-bottom: 5px;
}
.el-chat-res-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.el-chat-res-btn {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: #f8f9fa;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.15s;
}
.el-chat-res-btn:hover {
    border-color: #0d6efd;
}
.el-chat-res-btn.selected {
    background: #0d6efd;
    color: white;
    border-color: #0d6efd;
}
.el-chat-compose {
    display: flex;
    gap: 8px;
    align-items: flex-end;
}
.el-chat-compose textarea {
    flex: 1;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.9rem;
    resize: none;
    font-family: inherit;
}
.el-chat-compose textarea:focus {
    outline: none;
    border-color: #0d6efd;
}
.el-chat-send {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, #E60005 0%, #B80004 100%);
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.el-chat-send:disabled {
    background: #ccc;
    cursor: not-allowed;
}
.el-chat-send:not(:disabled):hover {
    transform: scale(1.05);
}
/* ============================================================================
   SK BADGES (Sichtungskategorien) - v3.10.x
   ============================================================================ */

/* Basis SK Badge Styling */
.sk {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.85rem;
    text-align: center;
    min-width: 40px;
}

.sk.sk-1, .sk-1 {
    background: #e53935;
    color: white;
}

.sk.sk-2, .sk-2 {
    background: #ffb300;
    color: #1a1a2e;
}

.sk.sk-3, .sk-3 {
    background: #43a047;
    color: white;
}

/* Anforderung Protokoll-Einträge - v3.10.x */
/* Diese Regeln am Ende von styles.css einfügen */

.anforderung-protokoll {
    margin-top: 8px;
    padding: 8px;
    background: #f0f7ff;
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--primary);
}

.protokoll-eintrag {
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 4px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.protokoll-eintrag:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.protokoll-zeit {
    font-weight: 600;
    color: var(--primary);
    margin-right: 8px;
}

/* ============================================================================
   KLINIK-MANAGER STYLES - v3.10.x
   ============================================================================ */

.klinik-manager-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    margin-bottom: 15px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #dee2e6;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.klinik-manager-item .klinik-info {
    flex: 0 0 180px;
}

.klinik-manager-item .klinik-name {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1a1a2e;
    display: block;
    margin-bottom: 4px;
}

.klinik-manager-item .klinik-meta {
    font-size: 0.9rem;
    color: #666;
}

.klinik-manager-item .klinik-caps {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.klinik-abteilung {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 8px;
}

.abteilung-label {
    font-weight: 600;
    font-size: 0.9rem;
    min-width: 80px;
    color: #495057;
}

.klinik-abteilung .sk {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.95rem;
}

.klinik-abteilung .sk-1 {
    background: #e53935;
    color: white;
}

.klinik-abteilung .sk-2 {
    background: #ffb300;
    color: #1a1a2e;
}

.klinik-abteilung .sk-3 {
    background: #43a047;
    color: white;
}

.klinik-manager-item .klinik-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.klinik-manager-item .klinik-actions .btn {
    padding: 8px 12px;
    font-size: 1.1rem;
}

/* Klinik-Edit-Form (ersetzt inline style) */
.klinik-edit-form {
    margin-top: 25px;
    padding: 25px;
    background: var(--bg-input, #f8f9fa);
    border-radius: 12px;
    border: 1px solid var(--border-color, #dee2e6);
}

/* ============================================================================
   KLINIK-ÜBERSICHT TABELLE - v3.10.x
   ============================================================================ */

.klinik-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
    background: var(--bg-card, #fff);
}

.klinik-table th,
.klinik-table td {
    padding: 10px 12px;
    text-align: center;
    border-bottom: 1px solid var(--border-color, #dee2e6);
    color: var(--text-primary, inherit);
}

.klinik-table td {
    background: var(--bg-card, #fff);
}

.klinik-table th {
    background: var(--bg-input, #f8f9fa);
    color: var(--text-primary, inherit);
    font-weight: 600;
    font-size: 0.85rem;
}

.klinik-table .klinik-name-cell {
    text-align: left;
    vertical-align: middle;
    background: var(--bg-card, #fff);
    border-right: 2px solid var(--border-color, #dee2e6);
}

.klinik-table .klinik-name-cell strong {
    font-size: 1.05rem;
    color: var(--text-primary, inherit);
}

.klinik-table .klinik-name-cell small {
    color: var(--text-secondary, #666);
    font-size: 0.85rem;
}

.klinik-table .abteilung-cell {
    text-align: left;
    font-weight: 500;
    font-size: 0.9rem;
    white-space: nowrap;
}

.klinik-table .klinik-row-chir td {
    border-bottom: 1px dashed var(--border-color, #e0e0e0);
}

.klinik-table .klinik-row-innere td {
    border-bottom: 2px solid var(--border-color, #dee2e6);
}

.klinik-table .capacity-full {
    background: #ffebee;
    color: #c62828;
    font-weight: 700;
}

.klinik-table .capacity-bar {
    width: 100%;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.klinik-table .capacity-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.klinik-table .capacity-fill.high {
    background: #43a047;
}

.klinik-table .capacity-fill.medium {
    background: #ffb300;
}

.klinik-table .capacity-fill.low {
    background: #e53935;
}

/* ============================================================================
   KLINIK-CARDS (DISPOSITION) - v3.10.x
   ============================================================================ */

#dispoKlinikListe {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 15px;
    max-height: 350px;
    overflow-y: auto;
    padding: 10px 5px;
}

.klinik-card {
    background: var(--bg-card, #fff);
    border: 2px solid var(--border-color, #dee2e6);
    border-radius: 12px;
    padding: 15px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.klinik-card:hover:not(.disabled) {
    border-color: var(--primary);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.klinik-card.selected {
    border-color: var(--primary);
    background: #e3f2fd;
    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.3);
}

.klinik-card.warning {
    border-color: #ffb300;
    background: #fffde7;
}

.klinik-card.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #f5f5f5;
}

.klinik-card .klinik-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.klinik-card .klinik-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a1a2e;
}

.klinik-card .klinik-distance {
    font-size: 0.85rem;
    color: #666;
}

.klinik-card .klinik-warning {
    font-size: 0.8rem;
    color: #c62828;
    background: #ffebee;
    padding: 2px 8px;
    border-radius: 4px;
}

.klinik-card .klinik-capacities {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.klinik-card .klinik-abt-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: #f8f9fa;
    border-radius: 6px;
}

.klinik-card .klinik-abt-row.selectable {
    cursor: pointer;
    transition: all 0.15s ease;
    border: 2px solid transparent;
}

.klinik-card .klinik-abt-row.selectable:hover {
    background: #e3f2fd;
    border-color: #90caf9;
}

.klinik-card .klinik-abt-row.selectable.selected {
    background: #bbdefb;
    border-color: #2196f3;
    box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.3);
}

.klinik-card .klinik-abt-row.warning {
    background: #fff8e1;
}

.klinik-card .klinik-abt-row.warning.selected {
    background: #ffecb3;
    border-color: #ffb300;
}

.klinik-card .abt-warning {
    margin-left: auto;
    font-size: 0.9rem;
}

/* ============================================================================
   TRANSPORT-CARDS - v3.10.x
   ============================================================================ */

.transport-card {
    background: #fff;
    border: 2px solid #dee2e6;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.transport-card.transport-offen {
    border: 2px solid #ff9800;
    background: #fff8e1;
}

.transport-card.transport-aktiv {
    border: 2px solid #43a047;
    background: #e8f5e9;
}

.transport-card.transport-done {
    border: 2px solid #9e9e9e;
    background: #fafafa;
    opacity: 0.8;
}

.transport-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.transport-card-title {
    font-weight: 700;
    font-size: 1.1rem;
    color: #1a1a2e;
}

.transport-card-time {
    font-size: 0.85rem;
    color: #666;
}

.transport-sk-badge {
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.85rem;
}

.transport-card-body {
    margin-bottom: 12px;
}

.transport-card-location {
    font-size: 0.95rem;
    color: #495057;
    margin-bottom: 10px;
}

.transport-ressource-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    flex-wrap: wrap;
}

.transport-ressource-badge .ressource-name {
    font-weight: 600;
    color: #1a1a2e;
}

.transport-ressource-badge .ressource-status-info {
    font-size: 0.85rem;
    color: #666;
}

.transport-ressource-badge .ressource-status-btns {
    display: flex;
    gap: 4px;
}

.btn-fms {
    width: 28px;
    height: 28px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.btn-fms:hover {
    background: #e3f2fd;
    border-color: #2196f3;
}

.btn-fms.active {
    background: #2196f3;
    color: white;
    border-color: #2196f3;
}

.transport-card-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 10px;
    border-top: 1px solid #eee;
}

/* ============================================================================
   KLINIK-ÜBERSICHT BEREICH - v3.10.x
   ============================================================================ */

#klinikUebersichtBereich {
    margin-bottom: 20px;
    padding: 15px;
    background: #fafafa;
    border-radius: 12px;
    border: 1px solid #dee2e6;
}

[data-theme="dark"] #klinikUebersichtBereich {
    background: #1e1e2e;
    border-color: #333;
}

[data-theme="dark"] #klinikUebersichtBereich h3 {
    color: #fff;
}

.klinik-uebersicht-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.klinik-uebersicht-header h3 {
    margin: 0;
    font-size: 1.1rem;
}

#klinikUebersichtBereich h3 {
    margin: 0 0 15px 0;
    font-size: 1.1rem;
}

.klinik-toolbar {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #dee2e6;
}

/* Transport Stats Bar */
.einsatz-stats-bar {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.klinik-card .abt-label {
    font-weight: 600;
    font-size: 0.85rem;
    min-width: 70px;
    color: #495057;
}

.klinik-card .klinik-cap-item {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 4px 8px;
    border-radius: 4px;
    background: #fff;
    border: 1px solid #e0e0e0;
}

[data-theme="dark"] .klinik-card .klinik-cap-item {
    background: #2a2a3e;
    border-color: #444;
    color: #ccc;
}

[data-theme="dark"] .klinik-card .abt-label {
    color: #ccc;
}

.klinik-card .klinik-cap-item.highlight {
    background: #e3f2fd;
    border-color: #2196f3;
}

.klinik-card .klinik-cap-item.full {
    background: #ffebee;
    color: #c62828;
    border-color: #ef9a9a;
}

.klinik-card .sk-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.8rem;
    color: white;
}

.klinik-card .sk-badge.sk-1 {
    background: #e53935;
}

.klinik-card .sk-badge.sk-2 {
    background: #ffb300;
    color: #1a1a2e;
}

.klinik-card .sk-badge.sk-3 {
    background: #43a047;
}


/* ============================================================================
   RESSOURCEN-ADD-TOOLBAR (v3.11.0)
   ============================================================================ */

.ressourcen-add-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 6px 10px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 10px;
}

[data-theme="dark"] .ressourcen-add-toolbar {
    background: #2d2d2d;
}

.ressourcen-add-toolbar .btn-qr {
    background: linear-gradient(135deg, #E60005 0%, #b30004 100%);
    color: white;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
}

.ressourcen-add-toolbar .toolbar-divider {
    color: #ddd;
}

[data-theme="dark"] .ressourcen-add-toolbar .toolbar-divider {
    color: #555;
}

.ressourcen-add-toolbar .toolbar-group {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.ressourcen-add-toolbar .toolbar-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #555;
}

[data-theme="dark"] .ressourcen-add-toolbar .toolbar-label {
    color: #ccc;
}

.ressourcen-add-toolbar .toolbar-select {
    padding: 3px 4px;
    border-radius: 4px;
    border: 1px solid #ddd;
    font-size: 0.75rem;
    max-width: 80px;
    background: white;
}

[data-theme="dark"] .ressourcen-add-toolbar .toolbar-select {
    background: #3d3d3d;
    border-color: #555;
    color: #eee;
}

.ressourcen-add-toolbar .toolbar-input {
    padding: 3px 4px;
    border-radius: 4px;
    border: 1px solid #ddd;
    width: 60px;
    font-size: 0.75rem;
    background: white;
}

[data-theme="dark"] .ressourcen-add-toolbar .toolbar-input {
    background: #3d3d3d;
    border-color: #555;
    color: #eee;
}

.ressourcen-add-toolbar .btn-add-round {
    width: 24px;
    height: 24px;
    min-width: 24px;
    font-size: 0.9rem;
}

/* ============================================================================
   v3.13.0: DARK MODE FIXES - ALLE BUTTONS
   ============================================================================ */

/* Alle Buttons mit weißem Hintergrund */
[data-theme="dark"] .btn-status {
    background: var(--gray-100);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .btn-status:hover {
    background: var(--gray-200);
}

[data-theme="dark"] .patient-filter-tab {
    background: var(--gray-100);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .patient-filter-tab:hover {
    background: var(--gray-200);
}

[data-theme="dark"] .patient-filter-tab.active {
    background: var(--primary);
    color: white;
}

/* Lage-Cards und Function-Cards */
[data-theme="dark"] .einsatz-card,
[data-theme="dark"] .lage-card,
[data-theme="dark"] .function-card {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .function-card:hover {
    background: var(--gray-100);
}

/* Outline und SM Buttons */
[data-theme="dark"] .btn-outline,
[data-theme="dark"] .btn-sm:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.btn-success) {
    background: var(--gray-100);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .btn-outline:hover,
[data-theme="dark"] .btn-sm:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.btn-success):hover {
    background: var(--gray-200);
}

/* Tab Buttons */
[data-theme="dark"] .tab-btn,
[data-theme="dark"] .nav-tab:not(.active) {
    background: var(--gray-100);
    color: var(--text-primary);
}

[data-theme="dark"] .tab-btn:hover,
[data-theme="dark"] .nav-tab:not(.active):hover {
    background: var(--gray-200);
}

/* MC und Klinik Cards */
[data-theme="dark"] .mc-card,
[data-theme="dark"] .klinik-card,
[data-theme="dark"] .transport-form-card,
[data-theme="dark"] .abschnitt-card {
    background: var(--bg-card);
    color: var(--text-primary);
}

/* Inputs in Dark Mode */
[data-theme="dark"] .form-control,
[data-theme="dark"] .patient-filter-input {
    background: var(--gray-100);
    color: var(--text-primary);
    border-color: var(--border-color);
}

/* Compact Buttons */
[data-theme="dark"] .btn-compact,
[data-theme="dark"] .btn-tile-compact {
    background: var(--gray-100);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .btn-compact:hover,
[data-theme="dark"] .btn-tile-compact:hover {
    background: var(--gray-200);
}

/* Filter Buttons */
[data-theme="dark"] .einsatz-filter-btn:not(.active) {
    background: var(--gray-100);
    color: var(--text-primary);
}

/* Klinik Dashboard Widget */
.klinik-dashboard-widget {
    margin-top: 16px;
}

.klinik-dashboard-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.klinik-dashboard-table th,
.klinik-dashboard-table td {
    padding: 8px 12px;
    text-align: center;
    border-bottom: 1px solid var(--border-color);
}

.klinik-dashboard-table th {
    background: var(--gray-50);
    font-weight: 600;
    font-size: 0.8rem;
}

.klinik-dashboard-table th.sk1 { color: #E60005; }
.klinik-dashboard-table th.sk2 { color: #FFA500; }
.klinik-dashboard-table th.sk3 { color: #1E8E3E; }

.klinik-dashboard-table .klinik-name {
    text-align: left;
    font-weight: 500;
}

.klinik-dashboard-table .sk-cell {
    font-weight: 600;
}

.klinik-dashboard-table .sk-cell.full {
    color: #E60005;
    background: rgba(230, 0, 5, 0.1);
}

.klinik-dashboard-table .sk-cell.low {
    color: #FFA500;
    background: rgba(255, 165, 0, 0.1);
}

[data-theme="dark"] .klinik-dashboard-table th {
    background: var(--gray-100);
}

[data-theme="dark"] .klinik-dashboard-table .sk-cell.full {
    background: rgba(230, 0, 5, 0.2);
}

[data-theme="dark"] .klinik-dashboard-table .sk-cell.low {
    background: rgba(255, 165, 0, 0.2);
}

/* ============================================================================
   v3.13.0: ABSCHLUSSBERICHT MODAL
   ============================================================================ */

.report-modal {
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
}

.report-content {
    padding: 20px;
}

.report-content h1 {
    color: var(--primary);
    margin-bottom: 10px;
}

.report-content h2 {
    border-bottom: 2px solid var(--primary);
    padding-bottom: 5px;
    margin-top: 20px;
    font-size: 1.1rem;
}

.report-meta {
    background: var(--gray-50);
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.report-grid {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.report-stat {
    flex: 1;
    min-width: 70px;
    text-align: center;
    padding: 10px;
    background: var(--gray-50);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

.report-stat .val {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
}

.report-stat .lbl {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.report-stat.sk1 { border-color: #E60005; background: rgba(230,0,5,0.1); }
.report-stat.sk2 { border-color: #FFA500; background: rgba(255,165,0,0.1); }
.report-stat.sk3 { border-color: #1E8E3E; background: rgba(30,142,62,0.1); }
.report-stat.highlight { border-color: var(--primary); }

.report-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
}

.report-table th, .report-table td {
    border: 1px solid var(--border-color);
    padding: 8px;
    text-align: left;
}

.report-table th {
    background: var(--gray-50);
}

.report-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border-color);
}

[data-theme="dark"] .report-meta,
[data-theme="dark"] .report-stat,
[data-theme="dark"] .report-table th {
    background: var(--gray-100);
}

/* ============================================================================
   v3.13.0 FIX: RESOURCE CARDS - KEIN UMBRUCH
   ============================================================================ */

/* Überschreibe ALLE vorherigen Definitionen */
.resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
    gap: 10px;
}

.resource-header {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}

.resource-name {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.resource-card {
    min-width: 0;
}

/* Media Query Override */
@media (max-width: 1024px) {
    .resources-grid {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .resources-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    }
}

@media (max-width: 500px) {
    .resources-grid {
        grid-template-columns: 1fr !important;
    }
}

/* RICHTIGER FIX - fahrzeuge-grid */
.fahrzeuge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
    gap: 16px !important;
}

.fahrzeug-card {
    min-width: 0 !important;
}
