/*
 * ============================================================
 * PAC — LOSS SUMMARY / DESKTOP
 * ============================================================
 *
 * Сводка потерь: универсальный desktop-компонент для страниц
 * объектов, экспериментов и инцидентов.
 *
 * Рекомендуемая структура:
 * .loss-summary
 *   .loss-summary-header
 *   .loss-summary-stats
 *   .loss-summary-table-wrap
 *     table.loss-summary-table
 *
 * Мобильные правила находятся в:
 * pac-loss-summary-mobile.css
 * ============================================================
 */

:root {
    --pac-loss-paper: #fbfbfa;
    --pac-loss-paper-alt: #f3f5f7;
    --pac-loss-line: #d7dde2;
    --pac-loss-line-soft: #e8ecef;
    --pac-loss-ink: #252b31;
    --pac-loss-muted: #6c7780;
    --pac-loss-blue: #2c3e50;
    --pac-loss-blue-light: #eaf0f4;
    --pac-loss-red: #8b1e2d;
    --pac-loss-red-light: #f7ecee;
    --pac-loss-red-strong: #6f1020;
    --pac-loss-amber: #967014;
    --pac-loss-amber-light: #fbf5df;
    --pac-loss-green: #347653;
    --pac-loss-green-light: #edf5f0;
    --pac-loss-gray: #707980;
    --pac-loss-gray-light: #eef1f3;
    --pac-loss-radius: 7px;
    --pac-loss-shadow: 0 5px 18px rgba(25, 34, 42, .065);
}

/* ------------------------------------------------------------
   Главный контейнер
   ------------------------------------------------------------ */

.loss-summary {
    margin: 28px 0;
    padding: 0;
    color: var(--pac-loss-ink);
}

.loss-summary-card {
    overflow: hidden;
    background: var(--pac-loss-paper);
    border: 1px solid var(--pac-loss-line);
    border-top: 4px solid var(--pac-loss-red);
    border-radius: var(--pac-loss-radius);
    box-shadow: var(--pac-loss-shadow);
}

/* ------------------------------------------------------------
   Шапка
   ------------------------------------------------------------ */

.loss-summary-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 21px 23px 17px;
    border-bottom: 1px solid var(--pac-loss-line);
}

.loss-summary-title {
    margin: 0;
    color: var(--pac-loss-blue);
    font-size: 1.30rem;
    line-height: 1.3;
    font-weight: 700;
}

.loss-summary-subtitle {
    margin: 6px 0 0;
    color: var(--pac-loss-muted);
    font-size: .88rem;
    line-height: 1.55;
}

.loss-summary-code {
    flex: 0 0 auto;
    padding: 5px 8px;
    color: var(--pac-loss-muted);
    background: var(--pac-loss-paper-alt);
    border: 1px solid var(--pac-loss-line);
    border-radius: 3px;
    font-family: "Courier New", Courier, monospace;
    font-size: .70rem;
    font-weight: 700;
    letter-spacing: .05em;
}

/* ------------------------------------------------------------
   Итоговые показатели
   ------------------------------------------------------------ */

.loss-summary-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 15px 17px;
    background: var(--pac-loss-paper-alt);
    border-bottom: 1px solid var(--pac-loss-line);
}

.loss-stat {
    min-width: 0;
    padding: 11px 13px;
    background: #fff;
    border: 1px solid var(--pac-loss-line-soft);
    border-radius: var(--pac-loss-radius);
}

.loss-stat-label {
    display: block;
    margin-bottom: 5px;
    color: var(--pac-loss-muted);
    font-family: "Courier New", Courier, monospace;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.loss-stat-value {
    display: block;
    color: var(--pac-loss-blue);
    font-size: 1.16rem;
    font-weight: 700;
    line-height: 1.2;
}

.loss-stat.death {
    border-left: 3px solid var(--pac-loss-red);
}

.loss-stat.missing {
    border-left: 3px solid var(--pac-loss-amber);
}

.loss-stat.survived {
    border-left: 3px solid var(--pac-loss-green);
}

/* ------------------------------------------------------------
   Таблица
   ------------------------------------------------------------ */

.loss-summary-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.loss-summary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .90rem;
}

.loss-summary-table th {
    padding: 11px 13px;
    color: var(--pac-loss-muted);
    background: #eef1f3;
    border-bottom: 1px solid var(--pac-loss-line);
    font-family: "Courier New", Courier, monospace;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.loss-summary-table td {
    padding: 12px 13px;
    color: var(--pac-loss-ink);
    border-bottom: 1px solid var(--pac-loss-line-soft);
    line-height: 1.52;
    vertical-align: top;
}

.loss-summary-table tbody tr:last-child td {
    border-bottom: 0;
}

.loss-summary-table tbody tr:hover {
    background: #fafcfd;
}

.loss-summary-table .loss-document {
    color: var(--pac-loss-blue);
    font-family: "Courier New", Courier, monospace;
    font-size: .81rem;
    font-weight: 700;
    white-space: nowrap;
}

.loss-summary-table .loss-subject {
    font-weight: 700;
}

.loss-summary-table .loss-cause {
    color: var(--pac-loss-ink);
}

.loss-summary-table .loss-note {
    color: var(--pac-loss-muted);
    font-size: .84rem;
}

/* ------------------------------------------------------------
   Статусы
   ------------------------------------------------------------ */

.loss-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 3px;
    font-family: "Courier New", Courier, monospace;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1.25;
    white-space: nowrap;
}

.loss-status.deceased,
.loss-status.executed {
    color: var(--pac-loss-red-strong);
    background: var(--pac-loss-red-light);
    border-color: #ead5d8;
}

.loss-status.missing {
    color: #70580c;
    background: var(--pac-loss-amber-light);
    border-color: #eadba0;
}

.loss-status.injured {
    color: #80500e;
    background: #fbf2e8;
    border-color: #ecd7be;
}

.loss-status.survived {
    color: #276143;
    background: var(--pac-loss-green-light);
    border-color: #d5e7db;
}

/* ------------------------------------------------------------
   Нижняя служебная строка
   ------------------------------------------------------------ */

.loss-summary-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 17px;
    color: var(--pac-loss-muted);
    background: var(--pac-loss-paper-alt);
    border-top: 1px solid var(--pac-loss-line);
    font-size: .79rem;
}

.loss-summary-footer strong {
    color: var(--pac-loss-blue);
}

/* ------------------------------------------------------------
   Вариант без таблицы — отдельные строки
   ------------------------------------------------------------ */

.loss-summary-list {
    display: grid;
    gap: 8px;
    padding: 14px 16px;
}

.loss-summary-row {
    display: grid;
    grid-template-columns: 150px 140px 170px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 11px 12px;
    background: #fff;
    border: 1px solid var(--pac-loss-line-soft);
    border-left: 3px solid var(--pac-loss-line-dark, #aeb7bf);
    border-radius: 4px;
}

.loss-summary-row .loss-row-label {
    color: var(--pac-loss-muted);
    font-family: "Courier New", Courier, monospace;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.loss-summary-row .loss-row-value {
    color: var(--pac-loss-ink);
    line-height: 1.5;
}

/* ------------------------------------------------------------
   Адаптация средней ширины
   ------------------------------------------------------------ */

@media (max-width: 980px) {
    .loss-summary-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .loss-summary-table {
        min-width: 850px;
    }
}
