/* ESMA Enforcement: what this page adds to the NCA Enforcement styles (sanctions.css) */

/* filters: years as a grid of chips, types and firms as lists */
.ee-years { grid-template-columns: repeat(4, 1fr); }
.ee-list { display: grid; gap: 5px; }
.ee-row { text-align: left; padding: 6px 10px; font-weight: 500; }
.ee-firms { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.ee-firms .sx-ms-b { text-align: left; padding: 5px 9px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* by year: columns split by law */
.ee-cols { display: block; width: 100%; height: auto; margin-top: 4px; overflow: visible; }
.ee-cols text { font-family: var(--sans, Inter, sans-serif); }
.ee-cols .grid { stroke: var(--line-2); stroke-width: 1; }
.ee-cols .gl { font-size: 11px; fill: var(--ink-3); text-anchor: end; }
.ee-cols .yl { font-size: 12.5px; fill: var(--ink-2); text-anchor: middle; font-weight: 600; }
.ee-cols .cv { font-size: 12px; fill: var(--ink); text-anchor: middle; font-weight: 700; font-variant-numeric: tabular-nums; }
.ee-cols .hit { fill: transparent; }
.ee-cols .col:hover .hit { fill: var(--accent-soft); }
.ee-cols .col.off { opacity: .3; }
.esma-enf .sx-chg-hero .from { font-size: 15px; font-weight: 500; }
.esma-enf .sx-chg-hero .pct { font-size: 12.5px; }

/* by firm: the row scrolls to the firm's latest decision */
.esma-enf .sx-stack-row { grid-template-columns: 130px 1fr 96px; }
.esma-enf .sx-prov .sx-bar-row { grid-template-columns: minmax(300px, 40%) 1fr 116px; }
/* the point and its name, and the amount and the firms, each in a column of its own */
.esma-enf .sx-prov .sx-bar-l a { display: grid; grid-template-columns: 8.4em minmax(0, 1fr); gap: 8px; }
.esma-enf .sx-prov .ee-pt { font-variant-numeric: tabular-nums; color: var(--ink-3); }
.esma-enf .sx-prov .ee-pl { overflow: hidden; text-overflow: ellipsis; }
.esma-enf .sx-prov a:hover .ee-pt { color: inherit; }
.ee-v { display: grid; grid-template-columns: minmax(0, 1fr) 46px; gap: 8px; }
.ee-v .sx-ms { text-align: left; }

/* appeals */
.ee-appeals { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ee-appeals li { display: grid; grid-template-columns: 140px 1fr; gap: 12px; align-items: start; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: 8px; }
.ee-ap-h { font-weight: 600; }
.ee-ap-t { font-size: 13px; color: var(--ink-2); margin: 3px 0; }
.ee-st { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 3px 9px; border-radius: 99px; text-align: center; white-space: nowrap; }
.ee-st.dismissed { color: var(--c1); background: color-mix(in srgb, var(--c1) 12%, transparent); }
.ee-st.remitted { color: var(--c2); background: color-mix(in srgb, var(--c2) 12%, transparent); }
.ee-st.pending { color: var(--c7); background: color-mix(in srgb, var(--c7) 12%, transparent); }
.ee-st.sm { font-size: 10.5px; padding: 1px 7px; margin-left: 8px; vertical-align: 1px; }

/* the decisions */
.ee-table td { vertical-align: top; }
.ee-table td.ee-what, .ee-inf td.ee-what { white-space: normal; min-width: 180px; max-width: 520px; }
.ee-table td.ee-meas { white-space: normal; min-width: 90px; color: var(--ink-2); }
.ee-case { cursor: pointer; }
.ee-case:hover > td { background: var(--accent-soft); }
.ee-case.open > td { background: var(--accent-soft); border-bottom-color: transparent; }
.ee-case:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ee-caret { display: inline-block; width: 14px; color: var(--ink-3); }
.ee-firm { font-weight: 600; }
.ee-table .sx-meta { white-space: normal; }
.ee-reg { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 1px 6px; margin: 0 4px 2px 0; border-radius: 4px; color: var(--rc); background: color-mix(in srgb, var(--rc) 12%, transparent); }
.ee-detail > td { background: var(--surface-2, var(--surface)); padding: 10px 12px 14px; }
.ee-docs { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 8px; font-size: 12.5px; }
.ee-ents { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.ee-ents span { font-size: 12px; padding: 2px 9px; border: 1px solid var(--line); border-radius: 99px; color: var(--ink-2); background: var(--surface); }
.ee-inf { background: var(--surface); border: 1px solid var(--line-2); border-radius: 6px; }
.ee-inf thead th { position: static; }
.ee-inf td { vertical-align: top; }
.ee-inf tr.dim td { opacity: .45; }
.ee-out { display: inline-block; font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 99px; color: var(--oc); background: color-mix(in srgb, var(--oc) 12%, transparent); white-space: nowrap; }
@media (max-width: 820px) { .esma-enf .sx-stack-row { grid-template-columns: 96px 1fr 76px; } .esma-enf .sx-prov .sx-bar-row { grid-template-columns: minmax(150px, 48%) 1fr 100px; } .esma-enf .sx-prov .sx-bar-l a { grid-template-columns: 1fr; gap: 0; } .esma-enf .sx-prov .ee-pt { font-size: 11px; } .ee-appeals li { grid-template-columns: 1fr; } }
/* "Show": one option per row, the chosen one marked */
.ee-show .ee-row { display: flex; align-items: center; gap: 9px; }
.ee-dot { flex: none; width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid currentColor; opacity: .55; box-sizing: border-box; }
.ee-show .ee-row.on .ee-dot { opacity: 1; background: currentColor; box-shadow: inset 0 0 0 2px var(--accent-soft); }
.ee-unit { margin-left: auto; font-size: 10px; color: var(--ink-3); border: 1px solid var(--line); border-radius: 3px; padding: 0 4px; font-weight: 500; }
.ee-outc .ee-why { width: 250px; }
.ee-inf td.num .ee-why { width: 120px; margin-left: auto; }
/* outcome notes wrap in the cell (the table rows are nowrap by default) */
.ee-inf td.ee-outc { white-space: normal; }
.ee-why { font-size: 11.5px; color: var(--ink-3); line-height: 1.4; margin-top: 3px; white-space: normal; }
.ee-inf td.num .ee-why { text-align: right; }
/* the three donuts: title and chart only */
.esma-enf .sx-grid3 > .sx-card { grid-row: span 2; }
.esma-enf .sx-stack-track .stk { min-width: 5px; }

/* how the fines were set: the factors */
.ee-fx-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 28px; margin-top: 6px; }
/* (a narrower window: each donut over its legend, so the two columns fit the card) */
@media (max-width: 1200px) { .ee-fx-grid .sx-donut-wrap { grid-template-columns: 1fr; justify-items: center; gap: 10px; } .ee-fx-grid .sx-dleg { width: 100%; } }
.ee-fx-col h3 { margin: 4px 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.esma-enf .ee-fx-bars .sx-bar-row { grid-template-columns: minmax(0, 1fr) 34% 34px; }
.ee-fx-bars .sx-bar-l { display: flex; flex-direction: column; white-space: normal; line-height: 1.25; }
.ee-fx-name { color: var(--ink); }
.ee-fx-ref { font-size: 10.5px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.ee-fx-bar.aggravating { background: var(--c2); }
.ee-fx-bar.mitigating { background: var(--c1); }
.ee-fx-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.ee-fx { font-size: 11.5px; line-height: 1.3; padding: 2px 7px; border-radius: 99px; border: 1px solid var(--line); white-space: nowrap; color: var(--ink-2); }
.ee-fx b { font-weight: 700; }
.ee-fx.agg { background: color-mix(in srgb, var(--c2) 12%, transparent); border-color: color-mix(in srgb, var(--c2) 35%, transparent); }
.ee-fx.agg b { color: var(--c2); }
.ee-fx.mit { background: color-mix(in srgb, var(--c1) 12%, transparent); border-color: color-mix(in srgb, var(--c1) 35%, transparent); }
.ee-fx.mit b { color: var(--c1); }
.ee-fx-table tr.ee-fx-case td { background: var(--surface-2); padding-top: 8px; font-size: 12.5px; }
.ee-fx-table td { vertical-align: top; }
@media (max-width: 820px) { .ee-fx-grid { grid-template-columns: 1fr; } }
@media (max-width: 1200px) { .ee-fx { white-space: normal; } }   /* (a long factor wraps inside its chip, so the table fits the card) */
.ee-fx-inline { margin-top: 5px; }

.ee-pie-note { margin: 10px 0 0; font-size: 11.5px; line-height: 1.45; }

/* ECB Sanctions (from the EBA site): the EU courts' judgments on a sanction; a decision's detail wraps and stays readable */
.ee-court { margin-top: 6px; font-size: 13px; line-height: 1.5; }
.ecb-enf .ee-detail > td { white-space: normal; }
.ecb-enf .ee-detail > td > * { max-width: min(640px, calc(100vw - 90px)); }
.ecb-enf .ee-case .ee-st.sm { margin-left: 0; }
