/* ========= Core ========= */
:root { --hl:#cc3300; --bg:#fafafa; --fg:#333; --fg-muted:#555; --bd:#eee; }
* { box-sizing: border-box; }
html, body { height: 100%; }
body { font-family: system-ui, Segoe UI, Roboto, Arial, sans-serif; margin:0; background:var(--bg); color:var(--fg); }

/* ========= Layout ========= */
.container { max-width: 1000px; margin: 24px auto; padding: 0 16px; }
.stack { display:flex; flex-direction:column; gap: .6rem; }
.grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }

/* ========= Header / Nav ========= */
header { background:#fff; padding:12px 16px; border-bottom:1px solid var(--bd); display:flex; justify-content:space-between; align-items:center; }
.brand { font-weight:800; color:var(--hl); }
nav a { margin-right:12px; text-decoration:none; color:var(--fg); font-weight:600; }
nav a:last-child { margin-right:0; }

/* ========= Cards ========= */
.card { background:#fff; padding:16px; border-radius:14px; box-shadow:0 5px 18px rgba(0,0,0,.06); }
.card h2 { margin:0 0 8px; font-size:18px; }
.card p { margin:6px 0; color:var(--fg-muted); }

/* ========= Buttons ========= */
.btn { display:inline-block; background:var(--hl); color:#fff; padding:10px 14px; border-radius:10px; text-decoration:none; font-weight:700; border:0; cursor:pointer; }
.btn:disabled { opacity:.6; cursor:not-allowed; }
.btn--ghost { background:transparent; color:var(--hl); border:1px solid var(--hl); }

/* ========= Forms ========= */
.form { max-width: 440px; }
label { display:block; font-size:14px; margin:12px 0 6px; }
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
select, textarea {
  width:100%; padding:12px; border:1px solid #ddd; border-radius:8px; background:#fff;
}
.help { font-size:12px; color:#888; margin-top:6px; }
.error { color:#b00020; margin-top:10px; font-size:14px; }
.small { color:#666; font-size:12px; }

/* ========= Login spezifisch (nutzt generische Klassen) ========= */
.login { background:#f7f7f7; }             /* optional: andere Body-Farbe auf Login */
.login .panel { max-width:360px; margin:10vh auto; }
.panel { background:#fff; padding:24px; border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.08); }

/* ========= Tables (falls du Listen anzeigst) ========= */
.table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; }
.table th, .table td { padding:12px 14px; border-bottom:1px solid var(--bd); text-align:left; }
.table th { background:#f5f5f5; font-weight:700; }
.table tr:last-child td { border-bottom:0; }
