/* Sidans form (DECISIONS.md protokoll 98 punkt e(3); MEDICAL-98). Inga typsnitt hämtas: sidan använder systemets. */

:root {
  --text: #1d2327;
  --svag: #50575e;
  --bakgrund: #f6f7f7;
  --yta: #ffffff;
  --linje: #c3c4c7;
  --accent: #1d4e89;
  --finns: #1a6b37;
  --ej-funnen: #a3261d;
  --utanfor: #7a5a00;
  --annan: #50575e;
  color-scheme: light;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bakgrund);
  color: var(--text);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.ram { max-width: 60rem; margin: 0 auto; padding: 1rem; }

.huvud h1 { margin: 0.5rem 0 0; font-size: 1.6rem; }
.huvud .lager { margin: 0; color: var(--svag); }

.ansvar, .ansvar-fot {
  border-left: 4px solid var(--accent);
  background: var(--yta);
  padding: 0.5rem 0.75rem;
  font-weight: 600;
}

section, .status { background: var(--yta); border: 1px solid var(--linje); border-radius: 6px; padding: 1rem; margin: 1rem 0; }
.status:empty { display: none; }
h2 { font-size: 1.25rem; margin: 0 0 0.5rem; }
h3 { font-size: 1rem; margin: 0.75rem 0 0.25rem; }

label, .falt-rubrik { display: block; font-weight: 600; margin: 0.75rem 0 0.25rem; }
.dold { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
label.knapp { display: inline-block; font-weight: 400; margin: 0; padding: 0.45rem 1rem; border-radius: 4px; border: 1px solid var(--accent); cursor: pointer; }
label.knapp.sekundar { background: var(--yta); color: var(--accent); }
input.dold:focus-visible + label.knapp { outline: 2px solid var(--accent); outline-offset: 2px; }
input.dold:disabled + label.knapp { opacity: 0.5; cursor: default; }
textarea { width: 100%; font: 14px/1.4 ui-monospace, Consolas, monospace; padding: 0.5rem; border: 1px solid var(--linje); border-radius: 4px; }
.filstatus:empty { display: none; }
.knappar { margin-top: 0.75rem; display: flex; gap: 0.5rem; flex-wrap: wrap; }
button { font: inherit; padding: 0.45rem 1rem; border-radius: 4px; border: 1px solid var(--accent); background: var(--accent); color: #fff; cursor: pointer; }
button.sekundar { background: var(--yta); color: var(--accent); }
button:disabled { opacity: 0.5; cursor: default; }
.forklaring, .kontroll-c, .bibliotek { color: var(--svag); }

.kallor { padding-left: 0; list-style: none; margin: 0; }
.kalla { border-top: 1px solid var(--linje); padding: 0.75rem 0; }
.kalla-huvud { display: flex; gap: 0.75rem; align-items: baseline; }
.kalla-huvud .nummer { font-weight: 700; }
.klass { font-size: 0.85rem; padding: 0.05rem 0.5rem; border-radius: 1rem; border: 1px solid var(--linje); }
.klass.annan { color: var(--annan); }
.kalla-text { margin: 0.5rem 0; padding: 0.5rem 0.75rem; background: var(--bakgrund); border-left: 3px solid var(--linje); white-space: pre-wrap; overflow-wrap: anywhere; }
.kontroll p { margin: 0.2rem 0; }
.utfall { font-weight: 700; }
.utfall.finns, .utfall.ingen { color: var(--finns); }
.utfall.ej-funnen, .utfall.indragen { color: var(--ej-funnen); }
.utfall.utanfor, .utfall.uppdaterad, .utfall.ej-provad { color: var(--utanfor); }
.jamforelse { display: grid; grid-template-columns: max-content 1fr; gap: 0 1rem; margin: 0.25rem 0; }
.jamforelse dd { margin: 0; }
.jamforelse .j-avviker { color: var(--ej-funnen); font-weight: 600; }
.narmast { border: 1px dashed var(--linje); border-radius: 4px; padding: 0.25rem 0.5rem; margin: 0.25rem 0; }
.tid { color: var(--svag); }
.uppslag summary { cursor: pointer; color: var(--svag); }
.uppslag li, .post-lank a { overflow-wrap: anywhere; }
.ej-gjord, .grans { border-color: var(--ej-funnen); }
.fot { margin-top: 2rem; font-size: 0.9rem; }
a { color: var(--accent); }

/* Beskedet om en fil vars text inte kunde läsas säkert (DECISIONS.md protokoll 100 punkt e(3); MEDICAL-100). */
.besked { border-left: 4px solid var(--utanfor); background: var(--yta); padding: 0.5rem 0.75rem; font-weight: 600; }

/* Rapporten (DECISIONS.md protokoll 100 punkt e(5); MEDICAL-100). Utskriftsvyn står i #rapport och syns bara i
   utskriften; när en rapport finns skrivs bara den ut, och annars sidan som förut. */
.rapportval:empty { display: none; }
.rapportval-ram { margin: 1rem 0; }
.rapportval-ram p { margin: 0.25rem 0 0; }
.rapport { display: none; }
.rapport-dok h1 { font-size: 1.5rem; margin: 0 0 0.25rem; }
.rapport-dok .uppgift { margin: 0.25rem 0; }
.rapport-dok .registren { list-style: none; padding-left: 0; margin: 0.25rem 0; }
.rapport-fot { margin-top: 1.5rem; }

@page { size: A4; margin: 16mm 14mm; }
/* Rapportens fot på varje sida (DECISIONS.md protokoll 101 punkt c(5); MEDICAL-101): innehållet sätter sidan i sin egen
   stilmall när en rapport finns (sida.js), och utan det har marginalen ingen fot. */
@page { @bottom-center { font: 8pt/1.3 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: #50575e; } }

/* Kontot, inloggningen och administrationen (DECISIONS.md protokoll 101 punkt d(5) och d(6); MEDICAL-101). */
.konto-rad { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; align-items: center; margin: 0.5rem 0; color: var(--svag); }
.konto-rad button { padding: 0.2rem 0.75rem; }
.falt { display: block; width: 100%; max-width: 28rem; font: inherit; padding: 0.4rem 0.5rem; border: 1px solid var(--linje); border-radius: 4px; }
.status-rad[role="alert"] { color: var(--ej-funnen); font-weight: 600; }
.kontosida .knappar { margin-top: 1rem; }
.lankruta { border-color: var(--accent); }
.lankruta .falt { max-width: none; font: 13px/1.4 ui-monospace, Consolas, monospace; }
.organisationer { list-style: none; padding-left: 0; margin: 0; }
.organisation-post { border-top: 1px solid var(--linje); padding: 0.75rem 0; }
.organisation-post h3 { margin-top: 0; }
.anvandarna { list-style: none; padding-left: 0; margin: 0.25rem 0 0.5rem; }
.anvandarna li { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; align-items: center; padding: 0.2rem 0; }
.anvandarna button, .organisation-post button { padding: 0.2rem 0.75rem; }
.rad-falt { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0.4rem 0; }
.rad-falt .falt { width: auto; flex: 1 1 14rem; }
.rad-falt input[type="number"] { flex: 0 0 6rem; }
.lage { color: var(--svag); }

@media print {
  body { background: #fff; font-size: 10.5pt; }
  .ram:has(> .rapport:not(:empty)) { max-width: none; padding: 0; }
  .ram:has(> .rapport:not(:empty)) > :not(.rapport) { display: none; }
  .rapport:not(:empty) { display: block; }
  .rapport-dok section { border: 0; border-radius: 0; padding: 0; margin: 1rem 0; background: none; }
  .rapport-dok .kalla-huvud { break-after: avoid; }
  .rapport-dok .kalla-text, .rapport-dok .post, .rapport-dok .jamforelse, .rapport-dok .uppgift { break-inside: avoid; }
  .rapport-dok .kalla-text { background: none; }
  .rapport-dok a { color: inherit; }
}
