/* Skrifter lagret lokalt (ingen oppslag mot Google) – SIL Open Font License, se assets/fonts */
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/IBMPlexSans-Regular.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/IBMPlexSans-Medium.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/IBMPlexSans-SemiBold.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/IBMPlexMono-Regular.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/IBMPlexMono-Medium.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/BarlowCondensed-Medium.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/BarlowCondensed-SemiBold.woff2) format("woff2")}

:root{
  --paper:#F3F5F8; --surface:#FFFFFF; --sunk:#E8EDF2; --ink:#15212A; --muted:#566570; --faint:#7A8890;
  --line:#D8DFE2; --line-strong:#B9C4C9;
  --brand:#22406A; --brand-hover:#1A3354; --on-brand:#FFFFFF; --brand-soft:#E2E9F3; --brand-ink:#1F3A63;
  --accent:#C63A2F; --accent-soft:#FBE7E4; --accent-ink:#8A241B;
  --ok:#2C7349; --ok-soft:#E0F0E6; --danger:#B0322A; --danger-soft:#FAE3E0;
  --ts-soft:#ECE6F4; --ts-ink:#523F78;
  --nav-bg:#14233A; --nav-ink:#E6EEF0; --nav-muted:#8FA7B0; --nav-hover:rgba(255,255,255,.07); --nav-line:rgba(255,255,255,.12);
  --display:"Barlow Condensed","Arial Narrow",sans-serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#0D131C; --surface:#141D29; --sunk:#1A2533; --ink:#E4EBED; --muted:#9DAEB6; --faint:#7C8D94;
    --line:#26363E; --line-strong:#3A4D56;
    --brand:#7FA6D9; --brand-hover:#9BBBE4; --on-brand:#0B1628; --brand-soft:#1A2A44; --brand-ink:#B5CCEE;
    --accent:#EE6A5E; --accent-soft:#3A1A17; --accent-ink:#F4A79F;
    --ok:#63BC87; --ok-soft:#15301F; --danger:#EE7B72; --danger-soft:#3A1917;
    --ts-soft:#2B2340; --ts-ink:#C7B6EA;
    --nav-bg:#0B1320; --nav-ink:#E4EBED; --nav-muted:#7F979F; --nav-hover:rgba(255,255,255,.06); --nav-line:rgba(255,255,255,.09);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0D131C; --surface:#141D29; --sunk:#1A2533; --ink:#E4EBED; --muted:#9DAEB6; --faint:#7C8D94;
  --line:#26363E; --line-strong:#3A4D56;
  --brand:#7FA6D9; --brand-hover:#9BBBE4; --on-brand:#0B1628; --brand-soft:#1A2A44; --brand-ink:#B5CCEE;
  --accent:#EE6A5E; --accent-soft:#3A1A17; --accent-ink:#F4A79F;
  --ok:#63BC87; --ok-soft:#15301F; --danger:#EE7B72; --danger-soft:#3A1917;
  --ts-soft:#2B2340; --ts-ink:#C7B6EA;
  --nav-bg:#0B1320; --nav-ink:#E4EBED; --nav-muted:#7F979F; --nav-hover:rgba(255,255,255,.06); --nav-line:rgba(255,255,255,.09);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{min-height:100%}
body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
code,.mono{font-family:var(--mono);font-size:.82em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:500 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:.86rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);font-weight:500;padding:.62rem 1.05rem;border-radius:6px;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-outline:hover{background:var(--sunk);border-color:var(--line-strong)}
.btn-ghost{background:transparent;color:var(--brand-ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--brand-soft);border-color:var(--brand-soft)}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-danger:hover{background:var(--danger);filter:brightness(.92)}
.btn-sm{padding:.36rem .7rem;font-size:.86rem}
.btn-block{width:100%}
.link{background:none;border:0;padding:0;color:var(--brand-ink);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.link:hover{text-decoration-color:currentColor}

/* chips */
.chip{display:inline-flex;align-items:center;font:500 .72rem/1 var(--sans);padding:.32rem .5rem;border-radius:4px;white-space:nowrap;background:var(--sunk);color:var(--muted)}
.chip-pilot{background:var(--brand-soft);color:var(--brand-ink)}
.chip-ts{background:var(--ts-soft);color:var(--ts-ink)}
.chip-styret{background:var(--accent-soft);color:var(--accent-ink)}
.chip-ok{background:var(--ok-soft);color:var(--ok)}
.chip-warn{background:var(--accent-soft);color:var(--accent-ink)}
.chip-danger{background:var(--danger-soft);color:var(--danger)}
.chip-line{background:transparent;border:1px solid var(--line-strong);color:var(--muted)}

/* forms */
.form{display:grid;gap:1rem}
.field{display:grid;gap:.35rem}
.field label,.label{font-weight:500;font-size:.9rem}
.field input,.field select,.field textarea{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:.6rem .7rem;min-height:2.6rem}
.field textarea{resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}
.field input[aria-invalid="true"]{border-color:var(--danger)}
.hint{font-size:.8rem;color:var(--muted)}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}
.check{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;cursor:pointer}
.check input{margin-top:.25rem;accent-color:var(--brand);width:1rem;height:1rem;flex:none}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:4.6rem}
.pw-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--brand-ink);font-size:.8rem;font-weight:500;padding:.35rem .5rem;cursor:pointer}
.form-err{color:var(--danger);font-size:.88rem;font-weight:500}
.notice{border-radius:6px;padding:.75rem .9rem;font-size:.9rem;background:var(--sunk);color:var(--ink)}
.notice-ok{background:var(--ok-soft);color:var(--ok)}
.notice-err{background:var(--danger-soft);color:var(--danger)}
.notice-accent{background:var(--accent-soft);color:var(--accent-ink);display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between}
.notice-accent .link{color:var(--accent-ink)}

/* ---------- auth ---------- */
.auth{display:grid;grid-template-rows:auto 1fr;min-height:100%}
.demo-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .6rem;padding:.6rem 16px;background:var(--accent-soft);color:var(--accent-ink);font-size:.86rem;border-bottom:1px solid var(--line)}
.demo-bar button{border:1px solid var(--accent);background:var(--surface);color:var(--ink);border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:500;cursor:pointer}
.demo-bar button:hover{background:var(--accent);color:#fff}
.demo-note{color:var(--accent-ink);opacity:.85}
.banner{position:relative;height:clamp(150px,22vw,240px);background:#DCE6F0 url("assets/photo.jpg") 50% 53%/cover no-repeat;border-bottom:3px solid var(--accent)}
.photo-credit{position:absolute;right:12px;bottom:10px;font:400 .7rem/1 var(--sans);color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.45)}
.login-logo{display:block;width:150px;height:150px;border-radius:50%;justify-self:center;margin-bottom:.5rem}
.lockup-logo{width:36px;height:36px;border-radius:50%;flex:none}
.lockup-name{display:grid;font:600 1.35rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.lockup-name small{font:500 .78rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;opacity:.75}
details.demo-box summary{cursor:pointer;font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);list-style:none}
details.demo-box summary::-webkit-details-marker{display:none}
details.demo-box:not([open]){border-color:transparent;padding:.25rem 0}
.auth-brand{background:var(--nav-bg);color:var(--nav-ink);padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;gap:2rem;justify-content:space-between}
.lockup{display:flex;align-items:center;gap:.6rem;font:600 1.35rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.lockup svg{flex:none}
.auth-title{font:600 clamp(2.2rem,4.4vw,3.6rem)/1.02 var(--display);letter-spacing:.005em;max-width:14ch}
.auth-copy{color:var(--nav-muted);max-width:40ch;margin-top:1rem}
.tape{position:relative;max-width:420px;padding-top:14px;color:var(--nav-muted)}
.tape::before{content:"";position:absolute;left:0;right:0;top:14px;height:9px;background:repeating-linear-gradient(90deg,var(--nav-muted) 0 1px,transparent 1px 10px);opacity:.55}
.tape-scale{display:flex;justify-content:space-between;padding-top:16px;font:500 .78rem/1 var(--mono);letter-spacing:.06em}
.tape-scale span:nth-child(4){color:var(--accent)}
.tape-bug{position:absolute;left:50%;top:0;transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid var(--accent)}
.proto-note{font:500 .72rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nav-muted)}
.auth-main{display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,56px) 16px}
.auth-card{width:100%;max-width:400px;display:grid;gap:1.25rem}
.auth-card h2{font:600 2rem/1.1 var(--display);letter-spacing:.01em}
.auth-card .sub{color:var(--muted);margin-top:.35rem}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.or{display:flex;align-items:center;gap:.75rem;color:var(--faint);font-size:.8rem}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.bankid-tag{font:500 .66rem/1 var(--mono);padding:.2rem .35rem;border-radius:3px;background:var(--sunk);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.demo-box{border:1px dashed var(--line-strong);border-radius:8px;padding:.9rem 1rem;display:grid;gap:.6rem;font-size:.86rem;color:var(--muted)}
.demo-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.demo-chips button{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;cursor:pointer;color:var(--ink)}
.demo-chips button:hover{border-color:var(--brand);color:var(--brand-ink)}
.otp input{font:500 1.5rem/1 var(--mono);letter-spacing:.4em;text-align:center}
.rules{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;font-size:.84rem;color:var(--muted)}
.rules li::before{content:"–  "}
.back{justify-self:start}

/* ---------- app shell ---------- */
.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100%;position:relative}
.nav{background:var(--nav-bg);color:var(--nav-ink);display:flex;flex-direction:column;gap:1.5rem;padding:24px 16px;position:sticky;top:0;align-self:start;height:100vh;max-height:100%;overflow-y:auto}
.nav .lockup{padding:0 .5rem;font-size:1.2rem}
.nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.nav-link{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:none;border:0;color:var(--nav-ink);text-align:left;padding:.6rem .75rem;border-radius:6px;cursor:pointer;font-weight:500;position:relative}
.nav-link:hover{background:var(--nav-hover)}
.nav-link[aria-current="page"]{background:var(--nav-hover)}
.nav-link[aria-current="page"]::before{content:"";position:absolute;left:0;top:.55rem;bottom:.55rem;width:3px;border-radius:2px;background:var(--accent)}
.nav-count{font:500 .72rem/1 var(--mono);background:var(--accent);color:#fff;border-radius:999px;padding:.22rem .45rem;min-width:1.4rem;text-align:center}
.nav-sep{font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nav-muted);padding:1rem .75rem .45rem}
.nav-foot{margin-top:auto;display:grid;gap:.9rem;border-top:1px solid var(--nav-line);padding:1rem .5rem 0}
.nav-user{display:flex;gap:.7rem;align-items:center}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:600 .85rem/1 var(--sans);background:var(--brand-soft);color:var(--brand-ink);flex:none}
.nav .avatar{background:rgba(255,255,255,.1);color:var(--nav-ink)}
.nu-name{font-weight:500;line-height:1.25}
.nu-role{font-size:.8rem;color:var(--nav-muted)}
.nav-logout{background:none;border:1px solid var(--nav-line);color:var(--nav-ink);border-radius:6px;padding:.45rem .7rem;cursor:pointer;font-size:.86rem}
.nav-logout:hover{background:var(--nav-hover)}
.nav-proto{font:500 .66rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nav-muted)}
.topbar{display:none}
.content{min-width:0}
main{padding-block:clamp(24px,4vw,44px);padding-inline:clamp(16px,4vw,48px);max-width:1160px;width:100%}
.page-head{display:grid;gap:.5rem;margin-bottom:1.75rem}
.page-head h1{font:600 clamp(2rem,3.4vw,2.7rem)/1.05 var(--display);letter-spacing:.005em}
.lede{color:var(--muted);max-width:62ch}
.h-sec{font:600 1.3rem/1.15 var(--display);letter-spacing:.01em}
.section{display:grid;gap:1rem;margin-top:2.25rem}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.6rem}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.25rem;display:grid;gap:.9rem;align-content:start}
.empty{color:var(--muted);font-size:.9rem;padding:.25rem 0}

/* news */
.feed{display:grid}
.news{display:grid;gap:.5rem;padding:1.4rem 0;border-bottom:1px solid var(--line);max-width:72ch}
.news:first-child{padding-top:.25rem}
.meta{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:center;font-size:.82rem;color:var(--muted)}
.meta time{font-family:var(--mono);font-size:.78rem}
.news h2{font:600 1.55rem/1.15 var(--display);letter-spacing:.005em}
.news:first-child h2{font-size:clamp(1.8rem,2.8vw,2.2rem)}
.news-body{display:grid;gap:.7rem;color:var(--ink)}
.news .link{justify-self:start;font-size:.9rem}

/* min side */
.me-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem}
.idcard{margin:0;display:grid;grid-template-columns:repeat(2,auto);gap:.35rem 1.4rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.9rem 1.1rem;font-size:.88rem}
.idcard dt{color:var(--muted);font-size:.78rem}
.idcard dd{margin:0 0 .35rem;font-weight:500}
.idcard .mono{font-size:.88rem}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.mini{display:grid}
.mini-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;border-top:1px solid var(--line)}
.mini-row:first-child{border-top:0;padding-top:0}
.mini-title{font-weight:500;line-height:1.3}
.mini-sub{font-size:.8rem;color:var(--muted);margin-top:.15rem}
.acct{display:grid}
.acct-row{display:grid;grid-template-columns:10rem minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--line)}
.acct-row:first-of-type{border-top:0}
.acct-row dt{color:var(--muted);font-size:.86rem}
.acct-row dd{margin:0}
.pw-form{padding:1rem;background:var(--sunk);border-radius:8px;max-width:440px}

/* docs */
.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;margin-bottom:1rem}
.seg{display:flex;flex-wrap:wrap;gap:4px;background:var(--sunk);padding:4px;border-radius:8px}
.seg button{border:0;background:transparent;padding:.42rem .75rem;border-radius:5px;cursor:pointer;font-weight:500;font-size:.88rem;color:var(--muted);display:flex;gap:.4rem;align-items:center}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.seg .n{font:500 .72rem/1 var(--mono);color:var(--faint)}
.search input{width:min(320px,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:.55rem .75rem}
.search{flex:1 1 220px;display:flex;justify-content:flex-end}
.doclist{background:var(--surface);border:1px solid var(--line);border-radius:8px}
.doc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.9rem;align-items:center;padding:.9rem 1.1rem;border-top:1px solid var(--line)}
.doc-row:first-child{border-top:0}
.ftype{font:500 .66rem/1 var(--mono);letter-spacing:.06em;width:2.9rem;height:2.4rem;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:4px;color:var(--muted);background:var(--paper)}
.doc-title{font-weight:500;line-height:1.3}
.doc-sub{font-size:.8rem;color:var(--muted);margin-top:.2rem}
.doc-sub code{font-size:.78rem;color:var(--ink)}
.doc-tags{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}

/* votes */
.secret{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.secret > div{background:var(--surface);padding:1rem 1.1rem;display:grid;gap:.35rem;align-content:start}
.secret h3{font:600 1.1rem/1.2 var(--display);letter-spacing:.02em}
.secret p{font-size:.88rem;color:var(--muted)}
.secret .eg{font:400 .76rem/1.5 var(--mono);color:var(--ink);background:var(--sunk);padding:.45rem .6rem;border-radius:4px;margin-top:.25rem}
.votes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:1rem;align-items:start}
.vote{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.25rem;display:grid;gap:.8rem}
.vote h3{font:600 1.4rem/1.15 var(--display);letter-spacing:.005em}
.vote > p{color:var(--muted);font-size:.92rem}
.chip-formell{background:var(--ink);color:var(--paper)}
.turnout{display:grid;gap:.35rem}
.turnout .mono{font-size:.76rem;color:var(--muted)}
.bar{height:6px;background:var(--sunk);border-radius:3px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--brand);border-radius:3px}
.opts{border:0;margin:0;padding:0;display:grid;gap:.4rem}
.opts legend{font-weight:500;font-size:.9rem;margin-bottom:.35rem;padding:0}
.opt{display:flex;gap:.65rem;align-items:center;padding:.65rem .8rem;border:1px solid var(--line-strong);border-radius:6px;cursor:pointer}
.opt:hover{border-color:var(--brand)}
.opt:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.opt input{accent-color:var(--brand);width:1rem;height:1rem;margin:0}
.confirm{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);border-radius:8px;padding:1rem;display:grid;gap:.75rem}
.confirm .btns{display:flex;gap:.5rem;flex-wrap:wrap}
.voted{background:var(--ok-soft);color:var(--ok);border-radius:6px;padding:.8rem .9rem;font-size:.9rem}
.res{display:grid;gap:.6rem}
.res-row{display:grid;gap:.3rem}
.res-top{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}
.res-top .mono{font-size:.8rem;color:var(--muted);white-space:nowrap}
.res-row.win .res-top span:first-child{font-weight:600}
.res-row .bar{height:10px}
.res-row:not(.win) .bar span{background:var(--line-strong)}
.verdict{display:flex;gap:.5rem;align-items:center;font-size:.88rem}

/* salary */
.sal-list{display:grid;gap:1rem}
.sal-panel{gap:.75rem}
.sal-cap{font:500 .8rem/1.3 var(--mono);letter-spacing:.04em;color:var(--accent-ink)}
table.sal{min-width:0;width:auto}
table.sal th,table.sal td{padding:.45rem .9rem}
table.sal .r{text-align:right}
table.sal th.grp{text-align:center;border-bottom:1px solid var(--line)}
table.sal tbody tr:nth-child(even){background:var(--paper)}
table.sal td strong{font-weight:500}
table.sal .cell{width:8.5rem;text-align:right;font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line-strong);border-radius:5px;padding:.3rem .45rem}
.scan{margin:1rem 0 0}
.scan img{display:block;width:100%;max-width:780px;border:1px solid var(--line);border-radius:6px;background:#fff}
/* agreements */
.agr-wrap{grid-template-columns:280px minmax(0,1fr)}
.toc summary{cursor:pointer;font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);list-style:none;padding:.2rem 0 .6rem}
.toc summary::-webkit-details-marker{display:none}
.agr-toc{max-height:calc(100vh - 140px);overflow-y:auto;padding-right:.5rem}
.agr-toc ol ol{padding-left:2.4rem;margin:.2rem 0 .5rem}
.agr-toc .toc-row{display:flex;align-items:flex-start;gap:.25rem}
.agr-toc .toc-row .link{flex:1}
.toc-tg{flex:none;width:1.6rem;height:1.6rem;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:4px;cursor:pointer;font:500 .9rem/1 var(--mono)}
.toc-tg[aria-expanded="true"]{background:var(--brand-soft);color:var(--brand-ink)}
.toc-part{margin-top:.6rem;border-top:1px solid var(--line);padding-top:.6rem}
.reader.agr{gap:.85rem}
.agr p{max-width:72ch}
.agr .agr-h{scroll-margin-top:16px;display:flex;gap:.6rem;align-items:baseline;outline:none}
.agr .agr-h1{font:600 1.55rem/1.15 var(--display);letter-spacing:.01em;margin-top:1.8rem;padding-top:1rem;border-top:1px solid var(--line)}
.agr .agr-h1:first-child{margin-top:0;border-top:0;padding-top:0}
.agr .agr-h2{font:600 1.2rem/1.2 var(--display);letter-spacing:.01em;margin-top:.8rem}
.agr .agr-h3{font:600 1rem/1.3 var(--sans);margin-top:.5rem}
.agr .agr-hpart{font:600 1.35rem/1.2 var(--display);margin-top:1.5rem}
.agr .agr-part{font:600 1.8rem/1.1 var(--display);margin-top:2.5rem;padding:1rem 0 0;border-top:3px solid var(--accent);scroll-margin-top:16px}
.agr .agr-item{padding-left:1.6rem;text-indent:-1.6rem}
.agr-tbl table{min-width:0;width:auto}
.agr-tbl td,.agr-tbl th{padding:.45rem .9rem}
.sal-inline{display:grid;gap:.5rem;border:1px solid var(--line);border-radius:8px;padding:1rem;background:var(--surface);justify-items:start}
.sal-inline .tbl-wrap{border:0;justify-self:stretch}
.calc{border:1px solid var(--brand);background:var(--surface);border-radius:10px;padding:1.1rem;display:grid;gap:1rem;max-width:640px}
.calc h4{font:600 1.2rem/1.2 var(--display);letter-spacing:.01em;margin:.25rem 0 .2rem}
.calc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.calc-f{display:grid;gap:.35rem;align-content:start}
.calc-f .label{font-size:.84rem;line-height:1.25}
.calc-in{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--muted)}
.calc-in input{width:3.4rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:.5rem .4rem;text-align:right;font:500 1rem/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.calc-in input:focus{outline:2px solid var(--brand);outline-offset:-1px}
.calc-out{display:grid;gap:.6rem;background:var(--sunk);border-radius:8px;padding:.9rem 1rem}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.calc-total strong{font:600 1.5rem/1 var(--display);font-variant-numeric:tabular-nums}
.calc-bar{position:relative;height:10px;background:var(--surface);border-radius:5px;margin:0 0 1.2rem}
.calc-fill{position:absolute;left:0;top:0;bottom:0;background:var(--brand);border-radius:5px;transition:width .2s}
.calc[data-days="1"] .calc-fill{background:var(--ok)}
.calc[data-days="2"] .calc-fill{background:var(--accent)}
.calc-bar i{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}
.calc-bar i b{position:absolute;top:18px;left:50%;transform:translateX(-50%);font:500 .7rem/1 var(--mono);color:var(--muted);white-space:nowrap}
.calc-res{font-size:.95rem}
.calc[data-days="1"] .calc-res strong{color:var(--ok)}
.calc[data-days="2"] .calc-res strong{color:var(--accent-ink)}
.agr-prev{display:grid;gap:.8rem;border-top:1px solid var(--line);padding-top:1rem}
.agr-prev-toc ol{margin:.5rem 0 0;padding-left:1.2rem;display:grid;gap:.2rem;font-size:.88rem}
.agr-prev-toc summary{cursor:pointer;font-weight:500;font-size:.9rem;color:var(--brand-ink)}
/* frame that grows with the content: put the table of contents on top */
:root.autoh .reader-wrap,:root.autoh .agr-wrap{grid-template-columns:1fr;gap:1.5rem}
:root.autoh .toc{position:static;max-height:none}
:root.autoh .agr-toc{border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem;background:var(--surface)}
:root.autoh .nav{position:static;height:auto}
.focus-bar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;background:var(--brand-soft);color:var(--brand-ink);border-radius:8px;padding:.6rem .9rem;font-size:.9rem}
.agr .agr-sub{padding-left:1.6rem}
.agr .agr-bullet{padding-left:3rem;position:relative}
.agr .agr-bullet::before{content:"•";position:absolute;left:1.9rem;color:var(--muted)}
.sig{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.5rem}
.sig-row{display:flex;flex-wrap:wrap;gap:1rem 3rem}
.sig-name{font-weight:500}
.prot{max-width:72ch}
.page-img{width:100%;max-width:780px;border:1px solid var(--line);border-radius:6px;background:#fff}
.reg-sum{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.9rem;color:var(--muted);margin-bottom:1rem}
.reg-sum strong{color:var(--ink);font-variant-numeric:tabular-nums}
.reg-pub .row-between{align-items:flex-end}
.reg-pub-act{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}
.reg-pub-act .field input{min-height:2.2rem;padding:.35rem .5rem}
table.reg{min-width:980px}
table.reg td{padding:.3rem .5rem}
table.reg th{padding:.7rem .5rem}
.rc{width:100%;border:1px solid transparent;background:transparent;border-radius:5px;padding:.35rem .4rem;font:inherit;font-size:.88rem;color:var(--ink)}
.rc:hover{border-color:var(--line)}
.rc:focus{border-color:var(--brand);background:var(--surface);outline:none}
.rc[readonly]{color:var(--muted)}
.rc-nr{width:3.6rem;font-variant-numeric:tabular-nums}
.rc-name{min-width:12rem}
.rc-date{width:9.6rem;font-variant-numeric:tabular-nums}
.rc-mail{min-width:13rem}
select.rc{border-color:var(--line)}
.reg-acc{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}
table.ans td{padding:.4rem .9rem}
tr.me-row td{background:var(--brand-soft)}
.demo-note-box{border:1px dashed var(--accent);background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:.6rem .75rem}
.lockd{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.2rem .4rem}
.lockd .mono{font-size:.88rem}
tr.date-edit td{background:var(--accent-soft);border-top:0}
.lockbox{background:var(--accent-soft);border-radius:8px;padding:1rem;margin-bottom:1rem;max-width:none}
tr.locked td{color:var(--ink)}
.date-box{display:grid;gap:.7rem;max-width:640px;padding:.5rem 0;color:var(--ink)}
.date-box .btns{display:flex;gap:.5rem;flex-wrap:wrap}
.date-box textarea{width:100%;border:1px solid var(--line-strong);border-radius:6px;padding:.5rem .6rem;background:var(--surface);font:inherit}
.meet-start{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.mrows{display:grid;gap:.5rem}
.mrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto;gap:.5rem;align-items:end;padding:.6rem;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.mrow .field textarea{min-height:2.6rem}
.field textarea{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:.55rem .7rem;font:inherit;line-height:1.5}
.att{margin:.4rem 0 0;padding-left:1.1rem;font-size:.9rem;display:grid;gap:.2rem}
.agenda{margin:.25rem 0 0;padding-left:1.2rem;display:grid;gap:.3rem;font-size:.9rem;color:var(--ink)}
.agenda ul{padding-left:1rem;margin:.2rem 0 0;color:var(--muted)}
.minutes{gap:1.1rem}
.sak{border:1px solid var(--line);border-radius:8px;padding:.9rem;display:grid;gap:.7rem;background:var(--surface)}
.sak-group{display:grid;gap:.7rem}
.sak-title{font-weight:600}
.sak-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:end}
.sak-head .btns{display:flex;gap:.25rem}
.pres{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.25rem .75rem;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:.6rem;background:var(--surface)}
.pres-q{width:min(320px,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:.5rem .7rem;margin-bottom:.4rem}
.field.narrow{max-width:220px}
.pdf-pages{display:grid;gap:1rem;justify-items:start}
.pdf-pages img{width:100%;max-width:760px;border:1px solid var(--line);border-radius:4px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
@media (max-width:860px){ .meet-start{grid-template-columns:1fr} .sak-head{grid-template-columns:1fr} }
/* search */
.s-wrap{display:grid;gap:.9rem;margin-bottom:1.75rem}
.sbox{display:flex;gap:.5rem;max-width:720px}
.sbox input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:.7rem .9rem;font-size:1rem}
.sbox input:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}
.sbox-big input{padding:.9rem 1rem;font-size:1.05rem;border-width:1.5px}
.home-search{display:grid;gap:.45rem;margin-bottom:1.5rem}
.s-ex{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.s-chip{cursor:pointer;font-size:.8rem;padding:.4rem .65rem}
.s-chip:hover{border-color:var(--brand);color:var(--brand-ink)}
.s-meta{display:grid;gap:.15rem;margin:0}.s-meta p{margin:0}
.s-fix{color:var(--ink)}
.s-best .s-hit{border-color:var(--brand);border-width:2px;padding:calc(.9rem - 1px) calc(1.1rem - 1px)}
.s-label{font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin:.6rem 0 .1rem;line-height:1.3}
.s-other .s-head{font-size:1rem}.s-other .s-hit{padding:.7rem 1rem}
.s-other-h{font:600 .95rem/1.3 var(--sans,inherit);color:var(--muted);margin:1.1rem 0 -.1rem}
.s-res{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;max-width:820px}
.s-hit{display:grid;gap:.3rem;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.9rem 1.1rem;cursor:pointer;color:var(--ink);font:inherit}
.s-hit:hover{border-color:var(--brand)}
.s-src{font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.s-head{font:600 1.15rem/1.25 var(--display);letter-spacing:.01em}
.s-head .par{font:500 .85rem/1 var(--mono);color:var(--accent-ink);margin-right:.2rem}
.s-snip{font-size:.92rem;color:var(--muted);line-height:1.5}
.s-go{font-size:.85rem;font-weight:500;color:var(--brand-ink)}
mark{background:var(--accent-soft);color:var(--accent-ink);border-radius:2px;padding:0 .1em}
.hl-sec{border-left:3px solid var(--accent);padding-left:.8rem;margin-left:-.95rem}
.agr-h.flash,.reader section.flash h2{animation:flash 2.2s ease-out}
@keyframes flash{0%{background:var(--accent-soft)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.agr-h.flash{animation:none}}
/* reader */
.reader-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:2.5rem;align-items:start}
.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 16px);display:grid;gap:.6rem}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.toc .link{display:grid;grid-template-columns:2.4rem 1fr;text-decoration:none;font-weight:400;text-align:left;font-size:.88rem;color:var(--ink)}
.toc .link:hover{color:var(--brand-ink);text-decoration:underline}
.toc .mono{color:var(--accent-ink);display:inline-block;min-width:2.2rem}
.reader{max-width:68ch;display:grid;gap:2rem}
.reader section{display:grid;gap:.75rem;scroll-margin-top:16px}
.reader h2{font:600 1.45rem/1.15 var(--display);letter-spacing:.01em;display:flex;gap:.6rem;align-items:baseline}
.reader .par{font:500 .9rem/1 var(--mono);color:var(--accent-ink)}
.reader ol{margin:0;padding-left:1.4rem;display:grid;gap:.2rem}
/* board */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem}
.person{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.1rem;display:grid;gap:.75rem;align-content:start}
.person-top{display:flex;gap:.75rem;align-items:center}
.person .role{font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
.person .name{font-weight:600;margin-top:.3rem}
.copyline{display:flex;gap:.5rem;align-items:center;justify-content:space-between;font-size:.84rem;background:var(--sunk);border-radius:6px;padding:.35rem .35rem .35rem .6rem;min-width:0}
.copyline span{overflow-wrap:anywhere;font-family:var(--mono);font-size:.76rem}
.copyline button{flex:none}

/* admin */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:1.5rem;overflow-x:auto}
.tabs button{border:0;background:none;padding:.7rem 1rem;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.aside-note{font-size:.88rem;color:var(--muted);display:grid;gap:.6rem}
.aside-note h3{font:600 1.1rem/1.2 var(--display);color:var(--ink);letter-spacing:.02em}
.opt-edit{display:flex;gap:.5rem;align-items:center}
.opt-edit input{flex:1}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:640px}
th{text-align:left;font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.8rem 1rem;border-bottom:1px solid var(--line)}
td{padding:.7rem 1rem;border-top:1px solid var(--line);vertical-align:middle}
tr:first-child td{border-top:0}
td select{background:var(--surface);border:1px solid var(--line-strong);border-radius:5px;padding:.3rem .4rem;font-size:.86rem}
td .mono{color:var(--muted)}
.td-actions{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}
.inline-confirm{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-size:.82rem;color:var(--danger)}
.num{font-variant-numeric:tabular-nums}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,12px);background:var(--ink);color:var(--paper);padding:.75rem 1.1rem;border-radius:8px;font-size:.9rem;max-width:min(520px,calc(100% - 32px));opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:980px){
  .admin-grid{grid-template-columns:1fr}
  .me-head{grid-template-columns:1fr}
  .idcard{justify-self:start}
}
@media (max-width:860px){
  .banner{height:140px;background-position:40% 53%}
  .login-logo{width:120px;height:120px}
  .app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}
  .topbar{display:flex;justify-content:space-between;align-items:center;background:var(--nav-bg);color:var(--nav-ink);padding:.75rem 16px;z-index:20;min-height:56px}
  .topbar .lockup{font-size:1.1rem}
  .menu-btn{background:none;border:1px solid var(--nav-line);color:var(--nav-ink);border-radius:6px;padding:.4rem .75rem;cursor:pointer;display:flex;gap:.4rem;align-items:center}
  .nav{display:none;position:static;height:auto;max-height:none;padding:8px 16px 20px}
  .nav.open{display:flex}
  .nav > .lockup{display:none}
  .grid-2{grid-template-columns:1fr}
  .reader-wrap,.agr-wrap{grid-template-columns:1fr;gap:1.5rem}
  .agr-toc{max-height:none;border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem;background:var(--surface)}
  .agr-toc summary{padding:0}
  .calc-grid{grid-template-columns:1fr}
  .toc{position:static}
  .reader section{scroll-margin-top:72px}
  .secret{grid-template-columns:1fr}
  .doc-row{grid-template-columns:auto minmax(0,1fr);}
  .doc-tags{grid-column:2;justify-content:flex-start}
  .doc-row .btn{grid-column:2;justify-self:start}
  .acct-row{grid-template-columns:1fr auto}
  .acct-row dt{grid-column:1/-1}
  .search{justify-content:stretch}
  .search input{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- tillegg i den ekte løsningen ---- */
.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted);font-size:.95rem}
.loading::before{content:"";width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto .75rem;display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.qr{display:grid;gap:.75rem;justify-items:start;padding:.5rem 0 1rem}
.qr img{width:180px;height:180px;background:#fff;padding:8px;border-radius:8px;border:1px solid var(--line)}
.qr code{font-size:.85rem;word-break:break-all}
.file-up{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--brand-ink);cursor:pointer}
.file-up input{position:absolute;width:1px;height:1px;opacity:0}
.file-up span{text-decoration:underline}
.btn[disabled],.btn.busy{opacity:.6;pointer-events:none}
.missing{color:var(--accent-ink);font-size:.82rem}
.err-page{max-width:520px;margin:3rem auto;display:grid;gap:1rem}

/* ---- Det skjer i ALF ---- */
.feed-new{margin-bottom:1.25rem;max-width:720px}
.feed{display:grid;gap:1rem;max-width:720px}
.feed-post{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.feed-head{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem}
.feed-head .avatar{width:36px;height:36px;font-size:.8rem}
.feed-author{font-weight:600}
.feed-del,.feed-head .inline-confirm{margin-left:auto}
.feed-imgs{display:grid;gap:2px;background:var(--line)}
.feed-n2,.feed-n3,.feed-n4{grid-template-columns:1fr 1fr}
.feed-n3 .feed-img:first-child{grid-column:1/-1}
.feed-img{display:block;border:0;padding:0;background:var(--sunk);cursor:zoom-in;width:100%}
.feed-img img{display:block;width:100%;height:100%;max-height:560px;object-fit:cover}
.feed-n1 .feed-img img{max-height:640px;object-fit:contain;background:#000}
.feed-n2 .feed-img img,.feed-n3 .feed-img img,.feed-n4 .feed-img img{aspect-ratio:1/1}
.feed-img-wait{aspect-ratio:4/3}
.feed-body{padding:.8rem 1rem 0;display:grid;gap:.5rem}
.feed-foot{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem .8rem}
.feed-like{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;padding:.3rem .8rem;font:inherit;cursor:pointer;display:inline-flex;gap:.3rem;align-items:center}
.feed-like span[aria-hidden]{font-size:1.05rem;line-height:1}
.feed-like.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}
.feed-prev{display:flex;flex-wrap:wrap;gap:.5rem}
.feed-prev div{position:relative}
.feed-prev img{width:96px;height:96px;object-fit:cover;border-radius:6px;display:block}
.feed-x{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);cursor:pointer;font-size:1rem;line-height:1}
.lightbox{position:fixed;inset:0;background:rgba(5,10,18,.92);display:grid;place-items:center;z-index:60;padding:16px}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.lightbox-x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.6rem;cursor:pointer}
.feed-strip{margin:0 0 1.5rem}
.feed-strip-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-width:720px}
.feed-strip-item{border:0;padding:0;border-radius:8px;overflow:hidden;aspect-ratio:1/1;background:var(--sunk);cursor:pointer}
.feed-strip-item img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- Kontakt foreningen / Innboks ---- */
.c-kinds{margin-bottom:.25rem}
.c-anon-info{display:grid;gap:.5rem}
.c-code{margin-bottom:1.25rem;border-color:var(--ok);display:grid;gap:.6rem;max-width:720px}
.c-code-v{font-size:1.5rem;letter-spacing:.08em;font-weight:500;color:var(--brand-ink)}
.c-h1{font-size:clamp(1.5rem,4vw,2.1rem)}
.c-msgs{display:grid;gap:.75rem;max-width:720px;margin-bottom:1rem}
.c-msg{border-radius:10px;padding:.75rem 1rem;border:1px solid var(--line);background:var(--surface);display:grid;gap:.35rem;max-width:92%}
.c-member{justify-self:start}
.c-board{justify-self:end;background:var(--brand-soft);border-color:transparent}
.c-internal{background:var(--accent-soft);border:1px dashed var(--accent)}
.c-meta{font-size:.82rem}
.c-body{display:grid;gap:.5rem}
.c-reply{max-width:720px}
.c-list{display:grid;gap:.5rem;max-width:860px}
.c-item{display:grid;gap:.35rem;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;cursor:pointer;font:inherit;color:var(--ink)}
.c-item:hover{border-color:var(--brand)}
.c-item-top{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.c-date{margin-left:auto}
.c-item-title{font-weight:600}
.c-inbox{display:grid;gap:1.25rem;max-width:860px}
.c-new{max-width:720px}
.c-codeform{max-width:560px}
.c-unread{border-left:4px solid var(--accent)}
.chip-accent{background:var(--accent);color:#fff}

/* ---------- kalender ---------- */
.ev-month{display:grid;gap:.75rem;margin-bottom:1.75rem}
.ev-mh{font:600 1.15rem/1.2 var(--display);letter-spacing:.02em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.4rem}
.ev{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1rem 1.1rem;scroll-margin-top:1rem}
.ev.flash,.faq-item.flash,.acct-row.flash{animation:evflash 2.2s ease-out}
@keyframes evflash{0%,40%{box-shadow:0 0 0 3px var(--accent)}100%{box-shadow:0 0 0 0 transparent}}
.ev-date{display:grid;justify-items:center;align-content:center;width:3.4rem;height:3.6rem;border-radius:8px;background:var(--brand-soft);color:var(--brand-ink);flex:none}
.ev-d{font:600 1.6rem/1 var(--display)}
.ev-m{font:500 .68rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.ev-main{display:grid;gap:.35rem;min-width:0}
.ev-top{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.ev-title{font:600 1.2rem/1.2 var(--display);letter-spacing:.01em}
.ev-when{color:var(--muted);font-size:.92rem}
.ev-desc{display:grid;gap:.5rem;font-size:.95rem}
.ev-desc ul,.faq-a ul,.page-text ul{margin:0;padding-left:1.2rem;display:grid;gap:.25rem}
.ev-past summary{cursor:pointer;color:var(--muted);font-size:.9rem;margin:.5rem 0}
.ev-row{align-items:flex-start}
.cal-strip{margin:0 0 1.5rem;display:grid;gap:.5rem;max-width:720px}
.cal-mini{display:grid;gap:.5rem}
.cal-mini-item{display:flex;gap:.8rem;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem;cursor:pointer;font:inherit;color:var(--ink)}
.cal-mini-item:hover{border-color:var(--brand)}
.cal-mini-item .ev-date{width:2.8rem;height:3rem}
.cal-mini-item .ev-d{font-size:1.3rem}
.cal-mini-txt{display:grid;gap:.1rem;min-width:0}
.cal-mini-t{font-weight:600}

/* ---------- spørsmål og svar ---------- */
.faq-tools{display:grid;gap:.75rem;margin-bottom:1.25rem}
.faq-search{justify-content:flex-start}
.faq-search input{width:min(480px,100%)}
.faq-list{display:grid;gap:.5rem;max-width:860px}
.faq-cat{font:600 1.1rem/1.2 var(--display);letter-spacing:.02em;color:var(--muted);margin:1rem 0 .25rem}
.faq-cat:first-child{margin-top:0}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;scroll-margin-top:1rem}
.faq-item summary{cursor:pointer;padding:.9rem 1rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font:500 1.2rem/1 var(--mono);color:var(--muted)}
.faq-item[open] summary::after{content:"–"}
.faq-a{padding:0 1rem 1rem;display:grid;gap:.6rem}
.faq-cta{margin-top:1.5rem;max-width:860px;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.faq-sugs{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.faq-sug{gap:.6rem}
.faq-sug-q{font-weight:600}
.faq-edit{border-color:var(--brand);margin-bottom:.5rem;scroll-margin-top:1rem}
.faq-row{align-items:flex-start}

/* ---------- Ny i ALF ---------- */
.new-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.25rem;align-items:start}
.new-side{display:grid;gap:1rem}
.page-text{gap:.8rem;line-height:1.6}
.page-text h2{font:600 1.3rem/1.2 var(--display);letter-spacing:.01em;margin-top:.6rem}
.page-text h2:first-child{margin-top:0}
.steps{list-style:none;padding:0;display:grid;gap:.25rem}
.step{display:flex;gap:.75rem;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:.5rem;cursor:pointer;font:inherit;color:var(--ink)}
.step:hover{background:var(--sunk)}
.step > span:last-child{display:grid;gap:.1rem}
.step-t{font-weight:600}
.step-dot{flex:none;width:1.4rem;height:1.4rem;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font-size:.8rem;margin-top:.1rem}
.steps .done .step-dot{background:var(--ok);border-color:var(--ok);color:#fff}
.steps .done .step-t{color:var(--muted)}
.new-card{justify-content:space-between}
@media (max-width:860px){ .new-grid{grid-template-columns:1fr} }

/* ---------- hjemskjerm og utmelding ---------- */
.install-help{display:grid;gap:.9rem;background:var(--sunk);border-radius:8px;padding:1rem;margin:.25rem 0 .75rem;font-size:.9rem}
.install-help ol{padding-left:1.2rem;margin-top:.3rem;display:grid;gap:.2rem}
.modal-back{position:fixed;inset:0;background:rgba(5,10,18,.6);display:grid;place-items:center;z-index:70;padding:16px;overflow-y:auto}
.modal{background:var(--surface);color:var(--ink);border-radius:10px;padding:1.4rem;max-width:520px;width:100%;display:grid;gap:.9rem;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.modal h2:focus{outline:none}
.modal-list{margin:0;padding-left:1.2rem;display:grid;gap:.35rem;font-size:.92rem}
.resign-box{border-color:var(--danger);gap:.6rem}

/* ---------- Min lønn ---------- */
.pay{gap:1rem}
.pay-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,220px));gap:.75rem 1rem}
.pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.pay-tile{display:grid;gap:.2rem;align-content:start;background:var(--sunk);border-radius:8px;padding:.85rem 1rem}
.pay-l{font-size:.8rem;color:var(--muted);font-weight:500}
.pay-v{font:600 1.5rem/1.1 var(--display);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.pay-s{font-size:.76rem;color:var(--muted)}

/* ---------- Nye medlemmer ---------- */
.acc-list{display:grid;gap:.9rem;max-width:860px}
.acc{gap:.7rem;scroll-margin-top:1rem}
.acc-name{font:600 1.2rem/1.2 var(--display);letter-spacing:.01em}
.acc-hits{margin:.3rem 0 0;padding-left:1.2rem;display:grid;gap:.2rem}

.acc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.acc-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 1rem;margin:0;background:var(--sunk);border-radius:8px;padding:.75rem 1rem}
.acc-dl dt{font-size:.76rem;color:var(--muted)}
.acc-dl dd{margin:0;font-size:.92rem;overflow-wrap:anywhere}
.acc-msg{grid-column:1/-1}
.acc-opts{display:grid;gap:.45rem}
.acc-sub{margin:0 0 .4rem 1.6rem}

/* ---------- Velferdsmidler ---------- */
.w-budget{margin-bottom:1.25rem;max-width:860px}
.w-bar{height:8px;border-radius:999px;background:var(--sunk);overflow:hidden}
.w-bar span{display:block;height:100%;background:var(--ok);border-radius:999px}
.w-new{margin-bottom:1.25rem;max-width:860px}
.w-tools{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem;max-width:860px}
.w-list{display:grid;gap:.9rem;max-width:860px}
.w-idea{gap:.5rem;scroll-margin-top:1rem}
.w-top{display:flex;gap:.5rem;align-items:center}
.w-title{font:600 1.25rem/1.2 var(--display);letter-spacing:.01em}
.w-body{display:grid;gap:.5rem}
.w-note{background:var(--brand-soft);color:var(--brand-ink);border-radius:6px;padding:.6rem .8rem;font-size:.92rem}
.w-foot{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-top:.25rem}
.w-acts{margin-left:auto;display:flex;gap:.75rem;align-items:center}
.w-edit{border-top:1px solid var(--line);padding-top:.9rem;margin-top:.25rem}
