/* Geometry follows the title, navigation, three counters, table and button
   painted into history-modal-latest.png (1449 × 1077). */
.ledgerModal .ledgerCard {
  container-type: inline-size;
  display: block; width: min(1100px, 96vw, calc((100dvh - 24px) * 1449 / 1077));
  height: auto; max-height: none; aspect-ratio: 1449 / 1077;
  padding: 0; border: 0; border-radius: 0; overflow: hidden;
  background: linear-gradient(180deg, #4d1738f2, #120d1cf2);
  box-shadow: none; color: #f7e8cd;
}
.ledgerModal .ledgerCard::before, .ledgerModal .ledgerCrest, .ledgerModal .ledgerKicker { display: none; }
.ledgerModal .ledgerCard h2 {
  position: absolute; inset: 22.3% 28% auto; height: 3.55%; margin: 0;
  display: grid; place-items: center; color: #ffe6a2;
  font: 850 clamp(18px, 2.35cqw, 26px)/1 var(--ui-font); letter-spacing: .03em;
  text-shadow: 0 2px 3px #000, 0 0 14px #ff9c2944;
}
.ledgerModal .ledgerNavigation {
  position: absolute; inset: 27.8% 10.5% auto; height: 7%;
  margin: 0; padding: 0; border: 0; background: none;
}
.ledgerModal .ledgerNavigation button {
  width: 8%; height: 100%; min-height: 44px; border: 0; border-radius: 10px;
  background: transparent; color: transparent; font-size: 0;
}
.ledgerModal .ledgerNavigation button:disabled { opacity: 1; background: #040910aa; cursor: default; }
.ledgerModal .ledgerNavigation button:hover:not(:disabled) { background: #ffa82522; box-shadow: inset 0 0 16px #ffb84a55; }
.ledgerModal .ledgerNavigation span { align-self: flex-start; margin-top: .6%; font-size: clamp(10px, 1.3cqw, 14px); font-weight: 800; letter-spacing: .1em; color: #ffdf9b; }
.ledgerModal .ledgerStatus { position: absolute; inset: 31% 20% auto; margin: 0; font-size: clamp(10px, 1.1cqw, 12px); color: #c0d0dd; pointer-events: none; }
.ledgerModal #ledgerBody { display: contents; }
.ledgerModal .ledgerSummary {
  position: absolute; inset: 36.9% 10.2% auto; height: 6.2%;
  display: grid; grid-template-columns: 1.05fr .95fr 1.08fr; gap: 2.5%; align-items: center;
}
.ledgerModal .ledgerSummary > div { min-width: 0; padding: 0; text-align: center; }
.ledgerModal .ledgerSummary span { display: block; font: 600 clamp(10px, 1.1cqw, 12px)/1.3 var(--ui-font); letter-spacing: .035em; color: #cbd6df; }
.ledgerModal .ledgerSummary strong, .ledgerModal .ledgerSummary b { display: block; margin: 3px 0 0; font: 850 clamp(15px, 2.35cqw, 26px)/1.15 var(--ui-font); color: #ffe0a1; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ledgerModal .ledgerSummary [data-tone='loss'] { color: #ffaf85; }
.ledgerModal .ledgerSummary [data-tone='profit'] { color: #ffe991; }
.ledgerModal .ledgerScroll {
  position: absolute; inset: 47.5% 10.2% 26%; padding: 0 8px 8px;
  overflow: auto; scrollbar-gutter: stable; scrollbar-color: #db9339 #101f2b;
}
.ledgerModal .ledgerStats { display: flex; justify-content: space-between; gap: 12px; border: 0; border-radius: 0; background: transparent; margin: 0 0 8px; }
.ledgerModal .ledgerStats > div { display: flex; align-items: baseline; gap: 8px; border: 0; padding: 5px 0; }
.ledgerModal .ledgerStats span { font-size: 11px; color: #aebfcb; }
.ledgerModal .ledgerStats b { margin: 0; font: 750 13px/1.3 var(--ui-font); color: #fff1d3; }
.ledgerModal .ledgerTableWrap { max-height: none; overflow: visible; margin: 0; border: 0; background: #08121abf; }
.ledgerModal .ledgerTable { font-size: clamp(11px, 1.3cqw, 14px); }
.ledgerModal .ledgerTable caption { padding: 3px 8px 8px; color: #c2ced7; font-size: 10px; }
.ledgerModal .ledgerTable thead th { top: 0; color: #ffdf9f; background: #172a39; padding: 10px 8px; border-bottom: 1px solid #c88d3d66; }
.ledgerModal .ledgerTable td, .ledgerModal .ledgerTable tbody th { padding: 10px 8px; border-bottom: 1px solid #ac773a33; }
.ledgerModal .ledgerTable tbody tr:nth-child(even) { background: #ffffff04; }
.ledgerModal .ledgerBalance { gap: 8px; padding: 12px 0 0; margin: 10px 0 0; background: none; font-size: 11px; }
.ledgerModal .ledgerNote { margin: 10px 0; font-size: 10px; line-height: 1.5; color: #aabcce; }
.ledgerModal .ledgerEmpty { margin: 0; min-height: 110px; display: grid; place-items: center; padding: 20px; font-size: 14px; color: #d2deea; }
.ledgerModal .ledgerClose {
  position: absolute; inset: 17.8% 2.1% auto auto; width: 7.4%; height: 8.4%;
  min-width: 44px; min-height: 44px; padding: 0; border: 0; background: none; box-shadow: none;
}
.ledgerModal .ledgerClose svg { visibility: hidden; }
.ledgerModal .ledgerClose:hover { background: #ffac1926; box-shadow: inset 0 0 20px #ffc25555; }
.ledgerModal .ledgerActions { position: absolute; inset: 76% 10.3% auto; height: 6.2%; margin: 0; gap: 10px; }
.ledgerModal .ledgerActions button { min-width: 0; min-height: 44px; padding: 4px 8px; border: 0; border-radius: 8px; background: none; box-shadow: none; color: #fff4ce; font: 850 clamp(12px, 1.45cqw, 16px)/1.2 var(--ui-font); text-shadow: 0 2px 3px #5d1606; }
.ledgerModal .ledgerActions button:hover { background: #fff0c41c; }
.ledgerModal .ledgerActions .ledgerStop { border-right: 1px solid #ffd27b88; border-radius: 0; }
.ledgerModal button:focus-visible { outline: 2px solid #fff0c4; outline-offset: -3px; }

/* Small displays reuse the same outer artwork with flexible inner panels. */
@media (max-width: 600px), (max-height: 560px) {
  .ledgerModal .ledgerCard {
    width: min(580px, calc(100vw - 20px)); height: min(820px, calc(100dvh - 24px)); aspect-ratio: auto;
    padding: 90px 22px 48px; display: flex; flex-direction: column; gap: 10px;
    background: linear-gradient(#10202c, #060d16); border-radius: 18px;
  }
  .ledgerModal .ledgerCard::before { content: ''; display: block; position: absolute; z-index: 0; inset: 0; width: auto; height: auto; background: none; pointer-events: none;
    border: 2px solid #d987b5; }
  .ledgerModal .ledgerCard > * { z-index: 1; }
  .ledgerModal .ledgerCard h2 { position: absolute; inset: 60px 20% auto; height: 28px; font-size: 21px; }
  .ledgerModal .ledgerClose { top: 56px; right: 0; left: auto; width: 44px; height: 44px; border: 1px solid #d79333; border-radius: 10px; background: linear-gradient(#6b421b, #15202a); }
  .ledgerModal .ledgerClose svg { visibility: visible; }
  .ledgerModal .ledgerNavigation { position: relative; inset: auto; height: 44px; min-height: 44px; flex-shrink: 0; border: 1px solid #c38a3a88; border-radius: 9px; background: #101d2b; }
  .ledgerModal .ledgerNavigation span { align-self: center; margin: 0; font-size: 10px; letter-spacing: .025em; }
  .ledgerModal .ledgerNavigation button { color: #ffdf94; background: #d991261c; font-size: 28px; width: 44px; }
  .ledgerModal .ledgerStatus { position: static; order: 0; font-size: 11px; margin: 0; }
  .ledgerModal .ledgerSummary { position: relative; inset: auto; height: auto; flex-shrink: 0; gap: 6px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ledgerModal .ledgerSummary > div { padding: 10px 3px; border: 1px solid #a8733288; border-radius: 8px; background: linear-gradient(#32271d, #0d1b27); }
  .ledgerModal .ledgerSummary span { font-size: 9px; letter-spacing: 0; }
  .ledgerModal .ledgerSummary strong, .ledgerModal .ledgerSummary b { font-size: clamp(12px, 3.5vw, 17px); }
  .ledgerModal .ledgerScroll { position: relative; inset: auto; flex: 1 1 auto; min-height: 0; padding: 0 5px 4px; border: 1px solid #bb873950; border-radius: 6px; background: #060f19d9; }
  .ledgerModal .ledgerStats { flex-wrap: wrap; gap: 0 6px; padding: 4px; }
  .ledgerModal .ledgerStats > div { gap: 5px; }
  .ledgerModal .ledgerStats span { font-size: 9px; }
  .ledgerModal .ledgerStats b { font-size: 11px; }
  .ledgerModal .ledgerTable th, .ledgerModal .ledgerTable td { padding: 8px 4px; font-size: 10px; }
  .ledgerModal .ledgerActions { position: relative; inset: auto; height: 46px; min-height: 46px; flex-shrink: 0; }
  .ledgerModal .ledgerActions button { background: linear-gradient(#d66b17, #8d270d); border: 1px solid #ffcc66; border-radius: 9px; font-size: 12px; }
}
@media (max-height: 560px) {
  .ledgerModal .ledgerCard { padding: 42px 22px 30px; gap: 4px; }
  .ledgerModal .ledgerCard::before { border-image-width: 42px 18px 30px 18px; }
  .ledgerModal .ledgerCard h2 { inset: 12px 20% auto; height: 26px; font-size: 18px; }
  .ledgerModal .ledgerClose { top: 0; }
  .ledgerModal .ledgerStatus { display: none; }
  .ledgerModal .ledgerSummary > div { padding: 4px 3px; }
}
