/* css/procedura.css — Процедури за участие (ЕЕДОП E4, issue #190).
   Преизползва dosie-* (карти, форми, баджове), account-* (бутони, модали)
   и lib-* (празни състояния); тук са само специфичните за процедурите неща.
   ВАЖНО: всеки селектор с display има [hidden] guard (CSS капанът от E3). */

/* Детайл: глава с бутони */
.proc-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.proc-detail-head[hidden] { display: none; }
.proc-detail-actions { display: flex; gap: 8px; }
.proc-detail-actions[hidden] { display: none; }

/* Секции на детайла */
.proc-section {
    border: 1px solid var(--border, #e4e7ec);
    border-radius: 10px;
    padding: 16px 18px;
    margin: 18px 0;
}
.proc-section[hidden] { display: none; }
.proc-section h3 { margin: 0 0 10px; font-size: 1.05rem; }
.proc-section h4 { margin: 18px 0 6px; font-size: 0.98rem; }

/* Кликаема карта на процедура в списъка */
.proc-card { cursor: pointer; }
.proc-card:focus-visible { outline: 2px solid var(--accent, #2563eb); outline-offset: 2px; }
.proc-card-open { color: var(--text-muted, #667085); font-size: 0.9rem; white-space: nowrap; }

/* Файлови редове */
.proc-file-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 10px 0;
    border-top: 1px solid var(--border, #eef1f5);
}
.proc-file-row[hidden] { display: none; }
.proc-file-row:first-of-type { border-top: 0; }
.proc-file-main { flex: 1 1 320px; }
.proc-file-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.proc-file-actions[hidden] { display: none; }
.proc-file-status { color: var(--text-muted, #667085); font-size: 0.88rem; margin: 4px 0 0; }

.proc-docs-list { margin-top: 8px; }
.proc-doc-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
}
.proc-doc-row[hidden] { display: none; }
.proc-doc-name { flex: 1 1 auto; overflow-wrap: anywhere; font-size: 0.92rem; }

/* Активни критерии */
.proc-criteria-section {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-muted, #475467);
    margin: 12px 0 4px;
}
.proc-criterion {
    padding: 8px 10px;
    border: 1px solid var(--border, #eef1f5);
    border-radius: 8px;
    margin: 6px 0;
}
.proc-criterion-name { font-size: 0.95rem; }
.proc-criterion-meta { color: var(--text-muted, #667085); font-size: 0.82rem; margin-top: 2px; }
.proc-criterion-meta code { font-size: 0.78rem; }

/* Дърво от ЕЕДОП-и */
.proc-tree-explain {
    background: var(--bg-soft, #fffbeb);
    border: 1px solid var(--border, #fde68a);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.92rem;
    margin: 0 0 14px;
}
.proc-tree-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 12px;
}
.proc-tree-actions[hidden] { display: none; }

/* Част I / II — ключ-стойност */
.proc-kv {
    display: grid;
    grid-template-columns: minmax(160px, 240px) 1fr;
    gap: 6px 16px;
    margin: 0 0 8px;
}
.proc-kv[hidden] { display: none; }
.proc-kv dt { font-weight: 600; font-size: 0.9rem; color: var(--text-muted, #475467); }
.proc-kv dd { margin: 0; font-size: 0.94rem; overflow-wrap: anywhere; }

@media (max-width: 560px) {
    .proc-kv { grid-template-columns: 1fr; gap: 2px; }
    .proc-kv dd { margin-bottom: 8px; }
}

/* ============================================================
   ЕЕДОП E5 (issue #191): част III, изисквания, част IV
   ============================================================ */

/* Част III: резюме + редове с основания */
.proc-part3-summary {
    background: var(--surface-2, #f0f7f0);
    border: 1px solid var(--border, #cde3cd);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.94rem;
    margin: 0 0 10px;
}
.proc-part3-summary[hidden] { display: none; }
.proc-part3-list { margin-top: 10px; }
.proc-part3-list[hidden] { display: none; }
.proc-part3-row,
.proc-req-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--border, #eef1f5);
}
.proc-part3-row[hidden], .proc-req-row[hidden] { display: none; }
.proc-part3-row:first-child, .proc-req-row:first-child { border-top: 0; }
.proc-part3-main { flex: 1 1 320px; min-width: 0; }
.proc-part3-name { font-weight: 600; font-size: 0.94rem; margin-bottom: 2px; }
.proc-part3-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.proc-part3-actions[hidden] { display: none; }

/* Част IV: карти на критерии */
.proc-crit-card {
    border: 1px solid var(--border, #e4e7ec);
    border-radius: 10px;
    padding: 12px 14px;
    margin: 10px 0;
}
.proc-crit-card[hidden] { display: none; }
.proc-crit-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}
.proc-crit-code { font-size: 0.72rem; color: var(--text-muted, #98a2b3); overflow-wrap: anywhere; }
.proc-crit-body label {
    display: block;
    font-size: 0.9rem;
    margin: 8px 0 4px;
}
.proc-crit-body input[type="text"],
.proc-crit-body input[type="number"],
.proc-crit-body select,
.proc-crit-body textarea {
    width: 100%;
    max-width: 560px;
    box-sizing: border-box;
    margin-top: 2px;
}
.proc-textarea-label textarea { font-family: inherit; }

/* Произход на предложението — задължителен навсякъде (инвариант) */
.proc-origin {
    color: var(--text-muted, #475467);
    font-size: 0.88rem;
    font-style: italic;
    margin: 6px 0;
}
.proc-origin[hidden] { display: none; }

/* Предупреждения по нива */
.proc-warning {
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.9rem;
    margin: 6px 0;
    border: 1px solid transparent;
}
.proc-warning[hidden] { display: none; }
.proc-warning-risk { background: #fdecec; border-color: #f5c2c2; color: #8a1f1f; }
.proc-warning-warn { background: #fff4e0; border-color: #fde0ae; color: #935a00; }
.proc-warning-info { background: #eef4fd; border-color: #c9ddf8; color: #1d4f91; }
.proc-warning-ok   { background: #eefaf0; border-color: #c3e8cd; color: #1b6b34; }
.proc-gap-level { font-weight: 700; text-transform: uppercase; font-size: 0.78rem; margin-right: 4px; }

/* α-режим и gap analysis кутии */
.proc-alpha-box {
    background: var(--surface-2, #f4f1fd);
    border: 1px solid var(--border, #d9d0f5);
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 12px;
}
.proc-alpha-box[hidden] { display: none; }
.proc-alpha-box h4 { margin: 0 0 6px; }
.proc-gap-box { margin-bottom: 12px; }
.proc-gap-box[hidden] { display: none; }
.proc-gap-box h4 { margin: 0 0 6px; }

/* e-access блок */
.proc-ea {
    border: 1px dashed var(--border, #d0d5dd);
    border-radius: 8px;
    padding: 8px 12px 12px;
    margin: 8px 0;
    max-width: 600px;
}
.proc-ea[hidden] { display: none; }

/* Бележка към чекбокс ред (обосновка защо) */
.proc-check-note {
    display: block;
    color: var(--text-muted, #667085);
    font-size: 0.8rem;
    margin-left: 22px;
}
.proc-sum {
    font-size: 0.92rem;
    font-weight: 600;
    margin: 8px 0;
}
.proc-sum[hidden] { display: none; }
.proc-third-party { margin-top: 8px; }
.proc-third-party[hidden] { display: none; }
