.agency-financial-app{
  color-scheme: light;
  --canvas: #f4f0e7;
  --canvas-deep: #ebe5d9;
  --surface: #fffdf8;
  --surface-soft: #faf7f0;
  --surface-blue: #f2f5f5;
  --ink: #242823;
  --ink-soft: #4f554f;
  --muted: #747a73;
  --line: #d8d2c5;
  --line-strong: #bdb5a7;
  --green: #2d6a4f;
  --green-soft: #e6f0ea;
  --green-ink: #23523e;
  --amber: #9a6721;
  --amber-soft: #f5ead7;
  --red: #9a4b43;
  --red-soft: #f7e7e4;
  --blue: #476778;
  --blue-soft: #e8eff2;
  --charcoal: #1c211d;
  --shadow: 0 12px 32px rgba(47, 43, 35, 0.07);
  --shadow-tight: 0 5px 16px rgba(47, 43, 35, 0.06);
  --radius-lg: 20px;
  --radius-md: 13px;
  --radius-sm: 9px;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}
.agency-financial-app *{ box-sizing: border-box; }
.agency-financial-app{ scroll-behavior: smooth; }
.agency-financial-app{
  margin: 0;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,255,255,.75), transparent 31rem),
    var(--canvas);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
.agency-financial-app button, .agency-financial-app input, .agency-financial-app select{ font: inherit; }
.agency-financial-app button, .agency-financial-app select, .agency-financial-app input{ color: inherit; }
.agency-financial-app button{ cursor: pointer; }
.agency-financial-app button:disabled{ cursor: not-allowed; opacity: .55; }
.agency-financial-app a{ color: inherit; }
.agency-financial-app svg{ display: block; }
.agency-financial-app .skip-link{
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 9999;
  transform: translateY(-150%);
  background: var(--charcoal);
  color: white;
  padding: 10px 14px;
  border-radius: 8px;
  text-decoration: none;
}
.agency-financial-app .skip-link:focus{ transform: translateY(0); }
.agency-financial-app :focus-visible{
  outline: 3px solid rgba(71,103,120,.45);
  outline-offset: 3px;
}
.agency-financial-app .app-shell{ min-height: 100vh; }
.agency-financial-app .topbar{
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(189,181,167,.8);
  background: rgba(244,240,231,.94);
  backdrop-filter: blur(14px);
}
.agency-financial-app .topbar-inner{
  max-width: 1520px;
  margin: 0 auto;
  padding: 14px 28px;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto;
  gap: 24px;
  align-items: center;
}
.agency-financial-app .brand-block{ min-width: 0; }
.agency-financial-app .brand-line{
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.agency-financial-app .brand-mark{
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--charcoal);
  color: #f8f2e8;
  font-family: var(--serif);
  font-size: 16px;
  letter-spacing: 0;
}
.agency-financial-app .page-title{
  margin: 4px 0 0;
  font-family: var(--serif);
  font-size: clamp(25px, 2.2vw, 36px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.025em;
}
.agency-financial-app .header-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.agency-financial-app .control, .agency-financial-app .select-control, .agency-financial-app .icon-button, .agency-financial-app .primary-button, .agency-financial-app .secondary-button, .agency-financial-app .ghost-button, .agency-financial-app .segmented button, .agency-financial-app .chip, .agency-financial-app .table-action, .agency-financial-app .text-button{
  border: 1px solid var(--line-strong);
  background: rgba(255,253,248,.88);
  border-radius: 9px;
  min-height: 40px;
  padding: 8px 11px;
  font-weight: 700;
  font-size: 13px;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.agency-financial-app .control:hover, .agency-financial-app .select-control:hover, .agency-financial-app .icon-button:hover, .agency-financial-app .secondary-button:hover, .agency-financial-app .ghost-button:hover, .agency-financial-app .segmented button:hover, .agency-financial-app .chip:hover, .agency-financial-app .table-action:hover{ background: #fff; border-color: #999184; }
.agency-financial-app .primary-button{
  background: var(--charcoal);
  color: #fffdf8;
  border-color: var(--charcoal);
  padding-inline: 15px;
}
.agency-financial-app .primary-button:hover{ background: #343b35; transform: translateY(-1px); }
.agency-financial-app .secondary-button{ background: var(--surface); }
.agency-financial-app .ghost-button{ background: transparent; border-color: transparent; }
.agency-financial-app .icon-button{
  width: 42px;
  padding: 0;
  display: grid;
  place-items: center;
  position: relative;
}
.agency-financial-app .icon-button.active{ background: var(--charcoal); color: white; border-color: var(--charcoal); }
.agency-financial-app .icon-button .button-label{ position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; }
.agency-financial-app .select-wrap{ position: relative; }
.agency-financial-app .select-control{
  appearance: none;
  padding-right: 31px;
  min-width: 122px;
}
.agency-financial-app .select-wrap::after{
  content: "⌄";
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-58%);
  pointer-events: none;
  color: var(--muted);
  font-size: 16px;
}
.agency-financial-app .header-meta{
  width: 100%;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}
.agency-financial-app .header-meta strong{ color: var(--ink-soft); }
.agency-financial-app .filterbar{
  max-width: 1520px;
  margin: 0 auto;
  padding: 10px 28px 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-top: 1px solid rgba(216,210,197,.75);
}
.agency-financial-app .filter-groups{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.agency-financial-app .segmented{
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(235,229,217,.62);
}
.agency-financial-app .segmented button{
  min-height: 32px;
  border: 0;
  background: transparent;
  padding: 6px 11px;
  color: var(--muted);
}
.agency-financial-app .segmented button.active{
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 1px 5px rgba(49,46,39,.08);
}
.agency-financial-app .view-switch button.active{ background: var(--charcoal); color: white; }
.agency-financial-app .data-status{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 750;
  font-size: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
}
.agency-financial-app .status-dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.agency-financial-app .data-status.warning .status-dot{ background: var(--amber); }
.agency-financial-app .data-status.error .status-dot{ background: var(--red); }
.agency-financial-app .data-status.loading .status-dot{ background: var(--blue); animation: pulse 1.2s infinite; }
.agency-financial-app .main{
  max-width: 1520px;
  margin: 0 auto;
  padding: 24px 28px 70px;
}
.agency-financial-app .state-banner, .agency-financial-app .health-banner, .agency-financial-app .connection-state, .agency-financial-app .empty-state, .agency-financial-app .partial-banner{
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-tight);
}
.agency-financial-app .state-banner, .agency-financial-app .partial-banner{
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  color: var(--ink-soft);
}
.agency-financial-app .state-banner.stale{ background: var(--amber-soft); border-color: #dcc49f; }
.agency-financial-app .partial-banner{ background: var(--blue-soft); border-color: #c8d6dc; }
.agency-financial-app .state-banner strong, .agency-financial-app .partial-banner strong{ color: var(--ink); }
.agency-financial-app .state-actions{ display: flex; gap: 8px; flex-wrap: wrap; }
.agency-financial-app .health-banner{
  padding: 22px 24px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
  background:
    linear-gradient(95deg, rgba(230,240,234,.96), rgba(255,253,248,.96) 55%),
    var(--surface);
  border-color: #bfcfc4;
}
.agency-financial-app .health-banner.risk{
  background: linear-gradient(95deg, rgba(247,231,228,.92), rgba(255,253,248,.96) 55%);
  border-color: #dec1bc;
}
.agency-financial-app .health-icon{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(45,106,79,.1);
  color: var(--green);
  font-size: 21px;
  font-weight: 900;
}
.agency-financial-app .health-banner.risk .health-icon{ background: rgba(154,75,67,.09); color: var(--red); }
.agency-financial-app .eyebrow{
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.agency-financial-app .health-banner h2{
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(21px, 2vw, 29px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -.015em;
}
.agency-financial-app .health-banner p{ margin: 7px 0 0; color: var(--ink-soft); max-width: 870px; }
.agency-financial-app .metric-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}
.agency-financial-app .metric-card{
  position: relative;
  min-height: 164px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-tight);
  overflow: hidden;
}
.agency-financial-app .metric-card.primary{ grid-column: span 3; min-height: 190px; }
.agency-financial-app .metric-card.secondary{ grid-column: span 3; min-height: 145px; background: rgba(255,253,248,.72); }
.agency-financial-app .metric-card::after{
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: var(--line);
}
.agency-financial-app .metric-card.green::after{ background: var(--green); }
.agency-financial-app .metric-card.amber::after{ background: var(--amber); }
.agency-financial-app .metric-card.red::after{ background: var(--red); }
.agency-financial-app .metric-card.blue::after{ background: var(--blue); }
.agency-financial-app .metric-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.agency-financial-app .metric-label{ font-size: 12px; font-weight: 820; letter-spacing: .055em; text-transform: uppercase; color: var(--muted); }
.agency-financial-app .metric-source{
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 0;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 850;
}
.agency-financial-app .metric-source:hover{ background: var(--canvas-deep); color: var(--ink); }
.agency-financial-app .metric-value{
  margin-top: 15px;
  font-family: var(--serif);
  font-size: clamp(31px, 3vw, 47px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums lining-nums;
}
.agency-financial-app .metric-card.secondary .metric-value{ font-size: clamp(26px, 2.2vw, 35px); }
.agency-financial-app .metric-change{
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 760;
  font-size: 12px;
}
.agency-financial-app .metric-change.positive{ color: var(--green); }
.agency-financial-app .metric-change.negative{ color: var(--red); }
.agency-financial-app .metric-change.neutral{ color: var(--blue); }
.agency-financial-app .metric-explainer{ margin: 8px 0 0; color: var(--muted); font-size: 12px; max-width: 31ch; }
.agency-financial-app .sparkline{ position: absolute; right: 13px; bottom: 12px; width: 72px; height: 30px; opacity: .85; }
.agency-financial-app .dashboard-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(330px, .78fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 18px;
}
.agency-financial-app .panel{
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-tight);
  min-width: 0;
}
.agency-financial-app .panel-header{
  padding: 20px 22px 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}
.agency-financial-app .panel-title{
  margin: 0;
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -.018em;
  font-weight: 600;
}
.agency-financial-app .panel-description{ margin: 7px 0 0; color: var(--muted); font-size: 13px; max-width: 66ch; }
.agency-financial-app .panel-actions{ display: flex; gap: 7px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.agency-financial-app .panel-body{ padding: 0 22px 22px; }
.agency-financial-app .text-button{
  min-height: auto;
  padding: 3px 0;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--blue);
}
.agency-financial-app .text-button:hover{ border-bottom-color: currentColor; }
.agency-financial-app .chart-wrap{ padding-top: 3px; }
.agency-financial-app .chart-legend{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding-bottom: 9px;
}
.agency-financial-app .legend-item{ display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ink-soft); }
.agency-financial-app .legend-mark{ width: 19px; height: 3px; border-radius: 999px; background: var(--ink); }
.agency-financial-app .legend-mark.earned{ background: var(--charcoal); }
.agency-financial-app .legend-mark.invoiced{ background: var(--blue); }
.agency-financial-app .legend-mark.received{ background: var(--green); }
.agency-financial-app .legend-mark.expenses{ background: var(--amber); }
.agency-financial-app .legend-mark.net{ background: var(--red); }
.agency-financial-app .legend-mark.forecast{ background: repeating-linear-gradient(90deg, var(--blue) 0 4px, transparent 4px 7px); }
.agency-financial-app .chart-svg{ width: 100%; height: auto; min-height: 310px; overflow: visible; }
.agency-financial-app .chart-grid-line{ stroke: #ded8cd; stroke-width: 1; }
.agency-financial-app .chart-axis-label{ fill: #777c75; font-size: 11px; font-family: var(--sans); }
.agency-financial-app .chart-line{ fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.agency-financial-app .chart-line.earned{ stroke: var(--charcoal); }
.agency-financial-app .chart-line.invoiced{ stroke: var(--blue); }
.agency-financial-app .chart-line.received{ stroke: var(--green); stroke-width: 3.25; }
.agency-financial-app .chart-line.expenses{ stroke: var(--amber); }
.agency-financial-app .chart-line.net{ stroke: var(--red); }
.agency-financial-app .chart-line.forecast{ stroke-dasharray: 6 6; opacity: .86; }
.agency-financial-app .chart-dot{ stroke: var(--surface); stroke-width: 2; }
.agency-financial-app .chart-summary{
  margin: 8px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--surface-blue);
  color: var(--ink-soft);
  font-size: 13px;
}
.agency-financial-app .attention-panel .panel-body{ padding-top: 2px; }
.agency-financial-app .attention-list{ display: grid; gap: 9px; }
.agency-financial-app .attention-item{
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface-soft);
}
.agency-financial-app .attention-item.critical{ border-left: 4px solid var(--red); }
.agency-financial-app .attention-item.action{ border-left: 4px solid var(--amber); }
.agency-financial-app .attention-item.monitor{ border-left: 4px solid var(--blue); }
.agency-financial-app .attention-item.info{ border-left: 4px solid var(--line-strong); }
.agency-financial-app .attention-top{ display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.agency-financial-app .severity-label{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: var(--canvas-deep);
}
.agency-financial-app .severity-label.critical{ color: var(--red); background: var(--red-soft); }
.agency-financial-app .severity-label.action{ color: var(--amber); background: var(--amber-soft); }
.agency-financial-app .severity-label.monitor{ color: var(--blue); background: var(--blue-soft); }
.agency-financial-app .attention-amount{ font-family: var(--serif); font-weight: 650; font-size: 18px; }
.agency-financial-app .attention-item h3{ margin: 10px 0 4px; font-size: 14px; line-height: 1.3; }
.agency-financial-app .attention-item p{ margin: 0; color: var(--muted); font-size: 12px; }
.agency-financial-app .attention-meta{ margin-top: 10px; display: flex; flex-wrap: wrap; gap: 5px 12px; color: var(--muted); font-size: 11px; }
.agency-financial-app .attention-footer{ margin-top: 11px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.agency-financial-app .owner{ display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 730; }
.agency-financial-app .avatar{
  width: 25px;
  height: 25px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--charcoal);
  color: white;
  font-size: 10px;
  font-weight: 820;
}
.agency-financial-app .section-panel{ margin-bottom: 18px; }
.agency-financial-app .summary-strip{
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
}
.agency-financial-app .summary-cell{ padding: 14px 16px; border-right: 1px solid var(--line); min-width: 145px; }
.agency-financial-app .summary-cell:last-child{ border-right: 0; }
.agency-financial-app .summary-label{ color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.agency-financial-app .summary-value{ margin-top: 5px; font-family: var(--serif); font-size: 21px; font-weight: 650; font-variant-numeric: tabular-nums; }
.agency-financial-app .table-toolbar{
  padding: 14px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.agency-financial-app .search-field{
  min-height: 40px;
  width: min(360px, 100%);
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  background: var(--surface);
  padding: 9px 12px 9px 37px;
  background-image: radial-gradient(circle, transparent 44%, var(--muted) 46% 53%, transparent 55%), linear-gradient(45deg, transparent 46%, var(--muted) 48% 54%, transparent 56%);
  background-repeat: no-repeat;
  background-size: 13px 13px, 8px 8px;
  background-position: 13px 12px, 24px 24px;
}
.agency-financial-app .toolbar-right{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.agency-financial-app .table-scroll{ overflow-x: auto; border-top: 1px solid var(--line); }
.agency-financial-app .financial-table{ width: 100%; min-width: 1260px; border-collapse: collapse; }
.agency-financial-app .financial-table th{
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 11px 12px;
  background: #f7f3eb;
  color: var(--muted);
  border-bottom: 1px solid var(--line-strong);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .065em;
  text-align: left;
  white-space: nowrap;
}
.agency-financial-app .financial-table th button{ border: 0; background: transparent; padding: 0; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; font-weight: 800; }
.agency-financial-app .financial-table td{ padding: 13px 12px; border-bottom: 1px solid #e4dfd6; vertical-align: middle; font-size: 12px; }
.agency-financial-app .financial-table tr:hover td{ background: #fdfaf4; }
.agency-financial-app .financial-table .number{ text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.agency-financial-app .record-title{ font-weight: 780; color: var(--ink); }
.agency-financial-app .record-sub{ margin-top: 2px; color: var(--muted); font-size: 11px; }
.agency-financial-app .status-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 25px;
  padding: 3px 8px;
  border-radius: 999px;
  font-weight: 770;
  font-size: 10px;
  white-space: nowrap;
  border: 1px solid transparent;
}
.agency-financial-app .status-badge::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.agency-financial-app .status-badge.paid, .agency-financial-app .status-badge.deposit-received{ color: var(--green-ink); background: var(--green-soft); border-color: #c8dcca; }
.agency-financial-app .status-badge.upcoming, .agency-financial-app .status-badge.settlement-pending{ color: var(--blue); background: var(--blue-soft); border-color: #cfdae0; }
.agency-financial-app .status-badge.deposit-pending, .agency-financial-app .status-badge.partially-paid{ color: var(--amber); background: var(--amber-soft); border-color: #e2ceb0; }
.agency-financial-app .status-badge.overdue, .agency-financial-app .status-badge.disputed{ color: var(--red); background: var(--red-soft); border-color: #e6c8c2; }
.agency-financial-app .table-action{ min-height: 33px; padding: 5px 9px; white-space: nowrap; }
.agency-financial-app .table-action.danger{ color: var(--red); border-color: #dfc0ba; background: #fff9f8; }
.agency-financial-app .mobile-record-list{ display: none; padding: 0 14px 14px; }
.agency-financial-app .mobile-record{
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-soft);
  padding: 14px;
  margin-top: 10px;
}
.agency-financial-app .mobile-record-head{ display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.agency-financial-app .mobile-record h3{ margin: 0; font-size: 15px; }
.agency-financial-app .mobile-record-grid{ margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.agency-financial-app .mobile-record-field span{ display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
.agency-financial-app .mobile-record-field strong{ display: block; margin-top: 2px; font-size: 13px; }
.agency-financial-app .mobile-record-actions{ margin-top: 13px; display: flex; gap: 8px; flex-wrap: wrap; }
.agency-financial-app .cost-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
  gap: 16px;
  margin-bottom: 18px;
}
.agency-financial-app .expense-kpis{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 11px; overflow: hidden; margin-bottom: 18px; }
.agency-financial-app .expense-kpi{ padding: 13px; background: var(--surface-soft); }
.agency-financial-app .expense-kpi span{ display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
.agency-financial-app .expense-kpi strong{ display: block; margin-top: 4px; font-family: var(--serif); font-size: 21px; }
.agency-financial-app .expense-bars{ display: grid; gap: 10px; }
.agency-financial-app .expense-row{ display: grid; grid-template-columns: 148px minmax(120px, 1fr) 86px; gap: 11px; align-items: center; }
.agency-financial-app .expense-name{ font-size: 12px; color: var(--ink-soft); }
.agency-financial-app .bar-track{ height: 9px; border-radius: 999px; background: var(--canvas-deep); overflow: hidden; }
.agency-financial-app .bar-fill{ height: 100%; border-radius: inherit; background: var(--blue); }
.agency-financial-app .expense-row:nth-child(2n) .bar-fill{ background: var(--green); }
.agency-financial-app .expense-row:nth-child(3n) .bar-fill{ background: var(--amber); }
.agency-financial-app .expense-value{ text-align: right; font-variant-numeric: tabular-nums; font-size: 12px; font-weight: 750; }
.agency-financial-app .budget-line{ margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 13px; align-items: center; }
.agency-financial-app .progress-track{ grid-column: 1 / -1; height: 12px; border-radius: 999px; background: var(--canvas-deep); overflow: hidden; position: relative; }
.agency-financial-app .progress-fill{ height: 100%; background: var(--green); border-radius: inherit; width: 87%; }
.agency-financial-app .progress-target{ position: absolute; left: 92%; top: -3px; height: 18px; width: 2px; background: var(--charcoal); }
.agency-financial-app .commission-hero{ display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; padding: 17px; border-radius: 12px; background: var(--charcoal); color: white; }
.agency-financial-app .commission-hero span{ display: block; color: #c8cec8; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; font-weight: 800; }
.agency-financial-app .commission-hero strong{ display: block; margin-top: 5px; font-family: var(--serif); font-size: 34px; line-height: 1; }
.agency-financial-app .commission-rate{ text-align: right; }
.agency-financial-app .commission-details{ margin-top: 14px; }
.agency-financial-app .detail-row{ display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.agency-financial-app .detail-row span{ color: var(--muted); }
.agency-financial-app .detail-row strong{ text-align: right; }
.agency-financial-app .rule-card{ margin-top: 14px; padding: 13px; background: var(--surface-blue); border-radius: 10px; color: var(--ink-soft); font-size: 12px; }
.agency-financial-app .rule-card strong{ color: var(--ink); }
.agency-financial-app .commission-actions{ margin-top: 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.agency-financial-app .portfolio-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.agency-financial-app .artist-card{ border: 1px solid var(--line); border-radius: 13px; padding: 16px; background: var(--surface-soft); }
.agency-financial-app .artist-card.selected{ border-color: #8ca495; box-shadow: inset 0 0 0 1px #8ca495; }
.agency-financial-app .artist-card-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.agency-financial-app .artist-identity{ display: flex; align-items: center; gap: 10px; }
.agency-financial-app .artist-avatar{ width: 39px; height: 39px; border-radius: 50%; display: grid; place-items: center; background: var(--charcoal); color: white; font-family: var(--serif); font-weight: 650; }
.agency-financial-app .artist-card h3{ margin: 0; font-size: 15px; }
.agency-financial-app .artist-card p{ margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.agency-financial-app .artist-finance{ margin-top: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.agency-financial-app .artist-finance span{ display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
.agency-financial-app .artist-finance strong{ display: block; margin-top: 3px; font-family: var(--serif); font-size: 20px; }
.agency-financial-app .risk-meter{ margin-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 9px; font-size: 11px; color: var(--muted); }
.agency-financial-app .risk-track{ flex: 1; height: 6px; border-radius: 99px; background: var(--canvas-deep); overflow: hidden; }
.agency-financial-app .risk-fill{ height: 100%; background: var(--green); border-radius: inherit; }
.agency-financial-app .risk-fill.medium{ background: var(--amber); }
.agency-financial-app .risk-fill.high{ background: var(--red); }
.agency-financial-app .activity-list{ display: grid; }
.agency-financial-app .activity-item{ display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); align-items: start; }
.agency-financial-app .activity-item:last-child{ border-bottom: 0; }
.agency-financial-app .activity-icon{ width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); font-size: 12px; font-weight: 850; }
.agency-financial-app .activity-copy h3{ margin: 0; font-size: 13px; }
.agency-financial-app .activity-copy p{ margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.agency-financial-app .activity-change{ margin-top: 5px; display: flex; gap: 6px; flex-wrap: wrap; font-size: 11px; }
.agency-financial-app .before{ color: var(--red); text-decoration: line-through; }
.agency-financial-app .after{ color: var(--green); font-weight: 780; }
.agency-financial-app .activity-time{ color: var(--muted); font-size: 11px; white-space: nowrap; text-align: right; }
.agency-financial-app .connection-state, .agency-financial-app .empty-state{ padding: 56px 24px; text-align: center; }
.agency-financial-app .connection-state .state-icon, .agency-financial-app .empty-state .state-icon{ width: 64px; height: 64px; margin: 0 auto 17px; border-radius: 50%; display: grid; place-items: center; background: var(--red-soft); color: var(--red); font-size: 28px; font-weight: 850; }
.agency-financial-app .empty-state .state-icon{ background: var(--blue-soft); color: var(--blue); }
.agency-financial-app .connection-state h2, .agency-financial-app .empty-state h2{ margin: 0; font-family: var(--serif); font-size: 29px; font-weight: 600; }
.agency-financial-app .connection-state p, .agency-financial-app .empty-state p{ max-width: 590px; margin: 9px auto 20px; color: var(--muted); }
.agency-financial-app .skeleton-page{ display: grid; gap: 16px; }
.agency-financial-app .skeleton{
  position: relative;
  overflow: hidden;
  background: #e4ded3;
  border-radius: 11px;
  min-height: 110px;
}
.agency-financial-app .skeleton::after{
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  animation: shimmer 1.35s infinite;
}
.agency-financial-app .skeleton-row{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.agency-financial-app .skeleton.hero-skeleton{ min-height: 108px; }
.agency-financial-app .skeleton.chart-skeleton{ min-height: 390px; }
.agency-financial-app .modal-backdrop{
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(28,33,29,.52);
}
.agency-financial-app .modal{
  width: min(560px, 100%);
  max-height: min(730px, calc(100vh - 36px));
  overflow: auto;
  border-radius: 17px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  box-shadow: 0 28px 80px rgba(22,25,22,.25);
}
.agency-financial-app .modal-header{ padding: 20px 22px 13px; display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; border-bottom: 1px solid var(--line); }
.agency-financial-app .modal-header h2{ margin: 0; font-family: var(--serif); font-size: 25px; font-weight: 600; }
.agency-financial-app .modal-close{ border: 0; background: var(--canvas-deep); width: 34px; height: 34px; border-radius: 50%; font-size: 20px; line-height: 1; }
.agency-financial-app .modal-body{ padding: 20px 22px; }
.agency-financial-app .modal-body p{ color: var(--ink-soft); }
.agency-financial-app .modal-warning{ padding: 12px 13px; border-radius: 9px; background: var(--amber-soft); color: #694817; font-size: 12px; }
.agency-financial-app .modal-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.agency-financial-app .modal-field{ padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.agency-financial-app .modal-field span{ display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
.agency-financial-app .modal-field strong{ display: block; margin-top: 3px; }
.agency-financial-app .modal-footer{ padding: 14px 22px 20px; display: flex; justify-content: flex-end; gap: 9px; }
.agency-financial-app .toast{
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 120;
  max-width: 360px;
  padding: 13px 15px;
  border-radius: 11px;
  background: var(--charcoal);
  color: white;
  box-shadow: 0 14px 38px rgba(26,30,27,.25);
  font-size: 13px;
}
.agency-financial-app .privacy .sensitive{ color: transparent !important; position: relative; user-select: none; }
.agency-financial-app .privacy .sensitive::after{
  content: "••••••";
  position: absolute;
  inset: 0 auto auto 0;
  color: var(--ink) !important;
  letter-spacing: .08em;
}
.agency-financial-app .privacy .metric-value.sensitive::after, .agency-financial-app .privacy .summary-value.sensitive::after, .agency-financial-app .privacy .commission-hero strong.sensitive::after, .agency-financial-app .privacy .artist-finance strong.sensitive::after{ top: 0; }
.agency-financial-app .privacy .chart-svg{ filter: blur(7px); opacity: .35; }
.agency-financial-app .privacy .chart-summary::before{ content: "Financial trend hidden in privacy mode. "; font-weight: 800; }
.agency-financial-app .read-only-note{ display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; }
.agency-financial-app .read-only-note::before{ content: "◉"; color: var(--green); font-size: 9px; }
.agency-financial-app .footer-note{ margin-top: 22px; padding: 15px 3px 0; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; color: var(--muted); font-size: 11px; }
@keyframes shimmer{ to { transform: translateX(100%); } }
@keyframes pulse{ 50% { opacity: .35; } }
@media (max-width: 1180px){.agency-financial-app .topbar-inner{ grid-template-columns: 1fr; gap: 13px; }
.agency-financial-app .header-actions{ justify-content: flex-start; }
.agency-financial-app .header-meta{ text-align: left; width: auto; margin-left: auto; }
.agency-financial-app .metric-card.primary{ grid-column: span 6; }
.agency-financial-app .metric-card.secondary{ grid-column: span 3; }
.agency-financial-app .dashboard-grid, .agency-financial-app .cost-grid{ grid-template-columns: 1fr; }
.agency-financial-app .attention-list{ grid-template-columns: repeat(2, 1fr); }
.agency-financial-app .portfolio-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }}
@media (max-width: 860px){.agency-financial-app .topbar{ position: static; }
.agency-financial-app .topbar-inner, .agency-financial-app .filterbar, .agency-financial-app .main{ padding-left: 18px; padding-right: 18px; }
.agency-financial-app .filterbar{ align-items: flex-start; flex-direction: column; }
.agency-financial-app .metric-card.secondary{ grid-column: span 6; }
.agency-financial-app .health-banner{ grid-template-columns: auto 1fr; }
.agency-financial-app .health-banner .primary-button{ grid-column: 1 / -1; width: 100%; }
.agency-financial-app .summary-strip{ grid-template-columns: repeat(7, 155px); }
.agency-financial-app .expense-kpis{ grid-template-columns: repeat(2, 1fr); }
.agency-financial-app .portfolio-grid{ grid-template-columns: 1fr; }
.agency-financial-app .table-scroll{ display: none; }
.agency-financial-app .mobile-record-list{ display: block; }
.agency-financial-app .panel-header{ padding: 18px 17px 13px; }
.agency-financial-app .panel-body{ padding: 0 17px 18px; }
.agency-financial-app .table-toolbar{ padding: 13px 17px; }}
@media (max-width: 620px){.agency-financial-app{ font-size: 14px; }
.agency-financial-app .topbar-inner{ padding-top: 17px; }
.agency-financial-app .brand-line{ font-size: 10px; }
.agency-financial-app .page-title{ font-size: 28px; }
.agency-financial-app .header-actions{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); width: 100%; }
.agency-financial-app .header-actions .select-wrap, .agency-financial-app .header-actions .select-control, .agency-financial-app .header-actions .primary-button{ width: 100%; }
.agency-financial-app .header-actions .icon-button{ width: 100%; }
.agency-financial-app .header-meta{ grid-column: 1 / -1; margin: 0; }
.agency-financial-app .filter-groups{ width: 100%; }
.agency-financial-app .period-switch{ width: 100%; overflow-x: auto; justify-content: flex-start; }
.agency-financial-app .view-switch{ width: 100%; }
.agency-financial-app .view-switch button{ flex: 1; }
.agency-financial-app .main{ padding-top: 16px; padding-bottom: 45px; }
.agency-financial-app .health-banner{ grid-template-columns: 1fr; padding: 18px; gap: 11px; }
.agency-financial-app .health-icon{ width: 42px; height: 42px; }
.agency-financial-app .metric-grid{ grid-template-columns: 1fr 1fr; gap: 9px; }
.agency-financial-app .metric-card.primary, .agency-financial-app .metric-card.secondary{ grid-column: span 1; min-height: 164px; padding: 14px; }
.agency-financial-app .metric-card:nth-child(1), .agency-financial-app .metric-card:nth-child(2), .agency-financial-app .metric-card:nth-child(3), .agency-financial-app .metric-card:nth-child(5){ grid-column: 1 / -1; }
.agency-financial-app .metric-value, .agency-financial-app .metric-card.secondary .metric-value{ font-size: 31px; }
.agency-financial-app .metric-explainer{ font-size: 11px; }
.agency-financial-app .attention-list{ grid-template-columns: 1fr; }
.agency-financial-app .panel-title{ font-size: 22px; }
.agency-financial-app .panel-header{ flex-direction: column; }
.agency-financial-app .panel-actions{ justify-content: flex-start; }
.agency-financial-app .chart-svg{ min-height: 250px; }
.agency-financial-app .expense-kpis{ grid-template-columns: 1fr 1fr; }
.agency-financial-app .expense-row{ grid-template-columns: 105px 1fr 73px; gap: 8px; }
.agency-financial-app .activity-item{ grid-template-columns: 32px 1fr; }
.agency-financial-app .activity-time{ grid-column: 2; text-align: left; }
.agency-financial-app .modal-grid{ grid-template-columns: 1fr; }
.agency-financial-app .modal-footer{ flex-direction: column-reverse; }
.agency-financial-app .modal-footer button{ width: 100%; }
.agency-financial-app .state-banner, .agency-financial-app .partial-banner{ align-items: flex-start; flex-direction: column; }
.agency-financial-app .footer-note{ flex-direction: column; }
.agency-financial-app .toast{ left: 14px; right: 14px; bottom: 14px; }}
@media (prefers-reduced-motion: reduce){.agency-financial-app *, .agency-financial-app *::before, .agency-financial-app *::after{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }}
@media print{.agency-financial-app .topbar{ position: static; }
.agency-financial-app .header-actions, .agency-financial-app .filterbar, .agency-financial-app .panel-actions, .agency-financial-app .table-toolbar, .agency-financial-app .table-action, .agency-financial-app .primary-button, .agency-financial-app .secondary-button, .agency-financial-app .ghost-button, .agency-financial-app .text-button{ display: none !important; }
.agency-financial-app{ background: white; }
.agency-financial-app .main{ max-width: none; padding: 0; }
.agency-financial-app .panel, .agency-financial-app .metric-card, .agency-financial-app .health-banner{ box-shadow: none; break-inside: avoid; }
.agency-financial-app .dashboard-grid, .agency-financial-app .cost-grid{ grid-template-columns: 1fr; }
.agency-financial-app .table-scroll{ display: block; overflow: visible; }
.agency-financial-app .mobile-record-list{ display: none; }}
/* Final readability and density audit adjustments */
.agency-financial-app .attention-panel{
  max-height: 590px;
  display: flex;
  flex-direction: column;
}
.agency-financial-app .attention-panel .panel-body{
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.agency-financial-app .financial-table th{ font-size: 11px; }
.agency-financial-app .financial-table td{ font-size: 12.5px; }
.agency-financial-app .expense-kpi > .sensitive, .agency-financial-app .artist-finance .sensitive, .agency-financial-app .commission-amount, .agency-financial-app .mobile-record-value{
  display: block;
  margin-top: 3px;
  font-family: var(--serif);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.agency-financial-app .expense-kpi > .sensitive, .agency-financial-app .artist-finance .sensitive{ font-size: 20px; }
.agency-financial-app .commission-amount{ font-size: 34px; line-height: 1; margin-top: 5px; }
.agency-financial-app .mobile-record-value{ font-family: var(--sans); font-size: 13px; font-weight: 750; }
@media (max-width: 1180px){.agency-financial-app .attention-panel{ max-height: none; }
.agency-financial-app .attention-panel .panel-body{ overflow: visible; }}
@media (max-width: 620px){.agency-financial-app .header-actions .primary-button{ grid-column: 1 / -1; }
.agency-financial-app .metric-card:nth-child(4){ grid-column: 1 / -1; }
.agency-financial-app .metric-card:nth-child(5){ grid-column: auto; }
.agency-financial-app .chart-svg{ min-height: 0; }}
/* Live snapshot integration */
.agency-financial-app .unavailable-value, .agency-financial-app .unavailable-cell{ color: var(--muted); font-style: normal; }
.agency-financial-app .basis-line{ margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; }
.agency-financial-app .status-badge.budget-only{ background: #edf1f3; color: #476778; border-color: #c9d5da; }
.agency-financial-app .empty-inline{ min-height: 240px; display: grid; place-items: center; color: var(--muted); border: 1px dashed var(--border); border-radius: 12px; }
.agency-financial-app .json-preview{ white-space: pre-wrap; word-break: break-word; background: #f4f1ea; border: 1px solid var(--border); border-radius: 10px; padding: 14px; max-height: 420px; overflow: auto; font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--text); }
.agency-financial-app .sr-only{ position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.agency-financial-app button:disabled, .agency-financial-app select:disabled{ cursor: not-allowed; opacity: .55; }

.agency-financial-app{
  color-scheme:dark;
  --canvas:transparent;--canvas-deep:transparent;
  --surface:var(--panel-2);--surface-soft:var(--panel);--surface-blue:#202a32;
  --ink:var(--text);--ink-soft:var(--text-dim);--muted:var(--text-faint);
  --line:rgba(231,228,220,.12);--line-strong:rgba(231,228,220,.22);
  --green:#78b38b;--green-soft:rgba(92,138,110,.16);--green-ink:#a8dab9;
  --amber:var(--brass);--amber-soft:rgba(201,169,97,.14);
  --red:#df7d70;--red-soft:rgba(225,80,61,.13);
  --blue:var(--t4);--blue-soft:rgba(111,163,199,.14);
  --charcoal:#d8bd7b;--shadow:none;--shadow-tight:none;
  --radius-lg:10px;--radius-md:8px;--radius-sm:6px;
  --sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --serif:'Archivo','IBM Plex Sans',sans-serif;
  width:100%; background:transparent; color:var(--ink); font-family:var(--sans); font-size:14px; line-height:1.45;
}
html[data-theme="day"] .agency-financial-app{
  color-scheme:light;--surface:#fff;--surface-soft:#f7f8fa;--surface-blue:#f2f6f8;
  --ink:#20242a;--ink-soft:#4f5964;--muted:#6f7882;--line:rgba(0,0,0,.08);--line-strong:rgba(0,0,0,.18);
  --green:#2f7955;--green-soft:#e8f3ec;--green-ink:#285f46;--amber:#9a6a25;--amber-soft:#f7eddc;
  --red:#9f4e46;--red-soft:#f8e9e7;--blue:#3f6f91;--blue-soft:#e9f1f6;--charcoal:#252a31;
}
.agency-financial-app .app-shell{min-height:0;background:transparent;}
.agency-financial-app .main{max-width:none;margin:0;padding:0;}
.agency-financial-app .dashboard-content{display:grid;gap:14px;padding:16px;}
.agency-financial-app .panel,.agency-financial-app .state-banner,.agency-financial-app .health-banner,.agency-financial-app .connection-state,.agency-financial-app .empty-state,.agency-financial-app .partial-banner{box-shadow:none;background:var(--surface);}
.agency-financial-app .metric-card{box-shadow:none;background:var(--surface);}
.agency-financial-app .primary-button{background:var(--brass);border-color:var(--brass);color:var(--bg);}
.agency-financial-app .primary-button:hover{background:#d9bb72;color:#11151a;}
.agency-financial-app .secondary-button,.agency-financial-app .control,.agency-financial-app .select-control,.agency-financial-app .icon-button,.agency-financial-app .ghost-button,.agency-financial-app .segmented button,.agency-financial-app .chip,.agency-financial-app .table-action{background:rgba(20,23,28,.26);color:var(--text-dim);}
html[data-theme="day"] .agency-financial-app .secondary-button,html[data-theme="day"] .agency-financial-app .control,html[data-theme="day"] .agency-financial-app .select-control,html[data-theme="day"] .agency-financial-app .icon-button,html[data-theme="day"] .agency-financial-app .ghost-button,html[data-theme="day"] .agency-financial-app .segmented button,html[data-theme="day"] .agency-financial-app .chip,html[data-theme="day"] .agency-financial-app .table-action{background:#fff;color:#4f5964;}
.agency-financial-app .financial-embed-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(201,169,97,.06),transparent 60%);}
.agency-financial-app .financial-embed-title{min-width:0;}
.agency-financial-app .financial-embed-title .eyebrow{margin:0 0 4px;color:var(--brass);font:9px 'IBM Plex Mono',monospace;letter-spacing:.09em;text-transform:uppercase;}
.agency-financial-app .financial-embed-title h3{margin:0;font:700 16px 'Archivo',sans-serif;color:var(--text);}
.agency-financial-app .financial-embed-title p{margin:5px 0 0;color:var(--text-faint);font-size:10.5px;line-height:1.45;}
.agency-financial-app .financial-embed-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.agency-financial-app .financial-status-pill{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--text-faint);font:9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;}
.agency-financial-app .financial-status-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);}
.agency-financial-app .financial-status-pill.warning::before{background:var(--amber);}.agency-financial-app .financial-status-pill.error::before{background:var(--red);}.agency-financial-app .financial-status-pill.loading::before{background:var(--blue);animation:pulse 1.2s infinite;}
.agency-financial-app .analyst-button{border-color:rgba(111,163,199,.55);color:var(--t4);}
.agency-financial-app .financial-updated-line{width:100%;text-align:right;color:var(--text-faint);font:9px 'IBM Plex Mono',monospace;}
.agency-financial-app .analyst-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(8,10,13,.62);display:flex;justify-content:flex-end;}
.agency-financial-app .analyst-drawer{width:min(560px,100%);height:100%;background:var(--bg);border-left:1px solid var(--line-strong);display:grid;grid-template-rows:auto 1fr auto;box-shadow:-20px 0 60px rgba(0,0,0,.28);}
.agency-financial-app .analyst-head{display:flex;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line);}
.agency-financial-app .analyst-head h2{margin:0;font:700 17px 'Archivo',sans-serif;}.agency-financial-app .analyst-head p{margin:5px 0 0;color:var(--text-faint);font-size:10.5px;}
.agency-financial-app .analyst-close{width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text-dim);font-size:20px;}
.agency-financial-app .analyst-messages{overflow:auto;padding:18px;display:flex;flex-direction:column;gap:11px;}
.agency-financial-app .analyst-message{max-width:90%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);white-space:pre-wrap;color:var(--text-dim);font-size:12px;line-height:1.55;}
.agency-financial-app .analyst-message.user{align-self:flex-end;background:rgba(111,163,199,.12);border-color:rgba(111,163,199,.35);color:var(--text);}.agency-financial-app .analyst-message.error{border-color:rgba(225,80,61,.42);color:#e8a59b;}
.agency-financial-app .analyst-compose{padding:14px 18px 18px;border-top:1px solid var(--line);display:grid;gap:9px;}
.agency-financial-app .analyst-compose textarea{width:100%;min-height:92px;resize:vertical;background:var(--panel);border:1px solid var(--line-strong);border-radius:7px;color:var(--text);padding:10px 11px;font:12px 'IBM Plex Sans',sans-serif;}
.agency-financial-app .analyst-compose-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;}.agency-financial-app .analyst-note{color:var(--text-faint);font:9px 'IBM Plex Mono',monospace;}
.agency-financial-app .modal-backdrop{z-index:1250;}
@media(max-width:760px){.agency-financial-app .financial-embed-toolbar{flex-direction:column;}.agency-financial-app .financial-embed-controls{justify-content:flex-start;width:100%;}.agency-financial-app .financial-updated-line{text-align:left;}.agency-financial-app .dashboard-content{padding:12px;}.agency-financial-app .analyst-drawer{width:100%;}}

.agency-financial-app .secondary-button:hover,.agency-financial-app .select-control:hover,.agency-financial-app .ghost-button:hover{background:var(--panel-2);border-color:var(--t6);color:var(--text);}
html[data-theme="day"] .agency-financial-app .secondary-button:hover,html[data-theme="day"] .agency-financial-app .select-control:hover,html[data-theme="day"] .agency-financial-app .ghost-button:hover{background:#f5f7fa;color:#20242a;}
