/* Faelles stil for dashboard.html og indstillinger.html.
   Farveroller foelger referencepaletten; moerk tilstand skifter automatisk. */
:root {
  color-scheme: light;
  --side:        #f9f9f7;
  --flade:       #fcfcfb;
  --blaek:       #0b0b0b;
  --blaek-2:     #52514e;
  --daempet:     #898781;
  --gitter:      #e1e0d9;
  --akse:        #c3c2b7;
  --kant:        rgba(11,11,11,0.10);
  --serie:       #2a78d6;
  --serie2:      #eb6834;
  --st-advarsel: #fab219;
  --st-alvorlig: #d03b3b;
  --st-god:      #0ca30c;
}
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) {
    color-scheme: dark;
    --side:    #0d0d0d;  --flade:   #1a1a19;
    --blaek:   #ffffff;  --blaek-2: #c3c2b7;
    --gitter:  #2c2c2a;  --akse:    #383835;
    --kant:    rgba(255,255,255,0.10);
    --serie:   #3987e5;
    --serie2:  #d95926;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --side:    #0d0d0d;  --flade:   #1a1a19;
  --blaek:   #ffffff;  --blaek-2: #c3c2b7;
  --gitter:  #2c2c2a;  --akse:    #383835;
  --kant:    rgba(255,255,255,0.10);
  --serie:   #3987e5;
  --serie2:  #d95926;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--side); color: var(--blaek);
  font: 15px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
}
main { max-width: 880px; margin: 0 auto; padding: 20px 16px 48px; }
.top { display: flex; justify-content: space-between; align-items: baseline;
       flex-wrap: wrap; gap: 8px; }
h1 { font-size: 20px; margin: 4px 0 2px; }
.undertitel { color: var(--daempet); font-size: 13px; margin-bottom: 18px; }
a.nav { color: var(--blaek-2); font-size: 13px; text-decoration: none;
        border: 1px solid var(--kant); border-radius: 99px; padding: 4px 14px; }
a.nav:hover { border-color: var(--akse); color: var(--blaek); }
.pille { display: inline-block; font-size: 12px; color: var(--blaek-2);
         border: 1px solid var(--kant); border-radius: 99px; padding: 1px 10px;
         margin-left: 6px; vertical-align: 2px; }
.pille b { font-weight: 600; }
.kort { background: var(--flade); border: 1px solid var(--kant);
        border-radius: 10px; padding: 16px 18px; margin-bottom: 14px; }
.fliser { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr));
          gap: 14px; margin-bottom: 14px; }
.flise .navn  { font-size: 12px; color: var(--daempet); }
.flise .tal   { font-size: 26px; font-weight: 650; margin-top: 2px; }
.flise .enhed { font-size: 14px; font-weight: 400; color: var(--blaek-2); }
.hero .tal { font-size: 38px; }
.kort-hoved { display: flex; justify-content: space-between; align-items: baseline;
              margin-bottom: 8px; flex-wrap: wrap; gap: 8px; }
.kort-hoved h2 { font-size: 14px; margin: 0; font-weight: 650; }
.valg { display: flex; gap: 4px; }
.valg button { font: inherit; font-size: 12px; padding: 3px 12px; cursor: pointer;
               border: 1px solid var(--kant); background: transparent;
               color: var(--blaek-2); border-radius: 99px; }
.valg button[aria-pressed="true"] { color: var(--blaek); font-weight: 650;
               border-color: var(--akse); }
#graf-omraade { position: relative; }
#graf { width: 100%; height: auto; display: block; }
#tomt { color: var(--daempet); font-size: 13px; padding: 24px 0; text-align: center; }
#tip { position: absolute; pointer-events: none; display: none;
       background: var(--flade); border: 1px solid var(--kant); border-radius: 8px;
       box-shadow: 0 2px 10px rgba(0,0,0,.18); padding: 6px 10px; font-size: 12.5px;
       white-space: nowrap; z-index: 5; }
#tip b { font-variant-numeric: tabular-nums; }
table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
th { text-align: left; color: var(--daempet); font-weight: 500; font-size: 12px;
     border-bottom: 1px solid var(--gitter); padding: 4px 8px 6px; }
td { padding: 6px 8px; border-bottom: 1px solid var(--gitter);
     font-variant-numeric: tabular-nums; }
tr:last-child td { border-bottom: none; }
.status-ok     { color: var(--st-god); }
.status-afvist { color: var(--st-alvorlig); }
.alarm { display: flex; gap: 10px; padding: 8px 0; align-items: baseline;
         border-bottom: 1px solid var(--gitter); }
.alarm:last-child { border-bottom: none; }
.alarm .maerke { flex: none; font-size: 12px; font-weight: 650; border-radius: 6px;
                 padding: 1px 8px; }
.maerke.advarsel { background: color-mix(in srgb, var(--st-advarsel) 18%, transparent);
                   color: var(--blaek); }
.maerke.alvorlig { background: color-mix(in srgb, var(--st-alvorlig) 18%, transparent);
                   color: var(--blaek); }
.alarm .tid { color: var(--daempet); font-size: 12px; flex: none; }
form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
input[type=number], input[type=datetime-local] {
      font: inherit; font-size: 15px; padding: 6px 10px; width: 150px;
      height: 37px; box-sizing: border-box;
      border: 1px solid var(--akse); border-radius: 8px;
      background: var(--flade); color: var(--blaek); }
input[type=datetime-local] { width: auto; font-variant-numeric: tabular-nums; }
input[type=datetime-local]::-webkit-calendar-picker-indicator { opacity: .55; }
.knap { font: inherit; padding: 6px 16px; border-radius: 8px; cursor: pointer;
        border: 1px solid var(--akse); background: var(--flade); color: var(--blaek); }
.knap.primaer { background: var(--serie); border-color: var(--serie); color: #fff; }
#form-svar { font-size: 13px; }
.diskret { color: var(--daempet); font-size: 12.5px; }

/* indstillingssiden */
.ind-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px,1fr));
            gap: 14px; }
fieldset { border: 1px solid var(--gitter); border-radius: 8px;
           padding: 8px 12px 12px; margin: 0; min-width: 0;
           background: var(--flade); }
legend { font-size: 12px; color: var(--daempet); padding: 0 4px; }
fieldset label { display: block; font-size: 12.5px; color: var(--blaek-2);
                 margin: 8px 0 0; }
fieldset input:not([type=checkbox]) { width: 100%; margin-top: 3px; padding: 5px 8px;
  font: inherit; font-size: 13px; border: 1px solid var(--akse);
  border-radius: 6px; background: var(--flade); color: var(--blaek); }
.ind-fod { margin-top: 14px; display: flex; gap: 10px; align-items: center;
           flex-wrap: wrap; }
