:root {
  --navy: #111d48;
  --navy-2: #19275c;
  --ink: #17213e;
  --muted: #69748d;
  --line: #dfe5ef;
  --canvas: #f3f6fa;
  --white: #ffffff;
  --blue: #2f7cf6;
  --cyan: #57c6e8;
  --green: #24a46d;
  --amber: #bf7a12;
  --red: #c64755;
  --shadow: 0 14px 40px rgba(31, 47, 88, .08);
}

* { box-sizing: border-box; }
html { height: 100%; scroll-behavior: smooth; overflow: hidden; }
body { height: 100%; margin: 0; overflow: hidden; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--canvas); }
button { font: inherit; }
.shell { height: 100vh; min-height: 0; display: grid; grid-template-columns: 246px minmax(0, 1fr); overflow: hidden; }

.sidebar { position: relative; height: 100vh; min-height: 0; padding: 28px 20px; overflow: hidden; color: #dce5ff; background: linear-gradient(165deg, #121f51 0%, #0e1738 75%); display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; color: white; text-decoration: none; font-size: 24px; font-weight: 760; letter-spacing: -.6px; }
.brand > span:last-child span { color: #63c6ed; }
.brand-orb { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; display: flex; flex-direction: column; transform: rotate(-16deg); background: #3a4b7e; box-shadow: inset 0 0 15px rgba(255,255,255,.2); }
.brand-orb i { flex: 1; display: block; }
.brand-orb i:nth-child(1) { background: #d9ecf7; }
.brand-orb i:nth-child(2) { background: #66b8df; }
.brand-orb i:nth-child(3) { background: #273866; }
.lab-label { margin: 14px 8px 36px 60px; font-size: 12px; letter-spacing: 2px; color: #7e91c0; }
.sidebar nav { display: grid; gap: 6px; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(99,198,237,.45) transparent; padding-right: 5px; }
.sidebar nav::-webkit-scrollbar { width: 6px; }
.sidebar nav::-webkit-scrollbar-thumb { border-radius: 99px; background: rgba(99,198,237,.35); }
nav a { color: #aebbd8; text-decoration: none; border-radius: 9px; padding: 12px 14px; display: flex; align-items: center; gap: 12px; font-size: 16px; transition: .18s ease; }
nav a span { width: 20px; text-align: center; color: #7f91ba; }
nav a:hover, nav a.active { color: white; background: rgba(82, 137, 239, .18); }
nav a.active { box-shadow: inset 3px 0 #55bfe8; }
.sidebar-footer { flex: none; margin-top: 14px; border-top: 1px solid rgba(255,255,255,.1); padding: 20px 8px 0; display: flex; align-items: center; gap: 10px; }
.sidebar-footer strong, .sidebar-footer small { display: block; }
.sidebar-footer strong { font-size: 15px; color: white; }
.sidebar-footer small { margin-top: 3px; color: #7f91ba; font-size: 13px; }
.status-dot { width: 9px; height: 9px; background: #3bd291; border-radius: 50%; box-shadow: 0 0 0 4px rgba(59,210,145,.12); }

main { height: 100vh; min-width: 0; padding: 32px clamp(28px, 4vw, 62px) 24px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; }
main > [hidden], .work-grid > [hidden] { display: none !important; }
.work-grid.route-single { grid-template-columns: minmax(0, 1fr); }
header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 30px; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: clamp(25px, 2.4vw, 36px); letter-spacing: -1.2px; font-weight: 680; }
h2 { margin-bottom: 0; font-size: 18px; letter-spacing: -.25px; }
.eyebrow { margin-bottom: 7px; color: #75829c; font-size: 12px; font-weight: 780; letter-spacing: 1.7px; }
.header-actions { display: flex; align-items: center; gap: 11px; }
.environment, .mono-badge { border: 1px solid var(--line); color: #6a7895; border-radius: 7px; padding: 8px 10px; background: white; font: 650 13px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .4px; }
.icon-button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: white; color: #52617f; cursor: pointer; font-size: 17px; }
.avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--navy-2); color: white; display: grid; place-items: center; font-weight: 750; font-size: 14px; }

.metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: white; box-shadow: var(--shadow); margin-bottom: 20px; }
.metrics article { padding: 20px 22px; min-height: 106px; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; }
.metrics article:last-child { border-right: 0; }
.metrics span, .invoice-hero small, .trace-summary span { color: #8792a9; font-size: 12px; font-weight: 750; letter-spacing: 1.2px; }
.metrics strong { margin: 9px 0 5px; color: var(--navy); font-size: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.metrics small { color: var(--muted); font-size: 13px; }

.architecture-card, .panel { background: var(--white); border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); }
.architecture-card { padding: 23px 25px 27px; margin-bottom: 20px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.section-heading .eyebrow { margin-bottom: 5px; }
.live-pill, .shield { color: var(--green); border: 1px solid #ccebdc; background: #f2fbf7; border-radius: 999px; padding: 6px 9px; font-size: 12px; font-weight: 800; letter-spacing: .8px; }
.live-pill i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--green); }
.live-pill.degraded { color: #a7650e; border-color: #ead19f; background: #fff7e8; }
.architecture-flow { display: grid; grid-template-columns: 1fr .55fr 1fr .55fr 1fr .55fr 1fr; align-items: center; gap: 8px; margin-top: 24px; }
.arch-node { position: relative; min-height: 92px; padding: 18px 16px 14px; border-radius: 10px; border: 1px solid #dbe3f0; background: #fbfcfe; }
.arch-node > span { position: absolute; top: 9px; right: 10px; color: #c0cada; font-size: 12px; font-family: ui-monospace, monospace; }
.arch-node strong, .arch-node small { display: block; }
.arch-node strong { margin: 12px 0 7px; color: var(--navy); font-size: 16px; }
.arch-node small { color: #748099; font-size: 12px; line-height: 1.4; }
.arch-node.control { border-top: 3px solid #2f7cf6; }
.arch-node.router { border-top: 3px solid #57c6e8; }
.arch-node.stamp { border-top: 3px solid #6568de; background: #f8f8ff; }
.arch-node.bus { border-top: 3px solid #31ad7c; }
.connector { display: flex; flex-direction: column; align-items: center; gap: 7px; }
.connector i { position: relative; width: 100%; height: 1px; background: #bdc9da; }
.connector i::after { content: ""; position: absolute; right: -1px; top: -3px; border-left: 5px solid #93a2b8; border-top: 3px solid transparent; border-bottom: 3px solid transparent; }
.connector b { color: #98a3b5; font-size: 11px; font-weight: 600; text-align: center; }

.work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.panel { padding: 24px 25px; }
.panel-copy { margin: 16px 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.shield { color: #5d62b7; border-color: #dfe0f8; background: #f6f6ff; }
.shield.blue { color: #2770d9; border-color: #d1e4ff; background: #f3f8ff; }
.config-list { display: grid; gap: 9px; min-height: 116px; }
.config-row { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.config-row.active { border-color: #bcd7ff; background: #f6faff; }
.version { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; background: #edf3fb; color: var(--navy); font-size: 15px; font-weight: 800; }
.config-row strong, .config-row small { display: block; }
.config-row strong { font-size: 14px; }
.config-row small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.badge { padding: 5px 7px; border-radius: 999px; color: #6e7890; background: #eef1f5; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.badge.published { color: #218158; background: #eaf8f1; }
.button-row { display: flex; gap: 8px; margin-top: 14px; }
.button { border: 0; border-radius: 8px; padding: 10px 13px; cursor: pointer; font-size: 13px; font-weight: 760; transition: .15s ease; }
.button:hover { transform: translateY(-1px); }
.button:disabled { cursor: wait; opacity: .55; transform: none; }
.button.primary { color: white; background: linear-gradient(135deg, #347ff4, #2769dc); box-shadow: 0 6px 15px rgba(47,124,246,.2); }
.button.secondary { color: #315a95; background: #eaf2fd; }
.button.ghost { color: #66728a; background: white; border: 1px solid var(--line); }
.button.wide { width: 100%; margin-top: 14px; padding: 12px; }
.button.small { padding: 7px 10px; }
.result-note { margin-top: 13px; padding: 10px 12px; border-radius: 8px; font-size: 12px; line-height: 1.5; }
.result-note.neutral { color: #637088; background: #f2f5f9; }
.result-note.success { color: #1d7d54; background: #ebf9f2; }
.result-note.error { color: #ad3947; background: #fff0f2; }
.workflow-preview { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.workflow-preview > div:first-child small, .workflow-preview > div:first-child strong { display: block; }
.workflow-preview > div:first-child small { color: #6577a0; font-size: 11px; font-weight: 800; letter-spacing: .8px; }
.workflow-preview > div:first-child strong { margin-top: 5px; font-size: 13px; }
.workflow-preview-controls { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }
.workflow-preview select { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--navy); font: inherit; font-size: 12px; }
.workflow-route { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; min-height: 39px; margin-top: 9px; padding: 10px 11px; border-radius: 8px; }
.workflow-route > span { padding: 5px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.workflow-route strong, .workflow-route small { display: block; }
.workflow-route strong { font-size: 12px; }
.workflow-route small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.workflow-route.routed { background: #edf8f4; }
.workflow-route.routed > span { color: #19704e; background: #d7f0e5; }
.workflow-route.held { background: #fff5e9; }
.workflow-route.held > span { color: #9b6219; background: #ffe6c3; }

.invoice-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0 13px; }
.invoice-hero > div { padding: 15px; border: 1px solid var(--line); border-radius: 9px; }
.invoice-hero strong, .invoice-hero span { display: block; }
.invoice-hero strong { margin: 7px 0 5px; color: var(--navy); font-size: 16px; }
.invoice-hero span { color: var(--muted); font-size: 12px; }
.formula { padding: 12px 14px; border-left: 3px solid #59bee4; background: #f5f9fd; border-radius: 4px 8px 8px 4px; }
.formula span, .formula strong, .formula code { display: block; }
.formula span { color: #8490a7; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }
.formula strong { margin: 5px 0; font-size: 14px; }
.formula code { color: #697892; font-size: 12px; }

.trace-panel, .event-panel { margin-bottom: 20px; }
.operations-panel { margin-bottom: 20px; }
.task-panel { position: relative; margin-bottom: 20px; overflow: hidden; }
.task-panel::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 3px; background: linear-gradient(90deg, #614bd1, #31a9a0); }
.button.task-primary { color: white; background: linear-gradient(135deg, #6653d8, #4a3cb1); }
.task-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
.task-summary > div { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fbfbfe; }
.task-summary span, .task-summary strong, .task-summary small { display: block; }
.task-summary span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .6px; }
.task-summary strong { margin: 5px 0 3px; color: var(--navy); font-size: 18px; }
.task-summary small { color: var(--muted); font-size: 11px; }
.task-table td strong, .task-table td small { display: block; }
.task-table td small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.task-sla { display: inline-block; padding: 5px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.task-sla.healthy { color: #19704e; background: #dff3e9; }
.task-sla.at_risk { color: #996015; background: #ffebca; }
.task-sla.breached { color: #a53143; background: #ffe0e5; }
.task-owner-state { color: #69758a; font-size: 11px; text-transform: uppercase; }
.procurement-panel { position: relative; margin-bottom: 20px; overflow: hidden; }
.procurement-panel::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 3px; background: linear-gradient(90deg, #2d7def, #9b68de); }
.button.procurement-primary { color: white; background: linear-gradient(135deg, #347ff4, #7658cc); box-shadow: 0 6px 15px rgba(74,88,190,.2); }
.procurement-stage-summary { display: grid; grid-template-columns: repeat(3, 1fr 22px) 1fr; align-items: center; margin: 15px 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.procurement-stage-summary > div { padding: 9px; text-align: center; }
.procurement-stage-summary span { display: block; color: #8994a8; font-size: 10px; font-weight: 780; letter-spacing: .8px; }
.procurement-stage-summary strong { display: block; margin-top: 5px; color: var(--navy); font-size: 17px; }
.procurement-stage-summary i { color: #abb6c6; text-align: center; font-style: normal; }
.procurement-table-wrap { border: 1px solid var(--line); border-radius: 10px; }
.procurement-table th:not(:first-child), .procurement-table td:not(:first-child) { text-align: left; }
.procurement-table td strong, .procurement-table td small { display: block; }
.procurement-table td strong { color: var(--navy); font-size: 12px; }
.procurement-table td small { max-width: 230px; margin-top: 4px; color: #8793a8; font-size: 10px; }
.status-badge.procurement-pending_approval { color: #a7650e; background: #fff4df; }
.status-badge.procurement-purchase_order_issued, .status-badge.procurement-received { color: #236da9; background: #e9f4ff; }
.status-badge.procurement-matched { color: #247652; background: #eaf8f1; }
.status-badge.procurement-match_exception, .status-badge.procurement-receipt_exception { color: #ad3947; background: #fff0f2; }
.table-action.procurement-approve { color: #91600f; border-color: #ead19f; background: #fffaf0; }
.table-action.procurement-receive, .table-action.procurement-match { color: #4e55ad; border-color: #c8c8ee; background: #f7f7ff; }
.stavcard-panel { position: relative; margin-bottom: 20px; overflow: hidden; }
.stavcard-panel::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #7464ee, #38b8df, #37c589); }
.concept-pill { align-self: center; padding: 6px 9px; border-radius: 99px; color: #6656c1; background: #f0edff; font-size: 11px; font-weight: 800; letter-spacing: .7px; }
.button.card-primary { color: white; background: linear-gradient(135deg, #685de3, #3b7be5); box-shadow: 0 6px 15px rgba(89,82,208,.2); }
.card-program-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin: 16px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.card-program-metrics > div { padding: 14px 16px; border-right: 1px solid var(--line); }
.card-program-metrics > div:last-child { border-right: 0; }
.card-program-metrics span, .card-policy-card span { display: block; color: #8a95a9; font-size: 11px; font-weight: 760; letter-spacing: .8px; }
.card-program-metrics strong { display: block; margin: 8px 0 3px; color: var(--navy); font-size: 17px; }
.card-program-metrics small { color: #8a95a9; font-size: 11px; }
.card-receipt-head { display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 0 8px;padding-top:13px;border-top:1px solid var(--line) }
.card-receipt-head h3{margin:4px 0 0;color:var(--navy);font-size:16px}
.card-receipt-summary{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fbfcff}
.card-receipt-summary>div{padding:11px 14px;border-right:1px solid var(--line)}.card-receipt-summary>div:last-child{border-right:0}
.card-receipt-summary span,.card-receipt-summary strong,.card-receipt-summary small{display:block}.card-receipt-summary span{color:#8994a8;font-size:10px;font-weight:800;letter-spacing:.8px}.card-receipt-summary strong{margin-top:5px;color:var(--navy);font-size:17px}.card-receipt-summary small{margin-top:3px;color:#8b96a9;font-size:10px}
.card-receipt-queue{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:9px 0 14px}.card-receipt-queue article{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.card-receipt-queue article.past_due{border-color:#edc4ca;background:#fffafb}.card-receipt-queue article.complete{border-color:#b8decf;background:#f9fdfb}.card-receipt-queue strong,.card-receipt-queue small{display:block}.card-receipt-queue strong{color:var(--navy);font-size:11px}.card-receipt-queue small{margin-top:3px;color:#8994a8;font-size:9px}.card-receipt-queue>article>span{color:#8a5a16;font-size:10px;font-weight:800;text-align:right;text-transform:uppercase}.card-receipt-queue article.past_due>span{color:#ac3d4b}.card-receipt-queue article.complete>span{color:#247652}.card-receipt-queue code{grid-column:1/-1;color:#8994a8;font-size:9px}.card-action-stack{display:grid;gap:4px}.table-action.card-receipt{color:#6a55ad;border-color:#d0c7ed;background:#faf8ff}
.card-work-grid { display: grid; grid-template-columns: 1.45fr .55fr; gap: 13px; }
.program-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.program-cards.empty-state { display: block; margin: 0; }
.program-card { position: relative; min-height: 122px; padding: 15px; overflow: hidden; border-radius: 11px; color: #eef1ff; background: linear-gradient(145deg, #29366d, #17214c); box-shadow: 0 9px 21px rgba(19,31,72,.13); }
.program-card.virtual { background: linear-gradient(145deg, #504cb6, #24285c); }
.program-card.locked { opacity: .65; filter: saturate(.55); }
.program-card > div { display: flex; justify-content: space-between; align-items: center; }
.program-card span { color: #9daadd; font-size: 10px; letter-spacing: 1px; }
.program-card b { font: 700 13px ui-monospace, monospace; }
.program-card > strong, .program-card > small { display: block; }
.program-card > strong { margin-top: 28px; font-size: 13px; }
.program-card > small { margin-top: 5px; color: #9ea9ce; font-size: 10px; }
.program-card > i { position: absolute; right: 12px; bottom: 11px; color: #64ddaa; font-size: 10px; font-style: normal; text-transform: uppercase; }
.program-card.locked > i { color: #f4c473; }
.card-policy-card { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #dedcf9; border-radius: 10px; overflow: hidden; background: #f8f7ff; }
.card-policy-card > div { padding: 13px; border-right: 1px solid #e6e3fa; border-bottom: 1px solid #e6e3fa; }
.card-policy-card > div:nth-child(2n) { border-right: 0; }
.card-policy-card > div:nth-last-child(-n+2) { border-bottom: 0; }
.card-policy-card strong { display: block; margin-top: 7px; color: #4d4b7d; font-size: 12px; line-height: 1.45; }
.card-table-wrap { margin-top: 16px; border: 1px solid var(--line); border-radius: 10px; }
.card-table th:not(:first-child), .card-table td:not(:first-child) { text-align: left; }
.card-table td strong, .card-table td small { display: block; }
.card-table td strong { color: var(--navy); font-size: 12px; }
.card-table td small { max-width: 200px; margin-top: 4px; color: #8a95a9; font-size: 10px; line-height: 1.4; }
.card-table td code { color: #625bb2; font-size: 12px; }
.status-badge.card-authorized { color: #247652; background: #eaf8f1; }
.status-badge.card-declined { color: #ad3947; background: #fff0f2; }
.status-badge.card-cleared { color: #4e55ad; background: #eeeeff; }
.status-badge.card-disputed { color: #a7650e; background: #fff4df; }
.table-action.card-clear { color: #4e55ad; border-color: #c8c8ee; background: #f7f7ff; }
.card-control-list { padding: 0; margin: 0; list-style: none; }
.card-control-list li { display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.card-control-list i { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; font-style: normal; }
.card-control-list i.pass { color: #218158; background: #eaf8f1; }
.card-control-list i.fail { color: #ad3947; background: #fff0f2; }
.card-control-list strong, .card-control-list small { display: block; }
.card-control-list strong { font-size: 12px; text-transform: capitalize; }
.card-control-list small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.card-control-list code { color: #6f7d94; font-size: 10px; }
.payment-center-panel { position: relative; margin-bottom: 20px; overflow: hidden; }
.payment-center-panel::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 3px; background: linear-gradient(90deg, #2d7def, #2eb698); }
.treasury-visibility-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 18px 0 9px; padding-top: 14px; border-top: 1px solid var(--line); }
.treasury-visibility-head h3 { margin: 4px 0 0; color: var(--navy); font-size: 16px; }
.treasury-visibility-summary { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fbfcfe; }
.treasury-visibility-summary > div { padding: 12px; border-right: 1px solid var(--line); }
.treasury-visibility-summary > div:last-child { border-right: 0; }
.treasury-visibility-summary span,.treasury-visibility-summary strong,.treasury-visibility-summary small { display: block; }
.treasury-visibility-summary span { color: #8994a8; font-size: 10px; font-weight: 800; letter-spacing: .8px; }
.treasury-visibility-summary strong { margin-top: 5px; color: var(--navy); font-size: 18px; }
.treasury-visibility-summary small { margin-top: 4px; color: #8b96a9; font-size: 10px; }
.treasury-account-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 10px 0; }
.treasury-account-strip article { padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: linear-gradient(145deg,#f8fbff,#fff); }
.treasury-account-strip article > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.treasury-account-strip span { color: #6f7b91; font-size: 10px; }
.treasury-account-strip i { padding: 3px 5px; border-radius: 8px; font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.treasury-account-strip .treasury-fresh { color: #247652; background: #eaf8f1; }
.treasury-account-strip .treasury-stale { color: #ac3d4b; background: #fff0f2; }
.treasury-account-strip strong,.treasury-account-strip small,.treasury-account-strip code { display: block; }
.treasury-account-strip strong { margin-top: 8px; color: var(--navy); font-size: 15px; }
.treasury-account-strip small { margin-top: 4px; color: #6f7b91; font-size: 10px; }
.treasury-account-strip code { margin-top: 7px; color: #8c97a9; font-size: 9px; }
.treasury-entry-wrap { margin-top: 10px; border: 1px solid var(--line); border-radius: 10px; }
.treasury-entry-table td strong,.treasury-entry-table td small { display: block; }
.treasury-entry-table td strong { color: var(--navy); font-size: 11px; }
.treasury-entry-table td small { max-width: 220px; margin-top: 4px; color: #8793a8; font-size: 9px; line-height: 1.35; }
.treasury-direction { display: inline-block; margin-bottom: 4px; padding: 3px 5px; border-radius: 7px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.treasury-direction.debit { color: #9b4f35; background: #fff3ee; }
.treasury-direction.credit { color: #247652; background: #eaf8f1; }
.status-badge.treasury-match-exact { color: #247652; background: #eaf8f1; }
.status-badge.treasury-match-review { color: #a7650e; background: #fff4df; }
.status-badge.treasury-match-unmatched { color: #ac3d4b; background: #fff0f2; }
.button.payment-primary { color: white; background: linear-gradient(135deg, #2477ed, #1e9e80); box-shadow: 0 6px 15px rgba(37,124,187,.2); }
.payment-route-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 16px 0 9px; }
.payment-route-head h3 { margin: 4px 0 0; color: var(--navy); font-size: 16px; }
.payment-route-preview { display: grid; grid-template-columns: .8fr 1.4fr .9fr; gap: 8px; margin-bottom: 14px; }
.payment-route-preview article { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #f9fbfe; }
.payment-route-preview h4 { margin: 0 0 8px; color: #8490a4; font-size: 10px; letter-spacing: .8px; text-transform: uppercase; }
.payment-route-preview strong, .payment-route-preview small { display: block; }
.payment-route-preview strong { color: var(--navy); font-size: 14px; }
.payment-route-preview small { margin-top: 5px; color: #7d899e; font-size: 10px; line-height: 1.4; }
.route-candidates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.route-candidates span { padding: 7px; border-radius: 6px; color: #8a5a16; background: #fff6e9; font-size: 10px; }
.route-candidates span.eligible { color: #247652; background: #eaf8f1; }
.route-candidates b, .route-candidates i { display: block; font-style: normal; }
.route-candidates i { margin-top: 3px; font-size: 9px; }
.bank-account-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.bank-account-cards.empty-state { display: block; margin: 0; }
.bank-account-card { position: relative; padding: 16px; overflow: hidden; border: 1px solid #d8e4ef; border-radius: 10px; background: linear-gradient(150deg, #fbfdff, #f3f9f8); }
.bank-account-card > div { display: flex; justify-content: space-between; gap: 12px; color: #7b899e; font-size: 11px; }
.bank-account-card code { font-size: 11px; }
.bank-account-card strong { display: block; margin: 12px 0 5px; color: var(--navy); font-size: 17px; }
.bank-account-card small { color: #7d899d; font-size: 11px; }
.bank-account-card i { position: absolute; right: 13px; bottom: 12px; color: #25826a; font-size: 11px; font-style: normal; font-weight: 800; }
.payment-pipeline { display: grid; grid-template-columns: repeat(3, 1fr 22px) 1fr; align-items: center; margin: 15px 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.payment-pipeline > div { padding: 10px; text-align: center; }
.payment-pipeline span { display: block; color: #8793a7; font-size: 10px; font-weight: 760; letter-spacing: .8px; }
.payment-pipeline strong { display: block; margin-top: 5px; color: var(--navy); font-size: 17px; }
.payment-pipeline i { color: #abb6c6; text-align: center; font-style: normal; }
.payment-table-wrap { border: 1px solid var(--line); border-radius: 10px; }
.payment-table th:not(:first-child), .payment-table td:not(:first-child) { text-align: left; }
.payment-table td strong, .payment-table td small { display: block; }
.payment-table td strong { color: var(--navy); font-size: 12px; }
.payment-table td small { max-width: 210px; margin-top: 4px; color: #8793a8; font-size: 10px; line-height: 1.4; }
.rail-badge { display: inline-flex; padding: 5px 7px; border-radius: 6px; color: #226c93; background: #e8f5fa; font-size: 11px; font-weight: 800; }
.status-badge.payment-pending_approval { color: #a7650e; background: #fff4df; }
.status-badge.payment-ready_to_submit { color: #236da9; background: #e9f4ff; }
.status-badge.payment-submitted, .status-badge.payment-settled { color: #5259ae; background: #efefff; }
.status-badge.payment-reconciled { color: #247652; background: #eaf8f1; }
.status-badge.payment-returned { color: #ac3d4b; background: #fff0f2; }
.status-badge.payment-refund_pending { color: #a7650e; background: #fff4df; }
.status-badge.payment-refunded { color: #247652; background: #eaf8f1; }
.table-action.payment-approve { color: #91600f; border-color: #ead19f; background: #fffaf0; }
.table-action.payment-submit, .table-action.payment-iso { color: #4e55ad; border-color: #c8c8ee; background: #f7f7ff; }
.table-action.payment-settle, .table-action.payment-reconcile { color: #247652; border-color: #adddc9; background: #f3fbf7; }
.table-action.payment-return { color: #ac3d4b; border-color: #edbcc3; background: #fff7f8; }
.table-action.payment-refund { color: #8a5a16; border-color: #ead19f; background: #fffaf0; }
.iso-preview { max-height: 280px; padding: 12px; overflow: auto; border-radius: 8px; color: #4c5f78; background: #f3f6f9; white-space: pre-wrap; overflow-wrap: anywhere; font: 10px/1.5 ui-monospace, monospace; }
.budget-panel { position: relative; margin-bottom: 20px; overflow: hidden; }
.budget-panel::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 3px; background: linear-gradient(90deg, #e3a543, #42b98d); }
.budget-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 16px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.budget-summary > div { padding: 15px; border-right: 1px solid var(--line); }
.budget-summary > div:last-child { border-right: 0; }
.budget-summary span { display: block; color: #8994a8; font-size: 11px; font-weight: 780; letter-spacing: .8px; }
.budget-summary strong { display: block; margin: 8px 0 4px; color: var(--navy); font-size: 18px; }
.budget-summary small { color: #8994a8; font-size: 11px; }
.budget-lines { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; padding: 3px 14px; border: 1px solid var(--line); border-radius: 10px; }
.budget-line { display: grid; grid-template-columns: minmax(160px, 1.15fr) minmax(100px, .8fr) 145px 48px; gap: 12px; align-items: center; min-height: 55px; border-bottom: 1px solid var(--line); }
.budget-line:nth-last-child(-n+2) { border-bottom: 0; }
.budget-line strong, .budget-line small { display: block; }
.budget-line strong { color: var(--navy); font-size: 12px; text-transform: capitalize; }
.budget-line small { margin-top: 4px; color: #8a95a9; font-size: 10px; }
.budget-line > span { color: #66738a; font-size: 11px; text-align: right; }
.budget-line > b { color: #247652; font-size: 12px; text-align: right; }
.budget-line.warning > b { color: #a7650e; }
.budget-line.exceeded > b { color: #ad3947; }
.budget-bar { height: 7px; overflow: hidden; border-radius: 99px; background: #edf1f5; }
.budget-bar i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #43bc8f, #66c9ad); }
.budget-line.warning .budget-bar i { background: linear-gradient(90deg, #e3ad4d, #f1c66d); }
.budget-line.exceeded .budget-bar i { background: linear-gradient(90deg, #db6473, #ed8995); }
.budget-report-toolbar { display: grid; grid-template-columns: 170px 1fr auto; gap: 18px; align-items: center; padding: 11px 14px; border: 1px solid var(--line); border-radius: 9px 9px 0 0; background: #f8fafc; }
.budget-report-toolbar label, .budget-report-toolbar > span { color: #7e899d; font-size: 10px; font-weight: 780; letter-spacing: .75px; }
.budget-report-toolbar select { display: block; width: 100%; margin-top: 5px; padding: 7px 9px; border: 1px solid #d5dce5; border-radius: 6px; color: var(--navy); background: white; font: 700 12px inherit; }
.budget-report-toolbar strong, .budget-report-toolbar small { display: block; }
.budget-report-toolbar strong { color: var(--navy); font-size: 13px; }
.budget-report-toolbar small { margin-top: 3px; color: #8692a6; font-size: 10px; text-transform: capitalize; }
.budget-history { display: grid; grid-template-columns: repeat(3, 1fr); border: solid var(--line); border-width: 0 1px 1px; }
.budget-history article { position: relative; padding: 12px 14px; border-right: 1px solid var(--line); background: white; }
.budget-history article:last-child { border-right: 0; }
.budget-history article.active { background: #f2fbf7; box-shadow: inset 0 -2px #42b98d; }
.budget-history span, .budget-history small, .budget-history i { display: block; }
.budget-history span { color: #8792a5; font-size: 10px; font-weight: 800; letter-spacing: .6px; }
.budget-history strong { display: block; margin: 5px 0 3px; color: var(--navy); font-size: 16px; }
.budget-history small { color: #6f7c91; font-size: 10px; }
.budget-history i { margin-top: 5px; color: #9aa4b4; font-size: 9px; font-style: normal; text-transform: capitalize; }
.budget-browser { display: grid; grid-template-columns: 1.12fr .88fr; gap: 18px; margin-top: 16px; }
.budget-browser > div { min-width: 0; }
.budget-hierarchy, .budget-drilldown { height: 340px; overflow: auto; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.budget-node { display: grid; grid-template-columns: minmax(130px, 1fr) 48px 120px 42px; gap: 9px; align-items: center; width: 100%; min-height: 42px; padding: 7px 10px; border: 0; border-bottom: 1px solid #edf0f4; color: inherit; background: white; font: inherit; text-align: left; cursor: pointer; }
.budget-node:hover, .budget-node.selected { background: #f2faf7; }
.budget-node.selected { box-shadow: inset 3px 0 #42b98d; }
.budget-node.depth-2 { padding-left: 25px; }
.budget-node.depth-3 { padding-left: 42px; }
.budget-node span i, .budget-node span strong { display: block; }
.budget-node span i { margin-bottom: 3px; color: #9aa4b5; font-size: 9px; font-style: normal; text-transform: uppercase; }
.budget-node span strong { overflow: hidden; color: var(--navy); font-size: 11px; text-overflow: ellipsis; text-transform: capitalize; white-space: nowrap; }
.budget-node > small, .budget-node > b, .budget-node > em { color: #79869a; font-size: 10px; font-style: normal; font-weight: 600; text-align: right; }
.budget-node > em { color: #267754; font-weight: 800; }
.budget-node.warning > em { color: #a7650e; }
.budget-node.exceeded > em { color: #ad3947; }
.drilldown-empty { display: grid; place-content: center; height: 100%; padding: 30px; color: #8995a8; text-align: center; }
.drilldown-empty strong, .drilldown-empty span { display: block; }
.drilldown-empty strong { margin-bottom: 7px; color: var(--navy); font-size: 14px; }
.drilldown-empty span { max-width: 300px; font-size: 11px; line-height: 1.5; }
.drilldown-head { display: flex; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid var(--line); background: #f8fafc; }
.drilldown-head strong { color: var(--navy); font-size: 11px; }
.drilldown-head span { color: #8c97a9; font-size: 10px; text-transform: capitalize; }
.budget-drilldown > article { display: grid; grid-template-columns: 1fr 100px 40px; gap: 10px; align-items: center; min-height: 57px; padding: 8px 11px; border-bottom: 1px solid #edf0f4; }
.budget-drilldown > article code, .budget-drilldown > article strong, .budget-drilldown > article small { display: block; }
.budget-drilldown > article code { overflow: hidden; color: #567087; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.budget-drilldown > article strong { margin: 4px 0 3px; color: var(--navy); font-size: 11px; text-transform: capitalize; }
.budget-drilldown > article small { color: #8d98a9; font-size: 9px; }
.budget-drilldown > article > span, .budget-drilldown > article > b { color: #66758b; font-size: 11px; text-align: right; }
.budget-drilldown > article > b { color: #267754; }
.button-row.flush { margin-top: 0; }
.provenance-copy { margin-bottom: 12px; }
.pipeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr) 22px) minmax(0, 1fr); align-items: center; padding: 13px; margin: 14px 0 18px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafd; }
.pipeline > div { padding: 9px 12px; border-radius: 8px; background: white; text-align: center; }
.pipeline span, .benchmark-summary span { display: block; color: #8792a9; font-size: 11px; font-weight: 760; letter-spacing: 1px; }
.pipeline strong { display: block; margin-top: 6px; color: var(--navy); font-size: 18px; }
.pipeline i { color: #aab5c6; text-align: center; font-style: normal; }
.invoice-table-wrap { border: 1px solid var(--line); border-radius: 10px; }
.invoice-table th:last-child, .invoice-table td:last-child { text-align: right; }
.invoice-table tbody tr { transition: background .15s ease; }
.invoice-table tbody tr:hover { background: #f8fbff; }
.invoice-table td { height: 58px; }
.invoice-table td:nth-child(2) { color: #69758c; }
.invoice-link { padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.invoice-link strong, .invoice-link small { display: block; }
.invoice-link small { margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 500; }
.loading-cell { color: #8792a7 !important; text-align: center !important; font-weight: 500 !important; }
.status-badge { display: inline-flex; padding: 5px 7px; border-radius: 99px; color: #58657c; background: #edf1f6; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; }
.status-badge.ingested { color: #346cae; background: #eaf3ff; }
.status-badge.pending_approval { color: #a7650e; background: #fff4df; }
.status-badge.ready_to_export { color: #267454; background: #eaf8f1; }
.status-badge.export_queued { color: #5b5fb0; background: #efefff; }
.status-badge.exception, .status-badge.allocation_exception { color: #ad3947; background: #fff0f2; }
.table-action { border: 1px solid #cfd9e8; border-radius: 7px; padding: 7px 9px; color: #47617f; background: white; cursor: pointer; font-size: 11px; font-weight: 760; white-space: nowrap; }
.table-action:hover { border-color: #9cbff2; background: #f4f8ff; }
.table-action.approve { color: #91600f; border-color: #ead19f; background: #fffaf0; }
.table-action.export { color: #267454; border-color: #adddc9; background: #f3fbf7; }
.table-action.danger { color: #ad3947; border-color: #efc1c7; background: #fff6f7; }
.compact-list { display: grid; margin-top: 17px; }
.compact-list.empty-state { display: block; }
.compact-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 12px; align-items: center; min-height: 57px; padding: 11px 3px; border-bottom: 1px solid var(--line); }
.compact-item:last-child { border-bottom: 0; }
.compact-item strong, .compact-item small { display: block; }
.compact-item strong { color: var(--navy); font-size: 13px; }
.compact-item small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.compact-item > span:not(.event-status) { color: #7c879d; font-size: 12px; }
.evidence-grid { align-items: start; }
.trace-summary { display: grid; grid-template-columns: 1.25fr 1fr 1.2fr .8fr; gap: 1px; margin: 20px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--line); }
.trace-summary > div { background: white; padding: 13px; }
.trace-summary strong { display: block; margin-top: 7px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.success { color: var(--green); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th { color: #8b96aa; background: #f4f6f9; text-align: left; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; }
th, td { padding: 11px 13px; border-bottom: 1px solid var(--line); }
th:not(:first-child), td:not(:first-child) { text-align: right; }
tbody td:first-child { color: var(--navy); font-weight: 650; }
tfoot td { color: var(--navy); background: #fbfcfd; font-weight: 800; }
.trace-foot { display: flex; justify-content: space-between; gap: 20px; padding-top: 13px; color: #7b879c; font-size: 12px; }
.event-item { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 18px; padding: 14px 3px; border-bottom: 1px solid var(--line); }
.event-item:last-child { border-bottom: 0; }
.event-item strong, .event-item small { display: block; }
.event-item strong { color: var(--navy); font-size: 14px; }
.event-item small { margin-top: 4px; color: var(--muted); font-size: 12px; font-family: ui-monospace, monospace; }
.event-status { color: var(--green); background: #eaf8f1; border-radius: 99px; padding: 5px 8px; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.event-time { color: #78849b; font-size: 12px; }
.empty-state { padding: 28px; margin-top: 16px; color: #8a96a9; background: #f6f8fb; border: 1px dashed #d5ddea; border-radius: 9px; text-align: center; font-size: 13px; }
.benchmark-panel { margin-bottom: 20px; }
.source-link { color: #3775cb; font-size: 12px; font-weight: 700; text-decoration: none; }
.benchmark-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 20px 0 15px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.benchmark-summary > div { padding: 16px; border-right: 1px solid var(--line); }
.benchmark-summary > div:last-child { border-right: 0; }
.benchmark-summary strong { display: block; margin: 8px 0 4px; color: var(--navy); font-size: 17px; }
.benchmark-summary small { color: var(--muted); font-size: 11px; }
.benchmark-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.benchmark-list > div { padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: #fbfcfe; }
.benchmark-list strong, .benchmark-list span, .benchmark-list small { display: block; }
.benchmark-list strong { height: 28px; color: var(--navy); font-size: 12px; line-height: 1.4; }
.benchmark-list span { margin-top: 6px; color: #58667e; font-size: 12px; }
.benchmark-list small { margin-top: 8px; color: #8b96aa; font-size: 10px; }
.benchmark-subhead{display:flex;justify-content:space-between;gap:12px;margin:15px 0 8px;color:#70809a;font-size:10px;font-weight:800;letter-spacing:.7px}.benchmark-subhead small{font-weight:500;letter-spacing:0}.private-fund-trend{display:grid;grid-template-columns:repeat(9,1fr) 160px;gap:7px;align-items:end;height:150px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafd}.private-fund-trend>div{display:grid;grid-template-rows:auto 82px auto;gap:5px;text-align:center}.private-fund-trend span,.private-fund-trend strong{color:#6d7e97;font-size:9px}.private-fund-trend i{display:flex;align-items:flex-end;justify-content:center;border-radius:4px;background:#e7edf5;overflow:hidden}.private-fund-trend i b{display:block;width:100%;min-height:4px;background:linear-gradient(180deg,#4b79bc,#63b6a2)}.private-fund-trend aside{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:center;padding:10px;border-left:1px solid var(--line)}.private-fund-trend aside strong{color:var(--navy);font-size:15px}.private-fund-trend aside span{text-align:left;font-size:10px}@media(max-width:900px){.private-fund-trend{grid-template-columns:repeat(9,1fr);height:130px}.private-fund-trend aside{display:none}}
.disclaimer { margin: 14px 0 0; color: #8a95a8; font-size: 11px; line-height: 1.5; }
.fund-catalog-panel { margin-bottom: 20px; }
.fund-catalog-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; align-items: stretch; }
.benchmark-summary.fund-summary { margin-top: 0; grid-template-columns: repeat(3, 1fr); }
.fund-history { display: grid; gap: 8px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.fund-history-row { display: grid; grid-template-columns: 34px minmax(100px, 1fr) 90px 92px; gap: 10px; align-items: center; font-size: 11px; }
.fund-history-row strong { color: var(--navy); }
.fund-history-row > div { height: 7px; overflow: hidden; border-radius: 99px; background: #e7edf5; }
.fund-history-row i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #347ff4, #59c2e8); }
.fund-history-row span { color: #51617b; font-weight: 700; text-align: right; }
.fund-history-row small { color: #8a96a9; text-align: right; }
.fund-search-card { display: grid; align-content: center; padding: 20px; border: 1px solid #d9e4f3; border-radius: 10px; background: linear-gradient(150deg, #f8fbff, #f2f7fd); }
.fund-search label { display: block; margin-bottom: 10px; color: #68758d; font-size: 12px; font-weight: 700; }
.fund-search > div { display: flex; gap: 8px; }
.fund-search input { min-width: 0; flex: 1; padding: 10px 11px; border: 1px solid #cad7e7; border-radius: 8px; color: var(--navy); background: white; outline: none; font: 13px inherit; }
.fund-search input:focus { border-color: #6aa1ee; box-shadow: 0 0 0 3px rgba(52,127,244,.09); }
.fund-search-meta { margin-top: 11px; color: #7f8ca2; font: 11px ui-monospace, monospace; }
.fund-table-wrap { margin-top: 17px; border: 1px solid var(--line); border-radius: 10px; }
.fund-table th:not(:first-child), .fund-table td:not(:first-child) { text-align: left; }
.fund-table td { color: #66738b; vertical-align: middle; }
.fund-table td strong, .fund-table td small, .fund-table td code { display: block; }
.fund-table td strong { color: var(--navy); font-size: 12px; }
.fund-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.fund-table td code { color: #456487; font-size: 11px; }
.fund-table .ticker { color: #286fdb; font: 800 14px ui-monospace, monospace; }
.fund-allocation-example { display: grid; grid-template-columns: .9fr .6fr 2fr; gap: 15px; align-items: center; margin-top: 16px; padding: 16px; border: 1px solid #d9e4f3; border-radius: 10px; background: #f8fbff; }
.fund-allocation-example h3 { margin: 4px 0 7px; color: var(--navy); font-size: 16px; }
.fund-allocation-example > div:first-child > p:last-child { margin: 0; color: #77849a; font-size: 11px; line-height: 1.5; }
.fund-allocation-example form label { display: block; margin-bottom: 7px; color: #68758d; font-size: 11px; font-weight: 700; }
.fund-allocation-example form > div { display: flex; gap: 7px; }
.fund-allocation-example input { min-width: 0; width: 100%; padding: 9px; border: 1px solid #cad7e7; border-radius: 7px; color: var(--navy); background: white; font-size: 12px; }
.fund-allocation-result { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.fund-allocation-result article { padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.fund-allocation-result article > div { display: flex; justify-content: space-between; gap: 6px; }
.fund-allocation-result article strong { color: #286fdb; font: 800 13px ui-monospace, monospace; }
.fund-allocation-result article span { color: #68758d; font-size: 10px; }
.fund-allocation-result article b, .fund-allocation-result article small, .fund-allocation-result article code { display: block; }
.fund-allocation-result article b { margin: 8px 0 4px; color: var(--navy); font-size: 15px; }
.fund-allocation-result article small { color: #8490a3; font-size: 9px; }
.fund-allocation-result article code { margin-top: 7px; color: #6c7d95; font-size: 9px; }
.fund-allocation-proof { grid-column: 1 / -1; display: grid; grid-template-columns: 42px 1fr auto; gap: 8px; align-items: center; padding: 8px 10px; border-radius: 7px; background: #eaf8f1; }
.fund-allocation-proof span { color: #247652; font-size: 11px; font-weight: 800; }
.fund-allocation-proof strong { color: #35546b; font-size: 11px; }
.fund-allocation-proof small { color: #668076; font-size: 10px; }
.accrual-panel { border-top: 3px solid #8667d6; }
.accrual-primary { color: white; border-color: #7654cc; background: #7654cc; }
.accrual-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.accrual-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); }
.accrual-summary > div:last-child { border-right: 0; }
.accrual-summary span, .accrual-summary strong, .accrual-summary small { display: block; }
.accrual-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.accrual-summary strong { margin: 7px 0 4px; color: var(--navy); font-size: 16px; }
.accrual-summary small { color: #8b96aa; font-size: 11px; }
.accrual-timeline { display: grid; grid-template-columns: repeat(12, 1fr); gap: 7px; min-height: 110px; padding: 13px; margin: 0 0 17px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfe; }
.accrual-month { display: grid; grid-template-rows: 1fr auto auto; gap: 5px; min-width: 0; text-align: center; }
.accrual-month > div { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 60px; border-radius: 5px; background: #edf0f6; overflow: hidden; }
.accrual-month i { display: block; width: 100%; min-height: 2px; border-radius: 4px 4px 0 0; background: linear-gradient(#9178dd, #694ac1); }
.accrual-month b { color: #53617a; font-size: 10px; }
.accrual-month small { color: #929caf; font-size: 9px; white-space: nowrap; }
.accrual-table td strong, .accrual-table td small { display: block; }
.accrual-table td strong { color: var(--navy); font-size: 12px; }
.accrual-table td small { margin-top: 4px; color: #8a95a8; font-size: 10px; }
.status-badge.accrual-reconciled { color: #197453; background: #e5f6ee; }
.status-badge.accrual-open { color: #7654cc; background: #f0ebfc; }
.services-panel { border-top: 3px solid #1a9b8a; }
.services-primary { color: white; border-color: #168c7c; background: #168c7c; }
.service-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 13px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.service-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); }
.service-summary > div:last-child { border-right: 0; }
.service-summary span, .service-summary strong, .service-summary small { display: block; }
.service-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.service-summary strong { margin: 7px 0 4px; color: var(--navy); font-size: 16px; }
.service-summary small { color: #8b96aa; font-size: 11px; }
.contract-alerts { display: flex; gap: 9px; padding: 0; margin: 0 0 16px; border: 0; background: transparent; text-align: left; }
.contract-alert { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border: 1px solid #f0d7b4; border-radius: 8px; background: #fffaf2; }
.contract-alert > div { min-width: 0; }
.contract-alert.expired { border-color: #ecc9cd; background: #fff6f7; }
.contract-alert strong, .contract-alert small { display: block; }
.contract-alert strong { color: #705327; font-size: 12px; }
.contract-alert.expired strong { color: #9a3e48; }
.contract-alert small { margin-top: 4px; color: #9a8668; font-size: 10px; }
.service-table td strong, .service-table td small, .service-table td code { display: block; }
.service-table td strong { color: var(--navy); font-size: 12px; }
.service-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.service-table td code { color: #147f72; font-size: 11px; }
.legal-panel { border-top: 3px solid #b27a35; }
.legal-primary { color: white; border-color: #a46c29; background: #a46c29; }
.legal-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 13px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.legal-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); }
.legal-summary > div:last-child { border-right: 0; }
.legal-summary span, .legal-summary strong, .legal-summary small { display: block; }
.legal-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.legal-summary strong { margin: 7px 0 4px; color: var(--navy); font-size: 16px; }
.legal-summary small { color: #8b96aa; font-size: 11px; }
.legal-matters { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0; margin: 0 0 16px; border: 0; background: transparent; text-align: left; }
.legal-matter { padding: 12px 14px; border: 1px solid #e6d8c7; border-radius: 9px; background: #fffcf7; }
.legal-matter strong, .legal-matter small { display: block; }
.legal-matter strong { color: var(--navy); font-size: 12px; }
.legal-matter small { margin-top: 5px; color: #8a7965; font-size: 10px; }
.legal-table td strong, .legal-table td small, .legal-table td code { display: block; }
.legal-table td strong { color: var(--navy); font-size: 12px; }
.legal-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.legal-table td code { color: #946123; font-size: 11px; }
.status-badge.legal-exception { color: #a1434e; background: #fff0f2; }
.status-badge.legal-submitted, .status-badge.legal-submitted_with_override { color: #197453; background: #e5f6ee; }
.tax-panel { border-top: 3px solid #4777ad; }
.tax-primary { color: white; border-color: #3e6fa6; background: #3e6fa6; }
.tax-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.tax-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); }
.tax-summary > div:last-child { border-right: 0; }
.tax-summary span, .tax-summary strong, .tax-summary small { display: block; }
.tax-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.tax-summary strong { margin: 7px 0 4px; color: var(--navy); font-size: 16px; }
.tax-summary small { color: #8b96aa; font-size: 11px; }
.tax-table td strong, .tax-table td small, .tax-table td code { display: block; }
.tax-table td strong { color: var(--navy); font-size: 12px; }
.tax-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.tax-table td code { color: #3d6c9f; font-size: 11px; }
.status-badge.tax-draft { color: #835b20; background: #fff6e7; }
.status-badge.tax-reviewed { color: #315f93; background: #ecf4fd; }
.status-badge.tax-filed_simulated, .status-badge.tax-delivered_simulated { color: #197453; background: #e5f6ee; }
.chargeback-panel { border-top: 3px solid #d05a67; }
.chargeback-primary { color: white; border-color: #c64f5c; background: #c64f5c; }
.chargeback-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.chargeback-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); }
.chargeback-summary > div:last-child { border-right: 0; }
.chargeback-summary span, .chargeback-summary strong, .chargeback-summary small { display: block; }
.chargeback-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.chargeback-summary strong { margin: 7px 0 4px; color: var(--navy); font-size: 16px; }
.chargeback-summary small { color: #8b96aa; font-size: 11px; }
.chargeback-table td strong, .chargeback-table td small, .chargeback-table td code { display: block; }
.chargeback-table td strong { color: var(--navy); font-size: 12px; }
.chargeback-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.chargeback-table td code { color: #b34854; font-size: 11px; }
.status-badge.chargeback-new { color: #7a5860; background: #f7eff1; }
.status-badge.chargeback-initiated, .status-badge.chargeback-processing { color: #315f93; background: #ecf4fd; }
.status-badge.chargeback-settled { color: #197453; background: #e5f6ee; }
.time-panel { border-top: 3px solid #735ab5; }
.time-primary { color: white; border-color: #694ea9; background: #694ea9; }
.time-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 13px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.time-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); }
.time-summary > div:last-child { border-right: 0; }
.time-summary span, .time-summary strong, .time-summary small { display: block; }
.time-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.time-summary strong { margin: 7px 0 4px; color: var(--navy); font-size: 16px; }
.time-summary small { color: #8b96aa; font-size: 11px; }
.time-driver-bars { display: grid; gap: 7px; padding: 13px 15px; margin-bottom: 16px; border: 1px solid #ded8ed; border-radius: 9px; background: #fbf9ff; }
.time-driver-row { display: grid; grid-template-columns: 118px 1fr 48px 58px; align-items: center; gap: 10px; font-size: 11px; }
.time-driver-row strong { color: var(--navy); font-size: 11px; }
.time-driver-row > div { height: 6px; overflow: hidden; border-radius: 9px; background: #ece8f4; }
.time-driver-row i { display: block; height: 100%; border-radius: inherit; background: #735ab5; }
.time-driver-row span, .time-driver-row small { color: #776990; text-align: right; }
.time-table td strong, .time-table td small { display: block; }
.time-table td strong { color: var(--navy); font-size: 12px; }
.time-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.time-warning { color: #a6632d; font-size: 11px; font-weight: 800; }
.time-complete { color: #197453; font-size: 11px; font-weight: 800; }
.status-badge.time-draft { color: #7a5860; background: #f7eff1; }
.status-badge.time-submitted, .status-badge.time-submitted_with_warning { color: #315f93; background: #ecf4fd; }
.status-badge.time-approved { color: #197453; background: #e5f6ee; }
.integration-panel { border-top: 3px solid #168a84; }
.integration-primary { color: white; border-color: #147e79; background: #147e79; }
.integration-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 10px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.integration-summary > div { padding: 15px 17px; border-right: 1px solid var(--line); }
.integration-summary > div:last-child { border-right: 0; }
.integration-summary span, .integration-summary strong, .integration-summary small { display: block; }
.integration-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.integration-summary strong { margin: 7px 0 4px; color: var(--navy); font-size: 16px; }
.integration-summary small { color: #8b96aa; font-size: 11px; }
.integration-categories { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 15px; }
.integration-categories span { padding: 6px 9px; border: 1px solid #d2e6e4; border-radius: 20px; color: #397a76; background: #f4fbfa; font-size: 10px; text-transform: uppercase; }
.integration-categories b { margin-left: 5px; color: #175f5a; }
.integration-table td strong, .integration-table td small, .integration-table td code { display: block; }
.integration-table td strong { color: var(--navy); font-size: 12px; }
.integration-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.integration-table td code { color: #147e79; font-size: 11px; }
.integration-direction { color: #147e79; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.status-badge.integration-queued { color: #7a5860; background: #f7eff1; }
.status-badge.integration-waiting_retry { color: #a6632d; background: #fff5e8; }
.status-badge.integration-completed_with_errors { color: #a1434e; background: #fff0f2; }
.status-badge.integration-completed { color: #197453; background: #e5f6ee; }
.card-operations-head { display: flex; align-items: center; justify-content: space-between; margin: 24px 0 10px; padding-top: 18px; border-top: 1px solid var(--line); }
.card-operations-head h3 { margin: 3px 0 0; color: var(--navy); font-size: 15px; }
.card-operations-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 12px; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.card-operations-summary > div { padding: 12px 14px; border-right: 1px solid var(--line); }
.card-operations-summary > div:last-child { border-right: 0; }
.card-operations-summary span, .card-operations-summary strong, .card-operations-summary small { display: block; }
.card-operations-summary span { color: #8994a8; font-size: 10px; font-weight: 800; letter-spacing: .6px; }
.card-operations-summary strong { margin: 5px 0 3px; color: var(--navy); font-size: 16px; }
.card-operations-summary small { color: #8b96aa; font-size: 10px; }
.card-operations-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.card-ops-table td strong, .card-ops-table td small { display: block; }
.card-ops-table td strong { color: var(--navy); font-size: 11px; }
.card-ops-table td small { margin-top: 3px; color: #8995aa; font-size: 10px; }
.report-panel { border-top: 3px solid #315f93; }
.dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 16px; border: 1px solid #d9e2ee; border-radius: 10px 10px 0 0; background: linear-gradient(135deg,#f6f9fd,#eef5fb); }
.dashboard-heading h3 { margin: 4px 0; color: var(--navy); font-size: 15px; }
.dashboard-heading small { color: #77879d; font-size: 11px; }
.dashboard-controls { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.dashboard-controls select { min-width: 132px; height: 32px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; color: #53627c; background: white; font-size: 11px; }
.dashboard-evidence { display: flex; flex-wrap: wrap; gap: 7px; padding: 9px 13px; border: 1px solid #d9e2ee; border-top: 0; background: white; }
.dashboard-evidence span { padding: 4px 7px; border-radius: 5px; color: #56708f; background: #edf4fa; font: 10px ui-monospace,monospace; }
.dashboard-widgets { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; padding: 12px; border: 1px solid #d9e2ee; border-top: 0; border-radius: 0 0 10px 10px; }
.dashboard-widget { min-height: 102px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; overflow: hidden; }
.dashboard-widget.kpi { min-height: 76px; background: #fbfcfe; }
.dashboard-widget.chart { grid-column: span 2; }
.dashboard-widget > div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.dashboard-widget h4 { margin: 0; color: #687991; font-size: 11px; }
.dashboard-widget code { color: #91a0b3; font-size: 9px; }
.dashboard-kpi { display: block; margin-top: 14px; color: var(--navy); font-size: 22px; }
.dashboard-series { display: grid; gap: 6px; margin-top: 10px; }
.dashboard-series > div { display: grid; grid-template-columns: minmax(85px,.8fr) 1.4fr minmax(52px,auto); align-items: center; gap: 7px; }
.dashboard-series span { overflow: hidden; color: #64748b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-series i { height: 6px; overflow: hidden; border-radius: 99px; background: #edf1f6; }
.dashboard-series b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5365d8,#43aaa8); }
.dashboard-series strong { color: #44556f; font-size: 10px; text-align: right; }
.report-catalog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 18px 0 12px; }
.report-catalog article { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 13px; border: 1px solid #d9e2ee; border-radius: 9px; background: #f9fbfe; }
.report-catalog article > div { grid-column: 1 / -1; }
.report-catalog strong, .report-catalog small { display: block; }
.report-catalog strong { color: var(--navy); font-size: 12px; }
.report-catalog small { margin-top: 5px; color: #77879d; font-size: 10px; }
.report-catalog article > span { color: #4777ad; font: 11px ui-monospace, monospace; }
.report-run-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 15px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.report-run-summary > div { padding: 13px 16px; border-right: 1px solid var(--line); }
.report-run-summary > div:last-child { border-right: 0; }
.report-run-summary span, .report-run-summary strong, .report-run-summary small { display: block; }
.report-run-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.report-run-summary strong { margin: 6px 0 3px; color: var(--navy); font-size: 15px; }
.report-run-summary small { color: #8b96aa; font-size: 10px; }
.report-table td strong, .report-table td small, .report-table td code { display: block; }
.report-table td strong { color: var(--navy); font-size: 12px; }
.report-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.report-table td code { color: #315f93; font-size: 11px; }
.report-metric { display: flex; justify-content: space-between; gap: 9px; min-width: 165px; color: #78869b; font-size: 10px; }
.report-metric b { color: var(--ink); }
.document-panel { border-top: 3px solid #8b63a9; }
.document-primary { color: white; border-color: #7c559c; background: #7c559c; }
.document-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 10px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.document-summary > div { padding: 14px 16px; border-right: 1px solid var(--line); }
.document-summary > div:last-child { border-right: 0; }
.document-summary span, .document-summary strong, .document-summary small { display: block; }
.document-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.document-summary strong { margin: 6px 0 3px; color: var(--navy); font-size: 15px; }
.document-summary small { color: #8b96aa; font-size: 10px; }
.document-table td strong, .document-table td small { display: block; }
.document-table td strong { color: var(--navy); font-size: 12px; }
.document-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.confidence { font-size: 12px; font-weight: 900; }
.confidence.high { color: #197453; }.confidence.medium { color: #a6632d; }.confidence.low { color: #a1434e; }
.status-badge.document-ready, .status-badge.document-imported { color: #197453; background: #e5f6ee; }
.status-badge.document-needs_review { color: #a6632d; background: #fff5e8; }
.status-badge.document-duplicate { color: #315f93; background: #ecf4fd; }
.status-badge.document-rejected { color: #a1434e; background: #fff0f2; }
.vendor-panel { border-top: 3px solid #247563; }
.onboarding-panel { position: relative; overflow: hidden; border-top: 3px solid #a96635; }
.procurement-catalog-head { display: flex; align-items: center; justify-content: space-between; margin: 17px 0 9px; }
.procurement-catalog-head h3 { margin: 3px 0 0; color: var(--navy); font-size: 15px; }
.procurement-catalog { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.procurement-catalog article { min-width: 0; padding: 13px 14px; border-right: 1px solid var(--line); background: #fbfcfe; }
.procurement-catalog article:last-child { border-right: 0; }
.procurement-catalog article > div { min-width: 0; }
.procurement-catalog strong, .procurement-catalog small, .procurement-catalog code { display: block; }
.procurement-catalog strong { margin: 7px 0 3px; overflow: hidden; color: var(--navy); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.procurement-catalog small { color: #8995aa; font-size: 10px; }
.procurement-catalog article > b { display: block; margin: 11px 0 6px; color: #355f94; font-size: 15px; }
.procurement-catalog article > b small { display: inline; }
.procurement-catalog code { overflow: hidden; color: #8b745d; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-kind { padding: 3px 6px; border-radius: 10px; color: #4d6380; background: #e9eff7; font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.catalog-kind.goods { color: #8a5a32; background: #fff1e6; }
.procurement-tax-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin: 9px 0 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.procurement-tax-strip > div { padding: 9px 12px; border-right: 1px solid var(--line); }
.procurement-tax-strip > div:last-child { border-right: 0; }
.procurement-tax-strip span, .procurement-tax-strip strong { display: block; }
.procurement-tax-strip span { color: #8995aa; font-size: 9px; font-weight: 800; letter-spacing: .5px; }
.procurement-tax-strip strong { margin-top: 4px; color: var(--navy); font-size: 13px; }
.onboarding-primary { color: white; border-color: #a45f2d; background: #a45f2d; }
.onboarding-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.onboarding-summary > div { min-width: 0; padding: 14px 16px; border-right: 1px solid var(--line); }
.onboarding-summary > div:last-child { border-right: 0; }
.onboarding-summary span, .onboarding-summary strong, .onboarding-summary small { display: block; }
.onboarding-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.onboarding-summary strong { margin: 6px 0 3px; overflow: hidden; color: var(--navy); font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-summary small { overflow: hidden; color: #8b96aa; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 12px; }
.onboarding-grid > article { padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.onboarding-subhead { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.onboarding-subhead h3 { margin: 3px 0 0; color: var(--navy); font-size: 15px; }
.onboarding-empty { display: grid; min-height: 210px; place-items: center; color: var(--muted); font-size: 12px; text-align: center; }
.masked-entity { padding: 13px 0; }
.masked-entity strong, .masked-entity small, .masked-entity code { display: block; }
.masked-entity strong { color: var(--navy); font-size: 14px; }
.masked-entity small { margin-top: 4px; color: #67768d; font-size: 11px; }
.masked-entity code { margin-top: 5px; color: #8a96aa; font-size: 10px; }
.ubo-list, .onboarding-bank-list { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.ubo-list > div, .onboarding-bank-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border-bottom: 1px solid var(--line); background: white; }
.ubo-list > div:last-child, .onboarding-bank-list > div:last-child { border-bottom: 0; }
.ubo-list span, .onboarding-bank-list span { color: var(--navy); font-size: 11px; font-weight: 700; }
.ubo-list small, .onboarding-bank-list small { display: block; margin-top: 3px; color: #8995aa; font-size: 10px; font-weight: 400; }
.ubo-list strong { color: #a45f2d; font-size: 14px; }
.onboarding-bank-list { margin-top: 9px; }
.onboarding-bank-list b { color: #a6632d; font-size: 10px; text-transform: uppercase; }
.onboarding-bank-list b.clear { color: #197453; }
.onboarding-control-list { margin-top: 10px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.onboarding-control-list > div { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 9px; border-bottom: 1px solid var(--line); background: white; }
.onboarding-control-list > div:last-child { border-bottom: 0; }
.onboarding-control-list i { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid #d5dbe5; border-radius: 50%; color: white; font-size: 12px; font-style: normal; }
.onboarding-control-list .clear i { border-color: #258363; background: #258363; }
.onboarding-control-list span { color: var(--navy); font-size: 11px; font-weight: 700; }
.onboarding-control-list span small { display: block; margin-top: 2px; overflow: hidden; color: #8995aa; font-size: 9px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-control-list b { color: #a6632d; font-size: 10px; text-transform: uppercase; }
.onboarding-control-list .clear b { color: #197453; }
.onboarding-eligibility { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0; }
.onboarding-eligibility article { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 13px 15px; border: 1px solid #f0ccd1; border-radius: 9px; background: #fff8f8; }
.onboarding-eligibility article.eligible { border-color: #b9decf; background: #f2fbf7; }
.onboarding-eligibility article > div { display: flex; align-items: center; gap: 8px; }
.onboarding-eligibility article span { color: #a45f2d; font-size: 15px; }
.onboarding-eligibility article strong { color: var(--navy); font-size: 13px; }
.onboarding-eligibility article b { align-self: center; color: #a1434e; font-size: 11px; }
.onboarding-eligibility article.eligible b { color: #197453; }
.onboarding-eligibility article small { grid-column: 1 / -1; color: #7f8ba0; font-size: 10px; line-height: 1.5; }
.vendor-primary { color: white; border-color: #216b5b; background: #216b5b; }
.vendor-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0 14px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.vendor-summary > div { padding: 14px 16px; border-right: 1px solid var(--line); }
.vendor-summary > div:last-child { border-right: 0; }
.vendor-summary span, .vendor-summary strong, .vendor-summary small { display: block; }
.vendor-summary span { color: #8792a6; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.vendor-summary strong { margin: 6px 0 3px; color: var(--navy); font-size: 15px; }
.vendor-summary small { color: #8b96aa; font-size: 10px; }
.vendor-table td strong, .vendor-table td small { display: block; }
.vendor-table td strong { color: var(--navy); font-size: 12px; }
.vendor-table td small { margin-top: 4px; color: #8995aa; font-size: 10px; }
.vendor-subhead { display: flex; align-items: center; justify-content: space-between; margin: 23px 0 10px; padding-top: 17px; border-top: 1px solid var(--line); }
.vendor-subhead h3 { margin: 3px 0 0; color: var(--navy); font-size: 16px; }
.status-badge.vendor-active, .status-badge.vendor-activated { color: #197453; background: #e5f6ee; }
.status-badge.vendor-onboarding, .status-badge.vendor-requested { color: #a1434e; background: #fff0f2; }
.status-badge.vendor-pending_approval, .status-badge.vendor-verified { color: #315f93; background: #ecf4fd; }
.status-badge.vendor-cooling_off { color: #a6632d; background: #fff5e8; }
.nport-holdings { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.nport-holdings > div { display: grid; grid-template-columns: 20px minmax(125px, 1fr) minmax(80px, 1fr) 110px; align-items: center; gap: 9px; padding: 9px 11px; border-bottom: 1px solid var(--line); }
.nport-holdings > div:last-child { border-bottom: 0; }
.nport-holdings span { color: #8c97aa; font: 11px ui-monospace, monospace; }
.nport-holdings strong, .nport-holdings em { color: var(--navy); font-size: 11px; font-style: normal; }
.nport-holdings small { display: block; margin-top: 3px; color: #8995aa; font-size: 10px; }
.nport-holdings i { height: 5px; overflow: hidden; border-radius: 5px; background: #e8edf4; }
.nport-holdings i b { display: block; height: 100%; border-radius: inherit; background: #315f93; }
.nport-holdings em { text-align: right; }
.nport-history { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.nport-history a { position: relative; display: grid; grid-template-columns: 72px minmax(80px, 1fr) 75px 1.35fr; gap: 9px; align-items: center; min-height: 39px; padding: 7px 10px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.nport-history a:last-child { border-bottom: 0; }
.nport-history a:hover { background: #f7faff; }
.nport-history span { color: #526b88; font: 11px ui-monospace, monospace; }
.nport-history i { height: 6px; overflow: hidden; border-radius: 6px; background: #e7edf5; }
.nport-history i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #65a9db, #506fd4); }
.nport-history strong { color: var(--navy); font-size: 11px; text-align: right; }
.nport-history small { overflow: hidden; color: #8995a8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.nport-history em { position: absolute; right: 8px; top: 3px; color: #278360; font-size: 9px; font-style: normal; font-weight: 800; }
.drawer { position: fixed; inset: 0; z-index: 20; display: grid; grid-template-columns: 1fr minmax(440px, 40vw); visibility: hidden; pointer-events: none; }
.drawer.open { visibility: visible; pointer-events: auto; }
.drawer-backdrop { border: 0; background: rgba(12, 20, 48, .32); opacity: 0; transition: opacity .2s ease; }
.drawer.open .drawer-backdrop { opacity: 1; }
.drawer-panel { height: 100vh; padding: 28px; overflow-y: auto; background: white; box-shadow: -20px 0 50px rgba(12, 20, 48, .15); transform: translateX(100%); transition: transform .24s ease; }
.drawer.open .drawer-panel { transform: translateX(0); }
.drawer-head { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.drawer-meta { display: flex; align-items: center; justify-content: space-between; margin: 18px 0; }
.drawer-meta code { color: #7c879b; font-size: 12px; }
.drawer-panel section { margin-top: 24px; }
.drawer-panel h3 { margin: 0 0 11px; color: #7b879b; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.invoice-workspace-summary { padding: 13px; border: 1px solid #dfe6f0; border-radius: 9px; background: #f8faff; }
.invoice-workspace-summary > div, .invoice-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.invoice-workspace-summary code { color: #77849b; font-size: 11px; }
.invoice-workspace-summary .approval-evidence { margin: 11px 0 0; }
.workspace-hold { margin: 9px 0 0; padding: 8px; border-radius: 6px; color: #9c5d13; background: #fff5e5; font-size: 11px; }
.invoice-support-list, .invoice-message-list { display: grid; gap: 7px; }
.invoice-support-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 8px; }
.invoice-support-item span, .invoice-message span { display: block; color: #5f75ad; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.invoice-support-item strong, .invoice-support-item small { display: block; }.invoice-support-item strong { margin: 4px 0; color: var(--navy); font-size: 12px; }.invoice-support-item small { color: #8994a6; font-size: 10px; }
.invoice-support-item code, .invoice-message code { color: #8692a5; font-size: 10px; }
.invoice-section-head { margin-bottom: 11px; }.invoice-section-head h3 { margin: 0; }
.invoice-message { padding: 11px; border-left: 3px solid #6f87d8; border-radius: 7px; background: #f7f9fd; }
.invoice-message > div { display: flex; justify-content: space-between; gap: 8px; }.invoice-message time { color: #929bad; font-size: 10px; }
.invoice-message strong, .invoice-message small { display: block; }.invoice-message strong { margin: 7px 0 4px; color: var(--navy); font-size: 12px; }.invoice-message small { color: #7e899d; font-size: 10px; }
.invoice-message p { margin: 8px 0; color: #64738a; font-size: 11px; line-height: 1.5; }
.approval-evidence { padding: 0; margin: 0; list-style: none; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.approval-evidence li { display: flex; justify-content: space-between; gap: 12px; padding: 11px 13px; border-bottom: 1px solid var(--line); font-size: 12px; }
.approval-evidence li:last-child { border-bottom: 0; }
.evidence-decision { padding: 13px; margin-bottom: 9px; border: 1px solid var(--line); border-radius: 9px; }
.evidence-decision > strong, .evidence-decision > small { display: block; }
.evidence-decision > strong { color: var(--navy); font-size: 13px; }
.evidence-decision > small { margin: 5px 0 10px; color: var(--muted); font-size: 11px; }
.evidence-decision > div { display: grid; gap: 5px; }
.evidence-decision span { display: flex; justify-content: space-between; gap: 12px; color: #6e7b91; font-size: 11px; }
.evidence-decision b { color: var(--ink); }

.audit-panel { background: linear-gradient(145deg, #fff 0%, #f7f8ff 100%); }
.audit-summary strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; }
.audit-domain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }
.audit-domain-grid article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.9); }
.audit-domain-grid article div { min-width: 0; }
.audit-domain-grid strong, .audit-domain-grid span { display: block; }
.audit-domain-grid strong { color: var(--navy); font-size: 13px; text-transform: capitalize; }
.audit-domain-grid span, .audit-domain-grid small { color: var(--muted); font-size: 11px; }
.audit-domain-grid code { color: var(--blue); font-size: 11px; white-space: nowrap; }
.audit-domain-grid small { grid-column: 1 / -1; }
@media (max-width: 820px) { .audit-domain-grid { grid-template-columns: 1fr; } }
.audit-list { padding: 0; margin: 0; list-style: none; }
.audit-list li { display: grid; grid-template-columns: 112px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.audit-list time { color: #8a96a9; font-size: 10px; }
.audit-list strong, .audit-list small { display: block; }
.audit-list strong { font-size: 12px; }
.audit-list small { margin-top: 4px; color: var(--muted); font: 10px ui-monospace, monospace; overflow-wrap: anywhere; }
.digest-block { display: block; padding: 11px; border-radius: 8px; color: #63718a; background: #f4f6f9; font-size: 11px; overflow-wrap: anywhere; }
.hidden { display: none; }
footer { display: flex; justify-content: space-between; color: #919bad; font-size: 12px; padding: 5px 2px 0; }
#toast { position: fixed; right: 24px; bottom: 24px; padding: 12px 15px; border-radius: 9px; color: white; background: #17234d; box-shadow: 0 14px 35px rgba(17,29,72,.25); font-size: 13px; opacity: 0; transform: translateY(8px); pointer-events: none; transition: .2s ease; }
#toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  .architecture-flow { grid-template-columns: 1fr 30px 1fr; }
  .architecture-flow .connector:nth-of-type(4), .architecture-flow .connector:nth-of-type(6) { display: none; }
  .work-grid { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: 1fr 1fr; }
  .pipeline { grid-template-columns: repeat(5, 1fr); }
  .procurement-stage-summary { grid-template-columns: 1fr 1fr; }
  .procurement-stage-summary i { display: none; }
  .card-work-grid { grid-template-columns: 1fr; }
  .card-receipt-queue { grid-template-columns: 1fr 1fr; }
  .program-cards { grid-template-columns: 1fr 1fr; }
  .bank-account-cards { grid-template-columns: 1fr; }
  .budget-browser { grid-template-columns: 1fr; }
  .budget-lines { grid-template-columns: 1fr; }
  .accrual-timeline { grid-template-columns: repeat(6, 1fr); }
  .contract-alerts { display: grid; grid-template-columns: 1fr 1fr; }
  .legal-matters { grid-template-columns: 1fr; }
  .budget-line:nth-last-child(2) { border-bottom: 1px solid var(--line); }
  .pipeline i { display: none; }
  .benchmark-list { grid-template-columns: 1fr 1fr; }
  .fund-catalog-grid { grid-template-columns: 1fr; }
  .fund-allocation-example { grid-template-columns: 1fr; }
  .metrics article:nth-child(2) { border-right: 0; }
  .metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 760px) {
  html, body { height: auto; overflow: auto; }
  .shell { display: block; }
  .sidebar { position: static; height: auto; padding: 16px; }
  .lab-label, .sidebar-footer { display: none; }
  .sidebar nav { margin-top: 16px; display: flex; overflow-x: auto; overflow-y: hidden; padding: 0 0 5px; }
  nav a { white-space: nowrap; }
  main { height: auto; overflow: visible; padding: 22px 16px; }
  header { align-items: center; }
  .environment { display: none; }
  .metrics { grid-template-columns: 1fr; }
  .metrics article { border-right: 0; border-bottom: 1px solid var(--line); }
  .architecture-flow { grid-template-columns: 1fr; }
  .connector { height: 25px; }
  .connector i { width: 1px; height: 20px; }
  .connector i::after { top: auto; bottom: 0; right: -3px; transform: rotate(90deg); }
  .trace-summary { grid-template-columns: 1fr 1fr; }
  .invoice-hero { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; }
  .operations-panel > .section-heading { display: block; }
  .button-row.flush { margin-top: 14px; }
  .pipeline { grid-template-columns: 1fr 1fr; gap: 7px; }
  .card-program-metrics { grid-template-columns: 1fr 1fr; }
  .card-receipt-summary { grid-template-columns: 1fr 1fr; }
  .card-receipt-queue { grid-template-columns: 1fr; }
  .card-program-metrics > div:nth-child(2) { border-right: 0; }
  .program-cards { grid-template-columns: 1fr; }
  .payment-pipeline { grid-template-columns: 1fr 1fr; }
  .payment-route-preview { grid-template-columns: 1fr; }
  .budget-summary { grid-template-columns: 1fr 1fr; }
  .budget-report-toolbar { grid-template-columns: 1fr; }
  .budget-history { grid-template-columns: 1fr; }
  .budget-history article { border-right: 0; border-bottom: 1px solid var(--line); }
  .accrual-summary { grid-template-columns: 1fr 1fr; }
  .service-summary { grid-template-columns: 1fr 1fr; }
  .legal-summary { grid-template-columns: 1fr 1fr; }
  .tax-summary { grid-template-columns: 1fr 1fr; }
  .chargeback-summary { grid-template-columns: 1fr 1fr; }
  .time-summary { grid-template-columns: 1fr 1fr; }
  .integration-summary { grid-template-columns: 1fr 1fr; }
  .report-catalog { grid-template-columns: 1fr; }
  .report-run-summary { grid-template-columns: 1fr 1fr; }
  .dashboard-heading { align-items: stretch; flex-direction: column; }
  .dashboard-controls { justify-content: start; }
  .dashboard-widgets { grid-template-columns: 1fr 1fr; }
  .dashboard-widget.chart { grid-column: 1 / -1; }
  .document-summary { grid-template-columns: 1fr 1fr; }
  .vendor-summary { grid-template-columns: 1fr 1fr; }
  .onboarding-summary { grid-template-columns: 1fr 1fr; }
  .onboarding-grid { grid-template-columns: 1fr; }
  .procurement-catalog { grid-template-columns: 1fr; }
  .procurement-catalog article { border-right: 0; border-bottom: 1px solid var(--line); }
  .procurement-tax-strip { grid-template-columns: 1fr 1fr; }
  .card-operations-summary { grid-template-columns: 1fr 1fr; }
  .card-operations-grid { grid-template-columns: 1fr; }
  .contract-alerts { grid-template-columns: 1fr; }
  .accrual-timeline { grid-template-columns: repeat(4, 1fr); }
  .budget-line { grid-template-columns: 1fr 80px 44px; }
  .budget-line > span { display: none; }
  .payment-pipeline i { display: none; }
  .benchmark-summary { grid-template-columns: 1fr 1fr; }
  .benchmark-summary > div:nth-child(2) { border-right: 0; }
  .benchmark-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .benchmark-list { grid-template-columns: 1fr; }
  .fund-history-row { grid-template-columns: 32px 1fr 76px; }
  .fund-history-row small { display: none; }
  .fund-search > div { display: grid; }
  .drawer { grid-template-columns: 1fr; }
  .drawer-backdrop { display: none; }
  .drawer-panel { width: 100%; }
}
.expense-proof{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;border:1px solid #cce5d9;border-radius:9px;background:#f5fcf8}.expense-proof span{color:#388467;font-size:9px;font-weight:800;letter-spacing:.8px}.expense-proof strong{grid-row:1/3;grid-column:2;color:var(--navy);font-size:16px}.expense-proof small{color:#70847c;font-size:10px}.expense-history{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.expense-history>div{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;padding:9px;border:1px solid var(--line);border-radius:8px}.expense-history span{color:#667893;font-size:10px;font-weight:800}.expense-history strong{color:var(--navy);font-size:12px;text-align:right}.expense-history i{grid-column:1/3;height:5px;overflow:hidden;border-radius:5px;background:#e7edf5}.expense-history i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4a8ac6,#62b6a1)}.expense-history small{grid-column:1/3;color:#929daf;font-size:9px}.expense-categories{margin-top:8px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.expense-categories>div{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(70px,1fr) 110px;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}.expense-categories>div:last-child{border-bottom:0}.expense-categories span,.expense-categories strong{color:var(--navy);font-size:11px}.expense-categories strong{text-align:right}.expense-categories small{display:block;margin-top:3px;color:#8b96a8;font-size:9px}.expense-categories i{height:5px;overflow:hidden;border-radius:5px;background:#e8edf4}.expense-categories i b{display:block;height:100%;border-radius:inherit;background:#5275ad}.financial-proof{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;margin-top:8px;padding:9px;border-radius:8px;background:#edf9f4}.financial-proof>span{grid-row:1/3;padding:4px 6px;border-radius:5px;color:white;background:#338566;font-size:9px;font-weight:800}.financial-proof strong{color:#285d4c;font-size:11px}.financial-proof small{color:#739184;font-size:9px}
.entity-registry-panel{background:linear-gradient(180deg,#fff 0,#fbfcff 100%)}.entity-registry-metrics{display:grid;grid-template-columns:repeat(5,1fr);margin:14px 0;border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.entity-registry-metrics>div{padding:13px;border-right:1px solid var(--line)}.entity-registry-metrics>div:last-child{border-right:0}.entity-registry-metrics span,.entity-registry-metrics strong,.entity-registry-metrics small{display:block}.entity-registry-metrics span{color:#8390a5;font-size:9px;font-weight:800;letter-spacing:.8px}.entity-registry-metrics strong{margin:7px 0 3px;color:var(--navy);font-size:18px}.entity-registry-metrics small{color:#8f99aa;font-size:10px}.entity-registry-graph{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.entity-node{display:grid;gap:5px;min-height:126px;padding:12px;border:1px solid var(--line);border-radius:10px;text-align:left;background:white;cursor:pointer}.entity-node:hover{border-color:#9ab2d8;box-shadow:0 5px 16px rgba(26,48,91,.08)}.entity-node.root{grid-column:1/-1;min-height:auto;border-color:#93abd0;background:#f3f7fd}.entity-node>span{color:#6980a7;font-size:9px;font-weight:800;text-transform:uppercase}.entity-node>strong{color:var(--navy);font-size:13px}.entity-node>small{color:#8994a6;font-size:10px}.entity-node>div{display:flex;gap:4px;flex-wrap:wrap}.entity-node i{padding:3px 5px;border-radius:4px;color:#526d91;background:#eef3f8;font-size:9px;font-style:normal}.entity-node em{margin-top:auto;color:#5b708e;font-size:10px;font-style:normal;font-weight:700}.entity-registry-footer{display:flex;justify-content:space-between;gap:12px;margin:10px 0;color:#77869d;font-size:10px}.entity-registry-footer span:first-child{font-weight:800}@media(max-width:900px){.entity-registry-metrics{grid-template-columns:1fr 1fr}.entity-registry-metrics>div{border-bottom:1px solid var(--line)}.entity-registry-graph{grid-template-columns:1fr 1fr}}@media(max-width:620px){.entity-registry-graph{grid-template-columns:1fr}.entity-registry-footer{display:grid}}
.entity-registry-metrics{grid-template-columns:repeat(6,1fr)}.entity-change-queue{display:grid;gap:7px;margin-top:10px}.entity-change-item{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8faff}.entity-change-item>div{display:grid;gap:3px}.entity-change-item strong{color:var(--navy);font-size:11px}.entity-change-item span,.entity-change-item small{color:#75849a;font-size:10px}.entity-change-item small{grid-column:1}.entity-change-item .button{grid-column:2;grid-row:1/3}@media(max-width:900px){.entity-registry-metrics{grid-template-columns:1fr 1fr}}
