/**
 * EINZIGE zentrale Farbquelle für die ASI-Tool-Weboberfläche (Admin-Portal).
 * Änderungen hier wirken global (Header, Sidebar, Buttons, Tabellen, Dashboard, Status).
 * Basis: app.asi-manager.de – mit Admin-Kompatibilitäts-Aliasen.
 */

:root {
    --color-primary: var(--brand-red, #E21B2D);
    --color-primary-hover: var(--brand-red-dark, #B91524);
    --color-primary-active-end: var(--brand-red-dark, #B91524);

    --color-action: var(--primary-blue, #1769AA);
    --color-action-hover: var(--primary-blue-dark, #0F4C81);

    --color-shell: var(--black-sidebar, #050505);
    --color-shell-end: var(--black-sidebar, #050505);
    --color-header: var(--black-header, #111111);
    --color-header-text: #FFFFFF;

    --color-sidebar-bg: var(--black-sidebar, #050505);
    --color-sidebar-text: #FFFFFF;
    --color-sidebar-muted: #A3A3A3;
    --color-sidebar-active-bg: #151515;
    --color-sidebar-hover-bg: #171717;

    --color-page-bg: var(--page-bg, #F4F5F7);
    --color-card-bg: var(--surface, #FFFFFF);
    --color-card-border: var(--border-soft, #E2E6EA);

    --color-border: var(--border-soft, #E2E6EA);
    --color-table-border: var(--border-soft, #E2E6EA);

    --color-text: var(--text-main, #111827);
    --color-text-muted: var(--text-muted, #6B7280);

    --color-success: #16803C;
    --color-warning: #B45309;
    --color-warning-soft: #FFF8E6;
    --color-danger: #D71920;
    --color-info: #005EB8;

    --button-radius: 8px;
    --card-radius: 10px;
    --radius-ui: 10px;
    --space-xs: 8px;
    --space-sm: 16px;
    --space-md: 24px;
    --space-lg: 32px;

    --font-family: Inter, "Segoe UI", system-ui, sans-serif;
    --body-size: 16px;
    --font-size-table: 15px;
    --font-size-small: 14px;
    --heading-weight: 700;
}

/* Produktname FUTUROSALUD + ASI Manager – Login, Header */
.product-brand-name {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.1;
}

.product-brand-line {
    display: block;
}

.product-brand-line--sub {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    margin-top: 3px;
}

.product-brand-line--primary {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.045em;
}

.product-brand-futuro {
    color: var(--color-primary) !important;
}

.product-brand-salud {
    color: #FFFFFF !important;
}

.product-brand-asi,
.product-brand-manager {
    color: var(--color-text-muted, #4B5563) !important;
}

.app-header .product-brand-asi,
.app-header .product-brand-manager,
.login-product-brand-name .product-brand-asi,
.login-product-brand-name .product-brand-manager {
    color: #9CA3AF !important;
}

/* Legacy-Aliase (bestehender Code in style.css / PHP-Klassen) */
:root {
    --primary-red: var(--color-primary);
    --primary-red-hover: var(--color-primary-hover);

    --primary-color: var(--color-primary);
    --secondary-color: var(--color-header);
    --accent-color: var(--color-action);

    --header-color: var(--color-header);
    --header-footer-bg: var(--color-shell);
    --header-footer-text: var(--color-header-text);

    --cd_header_footer_bg: var(--color-shell);
    --cd_header_footer_text: var(--color-header-text);

    --sidebar-bg-color: var(--color-sidebar-bg);
    --sidebar-text-color: var(--color-sidebar-text);
    --sidebar-active-bg: var(--color-sidebar-active-bg);
    --sidebar-hover-bg: var(--color-sidebar-hover-bg);

    --content-bg: var(--color-page-bg);
    --background: var(--color-page-bg);
    --card-bg: var(--color-card-bg);

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

    --text-primary: var(--color-text);
    --text-secondary: var(--color-text-muted);
    --text-color: var(--color-text);
    --heading-color: var(--color-text);

    --link-color: var(--color-action);
    --link-hover-color: var(--color-action-hover);
    --tool-color: var(--color-action);

    --success-color: var(--color-success);
    --warning-color: var(--color-warning);
    --danger-color: var(--color-danger);
    --dark: var(--color-header);
    --dark-light: var(--color-text-muted);

    --btn-primary-bg: var(--color-action);
    --btn-primary-hover-bg: var(--color-action-hover);
    --btn-primary-text: #FFFFFF;
    --btn-secondary-bg: #FFFFFF;
    --btn-secondary-text: var(--color-text);
    --btn-dark-bg: var(--color-header);
    --btn-dark-text: #FFFFFF;
    --btn-success-bg: var(--color-success);
    --btn-success-text: #FFFFFF;
    --btn-danger-bg: var(--color-primary);
    --btn-danger-text: #FFFFFF;

    --cd_status_success_text: var(--color-success);
    --cd_status_warning_text: var(--color-warning);
    --cd_status_danger_text: var(--color-danger);
    --cd_status_progress_text: var(--color-action);
    --cd_status_info_text: var(--color-action);

    --table-header-bg: #FFFFFF;
    --table-header-text: var(--color-text);
    --table-row-hover-bg: #F8FAFC;
    --table-zebra-bg: #FAFBFC;
    --surface-muted-bg: #F1F3F5;

    --icon-color: #111111;
    --icon-opacity: 1;

    --cd_table_toolbar_bg: var(--color-card-bg);
    --cd_table_toolbar_text: var(--color-text);
    --cd_pagination_active_bg: var(--color-action);
    --cd_pagination_active_text: #FFFFFF;

    --border-radius: var(--button-radius);
}

/* Admin-Portal Aliase (Pflicht laut Style-Anleitung Paket 3) */
:root {
    --admin-primary: var(--color-primary);
    --admin-primary-hover: var(--color-primary-hover);
    --admin-bg: var(--color-page-bg);
    --admin-surface: var(--color-card-bg);
    --admin-border: var(--color-border);
    --admin-text-primary: var(--color-text);
    --admin-text-secondary: var(--color-text-muted);
    --admin-header-bg: var(--color-header);
    --admin-sidebar-bg: var(--color-sidebar-bg);
    --admin-sidebar-text: var(--color-sidebar-text);
    --admin-sidebar-muted: var(--color-sidebar-muted);
    --admin-sidebar-active-bg: var(--color-sidebar-active-bg);
    --admin-sidebar-hover-bg: var(--color-sidebar-hover-bg);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color);
    font-weight: var(--heading-weight);
}

a {
    color: var(--link-color);
}

a:hover {
    color: var(--link-hover-color);
}

.table-row-clickable {
    cursor: pointer;
}

.table-row-clickable:hover {
    background-color: var(--table-row-hover-bg) !important;
}

.dashboard-card,
.admin-dashboard-card,
.admin-dashboard-card.card,
.dashboard-stat-card .card,
.dashboard-stat-card.card,
.card.admin-dashboard-card,
.quickaccess-card,
.quickaccess-card.card,
.quick-access-card,
.card.quick-access-card {
    background: var(--color-card-bg) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--card-radius) !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
    transition: var(--transition, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease);
}

.quick-access-card,
.quickaccess-card {
    transition: var(--transition, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease);
}

.quick-access-card:hover,
.quickaccess-card:hover,
.dashboard-stat-card:hover .card,
.admin-dashboard-card:hover,
.card.admin-dashboard-card:hover,
.dashboard-card-interactive:hover,
.dashboard-card-interactive:focus-visible {
    transform: var(--hover-transform, translateY(-2px));
    box-shadow: var(--hover-shadow, 0 4px 12px rgba(15, 23, 42, 0.08)) !important;
}

.dashboard-stat-card .card.border-danger,
.dashboard-stat-card .card.border-success,
.card-emphasis.border-success,
.card-emphasis.border-danger,
.card-emphasis.border-primary,
.card-emphasis.border-warning,
.card-emphasis.border-info {
    border: 1px solid var(--color-border) !important;
    border-width: 1px !important;
}

.card-emphasis {
    border-width: 1px !important;
}

.col-w-100 { width: 100px; }
.col-w-120 { width: 120px; }
.col-w-150 { width: 150px; }

.header-logo-shell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
}

.header-logo {
    height: 28px;
    width: 28px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.header-user-info {
    color: var(--cd_header_footer_text) !important;
    white-space: nowrap;
}

.footer-muted {
    color: #4B5563;
    opacity: 1;
    font-size: 0.8rem;
    line-height: 1.35;
}

.footer-muted-small {
    color: #6B7280;
    opacity: 1;
    font-size: 0.75rem;
}

.footer-logo-link {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.footer-logo-img {
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.footer-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin: 0.35rem 0;
}

.icon-muted-large {
    font-size: 2rem;
    opacity: var(--icon-opacity);
}

.system-logo-preview {
    max-width: 200px;
    max-height: 100px;
}

.status-open,
.status-progress {
    color: var(--color-action);
    font-weight: 700;
    background: transparent !important;
}

.status-done,
.status-success {
    color: var(--color-success);
    font-weight: 700;
    background: transparent !important;
}

.status-overdue,
.status-danger {
    color: var(--color-danger);
    font-weight: 700;
    background: transparent !important;
}

.status-warning {
    color: var(--color-warning);
    font-weight: 700;
    background: transparent !important;
}

.card-action-link {
    color: var(--color-action);
    font-weight: 700;
    text-decoration: none;
}

.card-action-link:hover {
    color: var(--color-action-hover);
    text-decoration: underline;
}

.badge.status-open,
.badge.status-progress,
.badge.status-done,
.badge.status-success,
.badge.status-overdue,
.badge.status-danger,
.badge.status-warning {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
}
