/* Scoped to the admin financial cockpit; existing application chrome is untouched. */
.fh-view { --fh-success:#9de0bc; --fh-warning:#f5cb80; width:100%; min-width:0; color:var(--text-main,#fff); }
.fh-view *, .fh-view *::before, .fh-view *::after { box-sizing:border-box; }
.fh-view [hidden] { display:none !important; }
.fh-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-bottom:24px; }
.fh-eyebrow { color:var(--text-muted,#bfbfbf); font-size:11px; font-weight:700; letter-spacing:.16em; }
.fh-header h2 { font-size:clamp(25px,3vw,36px); letter-spacing:-.04em; margin:8px 0; }
.fh-header p { margin:0; color:var(--text-muted,#bfbfbf); max-width:620px; line-height:1.55; }
.fh-toolbar { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; }
.fh-toolbar label, .fh-field { display:flex; flex-direction:column; gap:7px; font-size:12px; color:var(--text-muted,#bfbfbf); min-width:0; }
.fh-view input:not([type=checkbox]), .fh-view select, .fh-view textarea { min-width:0; width:100%; max-width:100%; padding:11px 12px; border:1px solid var(--border-subtle,#454545); border-radius:9px; background:var(--bg,#202020); color:var(--text-main,#fff); font:inherit; font-size:14px; color-scheme:dark; }
.fh-view input[type=month] { min-height:42px; }
.fh-view textarea { resize:vertical; line-height:1.5; }
.fh-view button, .fh-view input, .fh-view select, .fh-view textarea { touch-action:manipulation; }
.fh-view :focus-visible { outline:2px solid var(--fh-warning); outline-offset:3px; }
.fh-view button { cursor:pointer; white-space:normal; }
.fh-view button:disabled { opacity:.55; cursor:wait; }
.fh-view p { line-height:1.6; overflow-wrap:anywhere; }
.fh-view h3 { font-size:17px; margin:0 0 12px; line-height:1.35; }
.fh-view h4 { font-size:15px; margin:0; overflow-wrap:anywhere; }
.fh-caption { display:block; color:var(--text-muted,#bfbfbf); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.fh-feedback { padding:14px 16px; background:var(--bg-elevated,#262626); border:1px solid var(--border-subtle,#444); border-radius:12px; font-size:14px; }
.fh-error { color:#ffb7b7; border-color:rgba(232,74,74,.5) !important; }
.fh-tabs { display:flex; flex-wrap:wrap; gap:6px; border-bottom:1px solid var(--border-subtle,#444); padding-bottom:12px; margin-bottom:20px; }
.fh-tabs button { border:1px solid transparent; background:transparent; color:var(--text-muted,#bfbfbf); border-radius:9px; padding:11px 15px; font-size:14px; }
.fh-tabs button:hover { background:var(--bg-elevated-soft,#2e2e2e); }
.fh-tabs .fh-active { background:var(--bg-elevated-soft,#2e2e2e); color:#fff; border-color:var(--border-subtle,#444); }
.fh-edit-fields { border:0; padding:0; margin:0; min-width:0; }
.fh-summary-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.fh-chip { display:inline-flex; align-items:center; border-radius:30px; padding:7px 10px; font-size:11px; font-weight:600; }
.fh-pending { color:var(--fh-warning); background:rgba(245,203,128,.1); border:1px solid rgba(245,203,128,.2); }
.fh-good { color:var(--fh-success); background:rgba(157,224,188,.1); border:1px solid rgba(157,224,188,.2); }
.fh-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.fh-metrics-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fh-metric { display:flex; flex-direction:column; gap:12px; padding:21px 18px; background:linear-gradient(150deg,var(--bg-elevated-soft,#2e2e2e),var(--bg-elevated,#262626)); border:1px solid var(--border-subtle,#444); border-radius:15px; min-width:0; }
.fh-metric > span { color:var(--text-muted,#bfbfbf); font-size:12px; min-height:30px; }
.fh-metric > strong { font-size:clamp(20px,2.1vw,31px); line-height:1.2; letter-spacing:-.04em; overflow-wrap:anywhere; }
.fh-metric > small { font-size:11px; line-height:1.6; color:var(--text-muted,#bfbfbf); }
.fh-negative { color:#ffaaaa; }
.fh-positive { color:var(--fh-success); }
.fh-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fh-card { min-width:0; background:var(--bg-elevated,#262626); border:1px solid var(--border-subtle,#444); border-radius:15px; padding:22px; margin-bottom:18px; }
.fh-card-title { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.fh-card > p { font-size:13px; }
.fh-link { display:inline; background:none; border:0; padding:6px 0; color:var(--text-main,#fff); font-size:12px; text-align:left; text-decoration:underline; text-decoration-color:#777; text-underline-offset:4px; }
.fh-link:hover { color:var(--fh-warning); }
.fh-counts { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.fh-counts span { font-size:11px; border:1px solid var(--border-subtle,#444); border-radius:6px; padding:6px 8px; color:var(--text-muted,#bfbfbf); }
.fh-issues, .fh-insights, .fh-source-list { padding-left:19px; margin:14px 0; font-size:13px; line-height:1.65; }
.fh-issues li, .fh-insights li, .fh-source-list li { margin-bottom:8px; overflow-wrap:anywhere; }
.fh-amount { font-size:30px; font-weight:700; letter-spacing:-.04em; margin-top:12px; overflow-wrap:anywhere; }
.fh-table-wrap { width:100%; min-width:0; max-width:100%; overflow-x:auto; margin-top:15px; -webkit-overflow-scrolling:touch; }
.fh-table { width:100%; border-collapse:collapse; text-align:left; font-size:12px; }
.fh-table th, .fh-table td { border-bottom:1px solid var(--border-subtle,#444); padding:12px 10px; vertical-align:top; }
.fh-table th { font-weight:600; }
.fh-table thead { color:var(--text-muted,#bfbfbf); }
.fh-table td { white-space:nowrap; }
.fh-table th small { display:block; font-size:10px; font-weight:400; color:var(--text-muted,#bfbfbf); margin-top:6px; }
.fh-table tr.fh-target-row { background:rgba(245,203,128,.07); }
.fh-target-row th { color:var(--fh-warning); }
.fh-note { font-size:13px; border-left:3px solid var(--fh-warning); border-radius:0 8px 8px 0; background:rgba(245,203,128,.055); padding:12px 15px; }
.fh-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fh-field-wide { grid-column:1/-1; }
.fh-row { padding:16px; border:1px solid var(--border-subtle,#444); border-radius:12px; margin:18px 0; min-width:0; }
.fh-row legend { font-size:11px; color:var(--text-muted,#bfbfbf); padding:0 7px; }
.fh-remove { margin-top:12px; color:var(--text-muted,#bfbfbf); }
.fh-review { margin-top:24px; padding-top:18px; border-top:1px solid var(--border-subtle,#444); }
.fh-check { display:flex; align-items:flex-start; gap:11px; color:var(--text-main,#fff); font-size:13px; line-height:1.6; margin:0 0 18px; }
.fh-check input { accent-color:var(--accent,#da3a3d); flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; }
.fh-empty { padding:22px 12px; color:var(--text-muted,#bfbfbf); font-size:13px; line-height:1.7; }
.fh-details + .fh-details { margin-top:18px; border-top:1px solid var(--border-subtle,#444); padding-top:18px; }
.fh-details summary { cursor:pointer; line-height:1.6; font-size:14px; }
.fh-doc-toolbar { display:grid; grid-template-columns:minmax(160px,1fr) minmax(180px,2fr); gap:12px; margin:20px 0; }
.fh-doc-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:18px; }
.fh-doc-list { max-height:620px; overflow-y:auto; min-width:0; border:1px solid var(--border-subtle,#444); border-radius:10px; }
.fh-doc { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:14px; border:0; border-bottom:1px solid var(--border-subtle,#444); color:var(--text-main,#fff); background:transparent; width:100%; text-align:left; font:inherit; }
.fh-doc:hover, .fh-doc.fh-selected { background:var(--bg-elevated-soft,#2e2e2e); }
.fh-doc.fh-selected { box-shadow:inset 3px 0 var(--accent,#da3a3d); }
.fh-doc > span { min-width:0; }
.fh-doc strong { display:block; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.fh-doc small { display:block; color:var(--text-muted,#bfbfbf); font-size:10px; margin-top:5px; line-height:1.6; overflow-wrap:anywhere; }
.fh-doc-meta { text-align:right; flex:0 0 110px; }
.fh-doc-editor { min-width:0; padding:18px; border:1px solid var(--border-subtle,#444); border-radius:10px; background:var(--bg,#202020); }
.fh-doc-editor p { font-size:12px; }
.fh-doc-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.fh-document-fields { grid-template-columns:minmax(0,1fr); }
.fh-allocation { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:end; gap:10px; border-bottom:1px solid var(--border-subtle,#444); padding-bottom:12px; margin:12px 0; }
.fh-allocation .fh-link { grid-column:1/-1; }
.fh-savebar { position:sticky; bottom:12px; z-index:3; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding:16px 20px; background:var(--bg-elevated,#262626); border:1px solid #575757; border-radius:13px; box-shadow:0 8px 26px rgba(0,0,0,.25); margin:22px 0; }
.fh-savebar > div:first-child { display:flex; align-items:center; flex:1; gap:16px; min-width:0; }
.fh-savebar .fh-field { flex:0 0 108px; }
.fh-savebar .fh-caption { max-width:300px; }
.fh-save-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.fh-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1100px) { .fh-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.fh-doc-layout { grid-template-columns:minmax(0,1fr); }.fh-doc-list { max-height:340px; } }
@media (max-width:650px) { .fh-header { gap:18px; }.fh-toolbar { width:100%; }.fh-toolbar label { flex:1; }.fh-grid { grid-template-columns:minmax(0,1fr); gap:0; }.fh-metric { padding:15px 12px; }.fh-metric > strong { font-size:22px; }.fh-card { padding:16px; }.fh-card-title { display:block; }.fh-fields { grid-template-columns:minmax(0,1fr); }.fh-tabs { gap:3px; }.fh-tabs button { padding:10px 11px; font-size:12px; }.fh-doc-toolbar { grid-template-columns:minmax(0,1fr); }.fh-row { padding:12px; }.fh-savebar { position:static; padding:15px; }.fh-savebar > div:first-child { flex-basis:100%; }.fh-save-actions { width:100%; }.fh-save-actions .btn { flex:1; }.fh-doc-meta { flex-basis:91px; }.fh-doc { padding:12px 10px; }.fh-allocation { grid-template-columns:minmax(0,1fr); }.fh-table th, .fh-table td { padding:10px 8px; } }
@media (prefers-reduced-motion:reduce) { .fh-view * { scroll-behavior:auto !important; } }
