.ledger-v2-desk,.ledger-performance-v2{margin-top:18px;border:1px solid #4a3820;background:linear-gradient(135deg,#0c0b09,#080a08);padding:18px;box-shadow:8px 9px 0 #050403}
.ledger-live-desk .ledger-action-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr))}
.ledger-book-head p,.ledger-performance-v2 header p{max-width:680px;color:#9a9082;font-size:13px;line-height:1.55}
.ledger-character-slot{min-width:255px;border:1px dashed #6b5127;background:#0b0906;padding:14px;text-align:center;color:#d2a23b}
.ledger-character-slot span{display:block;font:900 11px/1.2 Arial,sans-serif;letter-spacing:.12em}.ledger-character-slot small{display:block;margin-top:6px;color:#847969;font-size:10px}
.ledger-capability-legend{display:flex;gap:15px;flex-wrap:wrap;border-top:1px solid #29241d;padding-top:12px;color:#9b9285;font:800 10px/1.3 Arial,sans-serif;letter-spacing:.08em}
.ledger-capability-legend span{display:flex;gap:6px;align-items:center}.ledger-capability-legend i{width:8px;height:8px;border-radius:50%}.ledger-capability-legend .available{background:#55cf79}.ledger-capability-legend .limited{background:#d4a43b}.ledger-capability-legend .unavailable{background:#7c756d}
.ledger-action-card.real{display:flex;flex-direction:column;gap:0}.ledger-action-top>[data-simulated-ticket]{margin-right:auto}.ledger-ticket-title{font-size:12px;color:#423725;font-weight:950;letter-spacing:.08em}.ledger-action-card.real .ledger-action-main h3{color:#211b13;font-size:26px}
.ledger-snapshot-board{display:grid;grid-template-columns:1fr 46px 1fr;gap:8px;align-items:stretch;margin:10px 0}.ledger-snapshot-board>div{border:1px solid #a59475;background:#f4ead7;padding:10px}.ledger-snapshot-board small{display:block;color:#6c6253;font-size:10px;font-weight:900;letter-spacing:.08em}.ledger-snapshot-board strong{display:block;color:#15120e;font-size:24px;margin-top:4px}.ledger-snapshot-board span{display:block;color:#6e6354;font-size:10px;margin-top:3px}.ledger-snapshot-move{display:grid;place-items:center!important;border:0!important;background:transparent!important;color:#78241c!important;font-size:20px!important}
.ledger-metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:9px}.ledger-metric-strip>div{border-top:1px solid #aa9571;padding:7px 2px}.ledger-metric-strip small{display:block;color:#6f6557;font-size:9px}.ledger-metric-strip strong{display:block;color:#1d1913;font-size:15px;margin-top:2px}.ledger-metric-strip .truth-boundary strong{font-size:11px;color:#725a2c}
.ledger-ticket-chart{border:1px solid #a39275;background:#18140e;padding:7px}.ledger-ticket-chart svg{display:block;width:100%;height:82px}.ledger-ticket-chart .grid{stroke:#3a3328;stroke-width:1}.ledger-ticket-chart .model{fill:none;stroke:#63d887;stroke-width:3}.ledger-ticket-chart .market{fill:none;stroke:#d7a83d;stroke-width:2;stroke-dasharray:6 4}.ledger-ticket-chart circle.model{fill:#63d887}.ledger-ticket-chart circle.market{fill:#d7a83d}.ledger-ticket-chart text{fill:#8f8678;font:9px monospace}.ledger-ticket-chart-empty{padding:15px;color:#8f8678;font-size:11px;text-align:center}
.ledger-ticket-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:10px}.ledger-card-remove,.ledger-card-details{border:1px solid #7c5d2f;background:#111;color:#e6bf69;padding:9px 11px;font:900 10px/1 Arial,sans-serif;letter-spacing:.09em;cursor:pointer}.ledger-card-remove{border-color:#8d4f42;color:#e0b0a6}.ledger-card-remove:hover{background:#6f291f;color:#fff}
.ledger-remove-modal section{max-width:560px}.ledger-remove-modal section>strong{display:block;color:#e9d8b9;font-size:22px;margin:16px 0 4px}.ledger-remove-modal section>p{color:#a89d8e;line-height:1.5}.btn.danger{background:#7b2d23;color:#fff;border:1px solid #b45d4d}.ledger-toast{position:fixed;z-index:11000;right:25px;bottom:25px;background:#16311e;border:1px solid #55c977;color:#e9fff0;padding:14px 18px;font:900 12px Arial,sans-serif;letter-spacing:.09em;box-shadow:0 10px 40px #000}
.ledger-details-modal section{max-width:850px}.ledger-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.ledger-detail-grid div{border:1px solid #342d24;padding:10px;background:#070706}.ledger-detail-grid small{display:block;color:#80766a;font-size:10px}.ledger-detail-grid strong{display:block;margin-top:4px;color:#e7ddcf;font:12px/1.4 monospace;overflow-wrap:anywhere}.ledger-detail-note{margin-top:12px;border-left:3px solid #d2a43d;padding:10px;color:#9b9184;font-size:12px;line-height:1.5}
.ledger-performance-v2 .ledger-section-head>strong{max-width:300px;color:#d5a53b;text-align:right;font:900 14px/1.25 Arial,sans-serif;letter-spacing:.09em}.ledger-performance-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.ledger-performance-filters label{color:#857b6d;font-size:10px;font-weight:900}.ledger-performance-filters select{width:100%;margin-top:5px;border:1px solid #453923;background:#060606;color:#e8ded0;padding:10px}
.ledger-versus-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ledger-versus-summary article{border:1px solid #403423;background:#e8dbc3;color:#17120d;padding:14px}.ledger-versus-summary small{display:block;color:#685c4c;font-size:10px;font-weight:900}.ledger-versus-summary strong{display:block;font-size:26px;margin-top:4px}.ledger-versus-summary span{display:block;color:#75231d;font-weight:900;margin-top:3px}
.ledger-versus-chart{margin-top:10px;border:1px solid #373027;background:#070707;padding:14px}.ledger-chart-labels{display:flex;gap:20px;color:#aaa093;font-size:10px;font-weight:900}.ledger-chart-labels span:first-child:before,.ledger-chart-labels span:last-child:before{content:"";display:inline-block;width:16px;height:3px;margin-right:6px;vertical-align:middle}.ledger-chart-labels span:first-child:before{background:#e2b34a}.ledger-chart-labels span:last-child:before{background:#62d987}.ledger-versus-chart svg{display:block;width:100%;height:auto;margin-top:8px}.ledger-versus-chart .axis{stroke:#302b25}.ledger-versus-chart .you{fill:none;stroke:#e2b34a;stroke-width:4}.ledger-versus-chart .dick{fill:none;stroke:#62d987;stroke-width:4}.ledger-versus-chart circle.you{fill:#e2b34a}.ledger-versus-chart circle.dick{fill:#62d987}.ledger-versus-chart text{fill:#81786c;font:10px monospace}.ledger-versus-chart p{color:#8e857a;font-size:11px}
.ledger-versus-table-wrap{overflow:auto;margin-top:10px;border:1px solid #3a3125}.ledger-versus-table-wrap table{width:100%;border-collapse:collapse;background:#e8dbc3;color:#17120d;min-width:900px}.ledger-versus-table-wrap th{background:#322417;color:#eee0c7;text-align:left;font-size:10px;padding:10px}.ledger-versus-table-wrap td{border-top:1px solid #aa9879;padding:10px;font-size:11px}.ledger-versus-table-wrap button{border:1px solid #79613a;background:#17120d;color:#e3bb62;padding:7px 9px;font-size:9px;font-weight:900}.ledger-no-comparable{color:#812b21;font-weight:900}
@media(max-width:1024px){.ledger-performance-filters,.ledger-versus-summary{grid-template-columns:repeat(2,1fr)}.ledger-snapshot-board{grid-template-columns:1fr}.ledger-snapshot-move{min-height:32px;transform:rotate(90deg)}.ledger-character-slot{min-width:0}.ledger-metric-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ledger-v2-desk,.ledger-performance-v2{padding:13px}.ledger-book-head{display:grid;grid-template-columns:1fr;align-items:start}.ledger-character-slot{width:100%;box-sizing:border-box}.ledger-live-note{display:grid;grid-template-columns:1fr}.ledger-live-note i{justify-self:start}.ledger-toolbar>div:last-child{display:grid;grid-template-columns:1fr;gap:6px}.ledger-toolbar>div:last-child button{width:100%}.ledger-performance-filters,.ledger-versus-summary,.ledger-detail-grid{grid-template-columns:1fr}.ledger-action-card.real{padding:12px}.ledger-ticket-actions{display:grid;grid-template-columns:1fr}.ledger-ticket-actions button{width:100%}.ledger-performance-v2 .ledger-section-head{align-items:start}.ledger-performance-v2 .ledger-section-head>strong{text-align:left}.ledger-toast{left:12px;right:12px;bottom:12px}}
.ledger-reporting-policy{padding:14px;margin-bottom:18px;border:1px solid #856128;color:#d8ccb6;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.ledger-reporting-policy p{margin:0 0 8px}.ledger-reporting-policy p:last-child{margin-bottom:0}

/* Full batch review stays inside the existing import modal. */
#ledgerImportPreview{max-height:min(45vh,340px);min-width:0;overflow-wrap:anywhere;line-height:1.5}
#ledgerImportPreview [data-ledger-preview-row]{display:block;font-size:12px;color:#d8ccb6}
#ledgerImportPreview:focus-visible,.ledger-import-more summary:focus-visible{outline:2px solid #e2b449;outline-offset:2px}
.ledger-import-more>summary{box-sizing:border-box;min-height:44px;padding:12px 8px;color:#e2b449;cursor:pointer;border:1px solid #856128;border-radius:6px}
.ledger-import-more>summary span{font-size:12px;color:inherit;font-weight:700}
.ledger-import-more>div{display:grid;gap:8px;padding-top:8px}
.ledger-import-more:not([open]) .import-show-six,.ledger-import-more[open] .import-show-all{display:none}

.ledger-modal>section>button:first-child{min-width:44px;min-height:44px}
.ledger-modal>section>button:first-child~h2,.ledger-modal>section>button:first-child~.kicker{padding-right:48px}
.ledger-modal :is(button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid #e2b449;outline-offset:2px}

/* Save My Ass shares the existing dialog keyboard lifecycle. */
.save-my-ass-modal{padding:16px}
.save-my-ass-dialog{box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.save-my-ass-close{min-width:44px;min-height:44px;color:#d8ccb6}
.save-my-ass-dialog h2{padding-right:44px;font-size:clamp(28px,5vw,48px)}
.save-my-ass-dialog>.kicker{padding-right:44px}
.save-my-ass-lede,.save-my-ass-result{font-size:14px;color:#d8ccb6;line-height:1.5;overflow-wrap:anywhere}
.save-my-ass-field{font-size:12px;color:#d8ccb6}
.save-my-ass-readout small{font-size:11px;color:#d8ccb6}
.save-my-ass-rule strong,.save-my-ass-rule span{font-size:12px;color:#d8ccb6}
.save-my-ass-modal :is(button,select,[tabindex]):focus-visible{outline:2px solid #e2b449;outline-offset:2px}
