.finance-filter { display: flex; align-items: end; gap: 12px; margin-bottom: 20px; }
.finance-filter .field { margin: 0; max-width: 260px; min-width: 0; flex: 1 1 0; }
.finance-filter input { min-height: 48px; width: 100%; min-width: 0; }
.finance-filter button { flex: 0 0 auto; }
@media (max-width: 480px) {
  .finance-filter { display: grid; grid-template-columns: minmax(0,1fr); align-items: stretch; }
  .finance-filter .field { max-width: none; }
  .finance-filter input[type="month"] { appearance: none; box-sizing: border-box; max-width: 100%; }
  .finance-filter button { width: 100%; min-height: 48px; }
}
.finance-period { font-size: 13px; font-weight: 650; color: #586a77; margin: 0 0 16px; }
.finance-hero { background: #183c4e; color: white; border-color: #183c4e; }
.finance-hero h2 { font-size: 15px; font-weight: 600; margin: 0 0 12px; }
.finance-hero p { font-size: 13px; color: #d1dfe6; margin: 12px 0 24px; }
.finance-headline { display: block; font-size: clamp(28px,7vw,44px); line-height: 1.15; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.finance-comparison dl{margin:0}.finance-bar-row{margin-top:20px}.finance-bar-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:10px}.finance-bar-label dt{min-width:0}.finance-bar-label dd{margin:0;font-weight:700;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.finance-bar-track{height:10px;background:#edf2f5;border-radius:5px;overflow:hidden}.finance-bar{height:100%;border-radius:5px}.finance-bar.receipts{fill:#007da8}.finance-bar.payouts{fill:#718b9a}.finance-comparison .hint{margin-bottom:0;line-height:1.6}
.finance-methods { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding-top: 16px; border-top: 1px solid #3b4c57; margin: 0; }
.finance-metric { min-width: 0; overflow-wrap: anywhere; }
.finance-metric dt { font-size: 13px; line-height: 1.4; margin-bottom: 8px; }
.finance-metric dd { font-size: 22px; font-weight: 750; margin: 0; font-variant-numeric: tabular-nums; }
.finance-metric small { display: block; font-size: 12px; color: #586a77; margin-top: 8px; }
.finance-hero .finance-metric dt { color: #d1dfe6; }
.finance-hero .finance-metric dd { font-size: 17px; }
.finance-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; margin: 20px 0; }
.finance-count { font-size: 15px; white-space: nowrap; }
.finance-categories { list-style: none; padding: 0; margin: 0; }
.finance-categories li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.finance-categories li:last-child { border-bottom: 0; padding-bottom: 0; }
.finance-categories small { display: block; color: #586a77; margin-top: 4px; }
.finance-asof { text-align: right; }
.finance-staff { margin-top: 28px; }
.finance-person>summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; min-height: 48px; }
.finance-person>summary::-webkit-details-marker { display: none; }
.finance-person>summary>span:first-child { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.finance-person>summary::after { content: '＋'; color: #007da8; font-size: 20px; }
.finance-person[open]>summary::after { content: '−'; }
.finance-person summary small { display: block; font-size: 12px; color: #586a77; margin-top: 4px; }
.finance-person-balance { text-align: right; min-width: 0; overflow-wrap: anywhere; }
.finance-person-content { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 16px; }
.finance-person-totals { display: grid; gap: 12px; margin: 0 0 16px; }
.finance-person-totals>div { display: flex; gap: 16px; justify-content: space-between; align-items: baseline; }
.finance-person-totals dt { font-size: 13px; color: #586a77; }
.finance-person-totals dd { margin: 0; font-weight: 700; text-align: right; }
.finance-person-totals .overpaid dt,.finance-person-totals .overpaid dd { color: #8a3c09; }
.finance-disclosure { padding: 8px 0; border-top: 1px solid var(--line); }
.finance-disclosure>summary { display: flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 650; color: #006c94; cursor: pointer; gap: 8px; }
.finance-disclosure>summary::before { content: '▸'; }
.finance-disclosure[open]>summary::before { content: '▾'; }
.finance-disclosure>summary::-webkit-details-marker { display: none; }
.finance-action { display: grid; gap: 12px; padding: 12px 0; }
.finance-action .field { margin: 0; }
.finance-action textarea { width: 100%; }
.finance-action .btn { justify-self: start; }
.finance-history small { display: block; font-size: 12px; color: #586a77; margin: 8px 0; }
.finance-history p { overflow-wrap: anywhere; }
.finance-history li { padding: 16px 0; }
.finance-filter input:focus-visible,.finance-disclosure>summary:focus-visible,.finance-person>summary:focus-visible { outline: 3px solid #007da8; outline-offset: 3px; }
@media(min-width: 1100px) { .dashboard { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; } .dashboard>.panel { margin: 0; } .finance-asof { grid-column: 1/-1; margin: 0; } }
@media(max-width: 720px) { .finance-person>summary { gap: 10px; } .finance-person summary strong { font-size: 14px; } .finance-action .btn { width: 100%; } .finance-metric dd { font-size: 20px; } }
.deletion-payouts { max-height: 32dvh; overflow-y: auto; }
.deletion-payout { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 0; }
.deletion-payout input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; margin: 0; }
.stone-history-row { padding:16px 0;border-bottom:1px solid var(--line); }
.stone-panel .btngroup { flex-wrap:wrap; }
.panel.stone-panel { margin-top:28px;padding:24px;max-width:740px;border:1px solid #cddfe9;border-radius:16px; }
.stone-heading { display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap; }
.stone-heading h2 { margin:5px 0 0;font-size:23px;letter-spacing:-.4px; }
.stone-eyebrow { margin:0;color:#526f7e;font-size:10px;font-weight:700;letter-spacing:1px; }
.stone-badge { display:inline-block;background:#e8f5fc;color:#006c94;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700; }
.stone-hero { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0 18px; }
.stone-count strong { display:block;font-size:68px;line-height:1.05;letter-spacing:-3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.stone-count span { display:block;font-size:17px;font-weight:600;margin-top:8px; }
.stone-count small { display:block;font-size:12px;color:#627783;margin-top:5px; }
.stone-illustration { width:146px;height:146px;flex:0 0 146px; }
.stone-revenue { display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:#eaf6fc;border:1px solid #d5eaf6;border-radius:11px;padding:16px 18px; }
.stone-revenue>span { color:#446575;font-size:13px; }
.stone-revenue>strong { font-size:27px;color:#006c94;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.stone-types,.stone-dates { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0; }
.stone-types { padding:20px 0;border-bottom:1px solid var(--line); }
.stone-types dt,.stone-dates dt { color:#627783; }
.stone-types dd { font-size:24px; }.stone-dates { padding:18px 0 22px; }.stone-dates dd { font-size:16px; }
.stone-actions { display:grid;grid-template-columns:1fr;gap:10px; }.stone-actions>.btn { width:100%;min-height:48px; }
.stone-note { margin:16px 0 0;color:#627783;font-size:12px;line-height:1.6; }
@media(max-width:480px) {
 .panel.stone-panel { padding:20px;margin-top:24px; }.stone-heading h2 { font-size:22px; }.stone-badge { margin-top:3px; }
 .stone-illustration { width:125px;height:125px;flex-basis:125px; }.stone-count strong { font-size:60px; }.stone-count { min-width:0; }
 .stone-revenue { display:block;padding:14px 16px; }.stone-revenue>strong { display:block;margin-top:7px;font-size:29px; }
}
