/* ══════════════════════════════════════════════════════════════
   TILLEGG: tilbakemeldingsknappen, leveringslenkene og
   leveringssiden.

   Egen fil og ikke en hale på skjermer.css, av to grunner. Den
   ene er praktisk: `lever.html` er en frittstående side som ikke
   skal dra inn stilene til hele regnskapsflaten. Den andre er at
   dette er det som er bygget FOR utprøvingen — knappen som gjør
   at feil blir skrevet ned, og lenken som lar bilagsmottaket
   prøves uten en postkasse. Blir noe av det revet ut igjen, er
   det én fil og tre linker som skal bort.

   Ingen `style=`-attributter i JS-en som hører til. Reglene i
   drift/nginx.conf.snippet har `style-src 'self'` uten
   'unsafe-inline', og et attributt som virker i utvikling og
   ikke i produksjon er verre enn et som aldri virket.
   ══════════════════════════════════════════════════════════════ */

/* ── tilbakemeldingsknappen ────────────────────────────────────
   Nede til høyre, fast i vinduet, fordi feil oppdages MENS man
   holder på med noe annet.

   Kvitteringslinja (.kvittering, z-index 70) står samme sted og
   legger seg over knappen i fire sekunder etter en handling.
   Det er et bevisst valg og ikke en glipp: en linje som sier hva
   som nettopp skjedde, betyr mer i de fire sekundene enn en
   knapp som alltid er der. */
.tb-knapp{position:fixed; right:24px; bottom:24px; z-index:66;
  font:inherit; font-size:11.5px; font-family:"JetBrains Mono",monospace;
  letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
  color:var(--kobber); background:var(--kobber-knapp);
  border:1px solid transparent; border-radius:2px; padding:9px 15px;
  box-shadow:var(--kobber-glo);
  transition:box-shadow .25s var(--ease), color .25s var(--ease)}
.tb-knapp:hover{box-shadow:var(--kobber-hover); color:var(--knapp-hover-tekst)}
.tb-knapp:focus-visible{outline:1px solid var(--kobber); outline-offset:2px}

.tb-panel{position:fixed; right:24px; bottom:74px; z-index:67;
  width:min(420px,92vw); max-height:min(76vh,640px); overflow-y:auto;
  background:var(--panel-bg); box-shadow:0 24px 60px -24px rgba(0,0,0,.7);
  border:1px solid var(--linje); border-radius:3px; padding:16px 18px 18px}
.tb-hode{display:flex; align-items:center; gap:12px; margin-bottom:8px}
.tb-hode b{flex:1; font-weight:400; font-size:14px}
.tb-felt{display:block; width:100%; margin-top:4px; resize:vertical;
  line-height:1.6; border:1px solid var(--linje); border-radius:2px;
  padding:8px 10px; background:transparent}
.tb-omgivelser{margin:10px 0 0; color:var(--svak); font-size:11.5px;
  font-family:"JetBrains Mono",monospace; line-height:1.7}
.tb-handlinger{margin-top:12px}
.tb-bildelinje{color:var(--demp); font-size:12px}
.tb-liste-lenke{margin-top:12px}

/* ── listen over det som er meldt fra om ───────────────────── */
.tb-liste{display:flex; flex-direction:column; gap:10px; margin:12px 0 22px}
.tb-rad{padding:14px 18px}
.tb-tekst{margin:6px 0 0; font-size:14px; line-height:1.7;
  white-space:pre-wrap; overflow-wrap:anywhere}
.tb-gjorde{margin:8px 0 0; color:var(--demp); font-size:13px;
  line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere}
.tb-meta,.tb-url{margin:8px 0 0; font-size:11.5px;
  font-family:"JetBrains Mono",monospace; overflow-wrap:anywhere}
.tb-svar{display:flex; gap:8px; align-items:flex-start; margin-top:12px;
  flex-wrap:wrap}
.tb-svar .tb-felt{flex:1; min-width:200px; margin-top:0}
.tb-status{max-width:150px}

/* ── leveringslenkene ─────────────────────────────────────────
   Adressen står monospaset og bryter hvor som helst: den er
   lang, og den skal kunne markeres med musen av den som ikke
   bruker kopiknappen. */
.lenk-skjema{align-items:flex-end}
.lenk-ny:empty{display:none}
.lenk-ny{margin-bottom:16px}
.lenk-url{font-family:"JetBrains Mono",monospace; font-size:12.5px;
  color:var(--tekst); background:var(--kobber-flate); padding:9px 11px;
  border-radius:2px; margin:8px 0 0; overflow-wrap:anywhere;
  user-select:all}
.lenk-liste{display:flex; flex-direction:column; gap:10px; margin:14px 0 20px}
.lenk-rad{padding:14px 18px}
.lenk-tall{display:flex; gap:18px; flex-wrap:wrap; font-size:12.5px;
  margin-top:4px}

/* ── leveringssiden ───────────────────────────────────────────
   Bygget på .inn-kort fra innloggingssiden: samme ramme, samme
   bredde, ingen meny. Den som åpner lenken skal ikke kunne
   forveksle siden med resten av systemet — det er ingen resten
   av systemet for henne. */
.lev-kort{gap:14px}
.lev-slipp{margin:6px 0 0}
.lev-fil{display:block; width:100%; padding:8px 0}
.lev-takk{padding:18px 2px 8px}
.lev-takk h2{font-weight:200; font-size:24px; margin:0 0 10px}
.lev-takk .under{margin-bottom:16px}

/* ---------------------------------------------------------------------------
   Den avviklede klienten
   
   Den blir stående i klientlisten, fordi eieren må kunne finne den for å ta
   den i bruk igjen eller slette den. Men den skal ikke se ut som de andre:
   klikker man på den, svarer hvert kall 404. Dempet, og med et ord som sier
   hvorfor.
   --------------------------------------------------------------------------- */

.krad.erAvviklet .kn { opacity: .55; }
.krad.erAvviklet .kstatus > span:not(.avviklet) { opacity: .55; }

.kstatus .k.avviklet {
  border-color: var(--advarsel-kant, currentColor);
  color: var(--advarsel, inherit);
  letter-spacing: .04em;
}
