#token-contract-ledger{grid-column:1/-1;border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--card);color:var(--foreground);font-variant-numeric:tabular-nums;min-width:0}
#token-contract-ledger .tc-heading,#token-contract-ledger .tc-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
#token-contract-ledger h2{font-size:19px;margin:0 0 6px}#token-contract-ledger h3{font-size:15px;margin:16px 0 5px}#token-contract-ledger p{font-size:12px;line-height:1.8;color:var(--muted-foreground);margin:8px 0}
#token-contract-ledger button,#token-contract-ledger select{font:inherit;font-size:12px;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:6px;padding:7px 10px;cursor:pointer}
#token-contract-ledger button:disabled{opacity:.5;cursor:wait}#token-contract-ledger :focus-visible{outline:2px solid var(--ring);outline-offset:2px}
#token-contract-ledger .tc-controls{justify-content:flex-start;margin:15px 0}#token-contract-ledger label{font-size:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#token-contract-ledger .tc-badge{font-size:10px;background:var(--card);padding:4px 8px;border-radius:5px;line-height:1.6}
#token-contract-ledger .tc-scroll{overflow:auto;max-width:100%;border:1px solid var(--border);border-radius:8px;margin:10px 0}
#token-contract-ledger table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;white-space:nowrap;text-align:right}
#token-contract-ledger th,#token-contract-ledger td{padding:10px 12px;border-bottom:1px solid var(--border);line-height:1.6}
#token-contract-ledger th{font-weight:550;background:var(--secondary)}#token-contract-ledger th:first-child{position:sticky;left:0;text-align:left;z-index:1;min-width:150px}
#token-contract-ledger th small,#token-contract-ledger td small{display:block;font-size:10px;font-weight:400;color:var(--muted-foreground)}
#token-contract-ledger td button{color:var(--primary);border:0;padding:3px;background:transparent;font-variant-numeric:tabular-nums;text-decoration:underline;text-underline-offset:3px}
#token-contract-ledger tfoot{font-weight:600}#token-contract-ledger .tc-note{font-size:11px}
#token-contract-ledger dialog{position:fixed;inset:0;margin:auto;width:min(960px,94vw);max-height:88vh;box-sizing:border-box;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:22px;background:var(--card);color:var(--foreground)}
#token-contract-ledger dialog::backdrop{background:color-mix(in srgb,var(--foreground) 30%,transparent)}
#token-contract-ledger .tc-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}#token-contract-ledger .tc-detail-grid div{background:var(--secondary);padding:12px;border-radius:7px}#token-contract-ledger .tc-detail-grid span{font-size:11px;display:block;color:var(--muted-foreground)}#token-contract-ledger .tc-detail-grid b{font-size:17px;display:block;margin-top:5px;overflow-wrap:anywhere}
#token-contract-ledger .tc-digest{overflow-wrap:anywhere;font-size:10px}#token-contract-ledger a{color:var(--primary);font-size:12px}
@media(max-width:700px){#token-contract-ledger{padding:12px}#token-contract-ledger .tc-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

#token-contract-ledger .tc-selected th,#token-contract-ledger .tc-selected td{background:color-mix(in srgb,var(--primary) 7%,var(--card))}
#token-contract-ledger .tc-amount{font-weight:650;font-size:13px}
#token-contract-ledger #tc-progress th:first-child{min-width:205px}
#token-contract-ledger #tc-progress th button,#token-contract-ledger #tc-matrix th button{padding:0;border:0;background:transparent;color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-align:left;font-weight:600}
#token-contract-ledger #tc-detail th:first-child{position:static}
#token-contract-ledger .tc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
#token-contract-ledger .tc-quarter-card{display:flex;flex-direction:column;gap:10px;text-align:left;padding:18px;border-radius:10px;background:var(--secondary);min-width:0;color:var(--foreground)}
#token-contract-ledger .tc-quarter-card.tc-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--card))}
#token-contract-ledger .tc-card-period{display:block;font-size:11px;color:var(--muted-foreground);line-height:1.8;white-space:normal}
#token-contract-ledger .tc-rate{font-size:34px;font-weight:650;line-height:1.3;font-variant-numeric:tabular-nums}#token-contract-ledger .tc-rate small{font-size:18px;margin-left:3px}
#token-contract-ledger .tc-target-track{display:block;height:9px;position:relative;border-radius:5px;background:var(--border);margin:5px 0}
#token-contract-ledger .tc-target-fill{display:block;height:100%;background:var(--primary);border-radius:5px}
#token-contract-ledger .tc-target-track i{position:absolute;height:19px;width:2px;top:-5px;background:var(--foreground)}
#token-contract-ledger .tc-chart-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;margin:18px 0}
#token-contract-ledger .tc-chart-panel{border:1px solid var(--border);border-radius:10px;padding:14px;min-width:0}
#token-contract-ledger .tc-chart-panel h3{margin:0;font-size:13px}#token-contract-ledger .tc-chart{width:100%;min-width:0;height:350px}
#token-contract-ledger .tc-controls input[type=checkbox]{accent-color:var(--primary)}
@media(max-width:850px){#token-contract-ledger .tc-chart-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){#token-contract-ledger .tc-cards{grid-template-columns:minmax(0,1fr)}#token-contract-ledger .tc-quarter-card{padding:14px}#token-contract-ledger .tc-rate{font-size:30px}}

#token-contract-ledger .tc-quarter-card{cursor:pointer}
#token-contract-ledger #tc-equation{margin:5px 0;font-size:12px}
#token-contract-ledger .tc-source{border-top:1px solid var(--border);margin-top:12px;padding-top:10px;font-size:11px;color:var(--muted-foreground)}
#token-contract-ledger .tc-source summary{cursor:pointer}
#token-contract-ledger .tc-help{position:relative;display:inline-block;cursor:help;border-bottom:1px dotted var(--muted-foreground);font-weight:400}
#token-contract-ledger .tc-help::after{content:attr(data-tooltip);position:fixed;z-index:1000;width:230px;max-width:65vw;white-space:normal;text-align:left;left:var(--tc-tip-x,8px);top:var(--tc-tip-y,8px);padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--popover);color:var(--foreground);font-size:11px;line-height:1.7;box-shadow:0 4px 14px color-mix(in srgb,var(--foreground) 12%,transparent);visibility:hidden;opacity:0;pointer-events:none}
#token-contract-ledger .tc-help:hover::after,#token-contract-ledger .tc-help:focus-visible::after{visibility:visible;opacity:1}

#token-contract-ledger .tc-quarter-card{border:1px solid var(--border);font-size:12px}
#token-contract-ledger .tc-quarter-card.tc-active{border-color:var(--primary)}

#token-contract-ledger .tc-card-metrics{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
#token-contract-ledger .tc-completed{font-size:21px;font-weight:600;line-height:1.4;text-align:right}
#token-contract-ledger .tc-completed small{display:block;font-size:10px;font-weight:400;color:var(--muted-foreground)}

#token-contract-ledger .tc-total{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 16px;background:var(--secondary);border:1px solid var(--border);border-radius:9px;margin:12px 0}
#token-contract-ledger .tc-total strong{font-size:13px}#token-contract-ledger .tc-total-amount{font-size:25px;font-weight:650;line-height:1.4}#token-contract-ledger .tc-total-amount small{display:block;font-size:10px;font-weight:400;color:var(--muted-foreground)}
#token-contract-ledger .tc-view-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0;margin-top:8px;border-bottom:1px solid var(--border);font-size:12px}
#token-contract-ledger .tc-view-bar button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}
