/* Pestaña AFP: usa las clases ip- del panel y añade solo lo propio */
.ip-afp-alert { border: 1px solid var(--color-border-line); border-left: 3px solid var(--color-warn); border-radius: var(--cds-radius); background: var(--color-panel); padding: var(--cds-pad-sm) var(--cds-pad-md); line-height: 1.5; max-width: 72ch; }
.ip .ip-afp-alert b { font-weight: var(--cds-font-weight-medium); }
.ip-afp-bar { display: grid; gap: var(--cds-gap-sm); }
.ip-afp-desc { max-width: 72ch; }
.ip .ip-afp-desc b { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
.ip-afp-num { width: 9ch; border: 0; outline: none; background: transparent; color: var(--color-fg); font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-title); font-variant-numeric: tabular-nums; }
.ip-afp-num.is-short { width: 3.5ch; }
.ip-afp-unit { color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); }
.ip .ip-chart.ip-afp-chart { min-height: 8.5rem; }
.ip-afp-multi { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: var(--cds-gap-md) var(--cds-gap-xl); }
.ip-afp-panel { display: grid; gap: var(--cds-gap-xs); align-content: start; min-width: 0; }
.ip-afp-panel-h { font-size: var(--cds-font-size-caption); font-weight: var(--cds-font-weight-medium); color: var(--color-fg); border-bottom: 1px solid var(--color-border-line); padding-bottom: var(--cds-pad-xs); }
.ip-afp-panel svg { display: block; overflow: visible; }
.ip-afp-panel g { cursor: pointer; }
.ip-afp-dl { display: grid; margin: 0; }
.ip-afp-dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--cds-gap-md); padding: var(--cds-pad-xs) 0; border-bottom: 1px solid var(--color-border-line); }
.ip-afp-dl > div:last-child { border-bottom: 0; }
.ip-afp-dl dt { color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); }
.ip-afp-dl dd { margin: 0; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ip .ip-afp-dl .is-total dt, .ip .ip-afp-dl .is-total dd { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
.ip .ip-afp-dl .is-sub dt { padding-left: var(--cds-pad-sm); }
.ip-afp-rank tbody tr { cursor: pointer; }
.ip .ip-afp-rank tbody tr:hover td { background: var(--ip-soft); }
.ip-afp-rank tbody tr:focus-visible { outline: 2px solid var(--ip-accent); outline-offset: -2px; }
.ip .ip-mini tr.is-sel td { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
.ip-afp-steps { margin: 0; padding-left: 1.25rem; display: grid; gap: var(--cds-gap-xs); line-height: 1.5; }
