/*
 * Hospitalverbund Hellweg, gemessen auf hospitalverbund-service.de: Text #3d3d3d, Dunkelblau #003b53, Hellblau #009dd9,
 * Lindgrün #b6c957. Schrift Noto Sans: Fließtext Medium (500) bei 16 px/26 px, Navigation SemiBold in Versalien, Überschriften Bold,
 * Hauptüberschrift 50 px in Hellblau. Knöpfe eckig (10 px 18 px), Eingabefelder mit 3 px Rundung. Noto Sans ist frei (OFL), lokal gehostet.
 * Messwerte der Website, kein Markenhandbuch. Hellblau (3,1:1 auf Weiß) nur für die große Hauptüberschrift.
 */
@font-face { font-family: "NotoSans"; src: url("fonts/noto-sans-latin-500-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "NotoSansSemi"; src: url("fonts/noto-sans-latin-600-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "NotoSansBold"; src: url("fonts/noto-sans-latin-700-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

:root {
  --paper: #FFFFFF;
  --ink: #3D3D3D;
  --primary: #003B53;
  --primary-dark: #002A3B;
  --on-primary: #FFFFFF;
  --blue: #B6C957;        /* Lindgrün als Linie und Fläche, Text darauf --ink (5,9:1) */
  --sand: #BFD6E0;
  --white: #FFFFFF;
  --muted: #707070;       /* 4,95:1 auf Weiß */
  --line: #D9DDDF;
  --blue-soft: #E6F5FB;
  --error: #A4262C;
  --error-soft: #FBE9E9;
  --head: "NotoSansBold", Arial, sans-serif;
  --headline: "NotoSansBold", Arial, sans-serif;
  --body: "NotoSans", Arial, sans-serif;
  --bold: "NotoSansBold", Arial, sans-serif;
  --r: 0px;
  --head-color: #003B53;
  --top-bg: #FFFFFF; --top-fg: #3D3D3D; --brand-color: #003B53; --brand-sub: #3D3D3D;
  --top-border: 4px solid #B6C957; --top-line: rgba(0, 0, 0, .14);
  --on-primary-soft: #B6C957;
  --testbar-bg: #E6F5FB; --testbar-fg: #003B53;
  --field-border: #003B53;
}
body { font-size: 1rem; line-height: 1.625; }
h1 { color: #009DD9; font-size: clamp(1.9rem, 5vw, 3.125rem); line-height: 1.12; }
.top__link { font-family: "NotoSansSemi", Arial, sans-serif; text-transform: uppercase; letter-spacing: 0; font-size: 1rem; }
.card, .day, .oday, .msg, .empty, .legend { border: 1px solid var(--line); box-shadow: none; }
input[type=text], input[type=email], input:not([type]) { border-radius: 3px; }
.btn { padding: 12px 20px; border-radius: 0; }
.tag, .codes { border-radius: 0; }
.opt__box { border-radius: 0; }
.msg__icon, .step span { border-radius: 0; }
.foot { background: #003B53; color: #FFFFFF; border-top: 4px solid #B6C957; }
.foot a { color: rgba(255, 255, 255, .8); text-decoration: none; }
.foot a:hover { color: #FFFFFF; text-decoration: underline; }
