:root{--text:#16202a;--muted:#4a5866;--bg:#fbfaf7;--card:#ffffff;--line:#d9dee3;--accent:#0b5d73;--warn:#8a1c1c}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
.top{padding:16px;border-bottom:1px solid var(--line);background:var(--card)}.brand{margin:0;font-weight:700;font-size:1.25rem}.sub{margin:0;color:var(--muted)}
main{max-width:46rem;margin:0 auto;padding:16px}h1{font-size:1.6rem;line-height:1.25}h2{font-size:1.2rem;margin-top:1.6rem}
.foot{max-width:46rem;margin:24px auto;padding:16px;color:var(--muted);font-size:.875rem;border-top:1px solid var(--line)}
button,.knapp{display:inline-block;font:inherit;padding:.7rem 1.1rem;border-radius:6px;border:2px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none;cursor:pointer;min-height:44px}
button.sekundar,.knapp.sekundar{background:transparent;color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #16202a;box-shadow:0 0 0 6px #f2b705;outline-offset:2px}
.kod{font-family:ui-monospace,Consolas,monospace;word-break:break-all;background:#eef1f3;padding:.15rem .35rem;border-radius:4px}
.tabell{overflow-x:auto;margin:1rem 0}table{border-collapse:collapse;width:100%;background:var(--card)}caption{text-align:left;font-weight:600;padding:.4rem 0}
th,td{border:1px solid var(--line);padding:.4rem .5rem;text-align:left;vertical-align:top}td{overflow-wrap:anywhere}th{hyphens:auto}
.varning{color:var(--warn)}.liten{font-size:.875rem;color:var(--muted)}.kvitto dt{font-weight:600}.kvitto dd{margin:0 0 .6rem 0}
.modullista{list-style:none;padding:0;margin:.5rem 0}.modullista li{margin:.4rem 0}.modullista label{display:block;min-height:44px;padding:.35rem 0}fieldset.moduler{border:1px solid var(--line);border-radius:8px;padding:.6rem 1rem;margin:1rem 0}fieldset.moduler legend{font-weight:600;padding:0 .4rem}
summary{cursor:pointer;min-height:44px;padding:.6rem 0}details.exakt summary{cursor:pointer;font-weight:600;min-height:44px;padding:.6rem 0}.mottagare{font-size:1.05rem}
ul.rader{list-style:none;padding:0}ul.rader li{margin:.6rem 0;padding-bottom:.6rem;border-bottom:1px solid var(--line)}ul.rader form{margin-top:.4rem}
.forhandsvisning{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px}
@media (max-width:480px){main{padding:12px}h1{font-size:1.35rem}}