:root{
  --brand:#d37a00;
  --accent:#d37a00;
  --ink:#222;
  --muted:#666;
  --bg:#fafafa;
  --grid:#e8e8e8;
  --card:#fff;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:var(--bg);
  font:16px/1.45 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* kort container look */
.container{
  background:var(--card);
  border:1px solid #e9e9e9;
  border-radius:14px;
  box-shadow:0 8px 26px rgba(0,0,0,.06);
  padding:20px;
}

/* typografi */
h1{font-size:28px; font-weight:800; letter-spacing:.3px; margin:0 0 6px}
.sub{color:var(--muted)}

/* toolbar & controls */
.toolbar{gap:12px}
.toolbar select,.toolbar input,.toolbar button{
  height:38px; padding:0 12px; border-radius:10px; border:1px solid var(--grid); background:#fff;
}
.toolbar button, button{
  background:var(--brand); color:#fff; border:none; cursor:pointer; font-weight:600;
}
.toolbar button:hover, button:hover{ filter:brightness(.95) }
.pill{
  padding:.45rem .8rem; border:1px solid var(--grid); border-radius:999px; background:#fff;
  text-decoration:none; color:var(--ink);
}
.pill.export{ background:#fff; border-color:#ffd3b0 }

/* inputs i tilføj-række */
.rowform input[type="text"], .rowform input[type="number"]{
  border:1px solid var(--grid); border-radius:10px; padding:0 10px; outline:none;
}
.rowform input:focus{ border-color:#c9c9c9; box-shadow:0 0 0 3px rgba(180,0,0,.08) }

/* tabel */
table{width:100%; border-collapse:separate; border-spacing:0}
thead th{
  background:var(--brand); color:#fff; padding:10px 12px; text-align:left; font-weight:700;
}
tbody td{ padding:8px 12px; border-bottom:1px solid var(--grid); vertical-align:middle }
tbody tr:nth-child(odd) td{ background:#fcfcfc }
td.center{ text-align:center; white-space:nowrap }
.box{ display:inline-block; width:18px; height:18px; border:2px solid #666; border-radius:3px; vertical-align:middle }

/* print */
@media print{
  body{ background:#fff }
  .container{ box-shadow:none; border:none; border-radius:0; padding:0 }
}

/* Sticky header on scroll */
thead th{ position: sticky; top: 0; z-index: 2; }

/* Større tabeltekst for læsbarhed */
table td{ font-size:16px; }
