.topp nav { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.topp nav a:not(.knapp) { color:var(--tekst); text-decoration:none; }
.helt { padding:32px 0 8px; }
.helt h1 { font-size:clamp(1.8rem, 5vw, 2.6rem); line-height:1.15; margin:0 0 12px; max-width:20ch; }
.ingress { font-size:1.15rem; max-width:60ch; color:var(--dempet); }
.knapp.stor, button.stor { padding:12px 20px; font-size:1.05rem; margin-right:12px; }
.steg { padding-left:1.2em; } .steg li { margin:6px 0; }
.pakker { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.pakke h3 { margin:0; } .pris { font-size:1.6rem; font-weight:700; margin:6px 0; }
.aarshjul { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.maaned h3 { margin:0 0 4px; font-size:1rem; } .maaned ul { margin:0; padding-left:1.1em; font-size:.92em; }
.bredere { max-width:640px; }
.felt { margin:12px 0; } .felt label { display:block; font-weight:600; margin-bottom:4px; }
.felt ul { list-style:none; padding:0; margin:0; } .felt ul label { font-weight:400; }
.felt input[type=radio], .felt input[type=checkbox] { width:auto; margin-right:6px; }
.har-feil input, .har-feil textarea { border-color:var(--feil); }
details { margin:6px 0; } summary { cursor:pointer; font-weight:600; }
.bunn { text-align:center; padding:24px 16px; }
.mva { font-size:.85rem; font-weight:400; color:var(--dempet); }
.meldinger { max-width:640px; }
.melding.error { border-left-color:var(--feil); } .melding.info, .melding.advarsel { border-left-color:var(--varsel); }
.lopet { list-style:none; padding:0; margin:16px 0; }
.lopet li { padding:6px 0 6px 28px; position:relative; color:var(--dempet); }
.lopet li::before { content:"○"; position:absolute; left:4px; }
.lopet li.ferdig { color:var(--tekst); } .lopet li.ferdig::before { content:"✓"; color:var(--ok); }
.lopet li.aktiv { color:var(--tekst); font-weight:600; } .lopet li.aktiv::before { content:"●"; color:var(--aksent); }
.knapp.sekundar { background:transparent; color:var(--tekst); border:1px solid var(--linje); }
table.tabell td:last-child { text-align:right; }
.testbanner { margin:0; padding:8px 16px; text-align:center; background:var(--varsel); color:#fff; font-size:.9rem; }

/* Opplasteren (static/opplasting.js) */
.slippsone { border:2px dashed var(--linje); border-radius:8px; padding:16px; text-align:center; background:var(--bg); }
.slippsone.over { border-color:var(--aksent); background:var(--kort); }
.slipp-tekst { margin:0 0 8px; font-weight:600; } .slipp-knapper { margin:0; }
.filteller { margin:8px 0 4px; font-weight:600; }
.utelatt p { margin:4px 0; color:var(--varsel); font-size:.92em; }
.filliste { list-style:none; padding:0; margin:4px 0 0; max-height:320px; overflow:auto; }
.filliste li { display:flex; gap:8px; align-items:center; padding:4px 0; border-bottom:1px solid var(--linje); }
.filliste .filnavn { flex:1; min-width:0; overflow-wrap:anywhere; }
.filliste .fjern { background:none; color:var(--feil); padding:2px 6px; font-size:.9em; }
.fremdrift { margin:12px 0; } .fremdrift progress { width:60%; vertical-align:middle; }
.sendefeil { font-weight:600; }
