:root { --ink:#1d2a2f; --muted:#5b6b70; --line:#d9e0e2; --bg:#f6f8f8; --accent:#2f6f6a; --warn:#8a5a00; --warnbg:#fff4d6; --okbg:#e3f3ec; --errbg:#fbe5e5; --err:#8d1f1f; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:var(--bg); }
.top { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; padding:.8rem 1.2rem; background:#fff; border-bottom:1px solid var(--line); }
.top nav { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.top nav a { color:var(--accent); text-decoration:none; }
.top .who { color:var(--muted); }
main { max-width:1100px; margin:0 auto; padding:1.5rem 1.2rem 3rem; }
h1 { font-size:1.5rem; margin:.2rem 0 .4rem; }
.hint { color:var(--muted); margin:.2rem 0 1rem; }
.narrow { max-width:360px; }
label { display:block; margin:.8rem 0; font-weight:600; }
input { display:block; width:100%; margin-top:.3rem; padding:.55rem .65rem; border:1px solid var(--line); border-radius:6px; font:inherit; background:#fff; }
button, .btn { padding:.5rem .9rem; border:0; border-radius:6px; background:var(--accent); color:#fff; font:inherit; cursor:pointer; }
button.danger { background:#8d1f1f; }
.narrow button { margin-top:.6rem; width:100%; }
table.list { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; font-size:14px; }
table.list th, table.list td { padding:.55rem .6rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
table.list th { background:#eef3f3; font-weight:600; }
td.actions { white-space:nowrap; }
form.inline { display:inline; }
a.del { color:#8d1f1f; margin-left:.6rem; }
.origin { display:inline-block; padding:.1rem .5rem; border-radius:999px; font-size:12px; font-weight:600; background:#e6eef9; color:#1d4f8a; }
.origin.campingsleep { background:#e9f3e6; color:#2f5a22; }
.origin.schlafeinrichter { background:#eef0fb; color:#33407a; }
.badge { display:inline-block; padding:.1rem .5rem; border-radius:999px; font-size:12px; }
.badge.warn { background:var(--warnbg); color:var(--warn); }
.badge.ok { background:var(--okbg); color:#1e5a3e; }
.flash { padding:.6rem .8rem; border-radius:6px; margin:.6rem 0; }
.flash.ok { background:var(--okbg); }
.flash.err { background:var(--errbg); color:var(--err); }
code { font-size:13px; }
h2 { font-size:1.1rem; margin:1.2rem 0 .4rem; }
.head { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; }
.btn, a.btn { display:inline-block; padding:.5rem .9rem; border-radius:6px; background:var(--accent); color:#fff; text-decoration:none; font:inherit; border:0; cursor:pointer; }
a.btn.ghost { background:#fff; color:var(--accent); border:1px solid var(--accent); }
.grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.2rem; align-items:start; }
@media (max-width:760px) { .grid { grid-template-columns:1fr; } }
.panel { background:#fff; border:1px solid var(--line); border-radius:8px; padding:1rem; margin-bottom:1rem; }
.stack { display:flex; flex-direction:column; gap:.4rem; }
.stack label { margin:.3rem 0; }
.inline-form { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }
textarea, select { display:block; width:100%; margin-top:.3rem; padding:.55rem .65rem; border:1px solid var(--line); border-radius:6px; font:inherit; background:#fff; }
dl.info { display:grid; grid-template-columns:max-content 1fr; gap:.4rem 1rem; background:#fff; border:1px solid var(--line); border-radius:8px; padding:1rem; margin:0; }
dl.info dt { color:var(--muted); }
dl.info dd { margin:0; }
ul.log { list-style:none; padding:0; margin:0; font-size:14px; }
ul.log li { padding:.35rem 0; border-bottom:1px solid var(--line); }
ul.log em { color:var(--muted); }
.form { background:#fff; border:1px solid var(--line); border-radius:8px; padding:1rem; }
.form .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
@media (max-width:760px) { .form .grid2 { grid-template-columns:1fr; } }
.check { display:flex; gap:.5rem; align-items:center; font-weight:400; }
.check input { width:auto; }
