:root{
  --accent:#2563eb;
  --error:#dc2626;
  --bg:#f8fafc;
  --card:#fff;
}

*,
*::before,
*::after{box-sizing:border-box}

html,body{
  height:100%;
  margin:0;
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background:var(--bg);
}

main{
  max-width:540px;
  margin:40px auto;
  padding:20px;
  background:var(--card);
  border-radius:8px;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
}

fieldset{border:1px solid #e6eefb;padding:16px;border-radius:6px}
label{display:block;margin-bottom:6px;font-weight:600}

input[type="number"]{
  width:100%;
  padding:8px;
  border:1px solid #d1d5db;
  border-radius:6px;
  font-size:1rem;
}

.controls{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}

button{
  padding:8px 14px;
  border-radius:6px;
  border:none;
  cursor:pointer;
  background:var(--accent);
  color:#fff;
  font-size:1rem;
}

button[type="button"]{background:#6b7280}

button:focus,
input:focus{outline:3px solid rgba(37,99,235,0.16);outline-offset:2px}

.error{color:var(--error);min-height:1.2em;margin-top:8px}
#utskrift{margin-top:18px;font-size:1.1rem}

@media (max-width:420px){
  main{margin:16px;padding:16px}
  .controls{flex-direction:column}
  button{width:100%}
}