/* Gemensamma tabellstilar. B = mörk rubrikrad, C = kompakt matris. Blå bakgrund = inuti .elj-s-band. */
.elj-tab { --t-natt: #121A4A; --t-text: #2E3554; --t-dim: #4A5275; --t-linje: #E3E7F5; --t-ljus: #F4F6FF; --t-gron: #1F8A5B; --t-gron-text: #135C36;
	margin: 8px 0 32px !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important; overflow: visible !important; }
.elj-tab table { width: 100%; margin: 0 !important; border: 0 !important; font-size: 15px; font-variant-numeric: tabular-nums; color: var(--t-text); background: transparent !important; box-shadow: none !important; }
.elj-tab :is(th, td) { text-align: left; vertical-align: middle; padding: 13px 12px !important; border: 0 !important; background: transparent !important; font-size: 15px; line-height: 1.4; text-transform: none !important; letter-spacing: 0 !important; }
.elj-tab tr > :first-child { padding-left: 20px !important; }
.elj-tab tr > :last-child { padding-right: 20px !important; }
.elj-tab tbody th { font-weight: 700; color: var(--t-natt); }
.elj-tab tbody th a, .elj-tab tbody td:first-child a { color: var(--t-natt) !important; font-weight: 700; text-decoration: none !important; box-shadow: none !important; }
.elj-tab tbody th a:hover { color: #2741D8 !important; text-decoration: underline !important; }
.elj-tab__under { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--t-dim); }
.elj-tab figcaption { margin: 10px 0 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; font-size: 13px !important; color: var(--t-dim) !important; text-align: left !important; }
.elj-svar { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.elj-svar--ja { color: var(--t-gron-text); font-weight: 600; }
.elj-svar--okant { color: var(--t-dim); }

/* B: mörk rubrikrad */
.elj-tab--b .elj-tab__rulla, .elj-tab--b > table { display: block; overflow-x: auto; border-radius: 16px; border: 1px solid var(--t-linje); background: #fff; }
.elj-tab--b .elj-tab__rulla > table { display: table; }
.elj-tab--b > table { display: table; overflow: hidden; border-collapse: separate !important; border-spacing: 0; }
.elj-tab--b table { border-collapse: collapse; }
.elj-tab--b thead :is(th, td) { background: var(--t-natt) !important; color: #fff !important; font-weight: 700; font-size: 13px; padding-top: 15px !important; padding-bottom: 15px !important; white-space: nowrap; }
.elj-tab--b tbody tr:nth-child(even) > * { background: var(--t-ljus) !important; }
.elj-tab--b .elj-svar::before { content: ""; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 999px; flex-shrink: 0; font-size: 12px; font-weight: 800; line-height: 1; box-sizing: border-box; }
.elj-tab--b .elj-svar--ja::before { content: "\2713"; background: var(--t-gron); color: #fff; }
.elj-tab--b .elj-svar--nej::before { content: "\2715"; background: #DDE1EE; color: #3B4263; }
.elj-tab--b .elj-svar--okant::before { content: "?"; border: 1px solid #9AA2C4; color: var(--t-dim); background: #fff; }
.elj-s-band .elj-tab--b .elj-tab__rulla, .elj-s-band .elj-tab--b > table { border: 0; box-shadow: 0 1px 2px rgba(18,26,74,.06), 0 10px 28px rgba(18,26,74,.08); }
.elj-s-band .elj-tab--b tbody tr:nth-child(even) > * { background: #F8F9FE !important; }
@media (max-width: 640px) {
	.elj-tab--b :is(th, td) { white-space: nowrap; font-size: 14px; padding: 11px 10px !important; }
	.elj-tab--b tr > :first-child { position: sticky; left: 0; z-index: 1; background: #fff !important; box-shadow: 6px 0 10px -6px rgba(18,26,74,.25); padding-left: 14px !important; white-space: normal; min-width: 110px; }
	.elj-tab--b thead tr > :first-child { background: var(--t-natt) !important; }
	.elj-tab--b tbody tr:nth-child(even) > :first-child { background: var(--t-ljus) !important; }
	.elj-tab--b .elj-tab__under { white-space: normal; }
}

/* C: kompakt matris */
.elj-tab--c table { border-collapse: separate !important; border-spacing: 0; }
.elj-tab--c thead :is(th, td) { background: transparent !important; color: var(--t-natt) !important; font-weight: 700; font-size: 13px; padding-top: 10px !important; padding-bottom: 10px !important; border-bottom: 2px solid var(--t-natt) !important; white-space: nowrap; }
.elj-tab--c tbody > tr > * { border-bottom: 1px solid var(--t-linje) !important; }
.elj-tab--c :is(th, td).elj-tab__svar, .elj-tab--c td:has(> .elj-svar) { text-align: center; }
.elj-tab--c .elj-svar { font-size: 14px; }
.elj-tab--c .elj-svar--ja { color: var(--t-text); font-weight: 400; }
.elj-tab--c .elj-svar::before { content: ""; width: 12px; height: 12px; border-radius: 999px; flex-shrink: 0; box-sizing: border-box; }
.elj-tab--c .elj-svar--ja::before { background: var(--t-gron); }
.elj-tab--c .elj-svar--nej::before { border: 2px solid #6B7395; }
.elj-tab--c .elj-svar--okant::before { border: 2px dashed #9AA2C4; }
.elj-s-band .elj-tab--c table { border-spacing: 0 6px; }
.elj-s-band .elj-tab--c tbody > tr > * { border-bottom: 0 !important; background: #fff !important; }
.elj-s-band .elj-tab--c tbody > tr > :first-child { border-radius: 12px 0 0 12px; }
.elj-s-band .elj-tab--c tbody > tr > :last-child { border-radius: 0 12px 12px 0; }
@media (max-width: 640px) {
	.elj-tab--c table, .elj-tab--c tbody { display: block; width: 100%; }
	.elj-tab--c thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.elj-tab--c tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; padding: 14px; margin-bottom: 8px; border: 1px solid var(--t-linje); border-radius: 14px; background: #fff; }
	.elj-s-band .elj-tab--c tbody tr { border: 0; }
	.elj-tab--c tbody tr > * { display: block; padding: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: left !important; white-space: normal; }
	.elj-tab--c tbody tr > :first-child { grid-column: 1 / -1; }
	.elj-tab--c tbody td::before { content: attr(data-rubrik); display: block; margin-bottom: 3px; font-size: 12px; font-weight: 600; color: var(--t-dim); }
	.elj-tab--c tbody td .elj-svar::before { display: inline-block; }
}

/* Dold text (position: absolute) inne i tabellerna ska hålla sig inom rullytan. Utan det hamnar den utanför och gör sidan bredare än skärmen i mobil. */
.elj-tab, .elj-tab__rulla { position: relative; }
