/* ProjectTelemetry — Financials module */

.fin-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:60px 24px; color:var(--ink-faint); text-align:center; }
.fin-empty i { font-size:30px; }
.fin-empty h3 { margin:0; color:var(--ink); }
.fin-empty.sm { padding:32px 20px; }
.fin-empty.sm i { font-size:22px; }

/* KPI band */
.fin-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin-bottom:16px; }
.fin-kpi { background:var(--white); border:1.5px solid var(--bd); border-radius:10px; padding:14px 16px; }
.fin-kpi-lbl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); margin-bottom:6px; }
.fin-kpi-val { font-size:24px; font-weight:750; color:var(--ink); font-variant-numeric:tabular-nums; line-height:1.1; }
.fin-kpi-sub { font-size:11px; color:var(--ink-soft); margin-top:4px; }
.fin-kpi.good { border-color:color-mix(in srgb, #16A34A 45%, var(--bd)); }
.fin-kpi.good .fin-kpi-val { color:#16A34A; }
.fin-kpi.bad  { border-color:color-mix(in srgb, #DC2626 45%, var(--bd)); }
.fin-kpi.bad  .fin-kpi-val { color:#DC2626; }

/* Waterfall cards */
.fin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-bottom:20px; }
.fin-card { background:var(--white); border:1.5px solid var(--bd); border-radius:10px; padding:14px 16px; }
.fin-card-hd { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.fin-tag { font-size:8.5px; font-weight:700; letter-spacing:0; text-transform:none; padding:1px 6px; border-radius:4px; }
.fin-tag.rev { color:#0369A1; background:rgba(2,132,199,.13); }
.fin-tag.cost { color:#B45309; background:rgba(245,158,11,.16); }
.fin-row { display:flex; justify-content:space-between; gap:12px; font-size:12.5px; padding:5px 0; color:var(--ink-soft); font-variant-numeric:tabular-nums; }
.fin-row span:last-child { color:var(--ink); font-weight:600; white-space:nowrap; }
.fin-row.strong { border-top:1px solid var(--bd); margin-top:4px; padding-top:8px; font-weight:700; }
.fin-row.strong span { color:var(--ink); font-weight:750; }
.fin-row.muted span { color:var(--ink-faint); font-weight:500; }
.fin-row .good { color:#16A34A !important; }
.fin-row .bad  { color:#DC2626 !important; }

/* Change orders section */
.fin-sect { background:var(--white); border:1.5px solid var(--bd); border-radius:10px; padding:14px 16px; }
.fin-sect-hd { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:14px; font-weight:700; color:var(--ink); }
.fin-count { font-size:11px; font-weight:700; color:var(--ink-soft); background:var(--bg2); border-radius:20px; padding:2px 9px; }
.fin-pending-pill { font-size:10.5px; font-weight:700; color:#B45309; background:rgba(245,158,11,.16); border-radius:20px; padding:2px 9px; }

.fin-tbl-wrap { overflow-x:auto; }
.fin-tbl { width:100%; border-collapse:collapse; font-size:12.5px; }
.fin-tbl th { text-align:left; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); padding:6px 10px; border-bottom:1.5px solid var(--bd); white-space:nowrap; }
.fin-tbl th.r, .fin-tbl td.r { text-align:right; }
.fin-tbl td { padding:8px 10px; border-bottom:1px solid var(--bd); color:var(--ink); vertical-align:top; }
.fin-tbl tbody tr:hover { background:var(--bg2); }
.fin-tbl .mono { font-family:'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; }
.fin-sub { font-size:10.5px; color:var(--ink-faint); margin-top:2px; }
.fin-actions { white-space:nowrap; text-align:right; }
.fin-hint2 { font-weight:400; color:var(--ink-faint); font-size:10px; }

.fin-badge { font-size:10px; font-weight:700; padding:2px 8px; border-radius:20px; text-transform:capitalize; }
.fin-badge.approved { color:#16A34A; background:rgba(22,163,74,.14); }
.fin-badge.pending  { color:#B45309; background:rgba(245,158,11,.16); }
.fin-badge.draft    { color:var(--ink-soft); background:var(--bg2); }
.fin-badge.rejected { color:#DC2626; background:rgba(220,38,38,.13); }
.fin-badge.void     { color:var(--ink-faint); background:var(--bg2); text-decoration:line-through; }
