/* XCO Finance Portal — admin screens */
.xfp-wrap { max-width: 1400px; }
.xfp-lead { font-size: 14px; color: #3c434a; max-width: 900px; }
.xfp-h2 { margin-top: 28px; }
.xfp-card { background: #fff; border: 1px solid #dcdcde; border-radius: 6px; padding: 14px 18px; margin: 14px 0; }
.xfp-card h2 { margin-top: 4px; }
.xfp-inline { display: inline-block; margin: 0; }
.xfp-sub { display: block; margin-top: 6px; }

.xfp-kv th { text-align: left; padding: 4px 16px 4px 0; vertical-align: top; white-space: nowrap; color: #50575e; font-weight: 600; }
.xfp-kv td { padding: 4px 0; vertical-align: top; }

.xfp-badge { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; line-height: 18px; vertical-align: middle; }
.xfp-badge.ok    { background: #e6f4ea; color: #1e6b34; }
.xfp-badge.bad   { background: #fbeaea; color: #8a1f1f; }
.xfp-badge.info  { background: #e8f0fb; color: #1d4f91; }
.xfp-badge.muted { background: #f0f0f1; color: #646970; }

.xfp-toolbar-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.xfp-conn { color: #646970; margin-left: auto; }
.xfp-summary { margin: 10px 0 0; color: #3c434a; }
.xfp-progress { margin-top: 12px; }
.xfp-progress-bar { height: 8px; background: #f0f0f1; border-radius: 4px; overflow: hidden; }
.xfp-progress-bar span { display: block; height: 100%; width: 0; background: #2271b1; transition: width .25s; }
.xfp-progress-label { margin-top: 4px; color: #50575e; font-size: 12px; }

.xfp-probe { padding: 10px 16px; margin: 8px 0; }
.xfp-probe.is-running { opacity: .6; }
.xfp-probe-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.xfp-probe-head code { font-size: 11px; }
.xfp-probe-head .xfp-run-one { margin-left: auto; }
.xfp-why { margin: 6px 0 0; color: #50575e; }
.xfp-meta { color: #787c82; font-size: 12px; }
.xfp-error { color: #8a1f1f; background: #fbeaea; padding: 6px 10px; border-radius: 4px; margin: 8px 0 0; }

.xfp-data, .xfp-raw, .xfp-panel, .xfp-nested { margin-top: 8px; }
.xfp-data > summary, .xfp-raw > summary, .xfp-panel > summary, .xfp-nested > summary { cursor: pointer; color: #2271b1; }
.xfp-panel { border-top: 1px solid #f0f0f1; padding-top: 8px; }
.xfp-panel > summary { color: #1d2327; }
.xfp-panel > summary code { font-size: 11px; }
.xfp-raw pre { max-height: 420px; overflow: auto; background: #f6f7f7; padding: 10px; font-size: 11px; }

.xfp-candidates { margin-top: 10px; border-left: 3px solid #dba617; padding-left: 12px; }
.xfp-candidates h4 { margin: 4px 0 6px; }

.xfp-table-wrap { overflow-x: auto; max-width: 100%; }
.xfp-table { border-collapse: collapse; font-size: 12px; margin-top: 6px; }
.xfp-table th, .xfp-table td { border: 1px solid #e0e0e2; padding: 3px 6px; text-align: left; vertical-align: top; }
.xfp-table thead th { background: #f6f7f7; position: sticky; top: 0; white-space: nowrap; }
.xfp-table tr.xfp-hl td { background: #fff8e1; }
.xfp-null { color: #a7aaad; }
.xfp-scalar { margin: 4px 0; }

.xfp-inspect-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.xfp-inspect-status { color: #50575e; }
.xfp-inspection { border: 1px solid #dcdcde; border-radius: 6px; padding: 10px 14px; margin-top: 14px; }
.xfp-insp-head { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.xfp-insp-head strong { font-size: 15px; }

.xfp-roles td { vertical-align: top; }
.xfp-steps { margin-left: 1.4em; }
.xfp-steps li { margin-bottom: 6px; }
.xfp-fill { cursor: pointer; }
.xfp-fill:hover { background: #dbe7f7; }
.xfp-note { color: #1d4f91; background: #e8f0fb; padding: 6px 10px; border-radius: 4px; margin: 8px 0 0; }
