/* "Signals and levels" - the analysis block shown on ticker pages (English: templates/_report_blocks_en.html, Swedish: templates/sv/_report_blocks.html).
   Plain tables and lists on purpose: the text has to be there for a search engine and for a reader without scripts. */
.rb { margin: 2rem 0; }
.rb h2 { font-size: 1.25rem; margin: 0 0 0.35rem 0; }
.rb h3 { font-size: 1.02rem; margin: 1.5rem 0 0.5rem 0; }
.rb p { margin: 0 0 0.6rem 0; }
.rb .rb-lead { color: var(--pico-muted-color); font-size: 0.92rem; }
.rb .rb-small { font-size: 0.78rem; color: var(--pico-muted-color); }
.rb-bullets { margin: 0 0 1rem 1.1rem; padding: 0; }
.rb-bullets li { margin: 0 0 0.3rem 0; line-height: 1.45; }
.rb table { width: 100%; font-size: 0.88rem; margin: 0 0 0.5rem 0; }
.rb th, .rb td { padding: 0.4rem 0.5rem; text-align: left; vertical-align: top; white-space: normal; overflow: visible; text-overflow: clip; max-width: none; }
.rb td.num, .rb th.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rb .show-sm { display: none; }
.rb td small, .rb th small { display: block; }
.rb caption { text-align: left; font-size: 0.8rem; color: var(--pico-muted-color); padding: 0 0 0.3rem 0; caption-side: top; }
.rb .table-wrap { overflow-x: auto; }
.rb-badge {
    display: inline-block; min-width: 4.2rem; text-align: center; padding: 0.12rem 0.45rem; border-radius: 0.35rem;
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.03em; color: var(--cb-on-accent); white-space: nowrap;
}
.rb-buy { background: var(--cb-gain); }
.rb-sell { background: var(--cb-loss); }
.rb-neutral { background: var(--cb-faint); }
.rb-rule { color: var(--pico-muted-color); font-size: 0.78rem; }
.rb-up { color: var(--cb-gain); }
.rb-down { color: var(--cb-loss); }
.rb-balance { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0.4rem 0 0.9rem 0; }
.rb-balance span { padding: 0.25rem 0.7rem; border-radius: 0.4rem; font-weight: 600; font-size: 0.85rem; color: var(--cb-on-accent); }
.rb-levels { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.rb-level-card { border: 1px solid var(--pico-muted-border-color, var(--cb-line-strong)); border-radius: 0.5rem; padding: 0.75rem 0.9rem; }
.rb-level-card h4 { margin: 0 0 0.4rem 0; font-size: 0.92rem; }
.rb-level-card.buy { border-left: 4px solid var(--cb-gain-fill); }
.rb-level-card.sell { border-left: 4px solid var(--cb-loss-fill); }
.rb-level-card.stop { border-left: 4px solid var(--cb-line-strong); }
.rb-level-card ul { list-style: none; margin: 0; padding: 0; }
.rb-level-card li { display: flex; justify-content: space-between; gap: 0.75rem; padding: 0.3rem 0; border-bottom: 1px solid var(--pico-muted-border-color, var(--cb-line)); font-size: 0.88rem; }
.rb-level-card li:last-child { border-bottom: 0; }
.rb-level-card li small { display: block; color: var(--pico-muted-color); font-size: 0.74rem; }
.rb-cta { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin: 1rem 0 0 0; }
.rb-cta .button, .rb-cta a[role="button"] { margin: 0; font-size: 0.9rem; padding: 0.45rem 0.9rem; }
.rb-faq dt { font-weight: 700; margin: 0.9rem 0 0.2rem 0; }
.rb-faq dd { margin: 0; line-height: 1.5; }
@media (max-width: 640px) {
    .rb table { font-size: 0.8rem; }
    .rb th, .rb td { padding: 0.35rem 0.3rem; }
    .rb .hide-sm { display: none; }
    .rb .show-sm { display: block; }
}
