  :root { --token:#ff9f1c; }
  .view-tab { --ledger-view-tab-min-width:170px; }
  .metric-label { letter-spacing:.45px; }
  .metric-value.product { color:var(--accent); }
  .metric-value.token { color:var(--token); }
  .metric-value.risk { color:var(--risk); }
  .layer-divider {
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:15px;
    border:1px solid var(--line);
    background:var(--ledger);
  }
  .layer {
    position:relative;
    min-width:0;
    padding:14px 16px 15px;
  }
  .layer + .layer { border-left:1px solid var(--line); }
  .layer:before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--accent); }
  .layer.token-layer:before { background:var(--token); }
  .layer-kicker { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.55px; text-transform:uppercase; }
  .token-layer .layer-kicker { color:var(--token); }
  .layer h2 { margin:4px 0 5px; color:var(--text); font-size:16px; }
  .layer p { margin:0; color:var(--muted); font-size:11px; }
  .layer strong { color:var(--text); }
  .landscape-grid {
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(330px,.72fr);
    gap:14px;
    align-items:start;
    margin-top:15px;
  }
  .structure-grid { display:grid; grid-template-columns:1fr 1fr 1fr; }
  .structure-block { min-width:0; padding:12px; }
  .structure-block + .structure-block { border-left:1px solid var(--line); }
  .structure-title { margin-bottom:9px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.45px; text-transform:uppercase; }
  .bar-row {
    display:grid;
    grid-template-columns:minmax(72px,.7fr) minmax(50px,1fr) 34px;
    gap:8px;
    align-items:center;
    min-height:29px;
  }
  .bar-label { overflow:hidden; color:var(--text); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
  .bar-track { height:7px; background:#252c36; overflow:hidden; }
  .bar-fill { display:block; width:var(--w); height:100%; background:var(--tone,var(--accent)); }
  .bar-value { color:var(--muted); font-size:10px; text-align:right; }
  .issues-list { display:grid; }
  .issue-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    gap:10px;
    align-items:center;
    min-height:50px;
    padding:8px 11px;
    border-bottom:1px solid var(--row);
  }
  .issue-row:last-child { border-bottom:0; }
  .issue-row.compromised { border-left:3px solid var(--risk); }
  .issue-name { overflow:hidden; color:var(--text); font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
  .issue-meta { display:block; margin-top:2px; color:var(--muted); font-size:11px; font-weight:400; }
  body.ledger-page .status.status-active { border-color:var(--positive-border); background:var(--positive-bg); color:#67d47b; }
  body.ledger-page .status.status-compromised { border-color:var(--negative-border); background:var(--negative-bg); color:#ff8485; }
  body.ledger-page .status.status-defunct { color:#9da5ae; }
  .snapshot-list { display:grid; }
  .snapshot-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) 72px 74px;
    gap:9px;
    align-items:center;
    min-height:45px;
    padding:8px 11px;
    border-bottom:1px solid var(--row);
  }
  .snapshot-row:last-child { border-bottom:0; }
  .snapshot-row strong { color:var(--text); }
  .snapshot-row small { display:block; color:var(--muted); font-size:10px; }
  .snapshot-money { color:var(--text); text-align:right; }
  .ffi-badge { display:inline-block; min-width:45px; padding:3px 6px; border:1px solid var(--line); font-size:10px; text-align:center; }
  .ffi-good { border-color:#245f34; color:#67d47b; }
  .ffi-watch { border-color:#66521a; color:#ffd45c; }
  .ffi-risk { border-color:#61282b; color:#ff8485; }
  .ffi-none { color:var(--muted); }
  .toolbar { --ledger-toolbar-columns:minmax(190px,1.55fr) repeat(4,minmax(110px,.7fr)) auto auto auto; }
  .token-toolbar { grid-template-columns:minmax(190px,1.5fr) repeat(2,minmax(145px,.75fr)) auto; }
  .name-col { width:190px; }
  .type-col { width:92px; }
  .custody-col { width:92px; }
  .chain-col { width:130px; }
  .token-col { width:86px; }
  .age-col { width:58px; text-align:right; }
  .status-col { width:108px; }
  .rank-col { width:72px; text-align:right; }
  .score-col { width:132px; text-align:right; }
  .trend-col { width:110px; text-align:right; }
  .maturity-col { width:112px; }
  .token-symbol { color:var(--token); font-size:inherit; font-weight:var(--weight-normal); }
  .score-cell { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
  .score-track { width:54px; height:7px; background:#252c36; overflow:hidden; }
  .score-fill { display:block; width:var(--w); height:100%; background:var(--tone,var(--accent)); }
  .score-value { min-width:25px; color:inherit; font-size:inherit; font-weight:var(--weight-normal); text-align:right; }
  body.ledger-page .data-table .number.trend-improving { color:var(--positive); }
  body.ledger-page .data-table .number.trend-worsening { color:var(--risk); }
  body.ledger-page .data-table .number.trend-stable { color:var(--muted); }
  .maturity { color:var(--muted); font-size:inherit; font-weight:var(--weight-normal); text-transform:capitalize; }
  .unproven { color:var(--signal); font-weight:var(--weight-normal); }
  .panel-foot { padding:9px 11px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
  @media (max-width:980px) {
    .landscape-grid { grid-template-columns:1fr; }
    .structure-grid { grid-template-columns:1fr 1fr; }
    .structure-block:nth-child(3) { grid-column:1/-1; border-top:1px solid var(--line); border-left:0; }
    .token-toolbar { grid-template-columns:1fr 1fr; }
    .token-toolbar .search-field { grid-column:1/-1; }
  }
  @media (max-width:680px) {
    .layer-divider { grid-template-columns:1fr; }
    .layer + .layer { border-top:1px solid var(--line); border-left:0; }
    .structure-grid { grid-template-columns:1fr; }
    .structure-block + .structure-block { border-top:1px solid var(--line); border-left:0; }
    .structure-block:nth-child(3) { grid-column:auto; }
  }
