/**
 * ControllHub 360 – Dashboard & Report-Stile (wie ControllHub360)
 */

/* Content-Bereich: Hintergrund und Schrift */
.right-panel .content {
    background: var(--bg-light, #F8FAFC);
    font-family: var(--ci-font);
    color: var(--text-dark);
}

/* Karten: einheitlich, Schatten, Radius */
.dashboard-card,
.content .card {
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    box-shadow: var(--shadow);
    margin-bottom: 1.5rem;
    border: 1px solid rgba(0,0,0,0.04);
}
.dashboard-card h3,
.content .card-header {
    font-size: var(--ci-font-size-large);
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #E2E8F0;
}
.content .card-header {
    padding: 0;
    border: none;
    border-bottom: 1px solid #E2E8F0;
    margin-bottom: 1rem;
}

/* Buttons: Primary (Blau) */
.content .btn-primary,
.dashboard-card .btn-primary {
    background: var(--primary-blue) !important;
    color: #fff !important;
    border: none;
    padding: 0.5rem 1.25rem;
    min-height: 2.5rem;
    border-radius: var(--ci-btn-radius);
    font-weight: var(--ci-btn-weight);
    font-family: var(--ci-font);
}
.content .btn-primary:hover,
.dashboard-card .btn-primary:hover {
    background: var(--dark-blue) !important;
    color: #fff !important;
}

/* Report-Navigation (BWA / GuV / Bilanz) */
.nav-report {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}
.nav-report a {
    padding: 0.5rem 1rem;
    min-height: 38px;
    border-radius: 8px;
    background: var(--blue-50);
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 500;
    font-size: var(--ci-font-size);
    font-family: var(--ci-font);
    display: inline-flex;
    align-items: center;
    transition: background 0.2s, color 0.2s;
}
.nav-report a:hover {
    background: var(--light-blue);
}
.nav-report a.active {
    background: var(--primary-blue);
    color: #fff;
}

/* Filter-Zeile (Mandant, Jahr, SKR) */
.report-filters,
.auswertung-filters,
.form-inline#form-bwa-filter,
.form-inline#form-liq-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.report-filters label,
.auswertung-filters label,
.report-filters .form-control,
.auswertung-filters .form-control,
.report-filters select,
.auswertung-filters select {
    font-family: var(--ci-font);
    font-size: var(--ci-font-size);
}
.report-filters .btn,
.auswertung-filters .btn {
    min-height: 2.5rem;
    padding: 0.5rem 1.25rem;
}

/* Report-Tabelle: übersichtlich */
.report-table,
.bwa-table,
.liq-table,
.content .table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    background: #fff;
    border-radius: 12px;
    box-shadow: var(--shadow);
    font-family: var(--ci-font);
    font-size: var(--ci-font-size);
}
.bwa-table { min-width: 1000px; }
.report-table td.num,
.bwa-table td.num,
.liq-table td.num,
.content .table td.num {
    min-width: 5rem;
    white-space: nowrap;
}
.bilanz-aktiva-table td.num,
.bilanz-passiva-table td.num { min-width: 6rem; white-space: nowrap; }
.report-table th,
.report-table td,
.bwa-table th,
.bwa-table td,
.liq-table th,
.liq-table td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #E2E8F0;
    text-align: left;
}
.report-table thead th,
.bwa-table thead th,
.liq-table thead th {
    font-weight: 600;
    color: var(--text-dark);
    background: #F8FAFC;
    font-size: var(--ci-font-size-small);
}
.report-table td.num,
.bwa-table td.num,
.liq-table td.num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.report-table tr.subtotal td,
.bwa-summe td,
.liq-summe td {
    font-weight: 600;
    background: var(--blue-50);
}
.bwa-table tbody tr:hover,
.liq-table tbody tr:hover,
.report-table tbody tr:hover { background: #f8fafc; }
.bwa-gruppe td { font-weight: 600; color: #334155; }
.bwa-gruppe td:first-child { color: var(--primary-blue); }
/* Leerer Zustand */
.empty-state {
    text-align: center;
    padding: 2.5rem 1.5rem;
    color: var(--text-light);
    font-size: 0.95rem;
    line-height: 1.6;
}
.empty-state .fa, .empty-state .ti { font-size: 2.5rem; margin-bottom: 0.75rem; color: var(--primary-blue); opacity: 0.6; }
.empty-state strong { color: var(--text-dark); display: block; margin-bottom: 0.35rem; font-size: 1rem; }
.report-title { font-size: 1.1rem; font-weight: 600; color: var(--text-dark); margin-bottom: 0.75rem; }
.dashboard-intro { line-height: 1.55; }

/* KPI-Karten (Zahlen-Boxen) */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.5rem;
}
.kpi-card {
    background: #fff;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    box-shadow: var(--shadow);
    border-left: 4px solid var(--text-light);
}
.kpi-card.ampel-gruen { border-left-color: #059669; }
.kpi-card.ampel-gelb { border-left-color: #D97706; }
.kpi-card.ampel-rot { border-left-color: #DC2626; }
.kpi-card .kpi-label {
    font-size: var(--ci-font-size-small);
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.25rem;
}
.kpi-card .kpi-value {
    font-size: var(--ci-font-size-h1);
    font-weight: 700;
    color: var(--text-dark);
}

/* Export-Links */
.report-export {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.report-export .btn-outline {
    min-height: 36px;
    padding: 0.4rem 0.85rem;
    font-size: var(--ci-font-size-small);
    background: #fff;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    border-radius: var(--ci-btn-radius);
    font-weight: 500;
}
.report-export .btn-outline:hover {
    background: var(--blue-50);
}

/* Formular-Inputs */
.content input[type="text"],
.content input[type="number"],
.content input[type="email"],
.content input[type="date"],
.content select {
    padding: 0.5rem 0.75rem;
    min-height: 2.5rem;
    border: 2px solid #E2E8F0;
    border-radius: 8px;
    font-size: var(--ci-font-size);
    font-family: var(--ci-font);
}
.content input:focus,
.content select:focus {
    outline: none;
    border-color: var(--primary-blue);
}

/* Intro-Text unter Überschrift */
.dashboard-intro,
.content .text-muted.small {
    color: var(--text-light);
    font-size: var(--ci-font-size);
    margin-bottom: 1rem;
}
