:root {
  --bg: #FFFFFF;
  --navy: #0B3651;
  --navy-hover: #0E4467;
  --navy-soft: #EEF3F7;
  --navy-tint: #F6F9FB;
  --text: #0B3651;
  --muted: #5F7685;
  --line: #DCE5EB;
  --input-bg: #F6F9FB;
  --radius: 12px;
}
* { box-sizing: border-box; margin: 0; }
[hidden] { display: none !important; }
body {
  font-family: 'Outfit', system-ui, sans-serif;
  color: var(--text);
  background-color: var(--bg);
}
label { display: block; margin: 22px 0 8px; font-size: 13px; font-weight: 500; }
input {
  width: 100%; height: 46px; padding: 0 14px;
  font: inherit; font-size: 14px; color: var(--text);
  background: var(--input-bg);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
input::placeholder { color: #98AAB6; }
input:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(11,54,81,.12); background: #fff; }

/* Eigene Auswahlkästchen im Stil des Portals (überall gleich; überschreibt die Feldregeln oben und in Dialogen) */
input[type="checkbox"], .dlg input[type="checkbox"] {
  -webkit-appearance: none; appearance: none; flex: none; display: inline-grid; place-content: center;
  width: 18px; height: 18px; min-width: 18px; margin: 0; padding: 0; cursor: pointer;
  background: #fff; border: 1.5px solid #9DB2C1; border-radius: 5px; box-shadow: none;
  transition: background .12s, border-color .12s, box-shadow .12s;
}
input[type="checkbox"]::before {
  content: ""; width: 10px; height: 10px; background: #fff; transform: scale(0); transition: transform .12s;
  clip-path: polygon(14% 52%, 0 66%, 38% 100%, 100% 22%, 86% 8%, 38% 72%);
}
input[type="checkbox"]:hover:not(:disabled) { border-color: var(--navy); }
input[type="checkbox"]:checked { background: var(--navy); border-color: var(--navy); }
input[type="checkbox"]:checked::before { transform: scale(1); }
input[type="checkbox"]:focus-visible { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(11,54,81,.18); }
input[type="checkbox"]:disabled { opacity: .5; cursor: default; }
