/* Champ tables and dialogs, using only the ERP token snapshot. */
.vault-counts { display:flex; flex-wrap:wrap; gap:8px 20px; margin:24px 0 16px; padding:16px 0; border-block:1px solid var(--rule); color:var(--text-2); font:var(--t-label); }
.vault-filterbar { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; }
.vault-filterbar input { flex:1 1 220px; }.vault-filterbar select { max-width:240px; }
.vault-table-wrap { width:100%; overflow:auto; }
.vault-table { width:100%; border-collapse:collapse; text-align:left; font:var(--t-table); }
.vault-table th { padding:12px; border-bottom:1px solid var(--rule-strong); color:var(--text-3); font:var(--t-caption); }
.vault-table td { padding:14px 12px; border-bottom:1px solid var(--rule); vertical-align:top; }
.vault-table td:first-child { min-width:180px; }.vault-table small { display:block; margin-top:5px; color:var(--text-3); font:var(--t-caption); }
.vault-table strong { font-weight:500; overflow-wrap:anywhere; }.vault-table td>span { overflow-wrap:anywhere; }
.vault-row-actions { white-space:nowrap; }.vault-row-actions button+button { margin-left:12px; }
.vault-badge { display:inline-flex; padding:3px 8px; border-radius:var(--r-chip); font:var(--t-caption); background:var(--neutral-status-bg); color:var(--text-2); white-space:nowrap; }
.vault-valid,.vault-available { background:var(--success-bg); color:var(--success); }
.vault-expiring,.vault-to_review,.vault-condition,.vault-future { background:var(--warning-bg); color:var(--warning); }
.vault-expired,.vault-missing { background:var(--danger-bg); color:var(--danger); }
.vault-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }.vault-section-head>button { flex-shrink:0; }
.vault-phase { margin-top:24px; }.vault-phase h4 { margin:0 0 4px; font:var(--t-panel-title); }.vault-phase>.subtle { font:var(--t-caption); }
.vault-file-name { display:block; margin-bottom:5px; }.vault-review-table td:first-child { width:28%; }.vault-review-table td:nth-child(2) { width:32%; }
.vault-export-files { margin:24px 0 8px; padding-top:16px; border-top:1px solid var(--rule); }.vault-export-files summary { cursor:pointer; font:var(--t-label); }.vault-export-files li { margin:8px 0; overflow-wrap:anywhere; }
.vault-dialog { width:calc(100% - 32px); max-width:640px; max-height:calc(100dvh - 48px); overflow:auto; padding:var(--panel-pad); border:0; border-radius:var(--r-dialog); color:var(--text); background:var(--surface); box-shadow:inset 0 0 0 1px var(--surface-border),var(--shadow-float); }
.vault-dialog::backdrop { background:var(--scrim-fill); }.vault-dialog h2 { margin:0 0 10px; font:var(--t-record-title); letter-spacing:var(--tracking-title); }.vault-dialog .vault-dialog-file { color:var(--text-2); overflow-wrap:anywhere; }
.vault-dialog fieldset { border:0; padding:0; margin:20px 0 0; min-width:0; display:grid; gap:16px; }.vault-dialog label { display:grid; gap:6px; font:var(--t-label); color:var(--text-2); }.vault-dialog input,.vault-dialog select,.vault-dialog textarea { width:100%; }.vault-dialog textarea { min-height:76px; }
.vault-dialog .vault-checkbox { display:flex; align-items:center; gap:10px; }.vault-dialog input[type=checkbox] { width:16px; flex-shrink:0; }.vault-dialog .button { min-height:var(--control-h-lg); font-size:15px; border-radius:var(--r-sweep-s); }.vault-dialog .button-secondary { border-color:var(--ink); }
.vault-dialog [role=status]:not(:empty) { padding:12px; background:var(--danger-bg); color:var(--danger); }
.vault-choice-file { display:flex!important; align-items:flex-start; gap:12px!important; padding:12px 0; border-top:1px solid var(--rule); }.vault-choice-file small { display:block; color:var(--text-3); font:var(--t-caption); margin-top:6px; }.vault-choice-file strong { font:var(--t-label); overflow-wrap:anywhere; }
.vault-evidence details { margin:10px 0; }.vault-evidence details p { font:var(--t-caption); }.vault-evidence summary { color:var(--text-3); cursor:pointer; font:var(--t-caption); }
.vault-dashboard-notice { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 0; border-block:1px solid var(--rule); margin:24px 0; }.vault-dashboard-notice p { margin:6px 0 0; color:var(--text-3); }.vault-dashboard-notice button { flex-shrink:0; }
@media(max-width:767px) {
 .vault-filterbar select { max-width:none; flex:1 1 100%; }.vault-counts { gap:12px; }
 .vault-table,.vault-table tbody,.vault-table tr,.vault-table td { display:block; }.vault-table thead { display:none; }.vault-table td { border:0; padding:8px 0; width:100%!important; }.vault-table td:first-child { padding-top:16px; }.vault-table td:last-child { padding-bottom:16px; border-bottom:1px solid var(--rule); }.vault-table td[data-label]:before { content:attr(data-label); display:block; color:var(--text-3); font:var(--t-caption); margin-bottom:5px; }
 .vault-dialog { padding:20px; max-height:calc(100dvh - 24px); }.vault-dialog input,.vault-dialog select,.vault-dialog textarea { font-size:16px; }.vault-dashboard-notice { align-items:flex-start; flex-direction:column; gap:12px; }
}
