/* Egne priser i økonomikortet (solpark-priser.jsx) */
.sp-pris { margin-top: 10px; }
.sp-pris__topp { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 10px; }
.sp-pris__topp h4 { margin: 0; font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--sp-dempet, oklch(0.5 0.04 60)); }
.sp-pris__band { font-size: 12.5px; display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.sp-pris__rull { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; border: 1px solid oklch(0.92 0.02 75); border-radius: 6px; margin-top: 6px; background: oklch(1 0 0); }
.sp-pris__tabell { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 12.5px; }
.sp-pris__tabell th { position: sticky; top: 0; background: oklch(0.97 0.01 80); font-weight: 700; color: var(--sp-dempet, oklch(0.5 0.04 60)); font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; text-align: left; padding: 5px 6px; white-space: nowrap; }
.sp-pris__tabell td { padding: 4px 6px; border-top: 1px solid oklch(0.93 0.015 75); vertical-align: top; }
.sp-pris__tall { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sp-pris__tabell th:nth-child(n+2):not(:last-child) { text-align: right; }
.sp-pris__post { min-width: 170px; }
.sp-pris__dempet { color: var(--sp-dempet, oklch(0.5 0.04 60)); }
.sp-pris__kilde { display: flex; align-items: center; gap: 4px; font-size: 10.5px; margin-top: 2px; color: var(--sp-dempet, oklch(0.5 0.04 60)); }
.sp-pris__kilde--egen { color: var(--sp-aksent, oklch(0.45 0.14 45)); font-weight: 600; }
.sp-pris__rad--egen td:first-child { box-shadow: inset 3px 0 0 var(--sp-aksent, oklch(0.45 0.14 45)); }
.sp-pris__nullstill { border: 1px solid var(--sp-kant, oklch(0.86 0.04 75)); background: oklch(1 0 0); border-radius: 4px; font-size: 11px; line-height: 1; padding: 2px 5px; cursor: pointer; color: var(--sp-tekst, oklch(0.25 0.03 60)); }
.sp-pris__verdi { border: 0; background: none; padding: 2px 4px; border-radius: 4px; font: inherit; cursor: pointer; border-bottom: 1px dashed oklch(0.8 0.03 75); color: var(--sp-tekst, oklch(0.25 0.03 60)); text-align: right; }
.sp-pris__verdi.std { color: var(--sp-dempet, oklch(0.5 0.04 60)); }
.sp-pris__verdi.egen { color: var(--sp-aksent, oklch(0.45 0.14 45)); font-weight: 700; border-bottom-color: var(--sp-aksent, oklch(0.45 0.14 45)); }
.sp-pris__verdi:hover, .sp-pris__verdi:focus-visible { background: oklch(0.95 0.03 75); outline: none; }
.sp-pris__inn { width: 92px; font: inherit; padding: 2px 4px; text-align: right; border: 1px solid var(--sp-aksent, oklch(0.45 0.14 45)); border-radius: 4px; }
.sp-pris__tekst { width: 100%; min-width: 150px; font: inherit; font-size: 12px; padding: 3px 5px; border: 1px solid oklch(0.9 0.02 75); border-radius: 4px; background: oklch(0.995 0.003 85); }
.sp-pris__tekst:focus { border-color: var(--sp-aksent, oklch(0.45 0.14 45)); outline: none; background: oklch(1 0 0); }
.sp-pris__navn { font-weight: 600; }
.sp-pris__enhet { width: 64px; min-width: 64px; }
.sp-pris__kom { min-width: 180px; }
.sp-pris__linje { display: flex; gap: 4px; align-items: center; margin-top: 3px; justify-content: flex-end; }
.sp-pris__post .sp-pris__linje { justify-content: flex-start; }
.sp-pris__linje select, .sp-pris__mvalg { font: inherit; font-size: 11px; max-width: 150px; padding: 1px 2px; }
.sp-pris__fjern { border: 1px solid oklch(0.85 0.05 25); color: var(--sp-varsel, oklch(0.55 0.2 25)); background: oklch(1 0 0); border-radius: 4px; font-size: 11px; padding: 1px 6px; cursor: pointer; }
.sp-pris__sum td { font-weight: 700; border-top: 1.5px solid var(--sp-kant, oklch(0.86 0.04 75)); }
.sp-pris__ny { border: 1px dashed var(--sp-aksent, oklch(0.45 0.14 45)); color: var(--sp-aksent, oklch(0.45 0.14 45)); background: none; border-radius: 6px; padding: 4px 10px; font: inherit; font-size: 12.5px; cursor: pointer; }
.sp-pris__liste { margin-top: 10px; font-size: 12.5px; }
.sp-pris__liste summary { cursor: pointer; font-weight: 600; }
.sp-pris__knapper { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.sp-pris__knapper button, .sp-pris__fil { font: inherit; font-size: 12.5px; padding: 4px 10px; border: 1px solid var(--sp-kant, oklch(0.86 0.04 75)); border-radius: 6px; background: oklch(1 0 0); cursor: pointer; color: var(--sp-tekst, oklch(0.25 0.03 60)); }
.sp-pris__knapper button:disabled { opacity: 0.5; cursor: default; }
.sp-pris__fil input { display: none; }
@media (max-width: 600px) {
  .sp-pris__tabell { font-size: 12px; }
  .sp-pris__kom { min-width: 150px; }
}
