/* ----------------------

        Risk Matrix Styles

 ----------------------- */

/* Risk Matrix Color Variables */
#cves {
    /* Header colors */
    --matrix-header-gradient: #052c65;
    --matrix-header-border: #4a6d8c;
    --matrix-header-text: #ffffff;

    /* First column colors */
    --matrix-column-gradient: var(--blue-600);
    --matrix-column-border: #6b8fba;
    --matrix-column-text: #ffffff;

    /* Risk level - Low */
    --risk-low-gradient-start: #95d5b2;
    --risk-low-gradient-end: #74c69d;
    --risk-low-text: #1b4332;

    /* Risk level - Medium */
    --risk-medium-gradient-start: #ffe066;
    --risk-medium-gradient-end: #ffd166;
    --risk-medium-text: #5a4a1a;

    /* Risk level - High */
    --risk-high-gradient-start: #ffb088;
    --risk-high-gradient-end: #ff9b7c;
    --risk-high-text: #5a1a0a;

    /* Risk level - Critical */
    --risk-critical-gradient-start: #ef767a;
    --risk-critical-gradient-end: #e07a7a;
    --risk-critical-text: #4a0a0a;

    /* Apetite border */
    --apetite-border-color: #ff0000;
    --apetite-border-width: 4px;
}

#cves > .formContainer{
    max-width: 1800px;
}

.matrix-table {
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.matrix-table th{
    font-size: 1rem;
    font-weight: 700;
    padding: 1.2rem 0.8rem;
    background: var(--matrix-header-gradient) !important;
    color: var(--matrix-header-text) !important;
    border: 1px solid var(--matrix-header-border) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.matrix-table thead th:first-child {
    border-top-left-radius: 8px;
}

.matrix-table thead th:last-child {
    border-top-right-radius: 8px;
}

/* První sloupec v těle tabulky (likelihood labels) */
.matrix-table tbody th {
    background: var(--matrix-column-gradient) !important;
    color: var(--matrix-column-text) !important;
    font-weight: 600;
    border: 1px solid var(--matrix-column-border) !important;
    text-align: center;
}

.matrix-table th,
.matrix-table td {
    min-width: 90px;
    max-width: 140px;
}

.matrix-table .risk-cell {
    cursor: default;
    font-weight: 600;
    position: relative;
    vertical-align: middle;
    padding: 1rem 0.6rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
}

/* --- Návrh 3 ---*/

/* Defaultní stav */
.matrix-table .risk-cell {
    filter: brightness(1);
    transition: filter 0.2s ease;
}

/* Při hoveru nad tabulkou všechny buňky ztmavnou */
.matrix-table:hover .risk-cell {
    filter: brightness(0.8);
}

/* Ale hoverovaná buňka zůstane světlá */
.matrix-table .risk-cell:hover {
    filter: brightness(1);
    font-weight: 900 !important;
    cursor: pointer;
}
/* Decentní barvy evokující míru nebezpečnosti */
.matrix-table td.risk-low {
    background: linear-gradient(135deg, var(--risk-low-gradient-start) 0%, var(--risk-low-gradient-end) 100%) !important;
    color: var(--risk-low-text) !important;
    text-shadow: none;
}

.matrix-table td.risk-medium {
    background: linear-gradient(135deg, var(--risk-medium-gradient-start) 0%, var(--risk-medium-gradient-end) 100%) !important;
    color: var(--risk-medium-text) !important;
    text-shadow: none;
}

.matrix-table td.risk-high {
    background: linear-gradient(135deg, var(--risk-high-gradient-start) 0%, var(--risk-high-gradient-end) 100%) !important;
    color: var(--risk-high-text) !important;
    text-shadow: none;
}

.matrix-table td.risk-critical {
    background: linear-gradient(135deg, var(--risk-critical-gradient-start) 0%, var(--risk-critical-gradient-end) 100%) !important;
    color: var(--risk-critical-text) !important;
    text-shadow: none;
    font-weight: 700;
}

.matrix-table .risk-label {
    font-size: 0.95rem;
    display: block;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.matrix-table .risk-value {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: 6px;
    padding: 4px 8px;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 4px;
    display: inline-block;
}

.matrix-table td.risk-medium .risk-value {
    background: rgba(0, 0, 0, 0.1);
}

/* Apetite boundary styles */
.matrix-table td.acceptable {
    position: relative;
    opacity: 0.5;
    filter: grayscale(0.3);
}

/* Individual border sides for outer boundary of unacceptable risk area */
.matrix-table td.apetite-border-top {
    border-top: var(--apetite-border-width) solid var(--apetite-border-color) !important;
}

.matrix-table td.apetite-border-bottom {
    border-bottom: var(--apetite-border-width) solid var(--apetite-border-color) !important;
}

.matrix-table td.apetite-border-left {
    border-left: var(--apetite-border-width) solid var(--apetite-border-color) !important;
}

.matrix-table td.apetite-border-right {
    border-right: var(--apetite-border-width) solid var(--apetite-border-color) !important;
}
